1import{a as jl,b as Tg,c as Eg}from"./chunk-EVIWUZNN.js";import{a as Sg,b as ii,c as Nl,d as sr,e as Fl}from"./chunk-WTGN24RZ.js";import{a as Cg}from"./chunk-K66VDHGP.js";import{a as gg,b as vg,c as yg}from"./chunk-UKQHJEBS.js";import{a as Dl}from"./chunk-T62PPGJ7.js";import"./chunk-76U36PB3.js";import{a as pg,b as mg}from"./chunk-MJSNH76I.js";import{a as fg}from"./chunk-QD57FCBZ.js";import{a as _g}from"./chunk-FWMPCIGV.js";import{a as rg}from"./chunk-MXLSCZPQ.js";import"./chunk-64A5I47J.js";import{a as cg,c as ug}from"./chunk-GGGWYRGN.js";import"./chunk-JBNFSF2L.js";import{a as Ym,b as xl}from"./chunk-JM6BHIL2.js";import"./chunk-UDQTNPDB.js";import{a as Xm,b as Qm,d as tg,f as ng,g as og,h as ag}from"./chunk-VGS3KBCX.js";import{b as Rl}from"./chunk-CEMJJAWZ.js";import"./chunk-UVPC3B5J.js";import{a as hg}from"./chunk-42ZMKOHZ.js";import{a as lg,c as zr}from"./chunk-NEFFGRXL.js";import{a as Ol}from"./chunk-7SKD4YPG.js";import{a as dg}from"./chunk-UM6EIAV5.js";import{c as Jm,g as eg,h as ig}from"./chunk-BC7MAKMD.js";import"./chunk-IULRDVRP.js";import"./chunk-L2X7GKGR.js";import{a as Ml}from"./chunk-B6TT5TKK.js";import"./chunk-DM6B3VGW.js";import"./chunk-DS3UIQKK.js";import"./chunk-ND4GMJSI.js";import{a as Zm}from"./chunk-7WRF56BE.js";import{a as qm}from"./chunk-3OEEJGPF.js";import{a as bg}from"./chunk-BTWZOLVD.js";import"./chunk-F4LPCBZ6.js";import{b as sg}from"./chunk-JKSPELFQ.js";import"./chunk-L6GZIQIW.js";import{a as Ll}from"./chunk-UUAWMZHV.js";import"./chunk-BNV6OI2D.js";import"./chunk-WPEUD6AH.js";import"./chunk-GXA3YMKZ.js";import"./chunk-OUOKBMBO.js";import"./chunk-CJIFKH3B.js";import"./chunk-YMDPP36B.js";import{a as Km,c as Hr}from"./chunk-RG7KH4LA.js";import{a as zm}from"./chunk-IK6BG7XB.js";import"./chunk-ZIIFBYGX.js";import{h as Gm}from"./chunk-SPEPIGSN.js";import"./chunk-DXPZKAMP.js";import"./chunk-CL3DZCLS.js";import{b as ym}from"./chunk-PFFSH6Z6.js";import{b as g1,c as v1}from"./chunk-4MDJILE7.js";import{a as $m}from"./chunk-WV6GPQZG.js";import"./chunk-HKEI7JPP.js";import{a as kl}from"./chunk-CLJSFRFP.js";import"./chunk-DLT7LQRW.js";import"./chunk-LRMYJ7C7.js";import"./chunk-XPG25PO3.js";import{a as Pl,b as Hm}from"./chunk-L4DRGTAY.js";import"./chunk-K7HMHW3L.js";import"./chunk-ZIOGCVJC.js";import{a as Vm}from"./chunk-636JIKZA.js";import"./chunk-NFMVL5C6.js";import{a as Wm}from"./chunk-KFLEEQUN.js";import{E as Fr,F as fm,c as lm,d as hl,g as Nr,h as dm,o as fl,p as cm,w as um,x as hm}from"./chunk-P7U3FVME.js";import{F as El,G as Tn,d as wm,l as Am,m as Im,n as yl,p as _l,q as bl,u as Tl}from"./chunk-CZUQPOUG.js";import{a as bi}from"./chunk-WACTU4HM.js";import{$f as Cm,Aa as tl,Ae as bn,Af as Vr,Ah as Fm,Bb as Qp,Bc as sm,Bf as bm,Ca as Wp,Cb as Jp,Da as Q,Db as Se,Dc as ht,Eb as Vi,Ec as Ue,F as Bp,Fb as $i,Fc as Mt,Gb as zo,Gd as cl,Hb as De,I as Up,Ib as Zp,Ih as En,Jb as se,Jc as Xc,Kb as em,Kd as ul,Kh as Bm,Lb as tm,Ld as jr,Lh as Um,Mc as Qc,Mh as Al,Na as mt,Ne as mm,Nh as Il,Oh as Cn,Pa as il,Q as Vp,Qa as qp,Qh as es,R as gn,Rb as vi,Rc as nm,Rg as km,Sb as yi,Sf as Tm,Ta as Kp,Tb as nl,Tg as _i,Ua as vn,Ub as im,Uc as rm,Wc as ei,Wf as gl,Yb as Ve,Yd as pl,Yg as Pm,Z as $p,Zb as ot,Zc as om,Zf as Em,Zg as Rm,_b as Mi,_f as vl,ae as _n,ba as be,cb as Hs,cc as rl,ch as Cl,d as el,dc as ol,dg as Sm,dh as xm,ec as al,eg as Zc,eh as Lm,fd as am,ga as ke,gb as we,ha as Pe,hb as Ae,he as Br,ih as Mm,jb as li,jh as Ss,k as $o,kb as di,kh as Om,lb as ci,lc as Go,lh as Dm,m as Np,mb as Te,mc as st,me as pm,nb as Y,nc as ll,o as ir,oa as Hp,ob as W,pb as Be,pf as gm,ph as Sl,qb as sl,qf as vm,qh as ti,ra as Zt,rb as Ho,rh as wl,s as Fp,sa as zp,se as ml,tb as cs,tc as Zi,ua as Gp,ub as us,uc as Wo,vc as yn,vh as $r,wb as Yp,xb as Xp,xc as zs,xh as jm,yc as dl,ye as Ur,yf as Jc,yh as Nm,za as Cs,zb as ct,zf as _m}from"./chunk-RB2SGB4Z.js";import{a as ze,b as pt,c as Lp,g as Mp,h as m1,i as xe,j as Qe,k as Op,l as Dp,m as jp}from"./chunk-IQVXR75E.js";var wg=e=>({activated:e});function y1(e,t){if(e&1&&Be(0,"span",6),e&2){let i=se();Te("innerHTML",i.getRatePopoverText(),Cs);}}function _1(e,t){if(e&1&&(Y(0,"span",3),Ve(1),W()),e&2){let i=se();Q(),ot(i.video().likes);}}function b1(e,t){if(e&1&&(Y(0,"span",3),Ve(1),W()),e&2){let i=se();Q(),ot(i.video().dislikes);}}var Ag=(()=>{let t=class t{videoService=be(Hr);notifier=be(_i);hotkeysService=be(wl);screenService=be(En);video=Ue(void 0);videoPassword=Ue(void 0);isUserLoggedIn=Ue(void 0);userRatingLoaded=ht();rateUpdated=ht();userRating;tooltipLike="";tooltipDislike="";hotkeys;ngOnInit(){let s=this.isUserLoggedIn();(s||!this.screenService.isInMobileView())&&(this.tooltipLike="Like this video",this.tooltipDislike="Dislike this video"),s&&(this.hotkeys=[new ti("Shift+l",()=>(this.setLike(),!1),"Like the video"),new ti("Shift+d",()=>(this.setDislike(),!1),"Dislike the video")],this.hotkeysService.add(this.hotkeys));}ngOnChanges(){this.checkUserRating();}ngOnDestroy(){this.hotkeysService.remove(this.hotkeys);}setLike(){this.isUserLoggedIn()!==!1&&(this.userRating==="like"?this.setRating("none"):this.setRating("like"));}setDislike(){this.isUserLoggedIn()!==!1&&(this.userRating==="dislike"?this.setRating("none"):this.setRating("dislike"));}getRatePopoverText(){if(!this.isUserLoggedIn())return"You need to be logged in to rate this video.";}checkUserRating(){this.isUserLoggedIn()!==!1&&this.videoService.getUserVideoRating(this.video().uuid).subscribe({next:s=>{s&&(this.userRating=s.rating,this.userRatingLoaded.emit(this.userRating));},error:s=>this.notifier.handleError(s)});}setRating(s){({like:this.videoService.setVideoLike.bind(this.videoService),dislike:this.videoService.setVideoDislike.bind(this.videoService),none:this.videoService.unsetVideoLike.bind(this.videoService)})[s](this.video().uuid,this.videoPassword()).subscribe({next:()=>{this.updateVideoRating(this.userRating,s),this.userRating=s,this.rateUpdated.emit(this.userRating);},error:r=>this.notifier.handleError(r)});}updateVideoRating(s,n){let r=0,a=0;
1s&&(s==="like"&&r--,s==="dislike"&&a--),n==="like"&&r++,n==="dislike"&&a++;let l=this.video();l.likes+=r,l.dislikes+=a,l.buildLikeAndDislikePercents();}};xe(t,"\u0275fac",function(n){return new(n||t)();}),xe(t,"\u0275cmp",mt({type:t,selectors:[["my-video-rate"]],inputs:{video:[1,"video"],videoPassword:[1,"videoPassword"],isUserLoggedIn:[1,"isUserLoggedIn"]},outputs:{userRatingLoaded:"userRatingLoaded",rateUpdated:"rateUpdated"},features:[Zt],decls:8,vars:16,consts:[["ratePopoverText",""],["placement","bottom auto",1,"action-button","action-button-like",3,"click","keyup.enter","ngbPopover","ngClass","ngbTooltip"],["iconName","like"],[1,"count"],["placement","bottom auto",1,"action-button","action-button-dislike",3,"click","keyup.enter","ngbPopover","ngClass","ngbTooltip"],["iconName","dislike"],[3,"innerHTML"]],template:function(n,r){if(n&1&&(vn(0,y1,1,1,"ng-template",null,0,zs),Y(2,"button",1),De("click",function(){return r.setLike();})("keyup.enter",function(){return r.setLike();}),Be(3,"my-global-icon",2),we(4,_1,2,1,"span",3),W(),Y(5,"button",4),De("click",function(){return r.setDislike();})("keyup.enter",function(){return r.setDislike();}),Be(6,"my-global-icon",5),we(7,b1,2,1,"span",3),W()),n&2){let a=nl(1);Q(2),Te("ngbPopover",r.getRatePopoverText()&&a)("ngClass",st(12,wg,r.userRating==="like"))("ngbTooltip",r.tooltipLike),Hs("aria-pressed",r.userRating==="like")("aria-label",r.tooltipLike),Q(2),Ae(r.video().likes?4:-1),Q(),Te("ngbPopover",r.getRatePopoverText()&&a)("ngClass",st(14,wg,r.userRating==="dislike"))("ngbTooltip",r.tooltipDislike),Hs("aria-pressed",r.userRating==="dislike")("aria-label",r.tooltipDislike),Q(2),Ae(r.video().dislikes?7:-1);}},dependencies:[El,ei,Tn,bi],styles:[`.action-button-like[_ngcontent-%COMP%] .count[_ngcontent-%COMP%], .action-button-dislike[_ngcontent-%COMP%] .count[_ngcontent-%COMP%]{margin:0 5px}.activated[_ngcontent-%COMP%]{color:var(--fg)!important}.activated[_ngcontent-%COMP%] my-global-icon[_ngcontent-%COMP%]{color:var(--active-icon-color)!important}.activated[_ngcontent-%COMP%] my-global-icon[_ngcontent-%COMP%] svg path{fill:var(--active-icon-bg)} 2/*# sourceMappingURL=video-rate.component-ELADOIMD.css.map */`]}));let e=t;return e;})();var T1=["videoShareModal"],E1=["supportModal"],C1=["videoDownloadModal"],S1=e=>({liked:e}),w1=e=>({"width.%":e});function A1(e,t){if(e&1){let i=ct();Y(0,"button",18),De("click",function(){ke(i);let n=se();return Pe(n.showSupportModal());})("keyup.enter",function(){ke(i);let n=se();return Pe(n.showSupportModal());}),Be(1,"my-global-icon",19),Y(2,"span",13),Se(3,4),W()();}if(e&2){let i=se();Te("ngbTooltip",i.tooltipSupport),Hs("aria-label",i.tooltipSupport);}}function I1(e,t){if(e&1&&(Y(0,"div",14)(1,"button",20),Be(2,"my-global-icon",21),Y(3,"span",13),Se(4,5),W()(),Y(5,"div",22),Be(6,"my-video-add-to-playlist",23),W()()),e&2){let i=se();Te("ngbTooltip",i.tooltipSaveToPlaylist),Q(6),Te("video",i.video());}}function k1(e,t){if(e&1){let i=ct();Y(0,"button",26),De("click",function(){ke(i);let n=se(2);return Pe(n.showDownloadModal());})("keydown.enter",function(){ke(i);let n=se(2);return Pe(n.showDownloadModal());}),Be(1,"my-global-icon",27),Y(2,"span",28),Se(3,6),W()();}}function P1(e,t){if(e&1&&(we(0,k1,4,0,"button",24),Be(1,"my-video-download",25,0)),e&2){let i=se();Ae(i.isVideoDownloadable()?0:-1),Q(),Te("videoPassword",i.videoPassword());}}function R1(e,t){if(e&1&&(Y(0,"div",17)(1,"div",29),Be(2,"div",30),W()()),e&2){let i=se();Te("ngbTooltip",i.likesBarTooltipText),Q(2),Te("ngClass",st(3,S1,i.userRating!=="none"))("ngStyle",st(5,w1,i.video().likesPercent));}}function x1(e,t){if(e&1&&Be(0,"my-support-modal",31,1)(2,"my-video-share",32,2),e&2){let i=se();Te("name",i.video().channel.displayName)("content",i.video().support),Q(2),Te("video",i.video())("videoCaptions",i.videoCaptions())("playlist",i.playlist());}}var Ig=(()=>{let t=class t{screenService=be(En);redirectService=be(Nm);videoShareModal=Mt("videoShareModal");supportModal=Mt("supportModal");videoDownloadModal=Mt("videoDownloadModal");video=Ue(void 0);videoPassword=Ue(void 0);videoCaptions=Ue(void 0);playlist=Ue(void 0);isUserLoggedIn=Ue(void 0);isUserOwner=Ue(void 0);transcriptionWidgetOpened=Ue(void 0);currentTime=Ue(void 0);currentPlaylistPosition=Ue(void 0);showTranscriptionWidget=ht();hideTranscriptionWidget=ht();likesBarTooltipText="";tooltipSupport="";tooltipSaveToPlaylist="";
2videoActionsOptions={playlist:!1,download:!0,update:!0,blacklist:!0,delete:!0,report:!0,duplicate:!0,muteByUser:!0,muteByServer:!0,liveInfo:!0,generateTranscription:!0,transcriptionWidget:!0,transcoding:!0};userRating;ngOnChanges(){this.setVideoLikesBarTooltipText(),this.isUserLoggedIn()?(this.videoActionsOptions.download=!0,this.screenService.isInMobileView()||(this.tooltipSupport="Open the modal to support the video uploader",this.tooltipSaveToPlaylist="Save to playlist")):this.videoActionsOptions.download=!1;}showDownloadModal(){this.videoDownloadModal().show(this.video(),this.videoCaptions());}isVideoDownloadable(){let s=this.video();return s&&s instanceof Km&&s.downloadEnabled&&!s.isLive;}showSupportModal(){this.supportModal().show();}showShareModal(){this.videoShareModal().show(this.currentTime(),this.currentPlaylistPosition());}onRateUpdated(s){this.userRating=s,this.setVideoLikesBarTooltipText();}onVideoRemoved(){this.redirectService.redirectToHomepage();}setVideoLikesBarTooltipText(){this.likesBarTooltipText=`${this.video().likes} likes / ${this.video().dislikes} dislikes`;}isVideoAddableToPlaylist(){let s=this.video().privacy.id===Ur.PASSWORD_PROTECTED;return this.isUserLoggedIn()?s?this.isUserOwner():!0:!1;}};xe(t,"\u0275fac",function(n){return new(n||t)();}),xe(t,"\u0275cmp",mt({type:t,selectors:[["my-action-buttons"]],viewQuery:function(n,r){n&1&&vi(r.videoShareModal,T1,5)(r.supportModal,E1,5)(r.videoDownloadModal,C1,5),n&2&&yi(3);},inputs:{video:[1,"video"],videoPassword:[1,"videoPassword"],videoCaptions:[1,"videoCaptions"],playlist:[1,"playlist"],isUserLoggedIn:[1,"isUserLoggedIn"],isUserOwner:[1,"isUserOwner"],transcriptionWidgetOpened:[1,"transcriptionWidgetOpened"],currentTime:[1,"currentTime"],currentPlaylistPosition:[1,"currentPlaylistPosition"]},outputs:{showTranscriptionWidget:"showTranscriptionWidget",hideTranscriptionWidget:"hideTranscriptionWidget"},features:[Zt],decls:14,vars:12,consts:()=>{let s;s="SHARE";let n;n="SUPPORT";let r;r="SAVE";let a;return a="DOWNLOAD",[["videoDownloadModal",""],["supportModal",""],["videoShareModal",""],s,n,r,a,[1,"video-actions-rates"],[1,"video-actions","justify-content-end"],[3,"rateUpdated","userRatingLoaded","video","videoPassword","isUserLoggedIn"],["placement","bottom auto",1,"action-button","support-button",3,"ngbTooltip"],["aria-label","Open the modal to share this video",1,"action-button",3,"click","keyup.enter"],["iconName","share","aria-hidden","true"],[1,"icon-text"],["ngbDropdown","","placement","top","role","button","autoClose","outside","placement","bottom auto",1,"action-dropdown",3,"ngbTooltip"],["placement","bottom auto","buttonIcon","more-horizontal","buttonStyled","true","actionAvailabilityHint","true",3,"videoRemoved","showTranscriptionWidget","hideTranscriptionWidget","video","videoCaptions","transcriptionWidgetOpened","displayOptions"],[1,"likes-dislikes-bar-outer-container"],["placement","bottom","tabindex","0",1,"likes-dislikes-bar-inner-container",3,"ngbTooltip"],["placement","bottom auto",1,"action-button","support-button",3,"click","keyup.enter","ngbTooltip"],["iconName","support","aria-hidden","true"],["ngbDropdownToggle","",1,"action-button","action-button-save"],["iconName","playlist-add","aria-hidden","true"],["ngbDropdownMenu",""],[3,"video"],["aria-label","Open the modal to download this video",1,"action-button","action-button-download"],[3,"videoPassword"],["aria-label","Open the modal to download this video",1,"action-button","action-button-download",3,"click","keydown.enter"],["iconName","download","aria-hidden","true"],[1,"icon-text","d-none","d-sm-inline"],[1,"likes-dislikes-bar"],[1,"likes-bar",3,"ngClass","ngStyle"],[3,"name","content"],[3,"video","videoCaptions","playlist"]];},template:function(n,r){n&1&&(Y(0,"div",7)(1,"div",8)(2,"my-video-rate",9),De("rateUpdated",function(l){return r.onRateUpdated(l);})("userRatingLoaded",function(l){return r.onRateUpdated(l);}),W(),we(3,A1,4,2,"button",10),Y(4,"button",11),De("click",function(){return r.showShareModal();})("keyup.enter",function(){return r.showShareModal();}),Be(5,"my-global-icon",12),Y(6,"span",13),Se(7,3),W()(),we(8,I1,7,2,"div",14),we(9,P1,3,2),Y(10,"my-video-actions-dropdown",15),De("videoRemoved",function(){return r.onVideoRemoved();})("showTranscriptionWidget",function(){return r.showTranscriptionWidget.emit();})("hideTranscriptionWidget",function(){return r.hideTranscriptionWidget.emit();}),W()(),Y(11,"div",16),we(12,R1,3,7,"div",17),W()(),we(13,x1,4,5)),n&2&&(Q(2),Te("video",r.video())("videoPassword",r.videoPassword())("isUserLoggedIn",r.isUserLoggedIn()),Q(),Ae(r.video().support?3:-1),Q(5),Ae(r.isVideoAddableToPlaylist()?8:-1),Q(),Ae(!r.isUserLoggedIn()&&!r.video().isLive?9:-1),Q(),Te("video",r.video())("videoCaptions",r.videoCaptions())("transcriptionWidgetOpened",r.transcriptionWidgetOpened())("displayOptions",r.videoActionsOptions),Q(2),Ae(r.video().likes!==0||r.video().dislikes!==0?12:-1),Q(),Ae(r.video()?13:-1));},dependencies:[Ag,Tn,bi,bl,_l,yl,rg,ng,og,ei,om,_g,vg],styles:[`.video-actions[_ngcontent-%COMP%]{height:40px;
2display:flex;align-items:center;width:100%;margin:0 auto;max-width:initial}.video-actions[_ngcontent-%COMP%] .action-button{font-size:100%;display:inline-block;white-space:nowrap;text-transform:uppercase;border:0;padding:var(--input-y-padding) var(--input-x-padding);font-weight:700;border-radius:var(--input-border-radius);text-align:center;cursor:pointer;font-size:1rem;line-height:1.5}.video-actions[_ngcontent-%COMP%] .action-button:not(.icon-only) my-global-icon+*:not(:empty){margin-inline-start:.5rem}.video-actions[_ngcontent-%COMP%] .action-button.icon-only{padding:var(--input-y-padding) 8px}.video-actions[_ngcontent-%COMP%] .action-button.small-button{font-size:.9rem;padding:calc(var(--input-y-padding) / 2) calc(var(--input-x-padding) / 2)!important}.video-actions[_ngcontent-%COMP%] .action-button.small-button my-global-icon{display:inline-block;width:18px!important;height:18px!important;line-height:18px!important}.video-actions[_ngcontent-%COMP%] .action-button my-global-icon{position:relative;top:-1px;right:0;display:inline-block;width:21px;height:21px;line-height:21px}.video-actions[_ngcontent-%COMP%] .action-button:not(.icon-only) my-global-icon{margin-inline-end:0}.video-actions[_ngcontent-%COMP%] .action-button{padding:4px 13px;background-color:transparent!important;color:var(--fg-300)}.video-actions[_ngcontent-%COMP%] .action-button:after{display:none}.video-actions[_ngcontent-%COMP%] .action-button:hover{opacity:.7}.video-actions[_ngcontent-%COMP%] .action-button .icon-text{margin-inline-end:0!important}.likes-dislikes-bar-outer-container[_ngcontent-%COMP%]{position:relative}.likes-dislikes-bar-inner-container[_ngcontent-%COMP%]{position:absolute;height:20px}.likes-dislikes-bar[_ngcontent-%COMP%]{height:2px;margin-top:-2px;width:120px;background-color:#ccc;position:relative;top:10px}.likes-dislikes-bar[_ngcontent-%COMP%] .likes-bar[_ngcontent-%COMP%]{height:100%;background-color:#909090}.likes-dislikes-bar[_ngcontent-%COMP%] .likes-bar.liked[_ngcontent-%COMP%]{background-color:var(--fg-400)}@media screen and (max-width:800px){.action-button[_ngcontent-%COMP%] .icon-text[_ngcontent-%COMP%]{display:none!important}} 3/*# sourceMappingURL=action-buttons.component-2G7XYG77.css.map */`]}));let e=t;return e;})();var kg={VALIDATORS:[hl.required,hl.minLength(1),hl.maxLength(3e3)],MESSAGES:{required:"Comment is required.",minlength:"Comment must be at least 2 characters long.",maxlength:"Comment cannot be more than 3000 characters long."}};var Pg=(()=>{let t=class t{elem=be(Gp);rows="1";overflow="hidden";ngAfterViewInit(){this.resize();}resize(){let s=this.elem.nativeElement;s.style.height="auto",s.style.height=`${s.scrollHeight}px`;}};xe(t,"\u0275fac",function(n){return new(n||t)();}),xe(t,"\u0275dir",il({type:t,selectors:[["textarea","myAutoResize",""]],hostVars:3,hostBindings:function(n,r){n&1&&De("input",function(){return r.resize();}),n&2&&(Hs("rows",r.rows),im("overflow",r.overflow));}}));let e=t;return e;})();var L1=["visitorModal"],M1=["emojiModal"],O1=["textarea"],D1=e=>({"input-error":e}),j1=e=>({"is-rtl":e});function N1(e,t){if(e&1&&(Y(0,"div",24),Ve(1),W()),e&2){let i=se();Q(),Mi(" ",i.formErrors.text," ");}}function F1(e,t){if(e&1){let i=ct();Y(0,"button",28),De("click",function(){ke(i);let n=se();return Pe(n.cancelCommentReply());}),Se(1,13),W();}}function B1(e,t){if(e&1){let i=ct();Y(0,"div",29)(1,"h4",30),Se(2,14),W(),Y(3,"button",31),De("click",function(){ke(i);let n=se();return Pe(n.hideModals());}),Be(4,"my-global-icon",32),W()(),Y(5,"div",33)(6,"span"),Se(7,15),W(),Be(8,"my-remote-subscribe",34),W(),Y(9,"div",35)(10,"input",36),De("click",function(){ke(i);let n=se();return Pe(n.hideModals());})("key.enter",function(){ke(i);let n=se();return Pe(n.hideModals());}),W(),Y(11,"my-login-link",37),De("click",function(){ke(i);let n=se();return Pe(n.hideModals());}),W()();}if(e&2){let i=se();Q(8),Te("interact",!0)("uri",i.getUri());}}function U1(e,t){if(e&1&&(Y(0,"div",40),Ve(1),Y(2,"code"),Ve(3),W()()),e&2){let i=t.$implicit;Q(),Mi(" ",i.emoji," "),Q(2),Mi(":",i.name,":");}}function V1(e,t){if(e&1){let i=ct();Y(0,"div",29)(1,"h4",30),Se(2,16),W(),Y(3,"button",38),De("click",function(){ke(i);let n=se();return Pe(n.hideModals());}),Be(4,"my-global-icon",32),W()(),Y(5,"div",33)(6,"div",39),di(7,U1,4,2,"div",40,li),W()();}if(e&2){let i=se();Q(7),ci(i.getEmojiMarkupList());}}var Bl=(()=>{let t=class t extends Zm{formReactiveService=be(ym);notifier=be(_i);videoCommentService=be(zr);modalService=be(Tl);localeId=be(dl);user=Ue(void 0);video=Ue(void 0);videoPassword=Ue(void 0);parentComment=Ue(void 0);parentComments=Ue(void 0);
3focusOnInit=Ue(!1,{transform:Qc});hasCancel=Ue(!0,{transform:Qc});textValue=Ue(void 0);commentCreated=ht();cancelEdit=ht();visitorModal=Mt("visitorModal");emojiModal=Mt("emojiModal");textareaElement=Mt("textarea");addingComment=!1;addingCommentButtonValue;emojiMarkupList;ngOnInit(){this.buildForm({text:kg}),this.user()&&(this.parentComment()?this.addingCommentButtonValue="Reply":this.addingCommentButtonValue="Comment",this.initTextValue());}ngOnChanges(s){this.form&&s.textValue?.currentValue&&s.textValue.currentValue!==s.textValue.previousValue&&this.patchTextValue(s.textValue.currentValue,!0);}getEmojiMarkupList(){if(this.emojiMarkupList)return this.emojiMarkupList;let s=(v1(),m1(g1)).default;this.emojiMarkupList=[];for(let n of Object.keys(s)){let r=s[n];this.emojiMarkupList.push({emoji:r,name:n});}return this.emojiMarkupList;}openVisitorModal(s){this.user()===null&&(s.srcElement.blur(),s.preventDefault(),this.modalService.open(this.visitorModal()));}openEmojiModal(s){s.preventDefault(),this.modalService.open(this.emojiModal(),{backdrop:!0,size:"lg"});}hideModals(){this.modalService.dismissAll();}formValidated(){if(this.addingComment||(this.forceCheck(),!this.form.valid))return;this.addingComment=!0;let s=this.form.value,n;this.parentComment()?n=this.addCommentReply(s):n=this.addCommentThread(s),n.subscribe({next:r=>{this.addingComment=!1,this.commentCreated.emit(r),this.form.reset();},error:r=>{this.addingComment=!1,this.notifier.handleError(r);}});}getUri(){return window.location.href;}cancelCommentReply(){this.cancelEdit.emit(null),this.form.value.text="",this.textareaElement().nativeElement.value="";}isRTL(){return rm(this.localeId)==="rtl";}getAvatarActorType(){return this.user()?"account":"unlogged";}addCommentReply(s){return this.videoCommentService.addCommentReply({videoId:this.video().uuid,inReplyToCommentId:this.parentComment().id,comment:s,videoPassword:this.videoPassword()});}addCommentThread(s){return this.videoCommentService.addCommentThread(this.video().uuid,s,this.videoPassword());}initTextValue(){let s=this.textValue();if(s){this.patchTextValue(s,this.focusOnInit());return;}if(this.parentComment()){let n=this.parentComments().filter(l=>l.account&&l.account.id!==this.user().account.id).map(l=>"@"+l.by),r=new Set(n),a=Array.from(r).join(" ")+" ";this.patchTextValue(a,this.focusOnInit());}}patchTextValue(s,n){let r=s&&s.trim()!=="";setTimeout(()=>{n&&this.textareaElement().nativeElement.focus(),this.textareaElement().nativeElement.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"}),r&&this.textareaElement().nativeElement.dispatchEvent(new Event("input"));}),r&&this.form.patchValue({text:s});}};xe(t,"\u0275fac",(()=>{let s;return function(r){return(s||(s=zp(t)))(r||t);};})()),xe(t,"\u0275cmp",mt({type:t,selectors:[["my-video-comment-add"]],viewQuery:function(n,r){n&1&&vi(r.visitorModal,L1,5)(r.emojiModal,M1,5)(r.textareaElement,O1,5),n&2&&yi(3);},inputs:{user:[1,"user"],video:[1,"video"],videoPassword:[1,"videoPassword"],parentComment:[1,"parentComment"],parentComments:[1,"parentComments"],focusOnInit:[1,"focusOnInit"],hasCancel:[1,"hasCancel"],textValue:[1,"textValue"]},outputs:{commentCreated:"commentCreated",cancelEdit:"cancelEdit"},features:[Kp,Zt],decls:53,vars:14,consts:()=>{let s;s="Add comment...";let n;n="Markdown compatible";let r;r="Markdown compatible that supports:";let a;a="Auto generated links";let l;l="Break lines";let c;c="Lists";let u;u="Emphasis";let f;f="bold";let p;p="italic";let g;g="Emoji shortcuts";let v;v="Emoji markup";let T;T="See complete list";let y;y=" Cancel ";let A;A="Close this modal";let I;I="Cancel";let P;P="Login to comment";let k;k="You are one step away from commenting";let w;w=" You can comment using an account on any ActivityPub-compatible instance (PeerTube/Mastodon account for example). ";let R;R="Close this modal";let x;return x="Markdown Emoji List",[["textarea",""],["visitorModal",""],["emojiModal",""],r,a,l,c,u,f,p,g,v,T,y,k,w,x,["novalidate","",3,"ngSubmit","formGroup"],[1,"avatar-and-textarea"],["size","25",3,"actor","actorType"],[1,"textarea-wrapper"],["placeholder",s,"myAutoResize","","formControlName","text",3,"click","keyup.control.enter","keyup.meta.enter","readonly","ngClass"],["helpType","custom","iconName","markdown","tooltipPlacement","left auto","autoClose","true","title",n,1,"markdown-guide",3,"ngClass"],["href","",3,"click"],["role","alert",1,"form-error"],[1,"comment-buttons"],["type","button",1,"peertube-button","tert
3iary-button","cancel-button","me-2"],[1,"peertube-button","primary-button",3,"disabled"],["type","button",1,"peertube-button","tertiary-button","cancel-button","me-2",3,"click"],[1,"modal-header"],["id","modal-basic-title",1,"modal-title"],["title",A,1,"border-0","p-0",3,"click"],["iconName","cross"],[1,"modal-body"],[3,"interact","uri"],[1,"modal-footer","inputs"],["type","button","role","button","value",I,1,"peertube-button","secondary-button",3,"click","key.enter"],["label",P,"className","peertube-button-link primary-button",3,"click"],["title",R,1,"border-0","p-0",3,"click"],[1,"emoji-flex"],[1,"emoji-flex-item"]];},template:function(n,r){if(n&1&&(Y(0,"form",17),De("ngSubmit",function(){return r.formValidated();}),Y(1,"div",18),Be(2,"my-actor-avatar",19),Y(3,"div",20)(4,"textarea",21,0),De("click",function(l){return r.openVisitorModal(l);})("keyup.control.enter",function(){return r.formValidated();})("keyup.meta.enter",function(){return r.formValidated();}),Ve(6," "),W(),Y(7,"my-help",22)(8,"span"),Se(9,3),W(),Y(10,"ul")(11,"li")(12,"span"),Se(13,4),W()(),Y(14,"li")(15,"span"),Se(16,5),W()(),Y(17,"li")(18,"span"),Se(19,6),W()(),Y(20,"li")(21,"span"),Se(22,7),W(),Y(23,"code"),Ve(24,"**"),Y(25,"strong"),Se(26,8),W(),Ve(27,"** _"),Y(28,"i"),Se(29,9),W(),Ve(30,"_"),W()(),Y(31,"li")(32,"span"),Se(33,10),W(),Y(34,"code"),Ve(35,":) <3"),W()(),Y(36,"li")(37,"span"),Se(38,11),W(),Y(39,"code"),Ve(40,":smile:"),W(),Y(41,"div")(42,"a",23),De("click",function(l){return r.openEmojiModal(l);}),Se(43,12),W()()()()(),we(44,N1,2,1,"div",24),W()(),Y(45,"div",25),we(46,F1,2,0,"button",26),Y(47,"button",27),Ve(48),W()()(),vn(49,B1,12,2,"ng-template",null,1,zs)(51,V1,9,0,"ng-template",null,2,zs)),n&2){let a;Te("formGroup",r.form),Q(2),Te("actor",(a=r.user())==null?null:a.account)("actorType",r.getAvatarActorType()),Q(2),Te("readonly",r.user()===null)("ngClass",st(10,D1,r.formErrors.text)),Q(3),Te("ngClass",st(12,j1,r.isRTL())),Q(37),Ae(r.formErrors.text?44:-1),Q(2),Ae(r.hasCancel()?46:-1),Q(),Te("disabled",!r.form.valid||r.addingComment),Q(),Mi(" ",r.addingCommentButtonValue," ");}},dependencies:[Fr,cm,lm,Nr,dm,fm,hm,um,Pl,Pg,ei,Wm,bi,pg,qm],styles:[`form[_ngcontent-%COMP%]{margin-bottom:30px}.avatar-and-textarea[_ngcontent-%COMP%]{display:flex;margin-bottom:10px}.avatar-and-textarea[_ngcontent-%COMP%] my-actor-avatar[_ngcontent-%COMP%]{margin-inline-end:.625rem}.avatar-and-textarea[_ngcontent-%COMP%] .textarea-wrapper[_ngcontent-%COMP%]{flex-grow:1;position:relative}.avatar-and-textarea[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{min-height:30px;font-size:16px;padding:var(--input-y-padding) var(--input-x-padding);width:100%;max-width:100%;color:var(--input-fg);background-color:var(--input-bg);border:var(--input-border-width) solid var(--input-border-color);border-radius:var(--input-border-radius);line-height:24px}.avatar-and-textarea[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]::placeholder{color:var(--input-placeholder-color);font-size:var(--input-placeholder-font-size)}.avatar-and-textarea[_ngcontent-%COMP%] textarea[readonly][_ngcontent-%COMP%]{color:var(--fg-300)}.avatar-and-textarea[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:focus, .avatar-and-textarea[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:focus-visible{box-shadow:0 0 0 .2rem var(--fg-100);outline:0}.avatar-and-textarea[_ngcontent-%COMP%] textarea[disabled][_ngcontent-%COMP%]{color:var(--fg-300);opacity:.8}@media screen and (max-width: calc(100% + 40px)){.avatar-and-textarea[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{width:100%}}.avatar-and-textarea[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{color:var(--textarea-fg)!important;background-color:var(--textarea-bg)!important;height:60px;padding:var(--textarea-y-padding) var(--textarea-x-padding)}.avatar-and-textarea[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{padding-inline-end:calc(1.40625rem + 1.875vw)!important}@media(min-width:1200px){.avatar-and-textarea[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{padding-inline-end:2.8125rem!important}}@media screen and (max-width:600px){.avatar-and-textarea[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{padding-inline-end:calc(1.43125rem + 2.175vw)!important}}@media screen and (max-width:600px)and (min-width:1200px){.avatar-and-textarea[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{padding-inline-end:3.0625rem!important}}.avatar-and-textarea[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:focus::placeholder{opacity:0}
3.markdown-guide[_ngcontent-%COMP%]{position:absolute;top:5px;right:9px}.markdown-guide.is-rtl[_ngcontent-%COMP%]{right:unset;left:9px}.markdown-guide[_ngcontent-%COMP%] .help-tooltip-button my-global-icon{color:var(--input-placeholder-color);height:18px;width:30px}.markdown-guide[_ngcontent-%COMP%] .help-tooltip-button my-global-icon svg{border-radius:3px}.markdown-guide[_ngcontent-%COMP%] .help-tooltip-button:focus my-global-icon{color:var(--input-fg)}.comment-buttons[_ngcontent-%COMP%]{display:flex;justify-content:flex-end}.emoji-flex[_ngcontent-%COMP%]{display:flex;flex-flow:row wrap;align-items:center}.emoji-flex[_ngcontent-%COMP%] .emoji-flex-item[_ngcontent-%COMP%]{text-align:left;margin:auto;min-width:227px;flex:1}.emoji-flex[_ngcontent-%COMP%] .emoji-flex-item[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{display:inline-block;vertical-align:middle;margin-inline-start:.3125rem}@media screen and (max-width:600px){textarea[_ngcontent-%COMP%], .comment-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{font-size:14px!important}textarea[_ngcontent-%COMP%]{padding:5px!important}}.modal-body[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{float:left;margin-bottom:20px} 4/*# sourceMappingURL=video-comment-add.component-5LUE3VR6.css.map */`]}));let e=t;return e;})();var Ul=(()=>{let t=class t{timestampClicked=ht();onClick(s){let n=s.target;if(n.hasAttribute("href")!==!0||!n.classList.contains("video-timestamp"))return;let r=document.createElement("a");r.href=n.getAttribute("href");
4let a=new URLSearchParams(r.search);if(a.has("start")!==!0)return;let l=["h","m","s"],c=a.get("start").match(new RegExp("(\\d{1,9}["+l.join("")+"])","g")).map(u=>u.includes("h")?parseInt(u,10)*3600:u.includes("m")?parseInt(u,10)*60:parseInt(u,10)).reduce((u,f)=>u+f);this.timestampClicked.emit(c),s.preventDefault();}};xe(t,"\u0275fac",function(n){return new(n||t)();}),xe(t,"\u0275dir",il({type:t,selectors:[["","myTimestampRouteTransformer",""]],hostBindings:function(n,r){n&1&&De("click",function(l){return r.onClick(l);});},outputs:{timestampClicked:"timestampClicked"}}));let e=t;return e;})();var $1=["commentReportModal"],H1=["commentReplyModal"],z1=["*"],G1=(e,t)=>({"is-child":e,"mb-3":t}),W1=e=>["/a",e],q1=e=>({"video-author":e}),xg=e=>({threadId:e}),Lg=(e,t)=>["/w",e,t];function K1(e,t){if(e&1&&Be(0,"my-actor-avatar",11),e&2){let i=se(2);Te("href",i.comment().account.url)("actor",i.comment().account)("size",i.isChild()?"25":"36");}}function Y1(e,t){e&1&&(Y(0,"div",16),Se(1,3),W());}function X1(e,t){e&1&&(Y(0,"span",23),Se(1,4),W());}function Q1(e,t){if(e&1){let i=ct();we(0,Y1,2,0,"div",16),Y(1,"div",17)(2,"div",18)(3,"a",19)(4,"span",20),Ve(5),W(),Y(6,"span",21),Ve(7),W()()(),Y(8,"a",22),Ve(9),Zi(10,"myFromNow"),W(),we(11,X1,2,0,"span",23),W(),Y(12,"div",24),De("timestampClicked",function(n){ke(i);let r=se(2);return Pe(r.handleTimestampClicked(n));}),W(),Y(13,"div",25)(14,"button",26),De("click",function(){ke(i);let n=se(2);return Pe(n.onWantToReply());}),Se(15,2),W(),Be(16,"my-user-moderation-dropdown",27),W();}if(e&2){let i=se(2);Ae(i.highlightedComment()===!0?0:-1),Q(3),Te("routerLink",st(16,W1,i.comment().by)),Q(),Te("ngClass",st(18,q1,i.video().account.id===i.comment().account.id)),Q(),Mi(" ",i.comment().account.displayName," "),Q(2),ot(i.comment().by),Q(),Te("routerLink",ll(22,Lg,i.video().shortUUID,st(20,xg,i.comment().threadId)))("title",i.comment().createdAt),Q(),Mi(" ",Wo(10,14,i.comment().createdAt)," "),Q(2),Ae(i.comment().heldForReview?11:-1),Q(),Te("innerHTML",i.sanitizedCommentHTML,Cs),Q(4),Te("prependActions",i.prependModerationActions)("buttonStyled",!1)("account",i.commentAccount)("user",i.commentUser);}}function J1(e,t){if(e&1&&(Y(0,"div",17)(1,"span",18),Se(2,5),W(),Y(3,"a",28),Ve(4),Zi(5,"myFromNow"),W()(),Y(6,"div",29)(7,"i"),Se(8,6),W()()),e&2){let i=se(2);Q(3),Te("routerLink",ll(6,Lg,i.video().shortUUID,st(4,xg,i.comment().threadId))),Q(),ot(Wo(5,2,i.comment().createdAt));}}function Z1(e,t){if(e&1){let i=ct();Y(0,"my-video-comment-add",30),De("commentCreated",function(n){ke(i);let r=se(2);return Pe(r.onCommentReplyCreated(n));})("cancelEdit",function(){ke(i);let n=se(2);return Pe(n.onResetReply());}),W();}if(e&2){let i=se(2);Te("user",i.user)("video",i.video())("videoPassword",i.videoPassword())("parentComment",i.comment())("parentComments",i.newParentComments)("focusOnInit",!0)("textValue",i.redraftValue());}}function eE(e,t){if(e&1){let i=ct();Y(0,"div")(1,"my-video-comment",31),De("wantedToReply",function(n){ke(i);let r=se(3);return Pe(r.onWantToReply(n));})("wantedToDelete",function(n){ke(i);let r=se(3);return Pe(r.onWantToDelete(n));})("wantedToRedraft",function(n){ke(i);let r=se(3);return Pe(r.onWantToRedraft(n));})("wantedToApprove",function(n){ke(i);let r=se(3);return Pe(r.onWantToApprove(n));})("resetReply",function(){ke(i);let n=se(3);return Pe(n.onResetReply());})("timestampClicked",function(n){ke(i);let r=se(3);return Pe(r.handleTimestampClicked(n));}),W()();}if(e&2){let i=t.$implicit,s=se(3);Q(),Te("comment",i.comment)("video",s.video())("videoPassword",s.videoPassword())("inReplyToCommentId",s.inReplyToCommentId())("commentTree",i)("parentComments",s.newParentComments)("redraftValue",s.redraftValue());}}function tE(e,t){if(e&1&&(Y(0,"div"),di(1,eE,2,7,"div",null,li),W()),e&2){let i=se(2);Q(),ci(i.commentTree().children);}}function iE(e,t){if(e&1&&(Y(0,"div",8)(1,"div",10),we(2,K1,1,3,"my-actor-avatar",11),Be(3,"div",12),W(),Y(4,"div",13)(5,"div",14),we(6,Q1,17,25),we(7,J1,9,9)(8,Z1,1,7,"my-video-comment-add",15),we(9,tE,3,0,"div"),tm(10),W()()()),e&2){let i=se();Te("ngClass",ll(5,G1,i.isChild(),i.firstInThread())),Q(2),Ae(i.comment().isDeleted?-1:2),Q(4),Ae(i.comment().isDeleted?-1:6),Q(),Ae(i.comment().isDeleted?7:i.inReplyToCommentId()===i.comment().id&&!i.isInMobileView()?8:-1),Q(2),Ae(i.commentTree()?9:-1);}}function sE(e,t){if(e&1&&Be(0,"my-comment-report",9,1),e&2){let i=se();Te("comment",i.comment());}}function nE(e,t){if(e&1){let i=ct();Y(0,"div",32)(1,"h4",33),Se(2,7),W(),Y(3,"button",34),De("click",function(){ke(i);let n=se();return Pe(n.onResetReply());}),Be(4,"my-global-icon",35),W()(),Y(5,"div",36)(6,"my-video-comment-add",30),De("commentCreated",function(n){ke(i);let r=se();return Pe(r.onCommentReplyCreated(n));})("cancelEdit",function(){ke(i);let n=se();return Pe(n.onResetReply());}),W()();}if(e&2){let i,s=se();Q(2),Vi(((i=s.comment().account)==null?null:i.displayName)||"Unknown"),$i(2),Q(4),Te("user",s.user)("video",s.video())("videoPassword",s.videoPassword())("parentComment",s.comment())("parentComments",s.newParentComments)("focusOnInit",!0)("textValue",s.redraftValue());}}var Mg=(()=>{let t=class t{markdownService=be(Al);authService=be(Ss);userService=be(es);notifier=be(_i);screenService=be(En);modalService=be(Tl);commentReportModal=Mt("commentReportModal");commentReplyModal=Mt("commentReplyModal");video=Ue(void 0);videoPassword=Ue(void 0);comment=Ue(void 0);parentComments=Ue([]);inReplyToCommentId=Ue(void 0);highlightedComment=Ue(!1);
4firstInThread=Ue(!1);commentTree=Xc(void 0);redraftValue=Xc(void 0);wantedToReply=ht();wantedToDelete=ht();wantedToApprove=ht();wantedToRedraft=ht();threadCreated=ht();resetReply=ht();timestampClicked=ht();prependModerationActions;sanitizedCommentHTML="";newParentComments=[];commentAccount;commentUser;replyModalRef;get user(){return this.authService.getUser();}ngOnInit(){this.init();}ngOnChanges(){this.init(),this.toggleMobileReplyModalIfNeeded();}onCommentReplyCreated(s){this.commentTree()||(this.commentTree.set({comment:this.comment(),hasDisplayedChildren:!1,children:[]}),this.threadCreated.emit(this.commentTree())),this.commentTree().children.unshift({comment:s,hasDisplayedChildren:!1,children:[]}),this.resetReply.emit(),this.redraftValue.set(void 0),this.closeReplyModal();}onWantToReply(s){this.wantedToReply.emit(s||this.comment());}onWantToDelete(s){this.wantedToDelete.emit(s||this.comment());}onWantToRedraft(s){this.wantedToRedraft.emit(s||this.comment());}onWantToApprove(s){this.wantedToApprove.emit(s||this.comment());}isUserLoggedIn(){return this.authService.isLoggedIn();}onResetReply(){this.resetReply.emit(),this.closeReplyModal();}isInMobileView(){return this.screenService.isInMobileView();}handleTimestampClicked(s){this.timestampClicked.emit(s);}canBeRemovedUser(){let s=this.comment();return s.account&&this.isUserLoggedIn()&&(this.user.account.id===s.account.id||this.user.account.id===this.video().account.id||this.user.hasRight(Br.MANAGE_ANY_VIDEO_COMMENT));}canBeApprovedByUser(){return this.comment().account&&this.isUserLoggedIn()&&(this.user.account.id===this.video().account.id||this.user.hasRight(Br.MANAGE_ANY_VIDEO_COMMENT));}isRedraftableByUser(){let s=this.comment();return s.account&&this.isUserLoggedIn()&&this.user.account.id===s.account.id&&s.totalReplies===0;}isReportableByUser(){let s=this.comment();return s.account&&this.isUserLoggedIn()&&s.isDeleted===!1&&this.user.account.id!==s.account.id;}isCommentDisplayed(){let s=this.comment();return!s.isDeleted||s.totalReplies!==0||this.commentTree()?.hasDisplayedChildren;}isChild(){return this.parentComments().length!==0;}getUserIfNeeded(s){if(!s.userId||!this.authService.isLoggedIn())return;this.authService.getUser().hasRight(Br.MANAGE_USERS)&&this.userService.getUserWithCache(s.userId).subscribe({next:r=>this.commentUser=r,error:r=>this.notifier.handleError(r)});}init(){return Qe(this,null,function*(){let s=this.comment().text.replace(/<br.?\/?>/g,`\r 5`),n=yield this.markdownService.textMarkdownToHTML({markdown:s,withHtml:!0,withEmoji:!0});this.sanitizedCommentHTML=this.markdownService.processVideoTimestamps(this.video().shortUUID,n),this.newParentComments=this.parentComments().concat([this.comment()]);let r=this.comment();r.account?(this.commentAccount=new km(r.account),this.getUserIfNeeded(this.commentAccount)):r.account=null,this.prependModerationActions=[],this.canBeApprovedByUser()&&r.heldForReview&&this.prependModerationActions.push({label:"Approve",iconName:"tick",handler:()=>this.onWantToApprove()}),this.isReportableByUser()&&this.prependModerationActions.push({label:"Report this comment",iconName:"flag",handler:()=>this.showReportModal()}),this.canBeRemovedUser()&&this.prependModerationActions.push({label:"Remove",iconName:"delete",handler:()=>this.onWantToDelete()}),this.isRedraftableByUser()&&this.prependModerationActions.push({label:"Remove & re-draft",iconName:"edit",handler:()=>this.onWantToRedraft()}),this.prependModerationActions.length!==0&&this.prependModerationActions.unshift({label:"Actions on comment",isHeader:!0});});}showReportModal(){this.commentReportModal().show();}closeReplyModal(){this.replyModalRef&&(this.replyModalRef.close(),this.replyModalRef=void 0);}toggleMobileReplyModalIfNeeded(){!(this.isInMobileView()&&this.inReplyToCommentId()===this.comment().id)||this.replyModalRef||(this.replyModalRef=this.modalService.open(this.commentReplyModal(),{centered:!0}),this.replyModalRef.result.finally(()=>{this.replyModalRef=void 0,this.inReplyToCommentId()===this.comment().id&&this.resetReply.emit();}));}};xe(t,"\u0275fac",function(n){return new(n||t)();}),xe(t,"\u0275cmp",mt({type:t,selectors:[["my-video-comment"]],viewQuery:function(n,r){n&1&&vi(r.commentReportModal,$1,5)(r.commentReplyModal,H1,5),n&2&&yi(2);},inputs:{video:[1,"video"],videoPassword:[1,"videoPassword"],comment:[1,"comment"],parentComments:[1,"parentComments"],inReplyToCommentId:[1,"inReplyToCommentId"],highlightedComment:[1,"highlightedComment"],firstInThread:[1,"firstInThread"],commentTree:[1,"commentTree"],redraftValue:[1,"redraftValue"]},outputs:{commentTree:"commentTreeChange",redraftValue:"redraftValueChange",wantedToReply:"wantedToReply",wantedToDelete:"wantedToDelete",wantedToApprove:"wantedToApprove",wantedToRedraft:"wantedToRedraft",threadCreated:"threadCreated",resetReply:"resetReply",t
5imestampClicked:"timestampClicked"},features:[Zt],ngContentSelectors:z1,decls:4,vars:2,consts:()=>{let s;s="Options";let n;n="Reply";let r;r="Highlighted comment";let a;a="Pending review";let l;l="Deleted";let c;c="This comment has been deleted";let u;u="Close this modal";let f;return f="Reply to "+"\uFFFD0\uFFFD"+"",[["commentReplyModal",""],["commentReportModal",""],n,r,a,l,c,f,[1,"root-comment",3,"ngClass"],[3,"comment"],[1,"left"],["actorType","account",3,"href","actor","size"],[1,"vertical-border"],[1,"right"],[1,"comment"],[3,"user","video","videoPassword","parentComment","parentComments","focusOnInit","textValue"],[1,"highlighted-comment"],[1,"comment-account-date"],[1,"comment-account"],[3,"routerLink"],[1,"comment-account-name",3,"ngClass"],[1,"comment-account-handle","ms-1"],[1,"comment-date",3,"routerLink","title"],[1,"pt-badge","badge-red","ms-2"],["myTimestampRouteTransformer","",1,"comment-html",3,"timestampClicked","innerHTML"],[1,"comment-actions"],[1,"comment-action-reply","border-0","p-0",3,"click"],["buttonSize","small","label",s,"placement","bottom-left auto",3,"prependActions","buttonStyled","account","user"],[1,"comment-date",3,"routerLink"],[1,"comment-html","comment-html-deleted"],[3,"commentCreated","cancelEdit","user","video","videoPassword","parentComment","parentComments","focusOnInit","textValue"],[3,"wantedToReply","wantedToDelete","wantedToRedraft","wantedToApprove","resetReply","timestampClicked","comment","video","videoPassword","inReplyToCommentId","commentTree","parentComments","redraftValue"],[1,"modal-header"],[1,"modal-title"],["title",u,1,"border-0","p-0",3,"click"],["iconName","cross","ariaHidden","true"],[1,"modal-body"]];},template:function(n,r){n&1&&(em(),we(0,iE,11,8,"div",8),we(1,sE,2,1,"my-comment-report",9),vn(2,nE,7,8,"ng-template",null,0,zs)),n&2&&(Ae(r.isCommentDisplayed()?0:-1),Q(),Ae(r.prependModerationActions?1:-1));},dependencies:[t,ei,Pl,jr,Ul,ug,Bl,tg,bi,Hm],styles:[`.root-comment[_ngcontent-%COMP%]{display:flex}.root-comment[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;margin-inline-end:.5rem}.root-comment[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] .vertical-border[_ngcontent-%COMP%]{width:2px;height:100%;background-color:#0000000d;margin:10px auto}.root-comment[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{width:100%}.comment[_ngcontent-%COMP%]{flex-grow:1;min-width:1px}.highlighted-comment[_ngcontent-%COMP%]{display:inline-block;background-color:var(--primary);color:var(--on-primary);padding:0 5px;font-size:13px;margin-bottom:5px;font-weight:600;border-radius:3px}.comment-account-date[_ngcontent-%COMP%]{display:flex;margin-bottom:4px}.video-author[_ngcontent-%COMP%]{height:20px;background-color:var(--bg-secondary-400);color:var(--fg);border-radius:12px;margin-bottom:2px;max-width:100%;box-sizing:border-box;flex-direction:row;align-items:center;display:inline-flex;padding-inline-end:.375rem;padding-inline-start:.375rem}.comment-account[_ngcontent-%COMP%]{word-break:break-all;font-weight:600;font-size:90%}.comment-account[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--fg)}.comment-account[_ngcontent-%COMP%] a[_ngcontent-%COMP%], .comment-account[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover, .comment-account[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:focus, .comment-account[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:active{text-decoration:none}.comment-account[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:focus:not(:focus-visible){outline:none}.comment-account[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{text-decoration:underline}.comment-account[_ngcontent-%COMP%] .comment-account-handle[_ngcontent-%COMP%]{color:var(--fg-300)}.comment-date[_ngcontent-%COMP%]{font-size:90%;color:var(--fg-300);text-decoration:none;margin-inline-start:.3125rem}.comment-date[_ngcontent-%COMP%]:hover{text-decoration:underline}.comment-html[_ngcontent-%COMP%]{word-break:break-word;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.comment-html[_ngcontent-%COMP%] a{color:var(--fg);font-weight:600}.comment-html[_ngcontent-%COMP%] a, .comment-html[_ngcontent-%COMP%] a:hover, .comment-html[_ngcontent-%COMP%] a:focus, .comment-html[_ngcontent-%COMP%] a:active{text-decoration:none}.comment-html[_ngcontent-%COMP%] a:focus:not(:focus-visible){outline:none}.comment-html[_ngcontent-%COMP%] p{margin-bottom:.3rem}.comment-html.comment-html-deleted[_ngcontent-%COMP%]{color:var(--fg-300);margin-bottom:1rem}.comment-actions[_ngcontent-%COMP%]{margin-bottom:10px;display:flex}.comment-actions[_ngcontent-%COMP%] .comment-action-reply[_ngcontent-%COMP%]{color:var(--fg-300);
5cursor:pointer;margin-inline-end:.625rem}.comment-actions[_ngcontent-%COMP%] .comment-action-reply[_ngcontent-%COMP%]:hover, .comment-actions[_ngcontent-%COMP%] .comment-action-reply[_ngcontent-%COMP%]:active, .comment-actions[_ngcontent-%COMP%] .comment-action-reply[_ngcontent-%COMP%]:focus, .comment-actions[_ngcontent-%COMP%] .comment-action-reply[_ngcontent-%COMP%]:focus-visible{color:var(--fg)}my-video-comment-add[_ngcontent-%COMP%] form{margin-top:1rem;margin-bottom:0}@media screen and (max-width:600px){.is-child[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{margin-inline-end:.25rem}.comment-account-date[_ngcontent-%COMP%]{flex-direction:column}.comment-account-date[_ngcontent-%COMP%] .comment-date[_ngcontent-%COMP%]{margin-inline-start:0}} 6/*# sourceMappingURL=video-comment.component-B3FJ5M22.css.map */`]}));let e=t;return e;})();var rE=["popover"];function oE(e,t){if(e&1&&(Y(0,"a",4),Ve(1),W()),e&2){let i=t.$implicit;Te("href",i.url,tl),Q(),ot(i.label);}}function aE(e,t){if(e&1&&di(0,oE,2,2,"a",4,li),e&2){let i=se(2);ci(i.syndicationItems());}}
6function lE(e,t){if(e&1&&(Y(0,"button",2,0),Be(2,"my-global-icon",3),vn(3,aE,2,0,"ng-template",null,1,zs),W()),e&2){let i=nl(4),s=se();Te("ngbPopover",i)("autoClose",!0)("title",s.getTitle());}}var Og=(()=>{let t=class t{popover=Mt("popover");syndicationItems=Ue(void 0);getTitle(){return this.popover()?.isOpen()?"Close syndication dropdown":"Open syndication dropdown";}};xe(t,"\u0275fac",function(n){return new(n||t)();}),xe(t,"\u0275cmp",mt({type:t,selectors:[["my-feed"]],viewQuery:function(n,r){n&1&&vi(r.popover,rE,5),n&2&&yi();},inputs:{syndicationItems:[1,"syndicationItems"]},decls:1,vars:1,consts:[["popover","ngbPopover"],["feedsList",""],["placement","bottom left auto",1,"feed","border-0","p-0",3,"ngbPopover","autoClose","title"],["iconName","syndication"],["target","_blank","rel","noopener noreferrer",1,"feed-link",3,"href"]],template:function(n,r){n&1&&we(0,lE,5,3,"button",2),n&2&&Ae(r.syndicationItems()&&r.syndicationItems().length!==0?0:-1);},dependencies:[El,bi],styles:[`.feed[_ngcontent-%COMP%]{width:100%;color:inherit}.feed-link[_ngcontent-%COMP%]{color:var(--fg);display:block;min-width:100px}.feed-link[_ngcontent-%COMP%]:hover{text-decoration:underline}my-global-icon[_ngcontent-%COMP%]{width:100%;height:100%} 7/*# sourceMappingURL=feed.component-FJGAMQOX.css.map */`]}));let e=t;return e;})();var dE=["commentHighlightBlock"];function cE(e,t){e&1&&(Y(0,"div"),Se(1,5),W());}function uE(e,t){if(e&1){let i=ct();Y(0,"my-video-comment",20),De("wantedToReply",function(n){ke(i);let r=se(2);return Pe(r.onWantedToReply(n));})("wantedToDelete",function(n){ke(i);let r=se(2);return Pe(r.onWantedToDelete(n));})("wantedToRedraft",function(n){ke(i);let r=se(2);return Pe(r.onWantedToRedraft(n));})("wantedToApprove",function(n){ke(i);let r=se(2);return Pe(r.onWantToApprove(n));})("threadCreated",function(n){ke(i);let r=se(2);return Pe(r.onThreadCreated(n));})("resetReply",function(){ke(i);let n=se(2);return Pe(n.onResetReply());})("timestampClicked",function(n){ke(i);let r=se(2);return Pe(r.handleTimestampClicked(n));}),W();}if(e&2){let i=se(2);Te("comment",i.highlightedThread)("video",i.video())("videoPassword",i.videoPassword())("inReplyToCommentId",i.inReplyToCommentId)("commentTree",i.threadComments[i.highlightedThread.id])("highlightedComment",!0)("firstInThread",!0)("redraftValue",i.commentReplyRedraftValue);}}function hE(e,t){if(e&1&&(cs(0),Se(1,6),us()),e&2){let i,s=se(4).$implicit,n=se(2);Q(),Vi(s.totalReplies)(s.totalReplies)(((i=n.video())==null||i.account==null?null:i.account.displayName)||"the author"),$i(1);}}function fE(e,t){if(e&1&&(cs(0),Se(1,7),us()),e&2){let i,s=se(4).$implicit,n=se(2);Q(),Vi(s.totalReplies)(s.totalReplies)(((i=n.video())==null||i.account==null?null:i.account.displayName)||"the author"),$i(1);}}function pE(e,t){if(e&1&&we(0,hE,2,3,"ng-container")(1,fE,2,3,"ng-container"),e&2){let i=se(3).$implicit;Ae(i.totalReplies!==i.totalRepliesFromVideoAuthor?0:1);}}function mE(e,t){if(e&1&&(cs(0),Se(1,8),us()),e&2){let i=se(3).$implicit;Q(),Vi(i.totalReplies)(i.totalReplies),$i(1);}}function gE(e,t){if(e&1){let i=ct();Y(0,"button",24),De("click",function(){ke(i);let n=se(2).$implicit,r=se(2);return Pe(r.viewReplies(n.id));}),Be(1,"span",25),we(2,pE,2,1)(3,mE,2,2,"ng-container"),Be(4,"my-loader",26),W();}if(e&2){let i=se(2).$implicit,s=se(2);Q(2),Ae(i.totalRepliesFromVideoAuthor>0?2:3),Q(2),Te("loading",s.threadLoading[i.id]);}}function vE(e,t){if(e&1){let i=ct();Y(0,"my-video-comment",22),De("wantedToReply",function(n){ke(i);let r=se(3);return Pe(r.onWantedToReply(n));})("wantedToDelete",function(n){ke(i);let r=se(3);return Pe(r.onWantedToDelete(n));})("wantedToRedraft",function(n){ke(i);let r=se(3);return Pe(r.onWantedToRedraft(n));})("wantedToApprove",function(n){ke(i);let r=se(3);return Pe(r.onWantToApprove(n));})("threadCreated",function(n){ke(i);let r=se(3);return Pe(r.onThreadCreated(n));})("resetReply",function(){ke(i);let n=se(3);return Pe(n.onResetReply());})("timestampClicked",function(n){ke(i);let r=se(3);return Pe(r.handleTimestampClicked(n));}),we(1,gE,5,2,"button",23),W();}if(e&2){let i=se(),s=i.$implicit,n=i.$index,r=se(2);Te("comment",s)("video",r.video())("videoPassword",r.videoPassword())("inReplyToCommentId",r.inReplyToCommentId)("commentTree",r.threadComments[s.id])("firstInThread",n+1!==r.comments.length)("redraftValue",r.commentReplyRedraftValue),Q(),Ae(s.totalReplies!==0&&!r.threadComments[s.id]?1:-1);}}function yE(e,t){if(e&1&&(Y(0,"div"),we(1,vE,2,8,"my-video-comment",21),W()),e&2){let i=t.$implicit,s=se(2);Q(),Ae(!s.highlightedThread||i.id!==s.highlightedThread.id?1:-1);}}function _E(e,t){if(e&1){let i=ct();Y(0,"my-video-comment-add",16),De("commentCreated",function(n){ke(i);let r=se();return Pe(r.onCommentThreadCreated(n));}),W(),we(1,cE,2,0,"div"),Y(2,"div",17),De("nearOfBottom",function(){ke(i);let n=se();return Pe(n.onNearOfBottom());}),Y(3,"div"),Be(4,"div",18,0),we(6,uE,1,8,"my-video-comment",19),W(),di(7,yE,2,1,"div",null,li),W();}if(e&2){let i=se();Te("video",i.video())("videoPassword",i.videoPassword())("user",i.user())("textValue",i.commentThreadRedraftValue),Q(),Ae(i.totalNotDeletedComments===0&&i.comments.length===0?1:-1),Q(),Te("dataObservable",i.onDataSubject.asObservable()),Q(4),Ae(i.highlightedThread?6:-1),Q(),ci(i.comments);}}function bE(e,t){e&1&&(Y(0,"div"),Se(1,9),W());}var Dg=(()=>{let t=class t{authService=be(Ss);notifier=be(_i);confirmService=be(Sl);videoCommentService=be(zr);activatedRoute=be(cl);hooks=be(Cn);pluginService=be(Il);commentHighlightBlock=Mt("commentHighlightBlock");video=Ue(void 0);videoPassword=Ue(void 0);user=Ue(void 0);timestampClicked=ht();comments=[];highlightedThread;sort="-createdAt";componentPagination={currentPage:1,itemsPerPage:10,totalItems:null};totalNotDeletedComments;inReplyToCommentId;commentReplyRedraftValue;commentThreadRedraftValue;commentsEnabled;threadComments={};threadLoading={};syndicationItems=[];
7onDataSubject=new el();sub;ngOnInit(){this.pluginService.addAction("video-watch-comment-list:load-data",()=>this.loadMoreThreads(!0)),this.sub=this.activatedRoute.params.subscribe(s=>{if(s.threadId){let n=+s.threadId;this.processHighlightedThread(n);}});}ngOnChanges(s){s.video&&this.resetVideo();}ngOnDestroy(){this.pluginService.removeAction("video-watch-comment-list:load-data"),this.sub&&this.sub.unsubscribe();}viewReplies(s,n=!1){this.threadLoading[s]=!0;let r={videoId:this.video().uuid,threadId:s,videoPassword:this.videoPassword()};this.hooks.wrapObsFun(this.videoCommentService.getVideoThreadComments.bind(this.videoCommentService),r,"video-watch","filter:api.video-watch.video-thread-replies.list.params","filter:api.video-watch.video-thread-replies.list.result").subscribe({next:l=>{this.threadComments[s]=l,this.threadLoading[s]=!1,this.hooks.runAction("action:video-watch.video-thread-replies.loaded","video-watch",{data:l}),n&&(this.highlightedThread=new lg(l.comment),setTimeout(()=>this.commentHighlightBlock().nativeElement.scrollIntoView(),0));},error:l=>{let c=l.body;n&&c?.code===_n.COMMENT_NOT_ASSOCIATED_TO_VIDEO||this.notifier.handleError(l);}});}loadMoreThreads(s=!1){return Qe(this,null,function*(){s===!0&&(this.componentPagination.currentPage=1);let n={videoId:this.video().uuid,videoPassword:this.videoPassword(),componentPagination:this.componentPagination,sort:this.sort},r=this.hooks.wrapObsFun(this.videoCommentService.getVideoCommentThreads.bind(this.videoCommentService),n,"video-watch","filter:api.video-watch.video-threads.list.params","filter:api.video-watch.video-threads.list.result");try{let a=yield Np(r);s&&(this.comments=[]),this.comments=this.comments.concat(a.data),this.componentPagination.totalItems=a.total,this.totalNotDeletedComments=a.totalNotDeletedComments,this.onDataSubject.next(a.data),this.hooks.runAction("action:video-watch.video-threads.loaded","video-watch",{data:this.componentPagination});}catch(a){this.notifier.error(a.message);}});}onCommentThreadCreated(s){this.comments.unshift(s),this.commentThreadRedraftValue=void 0;}onWantedToReply(s){this.inReplyToCommentId=s.id;}onResetReply(){this.inReplyToCommentId=void 0,this.commentReplyRedraftValue=void 0;}onThreadCreated(s){this.viewReplies(s.comment.id);}handleSortChange(s){this.sort!==s&&(this.sort=s,this.resetVideo());}handleTimestampClicked(s){this.timestampClicked.emit(s);}onWantedToDelete(a){return Qe(this,arguments,function*(s,n="Delete",r="Do you really want to delete this comment?"){return s.isLocal||this.video().isLocal?r+=" The deletion will be sent to remote platforms so they can reflect the change.":r+=" It is a remote comment, so the deletion will only be effective on your platform.",(yield this.confirmService.confirm(r,n))===!1?!1:(this.videoCommentService.deleteComments([{videoId:s.videoId,commentId:s.id}]).subscribe({next:()=>{this.highlightedThread?.id===s.id&&(s=this.comments.find(c=>c.id===s.id),this.highlightedThread=void 0),this.softDeleteComment(s);},error:c=>this.notifier.handleError(c)}),!0);});}onWantedToRedraft(s){return Qe(this,null,function*(){if(yield this.onWantedToDelete(s,"Delete and re-draft","Do you really want to delete and re-draft this comment?")){this.inReplyToCommentId=s.inReplyToCommentId;let r=s.text.replace(/<br.?\/?>/g,`\r 8`);s.threadId===s.id?this.commentThreadRedraftValue=r:this.commentReplyRedraftValue=r;}});}onWantToApprove(s){this.videoCommentService.approveComments([{commentId:s.id,videoId:s.videoId}]).subscribe({next:()=>{s.heldForReview=!1,this.notifier.success("Comment approved");},error:n=>this.notifier.handleError(n)});}isUserLoggedIn(){return this.authService.isLoggedIn();}onNearOfBottom(){Om(this.componentPagination)&&(this.componentPagination.currentPage++,this.loadMoreThreads());}softDeleteComment(s){s.isDeleted=!0,s.deletedAt=new Date(),s.text="",s.account=null;}resetVideo(){let s=this.video();s.commentsPolicy.id!==pm.DISABLED&&(this.highlightedThread=null,this.comments=[],this.threadComments={},this.threadLoading={},this.inReplyToCommentId=void 0,this.componentPagination.currentPage=1,this.componentPagination.totalItems=null,this.totalNotDeletedComments=null,this.commentsEnabled=!0,this.syndicationItems=this.videoCommentService.getVideoCommentsFeeds(s),this.loadMoreThreads(),this.activatedRoute.snapshot.params.threadId&&this.processHighlightedThread(+this.activatedRoute.snapshot.params.threadId));}processHighlightedThread(s){this.highlightedThread=this.comments.find(r=>r.id===s),this.viewReplies(s,!0);}};xe(t,"\u0275fac",function(n){return new(n||t)();}),xe(t,"\u0275cmp",mt({type:t,selectors:[["my-video-comments"]],viewQuery:function(n,r){n&1&&vi(r.commentHighlightBlock,dE,5),n&2&&yi();},inputs:{video:[1,"video"],videoPassword:[1,"videoPassword"],user:[1,"user"]},outputs:{timestampClicked:"timestampClicked"},features:[Zt],decls:17,vars:4,consts:()=>{let s;s="{VAR_PLURAL, plural, =0 {Comments} =1 {1 Comment}
8 other {{INTERPOLATION} Comments}}",s=zo(s,{INTERPOLATION:"\uFFFD1\uFFFD",VAR_PLURAL:"\uFFFD0\uFFFD"});let n;n=" SORT BY ";let r;r="Most recent first (default)";let a;a="Most replies first";let l;l="No comments.";let c;c="{VAR_PLURAL, plural, =1 {1 reply} other {{INTERPOLATION} replies}}",c=zo(c,{INTERPOLATION:"\uFFFD1\uFFFD",VAR_PLURAL:"\uFFFD0\uFFFD"});let u;u=" View "+c+" from "+"\uFFFD2\uFFFD"+" and others ";let f;f="{VAR_PLURAL, plural, =1 {1 reply} other {{INTERPOLATION} replies}}",f=zo(f,{INTERPOLATION:"\uFFFD1\uFFFD",VAR_PLURAL:"\uFFFD0\uFFFD"});let p;p=" View "+f+" from "+"\uFFFD2\uFFFD"+" ";let g;g="{VAR_PLURAL, plural, =1 {1 reply} other {{INTERPOLATION} replies}}",g=zo(g,{INTERPOLATION:"\uFFFD1\uFFFD",VAR_PLURAL:"\uFFFD0\uFFFD"});let v;v="View "+g+"";let T;return T="Comments are disabled.",[["commentHighlightBlock",""],s,n,r,a,l,u,p,v,T,[1,"title-block"],[1,"me-1",3,"syndicationItems"],["ngbDropdown","",1,"d-inline-block","ms-auto","dropdown-root"],["id","dropdown-sort-comments","ngbDropdownToggle","",1,"peertube-button","tertiary-button"],["ngbDropdownMenu","","aria-labelledby","dropdown-sort-comments"],["ngbDropdownItem","",3,"click"],["hasCancel","false",3,"commentCreated","video","videoPassword","user","textValue"],["myInfiniteScroller","",1,"comment-threads",3,"nearOfBottom","dataObservable"],["id","highlighted-comment",1,"anchor"],[3,"comment","video","videoPassword","inReplyToCommentId","commentTree","highlightedComment","firstInThread","redraftValue"],[3,"wantedToReply","wantedToDelete","wantedToRedraft","wantedToApprove","threadCreated","resetReply","timestampClicked","comment","video","videoPassword","inReplyToCommentId","commentTree","highlightedComment","firstInThread","redraftValue"],[3,"comment","video","videoPassword","inReplyToCommentId","commentTree","firstInThread","redraftValue"],[3,"wantedToReply","wantedToDelete","wantedToRedraft","wantedToApprove","threadCreated","resetReply","timestampClicked","comment","video","videoPassword","inReplyToCommentId","commentTree","firstInThread","redraftValue"],[1,"view-replies","mb-2","button-unstyle"],[1,"view-replies","mb-2","button-unstyle",3,"click"],[1,"chevron-down"],["size","sm",1,"ms-1",3,"loading"]];},template:function(n,r){n&1&&(Y(0,"div")(1,"div",10)(2,"h2"),Ve(3," "),Se(4,1),Ve(5," "),W(),Be(6,"my-feed",11),Y(7,"div",12)(8,"button",13),Se(9,2),W(),Y(10,"div",14)(11,"button",15),De("click",function(){return r.handleSortChange("-createdAt");}),Se(12,3),W(),Y(13,"button",15),De("click",function(){return r.handleSortChange("-totalReplies");}),Se(14,4),W()()()(),we(15,_E,9,7)(16,bE,2,0,"div"),W()),n&2&&(Q(4),Vi(r.totalNotDeletedComments)(r.totalNotDeletedComments),$i(4),Q(2),Te("syndicationItems",r.syndicationItems),Q(9),Ae(r.commentsEnabled?15:16));},dependencies:[Og,bl,_l,yl,Im,Am,Bl,kl,Mg,Vm],styles:[`#highlighted-comment[_ngcontent-%COMP%]{margin-bottom:25px}.view-replies[_ngcontent-%COMP%]{font-weight:600;cursor:pointer;position:relative}.view-replies[_ngcontent-%COMP%] .chevron-down[_ngcontent-%COMP%]{margin-inline-start:0}.title-block[_ngcontent-%COMP%] > h2[_ngcontent-%COMP%]{display:inline-block;margin-bottom:1.5rem;font-size:1.25rem}.title-block[_ngcontent-%COMP%] my-feed[_ngcontent-%COMP%]{display:inline-block;transition:ease-in .2s opacity;width:12px;height:12px;line-height:12px;margin-inline-start:.3125rem}#dropdown-sort-comments[_ngcontent-%COMP%]{font-weight:600;text-transform:uppercase;border:0}@media screen and (max-width:450px){.view-replies[_ngcontent-%COMP%]{font-size:14px}} 9/*# sourceMappingURL=video-comments.component-7HI45XE7.css.map */`]}));let e=t;return e;})();function TE(e,t){if(e&1){let i=ct();sl(0,"div",4)(1,"div",5)(2,"span",6)(3,"strong"),Se(4,0),Ho(),Yp(5),Se(6,1),Xp(),Ho(),sl(7,"a",7),Se(8,2),Ho()(),sl(9,"button",8),Zp("click",function(){ke(i);let n=se();return Pe(n.acceptedPrivacyConcern());}),Se(10,3),Ho()();}}var jg=(()=>{let t=class t{serverService=be($r);userService=be(es);video=Ue(void 0);display=!1;serverConfig;ngOnInit(){this.serverConfig=this.serverService.getHTMLConfig(),this.userService.getAnonymousOrLoggedUser().subscribe(s=>this.updateDisplay(s));}acceptedPrivacyConcern(){Jc.setItem(t.LS_PRIVACY_CONCERN_KEY,"true"),this.display=!1;}updateDisplay(s){Cl(this.video(),this.serverConfig,s.p2pEnabled)&&!this.alreadyAccepted()&&(this.display=!0);}alreadyAccepted(){return Jc.getItem(t.LS_PRIVACY_CONCERN_KEY)==="true";}};xe(t,"LS_PRIVACY_CONCERN_KEY","video-watch-privacy-concern"),xe(t,"\u0275fac",function(n){return new(n||t)();}),xe(t,"\u0275cmp",mt({type:t,selectors:[["my-privacy-concerns"]],inputs:{video:[1,"video"]},decls:1,vars:1,consts:()=>{let s;s="Get more information";let n;n="Friendly Reminder:";let r;r=" the sharing system used for this video implies that some technical information about your system (such as a public IP address) can be sent to other peers. ";let a;a="More information";let l;return l=" OK ",[n,r,a,l,[1,"privacy-concerns"],[1,"privacy-concerns-text"],[1,"me-2"],["title",s,"target","_blank","rel","noopener noreferrer","href","https://docs.joinpeertube.org/admin/privacy-guide#peertube-p2p-privacy",1,"link-primary"],[1,"ms-2","peertube-button","primary-button",3,"click"]];},template:function(n,r){n&1&&we(0,TE,11,0,"div",4),n&2&&Ae(r.display?0:-1);},styles:[`.privacy-concerns[_ngcontent-%COMP%]{position:fixed;bottom:0;width:calc(100% - 248px - var(--x-margin-content) * 2);z-index:17500;padding:5px 15px;border-radius:5px 5px 0 0;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;background-color:#000000e6;color:#fff;margin-inline-start:var(--x-margin-content)}.privacy-concerns-text[_ngcontent-%COMP%]{margin:0 5px}a[_ngcontent-%COMP%]{color:#fff}.main-col.expanded[_nghost-%COMP%] .privacy-concerns[_ngcontent-%COMP%], .main-col.expanded [_nghost-%COMP%] .privacy-concerns[_ngcontent-%COMP%]{width:calc(100% - 50px - var(--x-margin-content) * 2)}@media screen and (max-width:500px){.privacy-concerns[_ngcontent-%COMP%]{width:100%!important;border-radius:0!important;margin-inline-start:0!important}} 10/*# sourceMappingURL=privacy-concerns.component-QG5XKKVB.css.map */`]}));let e=t;return e;})();function EE(e,t){if(e&1&&(Y(0,"my-alert",6),Se(1,0),Zi(2,"ptDate"),W()),e&2){let i=se();Q(2),Vi(yn(2,1,i.video().scheduledUpdate.updateAt,"full")),$i(1);}}function CE(e,t){if(e&1&&(Y(0,"div"),Se(1,2),Zi(2,"ptDate"),W()),e&2){let i=se(2);Q(2),Vi(yn(2,1,i.nextScheduledLiveDate(),"short")),$i(1);}}function SE(e,t){if(e&1&&(Y(0,"my-alert",6)(1,"div"),Se(2,1),W(),we(3,CE,3,4,"div"),W()),e&2){let i=se();Q(3),Ae(i.nextScheduledLiveDate()?3:-1);}}function wE(e,t){e&1&&(Y(0,"my-alert",6),Se(1,3),W());}function AE(e,t){if(e&1&&Ve(0),e&2){let i=se(2);Mi(" ",i.getAlertWarning().watchSecondary," ");}}function IE(e,t){if(e&1&&(Y(0,"my-alert",7)(1,"div",9),Ve(2),W(),we(3,AE,1,1),Ve(4),W()),e&2){let i,s=se();Q(2),ot((i=s.getAlertWarning())==null?null:i.title),Q(),Ae(s.canSeeMoreStateInfo()?3:-1),Q(),Mi(" ",s.getAlertWarning().watchMain," ");}}function kE(e,t){if(e&1&&(Y(0,"my-alert",8)(1,"div",9),Ve(2),W(),Ve(3),W()),e&2){let i,s=se();Q(2),ot((i=s.getAlertError())==null?null:i.title),Q(),Mi(" ",s.getAlertError().main," ");}}function PE(e,t){e&1&&(Y(0,"my-alert",7),Se(1,4),W());}function RE(e,t){e&1&&(Y(0,"my-alert",7),Se(1,5),W());}var Ng=(()=>{let t=class t{user=Ue(void 0);video=Ue(void 0);noPlaylistVideoFound=Ue(void 0);videoStateMessage=be(jl);nextScheduledLiveDate=sm(()=>{let s=this.video()?.liveSchedules;if(!s||s.length===0)return;let n=new Date();return n.setMinutes(n.getMinutes()-10),s.find(r=>new Date(r.startAt)>n)?.startAt;});canSeeMoreStateInfo(){return!!this.user()?.hasRight(Br.UPDATE_ANY_VIDEO);}getAlertWarning(){let s=this.video();if(s)return this.videoStateMessage.buildWarn({videoId:s.id,state:s.state.id});}getAlertError(){let s=this.video();if(s)return this.videoStateMessage.buildErr({videoId:s.id,blacklisted:s.blackl
10isted,blacklistedReason:s.blacklistedReason});}hasVideoScheduledPublication(){return this.video()?.scheduledUpdate!==void 0;}isWaitingForLive(){return this.video()?.state.id===bn.WAITING_FOR_LIVE;}isLiveEnded(){return this.video()?.state.id===bn.LIVE_ENDED;}isVideoPasswordProtected(){return this.video()?.privacy.id===Ur.PASSWORD_PROTECTED;}};xe(t,"\u0275fac",function(n){return new(n||t)();}),xe(t,"\u0275cmp",mt({type:t,selectors:[["my-video-alert"]],inputs:{user:[1,"user"],video:[1,"video"],noPlaylistVideoFound:[1,"noPlaylistVideoFound"]},decls:7,vars:7,consts:()=>{let s;s=" This video will be published on "+"\uFFFD0\uFFFD"+".\n";let n;n="This live is not currently streaming.";let r;r=" It will start on "+"\uFFFD0\uFFFD"+". ";let a;a=" This live has ended.\n";let l;l=" There are no videos available in this playlist.\n";let c;return c=" This video is password protected.\n",[s,n,r,a,l,c,["type","primary"],["type","warning"],["type","danger"],[1,"alert-title"]];},template:function(n,r){if(n&1&&(we(0,EE,3,4,"my-alert",6),we(1,SE,4,1,"my-alert",6),we(2,wE,2,0,"my-alert",6),we(3,IE,5,3,"my-alert",7),we(4,kE,4,2,"my-alert",8),we(5,PE,2,0,"my-alert",7),we(6,RE,2,0,"my-alert",7)),n&2){let a,l,c;Ae(r.hasVideoScheduledPublication()?0:-1),Q(),Ae(r.isWaitingForLive()?1:-1),Q(),Ae(r.isLiveEnded()?2:-1),Q(),Ae((a=r.getAlertWarning())!=null&&a.title?3:-1),Q(),Ae((l=r.getAlertError())!=null&&l.title?4:-1),Q(),Ae(r.noPlaylistVideoFound()?5:-1),Q(),Ae((c=r.video())!=null&&c.canBypassPassword(r.user())?6:-1);}},dependencies:[zm,Ol],styles:[`my-alert[_ngcontent-%COMP%]{text-align:center} 11/*# sourceMappingURL=video-alert.component-PTRXH2LL.css.map */`]}));let e=t;return e;})();var xE=e=>({host:e}),Vl=()=>["/search"],$l=e=>[e],LE=e=>({categoryOneOf:e,resultType:"videos"}),ME=e=>({licenceOneOf:e,resultType:"videos"}),OE=e=>({languageOneOf:e,resultType:"videos"}),DE=e=>({tagsOneOf:e,resultType:"videos"});function jE(e,t){if(e&1&&(Y(0,"div",12)(1,"span",10),Se(2,5),W(),Y(3,"a",23),Ve(4),W(),Y(5,"a",24),Be(6,"my-global-icon",25),W()()),e&2){let i=se();Q(3),Te("queryParams",st(3,xE,i.getVideoHost())),Q(),ot(i.video().originInstanceHost),Q(),Te("href",i.video().url,tl);}}function NE(e,t){if(e&1&&(Y(0,"div",13)(1,"span",10),Se(2,6),W(),Y(3,"span",11),Ve(4),Zi(5,"ptDate"),W()()),e&2){let i=se();Q(4),ot(yn(5,1,i.video().inputFileUpdatedAt,"short"));}}function FE(e,t){if(e&1&&(Y(0,"div",14)(1,"span",10),Se(2,7),W(),Y(3,"span",11),Ve(4),Zi(5,"ptDate"),W()()),e&2){let i=se();Q(4),ot(yn(5,1,i.video().originallyPublishedAt,"shortDate"));}}function BE(e,t){if(e&1&&(Y(0,"span",11),Ve(1),W()),e&2){let i=se();Q(),ot(i.video().category.label);}}function UE(e,t){if(e&1&&(Y(0,"a",16),Ve(1),W()),e&2){let i=se();Te("routerLink",Go(3,Vl))("queryParams",st(6,LE,st(4,$l,i.video().category.id))),Q(),ot(i.video().category.label);}}function VE(e,t){if(e&1&&(Y(0,"span",11),Ve(1),W()),e&2){let i=se();Q(),ot(i.video().licence.label);}}function $E(e,t){if(e&1&&(Y(0,"a",16),Ve(1),W()),e&2){let i=se();Te("routerLink",Go(3,Vl))("queryParams",st(6,ME,st(4,$l,i.video().licence.id))),Q(),ot(i.video().licence.label);}}function HE(e,t){if(e&1&&(Y(0,"span",11),Ve(1),W()),e&2){let i=se();Q(),ot(i.video().language.label);}}function zE(e,t){if(e&1&&(Y(0,"a",16),Ve(1),W()),e&2){let i=se();Te("routerLink",Go(3,Vl))("queryParams",st(6,OE,st(4,$l,i.video().language.id))),Q(),ot(i.video().language.label);}}function GE(e,t){if(e&1&&(Y(0,"a",20),Ve(1),W()),e&2){let i=t.$implicit;Te("routerLink",Go(3,Vl))("queryParams",st(6,DE,st(4,$l,i))),Q(),ot(i);}}function WE(e,t){if(e&1&&(Y(0,"div",21)(1,"span",10),Se(2,8),W(),Y(3,"span",11),Ve(4),Zi(5,"myTimeDurationFormatter"),W()()),e&2){let i=se();Q(4),ot(Wo(5,1,i.video().duration));}}function qE(e,t){if(e&1&&(Y(0,"span",11),Ve(1),W()),e&2){let i=se().$implicit;Q(),ot(i.value);}}function KE(e,t){if(e&1&&Be(0,"span",26),e&2){let i=se().$implicit;Te("innerHTML",i.safeHTML,Cs);}}function YE(e,t){if(e&1&&(Y(0,"div",22)(1,"span",10),Ve(2),W(),we(3,qE,2,1,"span",11),we(4,KE,1,1,"span",26),W()),e&2){let i=t.$implicit;Q(2),ot(i.label),Q(),Ae(i.value?3:-1),Q(),Ae(i.safeHTML?4:-1);}}var Fg=(()=>{let t=class t{hooks=be(Cn);video=Ue(void 0);pluginMetadata=[];ngOnChanges(){return Qe(this,null,function*(){this.pluginMetadata=yield this.hooks.wrapObject(this.pluginMetadata,"video-watch","filter:video-watch.video-plugin-metadata.result",{video:this.video()});});}getVideoHost(){return this.video().channel.host;}getVideoTags(){let s=this.video();return!s||Array.isArray(s.tags)===!1?[]:s.tags;}};xe(t,"\u0275fac",function(n){return new(n||t)();}),xe(t,"\u0275cmp",mt({type:t,selectors:[["my-video-attributes"]],inputs:{video:[1,"video"]},features:[Zt],decls:31,vars:11,consts:()=>{let s;s="Privacy";let n;n="Category";let r;r="Licence";let a;a="Language";let l;l="Tags";let c;
11c="Open the video on the origin instance";let u;u="Origin";let f;f="Video re-upload";let p;p="Originally published";let g;return g="Duration",[s,n,r,a,l,u,f,p,g,[1,"attribute","attribute-privacy"],[1,"attribute-label"],[1,"attribute-value"],[1,"attribute","attribute-origin"],[1,"attribute","attribute-re-uploaded-on"],[1,"attribute","attribute-originally-published-at"],[1,"attribute","attribute-category"],[1,"attribute-value",3,"routerLink","queryParams"],[1,"attribute","attribute-licence"],[1,"attribute","attribute-language"],[1,"attribute","attribute-tags"],[1,"attribute-value","pt-badge","badge-secondary","me-1",3,"routerLink","queryParams"],[1,"attribute","attribute-duration"],[1,"attribute","attribute-plugin"],["target","_blank","rel","noopener noreferrer","routerLink","/search",1,"attribute-value",3,"queryParams"],["title",c,"target","_blank","rel","noopener noreferrer",3,"href"],["iconName","external-link"],[1,"attribute-value",3,"innerHTML"]];},template:function(n,r){n&1&&(Y(0,"div",9)(1,"span",10),Se(2,0),W(),Y(3,"span",11),Ve(4),W()(),we(5,jE,7,5,"div",12),we(6,NE,6,4,"div",13),we(7,FE,6,4,"div",14),Y(8,"div",15)(9,"span",10),Se(10,1),W(),we(11,BE,2,1,"span",11),we(12,UE,2,8,"a",16),W(),Y(13,"div",17)(14,"span",10),Se(15,2),W(),we(16,VE,2,1,"span",11),we(17,$E,2,8,"a",16),W(),Y(18,"div",18)(19,"span",10),Se(20,3),W(),we(21,HE,2,1,"span",11),we(22,zE,2,8,"a",16),W(),Y(23,"div",19)(24,"span",10),Se(25,4),W(),di(26,GE,2,8,"a",20,li),W(),we(28,WE,6,3,"div",21),di(29,YE,5,3,"div",22,li)),n&2&&(Q(4),ot(r.video().privacy.label),Q(),Ae(r.video().isLocal===!1?5:-1),Q(),Ae(r.video().inputFileUpdatedAt?6:-1),Q(),Ae(r.video().originallyPublishedAt?7:-1),Q(4),Ae(r.video().category.id?-1:11),Q(),Ae(r.video().category.id?12:-1),Q(4),Ae(r.video().licence.id?-1:16),Q(),Ae(r.video().licence.id?17:-1),Q(4),Ae(r.video().language.id?-1:21),Q(),Ae(r.video().language.id?22:-1),Q(4),ci(r.getVideoTags()),Q(2),Ae(r.video().isLive?-1:28),Q(),ci(r.pluginMetadata));},dependencies:[jr,bi,Eg,Ol],styles:[`.attribute[_ngcontent-%COMP%]{font-size:13px;display:block;margin-bottom:12px}.attribute-label[_ngcontent-%COMP%]{min-width:142px;display:inline-block;color:var(--fg-300);font-weight:700;padding-inline-end:.3125rem}@media screen and (max-width:1600px){.attributes[_ngcontent-%COMP%] .attribute[_ngcontent-%COMP%]{margin-bottom:5px}} 12/*# sourceMappingURL=video-attributes.component-3NJCJEWF.css.map */`]}));let e=t;return e;})();var XE=["descriptionHTML"],QE=e=>({"ellipsis-multiline-3":e});function JE(e,t){e&1&&(cs(0),Se(1,1),us(),Be(2,"span",7));}function ZE(e,t){e&1&&(cs(0),Se(1,2),us(),Be(2,"span",8));}function eC(e,t){if(e&1){let i=ct();Y(0,"button",6),De("click",function(){ke(i);let n=se();return Pe(n.completeDescriptionShown=!n.completeDescriptionShown);}),we(1,JE,3,0)(2,ZE,3,0),W();}if(e&2){let i=se();Q(),Ae(i.completeDescriptionShown?1:2);}}var Bg=(()=>{let t=class t{markdownService=be(Al);descriptionHTML=Mt("descriptionHTML");video=Ue(void 0);timestampClicked=ht();completeDescriptionShown=!1;videoHTMLDescription="";ngOnChanges(){this.completeDescriptionShown=!1,this.setVideoDescriptionHTML();}hasEllipsis(){let s=this.descriptionHTML()?.nativeElement;return s?s.offsetHeight<s.scrollHeight:!1;}showMoreDescription(){this.completeDescriptionShown=!0;}showLessDescription(){this.completeDescriptionShown=!1;}onTimestampClicked(s){this.timestampClicked.emit(s);}setVideoDescriptionHTML(){return Qe(this,null,function*(){let s=yield this.markdownService.textMarkdownToHTML({markdown:this.video().description,withHtml:!0,withEmoji:!0});this.videoHTMLDescription=this.markdownService.processVideoTimestamps(this.video().shortUUID,s);});}};xe(t,"\u0275fac",function(n){return new(n||t)();}),xe(t,"\u0275cmp",mt({type:t,selectors:[["my-video-description"]],viewQuery:function(n,r){n&1&&vi(r.descriptionHTML,XE,5),n&2&&yi();},inputs:{video:[1,"video"]},outputs:{timestampClicked:"timestampClicked"},features:[Zt],decls:4,vars:5,consts:()=>{let s;s="Show less";let n;return n="Show more",[["descriptionHTML",""],s,n,[1,"video-info-description"],["myTimestampRouteTransformer","",1,"video-info-description-html",3,"timestampClicked","ngClass","innerHTML"],[1,"video-info-description-more","button-unstyle"],[1,"video-info-description-more","button-unstyle",3,"click"],[1,"chevron-up"],[1,"chevron-down"]];},template:function(n,r){n&1&&(Y(0,"div",3)(1,"div",4,0),De("timestampClicked",function(l){return r.onTimestampClicked(l);}),W(),we(3,eC,3,1,"button",5),W()),n&2&&(Q(),Te("ngClass",st(3,QE,!r.completeDescriptionShown))("innerHTML",r.videoHTMLDescription,Cs),Q(2),Ae(r.hasEllipsis()&&!r.completeDescriptionShown||r.completeDescriptionShown?3:-1));},dependencies:[Ul,ei],styles:[`.video-info-description[_ngcontent-%COMP%]{margin-top:20px;margin-bottom:20px;margin-inline-start:calc(1.4rem + 1.8vw)}@media(min-width:1200px){.video-info-description[_ngcontent-%COMP%]{margin-inline-start:2.75rem}}.video-info-description[_ngcontent-%COMP%]{margin-inline-end:0}.video-info-description[_ngcontent-%COMP%] .video-info-description-html[_ngcontent-%COMP%]{word-break:break-word;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.video-info-description[_ngcontent-%COMP%] .video-info-description-html[_ngcontent-%COMP%] p:last-child{margin-bottom:0}.video-info-description[_ngcontent-%COMP%] .description-loading[_ngcontent-%COMP%]{margin-inline-start:.3125rem}.video-info-description[_ngcontent-%COMP%] .video-info-description-more[_ngcontent-%COMP%]{cursor:pointer;font-weight:600;color:var(--fg-300);margin-top:1rem;font-size:.875rem}@media screen and (max-width:450px){.video-info-description[_ngcontent-%COMP%]{font-size:14px!important}} 13/*# sourceMappingURL=video-description.component-EYBC7AL2.css.map */`]}));let e=t;return e;})();var Hl=(()=>{let t=class t{videos=be(Hr);searchService=be(xl);userService=be(es);serverService=be($r);config;videoIdsHistory=new Set();constructor(){this.config=this.serverService.getHTMLConfig();}getRecommendationHistory(){return this.videoIdsHistory;}getRecommendations(s,n=new Set()){this.videoIdsHistory.add(s.id);let r=5,a=Math.min(r+1+n.size,30);return this.fetchPage(s,a).pipe(ir(l=>
13{let c=l.filter(u=>u.uuid!==s.uuid&&!n.has(u.id));return c.length===0&&l.length!==0&&(c=l.filter(u=>u.uuid!==s.uuid)),c.slice(0,r);}));}fetchPage(s,n){let r={currentPage:1,itemsPerPage:n};return this.userService.getAnonymousOrLoggedUser().pipe(gn(a=>{let l=this.videos.listVideos({skipCount:!0,videoPagination:r,sort:"-publishedAt"}).pipe(ir(u=>u.data)),c=this.config.search.searchIndex;return c.enabled===!0&&c.disableLocalSearch===!0?l:this.searchService.searchVideos({search:"",componentPagination:r,skipCount:!0,advancedSearch:new Ym({tagsOneOf:s.tags.join(","),sort:"-publishedAt",searchTarget:"local",excludeAlreadyWatched:a.id?!0:void 0})}).pipe(ir(u=>u.data),gn(u=>u.length<=1?l:$o(u)));}));}};xe(t,"\u0275fac",function(n){return new(n||t)();}),xe(t,"\u0275prov",$p({token:t,factory:t.ɵfac}));let e=t;return e;})();var tC=e=>({"display-as-row":e});function iC(e,t){if(e&1){let i=ct();Y(0,"div",5)(1,"span"),Se(2,1),W(),Y(3,"my-input-switch",6),al("ngModelChange",function(n){ke(i);let r=se(2);return ol(r.autoPlayNextVideo,n)||(r.autoPlayNextVideo=n),Pe(n);}),De("ngModelChange",function(){ke(i);let n=se(2);return Pe(n.switchAutoPlayNextVideo());}),W()();}if(e&2){let i=se(2);Te("ngbTooltip",i.autoPlayNextVideoTooltip),Q(3),rl("ngModel",i.autoPlayNextVideo);}}function sC(e,t){e&1&&(Y(0,"span",7),Se(1,2),W());}function nC(e,t){e&1&&Be(0,"hr");}function rC(e,t){if(e&1){let i=ct();we(0,sC,2,0,"span",7),Y(1,"my-video-miniature",8),De("videoBlocked",function(){ke(i);let n=se(2);return Pe(n.onVideoRemoved());})("videoRemoved",function(){ke(i);let n=se(2);return Pe(n.onVideoRemoved());})("muted",function(){ke(i);let n=se(2);return Pe(n.onVideoRemoved());}),W(),we(2,nC,1,0,"hr");}if(e&2){let i=t.$implicit,s=t.$index,n=t.$count,r=se(2);Ae(!r.playlist()&&s===0&&n!==0&&r.autoPlayNextVideo?0:-1),Q(),Te("displayOptions",r.displayOptions)("video",i)("user",r.user)("displayAsRow",r.displayAsRow()),Q(),Ae(!r.playlist()&&s===0&&n>1&&r.autoPlayNextVideo?2:-1);}}function oC(e,t){if(e&1&&(Y(0,"div",4)(1,"h2"),Se(2,0),W(),we(3,iC,4,2,"div",5),W(),di(4,rC,3,6,null,null,li)),e&2){let i=se();Q(3),Ae(i.playlist()?-1:3),Q(),ci(i.videos);}}var Ug=(()=>{let t=class t{userService=be(es);authService=be(Ss);notifier=be(_i);videoRecommendation=be(Hl);currentVideo=Ue(void 0);playlist=Ue(void 0);displayAsRow=Ue(void 0);gotRecommendations=ht();videos=[];autoPlayNextVideo;autoPlayNextVideoTooltip;displayOptions={date:!0,views:!0,by:!0,avatar:!0};user;userSub;constructor(){this.autoPlayNextVideoTooltip="When active, the next video is automatically played after the current one.";}ngOnInit(){this.userSub=this.userService.listenAnonymousUpdate().pipe(Vp(!0),gn(()=>this.userService.getAnonymousOrLoggedUser())).subscribe(s=>{this.user=s,this.autoPlayNextVideo=s.autoPlayNextVideo;});}ngOnChanges(){this.currentVideo()&&this.loadRecommendations();}ngOnDestroy(){this.userSub&&this.userSub.unsubscribe();}onVideoRemoved(){this.loadRecommendations();}switchAutoPlayNextVideo(){let s={autoPlayNextVideo:this.autoPlayNextVideo};this.authService.isLoggedIn()?this.userService.updateMyProfile(s).subscribe({next:()=>{this.authService.refreshUserInformation();},error:n=>this.notifier.handleError(n)}):this.userService.updateMyAnonymousProfile(s);}loadRecommendations(){this.videoRecommendation.getRecommendations(this.currentVideo(),this.videoRecommendation.getRecommendationHistory()).subscribe({next:s=>{this.videos=s,this.gotRecommendations.emit(this.videos);},error:s=>this.notifier.handleError(s)});}};xe(t,"\u0275fac",function(n){return new(n||t)();}),xe(t,"\u0275cmp",mt({type:t,selectors:[["my-recommended-videos"]],inputs:{currentVideo:[1,"currentVideo"],playlist:[1,"playlist"],displayAsRow:[1,"displayAsRow"]},outputs:{gotRecommendations:"gotRecommendations"},features:[Zt],decls:2,vars:4,consts:()=>{let s;s="Other videos";let n;n="Toggle autoplay next video";let r;r="AUTOPLAY";let a;return a="Next video to be played",[s,r,a,[1,"other-videos",3,"ngClass"],[1,"title-page-container"],["placement","bottom-right auto",1,"title-page-autoplay",3,"ngbTooltip"],["label",n,"inputName","autoplay-next-video",1,"small",3,"ngModelChange","ngModel"],[1,"title-page-next-video-label"],["actorImageSize","32","thumbnailSizes","201px",3,"videoBlocked","videoRemoved","muted","displayOptions","video","user","displayAsRow"]];},template:function(n,r){n&1&&(Y(0,"div",3),we(1,oC,6,1),W()),n&2&&(Te("ngClass",st(2,tC,r.displayAsRow())),Q(),Ae(r.videos.length!==0?1:-1));},dependencies:[ei,Tn,hg,Fr,Nr,fl,ag],styles:[`.title-page-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:25px;flex-wrap:wrap-reverse}.title-page-container[_ngcontent-%COMP%] > h2[_ngcontent-%COMP%]{margin-bottom:0;margin-top:0;font-size:1.25rem;margin-inline-end:.5rem!important}.title-page-autoplay[_ngcontent-%COMP%]{display:flex;width:max-content;height:max-content;align-items:center;margin-inline-start:auto}.title-page-autoplay[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{text-transform:uppercase;font-size:85%;font-weight:600;margin-inline-end:.3rem}.title-page-next-video-label[_ngcontent-%COMP%]{display:block;margin-bottom:5px;font-weight:600}hr[_ngcontent-%COMP%]{margin-top:0}my-video-miniature[_ngcontent-%COMP%]{display:block}.other-videos[_ngcontent-%COMP%]:not(.display-as-row) my-video-miniature[_ngcontent-%COMP%]{--co-miniature-max-width: 201px;min-width:var(--co-miniature-min-width);max-width:var(--co-miniature-max-width)}.display-as-row[_ngcontent-%COMP%] my-video-miniature[_ngcontent-%COMP%]{margin-bottom:20px}.display-as-row[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{display:none}@media screen and (max-width:500px){.display-as-row[_ngcontent-%COMP%] my-video-miniature[_ngcontent-%COMP%]{margin-bottom:10px}} 14/*# sourceMappingURL=recommended-videos.component-I7JFVCYZ.css.map */`]}));let e=t;return e;})();var Sn={VIOLENT_OR_REPULSIVE:1,HATEFUL_OR_ABUSIVE:2,SPAM_OR_MISLEADING:3,PRIVACY:4,RIGHTS:5,SERVER_RULES:6,THUMBNAILS:7,CAPTIONS:8};Object.assign({},{"filter:api.trending-videos.videos.list.params":!0,"filter:api.trending-videos.videos.list.result":!0,"filter:api.most-liked-videos.videos.list.params":!0,"filter:api.most-liked-videos.videos.list.result":!0,"filter:api.local-videos.videos.list.params":!0,"filter:api.local-videos.videos.list.result":!0,"filter:api.recently-added-videos.videos.list.params":!0,"filter:api.recently-added-videos.videos.list.result":!0,"filter:api.browse-videos.videos.list.params":!0,"filter:api.browse-videos.videos.list.result":!0,"filter:api.user-sub
14scriptions-videos.videos.list.params":!0,"filter:api.user-subscriptions-videos.videos.list.result":!0,"filter:api.video-watch.video.get.params":!0,"filter:api.video-watch.video.get.result":!0,"filter:api.video-watch.video-playlist-elements.get.params":!0,"filter:api.video-watch.video-playlist-elements.get.result":!0,"filter:api.video-watch.video-threads.list.params":!0,"filter:api.video-watch.video-threads.list.result":!0,"filter:api.video-watch.video-thread-replies.list.params":!0,"filter:api.video-watch.video-thread-replies.list.result":!0,"filter:api.search.videos.list.params":!0,"filter:api.search.videos.list.result":!0,"filter:api.search.video-channels.list.params":!0,"filter:api.search.video-channels.list.result":!0,"filter:api.search.video-playlists.list.params":!0,"filter:api.search.video-playlists.list.result":!0,"filter:api.signup.registration.create.params":!0,"filter:api.my-library.video-playlist-elements.list.params":!0,"filter:api.my-library.video-playlist-elements.list.result":!0,"filter:internal.video-watch.player.build-options.params":!0,"filter:internal.video-watch.player.build-options.result":!0,"filter:internal.video-watch.player.load-options.params":!0,"filter:internal.video-watch.player.load-options.result":!0,"filter:internal.common.svg-icons.get-content.params":!0,"filter:internal.common.svg-icons.get-content.result":!0,"filter:left-menu.links.create.result":!0,"filter:upload.messages.create.result":!0,"filter:login.instance-about-plugin-panels.create.result":!0,"filter:signup.instance-about-plugin-panels.create.result":!0,"filter:share.video-embed-code.build.params":!0,"filter:share.video-embed-code.build.result":!0,"filter:share.video-playlist-embed-code.build.params":!0,"filter:share.video-playlist-embed-code.build.result":!0,"filter:share.video-embed-url.build.params":!0,"filter:share.video-embed-url.build.result":!0,"filter:share.video-playlist-embed-url.build.params":!0,"filter:share.video-playlist-embed-url.build.result":!0,"filter:share.video-url.build.params":!0,"filter:share.video-url.build.result":!0,"filter:share.video-playlist-url.build.params":!0,"filter:share.video-playlist-url.build.result":!0,"filter:video-watch.video-plugin-metadata.result":!0,"filter:internal.player.videojs.options.result":!0,"filter:internal.player.p2p-media-loader.options.result":!0,"filter:admin-users-list.bulk-actions.create.result":!0,"filter:admin-video-comments-list.actions.create.result":!0,"filter:admin-video-comments-list.bulk-actions.create.result":!0,"filter:user-moderation.actions.create.result":!0,"filter:admin-abuse-list.actions.create.result":!0},{"action:application.init":!0,"action:video-watch.init":!0,"action:video-watch.video.loaded":!0,"action:video-watch.player.loaded":!0,"action:video-watch.video-threads.loaded":!0,"action:video-watch.video-thread-replies.loaded":!0,"action:video-channel-create.init":!0,"action:video-channel-update.init":!0,"action:video-channel-update.video-channel.loaded":!0,"action:video-channel-videos.init":!0,"action:video-channel-videos.video-channel.loaded":!0,"action:video-channel-videos.videos.loaded":!0,"action:video-channel-playlists.init":!0,"action:video-channel-playlists.video-channel.loaded":!0,"action:video-channel-playlists.playlists.loaded":!0,"action:video-edit.init":!0,"action:video-edit.form.updated":!0,"action:login.init":!0,"action:search.init":!0,"action:router.navigation-end":!0,"action:signup.register.init":!0,"action:admin-plugin-settings.init":!0,"action:video-upload.init":!0,"action:video-url-import.init":!0,"action:video-torrent-import.init":!0,"action:go-live.init":!0,"action:auth-user.logged-in":!0,"action:auth-user.logged-out":!0,"action:auth-user.information-loaded":!0,"action:modal.video-download.shown":!0,"action:modal.share.shown":!0,"action:embed.player.loaded":!0});Object.assign({},{"filter:api.videos.list.params":!0,"filter:api.videos.list.result":!0,"filter:api.video-playlist.videos.list.params":!0,"filter:api.video-playlist.videos.list.result":!0,"filter:api.accounts.videos.list.params":!0,"filter:api.accounts.videos.list.result":!0,"filter:api.video-channels.videos.list.params":!0,"filter:api.video-channels.videos.list.result":!0,"filter:api.user.me.videos.list.params":!0,"filter:api.user.me.videos.list.result":!0,"filter:api.overviews.videos.list.params":!0,"filter:api.overviews.videos.list.result":!0,"filter:api.user.me.subscription-vi
14deos.list.params":!0,"filter:api.user.me.subscription-videos.list.result":!0,"filter:api.search.videos.local.list.params":!0,"filter:api.search.videos.local.list.result":!0,"filter:api.search.videos.index.list.params":!0,"filter:api.search.videos.index.list.result":!0,"filter:api.search.video-channels.local.list.params":!0,"filter:api.search.video-channels.local.list.result":!0,"filter:api.search.video-channels.index.list.params":!0,"filter:api.search.video-channels.index.list.result":!0,"filter:api.search.video-playlists.local.list.params":!0,"filter:api.search.video-playlists.local.list.result":!0,"filter:api.search.video-playlists.index.list.params":!0,"filter:api.search.video-playlists.index.list.result":!0,"filter:api.video.get.result":!0,"filter:api.video-channels.list.params":!0,"filter:api.video-channels.list.result":!0,"filter:api.video-channel.get.result":!0,"filter:api.video.upload.accept.result":!0,"filter:api.live-video.create.accept.result":!0,"filter:api.video.pre-import-url.accept.result":!0,"filter:api.video.pre-import-torrent.accept.result":!0,"filter:api.video.post-import-url.accept.result":!0,"filter:api.video.post-import-torrent.accept.result":!0,"filter:api.video.update-file.accept.result":!0,"filter:api.video.user-import.accept.result":!0,"filter:api.video-thread.create.accept.result":!0,"filter:api.video-comment-reply.create.accept.result":!0,"filter:api.video.upload.video-attribute.result":!0,"filter:api.video.import-url.video-attribute.result":!0,"filter:api.video.import-torrent.video-attribute.result":!0,"filter:api.video.live.video-attribute.result":!0,"filter:api.video.user-import.video-attribute.result":!0,"filter:api.video-threads.list.params":!0,"filter:api.video-threads.list.result":!0,"filter:api.video-thread-comments.list.params":!0,"filter:api.video-thread-comments.list.result":!0,"filter:api.server.stats.get.result":!0,"filter:video.auto-blacklist.result":!0,"filter:api.user.signup.allowed.result":!0,"filter:api.user.signup.requires-approval.result":!0,"filter:api.user.request-signup.allowed.result":!0,"filter:api.download.video.allowed.result":!0,"filter:api.download.generated-video.allowed.result":!0,"filter:api.download.torrent.allowed.result":!0,"filter:html.embed.video.allowed.result":!0,"filter:html.embed.video-playlist.allowed.result":!0,"filter:html.client.json-ld.result":!0,"filter:job-queue.process.params":!0,"filter:job-queue.process.result":!0,"filter:transcoding.manual.resolutions-to-transcode.result":!0,"filter:transcoding.auto.resolutions-to-transcode.result":!0,"filter:activity-pub.remote-video-comment.create.accept.result":!0,"filter:activity-pub.activity.context.build.result":!0,"filter:activity-pub.video.json-ld.build.result":!0,"filter:feed.podcast.rss.create-custom-xmlns.result":!0,"filter:feed.podcast.channel.create-custom-tags.result":!0,"filter:feed.podcast.video-playlist.create-custom-tags.result":!0,"filter:feed.podcast.video.create-custom-tags.result":!0,"filter:api.user.me.get.result":!0,"filter:oauth.password-grant.get-user.params":!0,"filter:api.email-verification.ask-send-verify-email.body":!0,"filter:api.users.ask-reset-password.body":!0,"filter:email.subject.result":!0,"filter:email.template-path.result":!0,"filter:notifier.notification.enabled.result":!0,"filter:feed.videos.list.result":!0},{"action:application.listening":!0,"action:notifier.notification.created":!0,"action:api.video.updated":!0,"action:api.video.deleted":!0,"action:api.video.uploaded":!0,"action:api.video.viewed":!0,"action:api.video.file-updated":!0,"action:api.video-channel.created":!0,"action:api.video-channel.updated":!0,"action:api.video-channel.deleted":!0,"action:api.live-video.created":!0,"action:live.video.state.updated":!0,"action:api.video-thread.created":!0,"action:api.video-comment-reply.created":!0,"action:api.video-comment.deleted":!0,"action:api.video-caption.created":!0,"action:api.video-caption.deleted":!0,"action:api.user.blocked":!0,"action:api.user.unblocked":!0,"action:api.user.registered":!0,"action:api.user.requested-registration":!0,"action:api.user.created":!0,"action:api.user.deleted":!0,"action:api.user.updated":!0,"action:api.user.oauth2-got-token":!0,"action:api.video-playlist-element.created":!0,"action:activity-pub.remote-video.created":!0,"action:activity-pub.remote-video.updated":!0});var Ti={ALL:0,MANAGE_USERS:1,MANAGE_SERVER_FOLLOW:2,MANAGE_LOGS:3,MANAGE_DEBUG:4,MANAGE_SERVER_REDUNDANCY:5,MANAGE_ABUSES:6,MANAGE_JOBS:7,MANAGE_CONFIGURATION:8,MANAGE_INSTANCE_CUSTOM_PAGE:9,MANAGE_ACCOUNTS_BLOCKLIST:10,MANAGE_SERVERS_BLOCKLIST:11,MANAGE_VIDEO_BLACKLIST:12,MANAGE_ANY_VIDEO_CHANNEL:13,REMOVE_ANY_VIDEO:14,REMOVE_ANY_VIDEO_PLAYLIST:15,MANAGE_ANY_VIDEO_COMMENT:16,UPDATE_ANY_VIDEO:17,UPDATE_ANY_VIDEO_PLAYLIST:18,GET_ANY_LIVE:19,SEE_ALL_V
14IDEOS:20,SEE_ALL_COMMENTS:21,CHANGE_VIDEO_OWNERSHIP:22,MANAGE_PLUGINS:23,MANAGE_VIDEOS_REDUNDANCIES:24,MANAGE_VIDEO_FILES:25,RUN_VIDEO_TRANSCODING:26,MANAGE_VIDEO_IMPORTS:27,MANAGE_REGISTRATIONS:28,MANAGE_RUNNERS:29,MANAGE_USER_EXPORTS:30,MANAGE_USER_IMPORTS:31,MANAGE_INSTANCE_WATCHED_WORDS:32,MANAGE_INSTANCE_AUTO_TAGS:33},fo={ADMINISTRATOR:0,MODERATOR:1,USER:2},Gr={DEFAULT:1,HIGH_LATENCY:2,SMALL_LATENCY:3},qe={H_NOVIDEO:0,H_144P:144,H_240P:240,H_360P:360,H_480P:480,H_720P:720,H_1080P:1080,H_1440P:1440,H_4K:2160},jn={NONE:0,VIOLENT:1,EXPLICIT_SEX:2};jn.VIOLENT,jn.EXPLICIT_SEX;jn.VIOLENT,jn.EXPLICIT_SEX;Sn.VIOLENT_OR_REPULSIVE,Sn.HATEFUL_OR_ABUSIVE,Sn.SPAM_OR_MISLEADING,Sn.PRIVACY,Sn.RIGHTS,Sn.SERVER_RULES,Sn.THUMBNAILS,Sn.CAPTIONS;function aC(e){let t=[...e];for(let i=t.length-1;i>0;i--){let s=Math.floor(Math.random()*(i+1));[t[i],t[s]]=[t[s],t[i]];}return t;}function lC(e,t){let i;for(let s of e)(!i||i[t]<s[t])&&(i=s);return i;}var dC="(\\d+[h:])?(\\d+[m:])?\\d+s?";function la(e){if(!e)return 0;if(typeof e=="number")return Math.floor(e);let t=new RegExp("^((?<hours>\\d+)h)?((?<minutes>\\d+)m)?((?<seconds>\\d+)s?)?$"),i=e.match(t);if(i){let a=parseInt(i.groups.hours||"0",10),l=parseInt(i.groups.minutes||"0",10),c=parseInt(i.groups.seconds||"0",10);return a*3600+l*60+c;}let s=e.split(":").reverse(),n={0:1,1:60,2:3600},r=0;for(let a=0;a<s.length;a++){if(n[a]===void 0)return 0;let l=parseInt(s[a],10);if(isNaN(l))return 0;r+=n[a]*l;}return r;}function Nn(e){let t,i="short",s;typeof e=="number"?t=e:(t=e.seconds,i=e.format??"short",s=e.symbol);let n="";if(t===0&&i!=="full")return"0s";t=Math.round(t);let r=p=>i==="locale-string"?p.toLocaleString():p,a=s||"h",l=s||"m",c=i==="full"?"":"s",u=Math.floor(t/3600);u>=1&&u<10&&i==="full"?n="0"+u+a:u>=1?n=r(u)+a:i==="full"&&(n="00"+a),t%=3600;let f=Math.floor(t/60);return f>=1&&f<10&&i==="full"?n+="0"+f+l:f>=1?n+=r(f)+l:i==="full"&&(n+="00"+l),t%=60,t>=1&&t<10&&i==="full"?n+="0"+t+c:t>=1?n+=r(t)+c:i==="full"&&(n+="00"),n;}function md(e,t,i){return e?cC(e.filter(s=>s.aspectRatio===i),t):null;}function cC(e,t){if(!t)throw new Error("Invalid width to find appropriate image");if(!e||e.length===0)return;let i;for(let s of e)s.width>=t&&(!i||s.width<i.width)&&(i=s);return i||lC(e,"width");}function eu(e,t){let i={};for(let s of t)Object.prototype.hasOwnProperty.call(e,s)&&(i[s]=e[s]);return i;}function Vg(e,t){let i={},s=new Set(t);for(let[n,r]of Object.entries(e))s.has(n)||(i[n]=r);return i;}function uC(e){return e!=null;}function hy(e,t,i){let s=new URL(e,i);for(let n of Object.keys(t))s.searchParams.append(n,t[n]);return s.toString();}function hC(e,t){let i=new URL(e,t);return i.searchParams.forEach((s,n)=>i.searchParams.delete(n)),i.toString();}function fC(e){return"/w/"+e.shortUUID;}function ih(e,t){return(t??window.location.origin)+fC(e);}function fy(e){let{url:t}=e,i=new URLSearchParams();if(e.startTime!==void 0&&e.startTime!==null){let s=Math.floor(e.startTime);i.set("start",Nn(s));}if(e.stopTime){let s=Math.floor(e.stopTime);i.set("stop",Nn(s));}return e.subtitle&&i.set("subtitle",e.subtitle),e.loop===!0&&i.set("loop","1"),e.autoplay===!0&&i.set("autoplay","1"),e.muted===!0&&i.set("muted","1"),e.title===!1&&i.set("title","0"),e.warningTitle===!1&&i.set("warningTitle","0"),e.controls===!1&&i.set("controls","0"),e.controlBar===!1&&i.set("controlBar","0"),e.peertubeLink===!1&&i.set("peertubeLink","0"),e.p2p!==void 0&&i.set("p2p",e.p2p?"1":"0"),e.api!==void 0&&i.set("api",e.api?"1":"0"),e.version!==void 0&&i.set("v",e.version+""),pC(t,i);}function pC(e,t){let i=!1;return t.forEach(()=>{i=!0;}),i?e+"?"+t.toString():e;}var mC={"en-US":"English",ar:"\u0627\u0644\u0639\u0631\u0628\u064A\u0629","ca-ES":"Catal\xE0","cs-CZ":"\u010Ce\u0161tina","de-DE":"Deutsch","el-GR":"\u03B5\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC",eo:"Esperanto","es-ES":"Espa\xF1ol","eu-ES":"Euskara","fa-IR":"\u0641\u0627\u0631\u0633\u06CC","fi-FI":"Suomi","fr-FR":"Fran\xE7ais",gd:"G\xE0idhlig","gl-ES":"Galego",hr:"Hrvatski","hu-HU":"Magyar",is:"\xCDslenska","it-IT":"Italiano","ja-JP":"\u65E5\u672C\u8A9E",ka:"\u10E5\u10D0\u10E0\u10D7\u10E3\u10DA\u10D8 \u10D4\u10DC\u10D0",kab:"Taqbaylit","ko-KR":"\uD55C\uAD6D\uC5B4","nb-NO":"Norsk bokm\xE5l","nl-NL":"Nederlands",
14nn:"Norsk nynorsk",oc:"Occitan","pl-PL":"Polski","pt-BR":"Portugu\xEAs (Brasil)","pt-PT":"Portugu\xEAs (Portugal)",ro:"Rom\xE2n\u0103","ru-RU":"P\u0443\u0441\u0441\u043A\u0438\u0439","sk-SK":"Sloven\u010Dina",sq:"Shqip","sv-SE":"Svenska","th-TH":"\u0E44\u0E17\u0E22",tok:"Toki Pona","tr-TR":"T\xFCrk\xE7e","uk-UA":"\u0443\u043A\u0440\u0430\u0457\u0301\u043D\u0441\u044C\u043A\u0430 \u043C\u043E\u0301\u0432\u0430","vi-VN":"Ti\u1EBFng Vi\u1EC7t","zh-Hans-CN":"\u7B80\u4F53\u4E2D\u6587\uFF08\u4E2D\u56FD\uFF09","zh-Hant-TW":"\u7E41\u9AD4\u4E2D\u6587\uFF08\u53F0\u7063\uFF09"},py={"ar-001":"ar",ca:"ca-ES",cs:"cs-CZ",de:"de-DE",el:"el-GR",en:"en-US",es:"es-ES",eu:"eu-ES",fa:"fa-IR",fi:"fi-FI",fr:"fr-FR",gl:"gl-ES",hu:"hu-HU",it:"it-IT",ja:"ja-JP",ko:"ko-KR",nb:"nb-NO",nl:"nl-NL",pl:"pl-PL",pt:"pt-BR",ru:"ru-RU",sk:"sk-SK",sv:"sv-SE",th:"th-TH",tr:"tr-TR",uk:"uk-UA",vi:"vi-VN","zh-CN":"zh-Hans-CN","zh-Hans":"zh-Hans-CN","zh-Hant":"zh-Hant-TW","zh-TW":"zh-Hant-TW",zh:"zh-Hans-CN"},my=Object.keys(mC).concat(Object.keys(py));function gC(){return"en-US";}function gy(e){return Od(e)===Od(gC());}my.map(e=>"/"+e);function vC(e){return my.includes(e);}function Od(e){return e&&(py[e]||e);}function yC(e){return e.includes("-")===!1?e:e.split("-")[0];}var vy=["linkify","autolink","emphasis","link","newline","entity","list"],_C=vy.concat(["html_inline","html_block"]);vy.concat(["image"]);_C.concat(["image"]).concat(["block","inline","heading","paragraph"]);fo.USER,fo.MODERATOR,fo.ADMINISTRATOR;fo.ADMINISTRATOR,Ti.ALL,fo.MODERATOR,Ti.MANAGE_VIDEO_BLACKLIST,Ti.MANAGE_ABUSES,Ti.MANAGE_ANY_VIDEO_CHANNEL,Ti.REMOVE_ANY_VIDEO,Ti.REMOVE_ANY_VIDEO_PLAYLIST,Ti.MANAGE_ANY_VIDEO_COMMENT,Ti.UPDATE_ANY_VIDEO,Ti.SEE_ALL_V
14IDEOS,Ti.MANAGE_ACCOUNTS_BLOCKLIST,Ti.MANAGE_SERVERS_BLOCKLIST,Ti.MANAGE_USERS,Ti.SEE_ALL_COMMENTS,Ti.MANAGE_REGISTRATIONS,Ti.MANAGE_INSTANCE_WATCHED_WORDS,Ti.MANAGE_INSTANCE_AUTO_TAGS,fo.USER;qe.H_NOVIDEO,qe.H_144P,qe.H_240P,qe.H_360P,qe.H_480P,qe.H_720P,qe.H_1080P,qe.H_1440P,qe.H_4K;qe.H_NOVIDEO,qe.H_144P,qe.H_240P,qe.H_360P,qe.H_480P,qe.H_720P,qe.H_1080P,qe.H_1440P,qe.H_4K;qe.H_NOVIDEO,qe.H_144P,qe.H_240P,qe.H_360P,qe.H_480P,qe.H_720P,qe.H_1080P,qe.H_1440P,qe.H_4K;var bC=new Set([qe.H_NOVIDEO,qe.H_144P,qe.H_240P,qe.H_360P,qe.H_480P,qe.H_720P,qe.H_1080P,qe.H_1440P,qe.H_4K]),$g={3840:qe.H_4K,1920:qe.H_1080P,1280:qe.H_720P,854:qe.H_480P,640:qe.H_360P,426:qe.H_240P,256:qe.H_144P};function TC(e){let{height:t,width:i}=e;if(e.resolution===0)return"Audio only";let s=e.resolution;if(!bC.has(s)&&typeof t=="number"&&typeof i=="number"){let n=Math.max(t,i);$g[n]&&(s=$g[n]);}return`${s}p`;}function yy(e,t){return t&&t>=50?e+t:e;}new RegExp(`^(${dC})\\s`);var Pn=new Map();function Hg(e){return new Proxy(e,{set:function(t,i,s){return Object.prototype.hasOwnProperty.call(sh,i)?e[i]=s:e.setItem(i,s),!0;},get:function(t,i){if(typeof e[i]=="function")return e[i];if(Pn.has(i))return e.getItem(i);}});}var sh=class{getItem(e){let t=String(e);return Pn.has(e)?String(Pn.get(t)):null;}setItem(e,t){Pn.set(String(e),String(t));}removeItem(e){Pn.delete(e);}clear(){Pn.clear();}key(e){if(arguments.length===0)throw new TypeError('Failed to execute "key" on "Storage": 1 argument required, but only 0 present.');return Array.from(Pn.keys())[e];}get length(){return Pn.size;}},Hn,Sa;function _y(){let e=new sh(),t=new sh();Hn=Hg(e),Sa=Hg(t);}try{Hn=localStorage,Sa=sessionStorage;}catch(e){_y();}(!Hn||!Sa)&&_y();var Gs={ACCESS_TOKEN:"access_token",REFRESH_TOKEN:"refresh_token",TOKEN_TYPE:"token_type"},EC=class by{accessToken;refreshToken;tokenType;constructor(t){t&&(this.accessToken=t.accessToken,this.refreshToken=t.refreshToken,t.tokenType==="bearer"?this.tokenType="Bearer":this.tokenType=t.tokenType);}static getUserTokens(t){let i=t.getItem(Gs.ACCESS_TOKEN),s=t.getItem(Gs.REFRESH_TOKEN),n=t.getItem(Gs.TOKEN_TYPE);return!i||!s||!n?null:new by({accessToken:i,refreshToken:s,tokenType:n});}static saveToLocalStorage(t,i){t.setItem(Gs.ACCESS_TOKEN,i.accessToken),t.setItem(Gs.REFRESH_TOKEN,i.refreshToken),t.setItem(Gs.TOKEN_TYPE,i.tokenType);}static flushLocalStorage(t){t.removeItem(Gs.ACCESS_TOKEN),t.removeItem(Gs.REFRESH_TOKEN),t.removeItem(Gs.TOKEN_TYPE);}},CC=class{hooks=[];info(e,t){this.runHooks("info",e,t),t?console.log(e,t):console.log(e);}warn(e,t){this.runHooks("warn",e,t),this.clientWarn(e,t);}clientWarn(e,t){t?console.warn(e,t):console.warn(e);}error(e,t){this.runHooks("error",e,t),this.clientError(e,t);}clientError(e,t){t?console.error(e,t):console.error(e);}addHook(e,t){this.hooks.push({level:e,hook:t});}registerServerSending(e){this.addHook("warn",(t,i)=>this.sendClientLog(e,this.buildServerLogPayload("warn",t,i))),this.addHook("error",(t,i)=>this.sendClientLog(e,this.buildServerLogPayload("error",t,i)));}sendClientLog(e,t){if(!t)return;let i=new Headers({Accept:"application/json","Content-Type":"application/json"});try{let s=EC.getUserTokens(Hn);s&&i.set("Authorization",`${s.tokenType} ${s.accessToken}`);}catch(s){console.error("Cannot set tokens to client log sender.",{err:s});}fetch(e+"/api/v1/server/logs/client",{headers:i,method:"POST",body:JSON.stringify(t)}).catch(s=>console.error("Cannot send client warn/error to server.",s));}buildServerLogPayload(e,t,i){return t?{message:this.buildMessageServerLogPayload(t),userAgent:navigator.userAgent,url:window.location.href,level:e,stackTrace:this.buildStackServerLogPayload(t,i),meta:this.buildMetaServerLogPayload(i)}:null;}buildMessageServerLogPayload(e){return typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e);}buildStackServerLogPayload(e,t){if(e instanceof Error)return this.buildStack(e);if(t instanceof Error)return this.buildStack(t);if(t?.err instanceof Error)return this.buildStack(t.err);}buildMetaServerLogPayload(e){if(!e||e instanceof Error)return;let t;try{t=JSON.stringify(e,(i,s)=>{if(i!=="err")return s;});}catch(i){console.error("Cannot stringify meta.",i);}return t;}runHooks(e,t,i){for(let s of this.hooks)s.level===e&&s.hook(t,i);}buildStack(e){return`${e.message} 15${e.stack||""}`;}},nt=window.logger||new CC();window.logger=nt;var SC=(()=>{var t;return t=class{static getServerTranslations(s,n){let r=t.getLocalePath(s,n);return r?fetch(r+"/server.json").then(a=>a.json()).catch(a=>{nt.error("Cannot get server translations",a);}):Promise.resolve(void 0);}static loadLocaleInVideoJS(s,n,r){let a=t.getLocalePath(s,n);if(!a)return Promise.resolve(void 0);let l;t.videojsLocaleCache[a]?l=Promise.resolve(t.videojsLocaleCache[a]):l=fetch(a+"/player.json").then(u=>u.json()).then(u=>(t.videojsLocaleCache[a]=u,u)).catch(u=>{nt.error("Cannot get player translations",u);});let c=Od(n);return l.then(u=>r.addLanguage(yC(c),u));}static getLocalePath(s,n){let r=Od(n);if(!(!vC(r)||gy(r)))return s+"/client/locales/"+r;}},xe(t,"videojsLocaleCache",{}),t;})();function tu(e,t){t||(t=document.body);let i=document.createElement("textarea");i.value=e,i.setAttribute("readonly",""),i.style.position="absolute",i.style.left="-9999px",t.appendChild(i),i.select(),document.execCommand("copy"),t.removeChild(i);}function wC(e){return new Promise(t=>{setTimeout(()=>t(),e);});}function AC(e){let{embedUrl:t,embedTitle:i,aspectRatio:s,responsive:n=!1}=e,r=document.createElement("iframe");
15if(r.title=i,r.width=n?"100%":"560",r.height=n?"100%":"315",r.src=t,r.style.border="0",r.allow="fullscreen",r.sandbox.add("allow-same-origin","allow-scripts","allow-popups","allow-forms"),n){let a=document.createElement("div");return a.style.position="relative",a.style.paddingTop=s?(1/s*100).toFixed(2)+"%":"56.25%",r.style.position="absolute",r.style.inset="0",a.appendChild(r),a.outerHTML;}return r.outerHTML;}function IC(){return /iPad|iPhone|iPod/.test(navigator.platform)?!0:!!(navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&navigator.platform.includes("MacIntel"));}function kC(){return /^((?!chrome|android).)*safari/i.test(navigator.userAgent);}function Dd(){return /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);}var ic=ii((e,t)=>{Fl();var i;typeof window<"u"?i=window:typeof sr<"u"?i=sr:typeof self<"u"?i=self:i={},t.exports=i;}),PC=ii((e,t)=>{t.exports={};}),Ty=ii((e,t)=>{Fl();var i=typeof sr<"u"?sr:typeof window<"u"?window:{},s=PC(),n;typeof document<"u"?n=document:(n=i["__GLOBAL_DOCUMENT_CACHE@4"],n||(n=i["__GLOBAL_DOCUMENT_CACHE@4"]=s)),t.exports=n;}),RC=ii((e,t)=>{function i(){return t.exports=i=Object.assign?Object.assign.bind():function(s){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var a in r)({}).hasOwnProperty.call(r,a)&&(s[a]=r[a]);}return s;},t.exports.__esModule=!0,t.exports.default=t.exports,i.apply(null,arguments);}t.exports=i,t.exports.__esModule=!0,t.exports.default=t.exports;}),xC=ii((e,t)=>{t.exports=s;var i=Object.prototype.toString;function s(n){if(!n)return!1;var r=i.call(n);return r==="[object Function]"||typeof n=="function"&&r!=="[object RegExp]"||typeof window<"u"&&(n===window.setTimeout||n===window.alert||n===window.confirm||n===window.prompt);}}),LC=ii((e,t)=>{function i(r,a){var l=typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(l)return(l=l.call(r)).next.bind(l);if(Array.isArray(r)||(l=s(r))||a&&r&&typeof r.length=="number"){l&&(r=l);var c=0;return function(){return c>=r.length?{done:!0}:{done:!1,value:r[c++]};};}throw new TypeError(`Invalid attempt to iterate non-iterable instance. 16In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);}function s(r,a){if(r){if(typeof r=="string")return n(r,a);var l=Object.prototype.toString.call(r).slice(8,-1);if(l==="Object"&&r.constructor&&(l=r.constructor.name),l==="Map"||l==="Set")return Array.from(r);if(l==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l))return n(r,a);}}function n(r,a){(a==null||a>r.length)&&(a=r.length);for(var l=0,c=new Array(a);l<a;l++)c[l]=r[l];return c;}t.exports=function(){function r(){this.typeToInterceptorsMap_=new Map(),this.enabled_=!1;}var a=r.prototype;return a.getIsEnabled=function(){return this.enabled_;},a.enable=function(){this.enabled_=!0;},a.disable=function(){this.enabled_=!1;},a.reset=function(){this.typeToInterceptorsMap_=new Map(),this.enabled_=!1;},a.addInterceptor=function(c,u){this.typeToInterceptorsMap_.has(c)||this.typeToInterceptorsMap_.set(c,new Set());
16var f=this.typeToInterceptorsMap_.get(c);return f.has(u)?!1:(f.add(u),!0);},a.removeInterceptor=function(c,u){var f=this.typeToInterceptorsMap_.get(c);return f&&f.has(u)?(f.delete(u),!0):!1;},a.clearInterceptorsByType=function(c){return this.typeToInterceptorsMap_.get(c)?(this.typeToInterceptorsMap_.delete(c),this.typeToInterceptorsMap_.set(c,new Set()),!0):!1;},a.clear=function(){return this.typeToInterceptorsMap_.size?(this.typeToInterceptorsMap_=new Map(),!0):!1;},a.getForType=function(c){return this.typeToInterceptorsMap_.get(c)||new Set();},a.execute=function(c,u){for(var f=i(this.getForType(c)),p;!(p=f()).done;){var g=p.value;try{u=g(u);}catch(v){}}return u;},r;}();}),MC=ii((e,t)=>{var i=function(){function n(){this.maxAttempts_=1,this.delayFactor_=.1,this.fuzzFactor_=.1,this.initialDelay_=1e3,this.enabled_=!1;}var r=n.prototype;return r.getIsEnabled=function(){return this.enabled_;},r.enable=function(){this.enabled_=!0;},r.disable=function(){this.enabled_=!1;},r.reset=function(){this.maxAttempts_=1,this.delayFactor_=.1,this.fuzzFactor_=.1,this.initialDelay_=1e3,this.enabled_=!1;},r.getMaxAttempts=function(){return this.maxAttempts_;},r.setMaxAttempts=function(l){this.maxAttempts_=l;},r.getDelayFactor=function(){return this.delayFactor_;},r.setDelayFactor=function(l){this.delayFactor_=l;},r.getFuzzFactor=function(){return this.fuzzFactor_;},r.setFuzzFactor=function(l){this.fuzzFactor_=l;},r.getInitialDelay=function(){return this.initialDelay_;},r.setInitialDelay=function(l){this.initialDelay_=l;},r.createRetry=function(l){var c=l===void 0?{}:l,u=c.maxAttempts,f=c.delayFactor,p=c.fuzzFactor,g=c.initialDelay;return new s({maxAttempts:u||this.maxAttempts_,delayFactor:f||this.delayFactor_,fuzzFactor:p||this.fuzzFactor_,initialDelay:g||this.initialDelay_});},n;}(),s=function(){function n(a){this.maxAttempts_=a.maxAttempts,this.delayFactor_=a.delayFactor,this.fuzzFactor_=a.fuzzFactor,this.currentDelay_=a.initialDelay,this.currentAttempt_=1;}var r=n.prototype;return r.moveToNextAttempt=function(){this.currentAttempt_++;var l=this.currentDelay_*this.delayFactor_;this.currentDelay_=this.currentDelay_+l;},r.shouldRetry=function(){return this.currentAttempt_<this.maxAttempts_;},r.getCurrentDelay=function(){return this.currentDelay_;},r.getCurrentMinPossibleDelay=function(){return(1-this.fuzzFactor_)*this.currentDelay_;},r.getCurrentMaxPossibleDelay=function(){return(1+this.fuzzFactor_)*this.currentDelay_;},r.getCurrentFuzzedDelay=function(){var l=this.getCurrentMinPossibleDelay(),c=this.getCurrentMaxPossibleDelay();return l+Math.random()*(c-l);},n;}();t.exports=i;}),OC=ii((e,t)=>{var i=ic(),s=function(a,l){return l===void 0&&(l=!1),function(c,u,f){if(c){a(c);return;}if(u.statusCode>=400&&u.statusCode<=599){var p=f;if(l)if(i.TextDecoder){var g=n(u.headers&&u.headers["content-type"]);try{p=new TextDecoder(g).decode(f);}catch(v){}}else p=String.fromCharCode.apply(null,new Uint8Array(f));a({cause:p});return;}a(null,f);};};function n(r){return r===void 0&&(r=""),r.toLowerCase().split(";").reduce(function(a,l){var c=l.split("="),u=c[0],f=c[1];return u.trim()==="charset"?f.trim():a;},"utf-8");}t.exports=s;}),DC=ii((e,t)=>{var i=ic(),s=RC(),n=xC(),r=LC(),a=MC();p.httpHandler=OC(),p.requestInterceptorsStorage=new r(),p.responseInterceptorsStorage=new r(),p.retryManager=new a();var l=function(A){var I={};return A&&A.trim().split(` 17`).forEach(function(P){var k=P.indexOf(":"),w=P.slice(0,k).trim().toLowerCase(),R=P.slice(k+1).trim();typeof I[w]>"u"?I[w]=R:Array.isArray(I[w])?I[w].push(R):I[w]=[I[w],R];}),I;};t.exports=p,t.exports.default=p,p.XMLHttpRequest=i.XMLHttpRequest||T,p.XDomainRequest="withCredentials"in new p.XMLHttpRequest()?p.XMLHttpRequest:i.XDomainRequest,c(["get","put","post","patch","head","delete"],function(y){p[y==="delete"?"del":y]=function(A,I,P){return I=f(A,I,P),I.method=y.toUpperCase(),g(I);};});function c(y,A){for(var I=0;I<y.length;I++)A(y[I]);}function u(y){for(var A in y)if(y.hasOwnProperty(A))return!1;return!0;}function f(y,A,I){var P=y;return n(A)?(I=A,typeof y=="string"&&(P={uri:y})):P=s({},A,{uri:y}),P.callback=I,P;}function p(y,A,I){return A=f(y,A,I),g(A);}function g(y){if(typeof y.callback>"u")throw new Error("callback argument missing");if(y.requestType&&p.requestInterceptorsStorage.getIsEnabled()){var A={uri:y.uri||y.url,headers:y.headers||{},body:y.body,metadata:y.metadata||{},retry:y.retry,timeout:y.timeout},I=p.requestInterceptorsStorage.execute(y.requestType,A);y.uri=I.uri,y.headers=I.headers,y.body=I.body,y.metadata=I.metadata,y.retry=I.retry,y.timeout=I.timeout;}var P=!1,k=function(ne,he,ce){P||(P=!0,y.callback(ne,he,ce));};function w(){O.readyState===4&&!p.responseInterceptorsStorage.getIsEnabled()&&setTimeout(D,0);}function R(){var G=void 0;if(O.response?G=O.response:G=O.responseText||v(O),J)try{G=JSON.parse(G);}catch(ne){}return G;}
17function x(G){if(clearTimeout(ge),clearTimeout(y.retryTimeout),G instanceof Error||(G=new Error(""+(G||"Unknown XMLHttpRequest Error"))),G.statusCode=0,!$&&p.retryManager.getIsEnabled()&&y.retry&&y.retry.shouldRetry()){y.retryTimeout=setTimeout(function(){y.retry.moveToNextAttempt(),y.xhr=O,g(y);},y.retry.getCurrentFuzzedDelay());return;}if(y.requestType&&p.responseInterceptorsStorage.getIsEnabled()){var ne={headers:q.headers||{},body:q.body,responseUrl:O.responseURL,responseType:O.responseType},he=p.responseInterceptorsStorage.execute(y.requestType,ne);q.body=he.body,q.headers=he.headers;}return k(G,q);}function D(){if(!$){var G;clearTimeout(ge),clearTimeout(y.retryTimeout),y.useXDR&&O.status===void 0?G=200:G=O.status===1223?204:O.status;var ne=q,he=null;if(G!==0?(ne={body:R(),statusCode:G,method:F,headers:{},url:N,rawRequest:O},O.getAllResponseHeaders&&(ne.headers=l(O.getAllResponseHeaders()))):he=new Error("Internal XMLHttpRequest Error"),y.requestType&&p.responseInterceptorsStorage.getIsEnabled()){var ce={headers:ne.headers||{},body:ne.body,responseUrl:O.responseURL,responseType:O.responseType},ie=p.responseInterceptorsStorage.execute(y.requestType,ce);ne.body=ie.body,ne.headers=ie.headers;}return k(he,ne,ne.body);}}var O=y.xhr||null;O||(y.cors||y.useXDR?O=new p.XDomainRequest():O=new p.XMLHttpRequest());var V,$,N=O.url=y.uri||y.url,F=O.method=y.method||"GET",K=y.body||y.data,re=O.headers=y.headers||{},oe=!!y.sync,J=!1,ge,q={body:void 0,headers:{},statusCode:0,method:F,url:N,rawRequest:O};if("json"in y&&y.json!==!1&&(J=!0,re.accept||re.Accept||(re.Accept="application/json"),F!=="GET"&&F!=="HEAD"&&(re["content-type"]||re["Content-Type"]||(re["Content-Type"]="application/json"),K=JSON.stringify(y.json===!0?K:y.json))),O.onreadystatechange=w,O.onload=D,O.onerror=x,O.onprogress=function(){},O.onabort=function(){$=!0,clearTimeout(y.retryTimeout);},O.ontimeout=x,O.open(F,N,!oe,y.username,y.password),oe||(O.withCredentials=!!y.withCredentials),!oe&&y.timeout>0&&(ge=setTimeout(function(){if(!$){$=!0,O.abort("timeout");var G=new Error("XMLHttpRequest timeout");G.code="ETIMEDOUT",x(G);}},y.timeout)),O.setRequestHeader)for(V in re)re.hasOwnProperty(V)&&O.setRequestHeader(V,re[V]);else if(y.headers&&!u(y.headers))throw new Error("Headers cannot be set on an XDomainRequest object");return"responseType"in y&&(O.responseType=y.responseType),"beforeSend"in y&&typeof y.beforeSend=="function"&&y.beforeSend(O),O.send(K||null),O;}function v(y){try{if(y.responseType==="document")return y.responseXML;var A=y.responseXML&&y.responseXML.documentElement.nodeName==="parsererror";if(y.responseType===""&&!A)return y.responseXML;}catch(I){}return null;}function T(){}}),jC=ii((e,t)=>{var i=Ty(),s=Object.create||function(){function N(){}return function(F){if(arguments.length!==1)throw new Error("Object.create shim only accepts one parameter.");return N.prototype=F,new N();};}();function n(N,F){this.name="ParsingError",this.code=N.code,this.message=F||N.message;}n.prototype=s(Error.prototype),n.prototype.constructor=n,n.Errors={BadSignature:{code:0,message:"Malformed WebVTT signature."},BadTimeStamp:{code:1,message:"Malformed time stamp."}};function r(N){function F(re,oe,J,ge){return(re|0)*3600+(oe|0)*60+(J|0)+(ge|0)/1e3;}var K=N.match(/^(\d+):(\d{1,2})(:\d{1,2})?\.(\d{3})/);return K?K[3]?F(K[1],K[2],K[3].replace(":",""),K[4]):K[1]>59?F(K[1],K[2],0,K[4]):F(0,K[1],K[2],K[4]):null;}function a(){this.values=s(null);}a.prototype={set:function(N,F){!this.get(N)&&F!==""&&(this.values[N]=F);},get:function(N,F,K){return K?this.has(N)?this.values[N]:F[K]:this.has(N)?this.values[N]:F;},has:function(N){return N in this.values;},alt:function(N,F,K){for(var re=0;re<K.length;++re)if(F===K[re]){this.set(N,F);break;}},integer:function(N,F){/^-?\d+$/.test(F)&&this.set(N,parseInt(F,10));},percent:function(N,F){return F.match(/^([\d]{1,3})(\.[\d]*)?%$/)&&(F=parseFloat(F),F>=0&&F<=100)?(this.set(N,F),!0):!1;}};function l(N,F,K,re){var oe=re?N.split(re):[N];for(var J in oe)if(typeof oe[J]=="string"){var ge=oe[J].split(K);ge.length===2&&F(ge[0].trim(),ge[1].trim());}}function c(N,F,K){var re=N;function oe(){var q=r(N);if(q===null)throw new n(n.Errors.BadTimeStamp,"Malformed timestamp: "+re);return N=N.replace(/^[^\sa-zA-Z-]+/,""),q;}function J(q,G){var ne=new a();l(q,function(he,ce){switch(he){case"region":for(var ie=K.length-1;ie>=0;ie--)if(K[ie].id===ce){ne.set(he,K[ie].region);break;}break;case"vertical":ne.alt(he,ce,["rl","lr"]);break;case"line":var Ce=ce.split(","),Re=Ce[0];ne.integer(he,Re),ne.percent(he,Re)&&ne.set("snapToLines",!1),ne.alt(he,Re,["auto"]),Ce.length===2&&ne.alt("lineAlign",Ce[1],["start","center","end"]);break;case"position":Ce=ce.split(","),ne.percent(he,Ce[0]),Ce.length===2&&ne.alt("positionAlign",Ce[1],["start","center","end"]);break;case"size":ne.percent(he,ce);break;case"align":ne.alt(he,ce,["start","center","end","left","right"]);break;}},/:/,/\s/),G.region=ne.get("region",null),G.vertical=ne.get("vertical","");try{G.line=ne.get("line","auto");}catch(he){}G.lineAlign=ne.get("lineAlign","start"),G.snapToLines=ne.get("snapToLines",!0),G.size=ne.get("size",100);try{G.align=ne.get("align","center");}catch(he){G.align=ne.get("align","middle");}try{G.position=ne.get("position","auto");}catch(he){G.position=ne.get("position",{start:0,left:0,center:50,middle:50,end:100,right:100},G.align);}G.positionAlign=ne.get("positionAlign",{start:"start",left:"start",center:"center",middle:"center",end:"end",right:"end"},G.align);}function ge(){N=N.replace(/^\s+/,"");}if(ge(),F.startTime=oe(),ge(),N.substr(0,3)!=="-->")throw new n(n.Errors.BadTimeStamp,"Malformed time stamp (time stamps must be separated by '-->'): "+re);N=N.substr(3),ge(),F.endTime=oe(),ge(),J(N,F);}var u=i.createElement&&i.createElement("textarea"),f={c:"span",i:"i",b:"b",u:"u",ruby:"ruby",rt:"rt",v:"span",lang:"span"},p={white:"rgba(255,255,255,1)",lime:"rgba(0,255,0,1)",cyan:"rgba(0,255,255,1)",red:"rgba(255,0,0,1)",yellow:"rgba(255,255,0,1)",magenta:"rgba(255,0,255,1)",blue:"rgba(0,0,255,1)",black:"rgba(0,0,0,1)"},g={v:"title",lang:"lang"},v={rt:"ruby"};function T(N,F){function K(){if(!F)return null;function Re($e){return F=F.substr($e.length),$e;}var Ge=F.match(/^([^<]*)(<[^>
17]*>?)?/);return Re(Ge[1]?Ge[1]:Ge[2]);}function re(Re){return u.innerHTML=Re,Re=u.textContent,u.textContent="",Re;}function oe(Re,Ge){return!v[Ge.localName]||v[Ge.localName]===Re.localName;}function J(Re,Ge){var $e=f[Re];if(!$e)return null;var lt=N.document.createElement($e),ft=g[Re];return ft&&Ge&&(lt[ft]=Ge.trim()),lt;}for(var ge=N.document.createElement("div"),q=ge,G,ne=[];(G=K())!==null;){if(G[0]==="<"){if(G[1]==="/"){ne.length&&ne[ne.length-1]===G.substr(2).replace(">","")&&(ne.pop(),q=q.parentNode);continue;}var he=r(G.substr(1,G.length-2)),ce;if(he){ce=N.document.createProcessingInstruction("timestamp",he),q.appendChild(ce);continue;}var ie=G.match(/^<([^.\s/0-9>]+)(\.[^\s\\>]+)?([^>\\]+)?(\\?)>?$/);if(!ie||(ce=J(ie[1],ie[3]),!ce)||!oe(q,ce))continue;if(ie[2]){var Ce=ie[2].split(".");Ce.forEach(function(Re){var Ge=/^bg_/.test(Re),$e=Ge?Re.slice(3):Re;if(p.hasOwnProperty($e)){var lt=Ge?"background-color":"color",ft=p[$e];ce.style[lt]=ft;}}),ce.className=Ce.join(" ");}ne.push(ie[1]),q.appendChild(ce),q=ce;continue;}q.appendChild(N.document.createTextNode(re(G)));}return ge;}var y=[[1470,1470],[1472,1472],[1475,1475],[1478,1478],[1488,1514],[1520,1524],[1544,1544],[1547,1547],[1549,1549],[1563,1563],[1566,1610],[1645,1647],[1649,1749],[1765,1766],[1774,1775],[1786,1805],[1807,1808],[1810,1839],[1869,1957],[1969,1969],[1984,2026],[2036,2037],[2042,2042],[2048,2069],[2074,2074],[2084,2084],[2088,2088],[2096,2110],[2112,2136],[2142,2142],[2208,2208],[2210,2220],[8207,8207],[64285,64285],[64287,64296],[64298,64310],[64312,64316],[64318,64318],[64320,64321],[64323,64324],[64326,64449],[64467,64829],[64848,64911],[64914,64967],[65008,65020],[65136,65140],[65142,65276],[67584,67589],[67592,67592],[67594,67637],[67639,67640],[67644,67644],[67647,67669],[67671,67679],[67840,67867],[67872,67897],[67903,67903],[67968,68023],[68030,68031],[68096,68096],[68112,68115],[68117,68119],[68121,68147],[68160,68167],[68176,68184],[68192,68223],[68352,68405],[68416,68437],[68440,68466],[68472,68479],[68608,68680],[126464,126467],[126469,126495],[126497,126498],[126500,126500],[126503,126503],[126505,126514],[126516,126519],[126521,126521],[126523,126523],[126530,126530],[126535,126535],[126537,126537],[126539,126539],[126541,126543],[126545,126546],[126548,126548],[126551,126551],[126553,126553],[126555,126555],[126557,126557],[126559,126559],[126561,126562],[126564,126564],[126567,126570],[126572,126578],[126580,126583],[126585,126588],[126590,126590],[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[1114109,1114109]];function A(N){for(var F=0;F<y.length;F++){var K=y[F];if(N>=K[0]&&N<=K[1])return!0;}return!1;}function I(N){var F=[],K="",re;if(!N||!N.childNodes)return"ltr";function oe(q,G){for(var ne=G.childNodes.length-1;ne>=0;ne--)q.push(G.childNodes[ne]);}function J(q){if(!q||!q.length)return null;var G=q.pop(),ne=G.textContent||G.innerText;if(ne){var he=ne.match(/^.*(\n|\r)/);return he?(q.length=0,he[0]):ne;}if(G.tagName==="ruby")return J(q);if(G.childNodes)return oe(q,G),J(q);}for(oe(F,N);K=J(F);)for(var ge=0;ge<K.length;ge++)if(re=K.charCodeAt(ge),A(re))return"rtl";return"ltr";}function P(N){if(typeof N.line=="number"&&(N.snapToLines||N.line>=0&&N.line<=100))return N.line;if(!N.track||!N.track.textTrackList||!N.track.textTrackList.mediaElement)return-1;for(var F=N.track,K=F.textTrackList,re=0,oe=0;oe<K.length&&K[oe]!==F;oe++)K[oe].mode==="showing"&&re++;return++re*-1;}function k(){}k.prototype.applyStyles=function(N,F){F=F||this.div;for(var K in N)N.hasOwnProperty(K)&&(F.style[K]=N[K]);},k.prototype.formatStyle=function(N,F){return N===0?0:N+F;};function w(N,F,K){k.call(this),this.cue=F,this.cueDiv=T(N,F.text);var re={color:"rgba(255, 255, 255, 1)",backgroundColor:"rgba(0, 0, 0, 0.8)",position:"relative",left:0,right:0,top:0,bottom:0,display:"inline",writingMode:F.vertical===""?"horizontal-tb":F.vertical==="lr"?"vertical-lr":"vertical-rl",unicodeBidi:"plaintext"};this.applyStyles(re,this.cueDiv),this.div=N.document.createElement("div"),re={direction:I(this.cueDiv),writingMode:F.vertical===""?"horizontal-tb":F.vertical==="lr"?"vertical-lr":"vertical-rl",unicodeBidi:"plaintext",textAlign:F.align==="middle"?"center":F.align,font:K.font,whiteSpace:"pre-line",position:"absolute"},this.applyStyles(re),this.div.appendChild(this.cueDiv);var oe=0;switch(F.positionAlign){case"start":case"line-left":oe=F.position;break;case"center":oe=F.position-F.size/2;break;case"end":case"line-right":oe=F.position-F.size;break;}F.vertical===""?this.applyStyles({left:this.formatStyle(oe,"%"),width:this.formatStyle(F.size,"%")}):this.applyStyles({top:this.formatStyle(oe,"%"),height:this.formatStyle(F.size,"%")}),this.move=function(J){this.applyStyles({top:this.formatStyle(J.top,"px"),bottom:this.formatStyle(J.bottom,"px"),left:this.formatStyle(J.left,"px"),right:this.formatStyle(J.right,"px"),height:this.formatStyle(J.height,"px"),width:this.formatStyle(J.width,"px")}
17);};}w.prototype=s(k.prototype),w.prototype.constructor=w;function R(N){var F,K,re,oe;if(N.div){K=N.div.offsetHeight,re=N.div.offsetWidth,oe=N.div.offsetTop;var J=(J=N.div.childNodes)&&(J=J[0])&&J.getClientRects&&J.getClientRects();N=N.div.getBoundingClientRect(),F=J?Math.max(J[0]&&J[0].height||0,N.height/J.length):0;}this.left=N.left,this.right=N.right,this.top=N.top||oe,this.height=N.height||K,this.bottom=N.bottom||oe+(N.height||K),this.width=N.width||re,this.lineHeight=F!==void 0?F:N.lineHeight;}R.prototype.move=function(N,F){switch(F=F!==void 0?F:this.lineHeight,N){case"+x":this.left+=F,this.right+=F;break;case"-x":this.left-=F,this.right-=F;break;case"+y":this.top+=F,this.bottom+=F;break;case"-y":this.top-=F,this.bottom-=F;break;}},R.prototype.overlaps=function(N){return this.left<N.right&&this.right>N.left&&this.top<N.bottom&&this.bottom>N.top;},R.prototype.overlapsAny=function(N){for(var F=0;F<N.length;F++)if(this.overlaps(N[F]))return!0;return!1;},R.prototype.within=function(N){return this.top>=N.top&&this.bottom<=N.bottom&&this.left>=N.left&&this.right<=N.right;},R.prototype.overlapsOppositeAxis=function(N,F){switch(F){case"+x":return this.left<N.left;case"-x":return this.right>N.right;case"+y":return this.top<N.top;case"-y":return this.bottom>N.bottom;}},R.prototype.intersectPercentage=function(N){return Math.max(0,Math.min(this.right,N.right)-Math.max(this.left,N.left))*Math.max(0,Math.min(this.bottom,N.bottom)-Math.max(this.top,N.top))/(this.height*this.width);},R.prototype.toCSSCompatValues=function(N){return{top:this.top-N.top,bottom:N.bottom-this.bottom,left:this.left-N.left,right:N.right-this.right,height:this.height,width:this.width};},R.getSimpleBoxPosition=function(N){var F=N.div?N.div.offsetHeight:N.tagName?N.offsetHeight:0,K=N.div?N.div.offsetWidth:N.tagName?N.offsetWidth:0,re=N.div?N.div.offsetTop:N.tagName?N.offsetTop:0;return N=N.div?N.div.getBoundingClientRect():N.tagName?N.getBoundingClientRect():N,{left:N.left,right:N.right,top:N.top||re,height:N.height||F,bottom:N.bottom||re+(N.height||F),width:N.width||K};};function x(N,F,K,re){function oe($e,lt){for(var ft,Ne=new R($e),Xe=1,tt=0;tt<lt.length;tt++){for(;$e.overlapsOppositeAxis(K,lt[tt])||$e.within(K)&&$e.overlapsAny(re);)$e.move(lt[tt]);if($e.within(K))return $e;var bt=$e.intersectPercentage(K);Xe>bt&&(ft=new R($e),Xe=bt),$e=new R(Ne);}return ft||Ne;}var J=new R(F),ge=F.cue,q=P(ge),G=[];if(ge.snapToLines){var ne;switch(ge.vertical){case"":G=["+y","-y"],ne="height";break;case"rl":G=["+x","-x"],ne="width";break;case"lr":G=["-x","+x"],ne="width";break;}var he=J.lineHeight,ce=he*Math.round(q),ie=K[ne]+he,Ce=G[0];Math.abs(ce)>ie&&(ce=ce<0?-1:1,ce*=Math.ceil(ie/he)*he),q<0&&(ce+=ge.vertical===""?K.height:K.width,G=G.reverse()),J.move(Ce,ce);}else{var Re=J.lineHeight/K.height*100;switch(ge.lineAlign){case"center":q-=Re/2;break;case"end":q-=Re;break;}switch(ge.vertical){case"":F.applyStyles({top:F.formatStyle(q,"%")});break;case"rl":F.applyStyles({left:F.formatStyle(q,"%")});break;case"lr":F.applyStyles({right:F.formatStyle(q,"%")});break;}G=["+y","-x","+x","-y"],J=new R(F);}var Ge=oe(J,G);F.move(Ge.toCSSCompatValues(K));}function D(){}D.StringDecoder=function(){return{decode:function(N){if(!N)return"";if(typeof N!="string")throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(N));}};},D.convertCueToDOMTree=function(N,F){return!N||!F?null:T(N,F);};var O=.05,V="sans-serif",$="1.5%";D.processCues=function(N,F,K){if(!N||!F||!K)return null;for(;K.firstChild;)K.removeChild(K.firstChild);var re=N.document.createElement("div");re.style.position="absolute",re.style.left="0",re.style.right="0",re.style.top="0",re.style.bottom="0",re.style.margin=$,K.appendChild(re);function oe(ne){for(var he=0;he<ne.length;he++)if(ne[he].hasBeenReset||!ne[he].displayState)return!0;return!1;}if(!oe(F)){for(var J=0;J<F.length;J++)re.appendChild(F[J].displayState);return;}var ge=[],q=R.getSimpleBoxPosition(re),G={font:Math.round(q.height*O*100)/100+"px "+V};(function(){for(var ne,he,ce=0;ce<F.length;ce++)he=F[ce],ne=new w(N,he,G),re.appendChild(ne.div),x(N,ne,q,ge),he.displayState=ne.div,ge.push(R.getSimpleBoxPosition(ne));})();},D.Parser=function(N,F,K){K||(K=F,F={}),F||(F={}),this.window=N,this.vttjs=F,this.state="INITIAL",this.buffer="",this.decoder=K||new TextDecoder("utf8"),this.regionList=[];},D.Parser.prototype={reportOrThrowError:function(N){if(N instanceof n)this.onparsingerror&&this.onparsingerror(N);else throw N;},parse:function(N){var F=this;N&&(F.buffer+=F.decoder.decode(N,{stream:!0}));function K(){for(var he=F.buffer,ce=0;ce<he.length&&he[ce]!=="\r"&&he[ce]!==` 18`;)++ce;var ie=he.substr(0,ce);return he[ce]==="\r"&&++ce,he[ce]===` 19`&&++ce,F.buffer=he.substr(ce),ie;}function re(he){var ce=new a();if(l(he,function(Ce,Re){switch(Ce){case"id":ce.set(Ce,Re);break;case"width":ce.percent(Ce,Re);break;case"lines":ce.integer(Ce,Re);break;case"regionanchor":case"viewportanchor":var Ge=Re.split(",");if(Ge.length!==2)break;var $e=new a();if($e.percent("x",Ge[0]),$e.percent("y",Ge[1]),!$e.has("x")||!$e.has("y"))break;ce.set(Ce+"X",$e.get("x")),ce.set(Ce+"Y",$e.get("y"));break;case"scroll":ce.alt(Ce,Re,["up"]);break;}},/=/,/\s/),ce.has("id")){var ie=new(F.vttjs.VTTRegion||F.window.VTTRegion)();ie.width=ce.get("width",100),ie.lines=ce.get("lines",3),ie.regionAnchorX=ce.get("regionanchorX",0),ie.regionAnchorY=ce.get("regionanchorY",100),ie.viewportAnchorX=ce.get("viewportanchorX",0),ie.viewportAnchorY=ce.get("viewportanchorY",100),ie.scroll=ce.get("scroll",""),F.onregion&&F.onregion(ie),F.regionList.push({id:ce.get("id"),region:ie});}}function oe(he){var ce=new a();l(he,function(ie,Ce){switch(ie){case"MPEGT":ce.integer(ie+"S",Ce);break;case"LOCA":ce.set(ie+"L",r(Ce));break;}},/[^\d]:/,/,/),F.ontimestampmap&&F.ontimestampmap({MPEGTS:ce.get("MPEGTS"),LOCAL:ce.get("LOCAL")});}function J(he){he.match(/X-TIMESTAMP-MAP/)?l(he,function(ce,ie){ce==="X-TIMESTAMP-MAP"&&oe(ie);},/=/):l(he,function(ce,ie){ce==="Region"&&re(ie);},/:/);}try{var ge;if(F.state==="INITIAL"){if(!/\r\n|\n/.test(F.buffer))return this;ge=K();var q=ge.match(/^WEBVTT([ \t].*)?$/);if(!q||!q[0])throw new n(n.Errors.BadSignature);F.state="HEADER";}for(var G=!1;F.buffer;){if(!/\r\n|\n/.test(F.buffer))return this;switch(G?G=!1:ge=K(),F.state){case"HEADER":/:/.test(ge)?J(ge):ge||(F.state="ID");continue;case"NOTE":ge||(F.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(ge)){F.state="NOTE";break;}if(!ge)continue;
19F.cue=new(F.vttjs.VTTCue||F.window.VTTCue)(0,0,"");try{F.cue.align="center";}catch(he){F.cue.align="middle";}if(F.state="CUE",ge.indexOf("-->")===-1){F.cue.id=ge;continue;}case"CUE":try{c(ge,F.cue,F.regionList);}catch(he){F.reportOrThrowError(he),F.cue=null,F.state="BADCUE";continue;}F.state="CUETEXT";continue;case"CUETEXT":var ne=ge.indexOf("-->")!==-1;if(!ge||ne&&(G=!0)){F.oncue&&F.oncue(F.cue),F.cue=null,F.state="ID";continue;}F.cue.text&&(F.cue.text+=` 20`),F.cue.text+=ge.replace(/\u2028/g,` 21`).replace(/u2029/g,` 22`);continue;case"BADCUE":ge||(F.state="ID");continue;}}}catch(he){F.reportOrThrowError(he),F.state==="CUETEXT"&&F.cue&&F.oncue&&F.oncue(F.cue),F.cue=null,F.state=F.state==="INITIAL"?"BADWEBVTT":"BADCUE";}return this;},flush:function(){var N=this;try{if(N.buffer+=N.decoder.decode(),(N.cue||N.state==="HEADER")&&(N.buffer+=` 23 24`,N.parse()),N.state==="INITIAL")throw new n(n.Errors.BadSignature);}catch(F){N.reportOrThrowError(F);}return N.onflush&&N.onflush(),this;}},t.exports=D;}),NC=ii((e,t)=>{var i="auto",s={"":1,lr:1,rl:1},n={start:1,center:1,end:1,left:1,right:1,auto:1,"line-left":1,"line-right":1};function r(c){return typeof c!="string"?!1:s[c.toLowerCase()]?c.toLowerCase():!1;}function a(c){return typeof c!="string"?!1:n[c.toLowerCase()]?c.toLowerCase():!1;}function l(c,u,f){this.hasBeenReset=!1;var p="",g=!1,v=c,T=u,y=f,A=null,I="",P=!0,k="auto",w="start",R="auto",x="auto",D=100,O="center";Object.defineProperties(this,{id:{enumerable:!0,get:function(){return p;},set:function(V){p=""+V;}},pauseOnExit:{enumerable:!0,get:function(){return g;},set:function(V){g=!!V;}},startTime:{enumerable:!0,get:function(){return v;},set:function(V){if(typeof V!="number")throw new TypeError("Start time must be set to a number.");v=V,this.hasBeenReset=!0;}},endTime:{enumerable:!0,get:function(){return T;},set:function(V){if(typeof V!="number")throw new TypeError("End time must be set to a number.");T=V,this.hasBeenReset=!0;}},text:{enumerable:!0,get:function(){return y;},set:function(V){y=""+V,this.hasBeenReset=!0;}},region:{enumerable:!0,get:function(){return A;},set:function(V){A=V,this.hasBeenReset=!0;}},vertical:{enumerable:!0,get:function(){return I;},set:function(V){var $=r(V);if($===!1)throw new SyntaxError("Vertical: an invalid or illegal direction string was specified.");I=$,this.hasBeenReset=!0;}},snapToLines:{enumerable:!0,get:function(){return P;},set:function(V){P=!!V,this.hasBeenReset=!0;}},line:{enumerable:!0,get:function(){return k;},set:function(V){if(typeof V!="number"&&V!==i)throw new SyntaxError("Line: an invalid number or illegal string was specified.");k=V,this.hasBeenReset=!0;}},lineAlign:{enumerable:!0,get:function(){return w;},set:function(V){var $=a(V);$?(w=$,this.hasBeenReset=!0):console.warn("lineAlign: an invalid or illegal string was specified.");}},position:{enumerable:!0,get:function(){return R;},set:function(V){if(V<0||V>100)throw new Error("Position must be between 0 and 100.");R=V,this.hasBeenReset=!0;}},positionAlign:{enumerable:!0,get:function(){return x;},set:function(V){var $=a(V);$?(x=$,this.hasBeenReset=!0):console.warn("positionAlign: an invalid or illegal string was specified.");}},size:{enumerable:!0,get:function(){return D;},set:function(V){if(V<0||V>100)throw new Error("Size must be between 0 and 100.");D=V,this.hasBeenReset=!0;}},align:{enumerable:!0,get:function(){return O;},set:function(V){var $=a(V);if(!$)throw new SyntaxError("align: an invalid or illegal alignment string was specified.");O=$,this.hasBeenReset=!0;}}}),this.displayState=void 0;}l.prototype.getCueAsHTML=function(){return WebVTT.convertCueToDOMTree(window,this.text);},t.exports=l;}),FC=ii((e,t)=>{var i={"":!0,up:!0};function s(a){return typeof a!="string"?!1:i[a.toLowerCase()]?a.toLowerCase():!1;}function n(a){return typeof a=="number"&&a>=0&&a<=100;}function r(){var a=100,l=3,c=0,u=100,f=0,p=100,g="";Object.defineProperties(this,{width:{enumerable:!0,get:function(){return a;},set:function(v){if(!n(v))throw new Error("Width must be between 0 and 100.");a=v;}},lines:{enumerable:!0,get:function(){return l;},set:function(v){if(typeof v!="number")throw new TypeError("Lines must be set to a number.");l=v;}},regionAnchorY:{enumerable:!0,get:function(){return u;},set:function(v){if(!n(v))throw new Error("RegionAnchorX must be between 0 and 100.");u=v;}},regionAnchorX:{enumerable:!0,get:function(){return c;},set:function(v){if(!n(v))throw new Error("RegionAnchorY must be between 0 and 100.");c=v;}},viewportAnchorY:{enumerable:!0,get:function(){return p;},set:function(v){if(!n(v))throw new Error("ViewportAnchorY must be between 0 and 100.");p=v;}},viewportAnchorX:{enumerable:!0,get:function(){return f;},set:function(v){if(!n(v))throw new Error("ViewportAnchorX must be between 0 and 100.");f=v;}},scroll:{enumerable:!0,get:function(){return g;},set:function(v){var T=s(v);
24T===!1?console.warn("Scroll: an invalid or illegal string was specified."):g=T;}}});}t.exports=r;}),BC=ii((e,t)=>{var i=ic(),s=t.exports={WebVTT:jC(),VTTCue:NC(),VTTRegion:FC()};i.vttjs=s,i.WebVTT=s.WebVTT;var n=s.VTTCue,r=s.VTTRegion,a=i.VTTCue,l=i.VTTRegion;s.shim=function(){i.VTTCue=n,i.VTTRegion=r;},s.restore=function(){i.VTTCue=a,i.VTTRegion=l;},i.VTTCue||s.shim();}),X=Nl(ii((e,t)=>{var i=ic(),s=Ty(),n=DC(),r=BC();function a(d){return d&&typeof d=="object"&&"default"in d?d:{default:d};}var l=a(i),c=a(s),u=a(n),f=a(r),p="8.23.7",g={},v=function(d,o){return g[d]=g[d]||[],o&&(g[d]=g[d].concat(o)),g[d];},T=function(d,o){v(d,o);},y=function(d,o){let h=v(d).indexOf(o);return h<=-1?!1:(g[d]=g[d].slice(),g[d].splice(h,1),!0);},A=function(d,o){v(d,[].concat(o).map(h=>{let m=(..._)=>(y(d,m),h(..._));return m;}));},I={prefixed:!0},P=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror","fullscreen"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror","-webkit-full-screen"]],k=P[0],w;for(let d=0;d<P.length;d++)if(P[d][1]in c.default){w=P[d];break;}if(w){for(let d=0;d<w.length;d++)I[k[d]]=w[d];I.prefixed=w[0]!==k[0];}var R=[],x=(d,o,h)=>(m,_,S)=>{let M=o.levels[_],U=new RegExp(`^(${M})$`),H=d;if(m!=="log"&&S.unshift(m.toUpperCase()+":"),h&&(H=`%c${d}`,S.unshift(h)),S.unshift(H+":"),R){R.push([].concat(S));let je=R.length-1e3;R.splice(0,je>0?je:0);}if(!l.default.console)return;let fe=l.default.console[m];!fe&&m==="debug"&&(fe=l.default.console.info||l.default.console.log),!(!fe||!M||!U.test(m))&&fe[Array.isArray(S)?"apply":"call"](l.default.console,S);};function D(d,o=":",h=""){let m="info",_;function S(...M){_("log",m,M);}return _=x(d,S,h),S.createLogger=(M,U,H)=>{let fe=U!==void 0?U:o,je=H!==void 0?H:h;return D(`${d} ${fe} ${M}`,fe,je);},S.createNewLogger=(M,U,H)=>D(M,U,H),S.levels={all:"debug|log|warn|error",off:"",debug:"debug|log|warn|error",info:"log|warn|error",warn:"warn|error",error:"error",DEFAULT:m},S.level=M=>{if(typeof M=="string"){if(!S.levels.hasOwnProperty(M))throw new Error(`"${M}" in not a valid log level`);m=M;}return m;},S.history=()=>R?[].concat(R):[],S.history.filter=M=>(R||[]).filter(U=>new RegExp(`.*${M}.*`).test(U[0])),S.history.clear=()=>{R&&(R.length=0);},S.history.disable=()=>{R!==null&&(R.length=0,R=null);},S.history.enable=()=>{R===null&&(R=[]);},S.error=(...M)=>_("error",m,M),S.warn=(...M)=>_("warn",m,M),S.debug=(...M)=>_("debug",m,M),S;}var O=D("VIDEOJS"),V=O.createLogger,$=Object.prototype.toString,N=function(d){return re(d)?Object.keys(d):[];};function F(d,o){N(d).forEach(h=>o(d[h],h));}function K(d,o,h=0){return N(d).reduce((m,_)=>o(m,d[_],_),h);}function re(d){return!!d&&typeof d=="object";}function oe(d){return re(d)&&$.call(d)==="[object Object]"&&d.constructor===Object;}function J(...d){let o={};return d.forEach(h=>{h&&F(h,(m,_)=>{if(!oe(m)){o[_]=m;return;}oe(o[_])||(o[_]={}),o[_]=J(o[_],m);});}),o;}function ge(d={}){let o=[];for(let h in d)if(d.hasOwnProperty(h)){let m=d[h];o.push(m);}return o;}function q(d,o,h,m=!0){let _=M=>Object.defineProperty(d,o,{value:M,enumerable:!0,writable:!0}),S={configurable:!0,enumerable:!0,get(){let M=h();return _(M),M;}};return m&&(S.set=_),Object.defineProperty(d,o,S);}var G=Object.freeze({__proto__:null,each:F,reduce:K,isObject:re,isPlain:oe,merge:J,values:ge,defineLazyProperty:q}),ne=!1,he=null,ce=!1,ie,Ce=!1,Re=!1,Ge=!1,$e=!1,lt=null,ft=null,Ne=!!(l.default.cast&&l.default.cast.framework&&l.default.cast.framework.CastReceiverContext),Xe=null,tt=!1,bt=!1,Bt=!1,qt=!1,Jt=!1,Ut=!1,ys=!1,$s=!!(Ui()&&("ontouchstart"in l.default||l.default.navigator.maxTouchPoints||l.default.DocumentTouch&&l.default.document instanceof l.default.DocumentTouch)),Ci=l.default.navigator&&l.default.navigator.userAgentData;if(Ci&&Ci.platform&&Ci.brands&&(ce=Ci.platform==="Android",Re=!!Ci.brands.find(d=>d.brand==="Microsoft Edge"),Ge=!!Ci.brands.find(d=>d.brand==="Chromium"),$e=!Re&&Ge,lt=ft=(Ci.brands.find(d=>d.brand==="Chromium")||{}).version||null,bt=Ci.platform==="Windows"),!Ge){let d=l.default.navigator&&l.default.navigator.userAgent||"";ne=/iPod/i.test(d),he=function(){let o=d.match(/OS (\d+)_/i);return o&&o[1]?o[1]:null;}(),ce=/Android/i.test(d),ie=function(){let o=d.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i);if(!o)return null;let h=o[1]&&parseFloat(o[1]),m=o[2]&&parseFloat(o[2]);return h&&m?parseFloat(o[1]+"."+o[2]):h||null;}(),Ce=/Firefox/i.test(d),Re=/Edg/i.test(d),Ge=/Chrome/i.test(d)||/CriOS/i.test(d),$e=!Re&&Ge,lt=ft=function(){let o=d.match(/(Chrome|CriOS)\/(\d+)/);return o&&o[2]?parseFloat(o[2]):null;}(),Xe=function(){let o=/MSIE\s(\d+)\.\d/.exec(d),h=o&&parseFloat(o[1]);return!h&&/Trident\/7.0/i.test(d)&&/rv:11.0/.test(d)&&(h=11),h;}(),Jt=/Tizen/i.test(d),Ut=/Web0S/i.test(d),ys=Jt||Ut,tt=/Safari/i.test(d)&&!$e&&!ce&&!Re&&!ys,bt=/Windows/i.test(d),Bt=/iPad/i.test(d)||tt&&$s&&!/iPhone/i.test(d),qt=/iPhone/i.test(d)&&!Bt;}var Gt=qt||Bt||ne,dn=(tt||Gt)&&!$e,Gn=Object.freeze({__proto__:null,get IS_IPOD(){return ne;},get IOS_VERSION(){return he;},get IS_ANDROID(){return ce;},get ANDROID_VERSION(){return ie;},get IS_FIREFOX(){return Ce;},get IS_EDGE(){return Re;},get IS_CHROMIUM(){return Ge;},get IS_CHROME(){return $e;},get CHROMIUM_VERSION(){return lt;},get CHROME_VERSION(){return ft;},IS_CHROMECAST_RECEIVER:Ne,get IE_VERSION(){return Xe;},get IS_SAFARI(){return tt;},get IS_WINDOWS(){return bt;},get IS_IPAD(){return Bt;},get IS_IPHONE(){return qt;},get IS_TIZEN(){return Jt;},get IS_WEBOS(){return Ut;},get IS_SMART_TV(){return ys;},TOUCH_ENABLED:$s,IS_IOS:Gt,IS_ANY_SAFARI:dn});
24function _s(d){return typeof d=="string"&&!!d.trim();}function ki(d){if(d.indexOf(" ")>=0)throw new Error("class has illegal whitespace characters");}function Ui(){return c.default===l.default.document;}function Pi(d){return re(d)&&d.nodeType===1;}function Ri(){try{return l.default.parent!==l.default.self;}catch(d){return!0;}}function cn(d){return function(o,h){if(!_s(o))return c.default[d](null);_s(h)&&(h=c.default.querySelector(h));let m=Pi(h)?h:c.default;return m[d]&&m[d](o);};}function L(d="div",o={},h={},m){let _=c.default.createElement(d);return Object.getOwnPropertyNames(o).forEach(function(S){let M=o[S];S==="textContent"?b(_,M):(_[S]!==M||S==="tabIndex")&&(_[S]=M);}),Object.getOwnPropertyNames(h).forEach(function(S){_.setAttribute(S,h[S]);}),m&&Io(_,m),_;}function b(d,o){return typeof d.textContent>"u"?d.innerText=o:d.textContent=o,d;}function E(d,o){o.firstChild?o.insertBefore(d,o.firstChild):o.appendChild(d);}function B(d,o){return ki(o),d.classList.contains(o);}function z(d,...o){return d.classList.add(...o.reduce((h,m)=>h.concat(m.split(/\s+/)),[])),d;}function te(d,...o){return d?(d.classList.remove(...o.reduce((h,m)=>h.concat(m.split(/\s+/)),[])),d):(O.warn("removeClass was called with an element that doesn't exist"),null);}function ue(d,o,h){return typeof h=="function"&&(h=h(d,o)),typeof h!="boolean"&&(h=void 0),o.split(/\s+/).forEach(m=>d.classList.toggle(m,h)),d;}function Ke(d,o){Object.getOwnPropertyNames(o).forEach(function(h){let m=o[h];m===null||typeof m>"u"||m===!1?d.removeAttribute(h):d.setAttribute(h,m===!0?"":m);});}function dt(d){let o={},h=["autoplay","controls","playsinline","loop","muted","default","defaultMuted"];if(d&&d.attributes&&d.attributes.length>0){let m=d.attributes;for(let _=m.length-1;_>=0;_--){let S=m[_].name,M=m[_].value;h.includes(S)&&(M=M!==null),o[S]=M;}}return o;}function gt(d,o){return d.getAttribute(o);}function ut(d,o,h){d.setAttribute(o,h);}function at(d,o){d.removeAttribute(o);}function Ia(){c.default.body.focus(),c.default.onselectstart=function(){return!1;};}function ka(){c.default.onselectstart=function(){return!0;};}function un(d){if(d&&d.getBoundingClientRect&&d.parentNode){let o=d.getBoundingClientRect(),h={};return["bottom","height","left","right","top","width"].forEach(m=>{o[m]!==void 0&&(h[m]=o[m]);}),h.height||(h.height=parseFloat(os(d,"height"))),h.width||(h.width=parseFloat(os(d,"width"))),h;}}function Wn(d){if(!d||d&&!d.offsetParent)return{left:0,top:0,width:0,height:0};let o=d.offsetWidth,h=d.offsetHeight,m=0,_=0;for(;d.offsetParent&&d!==c.default[I.fullscreenElement];)m+=d.offsetLeft,_+=d.offsetTop,d=d.offsetParent;return{left:m,top:_,width:o,height:h};}function Tr(d,o){let h={x:0,y:0};if(Gt){let je=d;for(;je&&je.nodeName.toLowerCase()!=="html";){let kt=os(je,"transform");
24if(/^matrix/.test(kt)){let gi=kt.slice(7,-1).split(/,\s/).map(Number);h.x+=gi[4],h.y+=gi[5];}else if(/^matrix3d/.test(kt)){let gi=kt.slice(9,-1).split(/,\s/).map(Number);h.x+=gi[12],h.y+=gi[13];}if(je.assignedSlot&&je.assignedSlot.parentElement&&l.default.WebKitCSSMatrix){let gi=l.default.getComputedStyle(je.assignedSlot.parentElement).transform,Vo=new l.default.WebKitCSSMatrix(gi);h.x+=Vo.m41,h.y+=Vo.m42;}je=je.parentNode||je.host;}}let m={},_=Wn(o.target),S=Wn(d),M=S.width,U=S.height,H=o.offsetY-(S.top-_.top),fe=o.offsetX-(S.left-_.left);return o.changedTouches&&(fe=o.changedTouches[0].pageX-S.left,H=o.changedTouches[0].pageY+S.top,Gt&&(fe-=h.x,H-=h.y)),m.y=1-Math.max(0,Math.min(1,H/U)),m.x=Math.max(0,Math.min(1,fe/M)),m;}function Pa(d){return re(d)&&d.nodeType===3;}function qn(d){for(;d.firstChild;)d.removeChild(d.firstChild);return d;}function Ra(d){return typeof d=="function"&&(d=d()),(Array.isArray(d)?d:[d]).map(o=>{if(typeof o=="function"&&(o=o()),Pi(o)||Pa(o))return o;if(typeof o=="string"&&/\S/.test(o))return c.default.createTextNode(o);}).filter(o=>o);}function Io(d,o){return Ra(o).forEach(h=>d.appendChild(h)),d;}function xa(d,o){return Io(qn(d),o);}function Kn(d){return d.button===void 0&&d.buttons===void 0||d.button===0&&d.buttons===void 0||d.type==="mouseup"&&d.button===0&&d.buttons===0||d.type==="mousedown"&&d.button===0&&d.buttons===0?!0:!(d.button!==0||d.buttons!==1);}var bs=cn("querySelector"),La=cn("querySelectorAll");function os(d,o){if(!d||!o)return"";if(typeof l.default.getComputedStyle=="function"){let h;try{h=l.default.getComputedStyle(d);}catch(m){return"";}return h?h.getPropertyValue(o)||h[o]:"";}return"";}function ko(d){[...c.default.styleSheets].forEach(o=>{try{let h=[...o.cssRules].map(_=>_.cssText).join(""),m=c.default.createElement("style");m.textContent=h,d.document.head.appendChild(m);}catch(h){let m=c.default.createElement("link");m.rel="stylesheet",m.type=o.type,m.media=o.media.mediaText,m.href=o.href,d.document.head.appendChild(m);}});}var Ma=Object.freeze({__proto__:null,isReal:Ui,isEl:Pi,isInFrame:Ri,createEl:L,textContent:b,prependTo:E,hasClass:B,addClass:z,removeClass:te,toggleClass:ue,setAttributes:Ke,getAttributes:dt,getAttribute:gt,setAttribute:ut,removeAttribute:at,blockTextSelection:Ia,unblockTextSelection:ka,getBoundingClientRect:un,findPosition:Wn,getPointerPosition:Tr,isTextNode:Pa,emptyEl:qn,normalizeContent:Ra,appendContent:Io,insertContent:xa,isSingleLeftClick:Kn,$:bs,$$:La,computedStyle:os,copyStyleSheetsToWindow:ko}),Oa=!1,Po,hc=function(){if(Po.options.autoSetup===!1)return;let d=Array.prototype.slice.call(c.default.getElementsByTagName("video")),o=Array.prototype.slice.call(c.default.getElementsByTagName("audio")),h=Array.prototype.slice.call(c.default.getElementsByTagName("video-js")),m=d.concat(o,h);if(m&&m.length>0)for(let _=0,S=m.length;_<S;_++){let M=m[_];if(M&&M.getAttribute)M.player===void 0&&M.getAttribute("data-setup")!==null&&Po(M);else{Ro(1);break;}}else Oa||Ro(1);};function Ro(d,o){Ui()&&(o&&(Po=o),l.default.setTimeout(hc,d));}function Er(){Oa=!0,l.default.removeEventListener("load",Er);}Ui()&&(c.default.readyState==="complete"?Er():l.default.addEventListener("load",Er));var Da=function(d){let o=c.default.createElement("style");return o.className=d,o;},ja=function(d,o){d.styleSheet?d.styleSheet.cssText=o:d.textContent=o;},oi=new WeakMap(),fc=3;function xi(){return fc++;}function xo(d,o){if(!oi.has(d))return;let h=oi.get(d);h.handlers[o].length===0&&(delete h.handlers[o],d.removeEventListener?d.removeEventListener(o,h.dispatcher,!1):d.detachEvent&&d.detachEvent("on"+o,h.dispatcher)),Object.getOwnPropertyNames(h.handlers).length<=0&&(delete h.handlers,delete h.dispatcher,delete h.disabled),Object.getOwnPropertyNames(h).length===0&&oi.delete(d);}function Lo(d,o,h,m){h.forEach(function(_){d(o,_,m);});}function Cr(d){if(d.fixed_)return d;function o(){return!0;}function h(){return!1;}if(!d||!d.isPropagationStopped||!d.isImmediatePropagationStopped){let m=d||l.default.event;d={};let _=["layerX","layerY","keyLocation","path","webkitMovementX","webkitMovementY","mozPressure","mozInputSource"];for(let S in m)_.includes(S)||S==="returnValue"&&m.preventDefault||(d[S]=m[S]);if(d.target||(d.target=d.srcElement||c.default),d.relatedTarget||(d.relatedTarget=d.fromElement===d.target?d.toElement:d.fromElement),d.preventDefault=function(){m.preventDefault&&m.preventDefault(),d.returnValue=!1,m.returnValue=!1,d.defaultPrevented=!0;},d.defaultPrevented=!1,d.stopPropagation=function(){m.stopPropagation&&m.stopPropagation(),d.cancelBubble=!0,m.cancelBubble=!0,d.isPropagationStopped=o;},d.isPropagationStopped=h,d.stopImmediatePropagation=function(){m.stopImmediatePropagation&&m.stopImmediatePropagation(),d.isImmediatePropagationStopped=o,d.stopPropagation();},d.isImmediatePropagationStopped=h,d.clientX!==null&&d.clientX!==void 0){let S=c.default.documentElement,M=c.default.body;d.pageX=d.clientX+(S&&S.scrollLeft||M&&M.scrollLeft||0)-(S&&S.clientLeft||M&&M.clientLeft||0),d.pageY=d.clientY+(S&&S.scrollTop||M&&M.scrollTop||0)-(S&&S.clientTop||M&&M.clientTop||0);}
24d.which=d.charCode||d.keyCode,d.button!==null&&d.button!==void 0&&(d.button=d.button&1?0:d.button&4?1:d.button&2?2:0);}return d.fixed_=!0,d;}var hn,Yn=function(){if(typeof hn!="boolean"){hn=!1;try{let d=Object.defineProperty({},"passive",{get(){hn=!0;}});l.default.addEventListener("test",null,d),l.default.removeEventListener("test",null,d);}catch(d){}}return hn;},Na=["touchstart","touchmove"];function ai(d,o,h){if(Array.isArray(o))return Lo(ai,d,o,h);oi.has(d)||oi.set(d,{});let m=oi.get(d);if(m.handlers||(m.handlers={}),m.handlers[o]||(m.handlers[o]=[]),h.guid||(h.guid=xi()),m.handlers[o].push(h),m.dispatcher||(m.disabled=!1,m.dispatcher=function(_,S){if(m.disabled)return;_=Cr(_);let M=m.handlers[_.type];if(M){let U=M.slice(0);for(let H=0,fe=U.length;H<fe&&!_.isImmediatePropagationStopped();H++)try{U[H].call(d,_,S);}catch(je){O.error(je);}}}),m.handlers[o].length===1)if(d.addEventListener){let _=!1;Yn()&&Na.indexOf(o)>-1&&(_={passive:!0}),d.addEventListener(o,m.dispatcher,_);}else d.attachEvent&&d.attachEvent("on"+o,m.dispatcher);}function Kt(d,o,h){if(!oi.has(d))return;let m=oi.get(d);if(!m.handlers)return;if(Array.isArray(o))return Lo(Kt,d,o,h);let _=function(M,U){m.handlers[U]=[],xo(M,U);};if(o===void 0){for(let M in m.handlers)Object.prototype.hasOwnProperty.call(m.handlers||{},M)&&_(d,M);return;}let S=m.handlers[o];if(S){if(!h){_(d,o);return;}if(h.guid)for(let M=0;M<S.length;M++)S[M].guid===h.guid&&S.splice(M--,1);xo(d,o);}}function fn(d,o,h){let m=oi.has(d)?oi.get(d):{},_=d.parentNode||d.ownerDocument;if(typeof o=="string"?o={type:o,target:d}:o.target||(o.target=d),o=Cr(o),m.dispatcher&&m.dispatcher.call(d,o,h),_&&!o.isPropagationStopped()&&o.bubbles===!0)fn.call(null,_,o,h);else if(!_&&!o.defaultPrevented&&o.target&&o.target[o.type]){oi.has(o.target)||oi.set(o.target,{});let S=oi.get(o.target);o.target[o.type]&&(S.disabled=!0,typeof o.target[o.type]=="function"&&o.target[o.type](),S.disabled=!1);}return!o.defaultPrevented;}function Sr(d,o,h){if(Array.isArray(o))return Lo(Sr,d,o,h);let m=function(){Kt(d,o,m),h.apply(this,arguments);};m.guid=h.guid=h.guid||xi(),ai(d,o,m);}function Mo(d,o,h){let m=function(){Kt(d,o,m),h.apply(this,arguments);};m.guid=h.guid=h.guid||xi(),ai(d,o,m);}var Fa=Object.freeze({__proto__:null,fixEvent:Cr,on:ai,off:Kt,trigger:fn,one:Sr,any:Mo}),Li=30,vt=function(d,o,h){o.guid||(o.guid=xi());let m=o.bind(d);return m.guid=h?h+"_"+o.guid:o.guid,m;},pi=function(d,o){let h=l.default.performance.now();return function(..._){let S=l.default.performance.now();S-h>=o&&(d(..._),h=S);};},Ba=function(d,o,h,m=l.default){let _,S=()=>{m.clearTimeout(_),_=null;},M=function(){let U=this,H=arguments,fe=function(){_=null,fe=null,h||d.apply(U,H);};!_&&h&&d.apply(U,H),m.clearTimeout(_),_=m.setTimeout(fe,o);};return M.cancel=S,M;},pc=Object.freeze({__proto__:null,UPDATE_REFRESH_INTERVAL:Li,bind_:vt,throttle:pi,debounce:Ba}),Xn,Si=class{on(d,o){let h=this.addEventListener;this.addEventListener=()=>{},ai(this,d,o),this.addEventListener=h;}off(d,o){Kt(this,d,o);}one(d,o){let h=this.addEventListener;this.addEventListener=()=>{},Sr(this,d,o),this.addEventListener=h;}any(d,o){let h=this.addEventListener;this.addEventListener=()=>{},Mo(this,d,o),this.addEventListener=h;}trigger(d){let o=d.type||d;typeof d=="string"&&(d={type:o}),d=Cr(d),this.allowedEvents_[o]&&this["on"+o]&&this["on"+o](d),fn(this,d);}queueTrigger(d){Xn||(Xn=new Map());let o=d.type||d,h=Xn.get(this);h||(h=new Map(),Xn.set(this,h));let m=h.get(o);h.delete(o),l.default.clearTimeout(m);let _=l.default.setTimeout(()=>{h.delete(o),h.size===0&&(h=null,Xn.delete(this)),this.trigger(d);},0);h.set(o,_);}};Si.prototype.allowedEvents_={},Si.prototype.addEventListener=Si.prototype.on,Si.prototype.removeEventListener=Si.prototype.off,Si.prototype.dispatchEvent=Si.prototype.trigger;var wr=d=>typeof d.name=="function"?d.name():typeof d.name=="string"?d.name:d.name_?d.name_:d.constructor&&d.constructor.name?d.constructor.name:typeof d,as=d=>d instanceof Si||!!d.eventBusEl_&&["on","one","off","trigger"].every(o=>typeof d[o]=="function"),Ua=(d,o)=>{as(d)?o():(d.eventedCallbacks||(d.eventedCallbacks=[]),d.eventedCallbacks.push(o));},Ar=d=>
24typeof d=="string"&&/\S/.test(d)||Array.isArray(d)&&!!d.length,Ir=(d,o,h)=>{if(!d||!d.nodeName&&!as(d))throw new Error(`Invalid target for ${wr(o)}#${h}; must be a DOM node or evented object.`);},Va=(d,o,h)=>{if(!Ar(d))throw new Error(`Invalid event type for ${wr(o)}#${h}; must be a non-empty string or array.`);},Ee=(d,o,h)=>{if(typeof d!="function")throw new Error(`Invalid listener for ${wr(o)}#${h}; must be a function.`);},j=(d,o,h)=>{let m=o.length<3||o[0]===d||o[0]===d.eventBusEl_,_,S,M;return m?(_=d.eventBusEl_,o.length>=3&&o.shift(),[S,M]=o):(_=o[0],S=o[1],M=o[2]),Ir(_,d,h),Va(S,d,h),Ee(M,d,h),M=vt(d,M),{isTargetingSelf:m,target:_,type:S,listener:M};},_e=(d,o,h,m)=>{Ir(d,d,o),d.nodeName?Fa[o](d,h,m):d[o](h,m);},He={on(...d){let{isTargetingSelf:o,target:h,type:m,listener:_}=j(this,d,"on");if(_e(h,"on",m,_),!o){let S=()=>this.off(h,m,_);S.guid=_.guid;let M=()=>this.off("dispose",S);M.guid=_.guid,_e(this,"on","dispose",S),_e(h,"on","dispose",M);}},one(...d){let{isTargetingSelf:o,target:h,type:m,listener:_}=j(this,d,"one");if(o)_e(h,"one",m,_);else{let S=(...M)=>{this.off(h,m,S),_.apply(null,M);};S.guid=_.guid,_e(h,"one",m,S);}},any(...d){let{isTargetingSelf:o,target:h,type:m,listener:_}=j(this,d,"any");if(o)_e(h,"any",m,_);else{let S=(...M)=>{this.off(h,m,S),_.apply(null,M);};S.guid=_.guid,_e(h,"any",m,S);}},off(d,o,h){if(!d||Ar(d))Kt(this.eventBusEl_,d,o);else{let m=d,_=o;Ir(m,this,"off"),Va(_,this,"off"),Ee(h,this,"off"),h=vt(this,h),this.off("dispose",h),m.nodeName?(Kt(m,_,h),Kt(m,"dispose",h)):as(m)&&(m.off(_,h),m.off("dispose",h));}},trigger(d,o){if(Ir(this.eventBusEl_,this,"trigger"),!Ar(d&&typeof d!="string"?d.type:d))throw new Error(`Invalid event type for ${wr(this)}#trigger; must be a non-empty string or object with a type key that has a non-empty value.`);return fn(this.eventBusEl_,d,o);}};function Je(d,o={}){let{eventBusKey:h}=o;if(h){if(!d[h].nodeName)throw new Error(`The eventBusKey "${h}" does not refer to an element.`);d.eventBusEl_=d[h];}else d.eventBusEl_=L("span",{className:"vjs-event-bus"});return Object.assign(d,He),d.eventedCallbacks&&d.eventedCallbacks.forEach(m=>{m();}),d.on("dispose",()=>{d.off(),[d,d.el_,d.eventBusEl_].forEach(function(m){m&&oi.has(m)&&oi.delete(m);}),l.default.setTimeout(()=>{d.eventBusEl_=null;},0);}),d;}var Rt={state:{},setState(d){typeof d=="function"&&(d=d());let o;return F(d,(h,m)=>{this.state[m]!==h&&(o=o||{},o[m]={from:this.state[m],to:h}),this.state[m]=h;}),o&&as(this)&&this.trigger({changes:o,type:"statechanged"}),o;}};function Tt(d,o){return Object.assign(d,Rt),d.state=Object.assign({},d.state,o),typeof d.handleStateChanged=="function"&&as(d)&&d.on("statechanged",d.handleStateChanged),d;}var Yi=function(d){return typeof d!="string"?d:d.replace(/./,o=>o.toLowerCase());},Et=function(d){return typeof d!="string"?d:d.replace(/./,o=>o.toUpperCase());},rt=function(d,o){return Et(d)===Et(o);},Xi=Object.freeze({__proto__:null,toLowerCase:Yi,toTitleCase:Et,titleCaseEquals:rt}),ae=class Di{constructor(o,h,m){if(!o&&this.play?this.player_=o=this:this.player_=o,this.isDisposed_=!1,this.parentComponent_=null,this.options_=J({},this.options_),h=this.options_=J(this.options_,h),this.id_=h.id||h.el&&h.el.id,!this.id_){let _=o&&o.id&&o.id()||"no_player";this.id_=`${_}_component_${xi()}`;}this.name_=h.name||null,h.el?this.el_=h.el:h.createEl!==!1&&(this.el_=this.createEl()),h.className&&this.el_&&h.className.split(" ").forEach(_=>this.addClass(_)),["on","off","one","any","trigger"].forEach(_=>{this[_]=void 0;}),h.evented!==!1&&(Je(this,{eventBusKey:this.el_?"el_":null}),this.handleLanguagechange=this.handleLanguagechange.bind(this),this.on(this.player_,"languagechange",this.handleLanguagechange)),Tt(this,this.constructor.defaultState),this.children_=[],this.childIndex_={},this.childNameIndex_={},this.setTimeoutIds_=new Set(),this.setIntervalIds_=new Set(),this.rafIds_=new Set(),this.namedRafs_=new Map(),this.clearingTimersOnDispose_=!1,h.initChildren!==!1&&this.initChildren(),this.ready(m),h.reportTouchActivity!==!1&&this.enableTouchActivity();}dispose(o={}){if(!this.isDisposed_){if(this.readyQueue_&&(this.readyQueue_.length=0),this.trigger({type:"dispose",bubbles:!1}),this.isDisposed_=!0,this.children_)for(let h=this.children_.length-1;h>=0;h--)this.children_[h].dispose&&this.children_[h].dispose();this.children_=null,this.childIndex_=null,this.childNameIndex_=null,this.parentComponent_=null,this.el_&&(this.el_.parentNode&&(o.restoreEl?this.el_.parentNode.replaceChild(o.restoreEl,this.el_):this.el_.parentNode.removeChild(this.el_)),this.el_=null),this.player_=null;}}isDisposed(){return!!this.isDisposed_;}player(){return this.player_;}options(o){return o?(this.options_=J(this.options_,o),this.options_):this.options_;}el(){return this.el_;}createEl(o,h,m){return L(o,h,m);}localize(o,h,m=o){let _=this.player_.language&&this.player_.language(),S=this.player_.languages&&this.player_.languages(),M=S&&S[_],U=_&&_.split("-")[0],H=S&&S[U],fe=m;return M&&M[o]?fe=M[o]:H&&H[o]&&(fe=H[o]),h&&(fe=fe.replace(/\{(\d+)\}/g,function(je,kt){let gi=h[kt-1],Vo=gi;return typeof gi>"u"&&(Vo=je),Vo;})),fe;}handleLanguagechange(){}contentEl(){return this.contentEl_||this.el_;}id(){return this.id_;}name(){return this.name_;}children(){return this.children_;}getChildById(o){return this.childIndex_[o];}getChild(o){if(o)return this.childNameIndex_[o];}getDescendant(...o){o=o.reduce((m,_)=>m.concat(_),[]);let h=this;for(let m=0;m<o.length;m++)if(h=h.getChild(o[m]),!h||!h.getChild)return;return h;}setIcon(o,h=this.el()){if(!this.player_.options_.experimentalSvgIcons)return;let m="http://www.w3.org/2000/svg",_=L("span",{className:"vjs-icon-placeholder vjs-svg-icon"},{"aria-hidden":"true"}),S=c.default.createElementNS(m,"svg");S.setAttributeNS(null,"viewBox","0 0 512 512");let M=c.default.createElementNS(m,"use");return S.appendChild(M),M.setAttributeNS(null,"href",`#vjs-icon-${o}`),_.appendChild(S),this.iconIsSet_?h.replaceChild(_,h.querySelector(".vjs-icon-placeholder")):h.appendChild(_),this.iconIsSet_=!0,_;}addChild(o,h={},m=this.children_.length){let _,S;
24if(typeof o=="string"){S=Et(o);let M=h.componentClass||S;h.name=S;let U=Di.getComponent(M);if(!U)throw new Error(`Component ${M} does not exist`);if(typeof U!="function")return null;_=new U(this.player_||this,h);}else _=o;if(_.parentComponent_&&_.parentComponent_.removeChild(_),this.children_.splice(m,0,_),_.parentComponent_=this,typeof _.id=="function"&&(this.childIndex_[_.id()]=_),S=S||_.name&&Et(_.name()),S&&(this.childNameIndex_[S]=_,this.childNameIndex_[Yi(S)]=_),typeof _.el=="function"&&_.el()){let M=null;this.children_[m+1]&&(this.children_[m+1].el_?M=this.children_[m+1].el_:Pi(this.children_[m+1])&&(M=this.children_[m+1])),this.contentEl().insertBefore(_.el(),M);}return _;}removeChild(o){if(typeof o=="string"&&(o=this.getChild(o)),!o||!this.children_)return;let h=!1;for(let _=this.children_.length-1;_>=0;_--)if(this.children_[_]===o){h=!0,this.children_.splice(_,1);break;}if(!h)return;o.parentComponent_=null,this.childIndex_[o.id()]=null,this.childNameIndex_[Et(o.name())]=null,this.childNameIndex_[Yi(o.name())]=null;let m=o.el();m&&m.parentNode===this.contentEl()&&this.contentEl().removeChild(o.el());}initChildren(){let o=this.options_.children;if(o){let h=this.options_,m=M=>{let U=M.name,H=M.opts;if(h[U]!==void 0&&(H=h[U]),H===!1)return;H===!0&&(H={}),H.playerOptions=this.options_.playerOptions;let fe=this.addChild(U,H);fe&&(this[U]=fe);},_,S=Di.getComponent("Tech");Array.isArray(o)?_=o:_=Object.keys(o),_.concat(Object.keys(this.options_).filter(function(M){return!_.some(function(U){return typeof U=="string"?M===U:M===U.name;});})).map(M=>{let U,H;return typeof M=="string"?(U=M,H=o[U]||this.options_[U]||{}):(U=M.name,H=M),{name:U,opts:H};}).filter(M=>{let U=Di.getComponent(M.opts.componentClass||Et(M.name));return U&&!S.isTech(U);}).forEach(m);}}buildCSSClass(){return"";}ready(o,h=!1){if(o){if(!this.isReady_){this.readyQueue_=this.readyQueue_||[],this.readyQueue_.push(o);return;}h?o.call(this):this.setTimeout(o,1);}}triggerReady(){this.isReady_=!0,this.setTimeout(function(){let o=this.readyQueue_;this.readyQueue_=[],o&&o.length>0&&o.forEach(function(h){h.call(this);},this),this.trigger("ready");},1);}$(o,h){return bs(o,h||this.contentEl());}$$(o,h){return La(o,h||this.contentEl());}hasClass(o){return B(this.el_,o);}addClass(...o){z(this.el_,...o);}removeClass(...o){te(this.el_,...o);}toggleClass(o,h){ue(this.el_,o,h);}show(){this.removeClass("vjs-hidden");}hide(){this.addClass("vjs-hidden");}lockShowing(){this.addClass("vjs-lock-showing");}unlockShowing(){this.removeClass("vjs-lock-showing");}getAttribute(o){return gt(this.el_,o);}setAttribute(o,h){ut(this.el_,o,h);}removeAttribute(o){at(this.el_,o);}width(o,h){return this.dimension("width",o,h);}height(o,h){return this.dimension("height",o,h);}dimensions(o,h){this.width(o,!0),this.height(h);}dimension(o,h,m){if(h!==void 0){(h===null||h!==h)&&(h=0),(""+h).indexOf("%")!==-1||(""+h).indexOf("px")!==-1?this.el_.style[o]=h:h==="auto"?this.el_.style[o]="":this.el_.style[o]=h+"px",m||this.trigger("componentresize");return;}if(!this.el_)return 0;let _=this.el_.style[o],S=_.indexOf("px");
24return parseInt(S!==-1?_.slice(0,S):this.el_["offset"+Et(o)],10);}currentDimension(o){let h=0;if(o!=="width"&&o!=="height")throw new Error("currentDimension only accepts width or height value");if(h=os(this.el_,o),h=parseFloat(h),h===0||isNaN(h)){let m=`offset${Et(o)}`;h=this.el_[m];}return h;}currentDimensions(){return{width:this.currentDimension("width"),height:this.currentDimension("height")};}currentWidth(){return this.currentDimension("width");}currentHeight(){return this.currentDimension("height");}getPositions(){let o=this.el_.getBoundingClientRect();return{boundingClientRect:{x:o.x,y:o.y,width:o.width,height:o.height,top:o.top,right:o.right,bottom:o.bottom,left:o.left},center:{x:o.left+o.width/2,y:o.top+o.height/2,width:0,height:0,top:o.top+o.height/2,right:o.left+o.width/2,bottom:o.top+o.height/2,left:o.left+o.width/2}};}focus(){this.el_.focus();}blur(){this.el_.blur();}handleKeyDown(o){this.player_&&(o.key!=="Tab"&&!(this.player_.options_.playerOptions.spatialNavigation&&this.player_.options_.playerOptions.spatialNavigation.enabled)&&o.stopPropagation(),this.player_.handleKeyDown(o));}handleKeyPress(o){this.handleKeyDown(o);}emitTapEvents(){let o=0,h=null,m=10,_=200,S;this.on("touchstart",function(U){U.touches.length===1&&(h={pageX:U.touches[0].pageX,pageY:U.touches[0].pageY},o=l.default.performance.now(),S=!0);}),this.on("touchmove",function(U){if(U.touches.length>1)S=!1;else if(h){let H=U.touches[0].pageX-h.pageX,fe=U.touches[0].pageY-h.pageY;Math.sqrt(H*H+fe*fe)>m&&(S=!1);}});let M=function(){S=!1;};this.on("touchleave",M),this.on("touchcancel",M),this.on("touchend",function(U){h=null,S===!0&&l.default.performance.now()-o<_&&(U.preventDefault(),this.trigger("tap"));});}enableTouchActivity(){if(!this.player()||!this.player().reportUserActivity)return;let o=vt(this.player(),this.player().reportUserActivity),h;this.on("touchstart",function(){o(),this.clearInterval(h),h=this.setInterval(o,250);});let m=function(_){o(),this.clearInterval(h);};this.on("touchmove",o),this.on("touchend",m),this.on("touchcancel",m);}setTimeout(o,h){var m;return o=vt(this,o),this.clearTimersOnDispose_(),m=l.default.setTimeout(()=>{this.setTimeoutIds_.has(m)&&this.setTimeoutIds_.delete(m),o();},h),this.setTimeoutIds_.add(m),m;}clearTimeout(o){return this.setTimeoutIds_.has(o)&&(this.setTimeoutIds_.delete(o),l.default.clearTimeout(o)),o;}setInterval(o,h){o=vt(this,o),this.clearTimersOnDispose_();let m=l.default.setInterval(o,h);return this.setIntervalIds_.add(m),m;}clearInterval(o){return this.setIntervalIds_.has(o)&&(this.setIntervalIds_.delete(o),l.default.clearInterval(o)),o;}requestAnimationFrame(o){this.clearTimersOnDispose_();var h;return o=vt(this,o),h=l.default.requestAnimationFrame(()=>{this.rafIds_.has(h)&&this.rafIds_.delete(h),o();}),this.rafIds_.add(h),h;}requestNamedAnimationFrame(o,h){this.namedRafs_.has(o)&&this.cancelNamedAnimationFrame(o),this.clearTimersOnDispose_(),h=vt(this,h);let m=this.requestAnimationFrame(()=>{h(),this.namedRafs_.has(o)&&this.namedRafs_.delete(o);});return this.namedRafs_.set(o,m),o;}cancelNamedAnimationFrame(o){this.namedRafs_.has(o)&&(this.cancelAnimationFrame(this.namedRafs_.get(o)),this.namedRafs_.delete(o));}cancelAnimationFrame(o){return this.rafIds_.has(o)&&(this.rafIds_.delete(o),l.default.cancelAnimationFrame(o)),o;}clearTimersOnDispose_(){this.clearingTimersOnDispose_||(this.clearingTimersOnDispose_=!0,this.one("dispose",()=>{[["namedRafs_","cancelNamedAnimationFrame"],["rafIds_","cancelAnimationFrame"],["setTimeoutIds_","clearTimeout"],["setIntervalIds_","clearInterval"]].forEach(([o,h])=>{this[o].forEach((m,_)=>this[h](_));}),this.clearingTimersOnDispose_=!1;}));}getIsDisabled(){return!!this.el_.disabled;}getIsExpresslyInert(){return this.el_.inert&&!this.el_.ownerDocument.documentElement.inert;}getIsFocusable(o){return(o||this.el_).tabIndex>=0&&!(this.getIsDisabled()||this.getIsExpresslyInert());}getIsAvailableToBeFocused(o){function h(S){let M=l.default.getComputedStyle(S,null),U=M.getPropertyValue("visibility");return M.getPropertyValue("display")!=="none"&&!["hidden","collapse"].includes(U);}function m(S){return!(!h(S.parentElement)||!h(S)||S.style.opacity==="0"||l.default.getComputedStyle(S).height==="0px"||l.default.getComputedStyle(S).width==="0px");}function _(S){if(S.offsetWidth+S.offsetHeight+S.getBoundingClientRect().height+S.getBoundingClientRect().width===0)return!1;let M={x:S.getBoundingClientRect().left+S.offsetWidth/2,y:S.getBoundingClientRect().top+S.offsetHeight/2};if(M.x<0||M.x>(c.default.documentElement.clientWidth||l.default.innerWidth)||M.y<0||M.y>
24(c.default.documentElement.clientHeight||l.default.innerHeight))return!1;let U=c.default.elementFromPoint(M.x,M.y);for(;U;){if(U===S)return!0;if(U.parentNode)U=U.parentNode;else return!1;}}return o||(o=this.el()),!!(_(o)&&m(o)&&(!o.parentElement||o.tabIndex>=0));}static registerComponent(o,h){if(typeof o!="string"||!o)throw new Error(`Illegal component name, "${o}"; must be a non-empty string.`);let m=Di.getComponent("Tech"),_=m&&m.isTech(h),S=Di===h||Di.prototype.isPrototypeOf(h.prototype);if(_||!S){let U;throw _?U="techs must be registered using Tech.registerTech()":U="must be a Component subclass",new Error(`Illegal component, "${o}"; ${U}.`);}o=Et(o),Di.components_||(Di.components_={});let M=Di.getComponent("Player");if(o==="Player"&&M&&M.players){let U=M.players,H=Object.keys(U);if(U&&H.length>0){for(let fe=0;fe<H.length;fe++)if(U[H[fe]]!==null)throw new Error("Can not register Player component after player has been created.");}}return Di.components_[o]=h,Di.components_[Yi(o)]=h,h;}static getComponent(o){if(!(!o||!Di.components_))return Di.components_[o];}};ae.registerComponent("Component",ae);function Oo(d,o,h){if(typeof o!="number"||o<0||o>h)throw new Error(`Failed to execute '${d}' on 'TimeRanges': The index provided (${o}) is non-numeric or out of bounds (0-${h}).`);}function $a(d,o,h,m){return Oo(d,m,h.length-1),h[m][o];}function mc(d){let o;return d===void 0||d.length===0?o={length:0,start(){throw new Error("This TimeRanges object is empty");},end(){throw new Error("This TimeRanges object is empty");}}:o={length:d.length,start:$a.bind(null,"start",0,d),end:$a.bind(null,"end",1,d)},l.default.Symbol&&l.default.Symbol.iterator&&(o[l.default.Symbol.iterator]=()=>(d||[]).values()),o;}function ls(d,o){return Array.isArray(d)?mc(d):d===void 0||o===void 0?mc():mc([[d,o]]);}var Tf=function(d,o){d=d<0?0:d;let h=Math.floor(d%60),m=Math.floor(d/60%60),_=Math.floor(d/3600),S=Math.floor(o/60%60),M=Math.floor(o/3600);return(isNaN(d)||d===1/0)&&(_=m=h="-"),_=_>0||M>0?_+":":"",m=((_||S>=10)&&m<10?"0"+m:m)+":",h=h<10?"0"+h:h,_+m+h;},gc=Tf;function Ef(d){gc=d;}function Cf(){gc=Tf;}function Qn(d,o=d){return gc(d,o);}var fT=Object.freeze({__proto__:null,createTimeRanges:ls,createTimeRange:ls,setFormatTime:Ef,resetFormatTime:Cf,formatTime:Qn});function Sf(d,o){let h=0,m,_;if(!o)return 0;(!d||!d.length)&&(d=ls(0,0));for(let S=0;S<d.length;S++)m=d.start(S),_=d.end(S),_>o&&(_=o),h+=_-m;return h/o;}function Lt(d){if(d instanceof Lt)return d;typeof d=="number"?this.code=d:typeof d=="string"?this.message=d:re(d)&&(typeof d.code=="number"&&(this.code=d.code),Object.assign(this,d)),this.message||(this.message=Lt.defaultMessages[this.code]||"");}Lt.prototype.code=0,Lt.prototype.message="",Lt.prototype.status=null,Lt.prototype.metadata=null,Lt.errorTypes=["MEDIA_ERR_CUSTOM","MEDIA_ERR_ABORTED","MEDIA_ERR_NETWORK","MEDIA_ERR_DECODE","MEDIA_ERR_SRC_NOT_SUPPORTED","MEDIA_ERR_ENCRYPTED"],Lt.defaultMessages={1:"You aborted the media playback",2:"A network error caused the media download to fail part-way.",3:"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.",4:"The media could not be loaded, either because the server or network failed or because the format is not supported.",5:"The media is encrypted and we do not have the keys to decrypt it."},Lt.MEDIA_ERR_CUSTOM=0,Lt.prototype.MEDIA_ERR_CUSTOM=0,Lt.MEDIA_ERR_ABORTED=1,Lt.prototype.MEDIA_ERR_ABORTED=1,Lt.MEDIA_ERR_NETWORK=2,Lt.prototype.MEDIA_ERR_NETWORK=2,Lt.MEDIA_ERR_DECODE=3,Lt.prototype.MEDIA_ERR_DECODE=3,Lt.MEDIA_ERR_SRC_NOT_SUPPORTED=4,Lt.prototype.MEDIA_ERR_SRC_NOT_SUPPORTED=4,Lt.MEDIA_ERR_ENCRYPTED=5,Lt.prototype.MEDIA_ERR_ENCRYPTED=5;function Do(d){return d!=null&&typeof d.then=="function";}function Ts(d){Do(d)&&d.then(null,o=>{});}var vc=function(d){return["kind","label","language","id","inBandMetadataTrackDispatchType","mode","src"].reduce((o,h,m)=>(d[h]&&(o[h]=d[h]),o),{cues:d.cues&&Array.prototype.map.call(d.cues,function(o){return{startTime:o.startTime,endTime:o.endTime,text:o.text,id:o.id};})});},pT=function(d){let o=d.$$("track"),h=Array.prototype.map.call(o,m=>m.track);return Array.prototype.map.call(o,function(m){let _=vc(m.track);return m.src&&(_.src=m.src),_;}).concat(Array.prototype.filter.call(d.textTracks(),function(m){return h.indexOf(m)===-1;}).map(vc));},mT=function(d,o){return d.forEach(function(h){let m=o.addRemoteTextTrack(h).track;
24!h.src&&h.cues&&h.cues.forEach(_=>m.addCue(_));}),o.textTracks();},yc={textTracksToJson:pT,jsonToTextTracks:mT,trackToJson:vc},_c="vjs-modal-dialog",kr=class extends ae{constructor(d,o){super(d,o),this.handleKeyDown_=h=>this.handleKeyDown(h),this.close_=h=>this.close(h),this.opened_=this.hasBeenOpened_=this.hasBeenFilled_=!1,this.closeable(!this.options_.uncloseable),this.content(this.options_.content),this.contentEl_=L("div",{className:`${_c}-content`},{role:"document"}),this.descEl_=L("p",{className:`${_c}-description vjs-control-text`,id:this.el().getAttribute("aria-describedby")}),b(this.descEl_,this.description()),this.el_.appendChild(this.descEl_),this.el_.appendChild(this.contentEl_);}createEl(){return super.createEl("div",{className:this.buildCSSClass(),tabIndex:-1},{"aria-describedby":`${this.id()}_description`,"aria-hidden":"true","aria-label":this.label(),role:"dialog","aria-live":"polite"});}dispose(){this.contentEl_=null,this.descEl_=null,this.previouslyActiveEl_=null,super.dispose();}buildCSSClass(){return`${_c} vjs-hidden ${super.buildCSSClass()}`;}label(){return this.localize(this.options_.label||"Modal Window");}description(){let d=this.options_.description||this.localize("This is a modal window.");return this.closeable()&&(d+=" "+this.localize("This modal can be closed by pressing the Escape key or activating the close button.")),d;}open(){if(this.opened_){this.options_.fillAlways&&this.fill();return;}let d=this.player();this.trigger("beforemodalopen"),this.opened_=!0,(this.options_.fillAlways||!this.hasBeenOpened_&&!this.hasBeenFilled_)&&this.fill(),this.wasPlaying_=!d.paused(),this.options_.pauseOnOpen&&this.wasPlaying_&&d.pause(),this.on("keydown",this.handleKeyDown_),this.hadControls_=d.controls(),d.controls(!1),this.show(),this.conditionalFocus_(),this.el().setAttribute("aria-hidden","false"),this.trigger("modalopen"),this.hasBeenOpened_=!0;}opened(d){return typeof d=="boolean"&&this[d?"open":"close"](),this.opened_;}close(){if(!this.opened_)return;let d=this.player();this.trigger("beforemodalclose"),this.opened_=!1,this.wasPlaying_&&this.options_.pauseOnOpen&&d.play(),this.off("keydown",this.handleKeyDown_),this.hadControls_&&d.controls(!0),this.hide(),this.el().setAttribute("aria-hidden","true"),this.trigger({type:"modalclose",bubbles:!0}),this.conditionalBlur_(),this.options_.temporary&&this.dispose();}closeable(d){if(typeof d=="boolean"){let o=this.closeable_=!!d,h=this.getChild("closeButton");if(o&&!h){let m=this.contentEl_;this.contentEl_=this.el_,h=this.addChild("closeButton",{controlText:"Close Modal Dialog"}),this.contentEl_=m,this.on(h,"close",this.close_);}!o&&h&&(this.off(h,"close",this.close_),this.removeChild(h),h.dispose());}return this.closeable_;}fill(){this.fillWith(this.content());}fillWith(d){let o=this.contentEl(),h=o.parentNode,m=o.nextSibling;this.trigger("beforemodalfill"),this.hasBeenFilled_=!0,h.removeChild(o),this.empty(),xa(o,d),this.trigger("modalfill"),m?h.insertBefore(o,m):h.appendChild(o);let _=this.getChild("closeButton");_&&h.appendChild(_.el_),this.trigger("aftermodalfill");}empty(){this.trigger("beforemodalempty"),qn(this.contentEl()),this.trigger("modalempty");}content(d){return typeof d<"u"&&(this.content_=d),this.content_;}conditionalFocus_(){let d=c.default.activeElement,o=this.player_.el_;this.previouslyActiveEl_=null,(o.contains(d)||o===d)&&(this.previouslyActiveEl_=d,this.focus());}conditionalBlur_(){this.previouslyActiveEl_&&(this.previouslyActiveEl_.focus(),this.previouslyActiveEl_=null);}
24handleKeyDown(d){if(this.trigger({type:"modalKeydown",originalEvent:d,target:this,bubbles:!0}),d.stopPropagation(),d.key==="Escape"&&this.closeable()){d.preventDefault(),this.close();return;}if(d.key!=="Tab")return;let o=this.focusableEls_(),h=this.el_.querySelector(":focus"),m;for(let _=0;_<o.length;_++)if(h===o[_]){m=_;break;}c.default.activeElement===this.el_&&(m=0),d.shiftKey&&m===0?(o[o.length-1].focus(),d.preventDefault()):!d.shiftKey&&m===o.length-1&&(o[0].focus(),d.preventDefault());}focusableEls_(){let d=this.el_.querySelectorAll("*");return Array.prototype.filter.call(d,o=>(o instanceof l.default.HTMLAnchorElement||o instanceof l.default.HTMLAreaElement)&&o.hasAttribute("href")||(o instanceof l.default.HTMLInputElement||o instanceof l.default.HTMLSelectElement||o instanceof l.default.HTMLTextAreaElement||o instanceof l.default.HTMLButtonElement)&&!o.hasAttribute("disabled")||o instanceof l.default.HTMLIFrameElement||o instanceof l.default.HTMLObjectElement||o instanceof l.default.HTMLEmbedElement||o.hasAttribute("tabindex")&&o.getAttribute("tabindex")!==-1||o.hasAttribute("contenteditable"));}};kr.prototype.options_={pauseOnOpen:!0,temporary:!0},ae.registerComponent("ModalDialog",kr);var Jn=class extends Si{constructor(d=[]){super(),this.tracks_=[];for(let o=0;o<d.length;o++)this.addTrack(d[o]);}get length(){return this.tracks_.length;}addTrack(d){let o=this.tracks_.length;""+o in this||Object.defineProperty(this,o,{get(){return this.tracks_[o];}}),this.tracks_.indexOf(d)===-1&&(this.tracks_.push(d),this.trigger({track:d,type:"addtrack",target:this})),d.labelchange_=()=>{this.trigger({track:d,type:"labelchange",target:this});},as(d)&&d.addEventListener("labelchange",d.labelchange_);}removeTrack(d){let o;for(let h=0,m=this.length;h<m;h++)if(this[h]===d){o=this[h],o.off&&o.off(),this.tracks_.splice(h,1);break;}o&&this.trigger({track:o,type:"removetrack",target:this});}getTrackById(d){let o=null;for(let h=0,m=this.length;h<m;h++){let _=this[h];if(_.id===d){o=_;break;}}return o;}};Jn.prototype.allowedEvents_={change:"change",addtrack:"addtrack",removetrack:"removetrack",labelchange:"labelchange"};for(let d in Jn.prototype.allowedEvents_)Jn.prototype["on"+d]=null;var bc=function(d,o){for(let h=0;h<d.length;h++)!Object.keys(d[h]).length||o.id===d[h].id||(d[h].enabled=!1);},wf=class extends Jn{constructor(d=[]){for(let o=d.length-1;o>=0;o--)if(d[o].enabled){bc(d,d[o]);break;}super(d),this.changing_=!1;}addTrack(d){d.enabled&&bc(this,d),super.addTrack(d),d.addEventListener&&(d.enabledChange_=()=>{this.changing_||(this.changing_=!0,bc(this,d),this.changing_=!1,this.trigger("change"));},d.addEventListener("enabledchange",d.enabledChange_));}removeTrack(d){super.removeTrack(d),d.removeEventListener&&d.enabledChange_&&(d.removeEventListener("enabledchange",d.enabledChange_),d.enabledChange_=null);}},Tc=function(d,o){for(let h=0;h<d.length;h++)!Object.keys(d[h]).length||o.id===d[h].id||(d[h].selected=!1);},Af=class extends Jn{constructor(d=[]){for(let o=d.length-1;o>=0;o--)if(d[o].selected){Tc(d,d[o]);break;}super(d),this.changing_=!1,Object.defineProperty(this,"selectedIndex",{get(){for(let o=0;o<this.length;o++)if(this[o].selected)return o;return-1;},set(){}});}addTrack(d){d.selected&&Tc(this,d),super.addTrack(d),d.addEventListener&&(d.selectedChange_=()=>{this.changing_||(this.changing_=!0,Tc(this,d),this.changing_=!1,this.trigger("change"));},d.addEventListener("selectedchange",d.selectedChange_));}removeTrack(d){super.removeTrack(d),d.removeEventListener&&d.selectedChange_&&(d.removeEventListener("selectedchange",d.selectedChange_),d.selectedChange_=null);}},Ec=class extends Jn{addTrack(d){super.addTrack(d),this.queueChange_||(this.queueChange_=()=>this.queueTrigger("change")),this.triggerSelectedlanguagechange||(this.triggerSelectedlanguagechange_=()=>this.trigger("selectedlanguagechange")),d.addEventListener("modechange",this.queueChange_),["metadata","chapters"].indexOf(d.kind)===-1&&d.addEventListener("modechange",this.triggerSelectedlanguagechange_);}removeTrack(d){super.removeTrack(d),d.removeEventListener&&(this.queueChange_&&d.removeEventListener("modechange",this.queueChange_),this.selectedlanguagechange_&&d.removeEventListener("modechange",this.triggerSelectedlanguagechange_));}toJSON(){return this.tracks_.map(d=>d.toJSON());}},gT=class{constructor(d=[]){this.trackElements_=[],Object.defineProperty(this,"length",{get(){return this.trackElements_.length;}});for(let o=0,h=d.length;o<h;o++)this.addTrackElement_(d[o]);}addTrackElement_(d){let o=this.trackElements_.length;""+o in this||Object.defineProperty(this,o,{get(){return this.trackElements_[o];}}
24),this.trackElements_.indexOf(d)===-1&&this.trackElements_.push(d);}getTrackElementByTrack_(d){let o;for(let h=0,m=this.trackElements_.length;h<m;h++)if(d===this.trackElements_[h].track){o=this.trackElements_[h];break;}return o;}removeTrackElement_(d){for(let o=0,h=this.trackElements_.length;o<h;o++)if(d===this.trackElements_[o]){this.trackElements_[o].track&&typeof this.trackElements_[o].track.off=="function"&&this.trackElements_[o].track.off(),typeof this.trackElements_[o].off=="function"&&this.trackElements_[o].off(),this.trackElements_.splice(o,1);break;}}},If=class Ey{constructor(o){Ey.prototype.setCues_.call(this,o),Object.defineProperty(this,"length",{get(){return this.length_;}});}setCues_(o){let h=this.length||0,m=0,_=o.length;this.cues_=o,this.length_=o.length;let S=function(M){""+M in this||Object.defineProperty(this,""+M,{get(){return this.cues_[M];}});};if(h<_)for(m=h;m<_;m++)S.call(this,m);}getCueById(o){let h=null;for(let m=0,_=this.length;m<_;m++){let S=this[m];if(S.id===o){h=S;break;}}return h;}},vT={alternative:"alternative",captions:"captions",main:"main",sign:"sign",subtitles:"subtitles",commentary:"commentary"},yT={alternative:"alternative",descriptions:"descriptions",main:"main","main-desc":"main-desc",translation:"translation",commentary:"commentary"},_T={subtitles:"subtitles",captions:"captions",descriptions:"descriptions",chapters:"chapters",metadata:"metadata"},kf={disabled:"disabled",hidden:"hidden",showing:"showing"},Cc=class extends Si{constructor(d={}){super();let o={id:d.id||"vjs_track_"+xi(),kind:d.kind||"",language:d.language||""},h=d.label||"";for(let m in o)Object.defineProperty(this,m,{get(){return o[m];},set(){}});Object.defineProperty(this,"label",{get(){return h;},set(m){m!==h&&(h=m,this.trigger("labelchange"));}});}},Sc=function(d){return new URL(d,c.default.baseURI);},Pf=function(d){return new URL(d,c.default.baseURI).href;},wc=function(d){if(typeof d=="string"){let o=d.split("?")[0].replace(/\/+$/,"").match(/\.([^.\/]+)$/);return o?o[1].toLowerCase():"";}return"";},Ha=function(d,o=l.default.location){return Sc(d).origin!==o.origin;},bT=Object.freeze({__proto__:null,parseUrl:Sc,getAbsoluteURL:Pf,getFileExtension:wc,isCrossOrigin:Ha}),Rf=function(d,o){let h=new l.default.WebVTT.Parser(l.default,l.default.vttjs,l.default.WebVTT.StringDecoder()),m=[];h.oncue=function(_){o.addCue(_);},h.onparsingerror=function(_){m.push(_);},h.onflush=function(){o.trigger({type:"loadeddata",target:o});},h.parse(d),m.length>0&&(l.default.console&&l.default.console.groupCollapsed&&l.default.console.groupCollapsed(`Text Track parsing errors for ${o.src}`),m.forEach(_=>O.error(_)),l.default.console&&l.default.console.groupEnd&&l.default.console.groupEnd()),h.flush();},xf=function(d,o){let h={uri:d},m=Ha(d);m&&(h.cors=m);let _=o.tech_.crossOrigin()==="use-credentials";_&&(h.withCredentials=_),u.default(h,vt(this,function(S,M,U){if(S)return O.error(S,M);o.loaded_=!0,typeof l.default.WebVTT!="function"?o.tech_&&o.tech_.any(["vttjsloaded","vttjserror"],H=>{if(H.type==="vttjserror"){O.error(`vttjs failed to load, stopping trying to process ${o.src}`);return;}return Rf(U,o);}):Rf(U,o);}));},jo=class extends Cc{constructor(d={}){if(!d.tech)throw new Error("A tech was not provided.");let o=J(d,{kind:_T[d.kind]||"subtitles",language:d.language||d.srclang||""}),h=kf[o.mode]||"disabled",m=o.default;(o.kind==="metadata"||o.kind==="chapters")&&(h="hidden"),super(o),this.tech_=o.tech,this.cues_=[],this.activeCues_=[],this.preload_=this.tech_.preloadTextTracks!==!1;let _=new If(this.cues_),S=new If(this.activeCues_),M=!1;this.timeupdateHandler=vt(this,function(H={}){if(!this.tech_.isDisposed()){if(!this.tech_.isReady_){H.type!=="timeupdate"&&(this.rvf_=this.tech_.requestVideoFrameCallback(this.timeupdateHandler));return;}this.activeCues=this.activeCues,M&&(this.trigger("cuechange"),M=!1),H.type!=="timeupdate"&&(this.rvf_=this.tech_.requestVideoFrameCallback(this.timeupdateHandler));}});let U=()=>{this.stopTracking();};this.tech_.one("dispose",U),h!=="disabled"&&this.startTracking(),Object.defineProperties(this,{default:{get(){return m;},set(){}},mode:{get(){return h;},set(H){kf[H]&&h!==H&&(h=H,!this.preload_&&h!=="disabled"&&this.cues.length===0&&xf(this.src,this),this.stopTracking(),h!=="disabled"&&this.startTracking(),this.trigger("modechange"));}},cues:{get(){return this.loaded_?_:null;},set(){}}
24,activeCues:{get(){if(!this.loaded_)return null;if(this.cues.length===0)return S;let H=this.tech_.currentTime(),fe=[];for(let je=0,kt=this.cues.length;je<kt;je++){let gi=this.cues[je];gi.startTime<=H&&gi.endTime>=H&&fe.push(gi);}if(M=!1,fe.length!==this.activeCues_.length)M=!0;else for(let je=0;je<fe.length;je++)this.activeCues_.indexOf(fe[je])===-1&&(M=!0);return this.activeCues_=fe,S.setCues_(this.activeCues_),S;},set(){}}}),o.src?(this.src=o.src,this.preload_||(this.loaded_=!0),(this.preload_||o.kind!=="subtitles"&&o.kind!=="captions")&&xf(this.src,this)):this.loaded_=!0;}startTracking(){this.rvf_=this.tech_.requestVideoFrameCallback(this.timeupdateHandler),this.tech_.on("timeupdate",this.timeupdateHandler);}stopTracking(){this.rvf_&&(this.tech_.cancelVideoFrameCallback(this.rvf_),this.rvf_=void 0),this.tech_.off("timeupdate",this.timeupdateHandler);}addCue(d){let o=d;if(!("getCueAsHTML"in o)){o=new l.default.vttjs.VTTCue(d.startTime,d.endTime,d.text);for(let m in d)m in o||(o[m]=d[m]);o.id=d.id,o.originalCue_=d;}let h=this.tech_.textTracks();for(let m=0;m<h.length;m++)h[m]!==this&&h[m].removeCue(o);this.cues_.push(o),this.cues.setCues_(this.cues_);}toJSON(){return yc.trackToJson(this);}removeCue(d){let o=this.cues_.length;for(;o--;){let h=this.cues_[o];if(h===d||h.originalCue_&&h.originalCue_===d){this.cues_.splice(o,1),this.cues.setCues_(this.cues_);break;}}}};jo.prototype.allowedEvents_={cuechange:"cuechange"};var Lf=class extends Cc{constructor(d={}){let o=J(d,{kind:yT[d.kind]||""});super(o);let h=!1;Object.defineProperty(this,"enabled",{get(){return h;},set(m){typeof m!="boolean"||m===h||(h=m,this.trigger("enabledchange"));}}),o.enabled&&(this.enabled=o.enabled),this.loaded_=!0;}},Mf=class extends Cc{constructor(d={}){let o=J(d,{kind:vT[d.kind]||""});super(o);let h=!1;Object.defineProperty(this,"selected",{get(){return h;},set(m){typeof m!="boolean"||m===h||(h=m,this.trigger("selectedchange"));}}),o.selected&&(this.selected=o.selected);}},Pr=class nh extends Si{constructor(o={}){super();let h,m=new jo(o);this.kind=m.kind,this.src=m.src,this.srclang=m.language,this.label=m.label,this.default=m.default,Object.defineProperties(this,{readyState:{get(){return h;}},track:{get(){return m;}}}),h=nh.NONE,m.addEventListener("loadeddata",()=>{h=nh.LOADED,this.trigger({type:"load",target:this});});}};Pr.prototype.allowedEvents_={load:"load"},Pr.NONE=0,Pr.LOADING=1,Pr.LOADED=2,Pr.ERROR=3;var Qi={audio:{ListClass:wf,TrackClass:Lf,capitalName:"Audio"},video:{ListClass:Af,TrackClass:Mf,capitalName:"Video"},text:{ListClass:Ec,TrackClass:jo,capitalName:"Text"}};Object.keys(Qi).forEach(function(d){Qi[d].getterName=`${d}Tracks`,Qi[d].privateName=`${d}Tracks_`;});var Rr={remoteText:{ListClass:Ec,TrackClass:jo,capitalName:"RemoteText",getterName:"remoteTextTracks",privateName:"remoteTextTracks_"},remoteTextEl:{ListClass:gT,TrackClass:Pr,capitalName:"RemoteTextTrackEls",getterName:"remoteTextTrackEls",privateName:"remoteTextTrackEls_"}},wi=Object.assign({},Qi,Rr);Rr.names=Object.keys(Rr),Qi.names=Object.keys(Qi),wi.names=[].concat(Rr.names).concat(Qi.names);function TT(d,o,h,m,_={}){let S=d.textTracks();_.kind=o,h&&(_.label=h),m&&(_.language=m),_.tech=d;let M=new wi.text.TrackClass(_);return S.addTrack(M),M;}var wt=class Ei extends ae{constructor(o={},h=function(){}){o.reportTouchActivity=!1,super(null,o,h),this.onDurationChange_=m=>this.onDurationChange(m),this.trackProgress_=m=>this.trackProgress(m),this.trackCurrentTime_=m=>this.trackCurrentTime(m),this.stopTrackingCurrentTime_=m=>this.stopTrackingCurrentTime(m),this.disposeSourceHandler_=m=>this.disposeSourceHandler(m),this.queuedHanders_=new Set(),this.hasStarted_=!1,this.on("playing",function(){this.hasStarted_=!0;}),this.on("loadstart",function(){this.hasStarted_=!1;}),wi.names.forEach(m=>{let _=wi[m];o&&o[_.getterName]&&(this[_.privateName]=o[_.getterName]);}),this.featuresProgressEvents||this.manualProgressOn(),this.featuresTimeupdateEvents||this.manualTimeUpdatesOn(),["Text","Audio","Video"].forEach(m=>{o[`native${m}Tracks`]===!1&&(this[`featuresNative${m}Tracks`]=!1);}),o.nativeCaptions===!1||o.nativeTextTracks===!1?this.featuresNativeTextTracks=!1:(o.nativeCaptions===!0||o.nativeTextTracks===!0)&&(this.featuresNativeTextTracks=!0),this.featuresNativeTextTracks||this.emulateTextTracks(),this.preloadTextTracks=o.preloadTextTracks!==!1,this.autoRemoteTextTracks_=new wi.text.ListClass(),this.initTrackListeners(),o.nativeControlsForTouch||this.emitTapEvents(),this.constructor&&(this.name_=this.constructor.name||"Unknown Tech");}triggerSourceset(o){this.isReady_||this.one("ready",()=>this.setTimeout(()=>this.triggerSourceset(o),1)),this.trigger({src:o,type:"sourceset"});}manualProgressOn(){this.on("durationchange",this.onDurationChange_),this.manualProgress=!0,this.one("ready",this.trackProgress_);}manualProgressOff(){this.manualProgress=!1,this.stopTrackingProgress(),this.off("durationchange",this.onDurationChange_);}trackProgress(o){this.stopTrackingProgress(),this.progressInterval=this.setInterval(vt(this,function(){let h=this.bufferedPercent();this.bufferedPercent_!==h&&this.trigger("progress"),this.bufferedPercent_=h,h===1&&this.stopTrackingProgress();}),500);}onDurationChange(o){this.duration_=this.duration();}buffered(){return ls(0,0);}bufferedPercent(){return Sf(this.buffered(),this.duration_);}stopTrackingProgress(){this.clearInterval(this.progressInterval);}manualTimeUpdatesOn(){this.manualTimeUpdates=!0,this.on("play",this.trackCurrentTime_),this.on("pause",this.stopTrackingCurrentTime_);}manualTimeUpdatesOff(){this.manualTimeUpdates=!1,this.stopTrackingCurrentTime(),this.off("play",this.trackCurrentTime_),this.off("pause",this.stopTrackingCurrentTime_);}trackCurrentTime(){this.currentTimeInterval&&this.stopTrackingCurrentTime(),this.currentTimeInterval=this.setInterval(function(){this.trigger({type:"timeupdate",target:this,manuallyTriggered:!0});},250);}stopTrackingCurrentTime(){this.clearInterval(this.currentTimeInterval),this.trigger({type:"timeupdate",target:this,manuallyTriggered:!0});}dispose(){this.clearTracks(Qi.names),this.manualProgress&&this.manualProgressOff(),this.manualTimeUpdates&&this.manualTimeUpdatesOff(),super.dispose();}clearTracks(o){o=[].concat(o),o.forEach(h=>{let m=this[`${h}Tracks`]()||[],_=m.length;for(;_--;){let S=m[_];h==="text"&&this.removeRemoteTextTrack(S),m.removeTrack(S);}});}cleanupAutoTextTracks(){let o=this.autoRemoteTextTracks_||[],h=o.length;for(;h--;){let m=o[h];this.removeRemoteTextTrack(m);}}reset(){}crossOrigin(){}setCrossOrigin(){}error(o){return o!==void 0&&(this.error_=new Lt(o),this.trigger("error")),this.error_;}played(){return this.hasStarted_?ls(0,0):ls();}play(){}setScrubbing(o){}scrubbing(){}setCurrentTime(o){this.manualTimeUpdates&&this.trigger({type:"timeupdate",target:this,manuallyTriggered:!0});}
24initTrackListeners(){Qi.names.forEach(o=>{let h=Qi[o],m=()=>{this.trigger(`${o}trackchange`);},_=this[h.getterName]();_.addEventListener("removetrack",m),_.addEventListener("addtrack",m),this.on("dispose",()=>{_.removeEventListener("removetrack",m),_.removeEventListener("addtrack",m);});});}addWebVttScript_(){if(!l.default.WebVTT)if(c.default.body.contains(this.el())){if(!this.options_["vtt.js"]&&oe(f.default)&&Object.keys(f.default).length>0){this.trigger("vttjsloaded");return;}let o=c.default.createElement("script");o.src=this.options_["vtt.js"]||"https://vjs.zencdn.net/vttjs/0.14.1/vtt.min.js",o.onload=()=>{this.trigger("vttjsloaded");},o.onerror=()=>{this.trigger("vttjserror");},this.on("dispose",()=>{o.onload=null,o.onerror=null;}),l.default.WebVTT=!0,this.el().parentNode.appendChild(o);}else this.ready(this.addWebVttScript_);}emulateTextTracks(){let o=this.textTracks(),h=this.remoteTextTracks(),m=U=>o.addTrack(U.track),_=U=>o.removeTrack(U.track);h.on("addtrack",m),h.on("removetrack",_),this.addWebVttScript_();let S=()=>this.trigger("texttrackchange"),M=()=>{S();for(let U=0;U<o.length;U++){let H=o[U];H.removeEventListener("cuechange",S),H.mode==="showing"&&H.addEventListener("cuechange",S);}};M(),o.addEventListener("change",M),o.addEventListener("addtrack",M),o.addEventListener("removetrack",M),this.on("dispose",function(){h.off("addtrack",m),h.off("removetrack",_),o.removeEventListener("change",M),o.removeEventListener("addtrack",M),o.removeEventListener("removetrack",M);for(let U=0;U<o.length;U++)o[U].removeEventListener("cuechange",S);});}addTextTrack(o,h,m){if(!o)throw new Error("TextTrack kind is required but was not provided");return TT(this,o,h,m);}createRemoteTextTrack(o){let h=J(o,{tech:this});return new Rr.remoteTextEl.TrackClass(h);}addRemoteTextTrack(o={},h){let m=this.createRemoteTextTrack(o);return typeof h!="boolean"&&(h=!1),this.remoteTextTrackEls().addTrackElement_(m),this.remoteTextTracks().addTrack(m.track),h===!1&&this.ready(()=>this.autoRemoteTextTracks_.addTrack(m.track)),m;}removeRemoteTextTrack(o){let h=this.remoteTextTrackEls().getTrackElementByTrack_(o);this.remoteTextTrackEls().removeTrackElement_(h),this.remoteTextTracks().removeTrack(o),this.autoRemoteTextTracks_.removeTrack(o);}getVideoPlaybackQuality(){return{};}requestPictureInPicture(){return Promise.reject();}disablePictureInPicture(){return!0;}setDisablePictureInPicture(){}requestVideoFrameCallback(o){let h=xi();return!this.isReady_||this.paused()?(this.queuedHanders_.add(h),this.one("playing",()=>{this.queuedHanders_.has(h)&&(this.queuedHanders_.delete(h),o());})):this.requestNamedAnimationFrame(h,o),h;}cancelVideoFrameCallback(o){this.queuedHanders_.has(o)?this.queuedHanders_.delete(o):this.cancelNamedAnimationFrame(o);}setPoster(){}playsinline(){}setPlaysinline(){}overrideNativeAudioTracks(o){}overrideNativeVideoTracks(o){}canPlayType(o){return"";}static canPlayType(o){return"";}static canPlaySource(o,h){return Ei.canPlayType(o.type);}static isTech(o){return o.prototype instanceof Ei||o instanceof Ei||o===Ei;}static registerTech(o,h){if(Ei.techs_||(Ei.techs_={}),!Ei.isTech(h))throw new Error(`Tech ${o} must be a Tech`);if(!Ei.canPlayType)throw new Error("Techs must have a static canPlayType method on them");if(!Ei.canPlaySource)throw new Error("Techs must have a static canPlaySource method on them");return o=Et(o),Ei.techs_[o]=h,Ei.techs_[Yi(o)]=h,o!=="Tech"&&Ei.defaultTechOrder_.push(o),h;}static getTech(o){if(o){if(Ei.techs_&&Ei.techs_[o])return Ei.techs_[o];if(o=Et(o),l.default&&l.default.videojs&&l.default.videojs[o])return O.warn(`The ${o} tech was added to the videojs object when it should be registered using videojs.registerTech(name, tech)`),l.default.videojs[o];}}};wi.names.forEach(function(d){let o=wi[d];wt.prototype[o.getterName]=function(){return this[o.privateName]=this[o.privateName]||new o.ListClass(),this[o.privateName];};}),wt.prototype.featuresVolumeControl=!0,wt.prototype.featuresMuteControl=!0,wt.prototype.featuresFullscreenResize=!1,wt.prototype.featuresPlaybackRate=!1,wt.prototype.featuresProgressEvents=!1,wt.prototype.featuresSourceset=!1,wt.prototype.featuresTimeupdateEvents=!1,wt.prototype.featuresNativeTextTracks=!1,wt.prototype.featuresVideoFrameCallback=!1,wt.withSourceHandlers=function(d){d.registerSourceHandler=function(o,h){let m=d.sourceHandlers;m||(m=d.sourceHandlers=[]),h===void 0&&(h=m.length),m.splice(h,0,o);},d.canPlayType=function(o){let h=d.sourceHandlers||[],m;
24for(let _=0;_<h.length;_++)if(m=h[_].canPlayType(o),m)return m;return"";},d.selectSourceHandler=function(o,h){let m=d.sourceHandlers||[],_;for(let S=0;S<m.length;S++)if(_=m[S].canHandleSource(o,h),_)return m[S];return null;},d.canPlaySource=function(o,h){let m=d.selectSourceHandler(o,h);return m?m.canHandleSource(o,h):"";},["seekable","seeking","duration"].forEach(function(o){let h=this[o];typeof h=="function"&&(this[o]=function(){return this.sourceHandler_&&this.sourceHandler_[o]?this.sourceHandler_[o].apply(this.sourceHandler_,arguments):h.apply(this,arguments);});},d.prototype),d.prototype.setSource=function(o){let h=d.selectSourceHandler(o,this.options_);h||(d.nativeSourceHandler?h=d.nativeSourceHandler:O.error("No source handler found for the current source.")),this.disposeSourceHandler(),this.off("dispose",this.disposeSourceHandler_),h!==d.nativeSourceHandler&&(this.currentSource_=o),this.sourceHandler_=h.handleSource(o,this,this.options_),this.one("dispose",this.disposeSourceHandler_);},d.prototype.disposeSourceHandler=function(){this.currentSource_&&(this.clearTracks(["audio","video"]),this.currentSource_=null),this.cleanupAutoTextTracks(),this.sourceHandler_&&(this.sourceHandler_.dispose&&this.sourceHandler_.dispose(),this.sourceHandler_=null);};},ae.registerComponent("Tech",wt),wt.registerTech("Tech",wt),wt.defaultTechOrder_=[];var Zn={},za={},Ga={};function ET(d,o){Zn[d]=Zn[d]||[],Zn[d].push(o);}function CT(d,o,h){d.setTimeout(()=>er(o,Zn[o.type],h,d),1);}function ST(d,o){d.forEach(h=>h.setTech&&h.setTech(o));}function wT(d,o,h){return d.reduceRight(Ac(h),o[h]());}function AT(d,o,h,m){return o[h](d.reduce(Ac(h),m));}function Of(d,o,h,m=null){let _="call"+Et(h),S=d.reduce(Ac(_),m),M=S===Ga,U=M?null:o[h](S);return PT(d,h,U,M),U;}var IT={buffered:1,currentTime:1,duration:1,muted:1,played:1,paused:1,seekable:1,volume:1,ended:1},kT={setCurrentTime:1,setMuted:1,setVolume:1},Df={play:1,pause:1};function Ac(d){return(o,h)=>o===Ga?Ga:h[d]?h[d](o):o;}function PT(d,o,h,m){for(let _=d.length-1;_>=0;_--){let S=d[_];S[o]&&S[o](m,h);}}function RT(d){za.hasOwnProperty(d.id())&&delete za[d.id()];}function xT(d,o){let h=za[d.id()],m=null;if(h==null)return m=o(d),za[d.id()]=[[o,m]],m;for(let _=0;_<h.length;_++){let[S,M]=h[_];S===o&&(m=M);}return m===null&&(m=o(d),h.push([o,m])),m;}function er(d={},o=[],h,m,_=[],S=!1){let[M,...U]=o;if(typeof M=="string")er(d,Zn[M],h,m,_,S);else if(M){let H=xT(m,M);if(!H.setSource)return _.push(H),er(d,U,h,m,_,S);H.setSource(Object.assign({},d),function(fe,je){if(fe)return er(d,U,h,m,_,S);_.push(H),er(je,d.type===je.type?U:Zn[je.type],h,m,_,S);});}else U.length?er(d,U,h,m,_,S):S?h(d,_):er(d,Zn["*"],h,m,_,!0);}var LT={opus:"video/ogg",ogv:"video/ogg",mp4:"video/mp4",mov:"video/mp4",m4v:"video/mp4",mkv:"video/x-matroska",m4a:"audio/mp4",mp3:"audio/mpeg",aac:"audio/aac",caf:"audio/x-caf",flac:"audio/flac",oga:"audio/ogg",wav:"audio/wav",m3u8:"application/x-mpegURL",mpd:"application/dash+xml",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",png:"image/png",svg:"image/svg+xml",webp:"image/webp"},Wa=function(d=""){return LT[wc(d).toLowerCase()]||"";},MT=(d,o)=>{if(!o)return"";if(d.cache_.source.src===o&&d.cache_.source.type)return d.cache_.source.type;let h=d.cache_.sources.filter(_=>_.src===o);if(h.length)return h[0].type;let m=d.$$("source");for(let _=0;_<m.length;_++){let S=m[_];if(S.type&&S.src&&S.src===o)return S.type;}return Wa(o);},jf=function(d){if(Array.isArray(d)){let o=[];d.forEach(function(h){h=jf(h),Array.isArray(h)?o=o.concat(h):re(h)&&o.push(h);}),d=o;}else typeof d=="string"&&d.trim()?d=[Nf({src:d})]:re(d)&&typeof d.src=="string"&&d.src&&d.src.trim()?d=[Nf(d)]:d=[];return d;};function Nf(d){if(!d.type){let o=Wa(d.src);o&&(d.type=o);}return d;}var OT=`<svg xmlns="http://www.w3.org/2000/svg"> 25 <defs> 26 <symbol viewBox="0 0 48 48" id="vjs-icon-play"> 27 <path d="M16 10v28l22-14z"></path> 28 </symbol> 29 <symbol viewBox="0 0 48 48" id="vjs-icon-pause"> 30 <path d="M12 38h8V10h-8v28zm16-28v28h8V10h-8z"></path> 31 </symbol> 32 <symbol viewBox="0 0 48 48" id="vjs-icon-audio"> 33 <path d="M24 2C14.06 2 6 10.06 6 20v14c0 3.31 2.69 6 6 6h6V24h-8v-4c0-7.73 6.27-14 14-14s14 6.27 14 14v4h-8v16h6c3.31 0 6-2.69 6-6V20c0-9.94-8.06-18-18-18z"></path> 34 </symbol> 35 <symbol viewBox="0 0 48 48" id="vjs-icon-captions"> 36 <path d="M38 8H10c-2.21 0-4 1.79-4 4v24c0 2.21 1.79 4 4 4h28c2.21 0 4-1.79 4-4V12c0-2.21-1.79-4-4-4zM22 22h-3v-1h-4v6h4v-1h3v2a2 2 0 0 1-2 2h-6a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2zm14 0h-3v-1h-4v6h4v-1h3v2a2 2 0 0 1-2 2h-6a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2z"></path> 37 </symbol> 38 <symbol viewBox="0 0 48 48" id="vjs-icon-subtitles"> 39 <path d="M40 8H8c-2.21 0-4 1.79-4 4v24c0 2.21 1.79 4 4 4h32c2.21 0 4-1.79 4-4V12c0-2.21-1.79-4-4-4zM8 24h8v4H8v-4zm20 12H8v-4h20v4zm12 0h-8v-4h8v4zm0-8H20v-4h20v4z"></path> 40 </symbol> 41 <symbol viewBox="0 0 48 48" id="vjs-icon-fullscreen-enter"> 42 <path d="M14 28h-4v10h10v-4h-6v-6zm-4-8h4v-6h6v-4H10v10zm24 14h-6v4h10V28h-4v6zm-6-24v4h6v6h4V10H28z"></path> 43 </symbol> 44 <symbol viewBox="0 0 48 48" id="vjs-icon-fullscreen-exit"> 45 <path d="M10 32h6v6h4V28H10v4zm6-16h-6v4h10V10h-4v6zm12 22h4v-6h6v-4H28v10zm4-22v-6h-4v10h10v-4h-6z"></path> 46 </symbol> 47 <symbol viewBox="0 0 48 48" id="vjs-icon-play-circle"> 48 <path d="M20 33l12-9-12-9v18zm4-29C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm0 36c-8.82 0-16-7.18-16-16S15.18 8 24 8s16 7.18 16 16-7.18 16-16 16z"></path> 49 </symbol> 50 <symbol viewBox="0 0 48 48" id="vjs-icon-volume-mute"> 51 <path d="M33 24c0-3.53-2.04-6.58-5-8.05v4.42l4.91 4.91c.06-.42.09-.85.09-1.28zm5 0c0 1.88-.41 3.65-1.08 5.28l3.03 3.03C41.25 29.82 42 27 42 24c0-8.56-5.99-15.72-14-17.54v4.13c5.78 1.72 10 7.07 10 13.41zM8.55 6L6 8.55 15.45 18H6v12h8l10 10V26.55l8.51 8.51c-1.34 1.03-2.85 1.86-4.51 2.36v4.13a17.94 17.94 0 0 0 7.37-3.62L39.45 42 42 39.45l-18-18L8.55 6zM24 8l-4.18 4.18L24 16.36V8z"></path> 52 </symbol> 53 <symbol viewBox="0 0 48 48" id="vjs-icon-volume-low"> 54 <path d="M14 18v12h8l10 10V8L22 18h-8z"></path> 55 </symbol> 56 <symbol viewBox="0 0 48 48" id="vjs-icon-volume-medium"> 57 <path d="M37 24c0-3.53-2.04-6.58-5-8.05v16.11c2.96-1.48 5-4.53 5-8.06zm-27-6v12h8l10 10V8L18 18h-8z"></path> 58 </symbol> 59 <symbol viewBox="0 0 48 48" id="vjs-icon-volume-high">
60 <path d="M6 18v12h8l10 10V8L14 18H6zm27 6c0-3.53-2.04-6.58-5-8.05v16.11c2.96-1.48 5-4.53 5-8.06zM28 6.46v4.13c5.78 1.72 10 7.07 10 13.41s-4.22 11.69-10 13.41v4.13c8.01-1.82 14-8.97 14-17.54S36.01 8.28 28 6.46z"></path> 61 </symbol> 62 <symbol viewBox="0 0 48 48" id="vjs-icon-spinner"> 63 <path d="M18.8 21l9.53-16.51C26.94 4.18 25.49 4 24 4c-4.8 0-9.19 1.69-12.64 4.51l7.33 12.69.11-.2zm24.28-3c-1.84-5.85-6.3-10.52-11.99-12.68L23.77 18h19.31zm.52 2H28.62l.58 1 9.53 16.5C41.99 33.94 44 29.21 44 24c0-1.37-.14-2.71-.4-4zm-26.53 4l-7.8-13.5C6.01 14.06 4 18.79 4 24c0 1.37.14 2.71.4 4h14.98l-2.31-4zM4.92 30c1.84 5.85 6.3 10.52 11.99 12.68L24.23 30H4.92zm22.54 0l-7.8 13.51c1.4.31 2.85.49 4.34.49 4.8 0 9.19-1.69 12.64-4.51L29.31 26.8 27.46 30z"></path> 64 </symbol> 65 <symbol viewBox="0 0 24 24" id="vjs-icon-hd"> 66 <path d="M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-8 12H9.5v-2h-2v2H6V9h1.5v2.5h2V9H11v6zm2-6h4c.55 0 1 .45 1 1v4c0 .55-.45 1-1 1h-4V9zm1.5 4.5h2v-3h-2v3z"></path> 67 </symbol> 68 <symbol viewBox="0 0 48 48" id="vjs-icon-chapters"> 69 <path d="M6 26h4v-4H6v4zm0 8h4v-4H6v4zm0-16h4v-4H6v4zm8 8h28v-4H14v4zm0 8h28v-4H14v4zm0-20v4h28v-4H14z"></path> 70 </symbol> 71 <symbol viewBox="0 0 40 40" id="vjs-icon-downloading"> 72 <path d="M18.208 36.875q-3.208-.292-5.979-1.729-2.771-1.438-4.812-3.729-2.042-2.292-3.188-5.229-1.146-2.938-1.146-6.23 0-6.583 4.334-11.416 4.333-4.834 10.833-5.5v3.166q-5.167.75-8.583 4.646Q6.25 14.75 6.25 19.958q0 5.209 3.396 9.104 3.396 3.896 8.562 4.646zM20 28.417L11.542 20l2.083-2.083 4.917 4.916v-11.25h2.916v11.25l4.875-4.916L28.417 20zm1.792 8.458v-3.167q1.833-.25 3.541-.958 1.709-.708 3.167-1.875l2.333 2.292q-1.958 1.583-4.25 2.541-2.291.959-4.791 1.167zm6.791-27.792q-1.541-1.125-3.25-1.854-1.708-.729-3.541-1.021V3.042q2.5.25 4.77 1.208 2.271.958 4.271 2.5zm4.584 21.584l-2.25-2.25q1.166-1.5 1.854-3.209.687-1.708.937-3.541h3.209q-.292 2.5-1.229 4.791-.938 2.292-2.521 4.209zm.541-12.417q-.291-1.833-.958-3.562-.667-1.73-1.833-3.188l2.375-2.208q1.541 1.916 2.458 4.208.917 2.292 1.167 4.75z"></path> 73 </symbol> 74 <symbol viewBox="0 0 48 48" id="vjs-icon-file-download"> 75 <path d="M10.8 40.55q-1.35 0-2.375-1T7.4 37.15v-7.7h3.4v7.7h26.35v-7.7h3.4v7.7q0 1.4-1 2.4t-2.4 1zM24 32.1L13.9 22.05l2.45-2.45 5.95 5.95V7.15h3.4v18.4l5.95-5.95 2.45 2.45z"></path> 76 </symbol> 77 <symbol viewBox="0 0 48 48" id="vjs-icon-file-download-done"> 78 <path d="M9.8 40.5v-3.45h28.4v3.45zm9.2-9.05L7.4 19.85l2.45-2.35L19 26.65l19.2-19.2 2.4 2.4z"></path> 79 </symbol> 80 <symbol viewBox="0 0 48 48" id="vjs-icon-file-download-off"> 81 <path d="M4.9 4.75L43.25 43.1 41 45.3l-4.75-4.75q-.05.05-.075.025-.025-.025-.075-.025H10.8q-1.35 0-2.375-1T7.4 37.15v-7.7h3.4v7.7h22.05l-7-7-1.85 1.8L13.9 21.9l1.85-1.85L2.7 7zm26.75 14.7l2.45 2.45-3.75 3.8-2.45-2.5zM25.7 7.15V21.1l-3.4-3.45V7.15z"></path> 82 </symbol> 83 <symbol viewBox="0 0 48 48" id="vjs-icon-share"> 84 <path d="M36 32.17c-1.52 0-2.89.59-3.93 1.54L17.82 25.4c.11-.45.18-.92.18-1.4s-.07-.95-.18-1.4l14.1-8.23c1.07 1 2.5 1.62 4.08 1.62 3.31 0 6-2.69 6-6s-2.69-6-6-6-6 2.69-6 6c0 .48.07.95.18 1.4l-14.1 8.23c-1.07-1-2.5-1.62-4.08-1.62-3.31 0-6 2.69-6 6s2.69 6 6 6c1.58 0 3.01-.62 4.08-1.62l14.25 8.31c-.1.42-.16.86-.16 1.31A5.83 5.83 0 1 0 36 32.17z"></path> 85 </symbol> 86 <symbol viewBox="0 0 48 48" id="vjs-icon-cog"> 87 <path d="M38.86 25.95c.08-.64.14-1.29.14-1.95s-.06-1.31-.14-1.95l4.23-3.31c.38-.3.49-.84.24-1.28l-4-6.93c-.25-.43-.77-.61-1.22-.43l-4.98 2.01c-1.03-.79-2.16-1.46-3.38-1.97L29 4.84c-.09-.47-.5-.84-1-.84h-8c-.5 0-.91.37-.99.84l-.75 5.3a14.8 14.8 0 0 0-3.38 1.97L9.9 10.1a1 1 0 0 0-1.22.43l-4 6.93c-.25.43-.14.97.24 1.28l4.22 3.31C9.06 22.69 9 23.34 9 24s.06 1.31.14 1.95l-4.22 3.31c-.38.3-.49.84-.24 1.28l4 6.93c.25.43.77.61 1.22.43l4.98-2.01c1.03.79 2.16 1.46 3.38 1.97l.75 5.3c.08.47.49.84.99.84h8c.5 0 .91-.37.99-.84l.75-5.3a14.8 14.8 0 0 0 3.38-1.97l4.98 2.01a1 1 0 0 0 1.22-.43l4-6.93c.25-.43.14-.97-.24-1.28l-4.22-3.31zM24 31c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"></path> 88 </symbol> 89 <symbol viewBox="0 0 48 48" id="vjs-icon-square"> 90 <path d="M36 8H12c-2.21 0-4 1.79-4 4v24c0 2.21 1.79 4 4 4h24c2.21 0 4-1.79 4-4V12c0-2.21-1.79-4-4-4zm0 28H12V12h24v24z"></path> 91 </symbol> 92 <symbol viewBox="0 0 48 48" id="vjs-icon-circle"> 93 <circle cx="24" cy="24" r="20"></circle> 94 </symbol> 95 <symbol viewBox="0 0 48 48" id="vjs-icon-circle-outline"> 96 <path d="M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm0 36c-8.82 0-16-7.18-16-16S15.18 8 24 8s16 7.18 16 16-7.18 16-16 16z"></path> 97 </symbol> 98 <symbol viewBox="0 0 48 48" id="vjs-icon-circle-inner-circle"> 99 <path d="M24 4C12.97 4 4 12.97 4 24s8.97 20 20 20 20-8.97 20-20S35.03 4 24 4zm0 36c-8.82 0-16-7.18-16-16S15.18 8 24 8s16 7.18 16 16-7.18 16-16 16zm6-16c0 3.31-2.69 6-6 6s-6-2.69-6-6 2.69-6 6-6 6 2.69 6 6z"></path> 100 </symbol> 101 <symbol viewBox="0 0 48 48" id="vjs-icon-cancel"> 102 <path d="M24 4C12.95 4 4 12.95 4 24s8.95 20 20 20 20-8.95 20-20S35.05 4 24 4zm10 27.17L31.17 34 24 26.83 16.83 34 14 31.17 21.17 24 14 16.83 16.83 14 24 21.17 31.17 14 34 16.83 26.83 24 34 31.17z"></path> 103 </symbol> 104 <symbol viewBox="0 0 48 48" id="vjs-icon-replay"> 105 <path d="M24 10V2L14 12l10 10v-8c6.63 0 12 5.37 12 12s-5.37 12-12 12-12-5.37-12-12H8c0 8.84 7.16 16 16 16s16-
1057.16 16-16-7.16-16-16-16z"></path> 106 </symbol> 107 <symbol viewBox="0 0 48 48" id="vjs-icon-repeat"> 108 <path d="M14 14h20v6l8-8-8-8v6H10v12h4v-8zm20 20H14v-6l-8 8 8 8v-6h24V26h-4v8z"></path> 109 </symbol> 110 <symbol viewBox="0 96 48 48" id="vjs-icon-replay-5"> 111 <path d="M17.689 98l-8.697 8.696 8.697 8.697 2.486-2.485-4.32-4.319h1.302c4.93 0 9.071 1.722 12.424 5.165 3.352 3.443 5.029 7.638 5.029 12.584h3.55c0-2.958-.553-5.73-1.658-8.313-1.104-2.583-2.622-4.841-4.555-6.774-1.932-1.932-4.19-3.45-6.773-4.555-2.584-1.104-5.355-1.657-8.313-1.657H15.5l4.615-4.615zm-8.08 21.659v13.861h11.357v5.008H9.609V143h12.7c.834 0 1.55-.298 2.146-.894.596-.597.895-1.31.895-2.145v-7.781c0-.835-.299-1.55-.895-2.147a2.929 2.929 0 0 0-2.147-.894h-8.227v-5.096H25.35v-4.384z"></path> 112 </symbol> 113 <symbol viewBox="0 96 48 48" id="vjs-icon-replay-10"> 114 <path d="M42.315 125.63c0-4.997-1.694-9.235-5.08-12.713-3.388-3.479-7.571-5.218-12.552-5.218h-1.315l4.363 4.363-2.51 2.51-8.787-8.786L25.221 97l2.45 2.45-4.662 4.663h1.375c2.988 0 5.788.557 8.397 1.673 2.61 1.116 4.892 2.65 6.844 4.602 1.953 1.953 3.487 4.234 4.602 6.844 1.116 2.61 1.674 5.41 1.674 8.398zM8.183 142v-19.657H3.176V117.8h9.643V142zm13.63 0c-1.156 0-2.127-.393-2.912-1.178-.778-.778-1.168-1.746-1.168-2.902v-16.04c0-1.156.393-2.127 1.178-2.912.779-.779 1.746-1.168 2.902-1.168h7.696c1.156 0 2.126.392 2.911 1.177.779.78 1.168 1.747 1.168 2.903v16.04c0 1.156-.392 2.127-1.177 2.912-.779.779-1.746 1.168-2.902 1.168zm.556-4.636h6.583v-15.02H22.37z"></path> 115 </symbol> 116 <symbol viewBox="0 96 48 48" id="vjs-icon-replay-30"> 117 <path d="M26.047 97l-8.733 8.732 8.733 8.733 2.496-2.494-4.336-4.338h1.307c4.95 0 9.108 1.73 12.474 5.187 3.367 3.458 5.051 7.668 5.051 12.635h3.565c0-2.97-.556-5.751-1.665-8.346-1.109-2.594-2.633-4.862-4.574-6.802-1.94-1.941-4.208-3.466-6.803-4.575-2.594-1.109-5.375-1.664-8.345-1.664H23.85l4.634-4.634zM2.555 117.531v4.688h10.297v5.25H5.873v4.687h6.979v5.156H2.555V142H13.36c1.061 0 1.95-.395 2.668-1.186.718-.79 1.076-1.772 1.076-2.94v-16.218c0-1.168-.358-2.149-1.076-2.94-.717-.79-1.607-1.185-2.668-1.185zm22.482.14c-1.149 0-2.11.39-2.885 1.165-.78.78-1.172 1.744-1.172 2.893v15.943c0 1.149.388 2.11 1.163 2.885.78.78 1.745 1.172 2.894 1.172h7.649c1.148 0 2.11-.388 2.884-1.163.78-.78 1.17-1.745 1.17-2.894v-15.943c0-1.15-.386-2.111-1.16-2.885-.78-.78-1.746-1.172-2.894-1.172zm.553 4.518h6.545v14.93H25.59z"></path> 118 </symbol> 119 <symbol viewBox="0 96 48 48" id="vjs-icon-forward-5"> 120 <path d="M29.508 97l-2.431 2.43 4.625 4.625h-1.364c-2.965 0-5.742.554-8.332 1.66-2.589 1.107-4.851 2.629-6.788 4.566-1.937 1.937-3.458 4.2-4.565 6.788-1.107 2.59-1.66 5.367-1.66 8.331h3.557c0-4.957 1.68-9.16 5.04-12.611 3.36-3.45 7.51-5.177 12.451-5.177h1.304l-4.326 4.33 2.49 2.49 8.715-8.716zm-9.783 21.61v13.89h11.382v5.018H19.725V142h12.727a2.93 2.93 0 0 0 2.15-.896 2.93 2.93 0 0 0 .896-2.15v-7.798c0-.837-.299-1.554-.896-2.152a2.93 2.93 0 0 0-2.15-.896h-8.245V123h11.29v-4.392z"></path> 121 </symbol> 122 <symbol viewBox="0 96 48 48" id="vjs-icon-forward-10"> 123 <path d="M23.119 97l-2.386 2.383 4.538 4.538h-1.339c-2.908 0-5.633.543-8.173 1.63-2.54 1.085-4.76 2.577-6.66 4.478-1.9 1.9-3.392 4.12-4.478 6.66-1.085 2.54-1.629 5.264-1.629 8.172h3.49c0-4.863 1.648-8.986 4.944-12.372 3.297-3.385 7.368-5.078 12.216-5.078h1.279l-4.245 4.247 2.443 2.442 8.55-8.55zm-9.52 21.45v4.42h4.871V142h4.513v-23.55zm18.136 0c-1.125 0-2.066.377-2.824 1.135-.764.764-1.148 1.709-1.148 2.834v15.612c0 1.124.38 2.066 1.139 2.824.764.764 1.708 1.145 2.833 1.145h7.489c1.125 0 2.066-.378 2.824-1.136.764-.764 1.145-1.709 1.145-2.833v-15.612c0-1.125-.378-2.067-1.136-2.825-.764-.764-1.708-1.145-2.833-1.145zm.54 4.42h6.408v14.617h-6.407z"></path> 124 </symbol> 125 <symbol viewBox="0 96 48 48" id="vjs-icon-forward-30"> 126 <path d="M25.549 97l-2.437 2.434 4.634 4.635H26.38c-2.97 0-5.753.555-8.347 1.664-2.594 1.109-4.861 2.633-6.802 4.574-1.94 1.94-3.465 4.207-4.574 6.802-1.109 2.594-1.664 5.377-1.664 8.347h3.565c0-4.967 1.683-9.178 5.05-12.636 3.366-3.458 7.525-5.187 12.475-5.187h1.307l-4.335 4.338 2.495 2.494 8.732-8.732zm-11.553 20.53v4.689h10.297v5.249h-6.978v4.688h6.978v5.156H13.996V142h10.808c1.06 0 1.948-.395 2.666-1.186.718-.79 1.077-1.771 1.077-2.94v-16.217c0-1.169-.36-2.15-1.077-2.94-.718-.79-1.605-1.186-2.666-1.186zm21.174.168c-1.149 0-2.11.389-2.884 1.163-.78.78-1.172 1.745-1.172 2.894v15.942c0 1.15.388 2.11 1.162 2.885.78.78 1.745 1.17 2.894 1.17h7.649c1.149 0 2.11-.386 2.885-1.16.78-.78 1.17-1.746 1.17-2.895v-15.942c0-1.15-.387-2.11-1.161-2.885-.78-.78-1.745-1.172-2.894-1.172zm.552 4.516h6.542v14.931h-6.542z"></path> 127 </symbol> 128 <symbol viewBox="0 0 512 512" id="vjs-icon-audio-description"> 129 <g fill-rule="evenodd"><path d="M227.29 381.351V162.993c50.38-1.017 89.108-3.028 117.631 17.126 27.374 19.342 48.734 56.965 44.89 105.325-4.067 51.155-41.335 94.139-89.776 98.475-24.085 2.155-71.972 0-71.972 0s-.84-1.352-.773-2.568m48.755-54.804c31.43 1.26 53.208-16.633 56.495-45.386 4.403-38.51-21.188-63.552-58.041-60.796v103.612c-.036 1.466.575 2.22 1.546 2.57"></path><path d="M383.78 381.328c13.336 3.71 17.387-11.06 23.215-21.408 12.722-22.571 22.294-51.594 22.445-84.774.221-47.594-18.343-82.517-35.6-106.182h-8.51c-.587 3.874 2.226 7.315 3.865 10.276 13.166 23.762 25.367 56.553 25.54 94.194.2 43.176-14.162 79.278-30.955 107.894"></path><path d="M425.154 381.328c13.336 3.71 17.384-11.061 23.215-21.408 12.721-22.571 22.291-51.594 22.445-84.774.221-47.594-18.343-82.517-35.6-106.182h-8.511c-.586 3.874 2.226 7.315 3.866 10.276 13.166 23.762 25.367 56.553 25.54 94.194.2 43.176-14.162 79.278-30.955 107.894"></path><path d="M466.26 381.328c13.337 3.71 17.385-11.061 23.216-21.408 12.722-22.571 22.292-51.594 22.445-84.774.221-47.594-18.343-82.517-35.6-106.182h-8.51c-.587 3.874 2.225 7.315 3.865 10.276 13.166 23.762 25.367 56.553 25.54 94.194.2 43.176-14.162 79.278-30.955 107.894M4.477 383.005H72.58l18.573-28.484 64.169-.135s.065 19.413.065 28.62h48.756V160.307h-58.816c-5.653 9.537-140.85 222.697-140.85 222.697zm152.667-145.282v71.158l-40.453-.27 40.453-70.888z"></path></g> 130 </symbol> 131 <symbol viewBox="0 0 48 48" id="vjs-icon-next-item"> 132 <path d="M12 36l17-12-17-12v24zm20-24v24h4V12h-4z"></path> 133 </symbol> 134 <symbol viewBox="0 0 48 48" id="vjs-icon-previous-item"> 135 <path d="M12 12h4v24h-4zm7 12l17 12V12z"></path> 136 </symbol>
137 <symbol viewBox="0 0 48 48" id="vjs-icon-shuffle"> 138 <path d="M21.17 18.34L10.83 8 8 10.83l10.34 10.34 2.83-2.83zM29 8l4.09 4.09L8 37.17 10.83 40l25.09-25.09L40 19V8H29zm.66 18.83l-2.83 2.83 6.26 6.26L29 40h11V29l-4.09 4.09-6.25-6.26z"></path> 139 </symbol> 140 <symbol viewBox="0 0 48 48" id="vjs-icon-cast"> 141 <path d="M42 6H6c-2.21 0-4 1.79-4 4v6h4v-6h36v28H28v4h14c2.21 0 4-1.79 4-4V10c0-2.21-1.79-4-4-4zM2 36v6h6c0-3.31-2.69-6-6-6zm0-8v4c5.52 0 10 4.48 10 10h4c0-7.73-6.27-14-14-14zm0-8v4c9.94 0 18 8.06 18 18h4c0-12.15-9.85-22-22-22z"></path> 142 </symbol> 143 <symbol viewBox="0 0 48 48" id="vjs-icon-picture-in-picture-enter"> 144 <path d="M38 22H22v11.99h16V22zm8 16V9.96C46 7.76 44.2 6 42 6H6C3.8 6 2 7.76 2 9.96V38c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4zm-4 .04H6V9.94h36v28.1z"></path> 145 </symbol> 146 <symbol viewBox="0 0 22 18" id="vjs-icon-picture-in-picture-exit"> 147 <path d="M18 4H4v10h14V4zm4 12V1.98C22 .88 21.1 0 20 0H2C.9 0 0 .88 0 1.98V16c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2zm-2 .02H2V1.97h18v14.05z"></path> 148 <path fill="none" d="M-1-3h24v24H-1z"></path> 149 </symbol> 150 <symbol viewBox="0 0 1792 1792" id="vjs-icon-facebook"> 151 <path d="M1343 12v264h-157q-86 0-116 36t-30 108v189h293l-39 296h-254v759H734V905H479V609h255V391q0-186 104-288.5T1115 0q147 0 228 12z"></path> 152 </symbol> 153 <symbol viewBox="0 0 1792 1792" id="vjs-icon-linkedin"> 154 <path d="M477 625v991H147V625h330zm21-306q1 73-50.5 122T312 490h-2q-82 0-132-49t-50-122q0-74 51.5-122.5T314 148t133 48.5T498 319zm1166 729v568h-329v-530q0-105-40.5-164.5T1168 862q-63 0-105.5 34.5T999 982q-11 30-11 81v553H659q2-399 2-647t-1-296l-1-48h329v144h-2q20-32 41-56t56.5-52 87-43.5T1285 602q171 0 275 113.5t104 332.5z"></path> 155 </symbol> 156 <symbol viewBox="0 0 1200 1227" id="vjs-icon-twitter"> 157 <path d="M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z"/> 158 </symbol> 159 <symbol viewBox="0 0 1792 1792" id="vjs-icon-tumblr"> 160 <path d="M1328 1329l80 237q-23 35-111 66t-177 32q-104 2-190.5-26T787 1564t-95-106-55.5-120-16.5-118V676H452V461q72-26 129-69.5t91-90 58-102 34-99T779 12q1-5 4.5-8.5T791 0h244v424h333v252h-334v518q0 30 6.5 56t22.5 52.5 49.5 41.5 81.5 14q78-2 134-29z"></path> 161 </symbol> 162 <symbol viewBox="0 0 1792 1792" id="vjs-icon-pinterest"> 163 <path d="M1664 896q0 209-103 385.5T1281.5 1561 896 1664q-111 0-218-32 59-93 78-164 9-34 54-211 20 39 73 67.5t114 28.5q121 0 216-68.5t147-188.5 52-270q0-114-59.5-214T1180 449t-255-63q-105 0-196 29t-154.5 77-109 110.5-67 129.5T377 866q0 104 40 183t117 111q30 12 38-20 2-7 8-31t8-30q6-23-11-43-51-61-51-151 0-151 104.5-259.5T904 517q151 0 235.5 82t84.5 213q0 170-68.5 289T980 1220q-61 0-98-43.5T859 1072q8-35 26.5-93.5t30-103T927 800q0-50-27-83t-77-33q-62 0-105 57t-43 142q0 73 25 122l-99 418q-17 70-13 177-206-91-333-281T128 896q0-209 103-385.5T510.5 231 896 128t385.5 103T1561 510.5 1664 896z"></path> 164 </symbol> 165 </defs> 166</svg>`,Ff=Jt?10009:Ut?461:8,xr={codes:{play:415,pause:19,ff:417,rw:412,back:Ff},names:{415:"play",19:"pause",417:"ff",412:"rw",[Ff]:"back"},isEventKey(d,o){return o=o.toLowerCase(),!!(this.names[d.keyCode]&&this.names[d.keyCode]===o);},getEventName(d){if(this.names[d.keyCode])return this.names[d.keyCode];if(this.codes[d.code]){let o=this.codes[d.code];return this.names[o];}return null;}},Bf=5,DT=class extends Si{constructor(d){super(),this.player_=d,this.focusableComponents=[],this.isListening_=!1,this.isPaused_=!1,this.onKeyDown_=this.onKeyDown_.bind(this),this.lastFocusedComponent_=null;}start(){this.isListening_||(this.player_.on("keydown",this.onKeyDown_),this.player_.on("modalKeydown",this.onKeyDown_),this.player_.on("loadedmetadata",()=>{this.focus(this.updateFocusableComponents()[0]);}),this.player_.on("modalclose",()=>{this.refocusComponent();}),this.player_.on("focusin",this.handlePlayerFocus_.bind(this)),this.player_.on("focusout",this.handlePlayerBlur_.bind(this)),this.isListening_=!0,this.player_.errorDisplay&&this.player_.errorDisplay.on("aftermodalfill",()=>{this.updateFocusableComponents(),this.focusableComponents.length&&(this.focusableComponents.length>1?this.focusableComponents[1].focus():this.focusableComponents[0].focus());}));}stop(){this.player_.off("keydown",this.onKeyDown_),this.isListening_=!1;}onKeyDown_(d){let o=d.originalEvent?d.originalEvent:d;if(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].includes(o.key)){if(this.isPaused_)return;o.preventDefault();let h=o.key.substring(5).toLowerCase();this.move(h);}else if(xr.isEventKey(o,"play")||xr.isEventKey(o,"pause")||xr.isEventKey(o,"ff")||xr.isEventKey(o,"rw")){o.preventDefault();let h=xr.getEventName(o);this.performMediaAction_(h);}else xr.isEventKey(o,"Back")&&d.target&&typeof d.target.closeable=="function"&&d.target.closeable()&&(o.preventDefault(),d.target.close());}performMediaAction_(d){if(this.player_)switch(d){case"play":this.player_.paused()&&this.player_.play();break;case"pause":this.player_.paused()||this.player_.pause();break;case"ff":this.userSeek_(this.player_.currentTime()+Bf);break;case"rw":this.userSeek_(this.player_.currentTime()-Bf);break;}}userSeek_(d){this.player_.liveTracker&&this.player_.liveTracker.isLive()&&this.player_.liveTracker.nextSeekedFromUser(),this.player_.currentTime(d);}pause(){this.isPaused_=!0;}resume(){this.isPaused_=!1;}handlePlayerBlur_(d){let o=d.relatedTarget,h=null,m=this.getCurrentComponent(d.target);o&&(h=!!o.closest(".video-js"),o.classList.contains("vjs-text-track-settings")&&!this.isPaused_&&this.searchForTrackSelect_()),(!d.currentTarget.contains(d.relatedTarget)&&!h||!o)&&(m&&m.name()==="CloseButton"?this.refocusComponent():(this.pause(),m&&m.el()&&(this.lastFocusedComponent_=m)));}handlePlayerFocus_(){this.getCurrentComponent()&&this.getCurrentComponent().getIsF
166ocusable()&&this.resume();}updateFocusableComponents(){let d=this.player_,o=[];function h(m){for(let _ of m)_.hasOwnProperty("el_")&&_.getIsFocusable()&&_.getIsAvailableToBeFocused(_.el())&&o.push(_),_.hasOwnProperty("children_")&&_.children_.length>0&&h(_.children_);}return d.children_.forEach(m=>{if(m.hasOwnProperty("el_"))if(m.getIsFocusable&&m.getIsAvailableToBeFocused&&m.getIsFocusable()&&m.getIsAvailableToBeFocused(m.el())){o.push(m);return;}else m.hasOwnProperty("children_")&&m.children_.length>0?h(m.children_):m.hasOwnProperty("items")&&m.items.length>0?h(m.items):this.findSuitableDOMChild(m)&&o.push(m);if(m.name_==="ErrorDisplay"&&m.opened_){let _=m.el_.querySelector(".vjs-errors-ok-button-container");_&&_.querySelectorAll("button").forEach((S,M)=>{o.push({name:()=>"ModalButton"+(M+1),el:()=>S,getPositions:()=>{let U=S.getBoundingClientRect();return{boundingClientRect:{x:U.x,y:U.y,width:U.width,height:U.height,top:U.top,right:U.right,bottom:U.bottom,left:U.left},center:{x:U.left+U.width/2,y:U.top+U.height/2,width:0,height:0,top:U.top+U.height/2,right:U.left+U.width/2,bottom:U.top+U.height/2,left:U.left+U.width/2}};},getIsAvailableToBeFocused:()=>!0,getIsFocusable:U=>!0,focus:()=>S.focus()});});}}),this.focusableComponents=o,this.focusableComponents;}findSuitableDOMChild(d){function o(h){if(d.getIsFocusable(h)&&d.getIsAvailableToBeFocused(h))return h;for(let m=0;m<h.children.length;m++){let _=h.children[m],S=o(_);if(S)return S;}return null;}return d.el()?o(d.el()):null;}getCurrentComponent(d){this.updateFocusableComponents();let o=d||document.activeElement;if(this.focusableComponents.length){for(let h of this.focusableComponents)if(h.el()===o)return h;}}add(d){let o=[...this.focusableComponents];d.hasOwnProperty("el_")&&d.getIsFocusable()&&d.getIsAvailableToBeFocused(d.el())&&o.push(d),this.focusableComponents=o,this.trigger({type:"focusableComponentsChanged",focusableComponents:this.focusableComponents});}remove(d){for(let o=0;o<this.focusableComponents.length;o++)if(this.focusableComponents[o].name()===d.name()){this.focusableComponents.splice(o,1),this.trigger({type:"focusableComponentsChanged",focusableComponents:this.focusableComponents});return;}}clear(){this.focusableComponents.length>0&&(this.focusableComponents=[],this.trigger({type:"focusableComponentsChanged",focusableComponents:this.focusableComponents}));}move(d){let o=this.getCurrentComponent();if(!o)return;let h=o.getPositions(),m=this.focusableComponents.filter(S=>S!==o&&this.isInDirection_(h.boundingClientRect,S.getPositions().boundingClientRect,d)),_=this.findBestCandidate_(h.center,m,d);_?this.focus(_):this.trigger({type:"endOfFocusableComponents",direction:d,focusedComponent:o});}findBestCandidate_(d,o,h){let m=1/0,_=null;for(let S of o){let M=S.getPositions().center,U=this.calculateDistance_(d,M,h);U<m&&(m=U,_=S);}return _;}isInDirection_(d,o,h){switch(h){case"right":return o.left>=d.right;case"left":return o.right<=d.left;case"down":return o.top>=d.bottom;case"up":return o.bottom<=d.top;default:return!1;}}refocusComponent(){if(this.lastFocusedComponent_){this.player_.userActive()||this.player_.userActive(!0),this.updateFocusableComponents();for(let d=0;d<this.focusableComponents.length;d++)if(this.focusableComponents[d].name()===this.lastFocusedComponent_.name()){this.focus(this.focusableComponents[d]);return;}}else this.focus(this.updateFocusableComponents()[0]);}focus(d){typeof d=="object"&&(d.getIsAvailableToBeFocused(d.el())?d.focus():this.findSuitableDOMChild(d)&&this.findSuitableDOMChild(d).focus());}calculateDistance_(d,o,h){let m=Math.abs(d.x-o.x),_=Math.abs(d.y-o.y),S;switch(h){case"right":case"left":S=m+_*100;break;case"up":S=_*2+m*.5;break;case"down":S=_*5+m;break;default:S=m+_;}return S;}searchForTrackSelect_(){let d=this;for(let o of d.updateFocusableComponents())if(o.constructor.name==="TextTrackSelect"){d.focus(o);break;}}},jT=class extends ae{constructor(d,o,h){let m=J({createEl:!1},o);if(super(d,m,h),!o.playerOptions.sources||o.playerOptions.sources.length===0)for(let _=0,S=o.playerOptions.techOrder;_<S.length;_++){let M=Et(S[_]),U=wt.getTech(M);if(M||(U=ae.getComponent(M)),U&&U.isSupported()){d.loadTech_(M);break;}}else d.src(o.playerOptions.sources);}};ae.registerComponent("MediaLoader",jT);var qa=class extends ae{constructor(d,o){super(d,o),this.options_.controlText&&this.controlText(this.options_.controlText),this.handleMouseOver_=h=>this.handleMouseOver(h),this.handleMouseOut_=h=>this.handleMouseOut(h),this.handleClick_=h=>this.handleClick(h),this.handleKeyDown_=h=>this.handleKeyDown(h),this.emitTapEvents(),this.enable();}createEl(d="div",o={},h={}){o=Object.assign({className:this.buildCSSClass(),tabIndex:0},o),d==="button"&&O.error(`Creating a ClickableComponent with an HTML element of ${d} is not supported; use a Button instead.`),h=Object.assign({role:"button"},h),this.tabIndex_=o.tabIndex;let m=L(d,o,h);return this.player_.options_.experimentalSvgIcons||m.appendChild(L("span",{className:"vjs-icon-placeholder"},{"aria-hidden":!0})),this.createControlTextEl(m),m;}dispose(){this.controlTextEl_=null,super.dispose();}createControlTextEl(d){return this.controlTextEl_=L("span",{className:"vjs-control-text"},{"aria-live":"polite"}),d&&d.appendChild(this.controlTextEl_),this.controlText(this.controlText_,d),this.controlTextEl_;}controlText(d,o=this.el()){if(d===void 0)return this.controlText_||"Need Text";let h=this.localize(d);this.controlText_=d,b(this.controlTextEl_,h),!this.nonIconControl&&!this.player_.options_.noUITitleAttributes&&o.setAttribute("title",h);}buildCSSClass(){return`vjs-control vjs-button ${super.buildCSSClass()}`;}enable(){this.enabled_||(this.enabled_=!0,this.removeClass("vjs-disabled"),this.el_.setAttribute("aria-disabled","false"),typeof this.tabIndex_<"u"&&this.el_.setAttribute("tabIndex",this.tabIndex_),this.on(["tap","click"],this.handleClick_),this.on("keydown",this.handleKeyDown_));}disable(){this.enabled_=!1,this.addClass("vjs-disabled"),this.el_.setAttribute("aria-disabled","true"),typeof this.tabIndex_<"u"&&this.el_.removeAttribute("tabIndex"),this.off("mouseover",this.handleMouseOver_),this.off("mouseout",this.handleMouseOut_),this.off(["tap","click"],this.handleClick_),this.off("keydown",this.handleKeyDown_);}handleLanguagechange(){this.controlText(this.controlText_);}handleClick(d){this.options_.clickHandler&&this.options_.clickHandler.call(this,arguments);}handleKeyDown(d){d.key===" "||d.key==="Enter"?(d.preventDefault(),d.stopPropagation(),this.trigger("click")):super.handleKeyDown(d);}};ae.registerComponent("ClickableComponent",qa);var Ic=class extends qa{constructor(d,o){super(d,o),this.update(),this.update_=h=>this.update(h),d.on("posterchange",this.update_);}dispose(){this.player().off("posterchange",this.update_),super.dispose();}createEl(){return L("div",{className:"vjs-poster"});}crossOrigin(d){if(typeof d>"u")return this.$("img")?this.$("img").crossOrigin:this.player_.tech_&&this.player_.tech_.isReady_?this.player_.crossOrigin():this.player_.options_.crossOrigin||this.player_.options_.crossorigin||null;if(d!==null&&d!=="anonymous"&&d!=="use-credentials"){this.player_.log.warn(`crossOrigin must be null, "anonymous" or "use-credentials", given "${d}"`);return;}this.$("img")&&(this.$("img").crossOrigin=d);}update(d){let o=this.player().poster();this.setSrc(o),o?this.show():this.hide();}setSrc(d){if(!d){this.el_.textContent="";return;}this.$("img")||this.el_.appendChild(L("picture",{className:"vjs-poster",tabIndex:-1},{},L("img",{loading:"lazy",crossOrigin:this.crossOrigin()},{alt:""}))),this.$("img").src=d;}handleClick(d){this.player_.controls()&&(this.player_.tech(!0)&&this.player_.tech(!0).focus(),this.player_.paused()?Ts(this.player_.play()):this.player_.pause());}};Ic.prototype.crossorigin=Ic.prototype.crossOrigin,ae.registerComponent("PosterImage",Ic);var Ji="#222",Uf="#ccc",NT={monospace:"monospace",sansSerif:"sans-serif",serif:"serif",monospaceSansSerif:'"Andale Mono", "Lucida Console", monospace',monospaceSerif:'"Courier New", monospace',proportionalSansSerif:"sans-serif",proportionalSerif:"serif",casual:'"Comic Sans MS", Impact, fantasy',
166script:'"Monotype Corsiva", cursive',smallcaps:'"Andale Mono", "Lucida Console", monospace, sans-serif'};function kc(d,o){let h;if(d.length===4)h=d[1]+d[1]+d[2]+d[2]+d[3]+d[3];else if(d.length===7)h=d.slice(1);else throw new Error("Invalid color code provided, "+d+"; must be formatted as e.g. #f0e or #f604e2.");return"rgba("+parseInt(h.slice(0,2),16)+","+parseInt(h.slice(2,4),16)+","+parseInt(h.slice(4,6),16)+","+o+")";}function Es(d,o,h){try{d.style[o]=h;}catch(m){return;}}function Vf(d){return d?`${d}px`:"";}var FT=class extends ae{constructor(d,o,h){super(d,o,h);let m=S=>this.updateDisplay(S),_=S=>{this.updateDisplayOverlay(),this.updateDisplay(S);};d.on("loadstart",S=>this.toggleDisplay(S)),d.on("useractive",m),d.on("userinactive",m),d.on("texttrackchange",m),d.on("loadedmetadata",S=>{this.updateDisplayOverlay(),this.preselectTrack(S);}),d.ready(vt(this,function(){if(d.tech_&&d.tech_.featuresNativeTextTracks){this.hide();return;}d.on("fullscreenchange",_),d.on("playerresize",_);let S=l.default.screen.orientation||l.default,M=l.default.screen.orientation?"change":"orientationchange";S.addEventListener(M,_),d.on("dispose",()=>S.removeEventListener(M,_));let U=this.options_.playerOptions.tracks||[];for(let H=0;H<U.length;H++)this.player_.addRemoteTextTrack(U[H],!0);this.preselectTrack();}));}preselectTrack(){let d={captions:1,subtitles:1},o=this.player_.textTracks(),h=this.player_.cache_.selectedLanguage,m,_,S;for(let M=0;M<o.length;M++){let U=o[M];h&&h.enabled&&h.language&&h.language===U.language&&U.kind in d?U.kind===h.kind?S=U:S||(S=U):h&&!h.enabled?(S=null,m=null,_=null):U.default&&(U.kind==="descriptions"&&!m?m=U:U.kind in d&&!_&&(_=U));}S?S.mode="showing":_?_.mode="showing":m&&(m.mode="showing");}toggleDisplay(){this.player_.tech_&&this.player_.tech_.featuresNativeTextTracks?this.hide():this.show();}createEl(){return super.createEl("div",{className:"vjs-text-track-display"},{translate:"yes","aria-live":"off","aria-atomic":"true"});}clearDisplay(){typeof l.default.WebVTT=="function"&&l.default.WebVTT.processCues(l.default,[],this.el_);}updateDisplay(){let d=this.player_.textTracks(),o=this.options_.allowMultipleShowingTracks;if(this.clearDisplay(),o){let S=[];for(let M=0;M<d.length;++M){let U=d[M];U.mode==="showing"&&S.push(U);}this.updateForTrack(S);return;}let h=null,m=null,_=d.length;for(;_--;){let S=d[_];S.mode==="showing"&&(S.kind==="descriptions"?h=S:m=S);}if(m?(this.getAttribute("aria-live")!=="off"&&this.setAttribute("aria-live","off"),this.updateForTrack(m)):h&&(this.getAttribute("aria-live")!=="assertive"&&this.setAttribute("aria-live","assertive"),this.updateForTrack(h)),!(l.default.CSS!==void 0&&l.default.CSS.supports("inset","10px"))){let S=this.el_,M=S.querySelectorAll(".vjs-text-track-cue"),U=this.player_.controlBar.el_.getBoundingClientRect().height,H=this.player_.el_.getBoundingClientRect().height;S.style="",Es(S,"position","relative"),Es(S,"height",H-U+"px"),Es(S,"top","unset"),ys?Es(S,"bottom",H+"px"):Es(S,"bottom","0px"),M.length>0&&M.forEach(fe=>{if(fe.style.inset){let je=fe.style.inset.split(" ");je.length===3&&Object.assign(fe.style,{top:je[0],right:je[1],bottom:je[2],left:"unset"});}});}}updateDisplayOverlay(){if(!this.player_.videoHeight()||!(l.default.CSS!==void 0&&l.default.CSS.supports("inset-inline: 10px")))return;let d=this.player_.currentWidth(),o=this.player_.currentHeight(),h=d/o,m=this.player_.videoWidth()/this.player_.videoHeight(),_=0,S=0;Math.abs(h-m)>.1&&(h>m?_=Math.round((d-o*m)/2):S=Math.round((o-d/m)/2)),Es(this.el_,"insetInline",Vf(_)),Es(this.el_,"insetBlock",Vf(S));}updateDisplayState(d){let o=this.player_.textTrackSettings.getValues(),h=d.activeCues,m=h.length;for(;m--;){let _=h[m];if(!_)continue;let S=_.displayState;if(o.color&&(S.firstChild.style.color=o.color),o.textOpacity&&Es(S.firstChild,"color",kc(o.color||"#fff",o.textOpacity)),o.backgroundColor&&(S.firstChild.style.backgroundColor=o.backgroundColor),o.backgroundOpacity&&Es(S.firstChild,"backgroundColor",kc(o.backgroundColor||"#000",o.backgroundOpacity)),o.windowColor&&(o.windowOpacity?Es(S,"backgroundColor",kc(o.windowColor,o.windowOpacity)):S.style.backgroundColor=o.windowColor),o.edgeStyle&&(o.edgeStyle==="dropshadow"?S.firstChild.style.textShadow=`2px 2px 3px ${Ji}, 2px 2px 4px ${Ji}, 2px 2px 5px ${Ji}`:o.edgeStyle==="raised"?S.firstChild.style.textShadow=`1px 1px ${Ji}, 2px 2px ${Ji}, 3px 3px ${Ji}`:o.edgeStyle==="depressed"?S.firstChild.style.textShadow=`1px 1px ${Uf}, 0 1px ${Uf}, -1px -1px ${Ji}, 0 -1px ${Ji}`:o.edgeStyle==="uniform"&&(S.firstChild.style.textShadow=`0 0 4px ${Ji}, 0 0 4px ${Ji}, 0 0 4px ${Ji}, 0 0 4px ${Ji}`)),o.fontPercent&&o.fontPercent!==1){let M=l.default.parseFloat(S.style.fontSize);S.style.fontSize=M*o.fontPercent+"px",S.style.height="auto",S.style.top="auto";}
166o.fontFamily&&o.fontFamily!=="default"&&(o.fontFamily==="small-caps"?S.firstChild.style.fontVariant="small-caps":S.firstChild.style.fontFamily=NT[o.fontFamily]);}}updateForTrack(d){if(Array.isArray(d)||(d=[d]),typeof l.default.WebVTT!="function"||d.every(h=>!h.activeCues))return;let o=[];for(let h=0;h<d.length;++h){let m=d[h];for(let _=0;_<m.activeCues.length;++_)o.push(m.activeCues[_]);}l.default.WebVTT.processCues(l.default,o,this.el_);for(let h=0;h<d.length;++h){let m=d[h];for(let _=0;_<m.activeCues.length;++_){let S=m.activeCues[_].displayState;z(S,"vjs-text-track-cue","vjs-text-track-cue-"+(m.language?m.language:h)),m.language&&ut(S,"lang",m.language);}this.player_.textTrackSettings&&this.updateDisplayState(m);}}};ae.registerComponent("TextTrackDisplay",FT);var BT=class extends ae{createEl(){let d=this.player_.isAudio(),o=this.localize(d?"Audio Player":"Video Player"),h=L("span",{className:"vjs-control-text",textContent:this.localize("{1} is loading.",[o])}),m=super.createEl("div",{className:"vjs-loading-spinner",dir:"ltr"});return m.appendChild(h),m;}handleLanguagechange(){this.$(".vjs-control-text").textContent=this.localize("{1} is loading.",[this.player_.isAudio()?"Audio Player":"Video Player"]);}};ae.registerComponent("LoadingSpinner",BT);var mi=class extends qa{createEl(d,o={},h={}){d="button",o=Object.assign({className:this.buildCSSClass()},o),h=Object.assign({type:"button"},h);let m=L(d,o,h);return this.player_.options_.experimentalSvgIcons||m.appendChild(L("span",{className:"vjs-icon-placeholder"},{"aria-hidden":!0})),this.createControlTextEl(m),m;}addChild(d,o={}){let h=this.constructor.name;return O.warn(`Adding an actionable (user controllable) child to a Button (${h}) is not supported; use a ClickableComponent instead.`),ae.prototype.addChild.call(this,d,o);}enable(){super.enable(),this.el_.removeAttribute("disabled");}disable(){super.disable(),this.el_.setAttribute("disabled","disabled");}
166handleKeyDown(d){if(d.key===" "||d.key==="Enter"){d.stopPropagation();return;}super.handleKeyDown(d);}};ae.registerComponent("Button",mi);var $f=class extends mi{constructor(d,o){super(d,o),this.mouseused_=!1,this.setIcon("play"),this.on("mousedown",h=>this.handleMouseDown(h));}buildCSSClass(){return"vjs-big-play-button";}handleClick(d){let o=this.player_.play();if(d.type==="tap"||this.mouseused_&&"clientX"in d&&"clientY"in d){Ts(o),this.player_.tech(!0)&&this.player_.tech(!0).focus();return;}let h=this.player_.getChild("controlBar"),m=h&&h.getChild("playToggle");if(!m){this.player_.tech(!0).focus();return;}let _=()=>m.focus();Do(o)?o.then(_,()=>{}):this.setTimeout(_,1);}handleKeyDown(d){this.mouseused_=!1,super.handleKeyDown(d);}handleMouseDown(d){this.mouseused_=!0;}};$f.prototype.controlText_="Play Video",ae.registerComponent("BigPlayButton",$f);var UT=class extends mi{constructor(d,o){super(d,o),this.setIcon("cancel"),this.controlText(o&&o.controlText||this.localize("Close"));}buildCSSClass(){return`vjs-close-button ${super.buildCSSClass()}`;}handleClick(d){this.trigger({type:"close",bubbles:!1});}handleKeyDown(d){d.key==="Escape"?(d.preventDefault(),d.stopPropagation(),this.trigger("click")):super.handleKeyDown(d);}};ae.registerComponent("CloseButton",UT);var Hf=class extends mi{constructor(d,o={}){super(d,o),o.replay=o.replay===void 0||o.replay,this.setIcon("play"),this.on(d,"play",h=>this.handlePlay(h)),this.on(d,"pause",h=>this.handlePause(h)),o.replay&&this.on(d,"ended",h=>this.handleEnded(h));}buildCSSClass(){return`vjs-play-control ${super.buildCSSClass()}`;}handleClick(d){this.player_.paused()?Ts(this.player_.play()):this.player_.pause();}handleSeeked(d){this.removeClass("vjs-ended"),this.player_.paused()?this.handlePause(d):this.handlePlay(d);}handlePlay(d){this.removeClass("vjs-ended","vjs-paused"),this.addClass("vjs-playing"),this.setIcon("pause"),this.controlText("Pause");}handlePause(d){this.removeClass("vjs-playing"),this.addClass("vjs-paused"),this.setIcon("play"),this.controlText("Play");}handleEnded(d){this.removeClass("vjs-playing"),this.addClass("vjs-ended"),this.setIcon("replay"),this.controlText("Replay"),this.one(this.player_,"seeked",o=>this.handleSeeked(o));}};Hf.prototype.controlText_="Play",ae.registerComponent("PlayToggle",Hf);var Lr=class extends ae{constructor(d,o){super(d,o),this.on(d,["timeupdate","ended","seeking"],h=>this.update(h)),this.updateTextNode_();}createEl(){let d=this.buildCSSClass(),o=super.createEl("div",{className:`${d} vjs-time-control vjs-control`}),h=L("span",{className:"vjs-control-text",textContent:`${this.localize(this.labelText_)}\xA0`},{role:"presentation"});return o.appendChild(h),this.contentEl_=L("span",{className:`${d}-display`},{role:"presentation"}),o.appendChild(this.contentEl_),o;}dispose(){this.contentEl_=null,this.textNode_=null,super.dispose();}update(d){!this.player_.options_.enableSmoothSeeking&&d.type==="seeking"||this.updateContent(d);}updateTextNode_(d=0){d=Qn(d),this.formattedTime_!==d&&(this.formattedTime_=d,this.requestNamedAnimationFrame("TimeDisplay#updateTextNode_",()=>{if(!this.contentEl_)return;let o=this.textNode_;o&&this.contentEl_.firstChild!==o&&(o=null,O.warn("TimeDisplay#updateTextnode_: Prevented replacement of text node element since it was no longer a child of this node. Appending a new node instead.")),this.textNode_=c.default.createTextNode(this.formattedTime_),this.textNode_&&(o?this.contentEl_.replaceChild(this.textNode_,o):this.contentEl_.appendChild(this.textNode_));}));}updateContent(d){}};Lr.prototype.labelText_="Time",Lr.prototype.controlText_="Time",ae.registerComponent("TimeDisplay",Lr);var Pc=class extends Lr{buildCSSClass(){return"vjs-current-time";}updateContent(d){let o;this.player_.ended()?o=this.player_.duration():d&&d.target&&typeof d.target.pendingSeekTime=="function"&&d.target.pendingSeekTime()!==null?o=d.target.pendingSeekTime():o=this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime(),this.updateTextNode_(o);}};Pc.prototype.labelText_="Current Time",Pc.prototype.controlText_="Current Time",ae.registerComponent("CurrentTimeDisplay",Pc);var Rc=class extends Lr{constructor(d,o){super(d,o);let h=m=>this.updateContent(m);this.on(d,"durationchange",h),this.on(d,"loadstart",h),this.on(d,"loadedmetadata",h);}buildCSSClass(){return"vjs-duration";}updateContent(d){let o=this.player_.duration();this.updateTextNode_(o);}};Rc.prototype.labelText_="Duration",Rc.prototype.controlText_="Duration",ae.registerComponent("DurationDisplay",Rc);var VT=class extends ae{createEl(){let d=super.createEl("div",{className:"vjs-time-control vjs-time-divider"},{"aria-hidden":!0}),o=super.createEl("div"),h=super.createEl("span",{textContent:"/"});return o.appendChild(h),d.appendChild(o),d;}};ae.registerComponent("TimeDivider",VT);var xc=class extends Lr{constructor(d,o){super(d,o),this.on(d,"durationchange",h=>this.updateContent(h));}buildCSSClass(){return"vjs-remaining-time";}createEl(){let d=super.createEl();return this.options_.displayNegative!==!1&&d.insertBefore(L("span",{},{"aria-hidden":!0},"-"),this.contentEl_),d;}updateContent(d){if(typeof this.player_.duration()!="number")return;let o;this.player_.ended()?o=0:this.player_.remainingTimeDisplay?o=this.player_.remainingTimeDisplay():o=this.player_.remainingTime(),this.updateTextNode_(o);}};xc.prototype.labelText_="Remaining Time",xc.prototype.controlText_="Remaining Time",ae.registerComponent("RemainingTimeDisplay",xc);var $T=class extends ae{constructor(d,o){super(d,o),this.updateShowing(),this.on(this.player(),"durationchange",h=>this.updateShowing(h));}createEl(){let d=super.createEl("div",{className:"vjs-live-control vjs-control"});return this.contentEl_=L("div",{className:"vjs-live-display"},{"aria-live":"off"}),this.contentEl_.appendChild(L("span",{className:"vjs-control-text",textContent:`${this.localize("Stream Type")}\xA0`})),this.contentEl_.appendChild(c.default.createTextNode(this.localize("LIVE"))),d.appendChild(this.contentEl_),d;}dispose(){this.contentEl_=null,super.dispose();}updateShowing(d){this.player().duration()===1/0?this.show():this.hide();}};ae.registerComponent("LiveDisplay",$T);var zf=class extends mi{constructor(d,o){super(d,o),this.updateLiveEdgeStatus(),this.player_.liveTracker&&(this.updateLiveEdgeStatusHandler_=h=>this.updateLiveEdgeStatus(h),this.on(this.player_.liveTracker,"liveedgechange",this.updateLiveEdgeStatusHandler_));}createEl(){let d=super.createEl("button",{className:"vjs-seek-to-live-control vjs-control"});return this.setIcon("circle",d),this.textEl_=L("span",{className:"vjs-seek-to-live-text",textContent:this.localize("LIVE")},{"aria-hidden":"true"}),d.appendChild(this.textEl_),d;}updateLiveEdgeStatus(){!this.player_.liveTracker||this.player_.liveTracker.atLiveEdge()?(this.setAttribute("aria-disabled",!0),this.addClass("vjs-at-live-edge"),this.controlText("Seek to live, currently playing live")):(this.setAttribute("aria-disabled",!1),this.removeClass("vjs-at-live-edge"),this.controlText("Seek to live, currently behind live"));}handleClick(){this.player_.liveTracker.seekToLiveEdge();}dispose(){this.player_.liveTracker&&this.off(this.player_.liveTracker,"liveedgechange",this.updateLiveEdgeStatusHandler_),this.textEl_=null,super.dispose();}};zf.prototype.controlText_="Seek to live, currently playing live",ae.registerComponent("SeekToLive",zf);function No(d,o,h){return d=Number(d),Math.min(h,Math.max(o,isNaN(d)?o:d));}var HT=Object.freeze({__proto__:null,clamp:No}),Lc=class extends ae{constructor(d,o){super(d,o),this.handleMouseDown_=h=>this.handleMouseDown(h),this.handleMouseUp_=h=>this.handleMouseUp(h),this.handleKeyDown_=h=>this.handleKeyDown(h),this.handleClick_=h=>this.handleClick(h),this.handleMouseMove_=h=>this.handleMouseMove(h),this.update_=h=>this.update(h),this.bar=this.getChild(this.options_.barName),this.vertical(!!this.options_.vertical),this.enable();}enabled(){return this.enabled_;}enable(){this.enabled()||(this.on("mousedown",this.handleMouseDown_),this.on("touchstart",this.handleMouseDown_),this.on("keydown",this.handleKeyDown_),this.on("click",this.handleClick_),this.on(this.player_,"controlsvisible",this.update),this.playerEvent&&this.on(this.player_,this.playerEvent,this.update),this.removeClass("disabled"),this.setAttribute("tabindex",0),this.enabled_=!0);}disable(){if(!this.enabled())return;let d=this.bar.el_.ownerDocument;this.off("mousedown",this.handleMouseDown_),this.off("touchstart",this.handleMouseDown_),this.off("keydown",this.handleKeyDown_),this.off("click",this.handleClick_),this.off(this.player_,"controlsvisible",this.update_),this.off(d,"mousemove",this.handleMouseMove_),this.off(d,"mouseup",this.handleMouseUp_),this.off(d,"touchmove",this.handleMouseMove_),this.off(d,"touchend",this.handleMouseUp_),this.removeAttribute("tabindex"),this.addClass("disabled"),this.playerEvent&&this.off(this.player_,this.playerEvent,this.update),this.enabled_=!1;}createEl(d,o={},h={}){return o.className=o.className+" vjs-slider",o=Object.assign({tabIndex:0},o),h=Object.assign({role:"slider","aria-valuenow":0,"aria-valuemin":0,"aria-valuemax":100},h),super.createEl(d,o,h);}handleMouseDown(d){let o=this.bar.el_.ownerDocument;d.type==="mousedown"&&d.preventDefault(),d.type==="touchstart"&&!$e&&d.preventDefault(),Ia(),this.addClass("vjs-sliding"),this.trigger("slideractive"),this.on(o,"mousemove",this.handleMouseMove_),this.on(o,"mouseup",this.handleMouseUp_),this.on(o,"touchmove",this.handleMouseMove_),this.on(o,"touchend",this.handleMouseUp_),this.handleMouseMove(d,!0);}handleMouseMove(d){}handleMouseUp(d){let o=this.bar.el_.ownerDocument;ka(),this.removeClass("vjs-sliding"),this.trigger("sliderinactive"),this.off(o,"mousemove",this.handleMouseMove_),this.off(o,"mouseup",this.handleMouseUp_),this.off(o,"touchmove",this.handleMouseMove_),this.off(o,"touchend",this.handleMouseUp_),this.update();}update(){if(!this.el_||!this.bar)return;let d=this.getProgress();return d===this.progress_||(this.progress_=d,this.requestNamedAnimationFrame("Slider#update",()=>{let o=this.vertical()?"height":"width";this.bar.el().style[o]=(d*100).toFixed(2)+"%";})),d;}getProgress(){return Number(No(this.getPercent(),0,1).toFixed(4));}calculateDistance(d){let o=Tr(this.el_,d);return this.vertical()?o.y:o.x;}handleKeyDown(d){let o=this.options_.playerOptions.spatialNavigation,h=o&&o.enabled,m=o&&o.horizontalSeek;h?m&&d.key==="ArrowLeft"||!m&&d.key==="ArrowDown"?(d.preventDefault(),d.stopPropagation(),this.stepBack()):m&&d.key==="ArrowRight"||!m&&d.key==="ArrowUp"?(d.preventDefault(),d.stopPropagation(),this.stepForward()):(this.pendingSeekTime()&&(this.pendingSeekTime(null),this.userSeek_(this.player_.currentTime())),super.handleKeyDown(d)):d.key==="ArrowLeft"||d.key==="ArrowDown"?(d.preventDefault(),d.stopPropagation(),this.stepBack()):d.key==="ArrowUp"||d.key==="ArrowRight"?(d.preventDefault(),d.stopPropagation(),this.stepForward()):super.handleKeyDown(d);}handleClick(d){d.stopPropagation(),d.preventDefault();}vertical(d){if(d===void 0)return this.vertical_||!1;this.vertical_=!!d,this.vertical_?this.addClass("vjs-slider-vertical"):this.addClass("vjs-slider-horizontal");}};ae.registerComponent("Slider",Lc);var Mc=(d,o)=>No(d/o*100,0,100).toFixed(2)+"%",zT=class extends ae{constructor(d,o){super(d,o),this.partEls_=[],this.on(d,"progress",h=>this.update(h));}createEl(){let d=super.createEl("div",{className:"vjs-load-progress"}),o=L("span",{className:"vjs-control-text"}),h=L("span",{textContent:this.localize("Loaded")}),m=c.default.createTextNode(": ");return this.percentageEl_=L("span",{className:"vjs-control-text-loaded-percentage",textContent:"0%"}),d.appendChild(o),o.appendChild(h),o.appendChild(m),o.appendChild(this.percentageEl_),d;}dispose(){this.partEls_=null,this.percentageEl_=null,super.dispose();}update(d){this.requestNamedAnimationFrame("LoadProgressBar#update",()=>{let o=this.player_.liveTracker,h=this.player_.buffered(),m=o&&o.isLive()?o.seekableEnd():this.player_.duration(),_=this.player_.bufferedEnd(),S=this.partEls_,M=Mc(_,m);this.percent_!==M&&(this.el_.style.width=M,b(this.percentageEl_,M),this.percent_=M);for(let U=0;U<h.length;U++){let H=h.start(U),fe=h.end(U),je=S[U];je||(je=this.el_.appendChild(L()),S[U]=je),!(je.dataset.start===H&&je.dataset.end===fe)&&(je.dataset.start=H,je.dataset.end=fe,je.style.left=Mc(H,_),je.style.width=Mc(fe-H,_));}for(let U=S.length;U>h.length;U--)this.el_.removeChild(S[U-1]);S.length=h.length;});}};ae.registerComponent("LoadProgressBar",zT);var GT=class extends ae{constructor(d,o){super(d,o),this.update=pi(vt(this,this.update),Li);}createEl(){return super.createEl("div",{className:"vjs-time-tooltip"},{"aria-hidden":"true"});}update(d,o,h){let m=Wn(this.el_),_=un(this.player_.el()),S=d.width*o;if(!_||!m)return;let M=d.left-_.left+S,U=d.width-S+(_.right-d.right);U||(U=d.width-S,M=S);let H=m.width/2;M<H?H+=H-M:U<H&&(H=U),H<0?H=0:H>m.width&&(H=m.width),H=Math.round(H),this.el_.style.right=`-${H}px`,this.write(h);}write(d){b(this.el_,d);}updateTime(d,o,h,m){this.requestNamedAnimationFrame("TimeTooltip#updateTime",()=>{let _,S=this.player_.duration();if(this.player_.liveTracker&&this.player_.liveTracker.isLive()){let M=this.player_.liveTracker.liveWindow(),U=M-o*M;_=(U<1?"":"-")+Qn(U,M);}else _=Qn(h,S);this.update(d,o,_),m&&m();});}};ae.registerComponent("TimeTooltip",GT);var Oc=class extends ae{constructor(d,o){super(d,o),this.setIcon("circle"),this.update=pi(vt(this,this.update),Li);}createEl(){return super.createEl("div",{className:"vjs-play-progress vjs-slider-bar"},{"aria-hidden":"true"});}update(d,o,h){let m=this.getChild("timeTooltip");if(!m)return;let _=h&&h.target&&typeof h.target.pendingSeekTime=="function"?h.target.pendingSeekTime():this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime();m.updateTime(d,o,_);}};Oc.prototype.options_={children:[]},!Gt&&!ce&&Oc.prototype.options_.children.push("timeTooltip"),ae.registerComponent("PlayProgressBar",Oc);var Gf=class extends ae{constructor(d,o){super(d,o),this.update=pi(vt(this,this.update),Li);}createEl(){return super.createEl("div",{className:"vjs-mouse-display"});}update(d,o){let h=o*this.player_.duration();this.getChild("timeTooltip").updateTime(d,o,h,()=>{this.el_.style.left=`${d.width*o}px`;});}};Gf.prototype.options_={children:["timeTooltip"]},ae.registerComponent("MouseTimeDisplay",Gf);var Wf=class Cy extends Lc{constructor(o,h){h=J(Cy.prototype.options_,h),h.children=[...h.children];let m=o.options_.disableSeekWhileScrubbingOnMobile&&(Gt||ce)||o.options_.disableSeekWhileScrubbingOnSTV;(!Gt&&!ce||m)&&h.children.splice(1,0,"mouseTimeDisplay"),super(o,h),this.shouldDisableSeekWhileScrubbing_=m,this.pendingSeekTime_=null,this.setEventHandlers_();}setEventHandlers_(){this.update_=vt(this,this.update),this.update=pi(this.update_,Li),this.on(this.player_,["durationchange","timeupdate"],this.update),this.on(this.player_,["ended"],this.update_),this.player_.liveTracker&&this.on(this.player_.liveTracker,"liveedgechange",this.update),this.updateInterval=null,this.enableIntervalHandler_=o=>this.enableInterval_(o),this.disableIntervalHandler_=o=>this.disableInterval_(o),this.on(this.player_,["playing"],this.enableIntervalHandler_),this.on(this.player_,["ended","pause","waiting"],this.disableIntervalHandler_),"hidden"in c.default&&"visibilityState"in c.default&&this.on(c.default,"visibilitychange",this.toggleVisibility_);}toggleVisibility_(o){c.default.visibilityState==="hidden"?(this.cancelNamedAnimationFrame("SeekBar#update"),this.cancelNamedAnimationFrame("Slider#update"),this.disableInterval_(o)):(!this.player_.ended()&&!this.player_.paused()&&this.enableInterval_(),this.update());}enableInterval_(){this.updateInterval||(this.updateInterval=this.setInterval(this.update,Li));}disableInterval_(o){this.player_.liveTracker&&this.player_.liveTracker.isLive()&&o&&o.type!=="ended"||this.updateInterval&&(this.clearInterval(this.updateInterval),this.updateInterval=null);}createEl(){return super.createEl("div",{className:"vjs-progress-holder"},{"aria-label":this.localize("Progress Bar")});}update(o){if(c.default.visibilityState==="hidden")return;
166let h=super.update();return this.requestNamedAnimationFrame("SeekBar#update",()=>{let m=this.player_.ended()?this.player_.duration():this.getCurrentTime_(),_=this.player_.liveTracker,S=this.player_.duration();_&&_.isLive()&&(S=this.player_.liveTracker.liveCurrentTime()),this.percent_!==h&&(this.el_.setAttribute("aria-valuenow",(h*100).toFixed(2)),this.percent_=h),(this.currentTime_!==m||this.duration_!==S)&&(this.el_.setAttribute("aria-valuetext",this.localize("progress bar timing: currentTime={1} duration={2}",[Qn(m,S),Qn(S,S)],"{1} of {2}")),this.currentTime_=m,this.duration_=S),this.bar&&this.bar.update(un(this.el()),this.getProgress(),o);}),h;}userSeek_(o){this.player_.liveTracker&&this.player_.liveTracker.isLive()&&this.player_.liveTracker.nextSeekedFromUser(),this.player_.currentTime(o);}getCurrentTime_(){return this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime();}pendingSeekTime(o){if(o!==void 0)if(o!==null){let h=this.player_.duration();this.pendingSeekTime_=Math.max(0,Math.min(o,h));}else this.pendingSeekTime_=null;return this.pendingSeekTime_;}getPercent(){if(this.pendingSeekTime()!==null)return this.pendingSeekTime()/this.player_.duration();let o=this.getCurrentTime_(),h,m=this.player_.liveTracker;return m&&m.isLive()?(h=(o-m.seekableStart())/m.liveWindow(),m.atLiveEdge()&&(h=1)):h=o/this.player_.duration(),h;}handleMouseDown(o){Kn(o)&&(o.stopPropagation(),this.videoWasPlaying=!this.player_.paused(),this.shouldDisableSeekWhileScrubbing_||this.player_.pause(),super.handleMouseDown(o));}handleMouseMove(o,h=!1){if(!Kn(o)||isNaN(this.player_.duration()))return;!h&&!this.player_.scrubbing()&&this.player_.scrubbing(!0);let m,_=this.calculateDistance(o),S=this.player_.liveTracker;if(!S||!S.isLive())m=_*this.player_.duration(),m===this.player_.duration()&&(m=m-.1);else{if(_>=.99){S.seekToLiveEdge();return;}let M=S.seekableStart(),U=S.liveCurrentTime();if(m=M+_*S.liveWindow(),m>=U&&(m=U),m<=M&&(m=M+.1),m===1/0)return;}this.shouldDisableSeekWhileScrubbing_?this.pendingSeekTime(m):this.userSeek_(m),this.player_.options_.enableSmoothSeeking&&this.update();}enable(){super.enable();let o=this.getChild("mouseTimeDisplay");o&&o.show();}disable(){super.disable();let o=this.getChild("mouseTimeDisplay");o&&o.hide();}handleMouseUp(o){super.handleMouseUp(o),o&&o.stopPropagation(),this.player_.scrubbing(!1),this.pendingSeekTime()!==null&&(this.userSeek_(this.pendingSeekTime()),this.pendingSeekTime(null)),this.player_.trigger({type:"timeupdate",target:this,manuallyTriggered:!0}),this.videoWasPlaying?Ts(this.player_.play()):this.update_();}handlePendingSeek_(o){this.player_.paused()||this.player_.pause();let h=this.pendingSeekTime()!==null?this.pendingSeekTime():this.player_.currentTime();this.pendingSeekTime(h+o),this.player_.trigger({type:"timeupdate",target:this,manuallyTriggered:!0});}stepForward(){this.shouldDisableSeekWhileScrubbing_?this.handlePendingSeek_(this.options().stepSeconds):this.userSeek_(this.player_.currentTime()+this.options().stepSeconds);}stepBack(){this.shouldDisableSeekWhileScrubbing_?this.handlePendingSeek_(-this.options().stepSeconds):this.userSeek_(this.player_.currentTime()-this.options().stepSeconds);}handleAction(o){this.pendingSeekTime()!==null&&(this.userSeek_(this.pendingSeekTime()),this.pendingSeekTime(null)),this.player_.paused()?this.player_.play():this.player_.pause();}handleKeyDown(o){let h=this.player_.liveTracker;if(o.key===" "||o.key==="Enter")o.preventDefault(),o.stopPropagation(),this.handleAction(o);else if(o.key==="Home")o.preventDefault(),o.stopPropagation(),this.userSeek_(0);else if(o.key==="End")o.preventDefault(),o.stopPropagation(),h&&h.isLive()?this.userSeek_(h.liveCurrentTime()):this.userSeek_(this.player_.duration());else if(/^[0-9]$/.test(o.key)){o.preventDefault(),o.stopPropagation();let m=parseInt(o.key,10)*.1;h&&h.isLive()?this.userSeek_(h.seekableStart()+h.liveWindow()*m):this.userSeek_(this.player_.duration()*m);}else o.key==="PageDown"?(o.preventDefault(),o.stopPropagation(),this.userSeek_(this.player_.currentTime()-this.options().stepSeconds*this.options().pageMultiplier)):o.key==="PageUp"?(o.preventDefault(),o.stopPropagation(),this.userSeek_(this.player_.currentTime()+this.options().stepSeconds*this.options().pageMultiplier)):super.handleKeyDown(o);}dispose(){this.disableInterval_(),this.off(this.player_,["durationchange","timeupdate"],this.update),this.off(this.player_,["ended"],this.update_),this.player_.liveTracker&&this.off(this.player_.liveTracker,"liveedgechange",this.update),this.off(this.player_,["playing"],this.enableIntervalHandler_),this.off(this.player_,["ended","pause","waiting"],this.disableIntervalHandler_),"hidden"in c.default&&"visibilityState"in c.default&&this.off(c.default,"visibilitychange",this.toggleVisibility_),super.dispose();}};Wf.prototype.options_={children:["loadProgressBar","playProgressBar"],barName:"playProgressBar",stepSeconds:5,pageMultiplier:12},ae.registerComponent("SeekBar",Wf);var qf=class extends ae{constructor(d,o){super(d,o),this.handleMouseMove=pi(vt(this,this.handleMouseMove),Li),this.throttledHandleMouseSeek=pi(vt(this,this.handleMouseSeek),Li),this.handleMouseUpHandler_=h=>this.handleMouseUp(h),this.handleMouseDownHandler_=h=>this.handleMouseDown(h),this.enable();}createEl(){return super.createEl("div",{className:"vjs-progress-control vjs-control"});}handleMouseMove(d){let o=this.getChild("seekBar");if(!o)return;let h=o.getChild("playProgressBar"),m=o.getChild("mouseTimeDisplay");
166if(!h&&!m)return;let _=o.el(),S=Wn(_),M=Tr(_,d).x;M=No(M,0,1),m&&m.update(S,M),h&&h.update(S,o.getProgress());}handleMouseSeek(d){let o=this.getChild("seekBar");o&&o.handleMouseMove(d);}enabled(){return this.enabled_;}disable(){if(this.children().forEach(d=>d.disable&&d.disable()),!!this.enabled()&&(this.off(["mousedown","touchstart"],this.handleMouseDownHandler_),this.off(this.el_,["mousemove","touchmove"],this.handleMouseMove),this.removeListenersAddedOnMousedownAndTouchstart(),this.addClass("disabled"),this.enabled_=!1,this.player_.scrubbing())){let d=this.getChild("seekBar");this.player_.scrubbing(!1),d.videoWasPlaying&&Ts(this.player_.play());}}enable(){this.children().forEach(d=>d.enable&&d.enable()),!this.enabled()&&(this.on(["mousedown","touchstart"],this.handleMouseDownHandler_),this.on(this.el_,["mousemove","touchmove"],this.handleMouseMove),this.removeClass("disabled"),this.enabled_=!0);}removeListenersAddedOnMousedownAndTouchstart(){let d=this.el_.ownerDocument;this.off(d,"mousemove",this.throttledHandleMouseSeek),this.off(d,"touchmove",this.throttledHandleMouseSeek),this.off(d,"mouseup",this.handleMouseUpHandler_),this.off(d,"touchend",this.handleMouseUpHandler_);}handleMouseDown(d){let o=this.el_.ownerDocument,h=this.getChild("seekBar");h&&h.handleMouseDown(d),this.on(o,"mousemove",this.throttledHandleMouseSeek),this.on(o,"touchmove",this.throttledHandleMouseSeek),this.on(o,"mouseup",this.handleMouseUpHandler_),this.on(o,"touchend",this.handleMouseUpHandler_);}handleMouseUp(d){let o=this.getChild("seekBar");o&&o.handleMouseUp(d),this.removeListenersAddedOnMousedownAndTouchstart();}};qf.prototype.options_={children:["seekBar"]},ae.registerComponent("ProgressControl",qf);var Kf=class extends mi{constructor(d,o){super(d,o),this.setIcon("picture-in-picture-enter"),this.on(d,["enterpictureinpicture","leavepictureinpicture"],h=>this.handlePictureInPictureChange(h)),this.on(d,["disablepictureinpicturechanged","loadedmetadata"],h=>this.handlePictureInPictureEnabledChange(h)),this.on(d,["loadedmetadata","audioonlymodechange","audiopostermodechange"],()=>this.handlePictureInPictureAudioModeChange()),this.disable();}buildCSSClass(){return`vjs-picture-in-picture-control vjs-hidden ${super.buildCSSClass()}`;}handlePictureInPictureAudioModeChange(){if(!(this.player_.currentType().substring(0,5)==="audio"||this.player_.audioPosterMode()||this.player_.audioOnlyMode())){this.show();return;}this.player_.isInPictureInPicture()&&this.player_.exitPictureInPicture(),this.hide();}handlePictureInPictureEnabledChange(){c.default.pictureInPictureEnabled&&this.player_.disablePictureInPicture()===!1||this.player_.options_.enableDocumentPictureInPicture&&"documentPictureInPicture"in l.default?this.enable():this.disable();}handlePictureInPictureChange(d){this.player_.isInPictureInPicture()?(this.setIcon("picture-in-picture-exit"),this.controlText("Exit Picture-in-Picture")):(this.setIcon("picture-in-picture-enter"),this.controlText("Picture-in-Picture")),this.handlePictureInPictureEnabledChange();}handleClick(d){this.player_.isInPictureInPicture()?this.player_.exitPictureInPicture():this.player_.requestPictureInPicture();}show(){typeof c.default.exitPictureInPicture=="function"&&super.show();}};Kf.prototype.controlText_="Picture-in-Picture",ae.registerComponent("PictureInPictureToggle",Kf);var Yf=class extends mi{constructor(d,o){super(d,o),this.setIcon("fullscreen-enter"),this.on(d,"fullscreenchange",h=>this.handleFullscreenChange(h)),c.default[d.fsApi_.fullscreenEnabled]===!1&&this.disable();}buildCSSClass(){return`vjs-fullscreen-control ${super.buildCSSClass()}`;}handleFullscreenChange(d){this.player_.isFullscreen()?(this.controlText("Exit Fullscreen"),this.setIcon("fullscreen-exit")):(this.controlText("Fullscreen"),this.setIcon("fullscreen-enter"));}handleClick(d){this.player_.isFullscreen()?this.player_.exitFullscreen():this.player_.requestFullscreen();}};Yf.prototype.controlText_="Fullscreen",ae.registerComponent("FullscreenToggle",Yf);var WT=function(d,o){o.tech_&&!o.tech_.featuresVolumeControl&&d.addClass("vjs-hidden"),d.on(o,"loadstart",function(){o.tech_.featuresVolumeControl?d.removeClass("vjs-hidden"):d.addClass("vjs-hidden");});},qT=class extends ae{createEl(){let d=super.createEl("div",{className:"vjs-volume-level"});return this.setIcon("circle",d),d.appendChild(super.createEl("span",{className:"vjs-control-text"})),d;}};
166ae.registerComponent("VolumeLevel",qT);var KT=class extends ae{constructor(d,o){super(d,o),this.update=pi(vt(this,this.update),Li);}createEl(){return super.createEl("div",{className:"vjs-volume-tooltip"},{"aria-hidden":"true"});}update(d,o,h,m){if(!h){let _=un(this.el_),S=un(this.player_.el()),M=d.width*o;if(!S||!_)return;let U=d.left-S.left+M,H=d.width-M+(S.right-d.right),fe=_.width/2;U<fe?fe+=fe-U:H<fe&&(fe=H),fe<0?fe=0:fe>_.width&&(fe=_.width),this.el_.style.right=`-${fe}px`;}this.write(`${m}%`);}write(d){b(this.el_,d);}updateVolume(d,o,h,m,_){this.requestNamedAnimationFrame("VolumeLevelTooltip#updateVolume",()=>{this.update(d,o,h,m.toFixed(0)),_&&_();});}};ae.registerComponent("VolumeLevelTooltip",KT);var Xf=class extends ae{constructor(d,o){super(d,o),this.update=pi(vt(this,this.update),Li);}createEl(){return super.createEl("div",{className:"vjs-mouse-display"});}update(d,o,h){let m=100*o;this.getChild("volumeLevelTooltip").updateVolume(d,o,h,m,()=>{h?this.el_.style.bottom=`${d.height*o}px`:this.el_.style.left=`${d.width*o}px`;});}};Xf.prototype.options_={children:["volumeLevelTooltip"]},ae.registerComponent("MouseVolumeLevelDisplay",Xf);var Ka=class extends Lc{constructor(d,o){super(d,o),this.on("slideractive",h=>this.updateLastVolume_(h)),this.on(d,"volumechange",h=>this.updateARIAAttributes(h)),d.ready(()=>this.updateARIAAttributes());}createEl(){return super.createEl("div",{className:"vjs-volume-bar vjs-slider-bar"},{"aria-label":this.localize("Volume Level"),"aria-live":"polite"});}handleMouseDown(d){Kn(d)&&super.handleMouseDown(d);}handleMouseMove(d){let o=this.getChild("mouseVolumeLevelDisplay");if(o){let h=this.el(),m=un(h),_=this.vertical(),S=Tr(h,d);S=_?S.y:S.x,S=No(S,0,1),o.update(m,S,_);}Kn(d)&&(this.checkMuted(),this.player_.volume(this.calculateDistance(d)));}checkMuted(){this.player_.muted()&&this.player_.muted(!1);}getPercent(){return this.player_.muted()?0:this.player_.volume();}stepForward(){this.checkMuted(),this.player_.volume(this.player_.volume()+.1);}stepBack(){this.checkMuted(),this.player_.volume(this.player_.volume()-.1);}updateARIAAttributes(d){let o=this.player_.muted()?0:this.volumeAsPercentage_();this.el_.setAttribute("aria-valuenow",o),this.el_.setAttribute("aria-valuetext",o+"%");}volumeAsPercentage_(){return Math.round(this.player_.volume()*100);}updateLastVolume_(){let d=this.player_.volume();this.one("sliderinactive",()=>{this.player_.volume()===0&&this.player_.lastVolume_(d);});}};Ka.prototype.options_={children:["volumeLevel"],barName:"volumeLevel"},!Gt&&!ce&&Ka.prototype.options_.children.splice(0,0,"mouseVolumeLevelDisplay"),Ka.prototype.playerEvent="volumechange",ae.registerComponent("VolumeBar",Ka);var Qf=class extends ae{constructor(d,o={}){o.vertical=o.vertical||!1,(typeof o.volumeBar>"u"||oe(o.volumeBar))&&(o.volumeBar=o.volumeBar||{},o.volumeBar.vertical=o.vertical),super(d,o),WT(this,d),this.throttledHandleMouseMove=pi(vt(this,this.handleMouseMove),Li),this.handleMouseUpHandler_=h=>this.handleMouseUp(h),this.on("mousedown",h=>this.handleMouseDown(h)),this.on("touchstart",h=>this.handleMouseDown(h)),this.on("mousemove",h=>this.handleMouseMove(h)),this.on(this.volumeBar,["focus","slideractive"],()=>{this.volumeBar.addClass("vjs-slider-active"),this.addClass("vjs-slider-active"),this.trigger("slideractive");}),this.on(this.volumeBar,["blur","sliderinactive"],()=>{this.volumeBar.removeClass("vjs-slider-active"),this.removeClass("vjs-slider-active"),this.trigger("sliderinactive");});}createEl(){let d="vjs-volume-horizontal";return this.options_.vertical&&(d="vjs-volume-vertical"),super.createEl("div",{className:`vjs-volume-control vjs-control ${d}`});}handleMouseDown(d){let o=this.el_.ownerDocument;this.on(o,"mousemove",this.throttledHandleMouseMove),this.on(o,"touchmove",this.throttledHandleMouseMove),this.on(o,"mouseup",this.handleMouseUpHandler_),this.on(o,"touchend",this.handleMouseUpHandler_);}handleMouseUp(d){let o=this.el_.ownerDocument;this.off(o,"mousemove",this.throttledHandleMouseMove),this.off(o,"touchmove",this.throttledHandleMouseMove),this.off(o,"mouseup",this.handleMouseUpHandler_),this.off(o,"touchend",this.handleMouseUpHandler_);}handleMouseMove(d){this.volumeBar.handleMouseMove(d);}};Qf.prototype.options_={children:["volumeBar"]}
166,ae.registerComponent("VolumeControl",Qf);var YT=function(d,o){o.tech_&&!o.tech_.featuresMuteControl&&d.addClass("vjs-hidden"),d.on(o,"loadstart",function(){o.tech_.featuresMuteControl?d.removeClass("vjs-hidden"):d.addClass("vjs-hidden");});},Jf=class extends mi{constructor(d,o){super(d,o),YT(this,d),this.on(d,["loadstart","volumechange"],h=>this.update(h));}buildCSSClass(){return`vjs-mute-control ${super.buildCSSClass()}`;}handleClick(d){let o=this.player_.volume(),h=this.player_.lastVolume_();if(o===0){let m=h<.1?.1:h;this.player_.volume(m),this.player_.muted(!1);}else this.player_.muted(!this.player_.muted());}update(d){this.updateIcon_(),this.updateControlText_();}updateIcon_(){let d=this.player_.volume(),o=3;this.setIcon("volume-high"),Gt&&this.player_.tech_&&this.player_.tech_.el_&&this.player_.muted(this.player_.tech_.el_.muted),d===0||this.player_.muted()?(this.setIcon("volume-mute"),o=0):d<.33?(this.setIcon("volume-low"),o=1):d<.67&&(this.setIcon("volume-medium"),o=2),te(this.el_,[0,1,2,3].reduce((h,m)=>h+`${m?" ":""}vjs-vol-${m}`,"")),z(this.el_,`vjs-vol-${o}`);}updateControlText_(){let d=this.player_.muted()||this.player_.volume()===0?"Unmute":"Mute";this.controlText()!==d&&this.controlText(d);}};Jf.prototype.controlText_="Mute",ae.registerComponent("MuteToggle",Jf);var Zf=class extends ae{constructor(d,o={}){typeof o.inline<"u"?o.inline=o.inline:o.inline=!0,(typeof o.volumeControl>"u"||oe(o.volumeControl))&&(o.volumeControl=o.volumeControl||{},o.volumeControl.vertical=!o.inline),super(d,o),this.handleKeyPressHandler_=h=>this.handleKeyPress(h),this.on(d,["loadstart"],h=>this.volumePanelState_(h)),this.on(this.muteToggle,"keyup",h=>this.handleKeyPress(h)),this.on(this.volumeControl,"keyup",h=>this.handleVolumeControlKeyUp(h)),this.on("keydown",h=>this.handleKeyPress(h)),this.on("mouseover",h=>this.handleMouseOver(h)),this.on("mouseout",h=>this.handleMouseOut(h)),this.on(this.volumeControl,["slideractive"],this.sliderActive_),this.on(this.volumeControl,["sliderinactive"],this.sliderInactive_);}sliderActive_(){this.addClass("vjs-slider-active");}sliderInactive_(){this.removeClass("vjs-slider-active");}volumePanelState_(){this.volumeControl.hasClass("vjs-hidden")&&this.muteToggle.hasClass("vjs-hidden")&&this.addClass("vjs-hidden"),this.volumeControl.hasClass("vjs-hidden")&&!this.muteToggle.hasClass("vjs-hidden")&&this.addClass("vjs-mute-toggle-only");}createEl(){let d="vjs-volume-panel-horizontal";return this.options_.inline||(d="vjs-volume-panel-vertical"),super.createEl("div",{className:`vjs-volume-panel vjs-control ${d}`});}dispose(){this.handleMouseOut(),super.dispose();}handleVolumeControlKeyUp(d){d.key==="Escape"&&this.muteToggle.focus();}handleMouseOver(d){this.addClass("vjs-hover"),ai(c.default,"keyup",this.handleKeyPressHandler_);}handleMouseOut(d){this.removeClass("vjs-hover"),Kt(c.default,"keyup",this.handleKeyPressHandler_);}handleKeyPress(d){d.key==="Escape"&&this.handleMouseOut();}};Zf.prototype.options_={children:["muteToggle","volumeControl"]},ae.registerComponent("VolumePanel",Zf);var ep=class extends mi{constructor(d,o){super(d,o),this.validOptions=[5,10,30],this.skipTime=this.getSkipForwardTime(),this.skipTime&&this.validOptions.includes(this.skipTime)?(this.setIcon(`forward-${this.skipTime}`),this.controlText(this.localize("Skip forward {1} seconds",[this.skipTime.toLocaleString(d.language())])),this.show()):this.hide();}getSkipForwardTime(){let d=this.options_.playerOptions;return d.controlBar&&d.controlBar.skipButtons&&d.controlBar.skipButtons.forward;}buildCSSClass(){return`vjs-skip-forward-${this.getSkipForwardTime()} ${super.buildCSSClass()}`;}handleClick(d){if(isNaN(this.player_.duration()))return;let o=this.player_.currentTime(),h=this.player_.liveTracker,m=h&&h.isLive()?h.seekableEnd():this.player_.duration(),_;o+this.skipTime<=m?_=o+this.skipTime:_=m,this.player_.currentTime(_);}handleLanguagechange(){this.controlText(this.localize("Skip forward {1} seconds",[this.skipTime]));}};ep.prototype.controlText_="Skip Forward",ae.registerComponent("SkipForward",ep);var tp=class extends mi{constructor(d,o){super(d,o),this.validOptions=[5,10,30],this.skipTime=this.getSkipBackwardTime(),this.skipTime&&this.validOptions.includes(this.skipTime)?(this.setIcon(`replay-${this.skipTime}`),this.controlText(this.localize("Skip backward {1}
166 seconds",[this.skipTime.toLocaleString(d.language())])),this.show()):this.hide();}getSkipBackwardTime(){let d=this.options_.playerOptions;return d.controlBar&&d.controlBar.skipButtons&&d.controlBar.skipButtons.backward;}buildCSSClass(){return`vjs-skip-backward-${this.getSkipBackwardTime()} ${super.buildCSSClass()}`;}handleClick(d){let o=this.player_.currentTime(),h=this.player_.liveTracker,m=h&&h.isLive()&&h.seekableStart(),_;m&&o-this.skipTime<=m?_=m:o>=this.skipTime?_=o-this.skipTime:_=0,this.player_.currentTime(_);}handleLanguagechange(){this.controlText(this.localize("Skip backward {1} seconds",[this.skipTime]));}};tp.prototype.controlText_="Skip Backward",ae.registerComponent("SkipBackward",tp);var ip=class extends ae{constructor(d,o){super(d,o),o&&(this.menuButton_=o.menuButton),this.focusedChild_=-1,this.on("keydown",h=>this.handleKeyDown(h)),this.boundHandleBlur_=h=>this.handleBlur(h),this.boundHandleTapClick_=h=>this.handleTapClick(h);}addEventListenerForItem(d){d instanceof ae&&(this.on(d,"blur",this.boundHandleBlur_),this.on(d,["tap","click"],this.boundHandleTapClick_));}removeEventListenerForItem(d){d instanceof ae&&(this.off(d,"blur",this.boundHandleBlur_),this.off(d,["tap","click"],this.boundHandleTapClick_));}removeChild(d){typeof d=="string"&&(d=this.getChild(d)),this.removeEventListenerForItem(d),super.removeChild(d);}addItem(d){let o=this.addChild(d);o&&this.addEventListenerForItem(o);}createEl(){let d=this.options_.contentElType||"ul";this.contentEl_=L(d,{className:"vjs-menu-content"}),this.contentEl_.setAttribute("role","menu");let o=super.createEl("div",{append:this.contentEl_,className:"vjs-menu"});return o.appendChild(this.contentEl_),ai(o,"click",function(h){h.preventDefault(),h.stopImmediatePropagation();}),o;}dispose(){this.contentEl_=null,this.boundHandleBlur_=null,this.boundHandleTapClick_=null,super.dispose();}handleBlur(d){let o=d.relatedTarget||c.default.activeElement;if(!this.children().some(h=>h.el()===o)){let h=this.menuButton_;h&&h.buttonPressed_&&o!==h.el().firstChild&&h.unpressButton();}}handleTapClick(d){if(this.menuButton_){this.menuButton_.unpressButton();let o=this.children();if(!Array.isArray(o))return;let h=o.filter(m=>m.el()===d.target)[0];if(!h)return;h.name()!=="CaptionSettingsMenuItem"&&this.menuButton_.focus();}}handleKeyDown(d){d.key==="ArrowLeft"||d.key==="ArrowDown"?(d.preventDefault(),d.stopPropagation(),this.stepForward()):(d.key==="ArrowRight"||d.key==="ArrowUp")&&(d.preventDefault(),d.stopPropagation(),this.stepBack());}stepForward(){let d=0;this.focusedChild_!==void 0&&(d=this.focusedChild_+1),this.focus(d);}stepBack(){let d=0;this.focusedChild_!==void 0&&(d=this.focusedChild_-1),this.focus(d);}focus(d=0){let o=this.children().slice();o.length&&o[0].hasClass("vjs-menu-title")&&o.shift(),o.length>0&&(d<0?d=0:d>=o.length&&(d=o.length-1),this.focusedChild_=d,o[d].el_.focus());}};ae.registerComponent("Menu",ip);var Dc=class extends ae{constructor(d,o={}){super(d,o),this.menuButton_=new mi(d,o),this.menuButton_.controlText(this.controlText_),this.menuButton_.el_.setAttribute("aria-haspopup","true");let h=mi.prototype.buildCSSClass();this.menuButton_.el_.className=this.buildCSSClass()+" "+h,this.menuButton_.removeClass("vjs-control"),this.addChild(this.menuButton_),this.update(),this.enabled_=!0;let m=_=>this.handleClick(_);this.handleMenuKeyUp_=_=>this.handleMenuKeyUp(_),this.on(this.menuButton_,"tap",m),this.on(this.menuButton_,"click",m),this.on(this.menuButton_,"keydown",_=>this.handleKeyDown(_)),this.on(this.menuButton_,"mouseenter",()=>{this.addClass("vjs-hover"),this.menu.show(),ai(c.default,"keyup",this.handleMenuKeyUp_);}),this.on("mouseleave",_=>this.handleMouseLeave(_)),this.on("keydown",_=>this.handleSubmenuKeyDown(_));}update(){let d=this.createMenu();this.menu&&(this.menu.dispose(),this.removeChild(this.menu)),this.menu=d,this.addChild(d),this.buttonPressed_=!1,this.menuButton_.el_.setAttribute("aria-expanded","false"),this.items&&this.items.length<=this.hideThreshold_?(this.hide(),this.menu.contentEl_.removeAttribute("role")):(this.show(),this.menu.contentEl_.setAttribute("role","menu"));}createMenu(){let d=new ip(this.player_,{menuButton:this});if(this.hideThreshold_=0,this.options_.title){let o=L("li",{className:"vjs-menu-title",textContent:Et(this.options_.title),tabIndex:-1}),h=new ae(this.player_,{el:o});d.addItem(h);}if(this.items=this.createItems(),this.items)for(let o=0;o<this.items.length;o++)d.addItem(this.items[o]);return d;}createItems(){}createEl(){return super.createEl("div",{className:this.buildWrapperCSSClass()},{});}setIcon(d){return super.setIcon(d,this.menuButton_.el_);}buildWrapperCSSClass(){let d="vjs-menu-button";this.options_.inline===!0?d+="-inline":d+="-popup";let o=mi.prototype.buildCSSClass();return`vjs-menu-button ${d} ${o} ${super.buildCSSClass()}`;}buildCSSClass(){let d="vjs-menu-button";return this.options_.inline===!0?d+="-inline":d+="-popup",`vjs-menu-button ${d} ${super.buildCSSClass()}`;}controlText(d,o=this.menuButton_.el()){return this.menuButton_.controlText(d,o);}dispose(){this.handleMouseLeave(),super.dispose();}handleClick(d){this.buttonPressed_?this.unpressButton():this.pressButton();}handleMouseLeave(d){this.removeClass("vjs-hover"),Kt(c.default,"keyup",this.handleMenuKeyUp_);}focus(){this.menuButton_.focus();}blur(){this.menuButton_.blur();}handleKeyDown(d){d.key==="Escape"||d.key==="Tab"?(this.buttonPressed_&&this.unpressButton(),!d.key==="Tab"&&(d.preventDefault(),this.menuButton_.focus())):(d.key==="Up"||d.key==="Down"&&!(this.player_.options_.playerOptions.spatialNavigation&&this.player_.options_.playerOptions.spatialNavigation.enabled))&&(this.buttonPressed_||(d.preventDefault(),this.pressButton()));}
166handleMenuKeyUp(d){(d.key==="Escape"||d.key==="Tab")&&this.removeClass("vjs-hover");}handleSubmenuKeyPress(d){this.handleSubmenuKeyDown(d);}handleSubmenuKeyDown(d){(d.key==="Escape"||d.key==="Tab")&&(this.buttonPressed_&&this.unpressButton(),!d.key==="Tab"&&(d.preventDefault(),this.menuButton_.focus()));}pressButton(){if(this.enabled_){if(this.buttonPressed_=!0,this.menu.show(),this.menu.lockShowing(),this.menuButton_.el_.setAttribute("aria-expanded","true"),Gt&&Ri())return;this.menu.focus();}}unpressButton(){this.enabled_&&(this.buttonPressed_=!1,this.menu.unlockShowing(),this.menu.hide(),this.menuButton_.el_.setAttribute("aria-expanded","false"));}disable(){this.unpressButton(),this.enabled_=!1,this.addClass("vjs-disabled"),this.menuButton_.disable();}enable(){this.enabled_=!0,this.removeClass("vjs-disabled"),this.menuButton_.enable();}};ae.registerComponent("MenuButton",Dc);var jc=class extends Dc{constructor(d,o){let h=o.tracks;if(super(d,o),this.items.length<=1&&this.hide(),!h)return;let m=vt(this,this.update);h.addEventListener("removetrack",m),h.addEventListener("addtrack",m),h.addEventListener("labelchange",m),this.player_.on("ready",m),this.player_.on("dispose",function(){h.removeEventListener("removetrack",m),h.removeEventListener("addtrack",m),h.removeEventListener("labelchange",m);});}};ae.registerComponent("TrackButton",jc);var Fo=class extends qa{constructor(d,o){super(d,o),this.selectable=o.selectable,this.isSelected_=o.selected||!1,this.multiSelectable=o.multiSelectable,this.selected(this.isSelected_),this.selectable?this.multiSelectable?this.el_.setAttribute("role","menuitemcheckbox"):this.el_.setAttribute("role","menuitemradio"):this.el_.setAttribute("role","menuitem");}createEl(d,o,h){this.nonIconControl=!0;let m=super.createEl("li",Object.assign({className:"vjs-menu-item",tabIndex:-1},o),h),_=L("span",{className:"vjs-menu-item-text",textContent:this.localize(this.options_.label)});return this.player_.options_.experimentalSvgIcons?m.appendChild(_):m.replaceChild(_,m.querySelector(".vjs-icon-placeholder")),m;}handleKeyDown(d){["Tab","Escape","ArrowUp","ArrowLeft","ArrowRight","ArrowDown"].includes(d.key)||super.handleKeyDown(d);}handleClick(d){this.selected(!0);}selected(d){this.selectable&&(d?(this.addClass("vjs-selected"),this.el_.setAttribute("aria-checked","true"),this.controlText(", selected"),this.isSelected_=!0):(this.removeClass("vjs-selected"),this.el_.setAttribute("aria-checked","false"),this.controlText(""),this.isSelected_=!1));}};ae.registerComponent("MenuItem",Fo);var Bo=class extends Fo{constructor(d,o){let h=o.track,m=d.textTracks();o.label=h.label||h.language||"Unknown",o.selected=h.mode==="showing",super(d,o),this.track=h,this.kinds=(o.kinds||[o.kind||this.track.kind]).filter(Boolean);let _=(...M)=>{this.handleTracksChange.apply(this,M);},S=(...M)=>{this.handleSelectedLanguageChange.apply(this,M);};if(d.on(["loadstart","texttrackchange"],_),m.addEventListener("change",_),m.addEventListener("selectedlanguagechange",S),this.on("dispose",function(){d.off(["loadstart","texttrackchange"],_),m.removeEventListener("change",_),m.removeEventListener("selectedlanguagechange",S);}),m.onchange===void 0){let M;this.on(["tap","click"],function(){if(typeof l.default.Event!="object")try{M=new l.default.Event("change");}catch(U){}M||(M=c.default.createEvent("Event"),M.initEvent("change",!0,!0)),m.dispatchEvent(M);});}this.handleTracksChange();}handleClick(d){let o=this.track,h=this.player_.textTracks();if(super.handleClick(d),!!h)for(let m=0;m<h.length;m++){let _=h[m];this.kinds.indexOf(_.kind)!==-1&&(_===o?_.mode!=="showing"&&(_.mode="showing"):_.mode!=="disabled"&&(_.mode="disabled"));}}handleTracksChange(d){let o=this.track.mode==="showing";o!==this.isSelected_&&this.selected(o);}handleSelectedLanguageChange(d){if(this.track.mode==="showing"){let o=this.player_.cache_.selectedLanguage;if(o&&o.enabled&&o.language===this.track.language&&o.kind!==this.track.kind)return;this.player_.cache_.selectedLanguage={enabled:!0,language:this.track.language,kind:this.track.kind};}}dispose(){this.track=null,super.dispose();}};ae.registerComponent("TextTrackMenuItem",Bo);var sp=class extends Bo{constructor(d,o){o.track={player:d,kind:o.kind,
166kinds:o.kinds,default:!1,mode:"disabled"},o.kinds||(o.kinds=[o.kind]),o.label?o.track.label=o.label:o.track.label=o.kinds.join(" and ")+" off",o.selectable=!0,o.multiSelectable=!1,super(d,o);}handleTracksChange(d){let o=this.player().textTracks(),h=!0;for(let m=0,_=o.length;m<_;m++){let S=o[m];if(this.options_.kinds.indexOf(S.kind)>-1&&S.mode==="showing"){h=!1;break;}}h!==this.isSelected_&&this.selected(h);}handleSelectedLanguageChange(d){let o=this.player().textTracks(),h=!0;for(let m=0,_=o.length;m<_;m++){let S=o[m];if(["captions","descriptions","subtitles"].indexOf(S.kind)>-1&&S.mode==="showing"){h=!1;break;}}h&&(this.player_.cache_.selectedLanguage={enabled:!1});}handleLanguagechange(){this.$(".vjs-menu-item-text").textContent=this.player_.localize(this.options_.label),super.handleLanguagechange();}};ae.registerComponent("OffTextTrackMenuItem",sp);var Mr=class extends jc{constructor(d,o={}){o.tracks=d.textTracks(),super(d,o);}createItems(d=[],o=Bo){let h;this.label_&&(h=`${this.label_} off`),d.push(new sp(this.player_,{kinds:this.kinds_,kind:this.kind_,label:h})),this.hideThreshold_+=1;let m=this.player_.textTracks();Array.isArray(this.kinds_)||(this.kinds_=[this.kind_]);for(let _=0;_<m.length;_++){let S=m[_];if(this.kinds_.indexOf(S.kind)>-1){let M=new o(this.player_,{track:S,kinds:this.kinds_,kind:this.kind_,selectable:!0,multiSelectable:!1});M.addClass(`vjs-${S.kind}-menu-item`),d.push(M);}}return d;}};ae.registerComponent("TextTrackButton",Mr);var np=class extends Fo{constructor(d,o){let h=o.track,m=o.cue,_=d.currentTime();o.selectable=!0,o.multiSelectable=!1,o.label=m.text,o.selected=m.startTime<=_&&_<m.endTime,super(d,o),this.track=h,this.cue=m;}handleClick(d){super.handleClick(),this.player_.currentTime(this.cue.startTime);}};ae.registerComponent("ChaptersTrackMenuItem",np);var Nc=class extends Mr{constructor(d,o,h){super(d,o,h),this.setIcon("chapters"),this.selectCurrentItem_=()=>{this.items.forEach(m=>{m.selected(this.track_.activeCues[0]===m.cue);});};}buildCSSClass(){return`vjs-chapters-button ${super.buildCSSClass()}`;}buildWrapperCSSClass(){return`vjs-chapters-button ${super.buildWrapperCSSClass()}`;}update(d){if(d&&d.track&&d.track.kind!=="chapters")return;let o=this.findChaptersTrack();o!==this.track_?(this.setTrack(o),super.update()):(!this.items||o&&o.cues&&o.cues.length!==this.items.length)&&super.update();}setTrack(d){if(this.track_!==d){if(this.updateHandler_||(this.updateHandler_=this.update.bind(this)),this.track_){let o=this.player_.remoteTextTrackEls().getTrackElementByTrack_(this.track_);o&&o.removeEventListener("load",this.updateHandler_),this.track_.removeEventListener("cuechange",this.selectCurrentItem_),this.track_=null;}if(this.track_=d,this.track_){this.track_.mode="hidden";let o=this.player_.remoteTextTrackEls().getTrackElementByTrack_(this.track_);o&&o.addEventListener("load",this.updateHandler_),this.track_.addEventListener("cuechange",this.selectCurrentItem_);}}}findChaptersTrack(){let d=this.player_.textTracks()||[];for(let o=d.length-1;o>=0;o--){let h=d[o];if(h.kind===this.kind_)return h;}}getMenuCaption(){return this.track_&&this.track_.label?this.track_.label:this.localize(Et(this.kind_));}createMenu(){return this.options_.title=this.getMenuCaption(),super.createMenu();}createItems(){let d=[];if(!this.track_)return d;let o=this.track_.cues;if(!o)return d;for(let h=0,m=o.length;h<m;h++){let _=o[h],S=new np(this.player_,{track:this.track_,cue:_});d.push(S);}return d;}};Nc.prototype.kind_="chapters",Nc.prototype.controlText_="Chapters",ae.registerComponent("ChaptersButton",Nc);var Fc=class extends Mr{constructor(d,o,h){super(d,o,h),this.setIcon("audio-description");let m=d.textTracks(),_=vt(this,this.handleTracksChange);m.addEventListener("change",_),this.on("dispose",function(){m.removeEventListener("change",_);});}handleTracksChange(d){let o=this.player().textTracks(),h=!1;for(let m=0,_=o.length;m<_;m++){let S=o[m];if(S.kind!==this.kind_&&S.mode==="showing"){h=!0;break;}}h?this.disable():this.enable();}buildCSSClass(){return`vjs-descriptions-button ${super.buildCSSClass()}`;}buildWrapperCSSClass(){return`vjs-descriptions-button ${super.buildWrapperCSSClass()}`;}};Fc.prototype.kind_="descriptions",Fc.prototype.controlText_="Descriptions",ae.registerComponent("DescriptionsButton",Fc);var Bc=class extends Mr{constructor(d,o,h){super(d,o,h),this.setIcon("subtitles");}buildCSSClass(){return`vjs-subtitles-button ${super.buildCSSClass()}`;}buildWrapperCSSClass(){return`vjs-subtitles-button ${super.buildWrapperCSSClass()}`;}};Bc.prototype.kind_="subtitles",Bc.prototype.controlText_="Subtitles",ae.registerComponent("SubtitlesButton",Bc);var Uc=class extends Bo{constructor(d,o){o.track={player:d,kind:o.kind,label:o.kind+" settings",selectable:!1,default:!1,mode:"disabled"},o.selectable=!1,o.name="CaptionSettingsMenuItem",super(d,o),this.addClass("vjs-texttrack-settings"),this.controlText(", opens "+o.kind+" settings dialog");}handleClick(d){this.player().getChild("textTrackSettings").open();}handleLanguagechange(){this.$(".vjs-menu-item-text").textContent=this.player_.localize(this.options_.kind+" settings"),super.handleLanguagechange();}};ae.registerComponent("CaptionSettingsMenuItem",Uc);var Vc=class extends Mr{constructor(d,o,h){super(d,o,h),this.setIcon("captions");}buildCSSClass(){return`vjs-captions-button ${super.buildCSSClass()}`;}buildWrapperCSSClass(){return`vjs-captions-button ${super.buildWrapperCSSClass()}`;}createItems(){let d=[];return!(this.player().tech_&&this.player().tech_.featuresNativeTextTracks)&&this.player().getChild("textTrackSettings")&&(d.push(new Uc(this.player_,{kind:this.kind_})),this.hideThreshold_+=1),super.createItems(d);}};Vc.prototype.kind_="captions",Vc.prototype.controlText_="Captions",ae.registerComponent("CaptionsButton",Vc);var rp=class extends Bo{createEl(d,o,h){let m=super.createEl(d,o,h),_=m.querySelector(".vjs-menu-item-text");return this.options_.track.kind==="captions"&&(this.player_.options_.experimentalSvgIcons?this.setIcon("captions",m):_.appendChild(L("span",{className:"vjs-icon-placeholder"},{"aria-hidden":!0})),_.appendChild(L("span",{className:"vjs-control-text",textContent:` ${this.localize("Captions")}`}))),m;}};ae.registerComponent("SubsCapsMenuItem",rp);var $c=class extends Mr{constructor(d,o={}){super(d,o),this.label_="subtitles",this.setIcon("subtitles"),["en","en-us","en-ca","fr-ca"].indexOf(this.player_.language_)>-1&&(this.label_="captions",this.setIcon("captions")),this.menuButton_.controlText(Et(this.label_));}buildCSSClass(){return`vjs-subs-caps-button ${super.buildCSSClass()}`;}buildWrapperCSSClass(){return`vjs-subs-caps-button ${super.buildWrapperCSSClass()}`;}createItems(){let d=[];return!(this.player().tech_&&this.player().tech_.featuresNativeTextTracks)&&this.player().getChild("textTrackSettings")&&(d.push(new Uc(this.player_,{kind:this.label_})),this.hideThreshold_+=1),d=super.createItems(d,rp),d;}};$c.prototype.kinds_=["captions","subtitles"],$c.prototype.controlText_="Subtitles",ae.registerComponent("SubsCapsButton",$c);var op=class extends Fo{constructor(d,o){let h=o.track,m=d.audioTracks();o.label=h.label||h.language||"Unknown",o.selected=h.enabled,super(d,o),this.track=h,this.addClass(`vjs-${h.kind}-menu-item`);let _=(...S)=>{this.handleTracksChange.apply(this,S);};m.addEventListener("change",_),this.on("dispose",()=>{m.removeEventListener("change",_);});}createEl(d,o,h){let m=super.createEl(d,o,h),_=m.querySelector(".vjs-menu-item-text");return["main-desc","descriptions"].indexOf(this.options_.track.kind)>=0&&(_.appendChild(L("span",{className:"vjs-icon-placeholder"},{"aria-hidden":!0})),_.appendChild(L("span",{className:"vjs-control-text",textContent:" "+this.localize("Descriptions")}))),m;}handleClick(d){if(super.handleClick(d),this.track.enabled=!0,this.player_.tech_.featuresNativeAudioTracks){let o=this.player_.audioTracks();for(let h=0;h<o.length;h++){let m=o[h];m!==this.track&&(m.enabled=m===this.track);}}}handleTracksChange(d){this.selected(this.track.enabled);}};ae.registerComponent("AudioTrackMenuItem",op);var ap=class extends jc{constructor(d,o={}){o.tracks=d.audioTracks(),super(d,o),this.setIcon("audio");}buildCSSClass(){return`vjs-audio-button ${super.buildCSSClass()}`;}buildWrapperCSSClass(){return`vjs-audio-button ${super.buildWrapperCSSClass()}`;}createItems(d=[]){this.hideThreshold_=1;let o=this.player_.audioTracks();for(let h=0;h<o.length;h++){let m=o[h];d.push(new op(this.player_,{track:m,selectable:!0,multiSelectable:!1}));}return d;}};ap.prototype.controlText_="Audio Track",ae.registerComponent("AudioTrackButton",ap);var Hc=class extends Fo{constructor(d,o){let h=o.rate,m=parseFloat(h,10);o.label=h,o.selected=m===d.playbackRate(),o.selectable=!0,o.multiSelectable=!1,super(d,o),this.label=h,this.rate=m,this.on(d,"ratechange",_=>this.update(_));}handleClick(d){super.handleClick(),this.player().playbackRate(this.rate);}update(d){this.selected(this.player().playbackRate()===this.rate);}};Hc.prototype.contentElType="button",ae.registerComponent("PlaybackRateMenuItem",Hc);var lp=class extends Dc{constructor(d,o){super(d,o),this.menuButton_.el_.setAttribute("aria-describedby",this.labelElId_),this.updateVisibility(),this.updateLabel(),this.on(d,"loadstart",h=>this.updateVisibility(h)),this.on(d,"ratechange",h=>this.updateLabel(h)),this.on(d,"playbackrateschange",h=>this.handlePlaybackRateschange(h));}createEl(){let d=super.createEl();return this.labelElId_="vjs-playback-rate-value-label-"+this.id_,this.labelEl_=L("div",{className:"vjs-playback-rate-value",id:this.labelElId_,textContent:"1x"}),d.appendChild(this.labelEl_),d;}dispose(){this.labelEl_=null,super.dispose();}buildCSSClass(){return`vjs-playback-rate ${super.buildCSSClass()}`;}buildWrapperCSSClass(){return`vjs-playback-rate ${super.buildWrapperCSSClass()}`;}createItems(){let d=this.playbackRates(),o=[];for(let h=d.length-1;h>=0;h--)o.push(new Hc(this.player(),{rate:d[h]+"x"}));return o;}handlePlaybackRateschange(d){this.update();}playbackRates(){let d=this.player();return d.playbackRates&&d.playbackRates()||[];}playbackRateSupported(){return this.player().tech_&&this.player().tech_.featuresPlaybackRate&&this.playbackRates()&&this.playbackRates().length>0;}updateVisibility(d){this.playbackRateSupported()?this.removeClass("vjs-hidden"):this.addClass("vjs-hidden");}updateLabel(d){this.playbackRateSupported()&&(this.labelEl_.textContent=this.player().playbackRate()+"x");}};lp.prototype.controlText_="Playback Rate",ae.registerComponent("PlaybackRateMenuButton",lp);var dp=class extends ae{buildCSSClass(){return`vjs-spacer ${super.buildCSSClass()}`;}createEl(d="div",o={},h={}){return o.className||(o.className=this.buildCSSClass()),super.createEl(d,o,h);}};ae.registerComponent("Spacer",dp);var XT=class extends dp{buildCSSClass(){return`vjs-custom-control-spacer ${super.buildCSSClass()}`;}createEl(){return super.createEl("div",{className:this.buildCSSClass(),textContent:"\xA0"});}};ae.registerComponent("CustomControlSpacer",XT);var cp=class extends ae{createEl(){return super.createEl("div",{className:"vjs-control-bar",dir:"ltr"});}};cp.prototype.options_={children:["playToggle","skipBackward","skipForward","volumePanel","currentTimeDisplay","timeDivider","durationDisplay","progressControl","liveDisplay","seekToLive","remainingTimeDisplay","customControlSpacer","playbackRateMenuButton","chaptersButton","descriptionsButton","subsCapsButton","audioTrackButton","pictureInPictureToggle","fullscreenToggle"]},ae.registerComponent("ControlBar",cp);var up=class extends kr{constructor(d,o){super(d,o),this.on(d,"error",h=>{this.open(h);});}buildCSSClass(){return`vjs-error-display ${super.buildCSSClass()}`;}content(){let d=this.player().error();return d?this.localize(d.message):"";}};up.prototype.options_=Object.assign({}
166,kr.prototype.options_,{pauseOnOpen:!1,fillAlways:!0,temporary:!1,uncloseable:!0}),ae.registerComponent("ErrorDisplay",up);var hp=class extends ae{constructor(d,o={}){super(d,o),this.el_.setAttribute("aria-labelledby",this.selectLabelledbyIds);}createEl(){return this.selectLabelledbyIds=[this.options_.legendId,this.options_.labelId].join(" ").trim(),L("select",{id:this.options_.id},{},this.options_.SelectOptions.map(d=>{let o=(this.options_.labelId?this.options_.labelId:`vjs-track-option-${xi()}`)+"-"+d[1].replace(/\W+/g,""),h=L("option",{id:o,value:this.localize(d[0]),textContent:this.localize(d[1])});return h.setAttribute("aria-labelledby",`${this.selectLabelledbyIds} ${o}`),h;}));}};ae.registerComponent("TextTrackSelect",hp);var tr=class extends ae{constructor(d,o={}){super(d,o);let h=L("legend",{textContent:this.localize(this.options_.legendText),id:this.options_.legendId});this.el().appendChild(h);let m=this.options_.selects;for(let _ of m){let S=this.options_.selectConfigs[_],M=S.className,U=S.id.replace("%s",this.options_.id_),H=null,fe=`vjs_select_${xi()}`;if(this.options_.type==="colors"){H=L("span",{className:M});let kt=L("label",{id:U,className:"vjs-label",textContent:this.localize(S.label)});kt.setAttribute("for",fe),H.appendChild(kt);}let je=new hp(d,{SelectOptions:S.options,legendId:this.options_.legendId,id:fe,labelId:U});this.addChild(je),this.options_.type==="colors"&&(H.appendChild(je.el()),this.el().appendChild(H));}}createEl(){return L("fieldset",{className:this.options_.className});}};ae.registerComponent("TextTrackFieldset",tr);var fp=class extends ae{constructor(d,o={}){super(d,o);let h=this.options_.textTrackComponentid,m=new tr(d,{id_:h,legendId:`captions-text-legend-${h}`,legendText:this.localize("Text"),className:"vjs-fg vjs-track-setting",selects:this.options_.fieldSets[0],selectConfigs:this.options_.selectConfigs,type:"colors"});this.addChild(m);let _=new tr(d,{id_:h,legendId:`captions-background-${h}`,legendText:this.localize("Text Background"),className:"vjs-bg vjs-track-setting",selects:this.options_.fieldSets[1],selectConfigs:this.options_.selectConfigs,type:"colors"});this.addChild(_);let S=new tr(d,{id_:h,legendId:`captions-window-${h}`,legendText:this.localize("Caption Area Background"),className:"vjs-window vjs-track-setting",selects:this.options_.fieldSets[2],selectConfigs:this.options_.selectConfigs,type:"colors"});this.addChild(S);}createEl(){return L("div",{className:"vjs-track-settings-colors"});}};ae.registerComponent("TextTrackSettingsColors",fp);var pp=class extends ae{constructor(d,o={}){super(d,o);let h=this.options_.textTrackComponentid,m=new tr(d,{id_:h,legendId:`captions-font-size-${h}`,legendText:"Font Size",className:"vjs-font-percent vjs-track-setting",selects:this.options_.fieldSets[0],selectConfigs:this.options_.selectConfigs,type:"font"});this.addChild(m);let _=new tr(d,{id_:h,legendId:`captions-edge-style-${h}`,legendText:this.localize("Text Edge Style"),className:"vjs-edge-style vjs-track-setting",selects:this.options_.fieldSets[1],selectConfigs:this.options_.selectConfigs,type:"font"});this.addChild(_);let S=new tr(d,{id_:h,legendId:`captions-font-family-${h}`,legendText:this.localize("Font Family"),className:"vjs-font-family vjs-track-setting",selects:this.options_.fieldSets[2],selectConfigs:this.options_.selectConfigs,type:"font"});this.addChild(S);}createEl(){return L("div",{className:"vjs-track-settings-font"});}};ae.registerComponent("TextTrackSettingsFont",pp);var mp=class extends ae{constructor(d,o={}){super(d,o);let h=new mi(d,{controlText:this.localize("restore all settings to the default values"),className:"vjs-default-button"});h.el().classList.remove("vjs-control","vjs-button"),h.el().textContent=this.localize("Reset"),this.addChild(h);let m=this.localize("Done"),_=new mi(d,{controlText:m,className:"vjs-done-button"});_.el().classList.remove("vjs-control","vjs-button"),_.el().textContent=m,this.addChild(_);}createEl(){return L("div",{className:"vjs-track-settings-controls"});}};ae.registerComponent("TrackSettingsControls",mp);var zc="vjs-text-track-settings",gp=["#000","Black"],vp=["#00F","Blue"],yp=["#0FF","Cyan"],_p=["#0F0","Green"],bp=["#F0F","Magenta"],Tp=["#F00","Red"],Ep=["#FFF","White"],Cp=["#FF0","Yellow"],Gc=["1","Opaque"],Wc=["0.5","Semi-Transparent"],Sp=["0","Transparent"],pn={backgroundColor:{selector:".vjs-bg-color > select",id:"captions-background-color-%s",label:"Color",options:[gp,Ep,Tp,_p,vp,Cp,bp,yp],className:"vjs-bg-color"},backgroundOpacity:{selector:".vjs-bg-opacity > select",id:"captions-background-opacity-%s",label:"Opacity",options:[Gc,Wc,Sp],className:"vjs-bg-opacity vjs-opacity"},color:{selector:".vjs-text-color > select",id:"captions-foreground-color-%s",label:"Color",options:[Ep,gp,Tp,_p,vp,Cp,bp,yp],className:"vjs-text-color"},edgeStyle:{selector:".vjs-edge-style > select",id:"",label:"Text Edge Style",options:[["none","None"],["raised","Raised"],["depressed","Depressed"],["uniform","Uniform"],["dropshadow","Drop shadow"]]},fontFamily:{selector:".vjs-font-family > select",id:"",label:"Font Family",options:[["proportionalSansSerif","Proportional Sans-Serif"],["monospaceSansSerif","Monospace Sans-Serif"],["proportionalSerif","Proportional Serif"],["monospaceSerif","Monospace Serif"],["casual","Casual"],["script","Script"],["small-caps","Small Caps"]]},fontPercent:{selector:".vjs-font-percent > select",id:"",label:"Font Size",options:[["0.50","50%"],["0.75","75%"],["1.00","100%"],["1.25","125%"],["1.50","150%"],["1.75","175%"],["2.00","200%"],["3.00","300%"],["4.00","400%"]],default:2,parser:d=>d==="1.00"?null:Number(d)},textOpacity:{selector:".vjs-text-opacity > select",id:"captions-foreground-opacity-%s",label:"Opacity",options:[Gc,Wc],className:"vjs-text-opacity vjs-opacity"},windowColor:{selector:".vjs-window-color > select",id:"captions-window-color-%s",label:"Color",className:"vjs-window-color"},windowOpacity:{selector:".vjs-window-opacity > select",id:"captions-window-opacity-%s",label:"Opacity",options:[Sp,Wc,Gc],className:"vjs-window-opacity vjs-opacity"}};pn.windowColor.options=pn.backgroundColor.options;function wp(d,o){if(o&&(d=o(d)),d&&d!=="none")return d;}function QT(d,o){let h=d.options[d.options.selectedIndex].value;return wp(h,o);}function JT(d,o,h){if(o){for(let m=0;m<d.options.length;m++)if(wp(d.options[m].value,h)===o){d.selectedIndex=m;break;}}}var ZT=class extends kr{constructor(d,o){o.temporary=!1,super(d,o),this.updateDisplay=this.updateDisplay.bind(this),this.fill(),this.hasBeenOpened_=this.hasBeenFilled_=!0,this.renderModalComponents(d),this.endDialog=L("p",{className:"vjs-control-text",textContent:this.localize("End of dialog window.")}),this.el().appendChild(this.endDialog),this.setDefaults(),o.persistTextTrackSettings===void 0&&(this.options_.persistTextTrackSettings=this.options_.playerOptions.persistTextTrackSettings),this.bindFunctionsToSelectsAndButtons(),this.options_.persistTextTrackSettings&&this.restoreSettings();}renderModalComponents(d){let o=new fp(d,{textTrackComponentid:this.id_,selectConfigs:pn,fieldSets:[["color","textOpacity"],["backgroundColor","backgroundOpacity"],["windowColor","windowOpacity"]]});this.addChild(o);let h=new pp(d,{textTrackComponentid:this.id_,selectConfigs:pn,fieldSets:[["fontPercent"],["edgeStyle"],["fontFamily"]]});this.addChild(h);let m=new mp(d);this.addChild(m);}bindFunctionsToSelectsAndButtons(){this.on(this.$(".vjs-done-button"),["click","tap"],()=>{this.saveSettings(),this.close();}),this.on(this.$(".vjs-default-button"),["click","tap"],()=>{this.setDefaults(),this.updateDisplay();}),F(pn,d=>{this.on(this.$(d.selector),"change",this.updateDisplay);});}dispose(){this.endDialog=null,super.dispose();}label(){return this.localize("Caption Settings Dialog");}description(){return this.localize("Beginning of dialog window. Escape will cancel and close the window.");}buildCSSClass(){return super.buildCSSClass()+" vjs-text-track-settings";}getValues(){return K(pn,(d,o,h)=>{let m=QT(this.$(o.selector),o.parser);return m!==void 0&&(d[h]=m),d;},{});}setValues(d){F(pn,(o,h)=>{JT(this.$(o.selector),d[h],o.parser);});}setDefaults(){F(pn,d=>{let o=d.hasOwnProperty("default")?d.default:0;this.$(d.selector).selectedIndex=o;});}restoreSettings(){let d;try{d=JSON.parse(l.default.localStorage.getItem(zc));}catch(o){O.warn(o);}d&&this.setValues(d);}saveSettings(){if(!this.options_.persistTextTrackSettings)return;let d=this.getValues();try{Object.keys(d).length?l.default.localStorage.setItem(zc,JSON.stringify(d)):l.default.localStorage.removeItem(zc);}catch(o){O.warn(o);}}updateDisplay(){let d=this.player_.getChild("textTrackDisplay");d&&d.updateDisplay();}handleLanguagechange(){this.fill(),this.renderModalComponents(this.player_),this.bindFunctionsToSelectsAndButtons();}};ae.registerComponent("TextTrackSettings",ZT);var e1=class extends ae{constructor(d,o){let h=o.ResizeObserver||l.default.ResizeObserver;o.ResizeObserver===null&&(h=!1);let m=J({createEl:!h,reportTouchActivity:!1},o);super(d,m),this.ResizeObserver=o.ResizeObserver||l.default.ResizeObserver,this.loadListener_=null,this.resizeObserver_=null,this.debouncedHandler_=Ba(()=>{this.resizeHandler();},100,!1,this),h?(this.resizeObserver_=new this.ResizeObserver(this.debouncedHandler_),this.resizeObserver_.observe(d.el())):(this.loadListener_=()=>{if(!this.el_||!this.el_.contentWindow)return;let _=this.debouncedHandler_,S=this.unloadListener_=function(){Kt(this,"resize",_),Kt(this,"unload",S),S=null;};ai(this.el_.contentWindow,"unload",S),ai(this.el_.contentWindow,"resize",_);},this.one("load",this.loadListener_));}createEl(){return super.createEl("iframe",{className:"vjs-resize-manager",tabIndex:-1,title:this.localize("No content")},{"aria-hidden":"true"});}resizeHandler(){!this.player_||!this.player_.trigger||this.player_.trigger("playerresize");}dispose(){this.debouncedHandler_&&this.debouncedHandler_.cancel(),this.resizeObserver_&&(this.player_.el()&&this.resizeObserver_.unobserve(this.player_.el()),this.resizeObserver_.disconnect()),this.loadListener_&&this.off("load",this.loadListener_),this.el_&&this.el_.contentWindow&&this.unloadListener_&&this.unloadListener_.call(this.el_.contentWindow),this.ResizeObserver=null,this.resizeObserver=null,this.debouncedHandler_=null,this.loadListener_=null,super.dispose();}};ae.registerComponent("ResizeManager",e1);var t1={trackingThreshold:20,liveTolerance:15},i1=class extends ae{constructor(d,o){let h=J(t1,o,{createEl:!1});super(d,h),this.trackLiveHandler_=()=>this.trackLive_(),this.handlePlay_=m=>this.handlePlay(m),this.handleFirstTimeupdate_=m=>this.handleFirstTimeupdate(m),this.handleSeeked_=m=>this.handleSeeked(m),this.seekToLiveEdge_=m=>this.seekToLiveEdge(m),this.reset_(),this.on(this.player_,"durationchange",m=>this.handleDurationchange(m)),this.on(this.player_,"canplay",()=>this.toggleTracking());}trackLive_(){let d=this.player_.seekable();if(!d||!d.length)return;let o=Number(l.default.performance.now().toFixed(4)),h=this.lastTime_===-1?0:(o-this.lastTime_)/1e3;this.lastTime_=o,this.pastSeekEnd_=this.pastSeekEnd()+h;let m=this.liveCurrentTime(),_=this.player_.currentTime(),S=this.player_.paused()||this.seekedBehindLive_||Math.abs(m-_)>this.options_.liveTolerance;(!this.timeupdateSeen_||m===1/0)&&(S=!1),S!==this.behindLiveEdge_&&(this.behindLiveEdge_=S,this.trigger("liveedgechange"));}
166handleDurationchange(){this.toggleTracking();}toggleTracking(){this.player_.duration()===1/0&&this.liveWindow()>=this.options_.trackingThreshold?(this.player_.options_.liveui&&this.player_.addClass("vjs-liveui"),this.startTracking()):(this.player_.removeClass("vjs-liveui"),this.stopTracking());}startTracking(){this.isTracking()||(this.timeupdateSeen_||(this.timeupdateSeen_=this.player_.hasStarted()),this.trackingInterval_=this.setInterval(this.trackLiveHandler_,Li),this.trackLive_(),this.on(this.player_,["play","pause"],this.trackLiveHandler_),this.timeupdateSeen_?this.on(this.player_,"seeked",this.handleSeeked_):(this.one(this.player_,"play",this.handlePlay_),this.one(this.player_,"timeupdate",this.handleFirstTimeupdate_)));}handleFirstTimeupdate(){this.timeupdateSeen_=!0,this.on(this.player_,"seeked",this.handleSeeked_);}handleSeeked(){let d=Math.abs(this.liveCurrentTime()-this.player_.currentTime());this.seekedBehindLive_=this.nextSeekedFromUser_&&d>2,this.nextSeekedFromUser_=!1,this.trackLive_();}handlePlay(){this.one(this.player_,"timeupdate",this.seekToLiveEdge_);}reset_(){this.lastTime_=-1,this.pastSeekEnd_=0,this.lastSeekEnd_=-1,this.behindLiveEdge_=!0,this.timeupdateSeen_=!1,this.seekedBehindLive_=!1,this.nextSeekedFromUser_=!1,this.clearInterval(this.trackingInterval_),this.trackingInterval_=null,this.off(this.player_,["play","pause"],this.trackLiveHandler_),this.off(this.player_,"seeked",this.handleSeeked_),this.off(this.player_,"play",this.handlePlay_),this.off(this.player_,"timeupdate",this.handleFirstTimeupdate_),this.off(this.player_,"timeupdate",this.seekToLiveEdge_);}nextSeekedFromUser(){this.nextSeekedFromUser_=!0;}stopTracking(){this.isTracking()&&(this.reset_(),this.trigger("liveedgechange"));}seekableEnd(){let d=this.player_.seekable(),o=[],h=d?d.length:0;for(;h--;)o.push(d.end(h));return o.length?o.sort()[o.length-1]:1/0;}seekableStart(){let d=this.player_.seekable(),o=[],h=d?d.length:0;for(;h--;)o.push(d.start(h));return o.length?o.sort()[0]:0;}liveWindow(){let d=this.liveCurrentTime();return d===1/0?0:d-this.seekableStart();}isLive(){return this.isTracking();}atLiveEdge(){return!this.behindLiveEdge();}liveCurrentTime(){return this.pastSeekEnd()+this.seekableEnd();}pastSeekEnd(){let d=this.seekableEnd();return this.lastSeekEnd_!==-1&&d!==this.lastSeekEnd_&&(this.pastSeekEnd_=0),this.lastSeekEnd_=d,this.pastSeekEnd_;}behindLiveEdge(){return this.behindLiveEdge_;}isTracking(){return typeof this.trackingInterval_=="number";}seekToLiveEdge(){this.seekedBehindLive_=!1,!this.atLiveEdge()&&(this.nextSeekedFromUser_=!1,this.player_.currentTime(this.liveCurrentTime()));}dispose(){this.stopTracking(),super.dispose();}};ae.registerComponent("LiveTracker",i1);var s1=class extends ae{constructor(d,o){super(d,o),this.on("statechanged",h=>this.updateDom_()),this.updateDom_();}createEl(){return this.els={title:L("div",{className:"vjs-title-bar-title",id:`vjs-title-bar-title-${xi()}`}),description:L("div",{className:"vjs-title-bar-description",id:`vjs-title-bar-description-${xi()}`})},L("div",{className:"vjs-title-bar"},{},ge(this.els));}updateDom_(){let d=this.player_.tech_,o=d&&d.el_,h={title:"aria-labelledby",description:"aria-describedby"};["title","description"].forEach(m=>{let _=this.state[m],S=this.els[m],M=h[m];qn(S),_&&b(S,_),o&&(o.removeAttribute(M),_&&o.setAttribute(M,S.id));}),this.state.title||this.state.description?this.show():this.hide();}update(d){this.setState(d);}dispose(){let d=this.player_.tech_,o=d&&d.el_;o&&(o.removeAttribute("aria-labelledby"),o.removeAttribute("aria-describedby")),super.dispose(),this.els=null;}};ae.registerComponent("TitleBar",s1);var n1={initialDisplay:4e3,position:[],takeFocus:!1},r1=class extends mi{constructor(d,o){o=J(n1,o),super(d,o),this.controlText(o.controlText),this.hide(),this.on(this.player_,["useractive","userinactive"],h=>{this.removeClass("force-display");});}buildCSSClass(){return`vjs-transient-button focus-visible ${this.options_.position.map(d=>`vjs-${d}`).join(" ")}`;}createEl(){let d=L("button",{},{type:"button",class:this.buildCSSClass()},L("span"));return this.controlTextEl_=d.querySelector("span"),d;}show(){super.show(),this.addClass("force-display"),this.options_.takeFocus&&this.el().focus({preventScroll:!0}),this.forceDisplayTimeout=this.player_.setTimeout(()=>{this.removeClass("force-display");},this.options_.initialDisplay);}hide(){this.removeClass("force-display"),super.hide();}dispose(){this.player_.clearTimeout(this.forceDisplayTimeout),super.dispose();}};ae.registerComponent("TransientButton",r1);var qc=d=>{let o=d.el();if(o.hasAttribute("src"))return d.triggerSourceset(o.src),!0;let h=d.$$("source"),m=[],_="";if(!h.length)return!1;for(let S=0;S<h.length;S++){let M=h[S].src;M&&m.indexOf(M)===-1&&m.push(M);}return m.length?(m.length===1&&(_=m[0]),d.triggerSourceset(_),!0):!1;},o1=Object.defineProperty({},"innerHTML",{get(){return this.cloneNode(!0).innerHTML;},set(d){let o=c.default.createElement(this.nodeName.toLowerCase());o.innerHTML=d;let h=c.default.createDocumentFragment();for(;o.childNodes.length;)h.appendChild(o.childNodes[0]);return this.innerText="",l.default.Element.prototype.appendChild.call(this,h),this.innerHTML;}}),Ap=(d,o)=>{let h={};for(let m=0;m<d.length&&(h=Object.getOwnPropertyDescriptor(d[m],o),!(h&&h.set&&h.get));m++);return h.enumerable=!0,h.configurable=!0,h;},a1=d=>Ap([d.el(),l.default.HTMLMediaElement.prototype,l.default.Element.prototype,o1],"innerHTML"),Ip=function(d){let o=d.el();if(o.resetSourceWatch_)return;let h={},m=a1(d),_=S=>(...M)=>{let U=S.apply(o,M);return qc(d),U;};["append","appendChild","insertAdjacentHTML"].forEach(S=>{o[S]&&(h[S]=o[S],o[S]=_(h[S]));}),Object.defineProperty(o,"innerHTML",J(m,{set:_(m.set)})),o.resetSourceWatch_=()=>
166{o.resetSourceWatch_=null,Object.keys(h).forEach(S=>{o[S]=h[S];}),Object.defineProperty(o,"innerHTML",m);},d.one("sourceset",o.resetSourceWatch_);},l1=Object.defineProperty({},"src",{get(){return this.hasAttribute("src")?Pf(l.default.Element.prototype.getAttribute.call(this,"src")):"";},set(d){return l.default.Element.prototype.setAttribute.call(this,"src",d),d;}}),d1=d=>Ap([d.el(),l.default.HTMLMediaElement.prototype,l1],"src"),c1=function(d){if(!d.featuresSourceset)return;let o=d.el();if(o.resetSourceset_)return;let h=d1(d),m=o.setAttribute,_=o.load;Object.defineProperty(o,"src",J(h,{set:S=>{let M=h.set.call(o,S);return d.triggerSourceset(o.src),M;}})),o.setAttribute=(S,M)=>{let U=m.call(o,S,M);return /src/i.test(S)&&d.triggerSourceset(o.src),U;},o.load=()=>{let S=_.call(o);return qc(d)||(d.triggerSourceset(""),Ip(d)),S;},o.currentSrc?d.triggerSourceset(o.currentSrc):qc(d)||Ip(d),o.resetSourceset_=()=>{o.resetSourceset_=null,o.load=_,o.setAttribute=m,Object.defineProperty(o,"src",h),o.resetSourceWatch_&&o.resetSourceWatch_();};},Oe=class gd extends wt{constructor(o,h){super(o,h);let m=o.source,_=!1;if(this.featuresVideoFrameCallback=this.featuresVideoFrameCallback&&this.el_.tagName==="VIDEO",m&&(this.el_.currentSrc!==m.src||o.tag&&o.tag.initNetworkState_===3)?this.setSource(m):this.handleLateInit_(this.el_),o.enableSourceset&&this.setupSourcesetHandling_(),this.isScrubbing_=!1,this.el_.hasChildNodes()){let S=this.el_.childNodes,M=S.length,U=[];for(;M--;){let H=S[M];H.nodeName.toLowerCase()==="track"&&(this.featuresNativeTextTracks?(this.remoteTextTrackEls().addTrackElement_(H),this.remoteTextTracks().addTrack(H.track),this.textTracks().addTrack(H.track),!_&&!this.el_.hasAttribute("crossorigin")&&Ha(H.src)&&(_=!0)):U.push(H));}for(let H=0;H<U.length;H++)this.el_.removeChild(U[H]);}this.proxyNativeTracks_(),this.featuresNativeTextTracks&&_&&O.warn(`Text Tracks are being loaded from another origin but the crossorigin attribute isn't used. 167This may prevent text tracks from loading.`),this.restoreMetadataTracksInIOSNativePlayer_(),($s||qt)&&o.nativeControlsForTouch===!0&&this.setControls(!0),this.proxyWebkitFullscreen_(),this.triggerReady();}dispose(){this.el_&&this.el_.resetSourceset_&&this.el_.resetSourceset_(),gd.disposeMediaElement(this.el_),this.options_=null,super.dispose();}setupSourcesetHandling_(){c1(this);}restoreMetadataTracksInIOSNativePlayer_(){let o=this.textTracks(),h,m=()=>{h=[];for(let S=0;S<o.length;S++){let M=o[S];M.kind==="metadata"&&h.push({track:M,storedMode:M.mode});}};m(),o.addEventListener("change",m),this.on("dispose",()=>o.removeEventListener("change",m));let _=()=>{for(let S=0;S<h.length;S++){let M=h[S];M.track.mode==="disabled"&&M.track.mode!==M.storedMode&&(M.track.mode=M.storedMode);}o.removeEventListener("change",_);};this.on("webkitbeginfullscreen",()=>{o.removeEventListener("change",m),o.removeEventListener("change",_),o.addEventListener("change",_);}),this.on("webkitendfullscreen",()=>{o.removeEventListener("change",m),o.addEventListener("change",m),o.removeEventListener("change",_);});}overrideNative_(o,h){if(h!==this[`featuresNative${o}Tracks`])return;let m=o.toLowerCase();this[`${m}TracksListeners_`]&&Object.keys(this[`${m}TracksListeners_`]).forEach(_=>{this.el()[`${m}Tracks`].removeEventListener(_,this[`${m}TracksListeners_`][_]);}),this[`featuresNative${o}Tracks`]=!h,this[`${m}TracksListeners_`]=null,this.proxyNativeTracksForType_(m);}overrideNativeAudioTracks(o){this.overrideNative_("Audio",o);}overrideNativeVideoTracks(o){this.overrideNative_("Video",o);}proxyNativeTracksForType_(o){let h=Qi[o],m=this.el()[h.getterName],_=this[h.getterName]();if(!this[`featuresNative${h.capitalName}Tracks`]||!m||!m.addEventListener)return;let S={change:U=>{let H={type:"change",target:_,currentTarget:_,srcElement:_};_.trigger(H),o==="text"&&this[Rr.remoteText.getterName]().trigger(H);},addtrack(U){_.addTrack(U.track);},removetrack(U){_.removeTrack(U.track);}},M=function(){let U=[];for(let H=0;H<_.length;H++){let fe=!1;for(let je=0;je<m.length;je++)if(m[je]===_[H]){fe=!0;break;}fe||U.push(_[H]);}for(;U.length;)_.removeTrack(U.shift());};
167this[h.getterName+"Listeners_"]=S,Object.keys(S).forEach(U=>{let H=S[U];m.addEventListener(U,H),this.on("dispose",fe=>m.removeEventListener(U,H));}),this.on("loadstart",M),this.on("dispose",U=>this.off("loadstart",M));}proxyNativeTracks_(){Qi.names.forEach(o=>{this.proxyNativeTracksForType_(o);});}createEl(){let o=this.options_.tag;if(!o||!(this.options_.playerElIngest||this.movingMediaElementInDOM)){if(o){let m=o.cloneNode(!0);o.parentNode&&o.parentNode.insertBefore(m,o),gd.disposeMediaElement(o),o=m;}else{o=c.default.createElement("video");let m=J({},this.options_.tag&&dt(this.options_.tag));(!$s||this.options_.nativeControlsForTouch!==!0)&&delete m.controls,Ke(o,Object.assign(m,{id:this.options_.techId,class:"vjs-tech"}));}o.playerId=this.options_.playerId;}typeof this.options_.preload<"u"&&ut(o,"preload",this.options_.preload),this.options_.disablePictureInPicture!==void 0&&(o.disablePictureInPicture=this.options_.disablePictureInPicture);let h=["loop","muted","playsinline","autoplay"];for(let m=0;m<h.length;m++){let _=h[m],S=this.options_[_];typeof S<"u"&&(S?ut(o,_,_):at(o,_),o[_]=S);}return o;}handleLateInit_(o){if(o.networkState===0||o.networkState===3)return;if(o.readyState===0){let m=!1,_=function(){m=!0;};this.on("loadstart",_);let S=function(){m||this.trigger("loadstart");};this.on("loadedmetadata",S),this.ready(function(){this.off("loadstart",_),this.off("loadedmetadata",S),m||this.trigger("loadstart");});return;}let h=["loadstart"];h.push("loadedmetadata"),o.readyState>=2&&h.push("loadeddata"),o.readyState>=3&&h.push("canplay"),o.readyState>=4&&h.push("canplaythrough"),this.ready(function(){h.forEach(function(m){this.trigger(m);},this);});}setScrubbing(o){this.isScrubbing_=o;}scrubbing(){return this.isScrubbing_;}setCurrentTime(o){try{this.isScrubbing_&&this.el_.fastSeek&&dn?this.el_.fastSeek(o):this.el_.currentTime=o;}catch(h){O(h,"Video is not ready. (Video.js)");}}duration(){if(this.el_.duration===1/0&&ce&&$e&&this.el_.currentTime===0){let o=()=>{this.el_.currentTime>0&&(this.el_.duration===1/0&&this.trigger("durationchange"),this.off("timeupdate",o));};return this.on("timeupdate",o),NaN;}return this.el_.duration||NaN;}width(){return this.el_.offsetWidth;}height(){return this.el_.offsetHeight;}proxyWebkitFullscreen_(){if(!("webkitDisplayingFullscreen"in this.el_))return;let o=function(){this.trigger("fullscreenchange",{isFullscreen:!1}),this.el_.controls&&!this.options_.nativeControlsForTouch&&this.controls()&&(this.el_.controls=!1);},h=function(){"webkitPresentationMode"in this.el_&&this.el_.webkitPresentationMode!=="picture-in-picture"&&(this.one("webkitendfullscreen",o),this.trigger("fullscreenchange",{isFullscreen:!0,nativeIOSFullscreen:!0}));};this.on("webkitbeginfullscreen",h),this.on("dispose",()=>{this.off("webkitbeginfullscreen",h),this.off("webkitendfullscreen",o);});}supportsFullScreen(){return typeof this.el_.webkitEnterFullScreen=="function";}enterFullScreen(){let o=this.el_;if(o.paused&&o.networkState<=o.HAVE_METADATA)Ts(this.el_.play()),this.setTimeout(function(){o.pause();try{o.webkitEnterFullScreen();}catch(h){this.trigger("fullscreenerror",h);}},0);else try{o.webkitEnterFullScreen();}catch(h){this.trigger("fullscreenerror",h);}}exitFullScreen(){if(!this.el_.webkitDisplayingFullscreen){this.trigger("fullscreenerror",new Error("The video is not fullscreen"));return;}this.el_.webkitExitFullScreen();}requestPictureInPicture(){return this.el_.requestPictureInPicture();}requestVideoFrameCallback(o){return this.featuresVideoFrameCallback&&!this.el_.webkitKeys?this.el_.requestVideoFrameCallback(o):super.requestVideoFrameCallback(o);}cancelVideoFrameCallback(o){this.featuresVideoFrameCallback&&!this.el_.webkitKeys?this.el_.cancelVideoFrameCallback(o):super.cancelVideoFrameCallback(o);}src(o){if(o===void 0)return this.el_.src;this.setSrc(o);}addSourceElement(o,h){if(!o)return O.error("Invalid source URL."),!1;let m={src:o};h&&(m.type=h);let _=L("source",{},m);return this.el_.appendChild(_),!0;}removeSourceElement(o){if(!o)return O.error("Source URL is required to remove the source element."),!1;let h=this.el_.querySelectorAll("source");for(let m of h)if(m.src===o)return this.el_.removeChild(m),!0;return O.warn(`No matching source element found with src: ${o}`),!1;}reset(){gd.resetMediaElement(this.el_);}currentSrc(){return this.currentSource_?this.currentSource_.src:this.el_.currentSrc;}setControls(o){this.el_.controls=!!o;}addTextTrack(o,h,m){return this.featuresNativeTextTracks?this.el_.addTextTrack(o,h,m):super.addTextTrack(o,h,m);}
167createRemoteTextTrack(o){if(!this.featuresNativeTextTracks)return super.createRemoteTextTrack(o);let h=c.default.createElement("track");return o.kind&&(h.kind=o.kind),o.label&&(h.label=o.label),(o.language||o.srclang)&&(h.srclang=o.language||o.srclang),o.default&&(h.default=o.default),o.id&&(h.id=o.id),o.src&&(h.src=o.src),h;}addRemoteTextTrack(o,h){let m=super.addRemoteTextTrack(o,h);return this.featuresNativeTextTracks&&this.el().appendChild(m),m;}removeRemoteTextTrack(o){if(super.removeRemoteTextTrack(o),this.featuresNativeTextTracks){let h=this.$$("track"),m=h.length;for(;m--;)(o===h[m]||o===h[m].track)&&this.el().removeChild(h[m]);}}getVideoPlaybackQuality(){if(typeof this.el().getVideoPlaybackQuality=="function")return this.el().getVideoPlaybackQuality();let o={};return typeof this.el().webkitDroppedFrameCount<"u"&&typeof this.el().webkitDecodedFrameCount<"u"&&(o.droppedVideoFrames=this.el().webkitDroppedFrameCount,o.totalVideoFrames=this.el().webkitDecodedFrameCount),l.default.performance&&(o.creationTime=l.default.performance.now()),o;}};q(Oe,"TEST_VID",function(){if(!Ui())return;let d=c.default.createElement("video"),o=c.default.createElement("track");return o.kind="captions",o.srclang="en",o.label="English",d.appendChild(o),d;}),Oe.isSupported=function(){try{Oe.TEST_VID.volume=.5;}catch(d){return!1;}return!!(Oe.TEST_VID&&Oe.TEST_VID.canPlayType);},Oe.canPlayType=function(d){return Oe.TEST_VID.canPlayType(d);},Oe.canPlaySource=function(d,o){return Oe.canPlayType(d.type);},Oe.canControlVolume=function(){try{let d=Oe.TEST_VID.volume;Oe.TEST_VID.volume=d/2+.1;let o=d!==Oe.TEST_VID.volume;return o&&Gt?(l.default.setTimeout(()=>{Oe&&Oe.prototype&&(Oe.prototype.featuresVolumeControl=d!==Oe.TEST_VID.volume);}),!1):o;}catch(d){return!1;}},Oe.canMuteVolume=function(){try{let d=Oe.TEST_VID.muted;return Oe.TEST_VID.muted=!d,Oe.TEST_VID.muted?ut(Oe.TEST_VID,"muted","muted"):at(Oe.TEST_VID,"muted","muted"),d!==Oe.TEST_VID.muted;}catch(d){return!1;}},Oe.canControlPlaybackRate=function(){if(ce&&$e&&ft<58)return!1;try{let d=Oe.TEST_VID.playbackRate;return Oe.TEST_VID.playbackRate=d/2+.1,d!==Oe.TEST_VID.playbackRate;}catch(d){return!1;}},Oe.canOverrideAttributes=function(){try{let d=()=>{};Object.defineProperty(c.default.createElement("video"),"src",{get:d,set:d}),Object.defineProperty(c.default.createElement("audio"),"src",{get:d,set:d}),Object.defineProperty(c.default.createElement("video"),"innerHTML",{get:d,set:d}),Object.defineProperty(c.default.createElement("audio"),"innerHTML",{get:d,set:d});}catch(d){return!1;}return!0;},Oe.supportsNativeTextTracks=function(){return dn||Gt&&$e;},Oe.supportsNativeVideoTracks=function(){return!!(Oe.TEST_VID&&Oe.TEST_VID.videoTracks);},Oe.supportsNativeAudioTracks=function(){return!!(Oe.TEST_VID&&Oe.TEST_VID.audioTracks);},Oe.Events=["loadstart","suspend","abort","error","emptied","stalled","loadedmetadata","loadeddata","canplay","canplaythrough","playing","waiting","seeking","seeked","ended","durationchange","timeupdate","progress","play","pause","ratechange","resize","volumechange"],[["featuresMuteControl","canMuteVolume"],["featuresPlaybackRate","canControlPlaybackRate"],["featuresSourceset","canOverrideAttributes"],["featuresNativeTextTracks","supportsNativeTextTracks"],["featuresNativeVideoTracks","supportsNativeVideoTracks"],["featuresNativeAudioTracks","supportsNativeAudioTracks"]].forEach(function([d,o]){q(Oe.prototype,d,()=>Oe[o](),!0);}),Oe.prototype.featuresVolumeControl=Oe.canControlVolume(),Oe.prototype.movingMediaElementInDOM=!Gt,Oe.prototype.featuresFullscreenResize=!0,Oe.prototype.featuresProgressEvents=!0,Oe.prototype.featuresTimeupdateEvents=!0,Oe.prototype.featuresVideoFrameCallback=!!(Oe.TEST_VID&&Oe.TEST_VID.requestVideoFrameCallback),Oe.disposeMediaElement=function(d){if(d){for(d.parentNode&&d.parentNode.removeChild(d);d.hasChildNodes();)d.removeChild(d.firstChild);d.removeAttribute("src"),typeof d.load=="function"&&function(){try{d.load();}catch(o){}}();}},Oe.resetMediaElement=function(d){if(!d)return;let o=d.querySelectorAll("source"),h=o.length;for(;h--;)d.removeChild(o[h]);d.removeAttribute("src"),typeof d.load=="function"&&function(){try{d.load();}catch(m){}}();},["muted","defaultMuted","autoplay","controls","loop","playsinline"].forEach(function(d){Oe.prototype[d]=function(){return this.el_[d]||this.el_.hasAttribute(d);};}),["muted","defaultMuted","autoplay","loop","playsinline"].forEach(function(d){Oe.prototype["set"+Et(d)]=function(o){this.el_[d]=o,o?this.el_.setAttribute(d,d):this.el_.removeAttribute(d);};}),["paused","currentTime","buffered","volume","poster","preload","error","seeking","seekable","ended","playbackRate","defaultPlaybackRate","disablePictureInPicture","played","
167networkState","readyState","videoWidth","videoHeight","crossOrigin"].forEach(function(d){Oe.prototype[d]=function(){return this.el_[d];};}),["volume","src","poster","preload","playbackRate","defaultPlaybackRate","disablePictureInPicture","crossOrigin"].forEach(function(d){Oe.prototype["set"+Et(d)]=function(o){this.el_[d]=o;};}),["pause","load","play"].forEach(function(d){Oe.prototype[d]=function(){return this.el_[d]();};}),wt.withSourceHandlers(Oe),Oe.nativeSourceHandler={},Oe.nativeSourceHandler.canPlayType=function(d){try{return Oe.TEST_VID.canPlayType(d);}catch(o){return"";}},Oe.nativeSourceHandler.canHandleSource=function(d,o){if(d.type)return Oe.nativeSourceHandler.canPlayType(d.type);if(d.src){let h=wc(d.src);return Oe.nativeSourceHandler.canPlayType(`video/${h}`);}return"";},Oe.nativeSourceHandler.handleSource=function(d,o,h){o.setSrc(d.src);},Oe.nativeSourceHandler.dispose=function(){},Oe.registerSourceHandler(Oe.nativeSourceHandler),wt.registerTech("Html5",Oe);var kp=["progress","abort","suspend","emptied","stalled","loadedmetadata","loadeddata","timeupdate","resize","volumechange","texttrackchange"],Kc={canplay:"CanPlay",canplaythrough:"CanPlayThrough",playing:"Playing",seeked:"Seeked"},Yc=["tiny","xsmall","small","medium","large","xlarge","huge"],Ya={};Yc.forEach(d=>{Ya[d]=`vjs-layout-${d.charAt(0)==="x"?`x-${d.substring(1)}`:d}`;});var u1={tiny:210,xsmall:320,small:425,medium:768,large:1440,xlarge:2560,huge:1/0},xt=class oo extends ae{constructor(o,h,m){if(o.id=o.id||h.id||`vjs_video_${xi()}`,h=Object.assign(oo.getTagSettings(o),h),h.initChildren=!1,h.createEl=!1,h.evented=!1,h.reportTouchActivity=!1,!h.language){let M=o.closest("[lang]");M&&(h.language=M.getAttribute("lang"));}if(super(null,h,m),this.boundDocumentFullscreenChange_=M=>this.documentFullscreenChange_(M),this.boundFullWindowOnEscKey_=M=>this.fullWindowOnEscKey(M),this.boundUpdateStyleEl_=M=>this.updateStyleEl_(M),this.boundApplyInitTime_=M=>this.applyInitTime_(M),this.boundUpdateCurrentBreakpoint_=M=>this.updateCurrentBreakpoint_(M),this.boundHandleTechClick_=M=>this.handleTechClick_(M),this.boundHandleTechDoubleClick_=M=>this.handleTechDoubleClick_(M),this.boundHandleTechTouchStart_=M=>this.handleTechTouchStart_(M),this.boundHandleTechTouchMove_=M=>this.handleTechTouchMove_(M),this.boundHandleTechTouchEnd_=M=>this.handleTechTouchEnd_(M),this.boundHandleTechTap_=M=>this.handleTechTap_(M),this.boundUpdatePlayerHeightOnAudioOnlyMode_=M=>this.updatePlayerHeightOnAudioOnlyMode_(M),this.isFullscreen_=!1,this.log=V(this.id_),this.fsApi_=I,this.isPosterFromTech_=!1,this.queuedCallbacks_=[],this.isReady_=!1,this.hasStarted_=!1,this.userActive_=!1,this.debugEnabled_=!1,this.audioOnlyMode_=!1,this.audioPosterMode_=!1,this.audioOnlyCache_={controlBarHeight:null,playerHeight:null,hiddenChildren:[]},!this.options_||!this.options_.techOrder||!this.options_.techOrder.length)throw new Error("No techOrder specified. Did you overwrite videojs.options instead of just changing the properties you want to override?");if(this.tag=o,this.tagAttributes=o&&dt(o),this.language(this.options_.language),h.languages){let M={};Object.getOwnPropertyNames(h.languages).forEach(function(U){M[U.toLowerCase()]=h.languages[U];}),this.languages_=M;}else this.languages_=oo.prototype.options_.languages;this.resetCache_(),this.poster_=h.poster||"",this.controls_=!!h.controls,o.controls=!1,o.removeAttribute("controls"),this.changingSrc_=!1,this.playCallbacks_=[],this.playTerminatedQueue_=[],o.hasAttribute("autoplay")?this.autoplay(!0):this.autoplay(this.options_.autoplay),h.plugins&&Object.keys(h.plugins).forEach(M=>{if(typeof this[M]!="function")throw new Error(`plugin "${M}" does not exist`);}),this.scrubbing_=!1,this.el_=this.createEl(),Je(this,{eventBusKey:"el_"}),this.fsApi_.requestFullscreen&&(ai(c.default,this.fsApi_.fullscreenchange,this.boundDocumentFullscreenChange_),this.on(this.fsApi_.fullscreenchange,this.boundDocumentFullscreenChange_)),this.fluid_&&this.on(["playerreset","resize"],this.boundUpdateStyleEl_);let _=J(this.options_);if(h.plugins&&Object.keys(h.plugins).forEach(M=>{this[M](h.plugins[M]);}),h.debug&&this.debug(!0),this.options_.playerOptions=_,this.middleware_=[],this.playbackRates(h.playbackRates),h.experimentalSvgIcons){let M=new l.default.DOMParser().parseFromString(OT,"image/svg+xml");if(M.querySelector("parsererror"))O.warn("Failed to load SVG Icons. Falling back to Font Icons."),this.options_.experimentalSvgIcons=null;else{let U=M.documentElement;U.style.display="none",this.el_.appendChild(U),this.addClass("vjs-svg-icons-enabled");}}this.initChildren(),this.isAudio(o.nodeName.toLowerCase()==="audio"),this.controls()?this.addClass("vjs-controls-enabled"):this.addClass("vjs-controls-disabled"),this.el_.setAttribute("role","regi
167on"),this.isAudio()?this.el_.setAttribute("aria-label",this.localize("Audio Player")):this.el_.setAttribute("aria-label",this.localize("Video Player")),this.isAudio()&&this.addClass("vjs-audio"),h.spatialNavigation&&h.spatialNavigation.enabled&&(this.spatialNavigation=new DT(this),this.addClass("vjs-spatial-navigation-enabled")),$s&&this.addClass("vjs-touch-enabled"),Gt||this.addClass("vjs-workinghover"),oo.players[this.id_]=this;let S=p.split(".")[0];this.addClass(`vjs-v${S}`),this.userActive(!0),this.reportUserActivity(),this.one("play",M=>this.listenForUserActivity_(M)),this.on("keydown",M=>this.handleKeyDown(M)),this.on("languagechange",M=>this.handleLanguagechange(M)),this.breakpoints(this.options_.breakpoints),this.responsive(this.options_.responsive),this.on("ready",()=>{this.audioPosterMode(this.options_.audioPosterMode),this.audioOnlyMode(this.options_.audioOnlyMode);});}dispose(){this.trigger("dispose"),this.off("dispose"),Kt(c.default,this.fsApi_.fullscreenchange,this.boundDocumentFullscreenChange_),Kt(c.default,"keydown",this.boundFullWindowOnEscKey_),this.styleEl_&&this.styleEl_.parentNode&&(this.styleEl_.parentNode.removeChild(this.styleEl_),this.styleEl_=null),oo.players[this.id_]=null,this.tag&&this.tag.player&&(this.tag.player=null),this.el_&&this.el_.player&&(this.el_.player=null),this.tech_&&(this.tech_.dispose(),this.isPosterFromTech_=!1,this.poster_=""),this.playerElIngest_&&(this.playerElIngest_=null),this.tag&&(this.tag=null),RT(this),wi.names.forEach(o=>{let h=wi[o],m=this[h.getterName]();m&&m.off&&m.off();}),super.dispose({restoreEl:this.options_.restoreEl});}createEl(){let o=this.tag,h,m=this.playerElIngest_=o.parentNode&&o.parentNode.hasAttribute&&o.parentNode.hasAttribute("data-vjs-player"),_=this.tag.tagName.toLowerCase()==="video-js";m?h=this.el_=o.parentNode:_||(h=this.el_=super.createEl("div"));let S=dt(o);if(_){for(h=this.el_=o,o=this.tag=c.default.createElement("video");h.children.length;)o.appendChild(h.firstChild);B(h,"video-js")||z(h,"video-js"),h.appendChild(o),m=this.playerElIngest_=h,Object.keys(h).forEach(H=>{try{o[H]=h[H];}catch(fe){}});}o.setAttribute("tabindex","-1"),S.tabindex="-1",$e&&bt&&(o.setAttribute("role","application"),S.role="application"),o.removeAttribute("width"),o.removeAttribute("height"),"width"in S&&delete S.width,"height"in S&&delete S.height,Object.getOwnPropertyNames(S).forEac
167h(function(H){_&&H==="class"||h.setAttribute(H,S[H]),_&&o.setAttribute(H,S[H]);}),o.playerId=o.id,o.id+="_html5_api",o.className="vjs-tech",o.player=h.player=this,this.addClass("vjs-paused");let M=["IS_SMART_TV","IS_TIZEN","IS_WEBOS","IS_ANDROID","IS_IPAD","IS_IPHONE","IS_CHROMECAST_RECEIVER"].filter(H=>Gn[H]).map(H=>"vjs-device-"+H.substring(3).toLowerCase().replace(/\_/g,"-"));if(this.addClass(...M),l.default.VIDEOJS_NO_DYNAMIC_STYLE!==!0){this.styleEl_=Da("vjs-styles-dimensions");let H=bs(".vjs-styles-defaults"),fe=bs("head");fe.insertBefore(this.styleEl_,H?H.nextSibling:fe.firstChild);}this.fill_=!1,this.fluid_=!1,this.width(this.options_.width),this.height(this.options_.height),this.fill(this.options_.fill),this.fluid(this.options_.fluid),this.aspectRatio(this.options_.aspectRatio),this.crossOrigin(this.options_.crossOrigin||this.options_.crossorigin);let U=o.getElementsByTagName("a");for(let H=0;H<U.length;H++){let fe=U.item(H);z(fe,"vjs-hidden"),fe.setAttribute("hidden","hidden");}return o.initNetworkState_=o.networkState,o.parentNode&&!m&&o.parentNode.insertBefore(h,o),E(o,h),this.children_.unshift(o),this.el_.setAttribute("lang",this.language_),this.el_.setAttribute("translate","no"),this.el_=h,h;}crossOrigin(o){if(typeof o>"u")return this.techGet_("crossOrigin");if(o!==null&&o!=="anonymous"&&o!=="use-credentials"){O.warn(`crossOrigin must be null, "anonymous" or "use-credentials", given "${o}"`);return;}this.techCall_("setCrossOrigin",o),this.posterImage&&this.posterImage.crossOrigin(o);}width(o){return this.dimension("width",o);}height(o){return this.dimension("height",o);}dimension(o,h){let m=o+"_";if(h===void 0)return this[m]||0;if(h===""||h==="auto"){this[m]=void 0,this.updateStyleEl_();return;}let _=parseFloat(h);if(isNaN(_)){O.error(`Improper value "${h}" supplied for for ${o}`);return;}this[m]=_,this.updateStyleEl_();}fluid(o){if(o===void 0)return!!this.fluid_;this.fluid_=!!o,as(this)&&this.off(["playerreset","resize"],this.boundUpdateStyleEl_),o?(this.addClass("vjs-fluid"),this.fill(!1),Ua(this,()=>{this.on(["playerreset","resize"],this.boundUpdateStyleEl_);})):this.removeClass("vjs-fluid"),this.updateStyleEl_();}fill(o){if(o===void 0)return!!this.fill_;this.fill_=!!o,o?(this.addClass("vjs-fill"),this.fluid(!1)):this.removeClass("vjs-fill");}aspectRatio(o){if(o===void 0)return this.aspectRatio_;if(!/^\d+\:\d+$/.test(o))throw new Error("Improper value supplied for aspect ratio. The format should be width:height, for example 16:9.");this.aspectRatio_=o,this.fluid(!0),this.updateStyleEl_();}updateStyleEl_(){if(l.default.VIDEOJS_NO_DYNAMIC_STYLE===!0){let U=typeof this.width_=="number"?this.width_:this.options_.width,H=typeof this.height_=="number"?this.height_:this.options_.height,fe=this.tech_&&this.tech_.el();fe&&(U>=0&&(fe.width=U),H>=0&&(fe.height=H));return;}let o,h,m,_;this.aspectRatio_!==void 0&&this.aspectRatio_!=="auto"?m=this.aspectRatio_:this.videoWidth()>0?m=this.videoWidth()+":"+this.videoHeight():m="16:9";let S=m.split(":"),M=S[1]/S[0];this.width_!==void 0?o=this.width_:this.height_!==void 0?o=this.height_/M:o=this.videoWidth()||300,this.height_!==void 0?h=this.height_:h=o*M,/^[^a-zA-Z]/.test(this.id())?_="dimensions-"+this.id():_=this.id()+"-dimensions",this.addClass(_),ja(this.styleEl_,` 168 .${_} { 169 width: ${o}px; 170 height: ${h}px; 171 } 172 173 .${_}.vjs-fluid:not(.vjs-audio-only-mode) { 174 padding-top: ${M*100}%; 175 } 176 `);}loadTech_(o,h){this.tech_&&this.unloadTech_();let m=Et(o),_=o.charAt(0).toLowerCase()+o.slice(1);m!=="Html5"&&this.tag&&(wt.getTech("Html5").disposeMediaElement(this.tag),this.tag.player=null,this.tag=null),this.techName_=m,this.isReady_=!1;let S=this.autoplay();(typeof this.autoplay()=="string"||this.autoplay()===!0&&this.options_.normalizeAutoplay)&&(S=!1);let M={source:h,autoplay:S,nativeControlsForTouch:this.options_.nativeControlsForTouch,playerId:this.id(),techId:`${this.id()}_${_}_api`,playsinline:this.options_.playsinline,preload:this.options_.preload,loop:this.options_.loop,disablePictureInPicture:this.options_.disablePictureInPicture,muted:this.options_.muted,poster:this.poster(),language:this.language(),playerElIngest:this.playerElIngest_||!1,"vtt.js":this.options_["vtt.js"],canOverridePoster:!!this.options_.techCanOverridePoster,enableSourceset:this.options_.enableSourceset};
176wi.names.forEach(H=>{let fe=wi[H];M[fe.getterName]=this[fe.privateName];}),Object.assign(M,this.options_[m]),Object.assign(M,this.options_[_]),Object.assign(M,this.options_[o.toLowerCase()]),this.tag&&(M.tag=this.tag),h&&h.src===this.cache_.src&&this.cache_.currentTime>0&&(M.startTime=this.cache_.currentTime);let U=wt.getTech(o);if(!U)throw new Error(`No Tech named '${m}' exists! '${m}' should be registered using videojs.registerTech()'`);this.tech_=new U(M),this.tech_.ready(vt(this,this.handleTechReady_),!0),yc.jsonToTextTracks(this.textTracksJson_||[],this.tech_),kp.forEach(H=>{this.on(this.tech_,H,fe=>this[`handleTech${Et(H)}_`](fe));}),Object.keys(Kc).forEach(H=>{this.on(this.tech_,H,fe=>{if(this.tech_.playbackRate()===0&&this.tech_.seeking()){this.queuedCallbacks_.push({callback:this[`handleTech${Kc[H]}_`].bind(this),event:fe});return;}this[`handleTech${Kc[H]}_`](fe);});}),this.on(this.tech_,"loadstart",H=>this.handleTechLoadStart_(H)),this.on(this.tech_,"sourceset",H=>this.handleTechSourceset_(H)),this.on(this.tech_,"waiting",H=>this.handleTechWaiting_(H)),this.on(this.tech_,"ended",H=>this.handleTechEnded_(H)),this.on(this.tech_,"seeking",H=>this.handleTechSeeking_(H)),this.on(this.tech_,"play",H=>this.handleTechPlay_(H)),this.on(this.tech_,"pause",H=>this.handleTechPause_(H)),this.on(this.tech_,"durationchange",H=>this.handleTechDurationChange_(H)),this.on(this.tech_,"fullscreenchange",(H,fe)=>this.handleTechFullscreenChange_(H,fe)),this.on(this.tech_,"fullscreenerror",(H,fe)=>this.handleTechFullscreenError_(H,fe)),this.on(this.tech_,"enterpictureinpicture",H=>this.handleTechEnterPictureInPicture_(H)),this.on(this.tech_,"leavepictureinpicture",H=>this.handleTechLeavePictureInPicture_(H)),this.on(this.tech_,"error",H=>this.handleTechError_(H)),this.on(this.tech_,"posterchange",H=>this.handleTechPosterChange_(H)),this.on(this.tech_,"textdata",H=>this.handleTechTextData_(H)),this.on(this.tech_,"ratechange",H=>this.handleTechRateChange_(H)),this.on(this.tech_,"loadedmetadata",this.boundUpdateStyleEl_),this.usingNativeControls(this.techGet_("controls")),this.controls()&&!this.usingNativeControls()&&this.addTechControlsListeners_(),this.tech_.el().parentNode!==this.el()&&(m!=="Html5"||!this.tag)&&E(this.tech_.el(),this.el()),this.tag&&(this.tag.player=null,this.tag=null);}unloadTech_(){wi.names.forEach(o=>{let h=wi[o];this[h.privateName]=this[h.getterName]();}),this.textTracksJson_=yc.textTracksToJson(this.tech_),this.isReady_=!1,this.tech_.dispose(),this.tech_=!1,this.isPosterFromTech_&&(this.poster_="",this.trigger("posterchange")),this.isPosterFromTech_=!1;}tech(o){return o===void 0&&O.warn(`Using the tech directly can be dangerous. I hope you know
176what you're doing. 177See https://github.com/videojs/video.js/issues/2617 for more info. 178`),this.tech_;}version(){return{"video.js":p};}addTechControlsListeners_(){this.removeTechControlsListeners_(),this.on(this.tech_,"click",this.boundHandleTechClick_),this.on(this.tech_,"dblclick",this.boundHandleTechDoubleClick_),this.on(this.tech_,"touchstart",this.boundHandleTechTouchStart_),this.on(this.tech_,"touchmove",this.boundHandleTechTouchMove_),this.on(this.tech_,"touchend",this.boundHandleTechTouchEnd_),this.on(this.tech_,"tap",this.boundHandleTechTap_);}removeTechControlsListeners_(){this.off(this.tech_,"tap",this.boundHandleTechTap_),this.off(this.tech_,"touchstart",this.boundHandleTechTouchStart_),this.off(this.tech_,"touchmove",this.boundHandleTechTouchMove_),this.off(this.tech_,"touchend",this.boundHandleTechTouchEnd_),this.off(this.tech_,"click",this.boundHandleTechClick_),this.off(this.tech_,"dblclick",this.boundHandleTechDoubleClick_);}handleTechReady_(){this.triggerReady(),this.cache_.volume&&this.techCall_("setVolume",this.cache_.volume),this.handleTechPosterChange_(),this.handleTechDurationChange_();}handleTechLoadStart_(){this.removeClass("vjs-ended","vjs-seeking"),this.error(null),this.handleTechDurationChange_(),this.paused()?(this.hasStarted(!1),this.trigger("loadstart")):this.trigger("loadstart"),this.manualAutoplay_(this.autoplay()===!0&&this.options_.normalizeAutoplay?"play":this.autoplay());}manualAutoplay_(o){if(!this.tech_||typeof o!="string")return;let h=()=>{let _=this.muted();this.muted(!0);let S=()=>{this.muted(_);};this.playTerminatedQueue_.push(S);let M=this.play();if(Do(M))return M.catch(U=>{throw S(),new Error(`Rejection at manualAutoplay. Restoring muted value. ${U||""}`);});},m;if(o==="any"&&!this.muted()?(m=this.play(),Do(m)&&(m=m.catch(h))):o==="muted"&&!this.muted()?m=h():m=this.play(),!!Do(m))return m.then(()=>{this.trigger({type:"autoplay-success",autoplay:o});}).catch(()=>{this.trigger({type:"autoplay-failure",autoplay:o});});}updateSourceCaches_(o=""){let h=o,m="";typeof h!="string"&&(h=o.src,m=o.type),this.cache_.source=this.cache_.source||{},this.cache_.sources=this.cache_.sources||[],h&&!m&&(m=MT(this,h)),this.cache_.source=J({},o,{src:h,type:m});let _=this.cache_.sources.filter(H=>H.src&&H.src===h),S=[],M=this.$$("source"),U=[];for(let H=0;H<M.length;H++){let fe=dt(M[H]);S.push(fe),fe.src&&fe.src===h&&U.push(fe.src);}U.length&&!_.length?this.cache_.sources=S:_.length||(this.cache_.sources=[this.cache_.source]),this.cache_.src=h;}handleTechSourceset_(o){if(!this.changingSrc_){let h=S=>this.updateSourceCaches_(S),m=this.currentSource().src,_=o.src;m&&!/^blob:/.test(m)&&/^blob:/.test(_)&&(!this.lastSource_||this.lastSource_.tech!==_&&this.lastSource_.player!==m)&&(h=()=>{}),h(_),o.src||this.tech_.any(["sourceset","loadstart"],S=>{if(S.type==="sourceset")return;let M=this.techGet_("currentSrc");this.lastSource_.tech=M,this.updateSourceCaches_(M);});}this.lastSource_={player:this.currentSource().src,tech:o.src},this.trigger({src:o.src,type:"sourceset"});}hasStarted(o){if(o===void 0)return this.hasStarted_;o!==this.hasStarted_&&(this.hasStarted_=o,this.hasStarted_?this.addClass("vjs-has-started"):this.removeClass("vjs-has-started"));}handleTechPlay_(){this.removeClass("vjs-ended","vjs-paused"),this.addClass("vjs-playing"),this.hasStarted(!0),this.trigger("play");}handleTechRateChange_(){this.tech_.playbackRate()>0&&this.cache_.lastPlaybackRate===0&&(this.queuedCallbacks_.forEach(o=>o.callback(o.event)),this.queuedCallbacks_=[]),this.cache_.lastPlaybackRate=this.tech_.playbackRate(),this.trigger("ratechange");}handleTechWaiting_(){this.addClass("vjs-waiting"),this.trigger("waiting");let o=this.currentTime(),h=()=>{o!==this.currentTime()&&(this.removeClass("vjs-waiting"),this.off("timeupdate",h));};this.on("timeupdate",h);}handleTechCanPlay_(){this.removeClass("vjs-waiting"),this.trigger("canplay");}handleTechCanPlayThrough_(){this.removeClass("vjs-waiting"),this.trigger("canplaythrough");}handleTechPlaying_(){this.removeClass("vjs-waiting"),this.trigger("playing");}handleTechSeeking_(){this.addClass("vjs-seeking"),this.trigger("seeking");}
178handleTechSeeked_(){this.removeClass("vjs-seeking","vjs-ended"),this.trigger("seeked");}handleTechPause_(){this.removeClass("vjs-playing"),this.addClass("vjs-paused"),this.trigger("pause");}handleTechEnded_(){this.addClass("vjs-ended"),this.removeClass("vjs-waiting"),this.options_.loop?(this.currentTime(0),this.play()):this.paused()||this.pause(),this.trigger("ended");}handleTechDurationChange_(){this.duration(this.techGet_("duration"));}handleTechClick_(o){this.controls_&&(this.options_===void 0||this.options_.userActions===void 0||this.options_.userActions.click===void 0||this.options_.userActions.click!==!1)&&(this.options_!==void 0&&this.options_.userActions!==void 0&&typeof this.options_.userActions.click=="function"?this.options_.userActions.click.call(this,o):this.paused()?Ts(this.play()):this.pause());}handleTechDoubleClick_(o){this.controls_&&(Array.prototype.some.call(this.$$(".vjs-control-bar, .vjs-modal-dialog"),h=>h.contains(o.target))||(this.options_===void 0||this.options_.userActions===void 0||this.options_.userActions.doubleClick===void 0||this.options_.userActions.doubleClick!==!1)&&(this.options_!==void 0&&this.options_.userActions!==void 0&&typeof this.options_.userActions.doubleClick=="function"?this.options_.userActions.doubleClick.call(this,o):this.isInPictureInPicture()&&!c.default.pictureInPictureElement?this.exitPictureInPicture():this.isFullscreen()?this.exitFullscreen():this.requestFullscreen()));}handleTechTap_(){this.userActive(!this.userActive());}handleTechTouchStart_(){this.userWasActive=this.userActive();}handleTechTouchMove_(){this.userWasActive&&this.reportUserActivity();}handleTechTouchEnd_(o){o.cancelable&&o.preventDefault();}toggleFullscreenClass_(){this.isFullscreen()?this.addClass("vjs-fullscreen"):this.removeClass("vjs-fullscreen");}documentFullscreenChange_(o){let h=o.target.player;if(h&&h!==this)return;let m=this.el(),_=c.default[this.fsApi_.fullscreenElement]===m;!_&&m.matches&&(_=m.matches(":"+this.fsApi_.fullscreen)),this.isFullscreen(_);}handleTechFullscreenChange_(o,h){h&&(h.nativeIOSFullscreen&&(this.addClass("vjs-ios-native-fs"),this.tech_.one("webkitendfullscreen",()=>{this.removeClass("vjs-ios-native-fs");})),this.isFullscreen(h.isFullscreen));}handleTechFullscreenError_(o,h){this.trigger("fullscreenerror",h);}togglePictureInPictureClass_(){this.isInPictureInPicture()?this.addClass("vjs-picture-in-picture"):this.removeClass("vjs-picture-in-picture");}handleTechEnterPictureInPicture_(o){this.isInPictureInPicture(!0);}handleTechLeavePictureInPicture_(o){this.isInPictureInPicture(!1);}handleTechError_(){let o=this.tech_.error();o&&this.error(o);}handleTechTextData_(){let o=null;arguments.length>1&&(o=arguments[1]),this.trigger("textdata",o);}getCache(){return this.cache_;}resetCache_(){this.cache_={currentTime:0,initTime:0,inactivityTimeout:this.options_.inactivityTimeout,duration:NaN,lastVolume:1,lastPlaybackRate:this.defaultPlaybackRate(),media:null,src:"",source:{},sources:[],playbackRates:[],volume:1};}techCall_(o,h){this.ready(function(){if(o in kT)return AT(this.middleware_,this.tech_,o,h);if(o in Df)return Of(this.middleware_,this.tech_,o,h);try{this.tech_&&this.tech_[o](h);}catch(m){throw O(m),m;}},!0);}techGet_(o){if(!(!this.tech_||!this.tech_.isReady_)){if(o in IT)return wT(this.middleware_,this.tech_,o);if(o in Df)return Of(this.middleware_,this.tech_,o);try{return this.tech_[o]();}catch(h){throw this.tech_[o]===void 0?(O(`Video.js: ${o} method not defined for ${this.techName_} playback technology.`,h),h):h.name==="TypeError"?(O(`Video.js: ${o} unavailable on ${this.techName_} playback technology element.`,h),this.tech_.isReady_=!1,h):(O(h),h);}}}play(){return new Promise(o=>{this.play_(o);});}play_(o=Ts){this.playCallbacks_.push(o);let h=!!(!this.changingSrc_&&(this.src()||this.currentSrc())),m=!!(dn||Gt);if(this.waitToPlay_&&(this.off(["ready","loadstart"],this.waitToPlay_),this.waitToPlay_=null),!this.isReady_||!h){this.waitToPlay_=S=>{this.play_();},this.one(["ready","loadstart"],this.waitToPlay_),!h&&m&&this.load();return;}let _=this.techGet_("play");m&&this.hasClass("vjs-ended")&&this.resetProgressBar_(),_===null?this.runPlayTerminatedQueue_():this.runPlayCallbacks_(_);}runPlayTerminatedQueue_(){let o=this.playTerminatedQueue_.slice(0);this.playTerminatedQueue_=[],o.forEach(function(h){h();});}runPlayCallbacks_(o){let h=this.playCallbacks_.slice(0);this.playCallbacks_=[],this.playTerminatedQueue_=[],h.forEach(function(m){m(o);});}
178pause(){this.techCall_("pause");}paused(){return this.techGet_("paused")!==!1;}played(){return this.techGet_("played")||ls(0,0);}scrubbing(o){if(typeof o>"u")return this.scrubbing_;this.scrubbing_=!!o,this.techCall_("setScrubbing",this.scrubbing_),o?this.addClass("vjs-scrubbing"):this.removeClass("vjs-scrubbing");}currentTime(o){if(o===void 0)return this.cache_.currentTime=this.techGet_("currentTime")||0,this.cache_.currentTime;if(o<0&&(o=0),!this.isReady_||this.changingSrc_||!this.tech_||!this.tech_.isReady_){this.cache_.initTime=o,this.off("canplay",this.boundApplyInitTime_),this.one("canplay",this.boundApplyInitTime_);return;}this.techCall_("setCurrentTime",o),this.cache_.initTime=0,isFinite(o)&&(this.cache_.currentTime=Number(o));}applyInitTime_(){this.currentTime(this.cache_.initTime);}duration(o){if(o===void 0)return this.cache_.duration!==void 0?this.cache_.duration:NaN;o=parseFloat(o),o<0&&(o=1/0),o!==this.cache_.duration&&(this.cache_.duration=o,o===1/0?this.addClass("vjs-live"):this.removeClass("vjs-live"),isNaN(o)||this.trigger("durationchange"));}remainingTime(){return this.duration()-this.currentTime();}remainingTimeDisplay(){return Math.floor(this.duration())-Math.floor(this.currentTime());}buffered(){let o=this.techGet_("buffered");return(!o||!o.length)&&(o=ls(0,0)),o;}seekable(){let o=this.techGet_("seekable");return(!o||!o.length)&&(o=ls(0,0)),o;}seeking(){return this.techGet_("seeking");}ended(){return this.techGet_("ended");}networkState(){return this.techGet_("networkState");}readyState(){return this.techGet_("readyState");}bufferedPercent(){return Sf(this.buffered(),this.duration());}bufferedEnd(){let o=this.buffered(),h=this.duration(),m=o.end(o.length-1);return m>h&&(m=h),m;}volume(o){let h;if(o!==void 0){h=Math.max(0,Math.min(1,o)),this.cache_.volume=h,this.techCall_("setVolume",h),h>0&&this.lastVolume_(h);return;}return h=parseFloat(this.techGet_("volume")),isNaN(h)?1:h;}muted(o){if(o!==void 0){this.techCall_("setMuted",o);return;}return this.techGet_("muted")||!1;}defaultMuted(o){return o!==void 0&&this.techCall_("setDefaultMuted",o),this.techGet_("defaultMuted")||!1;}lastVolume_(o){if(o!==void 0&&o!==0){this.cache_.lastVolume=o;return;}return this.cache_.lastVolume;}supportsFullScreen(){return this.techGet_("supportsFullScreen")||!1;}isFullscreen(o){if(o!==void 0){let h=this.isFullscreen_;this.isFullscreen_=!!o,this.isFullscreen_!==h&&this.fsApi_.prefixed&&this.trigger("fullscreenchange"),this.toggleFullscreenClass_();return;}return this.isFullscreen_;}requestFullscreen(o){this.isInPictureInPicture()&&this.exitPictureInPicture();let h=this;return new Promise((m,_)=>{function S(){h.off("fullscreenerror",U),h.off("fullscreenchange",M);}function M(){S(),m();}function U(fe,je){S(),_(je);}h.one("fullscreenchange",M),h.one("fullscreenerror",U);let H=h.requestFullscreenHelper_(o);H&&(H.then(S,S),H.then(m,_));});}requestFullscreenHelper_(o){let h;if(this.fsApi_.prefixed||(h=this.options_.fullscreen&&this.options_.fullscreen.options||{},o!==void 0&&(h=o)),this.fsApi_.requestFullscreen){let m=this.el_[this.fsApi_.requestFullscreen](h);return m&&m.then(()=>this.isFullscreen(!0),()=>this.isFullscreen(!1)),m;}else this.tech_.supportsFullScreen()&&!this.options_.preferFullWindow?this.techCall_("enterFullScreen"):this.enterFullWindow();}exitFullscreen(){let o=this;return new Promise((h,m)=>{function _(){o.off("fullscreenerror",M),o.off("fullscreenchange",S);}function S(){_(),h();}function M(H,fe){_(),m(fe);}o.one("fullscreenchange",S),o.one("fullscreenerror",M);let U=o.exitFullscreenHelper_();U&&(U.then(_,_),U.then(h,m));});}exitFullscreenHelper_(){if(this.fsApi_.requestFullscreen){let o=c.default[this.fsApi_.exitFullscreen]();return o&&Ts(o.then(()=>this.isFullscreen(!1))),o;}else this.tech_.supportsFullScreen()&&!this.options_.preferFullWindow?this.techCall_("exitFullScreen"):this.exitFullWindow();}enterFullWindow(){this.isFullscreen(!0),this.isFullWindow=!0,this.docOrigOverflow=c.default.documentElement.style.overflow,ai(c.default,"keydown",this.boundFullWindowOnEscKey_),c.default.documentElement.style.overflow="hidden",z(c.default.body,"vjs-full-window"),this.trigger("enterFullWindow");}fullWindowOnEscKey(o){o.key==="Escape"&&this.isFullscreen()===!0&&(this.isFullWindow?this.exitFullWindow():this.exitFullscreen());}exitFullWindow(){this.isFullscreen(!1),this.isFullWindow=!1,Kt(c.default,"keydown",this.boundFullWindowOnEscKey_),c.default.documentElement.style.overflow=this.docOrigOverflow,te(c.default.body,"vjs-full-window"),this.trigger("exitFullWindow");}disablePictureInPicture(o){if(o===void 0)return this.techGet_("disablePictureInPicture");this.techCall_("setDisablePictureInPicture",o),this.options_.disablePictureInPicture=o,this.trigger("disablepictureinpicturechanged");}isInPictureInPicture(o){if(o!==void 0){this.isInPictureInPicture_=!!o,this.togglePictureInPictureClass_();return;}return!!this.isInPictureInPicture_;}requestPictureInPicture(){if(this.options_.enableDocumentPictureInPicture&&l.default.documentPictureInPicture){let o=c.default.createElement(this.el().tagName);return o.classList=this.el().classList,o.classList.add("vjs-pip-container"),this.posterImage&&o.appendChild(this.posterImage.el().cloneNode(!0)),this.titleBar&&o.appendChild(this.titleBar.el().cloneNode(!0)),o.appendChild(L("p",{className:"vjs-pip-text"},{},this.localize("Playing in picture-in-picture"))),l.default.documentPictureInPicture.requestWindow({width:this.videoWidth(),height:this.videoHeight()}).then(h=>(ko(h),this.el_.parentNode.insertBefore(o,this.el_),h.document.body.appendChild(this.el_),h.document.body.classList.add("vjs-pip-window"),this.player_.isInPictureInPicture(!0),this.player_.trigger({type:"enterpictureinpicture",pipWindow:h}),h.addEventListener("pagehide",m=>{let _=m.target.querySelector(".video-js");o.parentNode.replaceChild(_,o),this.player_.isInPictureInPicture(!1),this.player_.trigger("leavepictureinpicture");}),h));}return"pictureInPictureEnabled"in c.default&&this.disablePictureInPicture()===!1?this.techGet_("requestPictureInPicture"):Promise.reject("No PiP mode is available");}exitPictureInPicture(){if(l.default.documentPictureInPicture&&l.default.documentPictureInPicture.window)return l.default.documentPictureInPicture.window.close(),Promise.resolve();if("pictureInPictureEnabled"in c.default)return c.default.exitPictureInPicture();}handleKeyDown(o){let{userActions:h}=this.options_;!h||!h.hotkeys||(_=>{let S=_.tagName.toLowerCase();if(_.isContentEditable)return!0;let M=["button","checkbox","hidden","radio","reset","submit"];return S==="input"?M.indexOf(_.type)===-1:["textarea"].indexOf(S)!==-1;})(this.el_.ownerDocument.activeElement)||(typeof h.hotkeys=="function"?h.hotkeys.call(this,o):this.handleHotkeys(o));}handleHotkeys(o){let{fullscreenKey:h=S=>o.key.toLowerCase()==="f",muteKey:m=S=>o.key.toLowerCase()==="m",playPauseKey:_=S=>o.key.toLowerCase()==="k"||o.key.toLowerCase()===" "}=this.options_.userActions?this.options_.userActions.hotkeys:{};if(h.call(this,o)){o.preventDefault(),o.stopPropagation();let S=ae.getComponent("FullscreenToggle");c.default[this.fsApi_.fullscreenEnabled]!==!1&&S.prototype.handleClick.call(this,o);}else m.call(this,o)?(o.preventDefault(),o.stopPropagation(),ae.getComponent("MuteToggle").prototype.handleClick.call(this,o)):_.call(this,o)&&(o.preventDefault(),o.stopPropagation(),ae.getComponent("PlayToggle").prototype.handleClick.call(this,o));}canPlayType(o){let h;for(let m=0,_=this.options_.techOrder;m<_.length;m++){let S=_[m],M=wt.getTech(S);if(M||(M=ae.getComponent(S)),!M){O.error(`The "${S}" tech is undefined. Skipped browser support check for that tech.`);continue;}if(M.isSupported()&&(h=M.canPlayType(o),h))return h;}return"";}selectSource(o){let h=this.options_.techOrder.map(U=>[U,wt.getTech(U)]).filter(([U,H])=>H?H.isSupported():(O.error(`The "${U}" tech is undefined. Skipped browser support check for that tech.`),!1)),m=function(U,H,fe){let je;return U.some(kt=>H.some(gi=>
178{if(je=fe(kt,gi),je)return!0;})),je;},_,S=U=>(H,fe)=>U(fe,H),M=([U,H],fe)=>{if(H.canPlaySource(fe,this.options_[U.toLowerCase()]))return{source:fe,tech:U};};return this.options_.sourceOrder?_=m(o,h,S(M)):_=m(h,o,M),_||!1;}handleSrc_(o,h){if(typeof o>"u")return this.cache_.src||"";this.resetRetryOnError_&&this.resetRetryOnError_();let m=jf(o);if(!m.length){this.setTimeout(function(){this.error({code:4,message:this.options_.notSupportedMessage});},0);return;}if(this.changingSrc_=!0,h||(this.cache_.sources=m),this.updateSourceCaches_(m[0]),CT(this,m[0],(_,S)=>{if(this.middleware_=S,h||(this.cache_.sources=m),this.updateSourceCaches_(_),this.src_(_)){if(m.length>1)return this.handleSrc_(m.slice(1));this.changingSrc_=!1,this.setTimeout(function(){this.error({code:4,message:this.options_.notSupportedMessage});},0),this.triggerReady();return;}ST(S,this.tech_);}),m.length>1){let _=()=>{this.error(null),this.handleSrc_(m.slice(1),!0);},S=()=>{this.off("error",_);};this.one("error",_),this.one("playing",S),this.resetRetryOnError_=()=>{this.off("error",_),this.off("playing",S);};}}src(o){return this.handleSrc_(o,!1);}src_(o){let h=this.selectSource([o]);return h?rt(h.tech,this.techName_)?(this.ready(function(){this.tech_.constructor.prototype.hasOwnProperty("setSource")?this.techCall_("setSource",o):this.techCall_("src",o.src),this.changingSrc_=!1;},!0),!1):(this.changingSrc_=!0,this.loadTech_(h.tech,h.source),this.tech_.ready(()=>{this.changingSrc_=!1;}),!1):!0;}addSourceElement(o,h){return this.tech_?this.tech_.addSourceElement(o,h):!1;}removeSourceElement(o){return this.tech_?this.tech_.removeSourceElement(o):!1;}load(){if(this.tech_&&this.tech_.vhs){this.src(this.currentSource());return;}this.techCall_("load");}reset(){this.paused()?this.doReset_():Ts(this.play().then(()=>this.doReset_()));}doReset_(){this.tech_&&this.tech_.clearTracks("text"),this.removeClass("vjs-playing"),this.addClass("vjs-paused"),this.resetCache_(),this.poster(""),this.loadTech_(this.options_.techOrder[0],null),this.techCall_("reset"),this.resetControlBarUI_(),this.error(null),this.titleBar&&this.titleBar.update({title:void 0,description:void 0}),as(this)&&this.trigger("playerreset");}resetControlBarUI_(){this.resetProgressBar_(),this.resetPlaybackRate_(),this.resetVolumeBar_();}resetProgressBar_(){this.currentTime(0);let{currentTimeDisplay:o,durationDisplay:h,progressControl:m,remainingTimeDisplay:_}=this.controlBar||{},{seekBar:S}=m||{};o&&o.updateContent(),h&&h.updateContent(),_&&_.updateContent(),S&&(S.update(),S.loadProgressBar&&S.loadProgressBar.update());}resetPlaybackRate_(){this.playbackRate(this.defaultPlaybackRate()),this.handleTechRateChange_();}resetVolumeBar_(){this.volume(1),this.trigger("volumechange");}currentSources(){let o=this.currentSource(),h=[];return Object.keys(o).length!==0&&h.push(o),this.cache_.sources||h;}currentSource(){return this.cache_.source||{};}currentSrc(){return this.currentSource()&&this.currentSource().src||"";}currentType(){return this.currentSource()&&this.currentSource().type||"";}preload(o){if(o!==void 0){this.techCall_("setPreload",o),this.options_.preload=o;return;}return this.techGet_("preload");}autoplay(o){if(o===void 0)return this.options_.autoplay||!1;let h;typeof o=="string"&&/(any|play|muted)/.test(o)||o===!0&&this.options_.normalizeAutoplay?(this.options_.autoplay=o,this.manualAutoplay_(typeof o=="string"?o:"play"),h=!1):o?this.options_.autoplay=!0:this.options_.autoplay=!1,h=typeof h>"u"?this.options_.autoplay:h,this.tech_&&this.techCall_("setAutoplay",h);}playsinline(o){return o!==void 0&&(this.techCall_("setPlaysinline",o),this.options_.playsinline=o),this.techGet_("playsinline");}loop(o){if(o!==void 0){this.techCall_("setLoop",o),this.options_.loop=o;return;}return this.techGet_("loop");}poster(o){if(o===void 0)return this.poster_;o||(o=""),o!==this.poster_&&(this.poster_=o,this.techCall_("setPoster",o),this.isPosterFromTech_=!1,this.trigger("posterchange"));}handleTechPosterChange_(){if((!this.poster_||this.options_.techCanOverridePoster)&&this.tech_&&this.tech_.poster){let o=this.tech_.poster()||"";o!==this.poster_&&(this.poster_=o,this.isPosterFromTech_=!0,this.trigger("posterchange"));}}
178controls(o){if(o===void 0)return!!this.controls_;o=!!o,this.controls_!==o&&(this.controls_=o,this.usingNativeControls()&&this.techCall_("setControls",o),this.controls_?(this.removeClass("vjs-controls-disabled"),this.addClass("vjs-controls-enabled"),this.trigger("controlsenabled"),this.usingNativeControls()||this.addTechControlsListeners_()):(this.removeClass("vjs-controls-enabled"),this.addClass("vjs-controls-disabled"),this.trigger("controlsdisabled"),this.usingNativeControls()||this.removeTechControlsListeners_()));}usingNativeControls(o){if(o===void 0)return!!this.usingNativeControls_;o=!!o,this.usingNativeControls_!==o&&(this.usingNativeControls_=o,this.usingNativeControls_?(this.addClass("vjs-using-native-controls"),this.trigger("usingnativecontrols")):(this.removeClass("vjs-using-native-controls"),this.trigger("usingcustomcontrols")));}error(o){if(o===void 0)return this.error_||null;if(v("beforeerror").forEach(h=>{let m=h(this,o);if(!(re(m)&&!Array.isArray(m)||typeof m=="string"||typeof m=="number"||m===null)){this.log.error("please return a value that MediaError expects in beforeerror hooks");return;}o=m;}),this.options_.suppressNotSupportedError&&o&&o.code===4){let h=function(){this.error(o);};this.options_.suppressNotSupportedError=!1,this.any(["click","touchstart"],h),this.one("loadstart",function(){this.off(["click","touchstart"],h);});return;}if(o===null){this.error_=null,this.removeClass("vjs-error"),this.errorDisplay&&this.errorDisplay.close();return;}this.error_=new Lt(o),this.addClass("vjs-error"),O.error(`(CODE:${this.error_.code} ${Lt.errorTypes[this.error_.code]})`,this.error_.message,this.error_),this.trigger("error"),v("error").forEach(h=>h(this,this.error_));}reportUserActivity(o){this.userActivity_=!0;}userActive(o){if(o===void 0)return this.userActive_;if(o=!!o,o!==this.userActive_){if(this.userActive_=o,this.userActive_){this.userActivity_=!0,this.removeClass("vjs-user-inactive"),this.addClass("vjs-user-active"),this.trigger("useractive");return;}this.tech_&&this.tech_.one("mousemove",function(h){h.stopPropagation(),h.preventDefault();}),this.userActivity_=!1,this.removeClass("vjs-user-active"),this.addClass("vjs-user-inactive"),this.trigger("userinactive");}}listenForUserActivity_(){let o,h,m,_=vt(this,this.reportUserActivity),S=function(kt){(kt.screenX!==h||kt.screenY!==m)&&(h=kt.screenX,m=kt.screenY,_());},M=function(){_(),this.clearInterval(o),o=this.setInterval(_,250);},U=function(kt){_(),this.clearInterval(o);};this.on("mousedown",M),this.on("mousemove",S),this.on("mouseup",U),this.on("mouseleave",U);let H=this.getChild("controlBar");H&&!Gt&&!ce&&(H.on("mouseenter",function(kt){this.player().options_.inactivityTimeout!==0&&(this.player().cache_.inactivityTimeout=this.player().options_.inactivityTimeout),this.player().options_.inactivityTimeout=0;}),H.on("mouseleave",function(kt){this.player().options_.inactivityTimeout=this.player().cache_.inactivityTimeout;})),this.on("keydown",_),this.on("keyup",_);let fe,je=function(){if(!this.userActivity_)return;this.userActivity_=!1,this.userActive(!0),this.clearTimeout(fe);let kt=this.options_.inactivityTimeout;kt<=0||(fe=this.setTimeout(function(){this.userActivity_||this.userActive(!1);},kt));};this.setInterval(je,250);}playbackRate(o){if(o!==void 0){this.techCall_("setPlaybackRate",o);return;}return this.tech_&&this.tech_.featuresPlaybackRate?this.cache_.lastPlaybackRate||this.techGet_("playbackRate"):1;}defaultPlaybackRate(o){return o!==void 0?this.techCall_("setDefaultPlaybackRate",o):this.tech_&&this.tech_.featuresPlaybackRate?this.techGet_("defaultPlaybackRate"):1;}isAudio(o){if(o!==void 0){this.isAudio_=!!o;return;}return!!this.isAudio_;}updatePlayerHeightOnAudioOnlyMode_(){let o=this.getChild("ControlBar");!o||this.audioOnlyCache_.controlBarHeight===o.currentHeight()||(this.audioOnlyCache_.controlBarHeight=o.currentHeight(),this.height(this.audioOnlyCache_.controlBarHeight));}enableAudioOnlyUI_(){this.addClass("vjs-audio-only-mode");let o=this.children(),h=this.getChild("ControlBar"),m=h&&h.currentHeight();o.forEach(_=>{_!==h&&_.el_&&!_.hasClass("vjs-hidden")&&(_.hide(),this.audioOnlyCache_.hiddenChildren.push(_));}
178),this.audioOnlyCache_.playerHeight=this.currentHeight(),this.audioOnlyCache_.controlBarHeight=m,this.on("playerresize",this.boundUpdatePlayerHeightOnAudioOnlyMode_),this.height(m),this.trigger("audioonlymodechange");}disableAudioOnlyUI_(){this.removeClass("vjs-audio-only-mode"),this.off("playerresize",this.boundUpdatePlayerHeightOnAudioOnlyMode_),this.audioOnlyCache_.hiddenChildren.forEach(o=>o.show()),this.height(this.audioOnlyCache_.playerHeight),this.trigger("audioonlymodechange");}audioOnlyMode(o){if(typeof o!="boolean"||o===this.audioOnlyMode_)return this.audioOnlyMode_;if(this.audioOnlyMode_=o,o){let h=[];return this.isInPictureInPicture()&&h.push(this.exitPictureInPicture()),this.isFullscreen()&&h.push(this.exitFullscreen()),this.audioPosterMode()&&h.push(this.audioPosterMode(!1)),Promise.all(h).then(()=>this.enableAudioOnlyUI_());}return Promise.resolve().then(()=>this.disableAudioOnlyUI_());}enablePosterModeUI_(){(this.tech_&&this.tech_).hide(),this.addClass("vjs-audio-poster-mode"),this.trigger("audiopostermodechange");}disablePosterModeUI_(){(this.tech_&&this.tech_).show(),this.removeClass("vjs-audio-poster-mode"),this.trigger("audiopostermodechange");}audioPosterMode(o){return typeof o!="boolean"||o===this.audioPosterMode_?this.audioPosterMode_:(this.audioPosterMode_=o,o?this.audioOnlyMode()?this.audioOnlyMode(!1).then(()=>{this.enablePosterModeUI_();}):Promise.resolve().then(()=>{this.enablePosterModeUI_();}):Promise.resolve().then(()=>{this.disablePosterModeUI_();}));}addTextTrack(o,h,m){if(this.tech_)return this.tech_.addTextTrack(o,h,m);}addRemoteTextTrack(o,h){if(this.tech_)return this.tech_.addRemoteTextTrack(o,h);}removeRemoteTextTrack(o={}){let{track:h}=o;if(h||(h=o),this.tech_)return this.tech_.removeRemoteTextTrack(h);}getVideoPlaybackQuality(){return this.techGet_("getVideoPlaybackQuality");}videoWidth(){return this.tech_&&this.tech_.videoWidth&&this.tech_.videoWidth()||0;}videoHeight(){return this.tech_&&this.tech_.videoHeight&&this.tech_.videoHeight()||0;}language(o){if(o===void 0)return this.language_;this.language_!==String(o).toLowerCase()&&(this.language_=String(o).toLowerCase(),as(this)&&this.trigger("languagechange"));}languages(){return J(oo.prototype.options_.languages,this.languages_);}toJSON(){let o=J(this.options_),h=o.tracks;o.tracks=[];for(let m=0;m<h.length;m++){let _=h[m];_=J(_),_.player=void 0,o.tracks[m]=_;}return o;}createModal(o,h){h=h||{},h.content=o||"";let m=new kr(this,h);return this.addChild(m),m.on("dispose",()=>{this.removeChild(m);}),m.open(),m;}updateCurrentBreakpoint_(){if(!this.responsive())return;let o=this.currentBreakpoint(),h=this.currentWidth();for(let m=0;m<Yc.length;m++){let _=Yc[m];if(h<=this.breakpoints_[_]){if(o===_)return;o&&this.removeClass(Ya[o]),this.addClass(Ya[_]),this.breakpoint_=_;break;}}}removeCurrentBreakpoint_(){let o=this.currentBreakpointClass();this.breakpoint_="",o&&this.removeClass(o);}breakpoints(o){return o===void 0?Object.assign(this.breakpoints_):(this.breakpoint_="",this.breakpoints_=Object.assign({},u1,o),this.updateCurrentBreakpoint_(),Object.assign(this.breakpoints_));}responsive(o){if(o===void 0)return this.responsive_;o=!!o;let h=this.responsive_;if(o!==h)return this.responsive_=o,o?(this.on("playerresize",this.boundUpdateCurrentBreakpoint_),this.updateCurrentBreakpoint_()):(this.off("playerresize",this.boundUpdateCurrentBreakpoint_),this.removeCurrentBreakpoint_()),o;}currentBreakpoint(){return this.breakpoint_;}currentBreakpointClass(){return Ya[this.breakpoint_]||"";}loadMedia(o,h){if(!o||typeof o!="object")return;let m=this.crossOrigin();this.reset(),this.cache_.media=J(o);let{artist:_,artwork:S,description:M,poster:U,src:H,textTracks:fe,title:je}=this.cache_.media;!S&&U&&(this.cache_.media.artwork=[{src:U,type:Wa(U)}]),m&&this.crossOrigin(m),H&&this.src(H),U&&this.poster(U),Array.isArray(fe)&&fe.forEach(kt=>this.addRemoteTextTrack(kt,!1)),this.titleBar&&this.titleBar.update({title:je,description:M||_||""}),this.ready(h);}getMedia(){if(!this.cache_.media){let o=this.poster(),h={src:this.currentSources(),textTracks:Array.prototype.map.call(this.remoteTextTracks(),m=>({kind:m.kind,label:m.label,language:m.language,src:m.src}))};return o&&(h.poster=o,h.artwork=[{src:h.poster,type:Wa(h.poster)}]),h;}return J(this.cache_.media);}static getTagSettings(o){let h={sources:[],tracks:[]},m=dt(o),_=m["data-setup"];if(B(o,"vjs-fill")&&(m.fill=!0),B(o,"vjs-fluid")&&(m.fluid=!0),_!==null)try{Object.assign(m,JSON.parse(_||"{}"));}catch(S){O.error("data-setup",S);}if(Object.assign(h,m),o.hasChildNodes()){let S=o.childNodes;for(let M=0,U=S.length;M<U;M++){let H=S[M],fe=H.nodeName.toLowerCase();fe==="source"?h.sources.push(dt(H)):fe==="track"&&h.tracks.push(dt(H));}}return h;}debug(o){if(o===void 0)return this.debugEnabled_;o?(this.trigger("debugon"),this.previousLogLevel_=this.log.level,this.log.level("debug"),this.debugEnabled_=!0):(this.trigger("debugoff"),this.log.level(this.previousLogLevel_),this.previousLogLevel_=void 0,this.debugEnabled_=!1);}playbackRates(o){if(o===void 0)return this.cache_.playbackRates;Array.isArray(o)&&o.every(h=>typeof h=="number")&&(this.cache_.playbackRates=o,this.trigger("playbackrateschange"));}};xt.prototype.videoTracks=()=>{},xt.prototype.audioTracks=()=>{},xt.prototype.textTracks=()=>{},xt.prototype.remoteTextTracks=()=>{},xt.prototype.remoteTextTrackEls=()=>{}
178,wi.names.forEach(function(d){let o=wi[d];xt.prototype[o.getterName]=function(){return this.tech_?this.tech_[o.getterName]():(this[o.privateName]=this[o.privateName]||new o.ListClass(),this[o.privateName]);};}),xt.prototype.crossorigin=xt.prototype.crossOrigin,xt.players={};var Uo=l.default.navigator;xt.prototype.options_={techOrder:wt.defaultTechOrder_,html5:{},enableSourceset:!0,inactivityTimeout:2e3,playbackRates:[],liveui:!1,children:["mediaLoader","posterImage","titleBar","textTrackDisplay","loadingSpinner","bigPlayButton","liveTracker","controlBar","errorDisplay","textTrackSettings","resizeManager"],language:Uo&&(Uo.languages&&Uo.languages[0]||Uo.userLanguage||Uo.language)||"en",languages:{},notSupportedMessage:"No compatible source was found for this media.",normalizeAutoplay:!1,fullscreen:{options:{navigationUI:"hide"}},breakpoints:{},responsive:!1,audioOnlyMode:!1,audioPosterMode:!1,spatialNavigation:{enabled:!1,horizontalSeek:!1},enableSmoothSeeking:!1,disableSeekWhileScrubbingOnMobile:!1,disableSeekWhileScrubbingOnSTV:!1},kp.forEach(function(d){xt.prototype[`handleTech${Et(d)}_`]=function(){return this.trigger(d);};}),ae.registerComponent("Player",xt);var Xa="plugin",Or="activePlugins_",Dr={},Qa=d=>Dr.hasOwnProperty(d),Ja=d=>Qa(d)?Dr[d]:void 0,Pp=(d,o)=>{d[Or]=d[Or]||{},d[Or][o]=!0;},Za=(d,o,h)=>{let m=(h?"before":"")+"pluginsetup";d.trigger(m,o),d.trigger(m+":"+o.name,o);},h1=function(d,o){let h=function(){Za(this,{name:d,plugin:o,instance:null},!0);let m=o.apply(this,arguments);return Pp(this,d),Za(this,{name:d,plugin:o,instance:m}),m;};return Object.keys(o).forEach(function(m){h[m]=o[m];}),h;},Rp=(d,o)=>(o.prototype.name=d,function(...h){Za(this,{name:d,plugin:o,instance:null},!0);let m=new o(this,...h);return this[d]=()=>m,Za(this,m.getEventHash()),m;}),mn=(()=>{let d=class vd{constructor(h){if(this.constructor===vd)throw new Error("Plugin must be sub-classed; not directly instantiated.");this.player=h,this.log||(this.log=this.player.log.createLogger(this.name)),Je(this),delete this.trigger,Tt(this,this.constructor.defaultState),Pp(h,this.name),this.dispose=this.dispose.bind(this),h.on("dispose",this.dispose);}version(){return this.constructor.VERSION;}getEventHash(h={}){return h.name=this.name,h.plugin=this.constructor,h.instance=this,h;}trigger(h,m={}){return fn(this.eventBusEl_,h,this.getEventHash(m));}handleStateChanged(h){}dispose(){let{name:h,player:m}=this;this.trigger("dispose"),this.off(),m.off("dispose",this.dispose),m[Or][h]=!1,this.player=this.state=null,m[h]=Rp(h,Dr[h]);}static isBasic(h){let m=typeof h=="string"?Ja(h):h;return typeof m=="function"&&!vd.prototype.isPrototypeOf(m.prototype);}static registerPlugin(h,m){if(typeof h!="string")throw new Error(`Illegal plugin name, "${h}", must be a string, was ${typeof h}.`);if(Qa(h))O.warn(`A plugin named "${h}" already exists. You may want to avoid re-registering plugins!`);else if(xt.prototype.hasOwnProperty(h))throw new Error(`Illegal plugin name, "${h}", cannot share a name with an existing player method!`);if(typeof m!="function")throw new Error(`Illegal plugin for "${h}", must be a function, was ${typeof m}.`);return Dr[h]=m,h!==Xa&&(vd.isBasic(m)?xt.prototype[h]=h1(h,m):xt.prototype[h]=Rp(h,m)),m;}static deregisterPlugin(h){if(h===Xa)throw new Error("Cannot de-register base plugin.");Qa(h)&&(delete Dr[h],delete xt.prototype[h]);}static getPlugins(h=Object.keys(Dr)){let m;return h.forEach(_=>{let S=Ja(_);S&&(m=m||{},m[_]=S);}),m;}static getPluginVersion(h){let m=Ja(h);return m&&m.VERSION||"";}};return d.getPlugin=Ja,d.BASE_PLUGIN_NAME=Xa,d;})();mn.registerPlugin(Xa,mn),xt.prototype.usingPlugin=function(d){return!!this[Or]&&this[Or][d]===!0;},xt.prototype.hasPlugin=function(d){return!!Qa(d);};function f1(d,o){let h=!1;return function(...m){return h||O.warn(d),h=!0,o.apply(this,m);};}function ds(d,o,h,m){return f1(`${o} is deprecated and will be removed in ${d}.0; please use ${h} instead.`,m);}var p1={NetworkBadStatus:"networkbadstatus",NetworkRequestFailed:"networkrequestfailed",NetworkRequestAborted:"networkrequestaborted",NetworkRequestTimeout:"networkrequesttimeout",NetworkBodyParserFailed:"networkbodyparserfailed",StreamingHlsPlaylistParserError:"streaminghlsplaylistparsererror",StreamingDashManifestParserError:"streamingdashmanifestparsererror",StreamingContentSteeringParserError:"streamingcontentsteeringparsererror",StreamingVttParserError:"streamingvttparsererror",StreamingFailedToSelectNextSegment:"streamingfailedtoselectnextsegment",StreamingFailedToDecryptSegment:"streamingfailedtodecryptsegment",StreamingFailedToTransmuxSegment:"streamingfailedtotransmuxsegment",StreamingFailedToAppendSegment:"streamingfailedtoappendsegment",StreamingCodecsChangeError:"streamingcodecschangeerror"},xp=d=>d.indexOf("#")===0?d.slice(1):d;function Le(d,o,h){let m=Le.getPlayer(d);if(m)return o&&O.warn(`Player "${d}" is already initialised. Options will not be applied.`),h&&m.ready(h),m;
178let _=typeof d=="string"?bs("#"+xp(d)):d;if(!Pi(_))throw new TypeError("The element or ID supplied is not valid. (videojs)");let S="getRootNode"in _&&_.getRootNode()instanceof l.default.ShadowRoot?_.getRootNode():_.ownerDocument.body;return(!_.ownerDocument.defaultView||!S.contains(_))&&O.warn("The element supplied is not included in the DOM"),o=o||{},o.restoreEl===!0&&(o.restoreEl=(_.parentNode&&_.parentNode.hasAttribute&&_.parentNode.hasAttribute("data-vjs-player")?_.parentNode:_).cloneNode(!0)),v("beforesetup").forEach(M=>{let U=M(_,J(o));if(!re(U)||Array.isArray(U)){O.error("please return an object in beforesetup hooks");return;}o=J(o,U);}),m=new(ae.getComponent("Player"))(_,o,h),v("setup").forEach(M=>M(m)),m;}if(Le.hooks_=g,Le.hooks=v,Le.hook=T,Le.hookOnce=A,Le.removeHook=y,l.default.VIDEOJS_NO_DYNAMIC_STYLE!==!0&&Ui()){let d=bs(".vjs-styles-defaults");if(!d){d=Da("vjs-styles-defaults");let o=bs("head");o&&o.insertBefore(d,o.firstChild),ja(d,` 179 .video-js { 180 width: 300px; 181 height: 150px; 182 } 183 184 .vjs-fluid:not(.vjs-audio-only-mode) { 185 padding-top: 56.25% 186 } 187 `);}}
187Ro(1,Le),Le.VERSION=p,Le.options=xt.prototype.options_,Le.getPlayers=()=>xt.players,Le.getPlayer=d=>{let o=xt.players,h;if(typeof d=="string"){let m=xp(d),_=o[m];if(_)return _;h=bs("#"+m);}else h=d;if(Pi(h)){let{player:m,playerId:_}=h;if(m||o[_])return m||o[_];}},Le.getAllPlayers=()=>Object.keys(xt.players).map(d=>xt.players[d]).filter(Boolean),Le.players=xt.players,Le.getComponent=ae.getComponent,Le.registerComponent=(d,o)=>(wt.isTech(o)&&O.warn(`The ${d} tech was registered as a component. It should instead be registered using videojs.registerTech(name, tech)`),ae.registerComponent.call(ae,d,o)),Le.getTech=wt.getTech,Le.registerTech=wt.registerTech,Le.use=ET,Object.defineProperty(Le,"middleware",{value:{},writeable:!1,enumerable:!0}),Object.defineProperty(Le.middleware,"TERMINATOR",{value:Ga,writeable:!1,enumerable:!0}),Le.browser=Gn,Le.obj=G,Le.mergeOptions=ds(9,"videojs.mergeOptions","videojs.obj.merge",J),Le.defineLazyProperty=ds(9,"videojs.defineLazyProperty","videojs.obj.defineLazyProperty",q),Le.bind=ds(9,"videojs.bind","native Function.prototype.bind",vt),Le.registerPlugin=mn.registerPlugin,Le.deregisterPlugin=mn.deregisterPlugin,Le.plugin=(d,o)=>(O.warn("videojs.plugin() is deprecated; use videojs.registerPlugin() instead"),mn.registerPlugin(d,o)),Le.getPlugins=mn.getPlugins,Le.getPlugin=mn.getPlugin,Le.getPluginVersion=mn.getPluginVersion,Le.addLanguage=function(d,o){return d=(""+d).toLowerCase(),Le.options.languages=J(Le.options.languages,{[d]:o}),Le.options.languages[d];},Le.log=O,Le.createLogger=V,Le.time=fT,Le.createTimeRange=ds(9,"videojs.createTimeRange","videojs.time.createTimeRanges",ls),Le.createTimeRanges=ds(9,"videojs.createTimeRanges","videojs.time.createTimeRanges",ls),Le.formatTime=ds(9,"videojs.formatTime","videojs.time.formatTime",Qn),Le.setFormatTime=ds(9,"videojs.setFormatTime","videojs.time.setFormatTime",Ef),Le.resetFormatTime=ds(9,"videojs.resetFormatTime","videojs.time.resetFormatTime",Cf),Le.parseUrl=ds(9,"videojs.parseUrl","videojs.url.parseUrl",Sc),Le.isCrossOrigin=ds(9,"videojs.isCrossOrigin","videojs.url.isCrossOrigin",Ha),Le.EventTarget=Si,Le.any=Mo,Le.on=ai,Le.one=Sr,Le.off=Kt,Le.trigger=fn,Le.xhr=u.default,Le.TrackList=Jn,Le.TextTrack=jo,Le.TextTrackList=Ec,Le.AudioTrack=Lf,Le.AudioTrackList=wf,Le.VideoTrack=Mf,Le.VideoTrackList=Af,["isEl","isTextNode","createEl","hasClass","addClass","removeClass","toggleClass","setAttributes","getAttributes","emptyEl","appendContent","insertContent"].forEach(d=>{Le[d]=function(){return O.warn(`videojs.${d}() is deprecated; use videojs.dom.${d}() instead`),Ma[d].apply(null,arguments);};}),Le.computedStyle=ds(9,"videojs.computedStyle","videojs.dom.computedStyle",os),Le.dom=Ma,Le.fn=pc,Le.num=HT,Le.str=Xi,Le.url=bT,Le.Error=p1,t.exports=Le;})(),1);function UC(e){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",s=new Uint8Array(e),n="";for(let r of crypto.getRandomValues(s))n+=t[r%62];return n;}function VC(){return Ay(on("playback-rate"));}function $C(e){return Us("playback-rate",e.toString());}function HC(){return Ay(on("volume"));}function zC(e){return Us("volume",e.toString());}function GC(){return ky(on("mute"));}function WC(e){return Us("mute",e.toString());}function $h(){return ky(on("theater-enabled"));}function qC(e){return Us("theater-enabled",e.toString());}function KC(e){return Us("average-bandwidth",e.toString());}function YC(){return Iy(on("average-bandwidth"));}function XC(e){return Us("preferred-resolution",e.toString());}function Sy(){return Iy(on("preferred-resolution"));}function QC(){return sS("preferred-resolution");}function zg(e){return Us("last-subtitle",e);}function JC(){return on("last-subtitle");}function ZC(e){return Us("preferred-subtitle",e);}function eS(){return on("preferred-subtitle");}function tS(e,t){return Us("video-watch-history",JSON.stringify(pt(ze({},sc()),{[e]:{duration:t,date:`${new Date().toISOString()}`}})));}function sc(e){let t;try{let i=on("video-watch-history");if(!i)return{};t=JSON.parse(i);}catch(i){nt.error("Cannot parse video watch history from local storage/",i);}return t=t||{},e?t[e]:t;}function wy(){let e=sc();if(!e)return;let t=Object.keys(e).reduce((i,s)=>{let n=Date.parse(e[s].date);return Math.ceil((new Date().getTime()-n)/(1e3*3600*24))>30?i:pt(ze({},i),{[s]:e[s]});},{});Us("video-watch-history",JSON.stringify(t));}function iS(){let e="session-id",t=nS(e);return t||(t=UC(32),rS(e,t),t);}var wa="peertube-videojs-";function on(e){return Hn.getItem(wa+e);}function Us(e,t){Hn.setItem(wa+e,t);}function sS(e){Hn.removeItem(wa+e);}function nS(e){return Sa.getItem(wa+e);}function rS(e,t){Sa.setItem(wa+e,t);}function Ay(e){if(e!=null){let t=parseFloat(e);return isNaN(t)?void 0:t;}}function Iy(e){if(e!=null){let t=parseInt(e,10);return isNaN(t)?void 0:t;}}function ky(e){if(e!=null)return e==="true";}function oS(){return` 188 <div class="vjs-bezels-pause"> 189 <div class="vjs-bezel" role="status" aria-label="Pause"> 190 <div class="vjs-bezel-icon"> 191 <svg height="100%" version="1.1" viewBox="0 0 36 36" width="100%"> 192 <use class="vjs-svg-shadow" xlink:href="#vjs-id-1"></use> 193 <path class="vjs-svg-fill" d="M 12,26 16,26 16,10 12,10 z M 21,26 25,26 25,10 21,10 z" id="vjs-id-1"></path> 194 </svg> 195 </div> 196 </div> 197 </div> 198 `;}function aS(){return` 199 <div class="vjs-bezels-play"> 200 <div class="vjs-bezel" role="status" aria-label="Play"> 201 <div class="vjs-bezel-icon"> 202 <svg height="100%" version="1.1" viewBox="0 0 36 36" width="100%"> 203 <use class="vjs-svg-shadow" xlink:href="#vjs-id-2"></use> 204 <path class="vjs-svg-fill" d="M 12,26 18.5,22 18.5,14 12,10 z M 18.5,22 25,18 25,18 18.5,14 z" id="ytp-id-2"></path> 205 </svg> 206 </div> 207 </div> 208 </div> 209 `;}var lS=X.default.getComponent("Component"),Py=class extends lS{constructor(e,t){super(e,t),
209!Dd()&&(this.firstPlayDone=!1,this.paused=!1,this.playerPauseHandler=()=>{e.seeking()||(this.paused=!0,!e.ended()&&(this.container.innerHTML=oS(),this.showBezel()));},this.playerPlayHandler=()=>{if(e.seeking()||!this.firstPlayDone||!this.paused){this.firstPlayDone=!0;return;}this.paused=!1,this.firstPlayDone=!0,this.container.innerHTML=aS(),this.showBezel();},this.videoChangeHandler=()=>{this.firstPlayDone=!1;},e.on("video-change",this.videoChangeHandler),e.on("pause",this.playerPauseHandler),e.on("play",this.playerPlayHandler));}dispose(){this.player()&&(this.playerPauseHandler&&this.player().off("pause",this.playerPauseHandler),this.playerPlayHandler&&this.player().off("play",this.playerPlayHandler),this.videoChangeHandler&&this.player().off("video-change",this.videoChangeHandler)),super.dispose();}createEl(){return this.container=super.createEl("div",{className:"vjs-bezels-content"}),this.container.style.display="none",this.container;}showBezel(){this.container.style.display="inherit",setTimeout(()=>{this.container.style.display="none";},500);}};X.default.registerComponent("PauseBezel",Py);var dS=X.default.getPlugin("plugin"),cS=class extends dS{constructor(e,t){super(e),this.player.ready(()=>{e.addClass("vjs-bezels");});let i=new Py(e,t);e.addChild(i),this.on("dispose",()=>{i.dispose();});}};X.default.registerPlugin("bezels",cS);var uS=X.default.getComponent("MenuItem"),hS=class extends uS{constructor(e,t){super(e,t);}handleClick(e){super.handleClick(e),this.options_.listener(e),setTimeout(()=>{this.player().contextMenu().menu.dispose();},1);}createEl(e,t,i){let s=super.createEl(e,t,i),n=X.default.dom.createEl("span");return n.innerHTML=`<span class="vjs-menu-item-text">${this.localize(this.options_.label)}</span>`,s.replaceChild(n,s.querySelector(".vjs-menu-item-text")),s;}},fS=X.default.getComponent("Menu"),pS=class extends fS{constructor(e,t){super(e,pt(ze({},t),{menuButton:void 0})),this.dispose=this.dispose.bind(this);for(let i of t.content())this.addItem(new hS(e,{label:i.label,listener:i.listener.bind(e)}));}createEl(){let e=super.createEl();return X.default.dom.addClass(e,"vjs-contextmenu-ui-menu"),e.style.left=this.options_.position.left+"px",e.style.top=this.options_.position.top+"px",e;}};function mS(e){let t;if(e.getBoundingClientRect&&e.parentNode&&(t=e.getBoundingClientRect()),!t)return{left:0,top:0};let i=document.documentElement,s=document.body,n=i.clientLeft||s.clientLeft||0,r=window.pageXOffset||s.scrollLeft,a=t.left+r-n,l=i.clientTop||s.clientTop||0,c=window.pageYOffset||s.scrollTop,u=t.top+c-l;return{left:Math.round(a),top:Math.round(u)};}function gS(e,t){let i={},s=mS(e),n=e.offsetWidth,r=e.offsetHeight,a=s.top,l=s.left,c=t.pageY,u=t.pageX;return t.changedTouches&&(u=t.changedTouches[0].pageX,c=t.changedTouches[0].pageY),i.y=Math.max(0,Math.min(1,(a-c+r)/r)),i.x=Math.max(0,Math.min(1,(u-l)/n)),i;}var vS=X.default.getPlugin("plugin"),yS=class extends vS{constructor(e,t){super(e),this.options_=t,this.menu&&(this.menu.dispose(),this.player.off("contextmenu",this.onContextMenuBind)),this.onContextMenuBind=this.onContextMenu.bind(this),this.player.on("contextmenu",this.onContextMenuBind),this.player.ready(()=>this.player.addClass("vjs-contextmenu-ui"));}onContextMenu(e){if(_S(this.player)){this.menu.dispose();return;}if(bS(e.target))return;let t=TS(gS(this.player.el(),e),this.player.el().getBoundingClientRect()),i=X.default.browser.IS_FIREFOX?document.documentElement:document;e.preventDefault(),this.menu=new pS(this.player,{content:this.options_.content,position:t}),this.menu.on("dispose",()=>{for(let a of["click","tap"])X.default.off(i,a,this.menu.dispose);this.player.removeChild(this.menu),this.menu=void 0;}),this.player.addChild(this.menu);let s=this.menu.el(),n=s.getBoundingClientRect(),r=document.body.getBoundingClientRect();(n.right>r.width||n.bottom>r.height)&&(s.style.left=Math.floor(Math.min(t.left,this.player.currentWidth()-this.menu.currentWidth()))+"px",s.style.top=Math.floor(Math.min(t.top,this.player.currentHeight()-this.menu.currentHeight()))+"px");for(let a of["click","tap"])X.default.on(i,a,this.menu.dispose);}};
209X.default.registerPlugin("contextMenu",yS);function _S(e){return e.usingPlugin("contextMenu")?!!e.contextMenu().menu?.el():!1;}function bS(e){let t=e.tagName.toLowerCase();return t==="input"||t==="textarea";}function TS(e,t){return{left:Math.round(t.width*e.x),top:Math.round(t.height-t.height*e.y)};}var ES=X.default.getComponent("Button"),CS=class extends ES{constructor(e,t){super(e,t),e.on("texttrackchange",()=>this.update());}buildCSSClass(){return`vjs-caption-toggle-control vjs-captions-button ${super.buildCSSClass()}`;}handleClick(e){super.handleClick(e);let t=this.getShowing()?void 0:this.getCaptionToEnable()?.id;for(let i of this.player_.textTracks().tracks_)t&&i.id===t?i.mode="showing":i.mode="disabled";}update(){if(this.getShowing()){this.controlText("Disable subtitles"),this.addClass("enabled");return;}this.controlText(this.player_.localize("Enable {1} subtitle",[this.getCaptionToEnable()?.label])),this.removeClass("enabled");}getShowing(){return this.listCaptions().find(e=>e.mode==="showing");}getCaptionToEnable(){let e=eS()||this.listCaptions()[0]?.id,t=this.listCaptions();return t.find(i=>i.id===e)||t[0];}listCaptions(){return this.player_.textTracks().tracks_.filter(e=>e.kind==="captions");}};X.default.registerComponent("CaptionToggleButton",CS);var SS=X.default.getComponent("ClickableComponent"),Ry=class extends SS{constructor(e,t){super(e,t);let i=()=>{if(!this.hasValidDuration())return;let n=this.el();n.style.setProperty("left",this.buildLeftStyle()),n.style.setProperty("display","inline");};this.player().on("durationchange",i);let s=n=>n.stopPropagation();this.on(["mousedown","touchstart"],s),this.one("dispose",()=>{this.player()&&this.player().off("durationchange",i),this.el()&&this.off(["mousedown","touchstart"],s);});}createEl(){return X.default.dom.createEl("span",{className:"vjs-chapter-marker",style:this.hasValidDuration()?`left: ${this.buildLeftStyle()}`:"display: none;"});}handleClick(e){e.stopPropagation(),this.player()&&this.player().currentTime(this.options_.timeco
209de);}buildLeftStyle(){return`${this.options_.timecode/this.player().duration()*100}%`;}hasValidDuration(){let e=this.player().duration();return!(isNaN(e)||!e);}};X.default.registerComponent("ProgressBarMarkerComponent",Ry);var wS=X.default.getPlugin("plugin"),AS=class extends wS{activeChapter;constructor(e,t){super(e),this.markers=[],this.chapters=t.chapters,this.player.ready(()=>{e.addClass("vjs-chapters");for(let i of this.chapters){if(i.timecode===0)continue;let s=new Ry(e,{timecode:i.timecode});s.on("mouseenter",()=>{this.activeChapter=i;}),s.on("mouseleave",()=>{this.activeChapter=void 0;}),this.markers.push(s),this.getSeekBar().addChild(s);}});}dispose(){for(let e of this.markers)this.getSeekBar().removeChild(e);super.dispose();}getChapter(e){if(this.activeChapter)return this.player.addClass("has-chapter"),{title:this.activeChapter.title,fixedTimecode:this.activeChapter.timecode};if(this.chapters.length!==0)for(let t=this.chapters.length-1;t>=0;t--){let i=this.chapters[t];if(i.timecode<=e)return this.player.addClass("has-chapter"),{title:i.title};}return this.player.removeClass("has-chapter"),{title:""};}getSeekBar(){return this.player.getDescendant("ControlBar","ProgressControl","SeekBar");}};X.default.registerPlugin("chapters",AS);var IS=X.default.getComponent("Button"),xy=class extends IS{constructor(e,t){super(e,t),this.player().on("video-change",()=>{this.updateDisabled(),this.updateShowing();}),this.updateDisabled(),this.updateShowing();}createEl(){let e=this.options_.type,t=X.default.dom.createEl("button",{className:"vjs-"+e+"-video"}),i=X.default.dom.createEl("span",{className:"vjs-icon-placeholder vjs-icon-"+e});return t.appendChild(i),e==="next"?t.title=this.player_.localize("Next video"):t.title=this.player_.localize("Previous video"),t;}handleClick(){this.options_.handler();}updateDisabled(){this.options_.isDisabled()?this.addClass("vjs-disabled"):this.removeClass("vjs-disabled");}updateShowing(){this.options_.isDisplayed()?this.show():this.hide();}};X.default.registerComponent("NextVideoButton",xy);X.default.registerComponent("PreviousVideoButton",xy);function Ly(e){return e.charAt(0).toUpperCase()+e.slice(1);}var iu=[{max:1024,type:"B",decimals:0},{max:1048576,type:"KB",decimals:0},{max:1073741824,type:"MB",decimals:0},{max:10995116e5,type:"GB",decimals:1}];function Ni(e){let t=iu.find(i=>e<i.max)||iu[iu.length-1];return[(e/(t.max/1024)).toFixed(t.decimals),t.type];}function kS(e){return{iceServers:aC(e.map(t=>({urls:t}))).slice(0,2)};}var PS=X.default.getComponent("Button"),RS=class extends PS{createEl(){let e=X.default.dom.createEl("div",{className:"vjs-peertube"}),t=X.default.dom.createEl("div",{className:"vjs-peertube-hidden"});e.appendChild(t);let i=X.default.dom.createEl("span",{className:"icon icon-download"},{role:"img",ariaLabel:this.player().localize("Download speed:")});t.appendChild(i);let s=X.default.dom.createEl("span",{className:"download-speed-text"}),n=X.default.dom.createEl("span",{className:"download-speed-number"}),r=X.default.dom.createEl("span");s.appendChild(n),s.appendChild(r),t.appendChild(s);let a=X.default.dom.createEl("span",{className:"icon icon-upload"},{role:"img",ariaLabel:this.player().localize("Upload speed:")});t.appendChild(a);let l=X.default.dom.createEl("span",{className:"upload-speed-text"}),c=X.default.dom.createEl("span",{className:"upload-speed-number"}),u=X.default.dom.createEl("span");l.appendChild(c),l.appendChild(u),t.appendChild(l);let f=X.default.dom.createEl("span",{className:"peers-text"}),p=X.default.dom.createEl("span",{className:"peers-number"});t.appendChild(p),t.appendChild(f);let g=X.default.dom.createEl("div",{className:"vjs-peertube-hidden"}),v=X.default.dom.createEl("span",{className:"http-fallback"});return g.appendChild(v),e.appendChild(g),this.player_.on("network-info",(T,y)=>{if(!y.p2p)return;t.className="vjs-peertube-displayed",g.className="vjs-peertube-hidden";let A=y.p2p,I=y.http,P=Ni(A.downloadSpeed+I.downloadSpeed),k=Ni(A.uploadSpeed),w=Ni(A.downloaded+I.downloaded),R=Ni(A.uploaded),x=A.peersWithWebSeed;if(t.title=this.player().localize("Total downloaded: ")+w.join(" ")+` 210`,y.source==="p2p-media-loader"){let D=Ni(I.downloaded).join(" "),O=Ni(A.downloaded).join(" ");t.title+=" * "+this.player().localize("From servers: ")+D+` 211 * `+this.player().localize("From peers: ")+O+` 212`;}t.title+=this.player().localize("Total uploaded: ")+R.join(" "),n.textContent=P[0],r.textContent=" "+P[1],c.textContent=k[0],u.textContent=" "+k[1],p.textContent=x.toString(),f.textContent=" "+(x>1?this.player().localize("peers"):this.player_.localize("peer")),g.className="vjs-peertube-hidden",t.className="vjs-peertube-displayed";}),this.player_.on("network-info",(T,y)=>{y.p2p||(y.source==="web-video"?v.textContent="HTTP":y.source==="p2p-media-loader"&&(v.textContent="HLS"),g.className="vjs-peertube-displayed",t.className="vjs-peertube-hidden",g.title=this.player().localize("Total downloaded: ")+Ni(y.http.downloaded).join(" "));}),this.player_.on("video-change",()=>{t.className="vjs-peertube-hidden",g.className="vjs-peertube-hidden";}),e;}};X.default.registerComponent("P2PInfoButton",RS);var xS=X.default.getComponent("Component"),LS=class extends xS{constructor(e,t){super(e,t),this.updateShowing(),this.player().on("video-change",()=>this.updateShowing());}dispose(){this.el()&&(this.el().removeEventListener("mouseenter",this.mouseEnterHandler),this.el().removeEventListener("click",this.clickHandler),super.dispose());}createEl(){let e=X.default.dom.createEl("a",{href:this.buildLink(),innerText:this.options_.instanceName,title:this.player().localize("Video page (new window)"),className:"vjs-peertube-link",target:"_blank"});return this.mouseEnterHandler=()=>this.updateHref(),this.clickHandler=()=>this.player().pause(),e.addEventListener("mouseenter",this.mouseEnterHandler),e.addEventListener("click",this.clickHandler),e;}updateShowing(){this.options_.isDisplayed()?this.show():this.hide();}updateHref(){this.el().setAttribute("href",this.buildLink());}buildLink(){return fy({url:ih({shortUUID:this.options_.shortUUID()}),startTime:this.player().currentTime()});}}
212;X.default.registerComponent("PeerTubeLinkButton",LS);var MS=X.default.getComponent("ClickableComponent"),OS=class extends MS{constructor(e,t){super(e,t),this.interval=this.setInterval(()=>this.updateClass(),1e3),this.updateSync(!0);}dispose(){this.interval&&(this.clearInterval(this.interval),this.interval=void 0),this.contentEl_=null,super.dispose();}createEl(){let e=super.createEl("div",{className:"vjs-pt-live-control vjs-control"});return this.contentEl_=X.default.dom.createEl("div",{className:"vjs-live-display"},{"aria-live":"off"}),this.contentEl_.appendChild(X.default.dom.createEl("span",{className:"vjs-control-text",textContent:`${this.localize("Stream Type")}\xA0`})),this.contentEl_.appendChild(document.createTextNode(this.localize("LIVE"))),e.appendChild(this.contentEl_),e;}handleClick(){let e=this.getHLSJS();e&&(this.player().currentTime(e.liveSyncPosition),this.player().play(),this.updateSync(!0));}updateClass(){let e=this.getHLSJS();if(!e||this.player().currentTime()===0)return;let t=Math.abs(this.player().currentTime()-e.liveSyncPosition)<10;this.updateSync(t);}updateSync(e){e?(this.addClass("synced-with-live-edge"),this.removeAttribute("title"),this.disable()):(this.removeClass("synced-with-live-edge"),this.setAttribute("title",this.localize("Go back to the live")),this.enable());}getHLSJS(){if(this.player()?.usingPlugin("p2pMediaLoader"))return this.player().p2pMediaLoader().getHLSJS();}};X.default.registerComponent("PeerTubeLiveDisplay",OS);var DS=X.default.getPlugin("plugin"),jS=class extends DS{constructor(e,t){super(e),this.url=t.url,this.height=t.height,this.width=t.width,this.interval=t.interval,this.sprites={},this.boundedHijackMouseTooltip=this.hijackMouseTooltip.bind(this),this.init(),this.player.ready(()=>{e.addClass("vjs-storyboard");});}init(){let e=this.player.controlBar;this.progress=e?.progressControl,this.seekBar=this.progress?.seekBar,this.mouseTimeTooltip=this.seekBar?.mouseTimeDisplay?.timeTooltip,this.spritePlaceholder=X.default.dom.createEl("div",{className:"vjs-storyboard-sprite-placeholder"}),this.seekBar?.el()?.appendChild(this.spritePlaceholder),this.onReadyOrLoadstartHandler=t=>{if(t.type!=="ready"){let i=this.player.currentSources().find(s=>Object.prototype.hasOwnProperty.call(s,"storyboard"))?.storyboard;i&&(this.url=i.url,this.height=i.height,this.width=i.width,this.interval=i.interval);}this.cached=!!this.sprites[this.url],this.load();},this.player.on(["ready","loadstart"],this.onReadyOrLoadstartHandler);}dispose(){this.onReadyOrLoadstartHandler&&this.player.off(["ready","loadstart"],this.onReadyOrLoadstartHandler),this.progress&&this.progress.off(["mousemove","touchmove"],this.boundedHijackMouseTooltip),this.seekBar?.el()?.removeChild(this.spritePlaceholder),super.dispose();}load(){let e=["mousemove","touchmove"];this.isReady()?(this.cached||(this.sprites[this.url]=X.default.dom.createEl("img",{src:this.url})),this.progress.on(e,this.boundedHijackMouseTooltip)):(this.progress.off(e,this.boundedHijackMouseTooltip),this.resetMouseTooltip());}hijackMouseTooltip(e){let t=this.sprites[this.url],i=t.naturalWidth,s=t.naturalHeight,n=this.seekBar.el();if(!t.complete||!i||!s){this.resetMouseTooltip();return;}this.player.requestNamedAnimationFrame("StoryBoardPlugin#hijackMouseTooltip",()=>{let r=X.default.dom.getBoundingClientRect(n),a=X.default.dom.getBoundingClientRect(this.player.el());if(!r||!a)return;let l=X.default.dom.getPointerPosition(n,e).x,c=l*this.player.duration(),u=Math.round(s/this.height*(i/this.width))-1;c=Math.min(c/this.interval,u);let f=600,p=this.player.currentWidth(),g=p<f?p/f:1,v=i/this.width,T=this.width*g,y=this.height*g,A=Math.floor(c%v)*-T,I=Math.floor(c/v)*-y,P=`${i*g}px ${s*g}px`,k=this.player.el().querySelector(".vjs-time-tooltip"),w=-y+parseInt(getComputedStyle(k).top.replace("px",""))-20,R=Math.round(T/2),x=r.width*l-R,D=a.left-r.left,O=r.width-T+(a.right-r.right);x<D&&(x=D),x>O&&(x=O);let V={"background-image":`url("${this.url}")`,"background-repeat":"no-repeat","background-position":`${A}px ${I}px`,"background-size":P,color:"#fff","text-shadow":"1px 1px #000",position:"relative",top:`${w}px`,border:"1px solid #000",width:`${T+2}px`,height:`${y+2}px`};V.left=`${x}px`;for(let[$,N]of Object.entries(V))this.spritePlaceholder.style.setProperty($,N);});}resetMouseTooltip(){this.spritePlaceholder&&(this.spritePlaceholder.style.cssText="");}isReady(){return this.mouseTimeTooltip&&this.width&&this.height&&this.url;}};X.default.registerPlugin("storyboard",jS);var NS=X.default.getComponent("Button"),FS=(()=>{var t;return t=class extends NS{constructor(s,n){super(s,n),this.theaterButtonOptions=n;let r=$h();r===!0&&(this.player().addClass(t.THEATER_MODE_CLASS),this.handleTheaterChange()),this.controlText("Theater mode"),this.player().theaterEnabled=r,this.updateShowing(),this.player().on("video-change",()=>this.updateShowing());}buildCSSClass(){return`vjs-theater-control ${super.buildCSSClass()}`;}handleTheaterChange(){let s=this.isTheaterEnabled();s?this.controlText("Normal mode"):this.controlText("Theater mode"),qC(s),this.player_.trigger("theater-change",s);}handleClick(){this.player_.toggleClass(t.THEATER_MODE_CLASS),this.handleTheaterChange();}isTheaterEnabled(){return this.player_.hasClass(t.THEATER_MODE_CLASS);}updateShowing(){this.theaterButtonOptions.isDisplayed()?this.show():this.hide();}}
212,xe(t,"THEATER_MODE_CLASS","vjs-theater-enabled"),t;})();X.default.registerComponent("TheaterButton",FS);var BS=X.default.getComponent("TimeTooltip"),US=class extends BS{write(e){let t=this.player();if(t.usingPlugin("chapters")){if(e===this.currentTimecode)return;this.currentTimecode=e;let{title:i,fixedTimecode:s}=t.chapters().getChapter(la(this.currentTimecode));if(i){let n=s?X.default.formatTime(s,this.player()?.duration()):this.currentTimecode;return super.write(i+`\r 213`+n);}}return super.write(e);}};X.default.registerComponent("TimeTooltip",US);var VS=X.default.getComponent("Component"),My=class extends VS{constructor(e,t){super(e,t);}createEl(){let e=super.createEl("div",{className:"peertube-dock"});if(this.options_.avatarUrl){let i=X.default.dom.createEl("img",{className:"peertube-dock-avatar",src:this.options_.avatarUrl},{alt:""});e.appendChild(i);}let t=super.createEl("div",{className:"peertube-dock-title-description"});if(this.options_.title){let i=X.default.dom.createEl("h2",{className:"peertube-dock-title",title:this.options_.title,innerText:this.options_.title});t.appendChild(i);}if(this.options_.description){let i=X.default.dom.createEl("div",{className:"peertube-dock-description",title:this.options_.description,innerText:this.options_.description});t.appendChild(i);}return(this.options_.title||this.options_.description)&&e.appendChild(t),e;}};X.default.registerComponent("PeerTubeDockComponent",My);var $S=X.default.getPlugin("plugin"),HS=class extends $S{constructor(e,t){super(e),e.ready(()=>{e.addClass("peertube-dock");}),this.dockComponent=new My(e,t),e.addChild(this.dockComponent);}dispose(){this.dockComponent?.dispose(),this.player.removeChild(this.dockComponent),this.player.removeClass("peertube-dock"),super.dispose();}};X.default.registerPlugin("peertubeDock",HS);var zS=X.default.getPlugin("plugin"),GS=(()=>{var t;return t=class extends zS{constructor(s,n){super(s),this.isLive=n.isLive,this.liveDvrEnabled=n.liveDvrEnabled===!0,this.handlers=this.buildHandlers(),this.handleKeyFunction=r=>this.onKeyDown(r),document.addEventListener("keydown",this.handleKeyFunction);}dispose(){document.removeEventListener("keydown",this.handleKeyFunction),super.dispose();}onKeyDown(s){if(this.isValidKeyTarget(s.target)){for(let n of this.handlers)if(n.accept(s)){n.cb(s);return;}}}buildHandlers(){let s=[{accept:n=>n.key===" "||n.key==="MediaPlayPause"||this.isNaked(n,"k"),cb:n=>{n.preventDefault(),n.stopPropagation(),this.player.paused()?this.player.play():this.player.pause();}},{accept:n=>this.isNaked(n,"ArrowUp"),cb:n=>{n.preventDefault(),this.player.volume(this.player.volume()+t.VOLUME_STEP);}},{accept:n=>this.isNaked(n,"ArrowDown"),cb:n=>{n.preventDefault(),this.player.volume(this.player.volume()-t.VOLUME_STEP);}},{accept:n=>this.isNaked(n,"f")||!n.altKey&&n.ctrlKey&&n.key==="Enter",cb:n=>{n.preventDefault(),this.player.isFullscreen()?this.player.exitFullscreen():this.player.requestFullscreen();}},{accept:n=>this.isNaked(n,"m"),cb:n=>{n.preventDefault(),this.player.muted(!this.player.muted());}},{accept:n=>n.key===">",cb:()=>{if(this.isLive)return;let n=Math.min(this.player.playbackRate()+.1,5);this.player.playbackRate(parseFloat(n.toFixed(2)));}},{accept:n=>n.key==="<",cb:()=>{if(this.isLive)return;let n=Math.max(this.player.playbackRate()-.1,.1);this.player.playbackRate(parseFloat(n.toFixed(2)));}},{accept:n=>n.key===",",cb:()=>{this.isLive||(this.player.pause(),this.player.currentTime(this.player.currentTime()-.03333333333333333));}},{accept:n=>n.key===".",cb:()=>{this.isLive||(this.player.pause(),this.player.currentTime(this.player.currentTime()+.03333333333333333));}},{accept:n=>this.isNaked(n,"h"),cb:()=>{this.player.usingPlugin("videoFlipHorizontallyPlugin")&&this.player.videoFlipHorizontallyPlugin().toggleFlip();}}];return this.isLive&&this.liveDvrEnabled!==!0?s:s.concat(this.buildVODHandlers());}buildVODHandlers(){let s=[{accept:n=>this.isNaked(n,"ArrowLeft")||this.isNaked(n,"MediaRewind"),cb:n=>{if(!this.canSeek())return;n.preventDefault();let r=Math.max(0,this.player.currentTime()-t.SEEK_STEP);this.player.currentTime(r);}},{accept:n=>this.isNaked(n,"ArrowRight")||this.isNaked(n,"MediaForward"),cb:n=>{if(!this.canSeek())return;n.preventDefault();let r=Math.min(this.player.duration(),this.player.currentTime()+t.SEEK_STEP);this.player.currentTime(r);}}];for(let n=0;n<10;n++)s.push({accept:r=>this.isNakedOrShift(r,n+""),cb:r=>{this.canSeek()&&(r.preventDefault(),this.player.currentTime(this.player.duration()*n*.1));}});return s;}
213isValidKeyTarget(s){let n=this.player.el(),r=document.activeElement,a=s.tagName.toLowerCase();return r===n||r===n.querySelector(".vjs-tech")||r===n.querySelector(".vjs-control-bar")||s.id==="content"||a==="body"||a==="video";}isNaked(s,n){return n.length===1&&(n=n.toUpperCase()),!s.ctrlKey&&!s.altKey&&!s.metaKey&&!s.shiftKey&&this.getLatinKey(s.key,s.code)===n;}isNakedOrShift(s,n){return!s.ctrlKey&&!s.altKey&&!s.metaKey&&s.key===n;}getLatinKey(s,n){if(s.length!==1)return s;if(s.charCodeAt(0)>=880){if(n.startsWith("Key")&&n.length===4)return n.charAt(3);if(n.startsWith("Digit")&&n.length===6)return n.charAt(5);}return s.toUpperCase();}canSeek(){return this.isLive!==!0||this.liveDvrEnabled===!0;}},xe(t,"VOLUME_STEP",.1),xe(t,"SEEK_STEP",5),t;})();X.default.registerPlugin("peerTubeHotkeysPlugin",GS);function WS(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e;}function rh(){throw new Error("setTimeout has not been defined");}function oh(){throw new Error("clearTimeout has not been defined");}function Oy(e){if(Ps===setTimeout)return setTimeout(e,0);if((Ps===rh||!Ps)&&setTimeout)return Ps=setTimeout,setTimeout(e,0);try{return Ps(e,0);}catch(t){try{return Ps.call(null,e,0);}catch(i){return Ps.call(this,e,0);}}}function qS(e){if(Rs===clearTimeout)return clearTimeout(e);if((Rs===oh||!Rs)&&clearTimeout)return Rs=clearTimeout,clearTimeout(e);try{return Rs(e);}catch(t){try{return Rs.call(null,e);}catch(i){return Rs.call(this,e);}}}function KS(){!gr||!pr||(gr=!1,pr.length?Ds=pr.concat(Ds):da=-1,Ds.length&&Dy());}function Dy(){if(!gr){var e=Oy(KS);gr=!0;for(var t=Ds.length;t;){for(pr=Ds,Ds=[];++da<t;)pr&&pr[da].run();da=-1,t=Ds.length;}pr=null,gr=!1,qS(e);}}function Gg(e,t){this.fun=e,this.array=t;}function Ws(){}var su,jt,Ps,Rs,Ds,gr,pr,da,Wg,yd,YS=Sg(()=>{su={exports:{}},jt=su.exports={},function(){try{typeof setTimeout=="function"?Ps=setTimeout:Ps=rh;}catch(e){Ps=rh;}try{typeof clearTimeout=="function"?Rs=clearTimeout:Rs=oh;}catch(e){Rs=oh;}}(),Ds=[],gr=!1,da=-1,jt.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var i=1;i<arguments.length;i++)t[i-1]=arguments[i];Ds.push(new Gg(e,t)),Ds.length===1&&!gr&&Oy(Dy);},Gg.prototype.run=function(){this.fun.apply(null,this.array);},jt.title="browser",jt.browser=!0,jt.env={},jt.argv=[],jt.version="",jt.versions={},jt.on=Ws,jt.addListener=Ws,jt.once=Ws,jt.off=Ws,jt.removeListener=Ws,jt.removeAllListeners=Ws,jt.emit=Ws,jt.prependListener=Ws,jt.prependOnceListener=Ws,jt.listeners=function(e){return[];},jt.binding=function(e){throw new Error("process.binding is not supported");},jt.cwd=function(){return"/";},jt.chdir=function(e){throw new Error("process.chdir is not supported");},jt.umask=function(){return 0;},Wg=su.exports,yd=WS(Wg);}),XS=ii((e,t)=>{var i=1e3,s=i*60,n=s*60,r=n*24,a=r*7,l=r*365.25;t.exports=function(g,v){v=v||{};var T=typeof g;if(T==="string"&&g.length>0)return c(g);if(T==="number"&&isFinite(g))return v.long?f(g):u(g);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(g));};function c(g){if(g=String(g),!(g.length>100)){var v=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(g);if(v){var T=parseFloat(v[1]);switch((v[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return T*l;case"weeks":case"week":case"w":return T*a;case"days":case"day":case"d":return T*r;case"hours":case"hour":case"hrs":case"hr":case"h":return T*n;case"minutes":case"minute":case"mins":case"min":case"m":return T*s;case"seconds":case"second":case"secs":case"sec":case"s":return T*i;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return T;default:return;}}}}function u(g){var v=Math.abs(g);return v>=r?Math.round(g/r)+"d":v>=n?Math.round(g/n)+"h":v>=s?Math.round(g/s)+"m":v>=i?Math.round(g/i)+"s":g+"ms";}function f(g){var v=Math.abs(g);return v>=r?p(g,v,r,"day"):v>=n?p(g,v,n,"hour"):v>=s?p(g,v,s,"minute"):v>=i?p(g,v,i,"second"):g+" ms";}function p(g,v,T,y){var A=v>=T*1.5;return Math.round(g/T)+" "+y+(A?"s":"");}}),QS=ii((e,t)=>{function i(s){r.debug=r,r.default=r,r.coerce=p,r.disable=u,r.enable=l,r.enabled=f,r.humanize=XS(),r.destroy=g,Object.keys(s).forEac
213h(v=>{r[v]=s[v];}),r.names=[],r.skips=[],r.formatters={};function n(v){let T=0;for(let y=0;y<v.length;y++)T=(T<<5)-T+v.charCodeAt(y),T|=0;return r.colors[Math.abs(T)%r.colors.length];}r.selectColor=n;function r(v){let T,y=null,A,I;function P(...k){if(!P.enabled)return;let w=P,R=Number(new Date());w.diff=R-(T||R),w.prev=T,w.curr=R,T=R,k[0]=r.coerce(k[0]),typeof k[0]!="string"&&k.unshift("%O");let x=0;k[0]=k[0].replace(/%([a-zA-Z%])/g,(D,O)=>{if(D==="%%")return"%";x++;let V=r.formatters[O];if(typeof V=="function"){let $=k[x];D=V.call(w,$),k.splice(x,1),x--;}return D;}),r.formatArgs.call(w,k),(w.log||r.log).apply(w,k);}return P.namespace=v,P.useColors=r.useColors(),P.color=r.selectColor(v),P.extend=a,P.destroy=r.destroy,Object.defineProperty(P,"enabled",{enumerable:!0,configurable:!1,get:()=>y!==null?y:(A!==r.namespaces&&(A=r.namespaces,I=r.enabled(v)),I),set:k=>{y=k;}}),typeof r.init=="function"&&r.init(P),P;}function a(v,T){let y=r(this.namespace+(typeof T>"u"?":":T)+v);return y.log=this.log,y;}function l(v){r.save(v),r.namespaces=v,r.names=[],r.skips=[];let T=(typeof v=="string"?v:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let y of T)y[0]==="-"?r.skips.push(y.slice(1)):r.names.push(y);}function c(v,T){let y=0,A=0,I=-1,P=0;for(;y<v.length;)if(A<T.length&&(T[A]===v[y]||T[A]==="*"))T[A]==="*"?(I=A,P=y,A++):(y++,A++);else if(I!==-1)A=I+1,P++,y=P;else return!1;for(;A<T.length&&T[A]==="*";)A++;return A===T.length;}function u(){let v=[...r.names,...r.skips.map(T=>"-"+T)].join(",");return r.enable(""),v;}function f(v){for(let T of r.skips)if(c(v,T))return!1;for(let T of r.names)if(c(v,T))return!0;return!1;}function p(v){return v instanceof Error?v.stack||v.message:v;}function g(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");}return r.enable(r.load()),r;}t.exports=i;}),an=Nl(ii((e,t)=>{YS(),e.formatArgs=s,e.save=n,e.load=r,e.useColors=i,e.storage=a(),e.destroy=(()=>{let c=!1;return()=>{c||(c=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."));};})(),e.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function i(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let c;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(c=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(c[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);}function s(c){if(c[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+c[0]+(this.useColors?"%c ":" ")+"+"+t.exports.humanize(this.diff),!this.useColors)return;let u="color: "+this.color;c.splice(1,0,u,"color: inherit");let f=0,p=0;c[0].replace(/%[a-zA-Z%]/g,g=>{g!=="%%"&&(f++,g==="%c"&&(p=f));}),c.splice(p,0,u);}e.log=console.debug||console.log||(()=>{});function n(c){try{c?e.storage.setItem("debug",c):e.storage.removeItem("debug");}catch(u){}}function r(){let c;try{c=e.storage.getItem("debug")||e.storage.getItem("DEBUG");}catch(u){}return!c&&typeof yd<"u"&&"env"in yd&&(c=yd.env.DEBUG),c;}function a(){try{return localStorage;}catch(c){}}t.exports=QS()(e);var{formatters:l}=t.exports;l.j=function(c){try{return JSON.stringify(c);}catch(u){return"[UnexpectedJSONParseError]: "+u.message;}};})(),1),qo=(0,an.default)("peertube:player:metrics"),JS=X.default.getPlugin("plugin"),ZS=class extends JS{constructor(e,t){super(e),this.options_=t,this.downloadedBytesP2P=0,this.downloadedBytesHTTP=0,this.uploadedBytesP2P=0,this.resolutionChanges=0,this.errors=0,this.bufferStalled=0,this.p2pPeers=0,this.trackBytes(),this.trackResolutionChange(),this.trackErrors(),this.trackBufferStalled(),this.player.one("play",()=>{this.player.on("video-change",()=>{this.runMetricsIntervalOnPlay();});}),this.runMetricsIntervalOnPlay();}dispose(){this.metricsInterval&&clearInterval(this.metricsInterval),super.dispose();}resetMetrics(){this.downloadedBytesP2P=0,this.downloadedBytesHTTP=0,this.uploadedBytesP2P=0,this.resolutionChanges=0,this.errors=0,this.bufferStalled=0,this.lastPlayerNetworkInfo=void 0;}runMetricsIntervalOnPlay(){this.resetMetrics(),qo("Will track metrics on next play"),this.player.one("play",()=>{qo("Tracking metrics"),this.runMetricsInterval();});}runMetricsInterval(){this.metricsInterval&&clearInterval(this.metricsInterval),this.options_.metricsUrl()&&(this.metricsInterval=setInterval(()=>{let e=this.player;if(!e)return;let t,i;if(e.usingPlugin("p2pMediaLoader")){let r=e.p2pMediaLoader().getCurrentLevel();if(!r)return;t=Math.min(r.height||0,r.width||0);let a=r?.attrs["FRAME-RATE"];i=a?parseInt(a,10):void 0;}else if(e.usingPlugin("webVideo")){let r=e.webVideo().getCurrentVideoFile();if(!r)return;t=r.resolution.id,i=r.fps&&r.fps!==-1?r.fps:void 0;}else return;let s={resolution:t,fps:i,playerMode:this.options_.mode(),resolutionChanges:this.resolutionChanges,errors:this.errors,bufferStalled:this.bufferStalled,downloadedBytesHTTP:this.downloadedBytesHTTP,downloadedBytesP2P:this.downloadedBytesP2P,uploadedBytesP2P:this.uploadedBytesP2P,p2pPeers:this.p2pPeers,p2pEnabled:this.p2pEnabled,videoId:this.options_.videoUUID()};this.resolutionChanges=0,this.downloadedBytesP2P=0,this.downloadedBytesHTTP=0,this.uploadedBytesP2P=0,this.errors=0,this.bufferStalled=0;let n=new Headers({"Content-type":"application/json; charset=UTF-8"});return fetch(this.options_.metricsUrl(),{method:"POST",body:JSON.stringify(s),headers:n}).catch(r=>nt.clientWarn("Cannot send metrics to the server.",r));},this.options_.metricsInterval()));}trackBytes(){this.player.on("network-info",(e,t)=>{this.downloadedBytesHTTP+=Math.max(Math.round(t.http.downloaded-(this.lastPlayerNetworkInfo?.http.downloaded||0)),0),this.downloadedBytesP2P+=Math.max(Math.round((t.p2p?.downloaded||0)-(this.lastPlayerNetworkInfo?.p2p?.downloaded||0)),0),this.uploadedBytesP2P+=Math.max(Math.round((t.p2p?.uploaded||0)-(this.lastPlayerNetworkInfo?.p2p?.uploaded||0)),0),this.p2pPeers=t.p2p?.peersP2POnly,this.p2pEnabled=!!t.p2p,this.lastPlayerNetworkInfo=t;});}trackResolutionChange(){this.player.on("resolution-change",(e,{initResolutionChange:t})=>{t!==!0&&(qo("Adding resolution change"),this.resolutionChanges++);});}trackErrors(){this.player.on("error",()=>{qo("Adding player error"),this.errors++;});}trackBufferStalled(){this.player.on("buffer-stalled",()=>{qo("Adding buffer stalled"),this.bufferStalled++;});}};X.default.registerPlugin("metrics",ZS);var e2=X.default.getComponent("Component"),t2=class extends e2{createEl(){let e=super.createEl("div",{className:"vjs-mobile-buttons-overlay"});this.mainButton=super.createEl("div",{className:"main-button"}),this.touchStartHandler=t=>{if(t.stopPropagation(),this.player_.paused()||this.player_.ended()){this.player_.play();return;}this.player_.pause();},this.mainButton.addEventListener("touchstart",this.touchStartHandler,{passive:!0}),this.rewind=super.createEl("div",{className:"rewind-button vjs-hidden"}),this.forward=super.createEl("div",{className:"forward-button vjs-hidden"});for(let t=0;t<3;t++)this.rewind.appendChild(super.createEl("span",{className:"icon"})),this.forward.appendChild(super.createEl("span",{className:"icon"}));return this.rewindText=this.rewind.appendChild(super.createEl("div",{className:"text"})),this.forwardText=this.forward.appendChild(super.createEl("div",{className:"text"})),e.appendChild(this.rewind),e.appendChild(this.mainButton),e.appendChild(this.forward),e;}dispose(){this.touchStartHandler&&this.mainButton.removeEventListener("touchstart",this.touchStartHandler),super.dispose();}displayFastSeek(e){if(e===0){this.hideRewind(),this.hideForward();return;}if(e>0){this.hideRewind(),this.displayForward(e);return;}if(e<0){this.hideForward(),this.displayRewind(e);return;}}hideRewind(){this.rewind.classList.add("vjs-hidden"),this.rewindText.textContent="";}displayRewind(e){this.rewind.classList.remove("vjs-hidden"),this.rewindText.textContent=this.player().localize("{1} seconds",[e+""]);}hideForward(){this.forward.classList.add("vjs-hidden"),this.forwardText.textContent="";}displayForward(e){this.forward.classList.remove("vjs-hidden"),this.forwardText.textContent=this.player().localize("{1} seconds",[e+""]);}};X.default.registerComponent("PeerTubeMobileButtons",t2);var Wr=(0,an.default)("peertube:player:mobile"),i2=X.default.getPlugin("plugin"),s2=(()=>{var t;return t=class extends i2{constructor(s){super(s),this.seekAmount=0,X.default.browser.IS_ANDROID&&screen.orientation&&this.handleFullscreenRotation(),s.controls()&&(this.peerTubeMobileButtons=s.addChild("PeerTubeMobileButtons",{reportTouchActivity:!1}),this.player.options_.userActions||(this.player.options_.userActions={}),this.player.options_.userActions.click=!1,this.player.options_.userActions.doubleClick=!1,this.onPlayHandler=()=>this.initTouchStartEvents(),this.player.one("play",this.onPlayHandler),this.seekBar=this.player.getDescendant(["controlBar","progressControl","seekBar"]),this.sliderActiveHandler=()=>this.player.addClass("vjs-mobile-sliding"),this.sliderInactiveHandler=()=>this.player.removeClass("vjs-mobile-sliding"),this.seekBar.on("slideractive",this.sliderActiveHandler),this.seekBar.on("sliderinactive",this.sliderInactiveHandler));}dispose(){this.onPlayHandler&&this.player.off("play",this.onPlayHandler),this.onFullScreenChangeHandler&&this.player.off("fullscreenchange",this.onFullScreenChangeHandler),this.onTouchStartHandler&&this.player.off("touchstart",this.onFullScreenChangeHandler),this.onMobileButtonTouchStartHandler&&this.peerTubeMobileButtons?.el().removeEventListener("touchstart",this.onMobileButtonTouchStartHandler),super.dispose();}handleFullscreenRotation(){this.onFullScreenChangeHandler=()=>{!this.player.isFullscreen()||this.isPortraitVideo()||screen.orientation.lock("landscape").catch(s=>nt.error("Cannot lock screen to landscape.",s));},this.player.on("fullscreenchange",this.onFullScreenChangeHandler);}isPortraitVideo(){return this.player.videoWidth()<this.player.videoHeight();}initTouchStartEvents(){let s=(n,r=!1)=>
213{if(Wr("Handle touch start"),this.tapTimeout&&(clearTimeout(this.tapTimeout),this.tapTimeout=void 0),this.doubleTapping||this.lastTapEvent&&n.timeStamp-this.lastTapEvent.timeStamp<t.DOUBLE_TAP_DELAY_MS){Wr("Detected double tap"),this.lastTapEvent=n,this.onDoubleTap(n);return;}r||(this.newActiveState=!this.player.userActive(),!this.player.paused()&&this.newActiveState===!0&&this.player.addClass("vjs-force-inactive"),this.tapTimeout=setTimeout(()=>{Wr("No double tap detected, set user active state to "+this.newActiveState),this.player.removeClass("vjs-force-inactive"),this.player.userActive(this.newActiveState);},t.DOUBLE_TAP_DELAY_MS),this.lastTapEvent=n);};this.onTouchStartHandler=n=>{s(n,this.player.userActive());},this.player.on("touchstart",this.onTouchStartHandler),this.onMobileButtonTouchStartHandler=n=>{n.preventDefault(),n.stopPropagation(),s(n);},this.peerTubeMobileButtons.el().addEventListener("touchstart",this.onMobileButtonTouchStartHandler,{passive:!1});}onDoubleTap(s){let n=this.player.currentWidth(),r=this.findPlayerTarget(s.target).getBoundingClientRect(),a=s.targetTouches[0].pageX-r.left;Wr("Calculating double tap zone (player width: %d, offset X: %d)",n,a),a>.66*n?(this.seekAmount<0&&(this.seekAmount=0),this.seekAmount+=10,Wr("Will forward %d seconds",this.seekAmount)):a<.33*n&&(this.seekAmount>0&&(this.seekAmount=0),this.seekAmount-=10,Wr("Will rewind %d seconds",this.seekAmount)),this.peerTubeMobileButtons.displayFastSeek(this.seekAmount),this.scheduleSetCurrentTime();}findPlayerTarget(s){return s.classList.contains("video-js")?s:this.findPlayerTarget(s.parentElement);}scheduleSetCurrentTime(){this.player.pause(),this.player.addClass("vjs-fast-seeking"),this.doubleTapping=!0,this.setCurrentTimeTimeout&&clearTimeout(this.setCurrentTimeTimeout),this.setCurrentTimeTimeout=setTimeout(()=>{let s=this.player.currentTime()+this.seekAmount;this.seekAmount=0,s=Math.max(0,s),s=Math.min(this.player.duration(),s),this.player.currentTime(s),this.seekAmount=0,this.peerTubeMobileButtons.displayFastSeek(0),this.player.userActive(!1),this.doubleTapping=!1,this.player.play(),setTimeout(()=>{this.player.removeClass("vjs-fast-seeking"),this.player.removeClass("vjs-force-inactive");},100);},t.SET_CURRENT_TIME_DELAY);}},xe(t,"DOUBLE_TAP_DELAY_MS",250),xe(t,"SET_CURRENT_TIME_DELAY",750),t;})();X.default.registerPlugin("peertubeMobile",s2);var n2=X.default.getComponent("Component"),jy=class extends n2{constructor(e,t){super(e,t);}createEl(){let e=super.createEl("div",{className:"nsfw-info"}),t=super.createEl("strong");if(t.textContent=this.player().localize("This video contains sensitive content."),e.appendChild(t),this.options_.flags||this.options_.summary){let i=super.createEl("button",{textContent:this.player().localize("Learn more")},{type:"button"});e.appendChild(i),i.addEventListener("click",()=>
213{this.trigger("showDetails");});}return e;}};X.default.registerComponent("PeerTubeNSFWInfoComponent",jy);var r2=X.default.getComponent("Component"),Ny=class extends r2{constructor(e,t){super(e,t);}createEl(){let e=super.createEl("div",{className:"nsfw-details-container"}),t=super.createEl("div",{className:"nsfw-details"});e.appendChild(t);let i=super.createEl("button",{className:"nsfw-details-close",title:this.player().localize("Close details"),type:"button"});i.addEventListener("click",()=>{this.trigger("hideDetails");}),t.appendChild(i);let s=super.createEl("div",{className:"nsfw-details-content"});if(t.appendChild(s),this.options_.flags){let n=super.createEl("div",{className:"nsfw-details-flags"}),r=super.createEl("strong",{textContent:this.player().localize("This video contains sensitive content, including:")});n.appendChild(r),n.appendChild(super.createEl("div",{textContent:this.buildFlagStrings().join(" - ")})),s.appendChild(n);}if(this.options_.summary){let n=super.createEl("div",{className:"nsfw-details-summary"}),r=super.createEl("strong",{textContent:this.player().localize("Uploader note:")});n.appendChild(r),n.appendChild(super.createEl("div",{textContent:this.options_.summary})),s.appendChild(n);}return e;}buildFlagStrings(){let e=this.options_.flags,t=[];return(e&jn.VIOLENT)===jn.VIOLENT&&t.push(this.player().localize("Potentially violent content")),(e&jn.EXPLICIT_SEX)===jn.EXPLICIT_SEX&&t.push(this.player().localize("Potentially sexually explicit content")),t;}};X.default.registerComponent("PeerTubeNSFWDetailsComponent",Ny);var o2=X.default.getPlugin("plugin"),a2=class extends o2{constructor(e,t){super(e),e.ready(()=>{e.addClass("peertube-nsfw"),this.nsfwInfoComponent=new jy(e,t),e.addChild(this.nsfwInfoComponent),this.nsfwDetailsComponent=new Ny(e,t),this.nsfwDetailsComponent.hide(),e.addChild(this.nsfwDetailsComponent),this.nsfwInfoComponent.on("showDetails",()=>{this.nsfwDetailsComponent.show(),this.nsfwInfoComponent.hide();}),this.nsfwDetailsComponent.on("hideDetails",()=>{this.nsfwInfoComponent.show(),this.nsfwDetailsComponent.hide();});}),e.one("play",()=>{this.nsfwInfoComponent.hide();});}dispose(){this.nsfwInfoComponent?.dispose(),this.player.removeChild(this.nsfwInfoComponent),this.player.removeChild(this.nsfwDetailsComponent),this.player.removeClass("peertube-nsfw"),super.dispose();}};X.default.registerPlugin("peertubeNSFW",a2);var Ie=Number.isFinite||function(e){return typeof e=="number"&&isFinite(e);},l2=Number.isSafeInteger||function(e){return typeof e=="number"&&Math.abs(e)<=d2;},d2=Number.MAX_SAFE_INTEGER||9007199254740991,Fe=function(e){return e.NETWORK_ERROR="networkError",e.MEDIA_ERROR="mediaError",e.KEY_SYSTEM_ERROR="keySystemError",e.MUX_ERROR="muxError",e.OTHER_ERROR="otherError",e;}({}),Z=function(e){return e.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",e.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",e.KEY_SYSTEM_NO_SESSION="keySystemNoSession",e.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",e.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",e.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",e.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",e.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",e.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",e.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",e.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR="keySystemDestroyMediaKeysError",e.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR="keySystemDestroyCloseSessionError",e.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR="keySystemDestroyRemoveSessionError",e.MANIFEST_LOAD_ERROR="manifestLoadError",e.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",e.MANIFEST_PARSING_ERROR="manifestParsingError",e.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",e.LEVEL_EMPTY_ERROR="levelEmptyError",e.LEVEL_LOAD_ERROR="levelLoadError",e.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",e.LEVEL_PARSING_ERROR="levelParsingError",e.LEVEL_SWITCH_ERROR="levelSwitchError",e.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",e.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",e.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",e.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",e.FRAG_LOAD_ERROR="fragLoadError",e.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",e.FRAG_DECRYPT_ERROR="fragDecryptError",e.FRAG_PARSING_ERROR="fragParsingError",e.FRAG_GAP="fragGap",e.REMUX_ALLOC_ER
213ROR="remuxAllocError",e.KEY_LOAD_ERROR="keyLoadError",e.KEY_LOAD_TIMEOUT="keyLoadTimeOut",e.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",e.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",e.BUFFER_APPEND_ERROR="bufferAppendError",e.BUFFER_APPENDING_ERROR="bufferAppendingError",e.BUFFER_STALLED_ERROR="bufferStalledError",e.BUFFER_FULL_ERROR="bufferFullError",e.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",e.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",e.ASSET_LIST_LOAD_ERROR="assetListLoadError",e.ASSET_LIST_LOAD_TIMEOUT="assetListLoadTimeout",e.ASSET_LIST_PARSING_ERROR="assetListParsingError",e.INTERSTITIAL_ASSET_ITEM_ERROR="interstitialAssetItemError",e.INTERNAL_EXCEPTION="internalException",e.INTERNAL_ABORTED="aborted",e.ATTACH_MEDIA_ERROR="attachMediaError",e.UNKNOWN="unknown",e;}({}),C=function(e){return e.MEDIA_ATTACHING="hlsMediaAttaching",e.MEDIA_ATTACHED="hlsMediaAttached",e.MEDIA_DETACHING="hlsMediaDetaching",e.MEDIA_DETACHED="hlsMediaDetached",e.MEDIA_ENDED="hlsMediaEnded",e.STALL_RESOLVED="hlsStallResolved",e.BUFFER_RESET="hlsBufferReset",e.BUFFER_CODECS="hlsBufferCodecs",e.BUFFER_CREATED="hlsBufferCreated",e.BUFFER_APPENDING="hlsBufferAppending",e.BUFFER_APPENDED="hlsBufferAppended",e.BUFFER_EOS="hlsBufferEos",e.BUFFERED_TO_END="hlsBufferedToEnd",e.BUFFER_FLUSHING="hlsBufferFlushing",e.BUFFER_FLUSHED="hlsBufferFlushed",e.MANIFEST_LOADING="hlsManifestLoading",e.MANIFEST_LOADED="hlsManifestLoaded",e.MANIFEST_PARSED="hlsManifestParsed",e.LEVEL_SWITCHING="hlsLevelSwitching",e.LEVEL_SWITCHED="hlsLevelSwitched",e.LEVEL_LOADING="hlsLevelLoading",e.LEVEL_LOADED="hlsLevelLoaded",e.LEVEL_UPDATED="hlsLevelUpdated",e.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",e.LEVELS_UPDATED="hlsLevelsUpdated",e.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",e.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",e.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",e.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",e.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",e.AUDIO_TRACK_UPDATED="hlsAudioTrackUpdated",e.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",e.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",e.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",e.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",e.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",e.SUBTITLE_TRACK_UPDATED="hlsSubtitleTrackUpdated",e.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",e.CUES_PARSED="hlsCuesParsed",e.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",e.INIT_PTS_FOUND="hlsInitPtsFound",e.FRAG_LOADING="hlsFragLoading",e.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",e.FRAG_LOADED="hlsFragLoaded",e.FRAG_DECRYPTED="hlsFragDecrypted",e.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",e.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",e.FRAG_PARSING_METADATA="hlsFragParsingMetadata",e.FRAG_PARSED="hlsFragParsed",e.FRAG_BUFFERED="hlsFragBuffered",e.FRAG_CHANGED="hlsFragChanged",e.FPS_DROP="hlsFpsDrop",e.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",e.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",e.ERROR="hlsError",e.DESTROYING="hlsDestroying",e.KEY_LOADING="hlsKeyLoading",e.KEY_LOADED="hlsKeyLoaded",e.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",e.BACK_BUFFER_REACHED="hlsBackBufferReached",e.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",e.ASSET_LIST_LOADING="hlsAssetListLoading",e.ASSET_LIST_LOADED="hlsAssetListLoaded",e.INTERSTITIALS_UPDATED="hlsInterstitialsUpdated",e.INTERSTITIALS_BUFFERED_TO_BOUNDARY="hlsInterstitialsBufferedToBoundary",e.INTERSTITIAL_ASSET_PLAYER_CREATED="hlsInterstitialAssetPlayerCreated",e.INTERSTITIAL_STARTED="hlsInterstitialStarted",e.INTERSTITIAL_ASSET_STARTED="hlsInterstitialAssetStarted",e.INTERSTITIAL_ASSET_ENDED="hlsInterstitialAssetEnded",e.INTERSTITIAL_ASSET_ERROR="hlsInterstitialAssetError",e.INTERSTITIAL_ENDED="hlsInterstitialEnded",e.INTERSTITIALS_PRIMARY_RESUMED="hlsInterstitialsPrimaryResumed",e.PLAYOUT_LIMIT_REACHED="hlsPlayoutLimitReached",e.EVENT_CUE_ENTER="hlsEventCueEnter",e;}({}),it={MANIFEST:"manifest",LEVEL:"level",AUDIO_TRACK:"audioTrack",SUBTITLE_TRACK:"subtitleTrack"},Me={MAIN:"main",AUDIO:"audio",SUBTITLE:"subtitle"},qr=class{constructor(e,t=0,i=0){this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=e,this.alpha_=e?Math.exp(Math.log(.5)/e):0,this.estimate_=t,this.totalWeight_=i;}sample(e,t){let i=Math.pow(this.alpha_,e);this.estimate_=t*(1-i)+i*this.estimate_,this.totalWeight_+=e;}
213getTotalWeight(){return this.totalWeight_;}getEstimate(){if(this.alpha_){let e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e;}return this.estimate_;}},c2=class{constructor(e,t,i,s=100){this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=i,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new qr(e),this.fast_=new qr(t),this.defaultTTFB_=s,this.ttfb_=new qr(e);}update(e,t){let{slow_:i,fast_:s,ttfb_:n}=this;i.halfLife!==e&&(this.slow_=new qr(e,i.getEstimate(),i.getTotalWeight())),s.halfLife!==t&&(this.fast_=new qr(t,s.getEstimate(),s.getTotalWeight())),n.halfLife!==e&&(this.ttfb_=new qr(e,n.getEstimate(),n.getTotalWeight()));}sample(e,t){e=Math.max(e,this.minDelayMs_);let i=8*t,s=e/1e3,n=i/s;this.fast_.sample(s,n),this.slow_.sample(s,n);}sampleTTFB(e){let t=e/1e3,i=Math.sqrt(2)*Math.exp(-Math.pow(t,2)/2);this.ttfb_.sample(i,Math.max(e,5));}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_;}getEstimate(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_;}getEstimateTTFB(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_;}get defaultEstimate(){return this.defaultEstimate_;}destroy(){}};function u2(e,t,i){return(t=f2(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e;}function St(){return St=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var s in i)({}).hasOwnProperty.call(i,s)&&(e[s]=i[s]);}return e;},St.apply(null,arguments);}function qg(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable;})),i.push.apply(i,s);}return i;}function yt(e){for(var t=1;t<arguments.length;t++){var i=arguments[t]!=null?arguments[t]:{};t%2?qg(Object(i),!0).forEach(function(s){u2(e,s,i[s]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):qg(Object(i)).forEach(function(s){Object.defineProperty(e,s,Object.getOwnPropertyDescriptor(i,s));});}return e;}function h2(e,t){if(typeof e!="object"||!e)return e;var i=e[Symbol.toPrimitive];if(i!==void 0){var s=i.call(e,t);if(typeof s!="object")return s;throw new TypeError("@@toPrimitive must return a primitive value.");}return(t==="string"?String:Number)(e);}function f2(e){var t=h2(e,"string");return typeof t=="symbol"?t:t+"";}var rs=class{constructor(e,t){this.trace=void 0,this.debug=void 0,this.log=void 0,this.warn=void 0,this.info=void 0,this.error=void 0;let i=`[${e}]:`;this.trace=xn,this.debug=t.debug.bind(null,i),this.log=t.log.bind(null,i),this.warn=t.warn.bind(null,i),this.info=t.info.bind(null,i),this.error=t.error.bind(null,i);}},xn=function(){},p2={trace:xn,debug:xn,log:xn,warn:xn,info:xn,error:xn};function ah(){return St({},p2);}function m2(e,t){let i=self.console[e];return i?i.bind(self.console,`${t?"["+t+"] ":""}[${e}] >`):xn;}function Kg(e,t,i){return t[e]?t[e].bind(t):m2(e,i);}var lh=ah();function g2(e,t,i){let s=ah();if(typeof console=="object"&&e===!0||typeof e=="object"){let n=["debug","log","info","warn","error"];n.forEach(r=>{s[r]=Kg(r,e,i);});try{s.log(`Debug logs enabled for "${t}" in hls.js version 1.6.16`);}catch(r){return ah();}n.forEach(r=>{lh[r]=Kg(r,e);});}else St(lh,s);return s;}var _t=lh;function Un(e=!0){if(!(typeof self>"u"))return(e||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource;}function v2(e){return typeof self<"u"&&e===self.ManagedMediaSource;}function Fy(e,t){let i=Object.keys(e),s=Object.keys(t),n=i.length,r=s.length;return!n||!r||n===r&&!i.some(a=>s.indexOf(a)===-1);}function Ki(e,t=!1){if(typeof TextDecoder<"u"){let c=new TextDecoder("utf-8").decode(e);if(t){let u=c.indexOf("\0");return u!==-1?c.substring(0,u):c;}return c.replace(/\0/g,"");}let i=e.length,s,n,r,a="",l=0;for(;l<i;){if(s=e[l++],s===0&&t)return a;
vendor: 18,572 bytes, line 213
213if(s===0||s===3)continue;switch(s>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:a+=String.fromCharCode(s);break;case 12:case 13:n=e[l++],a+=String.fromCharCode((s&31)<<6|n&63);break;case 14:n=e[l++],r=e[l++],a+=String.fromCharCode((s&15)<<12|(n&63)<<6|(r&63)<<0);break;}}return a;}function hi(e){let t="";for(let i=0;i<e.length;i++){let s=e[i].toString(16);s.length<2&&(s="0"+s),t+=s;}return t;}function By(e){return Uint8Array.from(e.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer;}function y2(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e;}var nu={exports:{}},Yg;function _2(){return Yg||(Yg=1,function(e,t){(function(i){var s=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,n=/^(?=([^\/?#]*))\1([^]*)$/,r=/(?:\/|^)\.(?=\/)/g,a=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,l={buildAbsoluteURL:function(c,u,f){if(f=f||{},c=c.trim(),u=u.trim(),!u){if(!f.alwaysNormalize)return c;var p=l.parseURL(c);if(!p)throw new Error("Error trying to parse base URL.");return p.path=l.normalizePath(p.path),l.buildURLFromParts(p);}var g=l.parseURL(u);if(!g)throw new Error("Error trying to parse relative URL.");if(g.scheme)return f.alwaysNormalize?(g.path=l.normalizePath(g.path),l.buildURLFromParts(g)):u;var v=l.parseURL(c);if(!v)throw new Error("Error trying to parse base URL.");if(!v.netLoc&&v.path&&v.path[0]!=="/"){var T=n.exec(v.path);v.netLoc=T[1],v.path=T[2];}v.netLoc&&!v.path&&(v.path="/");var y={scheme:v.scheme,netLoc:g.netLoc,path:null,params:g.params,query:g.query,fragment:g.fragment};if(!g.netLoc&&(y.netLoc=v.netLoc,g.path[0]!=="/"))if(!g.path)y.path=v.path,g.params||(y.params=v.params,g.query||(y.query=v.query));else{var A=v.path,I=A.substring(0,A.lastIndexOf("/")+1)+g.path;y.path=l.normalizePath(I);}return y.path===null&&(y.path=f.alwaysNormalize?l.normalizePath(g.path):g.path),l.buildURLFromParts(y);},parseURL:function(c){var u=s.exec(c);return u?{scheme:u[1]||"",netLoc:u[2]||"",path:u[3]||"",params:u[4]||"",query:u[5]||"",fragment:u[6]||""}:null;},normalizePath:function(c){for(c=c.split("").reverse().join("").replace(r,"");c.length!==(c=c.replace(a,"")).length;);return c.split("").reverse().join("");},buildURLFromParts:function(c){return c.scheme+c.netLoc+c.path+c.params+c.query+c.fragment;}};e.exports=l;})();}(nu)),nu.exports;}var Hh=_2(),zh=class{constructor(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0};}},At={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"},Uy=class{constructor(e){this._byteRange=null,this._url=null,this._stats=null,this._streams=null,this.base=void 0,this.relurl=void 0,typeof e=="string"&&(e={url:e}),this.base=e,T2(this,"stats");}setByteRange(e,t){let i=e.split("@",2),s;i.length===1?s=t?.byteRangeEndOffset||0:s=parseInt(i[1]),this._byteRange=[s,parseInt(i[0])+s];}get baseurl(){return this.base.url;}get byteRange(){return this._byteRange===null?[]:this._byteRange;}get byteRangeStartOffset(){return this.byteRange[0];}get byteRangeEndOffset(){return this.byteRange[1];}get elementaryStreams(){return this._streams===null&&(this._streams={[At.AUDIO]:null,[At.VIDEO]:null,[At.AUDIOVIDEO]:null}),this._streams;}set elementaryStreams(e){this._streams=e;}get hasStats(){return this._stats!==null;}get hasStreams(){return this._streams!==null;}get stats(){return this._stats===null&&(this._stats=new zh()),this._stats;}set stats(e){this._stats=e;}get url(){return!this._url&&this.baseurl&&this.relurl&&(this._url=Hh.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||"";}set url(e){this._url=e;}clearElementaryStreamInfo(){let{elementaryStreams:e}=this;e[At.AUDIO]=null,e[At.VIDEO]=null,e[At.AUDIOVIDEO]=null;}};function $t(e){return e.sn!=="initSegment";}var ru=class extends Uy{constructor(e,t){super(t),this._decryptdata=null,this._programDateTime=null,this._ref=null,this._bitrate=void 0,this.rawProgramDateTime=null,this.tagList=[],this.duration=0,this.sn=0,this.levelkeys=void 0,this.type=void 0,this.loader=null,this.keyLoader=null,this.level=-1,this.cc=0,this.startPTS=void 0,this.endPTS=void 0,this.startDTS=void 0,this.endDTS=void 0,this.start=0,this.playlistOffset=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 0,this.urlId=0,this.type=e;}get byteLength(){if(this.hasStats){let e=this.stats.total;if(e)return e;}if(this.byteRange.length){let e=this.byteRange[0],t=this.byteRange[1];if(Ie(e)&&Ie(t))return t-e;}return null;}get bitrate(){return this.byteLength?this.byteLength*8/this.duration:this._bitrate?this._bitrate:null;}set bitrate(e){this._bitrate=e;}get decryptdata(){var e;let{levelkeys:t}=this;if(!t||t.NONE)return null;if(t.identity)this._decryptdata||(this._decryptdata=t.identity.getDecryptData(this.sn));else if(!((e=this._decryptdata)!=null&&e.keyId)){let i=Object.keys(t);if(i.length===1){let s=this._decryptdata=t[i[0]]||null;s&&(this._decryptdata=s.getDecryptData(this.sn,t));}}return this._decryptdata;}get end(){return this.start+this.duration;}get endProgramDateTime(){if(this.programDateTime===null)return null;let e=Ie(this.duration)?this.duration:0;return this.programDateTime+e*1e3;}get encrypted(){var e;if((e=this._decryptdata)!=null&&e.encrypted)return!0;if(this.levelkeys){var t;let i=Object.keys(this.levelkeys),s=i.length;if(s>1||s===1&&(t=this.levelkeys[i[0]])!=null&&t.encrypted)return!0;}return!1;}get programDateTime(){return this._programDateTime===null&&this.rawProgramDateTime&&(this.programDateTime=Date.parse(this.rawProgramDateTime)),this._programDateTime;}set programDateTime(e){if(!Ie(e)){this._programDateTime=this.rawProgramDateTime=null;return;}this._programDateTime=e;}get ref(){return $t(this)?(this._ref||(this._ref={base:this.base,start:this.start,duration:this.duration,sn:this.sn,programDateTime:this.programDateTime}),this._ref):null;}addStart(e){this.setStart(this.start+e);}setStart(e){this.start=e,this._ref&&(this._ref.start=e);}setDuration(e){this.duration=e,this._ref&&(this._ref.duration=e);}setKeyFormat(e){let t=this.levelkeys;if(t){var i;let s=t[e];s&&!((i=this._decryptdata)!=null&&i.keyId)&&(this._decryptdata=s.getDecryptData(this.sn,t));}}abortRequests(){var e,t;(e=this.loader)==null||e.abort(),(t=this.keyLoader)==null||t.abort();}setElementaryStreamInfo(e,t,i,s,n,r=!1){let{elementaryStreams:a}=this,l=a[e];if(!l){a[e]={startPTS:t,endPTS:i,startDTS:s,endDTS:n,partial:r};return;}l.startPTS=Math.min(l.startPTS,t),l.endPTS=Math.max(l.endPTS,i),l.startDTS=Math.min(l.startDTS,s),l.endDTS=Math.max(l.endDTS,n);}},b2=class extends Uy{constructor(e,t,i,s,n){super(i),this.fragOffset=0,this.duration=0,this.gap=!1,this.independent=!1,this.relurl=void 0,this.fragment=void 0,this.index=void 0,this.duration=e.decimalFloatingPoint("DURATION"),this.gap=e.bool("GAP"),this.independent=e.bool("INDEPENDENT"),this.relurl=e.enumeratedString("URI"),this.fragment=t,this.index=s;let r=e.enumeratedString("BYTERANGE");r&&this.setByteRange(r,n),n&&(this.fragOffset=n.fragOffset+n.duration);}get start(){return this.fragment.start+this.fragOffset;}get end(){return this.start+this.duration;}get loaded(){let{elementaryStreams:e}=this;return!!(e.audio||e.video||e.audiovideo);}};function Vy(e,t){let i=Object.getPrototypeOf(e);if(i){let s=Object.getOwnPropertyDescriptor(i,t);return s||Vy(i,t);}}function T2(e,t){let i=Vy(e,t);i&&(i.enumerable=!0,Object.defineProperty(e,t,i));}var Xg=Math.pow(2,32)-1,E2=[].push,$y={video:1,audio:2,id3:3,text:4};function Yt(e){return String.fromCharCode.apply(null,e);}function Hy(e,t){let i=e[t]<<8|e[t+1];return i<0?65536+i:i;}function We(e,t){let i=zy(e,t);return i<0?4294967296+i:i;}function Qg(e,t){let i=We(e,t);return i*=Math.pow(2,32),i+=We(e,t+4),i;}function zy(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3];}function C2(e){let t=e.byteLength;for(let i=0;i<t;){let s=We(e,i);if(s>8&&e[i+4]===109&&e[i+5]===111&&e[i+6]===111&&e[i+7]===102)return!0;i=s>1?i+s:t;}return!1;}function Ze(e,t){let i=[];if(!t.length)return i;let s=e.byteLength;for(let n=0;n<s;){let r=We(e,n),a=Yt(e.subarray(n+4,n+8)),l=r>1?n+r:s;if(a===t[0])if(t.length===1)i.push(e.subarray(n+8,l));else{let c=Ze(e.subarray(n+8,l),t.slice(1));c.length&&E2.apply(i,c);}n=l;}return i;}function S2(e){let t=[],i=e[0],s=8,n=We(e,s);s+=4;let r=0,a=0;i===0?(r=We(e,s),a=We(e,s+4),s+=8):(r=Qg(e,s),a=Qg(e,s+8),s+=16),s+=2;let l=e.length+a,c=Hy(e,s);s+=2;for(let u=0;u<c;u++){let f=s,p=We(e,f);f+=4;let g=p&2147483647;if((p&2147483648)>>>31===1)return _t.warn("SIDX has hierarchical references (not supported)"),null;let v=We(e,f);f+=4,t.push({referenceSize:g,subsegmentDuration:v,info:{duration:v/n,start:l,end:l+g-1}}),l+=g,f+=4,s=f;}return{earliestPresentationTime:r,timescale:n,version:i,referencesCount:c,references:t};}function Gy(e){let t=[],i=Ze(e,["moov","trak"]);for(let s=0;s<i.length;s++){let n=i[s],r=Ze(n,["tkhd"])[0];if(r){let a=r[0],l=We(r,a===0?12:20),c=Ze(n,["mdia","mdhd"])[0];if(c){a=c[0];let u=We(c,a===0?12:20),f=Ze(n,["mdia","hdlr"])[0];if(f){let p=Yt(f.subarray(8,12)),g={soun:At.AUDIO,vide:At.VIDEO}[p],v=Ze(n,["mdia","minf","stbl","stsd"])[0],T=w2(v);g?(t[l]={timescale:u,type:g,stsd:T},t[g]=yt({timescale:u,id:l},T)):t[l]={timescale:u,type:p,stsd:T};}}}}return Ze(e,["moov","mvex","trex"]).forEach(s=>{let n=t[We(s,4)];n&&(n.default={duration:We(s,12),flags:We(s,20)});}),t;}function w2(e){let t=e.subarray(8),i=t.subarray(86),s=Yt(t.subarray(4,8)),n=s,r,a=s==="enca"||s==="encv";a&&Ze(Ze(t,[s])[0].subarray(s==="enca"?28:78),["sinf"]).forEach(c=>{let u=Ze(c,["schm"])[0];if(u){let f=Yt(u.subarray(4,8));if(f==="cbcs"||f==="cenc"){let p=Ze(c,["frma"])[0];p&&(n=Yt(p));}}});let l=n;switch(n){case"avc1":case"avc2":case"avc3":case"avc4":{let c=Ze(i,["avcC"])[0];c&&c.length>3&&(n+="."+Gl(c[1])+Gl(c[2])+Gl(c[3]),r=zl(l==="avc1"?"dva1":"dvav",i));break;}case"mp4a":{let c=Ze(t,[s])[0],u=Ze(c.subarray(28),["esds"])[0];if(u&&u.length>7){let f=4;if(u[f++]!==3)break;f=ou(u,f),f+=2;let p=u[f++];if(p&128&&(f+=2),p&64&&(f+=u[f++]),u[f++]!==4)break;f=ou(u,f);let g=u[f++];if(g===64)n+="."+Gl(g);else break;if(f+=12,u[f++]!==5)break;f=ou(u,f);let v=u[f++],T=(v&248)>>3;T===31&&(T+=1+((v&7)<<3)+((u[f]&224)>>5)),n+="."+T;}break;}case"hvc1":case"hev1":{let c=Ze(i,["hvcC"])[0];if(c&&c.length>12){let u=c[1],f=["","A","B","C"][u>>6],p=u&31,g=We(c,2),v=(u&32)>>5?"H":"L",T=c[12],y=c.subarray(6,12);n+="."+f+p,n+="."+A2(g).toString(16).toUpperCase(),n+="."+v+T;let A="";for(let I=y.length;I--;){let P=y[I];(P||A)&&(A="."+P.toString(16).toUpperCase()+A);}n+=A;}r=zl(l=="hev1"?"dvhe":"dvh1",i);break;}case"dvh1":case"dvhe":case"dvav":case"dva1":case"dav1":n=zl(n,i)||n;break;case"vp09":{let c=Ze(i,["vpcC"])[0];if(c&&c.length>6){let u=c[4],f=c[5],p=c[6]>>4&15;n+="."+ks(u)+"."+ks(f)+"."+ks(p);}break;}case"av01":{let c=Ze(i,["av1C"])[0];if(c&&c.length>2){let u=c[1]>>>5,f=c[1]&31,p=c[2]>>>7?"H":"M",g=(c[2]&64)>>6,v=(c[2]&32)>>5,T=u===2&&g?v?12:10:g?10:8,y=(c[2]&16)>>4,A=(c[2]&8)>>3,I=(c[2]&4)>>2,P=c[2]&3;n+="."+u+"."+ks(f)+p+"."+ks(T)+"."+y+"."+A+I+P+"."+ks(1)+"."+ks(1)+"."+ks(1)+".0",r=zl("dav1",i);}break;}}return{codec:n,encrypted:a,supplemental:r};}function zl(e,t){let i=Ze(t,["dvvC"]),s=i.length?i[0]:Ze(t,["dvcC"])[0];if(s){let n=s[2]>>1&127,r=s[2]<<5&32|s[3]>>3&31;return e+"."+ks(n)+"."+ks(r);}}function A2(e){let t=0;for(let i=0;i<32;i++)t|=(e>>i&1)<<31-i;return t>>>0;}function ou(e,t){let i=t+5;for(;e[t++]&128&&t<i;);return t;}function Gl(e){return("0"+e.toString(16).toUpperCase()).slice(-2);}function ks(e){return(e<10?"0":"")+e;}function I2(e,t){if(!e||!t)return;let i=t.keyId;i&&t.isCommonEncryption&&Wy(e,(s,n)=>{let r=s.subarray(8,24);r.some(a=>a!==0)||(_t.log(`[eme] Patching keyId in 'enc${n?"a":"v"}>sinf>>tenc' box: ${hi(r)} -> ${hi(i)}`),s.set(i,8));});}function k2(e){let t=[];return Wy(e,i=>t.push(i.subarray(8,24))),t;}function Wy(e,t){Ze(e,["moov","trak"]).forEach(i=>{let s=Ze(i,["mdia","minf","stbl","stsd"])[0];if(!s)return;let n=s.subarray(8),r=Ze(n,["enca"]),a=r.length>0;a||(r=Ze(n,["encv"])),r.forEach(l=>{Ze(a?l.subarray(28):l.subarray(78),["sinf"]).forEach(c=>{let u=qy(c);u&&t(u,a);});});});}function qy(e){let t=Ze(e,["schm"])[0];if(t){let i=Yt(t.subarray(4,8));if(i==="cbcs"||i==="cenc"){let s=Ze(e,["schi","tenc"])[0];if(s)return s;}}}function P2(e,t,i){let s={},n=Ze(e,["moof","traf"]);for(let r=0;r<n.length;r++){let a=n[r],l=Ze(a,["tfhd"])[0],c=We(l,4),u=t[c];if(!u)continue;s[c]||(s[c]={start:NaN,duration:0,sampleCount:0,timescale:u.timescale,type:u.type});let f=s[c],p=Ze(a,["tfdt"])[0];if(p){let k=p[0],w=We(p,4);k===1&&(w===Xg?i.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"):(w*=Xg+1,w+=We(p,8))),Ie(w)&&(!Ie(f.start)||w<f.start)&&(f.start=w);}let g=u.default,v=We(l,0)|g?.flags,T=g?.duration||0;v&8&&(v&2?T=We(l,12):T=We(l,8));let y=Ze(a,["trun"]),A=f.start||0,I=0,P=T;for(let k=0;k<y.length;k++){let w=y[k],R=We(w,4),x=f.sampleCount;f.sampleCount+=R;let D=w[3]&1,O=w[3]&4,V=w[2]&1,$=w[2]&2,N=w[2]&4,F=w[2]&8,K=8,re=R;for(D&&(K+=4),O&&R&&(!(w[K+1]&1)&&f.keyFrameIndex===void 0&&(f.keyFrameIndex=x),K+=4,V?(P=We(w,K),K+=4):P=T,$&&(K+=4),F&&(K+=4),A+=P,I+=P,re--);re--;)V?(P=We(w,K),K+=4):P=T,$&&(K+=4),N&&(w[K+1]&1||f.keyFrameIndex===void 0&&(f.keyFrameIndex=f.sampleCount-(re+1),f.keyFrameStart=A),K+=4),F&&(K+=4),A+=P,I+=P;!I&&T&&(I+=T*R);}f.duration+=I;}if(!Object.keys(s).some(r=>s[r].duration)){let r=1/0,a=0,l=Ze(e,["sidx"]);for(let c=0;c<l.length;c++){let u=S2(l[c]);if(u!=null&&u.references){r=Math.min(r,u.earliestPresentationTime/u.timescale);let f=u.references.reduce((p,g)=>p+g.info.duration||0,0);a=Math.max(a,f+u.earliestPresentationTime/u.timescale);}}a&&Ie(a)&&Object.keys(s).forEach(c=>{s[c].duration||(s[c].duration=a*s[c].timescale-s[c].start);});}return s;}function R2(e){let t={valid:null,remainder:null},i=Ze(e,["moof"]);if(i.length<2)return t.remainder=e,t;let s=i[i.length-1];return t.valid=e.slice(0,s.byteOffset-8),t.remainder=e.slice(s.byteOffset-8),t;}function ns(e,t){let i=new Uint8Array(e.length+t.length);return i.set(e),i.set(t,e.length),i;}function Jg(e,t){let i=[],s=t.samples,n=t.timescale,r=t.id,a=!1;return Ze(s,["moof"]).map(l=>{let c=l.byteOffset-8;Ze(l,["traf"]).map(u=>{let f=Ze(u,["tfdt"]).map(p=>{let g=p[0],v=We(p,4);return g===1&&(v*=Math.pow(2,32),v+=We(p,8)),v/n;})[0];return f!==void 0&&(e=f),Ze(u,["tfhd"]).map(p=>{let g=We(p,4),v=We(p,0)&16777215,T=(v&1)!==0,y=(v&2)!==0,A=(v&8)!==0,I=0,P=(v&16)!==0,k=0,w=(v&32)!==0,R=8;g===r&&(T&&(R+=8),y&&(R+=4),A&&(I=We(p,R),R+=4),P&&(k=We(p,R),R+=4),w&&(R+=4),t.type==="video"&&(a=nc(t.codec)),Ze(u,["trun"]).map(x=>{let D=x[0],O=We(x,0)&16777215,V=(O&1)!==0,$=0,N=(O&4)!==0,F=(O&256)!==0,K=0,re=(O&512)!==0,oe=0,J=(O&1024)!==0,ge=(O&2048)!==0,q=0,G=We(x,4),ne=8;V&&($=We(x,ne),ne+=4),N&&(ne+=4);let he=$+c;for(let ce=0;ce<G;ce++){if(F?(K=We(x,ne),ne+=4):K=I,re?(oe=We(x,ne),ne+=4):oe=k,J&&(ne+=4),ge&&(D===0?q=We(x,ne):q=zy(x,ne),ne+=4),t.type===At.VIDEO){let ie=0;for(;ie<oe;){let Ce=We(s,he);he+=4,x2(a,s[he])&&Gh(s.subarray(he,he+Ce),a?2:1,e+q/n,i),he+=Ce,ie+=Ce+4;}}e+=K/n;}}));});});}),i;}function nc(e){if(!e)return!1;let t=e.substring(0,4);return t==="hvc1"||t==="hev1"||t==="dvh1"||t==="dvhe";}function x2(e,t){if(e){let i=t>>1&63;return i===39||i===40;}else return(t&31)===6;}function Gh(e,t,i,s){let n=Ky(e),r=0;r+=t;let a=0,l=0,c=0;for(;r<n.length;){a=0;do{if(r>=n.length)break;c=n[r++],a+=c;}while(c===255);l=0;do{if(r>=n.length)break;c=n[r++],l+=c;}while(c===255);let u=n.length-r,f=r;if(l<u)r+=l;else if(l>u){_t.error(`Malformed SEI payload. ${l} is too small, only ${u} bytes left to parse.`);break;}if(a===4){if(n[f++]===181){let p=Hy(n,f);if(f+=2,p===49){let g=We(n,f);if(f+=4,g===1195456820){let v=n[f++];if(v===3){let T=n[f++],y=31&T,A=64&T,I=A?2+y*3:0,P=new Uint8Array(I);if(A){P[0]=T;for(let k=1;k<I;k++)P[k]=n[f++];}s.push({type:v,payloadType:a,pts:i,bytes:P});}}}}}else if(a===5&&l>16){let p=[];for(let T=0;T<16;T++){let y=n[f++].toString(16);p.push(y.length==1?"0"+y:y),(T===3||T===5||T===7||T===9)&&p.push("-");}let g=l-16,v=new Uint8Array(g);for(let T=0;T<g;T++)v[T]=n[f++];s.push({payloadType:a,pts:i,uuid:p.join(""),userData:Ki(v),userDataBytes:v});}}}function Ky(e){let t=e.byteLength,i=[],s=1;for(;s<t-2;)e[s]===0&&e[s+1]===0&&e[s+2]===3?(i.push(s+2),s+=2):s++;if(i.length===0)return e;let n=t-i.length,r=new Uint8Array(n),a=0;for(s=0;s<n;a++,s++)a===i[0]&&(a++,i.shift()),r[s]=e[a];return r;}function L2(e){let t=e[0],i="",s="",n=0,r=0,a=0,l=0,c=0,u=0;if(t===0){for(;Yt(e.subarray(u,u+1))!=="\0";)i+=Yt(e.subarray(u,u+1)),u+=1;for(i+=Yt(e.subarray(u,u+1)),u+=1;Yt(e.subarray(u,u+1))!=="\0";)s+=Yt(e.subarray(u,u+1)),u+=1;s+=Yt(e.subarray(u,u+1)),u+=1,n=We(e,12),r=We(e,16),l=We(e,20),c=We(e,24),u=28;}else if(t===1){u+=4,n=We(e,u),u+=4;let p=We(e,u);u+=4;let g=We(e,u);for(u+=4,a=2**32*p+g,l2(a)||(a=Number.MAX_SAFE_INTEGER,_t.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),l=We(e,u),u+=4,c=We(e,u),u+=4;Yt(e.subarray(u,u+1))!=="\0";)i+=Yt(e.subarray(u,u+1)),u+=1;for(i+=Yt(e.subarray(u,u+1)),u+=1;Yt(e.subarray(u,u+1))!=="\0";)s+=Yt(e.subarray(u,u+1)),u+=1;s+=Yt(e.subarray(u,u+1)),u+=1;}let f=e.subarray(u,e.byteLength);return{schemeIdUri:i,value:s,timeScale:n,presentationTime:a,presentationTimeDelta:r,eventDuration:l,id:c,payload:f};}function M2(e,...t){let i=t.length,s=8,n=i;for(;n--;)s+=t[n].byteLength;let r=new Uint8Array(s);for(r[0]=s>>24&255,r[1]=s>>16&255,r[2]=s>>8&255,r[3]=s&255,r.set(e,4),n=0,s=8;n<i;n++)r.set(t[n],s),s+=t[n].byteLength;return r;}function O2(e,t,i){if(e.byteLength!==16)throw new RangeError("Invalid system id");let s,n;s=0,n=new Uint8Array();let r;s>0?(r=new Uint8Array(4),t.length>0&&new DataView(r.buffer).setUint32(0,t.length,!1)):r=new Uint8Array();let a=new Uint8Array(4);return i.byteLength>0&&new DataView(a.buffer).setUint32(0,i.byteLength,!1),M2([112,115,115,104],new Uint8Array([s,0,0,0]),e,r,n,a,i);}function D2(e){let t=[];if(e instanceof ArrayBuffer){let i=e.byteLength,s=0;for(;s+32<i;){let n=j2(new DataView(e,s));t.push(n),s+=n.size;}}return t;}function j2(e){let t=e.getUint32(0),i=e.byteOffset,s=e.byteLength;if(s<t)return{offset:i,size:s};if(e.getUint32(4)!==1886614376)return{offset:i,size:t};let n=e.getUint32(8)>>>24;if(n!==0&&n!==1)return{offset:i,size:t};let r=e.buffer,a=hi(new Uint8Array(r,i+12,16)),l=null,c=null,u=0;
213if(n===0)u=28;else{let p=e.getUint32(28);if(!p||s<32+p*16)return{offset:i,size:t};l=[];for(let g=0;g<p;g++)l.push(new Uint8Array(r,i+32+g*16,16));u=32+p*16;}if(!u)return{offset:i,size:t};let f=e.getUint32(u);return t-32<f?{offset:i,size:t}:(c=new Uint8Array(r,i+u+4,f),{version:n,systemId:a,kids:l,data:c,offset:i,size:t});}var Yy=()=>/\(Windows.+Firefox\//i.test(navigator.userAgent),_o={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,dav1:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function Wh(e,t){let i=_o[t];return!!i&&!!i[e.slice(0,4)];}function pa(e,t,i=!0){return!e.split(",").some(s=>!qh(s,t,i));}function qh(e,t,i=!0){var s;let n=Un(i);return(s=n?.isTypeSupported(ma(e,t)))!=null?s:!1;}function ma(e,t){return`${t}/mp4;codecs=${e}`;}function Zg(e){if(e){let t=e.substring(0,4);return _o.video[t];}return 2;}function jd(e){let t=Yy();return e.split(",").reduce((i,s)=>{let n=t&&nc(s)?9:_o.video[s];return n?(n*2+i)/(i?3:2):(_o.audio[s]+i)/(i?2:1);},0);}var au={};function N2(e,t=!0){if(au[e])return au[e];let i={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"],"mp4a.40.34":["mp3"]}[e];for(let n=0;n<i.length;n++){var s;if(qh(i[n],"audio",t))return au[e]=i[n],i[n];if(i[n]==="mp3"&&(s=Un(t))!=null&&s.isTypeSupported("audio/mpeg"))return"";}return e;}var F2=/flac|opus|mp4a\.40\.34/i;function Nd(e,t=!0){return e.replace(F2,i=>N2(i.toLowerCase(),t));}function B2(e,t){let i=[];if(e){let s=e.split(",");for(let n=0;n<s.length;n++)Wh(s[n],"video")||i.push(s[n]);}return t&&i.push(t),i.join(",");}function _d(e,t){if(e&&(e.length>4||["ac-3","ec-3","alac","fLaC","Opus"].indexOf(e)!==-1)&&(ev(e,"audio")||ev(e,"video")))return e;if(t){let i=t.split(",");if(i.length>1){if(e){for(let s=i.length;s--;)if(i[s].substring(0,4)===e.substring(0,4))return i[s];}return i[0];}}return t||e;}function ev(e,t){return Wh(e,t)&&qh(e,t);}function U2(e){let t=e.split(",");for(let i=0;i<t.length;i++){let s=t[i].split(".");s.length>2&&s[0]==="avc1"&&(t[i]=`avc1.${parseInt(s[1]).toString(16)}${("000"+parseInt(s[2]).toString(16)).slice(-4)}`);}return t.join(",");}function V2(e){if(e.startsWith("av01.")){let t=e.split("."),i=["0","111","01","01","01","0"];for(let s=t.length;s>4&&s<10;s++)t[s]=i[s-4];return t.join(".");}return e;}function tv(e){let t=Un(e)||{isTypeSupported:()=>!1};return{mpeg:t.isTypeSupported("audio/mpeg"),mp3:t.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:t.isTypeSupported('audio/mp4; codecs="ac-3"')};}function dh(e){return e.replace(/^.+codecs=["']?([^"']+).*$/,"$1");}var $2={supported:!0,powerEfficient:!0,smooth:!0},H2={supported:!1,smooth:!1,powerEfficient:!1},Xy={supported:!0,configurations:[],decodingInfoResults:[$2]};function Qy(e,t){return{supported:!1,configurations:t,decodingInfoResults:[H2],error:e};}function z2(e,t,i,s,n,r){let a=e.videoCodec,l=e.audioCodec?e.audioGroups:null,c=r?.audioCodec,u=r?.channels,f=u?parseInt(u):c?1/0:2,p=null;if(l!=null&&l.length)try{l.length===1&&l[0]?p=t.groups[l[0]].channels:p=l.reduce((g,v)=>{if(v){let T=t.groups[v];if(!T)throw new Error(`Audio track group ${v} not found`);Object.keys(T.channels).forEach(y=>{g[y]=(g[y]||0)+T.channels[y];});}return g;},{2:0});}catch(g){return!0;}return a!==void 0&&(a.split(",").some(g=>nc(g))||e.width>1920&&e.height>1088||e.height>1920&&e.width>1088||e.frameRate>Math.max(s,30)||e.videoRange!=="SDR"&&e.videoRange!==i||e.bitrate>Math.max(n,8e6))||!!p&&Ie(f)&&Object.keys(p).some(g=>parseInt(g)>f);}function Jy(e,t,i,s={}){let n=e.videoCodec;if(!n&&!e.audioCodec||!i)return Promise.resolve(Xy);let r=[],a=G2(e),l=a.length,c=W2(e,t,l>0),u=c.length;for(let f=l||1*u||1;f--;){let p={type:"media-source"};if(l&&(p.video=a[f%l]),u){p.audio=c[f%u];let g=p.audio.bitrate;p.video&&g&&(p.video.bitrate-=g);}r.push(p);}if(n){let f=navigator.userAgent;if(n.split(",").some(p=>nc(p))&&Yy())return Promise.resolve(Qy(new Error(`Overriding Windows Firefox HEVC MediaCapabilities result based on user-agent string: (${f})`),r));}return Promise.all(r.map(f=>{let p=K2(f);return s[p]||(s[p]=i.decodingInfo(f));})).then(f=>({supported:!f.some(p=>!p.supported),configurations:r,decodingInfoResults:f})).catch(f=>({supported:!1,configurations:r,decodingInfoResults:[],error:f}));}function G2(e){var t;let i=(t=e.videoCodec)==null?void 0:t.split(","),s=Zy(e),n=e.width||640,r=e.height||480,a=e.frameRate||30,l=e.videoRange.toLowerCase();return i?i.map(c=>{let u={contentType:ma(V2(c),"video"),width:n,height:r,bitrate:s,framerate:a};return l!=="sdr"&&(u.transferFunction=l),u;}):[];}function W2(e,t,i){var s;let n=(s=e.audioCodec)==null?void 0:s.split(","),r=Zy(e);return n&&e.audioGroups?e.audioGroups.reduce((a,l)=>{var c;let u=l?(c=t.groups[l])==null?void 0:c.tracks:null;return u?u.reduce((f,p)=>
vendor: 4,295 bytes, line 213
213{if(p.groupId===l){let g=parseFloat(p.channels||"");n.forEach(v=>{let T={contentType:ma(v,"audio"),bitrate:i?q2(v,r):r};g&&(T.channels=""+g),f.push(T);});}return f;},a):a;},[]):[];}function q2(e,t){if(t<=1)return 1;let i=128e3;return e==="ec-3"?i=768e3:e==="ac-3"&&(i=64e4),Math.min(t/2,i);}function Zy(e){return Math.ceil(Math.max(e.bitrate*.9,e.averageBitrate)/1e3)*1e3||1;}function K2(e){let t="",{audio:i,video:s}=e;if(s){let n=dh(s.contentType);t+=`${n}_r${s.height}x${s.width}f${Math.ceil(s.framerate)}${s.transferFunction||"sd"}_${Math.ceil(s.bitrate/1e5)}`;}if(i){let n=dh(i.contentType);t+=`${s?"_":""}${n}_c${i.channels}`;}return t;}var ch=["NONE","TYPE-0","TYPE-1",null];function Y2(e){return ch.indexOf(e)>-1;}var Fd=["SDR","PQ","HLG"];function X2(e){return!!e&&Fd.indexOf(e)>-1;}var bd={No:"",Yes:"YES",v2:"v2"};function iv(e){let{canSkipUntil:t,canSkipDateRanges:i,age:s}=e,n=s<t/2;return t&&n?i?bd.v2:bd.Yes:bd.No;}var sv=class{constructor(e,t,i){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=t,this.skip=i;}addDirectives(e){let t=new self.URL(e);return this.msn!==void 0&&t.searchParams.set("_HLS_msn",this.msn.toString()),this.part!==void 0&&t.searchParams.set("_HLS_part",this.part.toString()),this.skip&&t.searchParams.set("_HLS_skip",this.skip),t.href;}},ga=class{constructor(e){if(this._attrs=void 0,this.audioCodec=void 0,this.bitrate=void 0,this.codecSet=void 0,this.url=void 0,this.frameRate=void 0,this.height=void 0,this.id=void 0,this.name=void 0,this.supplemental=void 0,this.videoCodec=void 0,this.width=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loaded=void 0,this.realBitrate=0,this.supportedPromise=void 0,this.supportedResult=void 0,this._avgBitrate=0,this._audioGroups=void 0,this._subtitleGroups=void 0,this._urlId=0,this.url=[e.url],this._attrs=[e.attrs],this.bitrate=e.bitrate,e.details&&(this.details=e.details),this.id=e.id||0,this.name=e.name,this.width=e.width||0,this.height=e.height||0,this.frameRate=e.attrs.optionalFloat("FRAME-RATE",0),this._avgBitrate=e.attrs.decimalInteger("AVERAGE-BANDWIDTH"),this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.codecSet=[e.videoCodec,e.audioCodec].filter(i=>!!i).map(i=>i.substring(0,4)).join(","),"supplemental"in e){var t;this.supplemental=e.supplemental;let i=(t=e.supplemental)==null?void 0:t.videoCodec;i&&i!==e.videoCodec&&(this.codecSet+=`,${i.substring(0,4)}`);}this.addGroupId("audio",e.attrs.AUDIO),this.addGroupId("text",e.attrs.SUBTITLES);}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate);}get averageBitrate(){return this._avgBitrate||this.realBitrate||this.bitrate;}get attrs(){return this._attrs[0];}get codecs(){return this.attrs.CODECS||"";}get pathwayId(){return this.attrs["PATHWAY-ID"]||".";}get videoRange(){return this.attrs["VIDEO-RANGE"]||"SDR";}get score(){return this.attrs.optionalFloat("SCORE",0);}get uri(){return this.url[0]||"";}hasAudioGroup(e){return nv(this._audioGroups,e);}hasSubtitleGroup(e){return nv(this._subtitleGroups,e);}get audioGroups(){return this._audioGroups;}get subtitleGroups(){return this._subtitleGroups;}addGroupId(e,t){if(t){if(e==="audio"){let i=this._audioGroups;i||(i=this._audioGroups=[]),i.indexOf(t)===-1&&i.push(t);}else if(e==="text"){let i=this._subtitleGroups;i||(i=this._subtitleGroups=[]),i.indexOf(t)===-1&&i.push(t);}}}get urlId(){return 0;}set urlId(e){}get audioGroupIds(){return this.audioGroups?[this.audioGroupId]:void 0;}get textGroupIds(){return this.subtitleGroups?[this.textGroupId]:void 0;}get audioGroupId(){var e;return(e=this.audioGroups)==null?void 0:e[0];}get textGroupId(){var e;return(e=this.subtitleGroups)==null?void 0:e[0];}addFallback(){}};function nv(e,t){return!t||!e?!1:e.indexOf(t)!==-1;}function Q2(){if(typeof matchMedia=="function"){let e=matchMedia("(dynamic-range: high)"),t=matchMedia("bad query");if(e.media!==t.media)return e.matches===!0;}return!1;}function J2(e,t){let i=!1,s=[];if(e&&(i=e!=="SDR",s=[e]),t){s=t.allowedVideoRanges||Fd.slice(0);let n=s.join("")!=="SDR"&&!t.videoCodec;i=t.preferHDR!==void 0?t.preferHDR:n&&Q2(),i||(s=["SDR"]);}return{preferHDR:i,allowedVideoRanges:s};}var Z2=e=>{let t=new WeakSet();return(i,s)=>{if(e&&(s=e(i,s)),typeof s=="object"&&s!==null){if(t.has(s))return;t.add(s);}return s;};},It=(e,t)=>
213JSON.stringify(e,Z2(t));function ew(e,t,i,s,n){let r=Object.keys(e),a=s?.channels,l=s?.audioCodec,c=n?.videoCodec,u=a&&parseInt(a)===2,f=!1,p=!1,g=1/0,v=1/0,T=1/0,y=1/0,A=0,I=[],{preferHDR:P,allowedVideoRanges:k}=J2(t,n);for(let D=r.length;D--;){let O=e[r[D]];f||(f=O.channels[2]>0),g=Math.min(g,O.minHeight),v=Math.min(v,O.minFramerate),T=Math.min(T,O.minBitrate),k.filter(V=>O.videoRanges[V]>0).length>0&&(p=!0);}g=Ie(g)?g:0,v=Ie(v)?v:0;let w=Math.max(1080,g),R=Math.max(30,v);T=Ie(T)?T:i,i=Math.max(T,i),p||(t=void 0);let x=r.length>1;return{codecSet:r.reduce((D,O)=>{let V=e[O];if(O===D)return D;if(I=p?k.filter($=>V.videoRanges[$]>0):[],x){if(V.minBitrate>i)return ws(O,`min bitrate of ${V.minBitrate} > current estimate of ${i}`),D;if(!V.hasDefaultAudio)return ws(O,"no renditions with default or auto-select sound found"),D;if(l&&O.indexOf(l.substring(0,4))%5!==0)return ws(O,`audio codec preference "${l}" not found`),D;if(a&&!u){if(!V.channels[a])return ws(O,`no renditions with ${a} channel sound found (channels options: ${Object.keys(V.channels)})`),D;}else if((!l||u)&&f&&V.channels[2]===0)return ws(O,"no renditions with stereo sound found"),D;if(V.minHeight>w)return ws(O,`min resolution of ${V.minHeight} > maximum of ${w}`),D;if(V.minFramerate>R)return ws(O,`min framerate of ${V.minFramerate} > maximum of ${R}`),D;if(!I.some($=>V.videoRanges[$]>0))return ws(O,`no variants with VIDEO-RANGE of ${It(I)} found`),D;if(c&&O.indexOf(c.substring(0,4))%5!==0)return ws(O,`video codec preference "${c}" not found`),D;if(V.maxScore<A)return ws(O,`max score of ${V.maxScore} < selected max of ${A}`),D;}return D&&(jd(O)>=jd(D)||V.fragmentError>e[D].fragmentError)?D:(y=V.minIndex,A=V.maxScore,O);},void 0),videoRanges:I,preferHDR:P,minFramerate:v,minBitrate:T,minIndex:y};}function ws(e,t){_t.log(`[abr] start candidates with "${e}" ignored because ${t}`);}function e_(e){return e.reduce((t,i)=>{let s=t.groups[i.groupId];s||(s=t.groups[i.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),s.tracks.push(i);let n=i.channels||"2";return s.channels[n]=(s.channels[n]||0)+1,s.hasDefault=s.hasDefault||i.default,s.hasAutoSelect=s.hasAutoSelect||i.autoselect,s.hasDefault&&(t.hasDefaultAudio=!0),s.hasAutoSelect&&(t.hasAutoSelectAudio=!0),t;},{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}});}function tw(e,t,i,s){return e.slice(i,s+1).reduce((n,r,a)=>{if(!r.codecSet)return n;let l=r.audioGroups,c=n[r.codecSet];c||(n[r.codecSet]=c={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,minIndex:a,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!l,fragmentError:0}),c.minBitrate=Math.min(c.minBitrate,r.bitrate);let u=Math.min(r.height,r.width);return c.minHeight=Math.min(c.minHeight,u),c.minFramerate=Math.min(c.minFramerate,r.frameRate),c.minIndex=Math.min(c.minIndex,a),c.maxScore=Math.max(c.maxScore,r.score),c.fragmentError+=r.fragmentError,c.videoRanges[r.videoRange]=(c.videoRanges[r.videoRange]||0)+1,l&&l.forEach(f=>{if(!f)return;let p=t.groups[f];p&&(c.hasDefaultAudio=c.hasDefaultAudio||t.hasDefaultAudio?p.hasDefault:p.hasAutoSelect||!t.hasDefaultAudio&&!t.hasAutoSelectAudio,Object.keys(p.channels).forEach(g=>{c.channels[g]=(c.channels[g]||0)+p.channels[g];}));}),n;},{});}function rv(e){if(!e)return e;let{lang:t,assocLang:i,characteristics:s,channels:n,audioCodec:r}=e;return{lang:t,assocLang:i,characteristics:s,channels:n,audioCodec:r};}function js(e,t,i){if("attrs"in e){let s=t.indexOf(e);if(s!==-1)return s;}for(let s=0;s<t.length;s++){let n=t[s];if(vr(e,n,i))return s;}return-1;}function vr(e,t,i){let{groupId:s,name:n,lang:r,assocLang:a,default:l}=e,c=e.forced;return(s===void 0||t.groupId===s)&&(n===void 0||t.name===n)&&(r===void 0||iw(r,t.lang))&&(r===void 0||t.assocLang===a)&&(l===void 0||t.default===l)&&(c===void 0||t.forced===c)&&(!("characteristics"in e)||sw(e.characteristics||"",t.characteristics))&&(i===void 0||i(e,t));}function iw(e,t="--"){return e.length===t.length?e===t:e.startsWith(t)||t.startsWith(e);}function sw(e,t=""){let i=e.split(","),s=t.split(",");return i.length===s.length&&!i.some(n=>s.indexOf(n)===-1);}function dr(e,t){let{audioCodec:i,channels:s}=e;return(i===void 0||(t.audioCodec||"").substring(0,4)===i.substring(0,4))&&(s===void 0||s===(t.channels||"2"));}function nw(e,t,i,s,n){let r=t[s],a=t.reduce((p,g,v)=>{let T=g.uri;return(p[T]||(p[T]=[])).push(v),p;},{})[r.uri];a.length>1&&(s=Math.max.apply(Math,a));let l=r.videoRange,c=r.frameRate,u=r.codecSet.substring(0,4),f=ov(t,s,p=>{if(p.videoRange!==l||p.frameRate!==c||p.codecSet.substring(0,4)!==u)return!1;let g=p.audioGroups;return js(e,i.filter(v=>!g||g.indexOf(v.groupId)!==-1),n)>-1;});return f>-1?f:ov(t,s,p=>{let g=p.audioGroups;return js(e,i.filter(v=>!g||g.indexOf(v.groupId)!==-1),n)>-1;});}function ov(e,t,i){for(let s=t;s>-1;s--)if(i(e[s]))return s;for(let s=t+1;
vendor: 8,396 bytes, lines 213-223
213s<e.length;s++)if(i(e[s]))return s;return-1;}function Bd(e,t){var i;return!!e&&e!==((i=t.loadLevelObj)==null?void 0:i.uri);}var rw=class extends rs{constructor(e){super("abr",e.logger),this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.codecTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.rebufferNotice=-1,this.supportedCache={},this.bwEstimator=void 0,this._abandonRulesCheck=t=>{var i;let{fragCurrent:s,partCurrent:n,hls:r}=this,{autoLevelEnabled:a,media:l}=r;if(!s||!l)return;let c=performance.now(),u=n?n.stats:s.stats,f=n?n.duration:s.duration,p=c-u.loading.start,g=r.minAutoLevel,v=s.level,T=this._nextAutoLevel;if(u.aborted||u.loaded&&u.loaded===u.total||v<=g){this.clearTimer(),this._nextAutoLevel=-1;return;}if(!a)return;let y=T>-1&&T!==v,A=!!t||y;if(!A&&(l.paused||!l.playbackRate||!l.readyState))return;let I=r.mainForwardBufferInfo;if(!A&&I===null)return;let P=this.bwEstimator.getEstimateTTFB(),k=Math.abs(l.playbackRate);if(p<=Math.max(P,1e3*(f/(k*2))))return;let w=I?I.len/k:0,R=u.loading.first?u.loading.first-u.loading.start:-1,x=u.loaded&&R>-1,D=this.getBwEstimate(),O=r.levels,V=O[v],$=Math.max(u.loaded,Math.round(f*(s.bitrate||V.averageBitrate)/8)),N=x?p-R:p;N<1&&x&&(N=Math.min(p,u.loaded*8/D));let F=x?u.loaded*1e3/N:0,K=P/1e3,re=F?($-u.loaded)/F:$*8/D+K;if(re<=w)return;let oe=F?F*8:D,J=((i=t?.details||this.hls.latestLevelDetails)==null?void 0:i.live)===!0,ge=this.hls.config.abrBandWidthUpFactor,q=Number.POSITIVE_INFINITY,G;for(G=v-1;G>g;G--){let ie=O[G].maxBitrate,Ce=!O[G].details||J;if(q=this.getTimeToLoadFrag(K,oe,f*ie,Ce),q<Math.min(w,f+K))break;}if(q>=re||q>f*10)return;x?this.bwEstimator.sample(p-Math.min(P,R),u.loaded):this.bwEstimator.sampleTTFB(p);let ne=O[G].maxBitrate;this.getBwEstimate()*ge>ne&&this.resetEstimator(ne);let he=this.findBestLevel(ne,g,G,0,w,1,1);he>-1&&(G=he),this.warn(`Fragment ${s.sn}${n?" part "+n.index:""} of level ${v} is loading too slowly; 214 Fragment duration: ${s.duration.toFixed(3)} 215 Time to underbuffer: ${w.toFixed(3)} s 216 Estimated load time for current fragment: ${re.toFixed(3)} s 217 Estimated load time for down switch fragment: ${q.toFixed(3)} s 218 TTFB estimate: ${R|0} ms 219 Current BW estimate: ${Ie(D)?D|0:"Unknown"} bps 220 New BW estimate: ${this.getBwEstimate()|0} bps 221 Switching to level ${G} @ ${ne|0} bps`),r.nextLoadLevel=r.nextAutoLevel=G,this.clearTimer();let ce=()=>{if(this.clearTimer(),this.fragCurrent===s&&this.hls.loadLevel===G&&G>0){let ie=this.getStarvationDelay();if(this.warn(`Aborting inflight request ${G>0?"and switching down":""} 222 Fragment duration: ${s.duration.toFixed(3)} s 223 Time to underbuffer: ${ie.toFixed(3)} s`),s.abortRequests(),this.fragCurrent=this.partCurrent=null,G>g){let Ce=this.findBestLevel(this.hls.levels[g].bitrate,g,G,0,ie,1,1);Ce===-1&&(Ce=g),this.hls.nextLoadLevel=this.hls.nextAutoLevel=Ce,this.resetEstimator(this.hls.levels[Ce].bitrate);}}};y||re>q*2?ce():this.timer=self.setInterval(ce,q*1e3),r.trigger(C.FRAG_LOAD_EMERGENCY_ABORTED,{frag:s,part:n,stats:u});},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners();}resetEstimator(e){e&&(this.log(`setting initial bwe to ${e}`),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator();}initEstimator(){let e=this.hls.config;return new c2(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate);}registerListeners(){let{hls:e}=this;e.on(C.MANIFEST_LOADING,this.onManifestLoading,this),e.on(C.FRAG_LOADING,this.onFragLoading,this),e.on(C.FRAG_LOADED,this.onFragLoaded,this),e.on(C.FRAG_BUFFERED,this.onFragBuffered,this),e.on(C.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(C.LEVEL_LOADED,this.onLevelLoaded,this),e.on(C.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(C.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(C.ERROR,this.onError,this);}unregisterListeners(){let{hls:e}=this;e&&(e.off(C.MANIFEST_LOADING,this.onManifestLoading,this),e.off(C.FRAG_LOADING,this.onFragLoading,this),e.off(C.FRAG_LOADED,this.onFragLoaded,this),e.off(C.FRAG_BUFFERED,this.onFragBuffered,this),e.off(C.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(C.LEVEL_LOADED,this.onLevelLoaded,this),e.off(C.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(C.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(C.ERROR,this.onError,this));}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=this.supportedCache=null,this.fragCurrent=this.partCurrent=null;}onManifestLoading(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.supportedCache={},this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer();}onLevelsUpdated(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null;}onMaxAutoLevelUpdated(){this.firstSelection=-1,this.nextAutoLevelKey="";}onFragLoading(e,t){let i=t.frag;if(!this.ignoreFragment(i)){if(!i.bitrateTest){var s;this.fragCurrent=i,this.partCurrent=(s=t.part)!=null?s:null;}this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100);}}onLevelSwitching(e,t){this.clearTimer();}onError(e,t){if(!t.fatal)switch(t.details){case Z.BUFFER_ADD_CODEC_ERROR:case Z.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case Z.FRAG_LOAD_TIMEOUT:{let i=t.frag,{fragCurrent:s,partCurrent:n}=this;if(i&&s&&i.sn===s.sn&&i.level===s.level){let r=performance.now(),a=n?n.stats:i.stats,l=r-a.loading.start,c=a.loading.first?a.loading.first-a.loading.start:-1;if(a.loaded&&c>-1){let u=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(l-Math.min(u,c),a.loaded);}else this.bwEstimator.sampleTTFB(l);}break;}}}getTimeToLoadFrag(e,t,i,s){return e+i/t+(s?e+this.lastLevelLoadSec:0);}onLevelLoaded(e,t){let i=this.hls.config,{loading:s}=t.stats,n=s.end-s.first;Ie(n)&&(this.lastLevelLoadSec=n/1e3),t.details.live?this.bwEstimator.update(i.abrEwmaSlowLive,i.abrEwmaFastLive):this.bwEstimator.update(i.abrEwmaSlowVoD,i.abrEwmaFastVoD),this.timer>-1&&this._abandonRulesCheck(t.levelInfo);}onFragLoaded(e,{frag:t,part:i}){let s=i?i.stats:t.stats;if(t.type===Me.MAIN&&this.bwEstimator.sampleTTFB(s.loading.first-s.loading.start),!this.ignoreFragment(t)){if(this.clearTimer(),t.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){let n=i?i.duration:t.duration,r=this.hls.levels[t.level],a=(r.loaded?r.loaded.bytes:0)+s.loaded,l=(r.loaded?r.loaded.duration:0)+n;r.loaded={bytes:a,duration:l},r.realBitrate=Math.round(8*a/l);}if(t.bitrateTest){let n={stats:s,frag:t,part:i,id:t.type};this.onFragBuffered(C.FRAG_BUFFERED,n),t.bitrateTest=!1;}else this.lastLoadedFragLevel=t.level;}}onFragBuffered(e,t){let{frag:i,part:s}=t,n=s!=null&&s.stats.loaded?s.stats:i.stats;if(n.aborted||this.ignoreFragment(i))return;let r=n.parsing.end-n.loading.start-Math.min(n.loading.first-n.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(r,n.loaded),n.bwEstimate=this.getBwEstimate(),i.bitrateTest?this.bitrateTestDelay=r/1e3:this.bitrateTestDelay=0;}ignoreFragment(e){return e.type!==Me.MAIN||e.sn==="initSegment";}clearTimer(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1);}get firstAutoLevel(){let{maxAutoLevel:e,minAutoLevel:t}=this.hls,i=this.getBwEstimate(),s=this.hls.config.maxStarvationDelay,n=this.findBestLevel(i,t,e,0,s,1,1);if(n>-1)return n;let r=this.hls.firstLevel,a=Math.min(Math.max(r,t),e);return this.warn(`Could not find best starting auto level. Defaulting to first in playlist ${r} clamped to ${a}`),a;}get forcedAutoLevel(){return this.nextAutoLevelKey?-1:this._nextAutoLevel;}get nextAutoLevel(){let e=this.forcedAutoLevel,t=this.bwEstimator.canEstimate(),i=this.lastLoadedFragLevel>-1;if(e!==-1&&(!t||!i||this.nextAutoLevelKey===this.getAutoLevelKey()))return e;let s=t&&i?this.getNextABRAutoLevel():this.firstAutoLevel;if(e!==-1){let n=this.hls.levels;if(n.length>Math.max(e,s)&&n[e].loadError<=n[s].loadError)return e;}return this._nextAutoLevel=s,this.nextAutoLevelKey=this.getAutoLevelKey(),s;}getAutoLevelKey(){return`${this.getBwEstimate()}
223_${this.getStarvationDelay().toFixed(2)}`;}getNextABRAutoLevel(){let{fragCurrent:e,partCurrent:t,hls:i}=this;if(i.levels.length<=1)return i.loadLevel;let{maxAutoLevel:s,config:n,minAutoLevel:r}=i,a=t?t.duration:e?e.duration:0,l=this.getBwEstimate(),c=this.getStarvationDelay(),u=n.abrBandWidthFactor,f=n.abrBandWidthUpFactor;if(c){let y=this.findBestLevel(l,r,s,c,0,u,f);if(y>=0)return this.rebufferNotice=-1,y;}let p=a?Math.min(a,n.maxStarvationDelay):n.maxStarvationDelay;if(!c){let y=this.bitrateTestDelay;y&&(p=(a?Math.min(a,n.maxLoadingDelay):n.maxLoadingDelay)-y,this.info(`bitrate test took ${Math.round(1e3*y)}ms, set first fragment max fetchDuration to ${Math.round(1e3*p)} ms`),u=f=1);}let g=this.findBestLevel(l,r,s,c,p,u,f);if(this.rebufferNotice!==g&&(this.rebufferNotice=g,this.info(`${c?"rebuffering expected":"buffer is empty"}, optimal quality level ${g}`)),g>-1)return g;let v=i.levels[r],T=i.loadLevelObj;return T&&v?.bitrate<T.bitrate?r:i.loadLevel;}getStarvationDelay(){let e=this.hls,t=e.media;if(!t)return 1/0;let i=t&&t.playbackRate!==0?Math.abs(t.playbackRate):1,s=e.mainForwardBufferInfo;return(s?s.len:0)/i;}getBwEstimate(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate;}findBestLevel(e,t,i,s,n,r,a){var l;let c=s+n,u=this.lastLoadedFragLevel,f=u===-1?this.hls.firstLevel:u,{fragCurrent:p,partCurrent:g}=this,{levels:v,allAudioTracks:T,loadLevel:y,config:A}=this.hls;if(v.length===1)return 0;let I=v[f],P=!!((l=this.hls.latestLevelDetails)!=null&&l.live),k=y===-1||u===-1,w,R="SDR",x=I?.frameRate||0,{audioPreference:D,videoPreference:O}=A,V=this.audioTracksByGroup||(this.audioTracksByGroup=e_(T)),$=-1;if(k){if(this.firstSelection!==-1)return this.firstSelection;let oe=ew(this.codecTiers||(this.codecTiers=tw(v,V,t,i)),R,e,D,O),{codecSet:J,videoRanges:ge,minFramerate:q,minBitrate:G,minIndex:ne,preferHDR:he}=oe;$=ne,w=J,R=he?ge[ge.length-1]:ge[0],x=q,e=Math.max(e,G),this.log(`picked start tier ${It(oe)}`);}else w=I?.codecSet,R=I?.videoRange;let N=g?g.duration:p?p.duration:0,F=this.bwEstimator.getEstimateTTFB()/1e3,K=[];for(let oe=i;oe>=t;oe--){var re;let J=v[oe],ge=oe>f;if(!J)continue;if(A.useMediaCapabilities&&!J.supportedResult&&!J.supportedPromise){let ie=navigator.mediaCapabilities;typeof ie?.decodingInfo=="function"&&z2(J,V,R,x,e,D)?(J.supportedPromise=Jy(J,V,ie,this.supportedCache),J.supportedPromise.then(Ce=>{if(!this.hls)return;J.supportedResult=Ce;let Re=this.hls.levels,Ge=Re.indexOf(J);Ce.error?this.warn(`MediaCapabilities decodingInfo error: "${Ce.error}" for level ${Ge} ${It(Ce)}`):Ce.supported?Ce.decodingInfoResults.some($e=>$e.smooth===!1||$e.powerEfficient===!1)&&this.log(`MediaCapabilities decodingInfo for level ${Ge} not smooth or powerEfficient: ${It(Ce)}`):(this.warn(`Unsupported MediaCapabilities decodingInfo result for level ${Ge} ${It(Ce)}`),Ge>-1&&Re.length>1&&(this.log(`Removing unsupported level ${Ge}`),this.hls.removeLevel(Ge),this.hls.loadLevel===-1&&(this.hls.nextLoadLevel=0)));}).catch(Ce=>{this.warn(`Error handling MediaCapabilities decodingInfo: ${Ce}`);})):J.supportedResult=Xy;}if((w&&J.codecSet!==w||R&&J.videoRange!==R||ge&&x>J.frameRate||!ge&&x>0&&x<J.frameRate||(re=J.supportedResult)!=null&&(re=re.decodingInfoResults)!=null&&re.some(ie=>ie.smooth===!1))&&(!k||oe!==$)){K.push(oe);continue;}let q=J.details,G=(g?q?.partTarget:q?.averagetargetduration)||N,ne;ge?ne=a*e:ne=r*e;let he=N&&s>=N*2&&n===0?J.averageBitrate:J.maxBitrate,ce=this.getTimeToLoadFrag(F,ne,he*G,q===void 0);if(ne>=he&&(oe===u||J.loadError===0&&J.fragmentError===0)&&(ce<=F||!Ie(ce)||P&&!this.bitrateTestDelay||ce<c)){let ie=this.forcedAutoLevel;return oe!==y&&(ie===-1||ie!==y)&&(K.length&&this.trace(`Skipped level(s) ${K.join(",")} of ${i} max with CODECS and VIDEO-RANGE:"${v[K[0]].codecs}" ${v[K[0]].videoRange}; not compatible with "${w}" ${R}`),this.info(`switch candidate:${f}->${oe} adjustedbw(${Math.round(ne)})-bitrate=${Math.round(ne-he)} ttfb:${F.toFixed(1)} avgDuration:${G.toFixed(1)} maxFetchDuration:${c.toFixed(1)} fetchDuration:${ce.toFixed(1)} firstSelection:${k} codecSet:${J.codecSet} videoRange:${J.videoRange} hls.loadLevel:${y}`)),k&&(this.firstSelection=oe),oe;}}return-1;}set nextAutoLevel(e){let t=this.deriveNextAutoLevel(e);this._nextAutoLevel!==t&&(this.nextAutoLevelKey="",this._nextAutoLevel=t);}deriveNextAutoLevel(e){let{maxAutoLevel:t,minAutoLevel:i}=this.hls;return Math.min(Math.max(e,i),t);}},t_={search:function(e,t){let i=0,s=e.length-1,n=null,r=null;for(;i<=s;){n=(i+s)/2|0,r=e[n];let a=t(r);if(a>0)i=n+1;else if(a<0)s=n-1;else return r;}return null;}};function ow(e,t,i){if(t===null||!Array.isArray(e)||!e.length||!Ie(t)||t<(e[0].programDateTime||0)||t>=(e[e.length-1].endProgramDateTime||0))return null;for(let s=0;s<e.length;++s){let n=e[s];if(lw(t,i,n))return n;}return null;}function yr(e,t,i=0,s=0,n=.005){let r=null;if(e){r=t[1+e.sn-t[0].sn]||null;let l=e.endDTS-i;l>0&&l<15e-7&&(i+=15e-7),r&&e.level!==r.level&&r.end<=e.end&&(r=t[2+e.sn-t[0].sn]||null);}else i===0&&t[0].start===0&&(r=t[0]);if(r&&((!e||e.level===r.level)&&av(i,s,r)===0||aw(r,e,Math.min(n,s))))return r;let a=t_.search(t,av.bind(null,i,s));return a&&(a!==e||!r)?a:r;}function aw(e,t,i){if(t&&t.start===0&&t.level<e.level&&(t.endPTS||0)>0){let s=t.tagList.reduce((n,r)=>(r[0]==="INF"&&(n+=parseFloat(r[1])),n),i);return e.start<=s;}return!1;}
vendor: 8,548 bytes, line 223
223function av(e=0,t=0,i){if(i.start<=e&&i.start+i.duration>e)return 0;let s=Math.min(t,i.duration+(i.deltaPTS?i.deltaPTS:0));return i.start+i.duration-s<=e?1:i.start-s>e&&i.start?-1:0;}function lw(e,t,i){let s=Math.min(t,i.duration+(i.deltaPTS?i.deltaPTS:0))*1e3;return(i.endProgramDateTime||0)-s>e;}function i_(e,t,i){if(e&&e.startCC<=t&&e.endCC>=t){let s=e.fragments,{fragmentHint:n}=e;n&&(s=s.concat(n));let r;return t_.search(s,a=>a.cc<t?1:a.cc>t?-1:(r=a,a.end<=i?1:a.start>i?-1:0)),r||null;}return null;}function Ud(e){switch(e.details){case Z.FRAG_LOAD_TIMEOUT:case Z.KEY_LOAD_TIMEOUT:case Z.LEVEL_LOAD_TIMEOUT:case Z.MANIFEST_LOAD_TIMEOUT:return!0;}return!1;}function s_(e){return e.details.startsWith("key");}function n_(e){return s_(e)&&!!e.frag&&!e.frag.decryptdata;}function lv(e,t){let i=Ud(t);return e.default[`${i?"timeout":"error"}Retry`];}function Kh(e,t){let i=e.backoff==="linear"?1:Math.pow(2,t);return Math.min(i*e.retryDelayMs,e.maxRetryDelayMs);}function dv(e){return yt(yt({},e),{errorRetry:null,timeoutRetry:null});}function Vd(e,t,i,s){if(!e)return!1;let n=s?.code,r=t<e.maxNumRetry&&(dw(n)||!!i);return e.shouldRetry?e.shouldRetry(e,t,i,s,r):r;}function dw(e){return uh(e)||!!e&&(e<400||e>499);}function uh(e){return e===0&&navigator.onLine===!1;}var ri={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},zi={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,MoveAllAlternatesMatchingKey:4,SwitchToSDR:8},cw=class extends rs{constructor(e){super("error-controller",e.logger),this.hls=void 0,this.playlistError=0,this.hls=e,this.registerListeners();}registerListeners(){let e=this.hls;e.on(C.ERROR,this.onError,this),e.on(C.MANIFEST_LOADING,this.onManifestLoading,this),e.on(C.LEVEL_UPDATED,this.onLevelUpdated,this);}unregisterListeners(){let e=this.hls;e&&(e.off(C.ERROR,this.onError,this),e.off(C.ERROR,this.onErrorOut,this),e.off(C.MANIFEST_LOADING,this.onManifestLoading,this),e.off(C.LEVEL_UPDATED,this.onLevelUpdated,this));}destroy(){this.unregisterListeners(),this.hls=null;}startLoad(e){}stopLoad(){this.playlistError=0;}getVariantLevelIndex(e){return e?.type===Me.MAIN?e.level:this.getVariantIndex();}getVariantIndex(){var e;let t=this.hls,i=t.currentLevel;return(e=t.loadLevelObj)!=null&&e.details||i===-1?t.loadLevel:i;}variantHasKey(e,t){if(e){var i;if((i=e.details)!=null&&i.hasKey(t))return!0;let s=e.audioGroups;if(s)return this.hls.allAudioTracks.filter(n=>s.indexOf(n.groupId)>=0).some(n=>{var r;return(r=n.details)==null?void 0:r.hasKey(t);});}return!1;}onManifestLoading(){this.playlistError=0;}onLevelUpdated(){this.playlistError=0;}onError(e,t){var i;if(t.fatal)return;let s=this.hls,n=t.context;switch(t.details){case Z.FRAG_LOAD_ERROR:case Z.FRAG_LOAD_TIMEOUT:case Z.KEY_LOAD_ERROR:case Z.KEY_LOAD_TIMEOUT:t.errorAction=this.getFragRetryOrSwitchAction(t);return;case Z.FRAG_PARSING_ERROR:if((i=t.frag)!=null&&i.gap){t.errorAction=po();return;}case Z.FRAG_GAP:case Z.FRAG_DECRYPT_ERROR:t.errorAction=this.getFragRetryOrSwitchAction(t),t.errorAction.action=ri.SendAlternateToPenaltyBox;return;case Z.LEVEL_EMPTY_ERROR:case Z.LEVEL_PARSING_ERROR:{var r;let l=t.parent===Me.MAIN?t.level:s.loadLevel;t.details===Z.LEVEL_EMPTY_ERROR&&(r=t.context)!=null&&(r=r.levelDetails)!=null&&r.live?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,l):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,l));}return;case Z.LEVEL_LOAD_ERROR:case Z.LEVEL_LOAD_TIMEOUT:typeof n?.level=="number"&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,n.level));return;case Z.AUDIO_TRACK_LOAD_ERROR:case Z.AUDIO_TRACK_LOAD_TIMEOUT:case Z.SUBTITLE_LOAD_ERROR:case Z.SUBTITLE_TRACK_LOAD_TIMEOUT:if(n){let l=s.loadLevelObj;if(l&&(n.type===it.AUDIO_TRACK&&l.hasAudioGroup(n.groupId)||n.type===it.SUBTITLE_TRACK&&l.hasSubtitleGroup(n.groupId))){t.errorAction=this.getPlaylistRetryOrSwitchAction(t,s.loadLevel),t.errorAction.action=ri.SendAlternateToPenaltyBox,t.errorAction.flags=zi.MoveAllAlternatesMatchingHost;return;}}return;case Z.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:t.errorAction={action:ri.SendAlternateToPenaltyBox,flags:zi.MoveAllAlternatesMatchingHDCP};return;case Z.KEY_SYSTEM_SESSION_UPDATE_FAILED:case Z.KEY_SYSTEM_STATUS_INTERNAL_ERROR:case Z.KEY_SYSTEM_NO_SESSION:t.errorAction={action:ri.SendAlternateToPenaltyBox,flags:zi.MoveAllAlternatesMatchingKey};return;case Z.BUFFER_ADD_CODEC_ERROR:case Z.REMUX_ALLOC_ERROR:case Z.BUFFER_APPEND_ERROR:if(!t.errorAction){var a;t.errorAction=this.getLevelSwitchAction(t,(a=t.level)!=null?a:s.loadLevel);}return;case Z.INTERNAL_EXCEPTION:case Z.BUFFER_APPENDING_ERROR:case Z.BUFFER_FULL_ERROR:case Z.LEVEL_SWITCH_ERROR:case Z.BUFFER_STALLED_ERROR:case Z.BUFFER_SEEK_OVER_HOLE:case Z.BUFFER_NUDGE_ON_STALL:t.errorAction=po();return;}t.type===Fe.KEY_SYSTEM_ERROR&&(t.levelRetry=!1,t.errorAction=po());}getPlaylistRetryOrSwitchAction(e,t){let i=this.hls,s=lv(i.config.playlistLoadPolicy,e),n=this.playlistError++;if(Vd(s,n,Ud(e),e.response))return{action:ri.RetryRequest,flags:zi.None,retryConfig:s,retryCount:n};let r=this.getLevelSwitchAction(e,t);return s&&(r.retryConfig=s,r.retryCount=n),r;}getFragRetryOrSwitchAction(e){let t=this.hls,i=this.getVariantLevelIndex(e.frag),s=t.levels[i],{fragLoadPolicy:n,keyLoadPolicy:r}=t.config,a=lv(s_(e)?r:n,e),l=t.levels.reduce((u,f)=>u+f.fragmentError,0);if(s&&(e.details!==Z.FRAG_GAP&&s.fragmentError++,!n_(e)&&Vd(a,l,Ud(e),e.response)))return{action:ri.RetryRequest,flags:zi.None,retryConfig:a,retryCount:l};let c=this.getLevelSwitchAction(e,i);return a&&(c.retryConfig=a,c.retryCount=l),c;}getLevelSwitchAction(e,t){let i=this.hls;t==null&&(t=i.loadLevel);let s=this.hls.levels[t];if(s){var n,r;let c=e.details;s.loadError++,c===Z.BUFFER_APPEND_ERROR&&s.fragmentError++;let u=-1,{levels:f,loadLevel:p,minAutoLevel:g,maxAutoLevel:v}=i;!i.autoLevelEnabled&&!i.config.preserveManualLevelOnError&&(i.loadLevel=-1);let T=(n=e.frag)==null?void 0:n.type,y=(T===Me.AUDIO&&c===Z.FRAG_PARSING_ERROR||e.sourceBufferName==="audio"&&(c===Z.BUFFER_ADD_CODEC_ERROR||c===Z.BUFFER_APPEND_ERROR))&&f.some(({audioCodec:k})=>s.audioCodec!==k),A=e.sourceBufferName==="video"&&(c===Z.BUFFER_ADD_CODEC_ERROR||c===Z.BUFFER_APPEND_ERROR)&&f.some(({codecSet:k,audioCodec:w})=>s.codecSet!==k&&s.audioCodec===w),{type:I,groupId:P}=(r=e.context)!=null?r:{};for(let k=f.length;k--;){let w=(k+p)%f.length;if(w!==p&&w>=g&&w<=v&&f[w].loadError===0){var a,l;let R=f[w];if(c===Z.FRAG_GAP&&T===Me.MAIN&&e.frag){let x=f[w].details;if(x){let D=yr(e.frag,x.fragments,e.frag.start);if(D!=null&&D.gap)continue;}}else{if(I===it.AUDIO_TRACK&&R.hasAudioGroup(P)||I===it.SUBTITLE_TRACK&&R.hasSubtitleGroup(P))continue;if(T===Me.AUDIO&&(a=s.audioGroups)!=null&&a.some(x=>R.hasAudioGroup(x))||T===Me.SUBTITLE&&(l=s.subtitleGroups)!=null&&l.some(x=>R.hasSubtitleGroup(x))||y&&s.audioCodec===R.audioCodec||A&&s.codecSet===R.codecSet||!y&&s.codecSet!==R.codecSet)continue;}u=w;break;}}if(u>-1&&i.loadLevel!==u)return e.levelRetry=!0,this.playlistError=0,{action:ri.SendAlternateToPenaltyBox,flags:zi.None,nextAutoLevel:u};}return{action:ri.SendAlternateToPenaltyBox,flags:zi.MoveAllAlternatesMatchingHost};}onErrorOut(e,t){var i;switch((i=t.errorAction)==null?void 0:i.action){case ri.DoNothing:break;case ri.SendAlternateToPenaltyBox:this.sendAlternateToPenaltyBox(t),!t.errorAction.resolved&&t.details!==Z.FRAG_GAP?t.fatal=!0:/MediaSource readyState: ended/.test(t.error.message)&&(this.warn(`MediaSource ended after "${t.sourceBufferName}" sourceBuffer append error. Attempting to recover from media error.`),this.hls.recoverMediaError());break;case ri.RetryRequest:break;}if(t.fatal){this.hls.stopLoad();return;}}sendAlternateToPenaltyBox(e){let t=this.hls,i=e.errorAction;if(!i)return;let{flags:s}=i,n=i.nextAutoLevel;switch(s){case zi.None:this.switchLevel(e,n);break;case zi.MoveAllAlternatesMatchingHDCP:{let l=this.getVariantLevelIndex(e.frag),c=t.levels[l],u=c?.attrs["HDCP-LEVEL"];if(i.hdcpLevel=u,u==="NONE")this.warn("HDCP policy resticted output with HDCP-LEVEL=NONE");else if(u){t.maxHdcpLevel=ch[ch.indexOf(u)-1],i.resolved=!0,this.warn(`Restricting playback to HDCP-LEVEL of "${t.maxHdcpLevel}" or lower`);break;}}case zi.MoveAllAlternatesMatchingKey:{let l=e.decryptdata;if(l){let c=this.hls.levels,u=c.length;for(let p=u;p--;)if(this.variantHasKey(c[p],l)){var r,a;this.log(`Banned key found in level ${p} (${c[p].bitrate}bps) or audio group "${(r=c[p].audioGroups)==null?void 0:r.join(",")}" (${(a=e.frag)==null?void 0:a.type} fragment) ${hi(l.keyId||[])}
223`),c[p].fragmentError++,c[p].loadError++,this.log(`Removing level ${p} with key error (${e.error})`),this.hls.removeLevel(p);}let f=e.frag;if(this.hls.levels.length<u)i.resolved=!0;else if(f&&f.type!==Me.MAIN){let p=f.decryptdata;p&&!l.matches(p)&&(i.resolved=!0);}}break;}}i.resolved||this.switchLevel(e,n);}switchLevel(e,t){if(t!==void 0&&e.errorAction&&(this.warn(`switching to level ${t} after ${e.details}`),this.hls.nextAutoLevel=t,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel,e.details===Z.BUFFER_ADD_CODEC_ERROR&&e.mimeType&&e.sourceBufferName!=="audiovideo")){let i=dh(e.mimeType),s=this.hls.levels;for(let n=s.length;n--;)s[n][`${e.sourceBufferName}Codec`]===i&&(this.log(`Removing level ${n} for ${e.details} ("${i}" not supported)`),this.hls.removeLevel(n));}}};function po(e){let t={action:ri.DoNothing,flags:zi.None};return e&&(t.resolved=!0),t;}var Xt={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"},uw=class{constructor(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners();}_registerListeners(){let{hls:e}=this;e&&(e.on(C.MANIFEST_LOADING,this.onManifestLoading,this),e.on(C.BUFFER_APPENDED,this.onBufferAppended,this),e.on(C.FRAG_BUFFERED,this.onFragBuffered,this),e.on(C.FRAG_LOADED,this.onFragLoaded,this));}_unregisterListeners(){let{hls:e}=this;e&&(e.off(C.MANIFEST_LOADING,this.onManifestLoading,this),e.off(C.BUFFER_APPENDED,this.onBufferAppended,this),e.off(C.FRAG_BUFFERED,this.onFragBuffered,this),e.off(C.FRAG_LOADED,this.onFragLoaded,this));}destroy(){this._unregisterListeners(),this.hls=this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null;}getAppendedFrag(e,t){let i=this.activePartLists[t];if(i)for(let s=i.length;s--;){let n=i[s];if(!n)break;if(n.start<=e&&e<=n.end&&n.loaded)return n;}return this.getBufferedFrag(e,t);}getBufferedFrag(e,t){return this.getFragAtPos(e,t,!0);}getFragAtPos(e,t,i){let{fragments:s}=this,n=Object.keys(s);for(let r=n.length;r--;){let a=s[n[r]];if(a?.body.type===t&&(!i||a.buffered)){let l=a.body;if(l.start<=e&&e<=l.end)return l;}}return null;}detectEvictedFragments(e,t,i,s,n){this.timeRanges&&(this.timeRanges[e]=t);let r=s?.fragment.sn||-1;Object.keys(this.fragments).forEach(a=>{let l=this.fragments[a];if(!l||r>=l.body.sn)return;if(!l.buffered&&(!l.loaded||n)){l.body.type===i&&this.removeFragment(l.body);return;}let c=l.range[e];if(c){if(c.time.length===0){this.removeFragment(l.body);return;}c.time.some(u=>{let f=!this.isTimeBuffered(u.startPTS,u.endPTS,t);return f&&this.removeFragment(l.body),f;});}});}detectPartialFragments(e){let t=this.timeRanges;if(!t||e.frag.sn==="initSegment")return;let i=e.frag,s=Kr(i),n=this.fragments[s];if(!n||n.buffered&&i.gap)return;let r=!i.relurl;Object.keys(t).forEach(a=>{let l=i.elementaryStreams[a];if(!l)return;let c=t[a],u=r||l.partial===!0;n.range[a]=this.getBufferedTimes(i,e.part,u,c);}),n.loaded=null,Object.keys(n.range).length?(this.bufferedEnd(n,i),Wl(n)||this.removeParts(i.sn-1,i.type)):this.removeFragment(n.body);}bufferedEnd(e,t){e.buffered=!0,(e.body.endList=t.endList||e.body.endList)&&(this.endListFragments[e.body.type]=e);}removeParts(e,t){let i=this.activePartLists[t];i&&(this.activePartLists[t]=cv(i,s=>s.fragment.sn>=e));}fragBuffered(e,t){let i=Kr(e),s=this.fragments[i];!s&&t&&(s=this.fragments[i]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),s&&(s.loaded=null,this.bufferedEnd(s,e));}getBufferedTimes(e,t,i,s){let n={time:[],partial:i},r=e.start,a=e.end,l=e.minEndPTS||a,c=e.maxStartPTS||r;for(let u=0;u<s.length;u++){let f=s.start(u)-this.bufferPadding,p=s.end(u)+this.bufferPadding;if(c>=f&&l<=p){n.time.push({startPTS:Math.max(r,s.start(u)),endPTS:Math.min(a,s.end(u))});break;}else if(r<p&&a>f){let g=Math.max(r,s.start(u)),v=Math.min(a,s.end(u));v>g&&(n.partial=!0,n.time.push({startPTS:g,endPTS:v}));}else if(a<=f)break;}return n;}getPartialFragment(e){let t=null,i,s,n,r=0,{bufferPadding:a,fragments:l}=this;return Object.keys(l).forEach(c=>{let u=l[c];u&&Wl(u)&&(s=u.body.start-a,n=u.body.end+a,e>=s&&e<=n&&(i=Math.min(e-s,n-e),r<=i&&(t=u.body,r=i)));}),t;}isEndListAppended(e){let t=this.endListFragments[e];return t!==void 0&&(t.buffered||Wl(t));}getState(e){let t=Kr(e),i=this.fragments[t];return i?i.buffered?Wl(i)?Xt.PARTIAL:Xt.OK:Xt.APPENDING:Xt.NOT_LOADED;}isTimeBuffered(e,t,i){let s,n;for(let r=0;r<i.length;r++){if(s=i.start(r)-this.bufferPadding,n=i.end(r)+this.bufferPadding,e>=s&&t<=n)return!0;
vendor: 26,225 bytes, line 223
223if(t<=s)return!1;}return!1;}onManifestLoading(){this.removeAllFragments();}onFragLoaded(e,t){if(t.frag.sn==="initSegment"||t.frag.bitrateTest)return;let i=t.frag,s=t.part?null:t,n=Kr(i);this.fragments[n]={body:i,appendedPTS:null,loaded:s,buffered:!1,range:Object.create(null)};}onBufferAppended(e,t){let{frag:i,part:s,timeRanges:n,type:r}=t;if(i.sn==="initSegment")return;let a=i.type;if(s){let c=this.activePartLists[a];c||(this.activePartLists[a]=c=[]),c.push(s);}this.timeRanges=n;let l=n[r];this.detectEvictedFragments(r,l,a,s);}onFragBuffered(e,t){this.detectPartialFragments(t);}hasFragment(e){let t=Kr(e);return!!this.fragments[t];}hasFragments(e){let{fragments:t}=this,i=Object.keys(t);if(!e)return i.length>0;for(let s=i.length;s--;){let n=t[i[s]];if(n?.body.type===e)return!0;}return!1;}hasParts(e){var t;return!!((t=this.activePartLists[e])!=null&&t.length);}removeFragmentsInRange(e,t,i,s,n){s&&!this.hasGaps||Object.keys(this.fragments).forEach(r=>{let a=this.fragments[r];if(!a)return;let l=a.body;l.type!==i||s&&!l.gap||l.start<t&&l.end>e&&(a.buffered||n)&&this.removeFragment(l);});}removeFragment(e){let t=Kr(e);e.clearElementaryStreamInfo();let i=this.activePartLists[e.type];if(i){let s=e.sn;this.activePartLists[e.type]=cv(i,n=>n.fragment.sn!==s);}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type];}removeAllFragments(){var e;this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1;let t=(e=this.hls)==null||(e=e.latestLevelDetails)==null?void 0:e.partList;t&&t.forEach(i=>i.clearElementaryStreamInfo());}};function Wl(e){var t,i,s;return e.buffered&&!!(e.body.gap||(t=e.range.video)!=null&&t.partial||(i=e.range.audio)!=null&&i.partial||(s=e.range.audiovideo)!=null&&s.partial);}function Kr(e){return`${e.type}_${e.level}_${e.sn}`;}function cv(e,t){return e.filter(i=>{let s=t(i);return s||i.clearElementaryStreamInfo(),s;});}var Vn={cbc:0,ctr:1},hw=class{constructor(e,t,i){this.subtle=void 0,this.aesIV=void 0,this.aesMode=void 0,this.subtle=e,this.aesIV=t,this.aesMode=i;}decrypt(e,t){switch(this.aesMode){case Vn.cbc:return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,e);case Vn.ctr:return this.subtle.decrypt({name:"AES-CTR",counter:this.aesIV,length:64},t,e);default:throw new Error(`[AESCrypto] invalid aes mode ${this.aesMode}`);}}};function fw(e){let t=e.byteLength,i=t&&new DataView(e.buffer).getUint8(t-1);return i?e.slice(0,t-i):e;}var pw=class{constructor(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable();}uint8ArrayToUint32Array_(e){let t=new DataView(e),i=new Uint32Array(4);for(let s=0;s<4;s++)i[s]=t.getUint32(s*4);return i;}initTable(){let e=this.sBox,t=this.invSBox,i=this.subMix,s=i[0],n=i[1],r=i[2],a=i[3],l=this.invSubMix,c=l[0],u=l[1],f=l[2],p=l[3],g=new Uint32Array(256),v=0,T=0,y=0;for(y=0;y<256;y++)y<128?g[y]=y<<1:g[y]=y<<1^283;for(y=0;y<256;y++){let A=T^T<<1^T<<2^T<<3^T<<4;A=A>>>8^A&255^99,e[v]=A,t[A]=v;let I=g[v],P=g[I],k=g[P],w=g[A]*257^A*16843008;s[v]=w<<24|w>>>8,n[v]=w<<16|w>>>16,r[v]=w<<8|w>>>24,a[v]=w,w=k*16843009^P*65537^I*257^v*16843008,c[A]=w<<24|w>>>8,u[A]=w<<16|w>>>16,f[A]=w<<8|w>>>24,p[A]=w,v?(v=I^g[g[g[k^I]]],T^=g[g[T]]):v=T=1;}}expandKey(e){let t=this.uint8ArrayToUint32Array_(e),i=!0,s=0;for(;s<t.length&&i;)i=t[s]===this.key[s],s++;if(i)return;this.key=t;let n=this.keySize=t.length;if(n!==4&&n!==6&&n!==8)throw new Error("Invalid aes key size="+n);let r=this.ksRows=(n+6+1)*4,a,l,c=this.keySchedule=new Uint32Array(r),u=this.invKeySchedule=new Uint32Array(r),f=this.sBox,p=this.rcon,g=this.invSubMix,v=g[0],T=g[1],y=g[2],A=g[3],I,P;for(a=0;a<r;a++){if(a<n){I=c[a]=t[a];continue;}P=I,a%n===0?(P=P<<8|P>>>24,P=f[P>>>24]<<24|f[P>>>16&255]<<16|f[P>>>8&255]<<8|f[P&255],P^=p[a/n|0]<<24):n>6&&a%n===4&&(P=f[P>>>24]<<24|f[P>>>16&255]<<16|f[P>>>8&255]<<8|f[P&255]),c[a]=I=(c[a-n]^P)>>>0;}for(l=0;l<r;l++)a=r-l,l&3?P=c[a]:P=c[a-4],l<4||a<=4?u[l]=P:u[l]=v[f[P>>>24]]^T[f[P>>>16&255]]^y[f[P>>>8&255]]^A[f[P&255]],u[l]=u[l]>>>0;}networkToHostOrderSwap(e){return e<<24|(e&65280)<<8|(e&16711680)>>8|e>>>24;}decrypt(e,t,i){let s=this.keySize+6,n=this.invKeySchedule,r=this.invSBox,a=this.invSubMix,l=a[0],c=a[1],u=a[2],f=a[3],p=this.uint8ArrayToUint32Array_(i),g=p[0],v=p[1],T=p[2],y=p[3],A=new Int32Array(e),I=new Int32Array(A.length),P,k,w,R,x,D,O,V,$,N,F,K,re,oe,J=this.networkToHostOrderSwap;for(;t<A.length;){for($=J(A[t]),N=J(A[t+1]),F=J(A[t+2]),K=J(A[t+3]),x=$^n[0],D=K^n[1],O=F^n[2],V=N^n[3],re=4,oe=1;oe<s;oe++)P=l[x>>>24]^c[D>>16&255]^u[O>>8&255]^f[V&255]^n[re],k=l[D>>>24]^c[O>>16&255]^u[V>>8&255]^f[x&255]^n[re+1],w=l[O>>>24]^c[V>>16&255]^u[x>>8&255]^f[D&255]^n[re+2],R=l[V>>>24]^c[x>>16&255]^u[D>>8&255]^f[O&255]^n[re+3],x=P,D=k,O=w,V=R,re=re+4;P=r[x>>>24]<<24^r[D>>16&255]<<16^r[O>>8&255]<<8^r[V&255]^n[re],k=r[D>>>24]<<24^r[O>>16&255]<<16^r[V>>8&255]<<8^r[x&255]^n[re+1],w=r[O>>>24]<<24^r[V>>16&255]<<16^r[x>>8&255]<<8^r[D&255]^n[re+2],R=r[V>>>24]<<24^r[x>>16&255]<<16^r[D>>8&255]<<8^r[O&255]^n[re+3],I[t]=J(P^g),I[t+1]=J(R^v),I[t+2]=J(w^T),I[t+3]=J(k^y),g=$,v=N,T=F,y=K,t=t+4;}return I.buffer;}},mw=class{constructor(e,t,i){this.subtle=void 0,this.key=void 0,this.aesMode=void 0,this.subtle=e,this.key=t,this.aesMode=i;}expandKey(){let e=gw(this.aesMode);return this.subtle.importKey("raw",this.key,{name:e},!1,["encrypt","decrypt"]);}};function gw(e){switch(e){case Vn.cbc:return"AES-CBC";case Vn.ctr:return"AES-CTR";default:throw new Error(`[FastAESKey] invalid aes mode ${e}`);}}var vw=16,Yh=class{constructor(e,{removePKCS7Padding:t=!0}={}){if(this.logEnabled=!0,this.removePKCS7Padding=void 0,this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null,this.useSoftware=void 0,this.enableSoftwareAES=void 0,this.enableSoftwareAES=e.enableSoftwareAES,this.removePKCS7Padding=t,t)try{let i=self.crypto;i&&(this.subtle=i.subtle||i.webkitSubtle);}catch(i){}this.useSoftware=!this.subtle;}destroy(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null;}isSync(){return this.useSoftware;}flush(){let{currentResult:e,remainderData:t}=this;if(!e||t)return this.reset(),null;let i=new Uint8Array(e);return this.reset(),this.removePKCS7Padding?fw(i):i;}reset(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null);}decrypt(e,t,i,s){return this.useSoftware?new Promise((n,r)=>{let a=ArrayBuffer.isView(e)?e:new Uint8Array(e);this.softwareDecrypt(a,t,i,s);let l=this.flush();l?n(l.buffer):r(new Error("[softwareDecrypt] Failed to decrypt data"));}):this.webCryptoDecrypt(new Uint8Array(e),t,i,s);}softwareDecrypt(e,t,i,s){let{currentIV:n,currentResult:r,remainderData:a}=this;if(s!==Vn.cbc||t.byteLength!==16)return _t.warn("SoftwareDecrypt: can only handle AES-128-CBC"),null;this.logOnce("JS AES decrypt"),a&&(e=ns(a,e),this.remainderData=null);let l=this.getValidChunk(e);if(!l.length)return null;n&&(i=n);let c=this.softwareDecrypter;c||(c=this.softwareDecrypter=new pw()),c.expandKey(t);let u=r;return this.currentResult=c.decrypt(l.buffer,0,i),this.currentIV=l.slice(-16).buffer,u||null;}webCryptoDecrypt(e,t,i,s){if(this.key!==t||!this.fastAesKey){if(!this.subtle)return Promise.resolve(this.onWebCryptoError(e,t,i,s));this.key=t,this.fastAesKey=new mw(this.subtle,t,s);}return this.fastAesKey.expandKey().then(n=>this.subtle?(this.logOnce("WebCrypto AES decrypt"),new hw(this.subtle,new Uint8Array(i),s).decrypt(e.buffer,n)):Promise.reject(new Error("web crypto not initialized"))).catch(n=>(_t.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${n.name}: ${n.message}`),this.onWebCryptoError(e,t,i,s)));}onWebCryptoError(e,t,i,s){let n=this.enableSoftwareAES;if(n){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,i,s);let r=this.flush();if(r)return r.buffer;}throw new Error("WebCrypto"+(n?" and softwareDecrypt":"")+": failed to decrypt data");}getValidChunk(e){let t=e,i=e.length-e.length%vw;return i!==e.length&&(t=e.slice(0,i),this.remainderData=e.slice(i)),t;}logOnce(e){this.logEnabled&&(_t.log(`[decrypter]: ${e}`),this.logEnabled=!1);}},uv=Math.pow(2,17),yw=class{constructor(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e;}destroy(){this.loader&&(this.loader.destroy(),this.loader=null);}abort(){this.loader&&this.loader.abort();}load(e,t){let i=e.url;if(!i)return Promise.reject(new Qs({type:Fe.NETWORK_ERROR,details:Z.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:new Error(`Fragment does not have a ${i?"part list":"url"}`),networkDetails:null}));this.abort();let s=this.config,n=s.fLoader,r=s.loader;return new Promise((a,l)=>{if(this.loader&&this.loader.destroy(),e.gap)if(e.tagList.some(v=>v[0]==="GAP")){l(fv(e));return;}else e.gap=!1;let c=this.loader=n?new n(s):new r(s),u=hv(e);e.loader=c;let f=dv(s.fragLoadPolicy.default),p={loadPolicy:f,timeout:f.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:e.sn==="initSegment"?1/0:uv};e.stats=c.stats;let g={onSuccess:(v,T,y,A)=>{this.resetLoader(e,c);let I=v.data;y.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(I.slice(0,16)),I=I.slice(16)),a({frag:e,part:null,payload:I,networkDetails:A});},onError:(v,T,y,A)=>{this.resetLoader(e,c),l(new Qs({type:Fe.NETWORK_ERROR,details:Z.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:yt({url:i,data:void 0},v),error:new Error(`HTTP Error ${v.code} ${v.text}`),networkDetails:y,stats:A}));},onAbort:(v,T,y)=>{this.resetLoader(e,c),l(new Qs({type:Fe.NETWORK_ERROR,details:Z.INTERNAL_ABORTED,fatal:!1,frag:e,error:new Error("Aborted"),networkDetails:y,stats:v}));},onTimeout:(v,T,y)=>{this.resetLoader(e,c),l(new Qs({type:Fe.NETWORK_ERROR,details:Z.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:new Error(`Timeout after ${p.timeout}ms`),networkDetails:y,stats:v}));}};t&&(g.onProgress=(v,T,y,A)=>t({frag:e,part:null,payload:y,networkDetails:A})),c.load(u,p,g);});}loadPart(e,t,i){this.abort();let s=this.config,n=s.fLoader,r=s.loader;return new Promise((a,l)=>{if(this.loader&&this.loader.destroy(),e.gap||t.gap){l(fv(e,t));return;}let c=this.loader=n?new n(s):new r(s),u=hv(e,t);e.loader=c;let f=dv(s.fragLoadPolicy.default),p={loadPolicy:f,timeout:f.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:uv};t.stats=c.stats,c.load(u,p,{onSuccess:(g,v,T,y)=>{this.resetLoader(e,c),this.updateStatsFromPart(e,t);let A={frag:e,part:t,payload:g.data,networkDetails:y};i(A),a(A);},onError:(g,v,T,y)=>{this.resetLoader(e,c),l(new Qs({type:Fe.NETWORK_ERROR,details:Z.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:yt({url:u.url,data:void 0},g),error:new Error(`HTTP Error ${g.code} ${g.text}`),networkDetails:T,stats:y}));},onAbort:(g,v,T)=>{e.stats.aborted=t.stats.aborted,this.resetLoader(e,c),l(new Qs({type:Fe.NETWORK_ERROR,details:Z.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:new Error("Aborted"),networkDetails:T,stats:g}));},onTimeout:(g,v,T)=>{this.resetLoader(e,c),l(new Qs({type:Fe.NETWORK_ERROR,details:Z.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:new Error(`Timeout after ${p.timeout}ms`),networkDetails:T,stats:g}));}});});}updateStatsFromPart(e,t){let i=e.stats,s=t.stats,n=s.total;if(i.loaded+=s.loaded,n){let l=Math.round(e.duration/t.duration),c=Math.min(Math.round(i.loaded/n),l),u=(l-c)*Math.round(i.loaded/c);i.total=i.loaded+u;}else i.total=Math.max(i.loaded,i.total);let r=i.loading,a=s.loading;r.start?r.first+=a.first-a.start:(r.start=a.start,r.first=a.first),r.end=a.end;}resetLoader(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy();}};function hv(e,t=null){let i=t||e,s={frag:e,part:t,responseType:"arraybuffer",url:i.url,headers:{},rangeStart:0,rangeEnd:0},n=i.byteRangeStartOffset,r=i.byteRangeEndOffset;if(Ie(n)&&Ie(r)){var a;let l=n,c=r;if(e.sn==="initSegment"&&_w((a=e.decryptdata)==null?void 0:a.method)){let u=r-n;u%16&&(c=r+(16-u%16)),n!==0&&(s.resetIV=!0,l=n-16);}s.rangeStart=l,s.rangeEnd=c;}return s;}function fv(e,t){let i=new Error(`GAP ${e.gap?"tag":"attribute"} found`),s={type:Fe.MEDIA_ERROR,details:Z.FRAG_GAP,fatal:!1,frag:e,error:i,networkDetails:null};return t&&(s.part=t),(t||e).stats.aborted=!0,new Qs(s);}function _w(e){return e==="AES-128"||e==="AES-256";}var Qs=class extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e;}},r_=class extends rs{constructor(e,t){super(e,t),this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this);}destroy(){this.onHandlerDestroying(),this.onHandlerDestroyed();}onHandlerDestroying(){this.clearNextTick(),this.clearInterval();}onHandlerDestroyed(){}hasInterval(){return!!this._tickInterval;}hasNextTick(){return!!this._tickTimer;}setInterval(e){return this._tickInterval?!1:(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0);}clearInterval(){return this._tickInterval?(self.clearInterval(this._tickInterval),this._tickInterval=null,!0):!1;}clearNextTick(){return this._tickTimer?(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0):!1;}tick(){this._tickCallCount++,this._tickCallCount===1&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0);}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0);}doTick(){}},Xh=class{constructor(e,t,i,s=0,n=-1,r=!1){this.level=void 0,this.sn=void 0,this.part=void 0,this.id=void 0,this.size=void 0,this.partial=void 0,this.transmuxing=ql(),this.buffering={audio:ql(),video:ql(),audiovideo:ql()},this.level=e,this.sn=t,this.id=i,this.size=s,this.part=n,this.partial=r;}};function ql(){return{start:0,executeStart:0,executeEnd:0,end:0};}var pv={length:0,start:()=>0,end:()=>0},et=class ao{static isBuffered(t,i){if(t){let s=ao.getBuffered(t);for(let n=s.length;n--;)if(i>=s.start(n)&&i<=s.end(n))return!0;}return!1;}static bufferedRanges(t){if(t){let i=ao.getBuffered(t);return ao.timeRangesToArray(i);}return[];}static timeRangesToArray(t){let i=[];for(let s=0;s<t.length;s++)i.push({start:t.start(s),end:t.end(s)});return i;}static bufferInfo(t,i,s){if(t){let n=ao.bufferedRanges(t);if(n.length)return ao.bufferedInfo(n,i,s);}return{len:0,start:i,end:i,bufferedIndex:-1};}static bufferedInfo(t,i,s){i=Math.max(0,i),t.length>1&&t.sort((f,p)=>f.start-p.start||p.end-f.end);let n=-1,r=[];if(s)for(let f=0;f<t.length;f++){i>=t[f].start&&i<=t[f].end&&(n=f);let p=r.length;if(p){let g=r[p-1].end;t[f].start-g<s?t[f].end>g&&(r[p-1].end=t[f].end):r.push(t[f]);}else r.push(t[f]);}else r=t;let a=0,l,c=i,u=i;for(let f=0;f<r.length;f++){let p=r[f].start,g=r[f].end;if(n===-1&&i>=p&&i<=g&&(n=f),i+s>=p&&i<g)c=p,u=g,a=u-i;else if(i+s<p){l=p;break;}}return{len:a,start:c||0,end:u||0,nextStart:l,buffered:t,bufferedIndex:n};}static getBuffered(t){try{return t.buffered||pv;}catch(i){return _t.log("failed to get media.buffered",i),pv;}}},o_=/\{\$([a-zA-Z0-9-_]+)\}/g;function mv(e){return o_.test(e);}function hh(e,t){if(e.variableList!==null||e.hasVariableRefs){let i=e.variableList;return t.replace(o_,s=>{let n=s.substring(2,s.length-1),r=i?.[n];return r===void 0?(e.playlistParsingError||(e.playlistParsingError=new Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${n}"`)),s):r;});}return t;}function gv(e,t,i){let s=e.variableList;s||(e.variableList=s={});let n,r;if("QUERYPARAM"in t){n=t.QUERYPARAM;try{let a=new self.URL(i).searchParams;if(a.has(n))r=a.get(n);else throw new Error(`"${n}" does not match any query parameter in URI: "${i}"`);}catch(a){e.playlistParsingError||(e.playlistParsingError=new Error(`EXT-X-DEFINE QUERYPARAM: ${a.message}`));}}else n=t.NAME,r=t.VALUE;n in s?e.playlistParsingError||(e.playlistParsingError=new Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${n}"`)):s[n]=r||"";}function bw(e,t,i){let s=t.IMPORT;if(i&&s in i){let n=e.variableList;n||(e.variableList=n={}),n[s]=i[s];}else e.playlistParsingError||(e.playlistParsingError=new Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${s}"`));}var Tw=/^(\d+)x(\d+)$/,vv=/(.+?)=(".*?"|.*?)(?:,|$)/g,Vt=class a_{constructor(t,i){typeof t=="string"&&(t=a_.parseAttrList(t,i)),St(this,t);}get clientAttrs(){return Object.keys(this).filter(t=>t.substring(0,2)==="X-");}decimalInteger(t){let i=parseInt(this[t],10);return i>Number.MAX_SAFE_INTEGER?1/0:i;}hexadecimalInteger(t){if(this[t]){let i=(this[t]||"0x").slice(2);i=(i.length&1?"0":"")+i;let s=new Uint8Array(i.length/2);for(let n=0;n<i.length/2;n++)s[n]=parseInt(i.slice(n*2,n*2+2),16);return s;}return null;}hexadecimalIntegerAsNumber(t){let i=parseInt(this[t],16);return i>Number.MAX_SAFE_INTEGER?1/0:i;}decimalFloatingPoint(t){return parseFloat(this[t]);}optionalFloat(t,i){let s=this[t];return s?parseFloat(s):i;}enumeratedString(t){return this[t];}enumeratedStringList(t,i){let s=this[t];return(s?s.split(/[ ,]+/):[]).reduce((n,r)=>(n[r.toLowerCase()]=!0,n),i);}bool(t){return this[t]==="YES";}decimalResolution(t){let i=Tw.exec(this[t]);if(i!==null)return{width:parseInt(i[1],10),height:parseInt(i[2],10)};}static parseAttrList(t,i){let s,n={};for(vv.lastIndex=0;(s=vv.exec(t))!==null;){let a=s[1].trim(),l=s[2],c=l.indexOf('"')===0&&l.lastIndexOf('"')===l.length-1,u=!1;if(c)l=l.slice(1,-1);else switch(a){case"IV":case"SCTE35-CMD":case"SCTE35-IN":case"SCTE35-OUT":u=!0;}if(i&&(c||u))l=hh(i,l);else if(!u&&!c)switch(a){case"CLOSED-CAPTIONS":if(l==="NONE")break;case"ALLOWED-CPC":case"CLASS":case"ASSOC-LANGUAGE":case"AUDIO":case"BYTERANGE":case"CHANNELS":case"CHARACTERISTICS":case"CODECS":case"DATA-ID":case"END-DATE":case"GROUP-ID":case"ID":case"IMPORT":case"INSTREAM-ID":case"KEYFORMAT":case"KEYFORMATVERSIONS":case"LANGUAGE":case"NAME":case"PATHWAY-ID":case"QUERYPARAM":case"RECENTLY-REMOVED-DATERANGES":case"SERVER-URI":case"STABLE-RENDITION-ID":case"STABLE-VARIANT-ID":case"START-DATE":case"SUBTITLES":case"SUPPLEMENTAL-CODECS":case"URI":case"VALUE":case"VIDEO":case"X-ASSET-LIST":case"X-ASSET-URI":_t.warn(`${t}: attribute ${a} is missing quotes`);}n[a]=l;}return n;}},Ew="com.apple.hls.interstitial";function Cw(e){return e!=="ID"&&e!=="CLASS"&&e!=="CUE"&&e!=="START-DATE"&&e!=="DURATION"&&e!=="END-DATE"&&e!=="END-ON-NEXT";}function Sw(e){return e==="SCTE35-OUT"||e==="SCTE35-IN"||e==="SCTE35-CMD";}var l_=class{constructor(e,t,i=0){var s;if(this.attr=void 0,this.tagAnchor=void 0,this.tagOrder=void 0,this._startDate=void 0,this._endDate=void 0,this._dateAtEnd=void 0,this._cue=void 0,this._badValueForSameId=void 0,this.tagAnchor=t?.tagAnchor||null,this.tagOrder=(s=t?.tagOrder)!=null?s:i,t){let n=t.attr;for(let r in n)if(Object.prototype.hasOwnProperty.call(e,r)&&e[r]!==n[r]){_t.warn(`DATERANGE tag attribute: "${r}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=r;break;}e=St(new Vt({}),n,e);}if(this.attr=e,t?(this._startDate=t._startDate,this._cue=t._cue,this._endDate=t._endDate,this._dateAtEnd=t._dateAtEnd):this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr){let n=t?.endDate||new Date(this.attr["END-DATE"]);Ie(n.getTime())&&(this._endDate=n);}}get id(){return this.attr.ID;}get class(){return this.attr.CLASS;}get cue(){let e=this._cue;return e===void 0?this._cue=this.attr.enumeratedStringList(this.attr.CUE?"CUE":"X-CUE",{pre:!1,post:!1,once:!1}):e;}get startTime(){let{tagAnchor:e}=this;return e===null||e.programDateTime===null?(_t.warn(`Expected tagAnchor Fragment with PDT set for DateRange "${this.id}": ${e}`),NaN):e.start+(this.startDate.getTime()-e.programDateTime)/1e3;}get startDate(){return this._startDate;}get endDate(){let e=this._endDate||this._dateAtEnd;if(e)return e;let t=this.duration;return t!==null?this._dateAtEnd=new Date(this._startDate.getTime()+t*1e3):null;}get duration(){if("DURATION"in this.attr){let e=this.attr.decimalFloatingPoint("DURATION");if(Ie(e))return e;}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null;}get plannedDuration(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null;}get endOnNext(){return this.attr.bool("END-ON-NEXT");}get isInterstitial(){return this.class===Ew;}get isValid(){return!!this.id&&!this._badValueForSameId&&Ie(this.startDate.getTime())&&(this.duration===null||this.duration>=0)&&(!this.endOnNext||!!this.class)&&(!this.attr.CUE||!this.cue.pre&&!this.cue.post||this.cue.pre!==this.cue.post)&&(!this.isInterstitial||"X-ASSET-URI"in this.attr||"X-ASSET-LIST"in this.attr);}},ww=10,Aw=class{constructor(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.dateRangeTagCount=0,this.live=!0,this.requestScheduled=-1,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.appliedTimelineOffset=void 0,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e;}reloaded(e){if(!e){this.advanced=!0,this.updated=!0;return;}let t=this.lastPartSn-e.lastPartSn,i=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!i||!!t||!this.live,this.advanced=this.endSN>e.endSN||t>0||t===0&&i>0,this.updated||this.advanced?this.misses=Math.floor(e.misses*.6):this.misses=e.misses+1;}hasKey(e){return this.encryptedFragments.some(t=>{let i=t.decryptdata;return i||(t.setKeyFormat(e.keyFormat),i=t.decryptdata),!!i&&e.matches(i);});}get hasProgramDateTime(){return this.fragments.length?Ie(this.fragments[this.fragments.length-1].programDateTime):!1;}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||ww;}get drift(){let e=this.driftEndTime-this.driftStartTime;return e>0?(this.driftEnd-this.driftStart)*1e3/e:1;}get edge(){return this.partEnd||this.fragmentEnd;}get partEnd(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].end:this.fragmentEnd;}get fragmentEnd(){return this.fragments.length?this.fragments[this.fragments.length-1].end:0;}get fragmentStart(){return this.fragments.length?this.fragments[0].start:0;}get age(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0;}get lastPartIndex(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].index:-1;}get maxPartIndex(){let e=this.partList;if(e){let t=this.lastPartIndex;if(t!==-1){for(let i=e.length;i--;)if(e[i].index>t)return e[i].index;return t;}}return 0;}get lastPartSn(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN;}get expired(){if(this.live&&this.age&&this.misses<3){let e=this.partEnd-this.fragmentStart;return this.age>Math.max(e,this.totalduration)+this.levelTargetDuration;}return!1;}};function $d(e,t){return e.length===t.length?!e.some((i,s)=>i!==t[s]):!1;}function yv(e,t){return!e&&!t?!0:!e||!t?!1:$d(e,t);}function mo(e){return e==="AES-128"||e==="AES-256"||e==="AES-256-CTR";}function Qh(e){switch(e){case"AES-128":case"AES-256":return Vn.cbc;case"AES-256-CTR":return Vn.ctr;default:throw new Error(`invalid full segment method ${e}`);}}function Jh(e){return Uint8Array.from(atob(e),t=>t.charCodeAt(0));}function fh(e){return Uint8Array.from(unescape(encodeURIComponent(e)),t=>t.charCodeAt(0));}function Iw(e){let t=fh(e).subarray(0,16),i=new Uint8Array(16);return i.set(t,16-t.length),i;}function d_(e){let t=function(s,n,r){let a=s[n];s[n]=s[r],s[r]=a;};t(e,0,3),t(e,1,2),t(e,4,5),t(e,6,7);}function c_(e){let t=e.split(":"),i=null;if(t[0]==="data"&&t.length===2){let s=t[1].split(";"),n=s[s.length-1].split(",");if(n.length===2){let r=n[0]==="base64",a=n[1];r?(s.splice(-1,1),i=Jh(a)):i=Iw(a);}}return i;}var Hd=typeof self<"u"?self:void 0,Dt={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},fi={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.streamingkeydelivery",PLAYREADY:"com.microsoft.playready",WIDEVINE:"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"};function Td(e){switch(e){case fi.FAIRPLAY:return Dt.FAIRPLAY;case fi.PLAYREADY:return Dt.PLAYREADY;case fi.WIDEVINE:return Dt.WIDEVINE;case fi.CLEARKEY:return Dt.CLEARKEY;}}function lu(e){switch(e){case Dt.FAIRPLAY:return fi.FAIRPLAY;case Dt.PLAYREADY:return fi.PLAYREADY;case Dt.WIDEVINE:return fi.WIDEVINE;case Dt.CLEARKEY:return fi.CLEARKEY;}}function sa(e){let{drmSystems:t,widevineLicenseUrl:i}=e,s=t?[Dt.FAIRPLAY,Dt.WIDEVINE,Dt.PLAYREADY,Dt.CLEARKEY].filter(n=>!!t[n]):[];return!s[Dt.WIDEVINE]&&i&&s.push(Dt.WIDEVINE),s;}var u_=function(e){return Hd!=null&&(e=Hd.navigator)!=null&&e.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null;}();function kw(e,t,i,s){let n;switch(e){case Dt.FAIRPLAY:n=["cenc","sinf"];break;case Dt.WIDEVINE:case Dt.PLAYREADY:n=["cenc"];break;case Dt.CLEARKEY:n=["cenc","keyids"];break;default:throw new Error(`Unknown key-system: ${e}`);}return Pw(n,t,i,s);}function Pw(e,t,i,s){return[{initDataTypes:e,persistentState:s.persistentState||"optional",distinctiveIdentifier:s.distinctiveIdentifier||"optional",sessionTypes:s.sessionTypes||[s.sessionType||"temporary"],audioCapabilities:t.map(n=>({contentType:`audio/mp4; codecs=${n}
223`,robustness:s.audioRobustness||"",encryptionScheme:s.audioEncryptionScheme||null})),videoCapabilities:i.map(n=>({contentType:`video/mp4; codecs=${n}`,robustness:s.videoRobustness||"",encryptionScheme:s.videoEncryptionScheme||null}))}];}function Rw(e){var t;return!!e&&(e.sessionType==="persistent-license"||!!((t=e.sessionTypes)!=null&&t.some(i=>i==="persistent-license")));}function h_(e){let t=new Uint16Array(e.buffer,e.byteOffset,e.byteLength/2),i=String.fromCharCode.apply(null,Array.from(t)),s=i.substring(i.indexOf("<"),i.length),n=new DOMParser().parseFromString(s,"text/xml").getElementsByTagName("KID")[0];if(n){let r=n.childNodes[0]?n.childNodes[0].nodeValue:n.getAttribute("VALUE");if(r){let a=Jh(r).subarray(0,16);return d_(a),a;}}return null;}var Yr={},zd=class Ed{static clearKeyUriToKeyIdMap(){Yr={};}static setKeyIdForUri(t,i){Yr[t]=i;}static addKeyIdForUri(t){let i=Object.keys(Yr).length%Number.MAX_SAFE_INTEGER,s=new Uint8Array(16);return new DataView(s.buffer,12,4).setUint32(0,i),Yr[t]=s,s;}constructor(t,i,s,n=[1],r=null,a){this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pssh=null,this.method=t,this.uri=i,this.keyFormat=s,this.keyFormatVersions=n,this.iv=r,this.encrypted=t?t!=="NONE":!1,this.isCommonEncryption=this.encrypted&&!mo(t),a!=null&&a.startsWith("0x")&&(this.keyId=new Uint8Array(By(a)));}matches(t){return t.uri===this.uri&&t.method===this.method&&t.encrypted===this.encrypted&&t.keyFormat===this.keyFormat&&$d(t.keyFormatVersions,this.keyFormatVersions)&&yv(t.iv,this.iv)&&yv(t.keyId,this.keyId);}isSupported(){if(this.method){if(mo(this.method)||this.method==="NONE")return!0;if(this.keyFormat==="identity")return this.method==="SAMPLE-AES";switch(this.keyFormat){case fi.FAIRPLAY:case fi.WIDEVINE:case fi.PLAYREADY:case fi.CLEARKEY:return["SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)!==-1;}}return!1;}getDecryptData(t,i){if(!this.encrypted||!this.uri)return null;if(mo(this.method)){let r=this.iv;return r||(typeof t!="number"&&(_t.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),t=0),r=Lw(t)),new Ed(this.method,this.uri,"identity",this.keyFormatVersions,r);}if(this.keyId){let r=Yr[this.uri];if(r&&!$d(this.keyId,r)&&Ed.setKeyIdForUri(this.uri,this.keyId),this.pssh)return this;}let s=c_(this.uri);if(s)switch(this.keyFormat){case fi.WIDEVINE:if(this.pssh=s,!this.keyId){let r=D2(s.buffer);if(r.length){var n;let a=r[0];this.keyId=(n=a.kids)!=null&&n.length?a.kids[0]:null;}}this.keyId||(this.keyId=_v(i));break;case fi.PLAYREADY:{let r=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=O2(r,null,s),this.keyId=h_(s);break;}default:{let r=s.subarray(0,16);if(r.length!==16){let a=new Uint8Array(16);a.set(r,16-r.length),r=a;}this.keyId=r;break;}}if(!this.keyId||this.keyId.byteLength!==16){let r;r=xw(i),r||(r=_v(i),r||(r=Yr[this.uri])),r&&(this.keyId=r,Ed.setKeyIdForUri(this.uri,r));}return this;}};function xw(e){let t=e?.[fi.WIDEVINE];return t?t.keyId:null;}function _v(e){let t=e?.[fi.PLAYREADY];if(t){let i=c_(t.uri);if(i)return h_(i);}return null;}function Lw(e){let t=new Uint8Array(16);for(let i=12;i<16;i++)t[i]=e>>8*(15-i)&255;return t;}var bv=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)[\r\n]+/g,Tv=/#EXT-X-MEDIA:(.*)/g,Mw=/^#EXT(?:INF|-X-TARGETDURATION):/m,du=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[^\r\n]*)/.source,/#.*/.source].join("|"),"g"),Ow=new RegExp([/#EXT-X-(PROGRAM-DATE-TIME|BYTERANGE|DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|")),na=class ra{static findGroup(t,i){for(let s=0;s<t.length;s++){let n=t[s];if(n.id===i)return n;}}static resolve(t,i){return Hh.buildAbsoluteURL(i,t,{alwaysNormalize:!0});}static isMediaPlaylist(t){return Mw.test(t);}static parseMasterPlaylist(t,i){let s={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:mv(t)},n=[];if(bv.lastIndex=0,!t.startsWith("#EXTM3U"))return s.playlistParsingError=new Error("no EXTM3U delimiter"),s;let r;for(;(r=bv.exec(t))!=null;)if(r[1]){var a;let l=new Vt(r[1],s),c=hh(s,r[2]),u={attrs:l,bitrate:l.decimalInteger("BANDWIDTH")||l.decimalInteger("AVERAGE-BANDWIDTH"),name:l.NAME,url:ra.resolve(c,i)},f=l.decimalResolution("RESOLUTION");f&&(u.width=f.width,u.height=f.height),Sv(l.CODECS,u);let p=l["SUPPLEMENTAL-CODECS"];p&&(u.supplemental={},Sv(p,u.supplemental)),(a=u.unknownCodecs)!=null&&a.length||n.push(u),s.levels.push(u);}else if(r[3]){let l=r[3],c=r[4];switch(l){case"SESSION-DATA":{let u=new Vt(c,s),f=u["DATA-ID"];f&&(s.sessionData===null&&(s.sessionData={}),s.sessionData[f]=u);break;}case"SESSION-KEY":{let u=Ev(c,i,s);u.encrypted&&u.isSupported()?(s.sessionKeys===null&&(s.sessionKeys=[]),s.sessionKeys.push(u)):_t.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${c}"`);break;}case"DEFINE":gv(s,new Vt(c,s),i);break;case"CONTENT-STEERING":{let u=new Vt(c,s);s.contentSteering={uri:ra.resolve(u["SERVER-URI"],i),pathwayId:u["PATHWAY-ID"]||"."};break;}case"START":s.startTimeOffset=Cv(c);break;}}return s.levels=n.length>0&&n.length<s.levels.length?n:s.levels,s.levels.length===0&&(s.playlistParsingError=new Error("no levels found in manifest")),s;}static parseMasterPlaylistMedia(t,i,s){let n,r={},a=s.levels,l={AUDIO:a.map(u=>({id:u.attrs.AUDIO,audioCodec:u.audioCodec})),SUBTITLES:a.map(u=>({id:u.attrs.SUBTITLES,textCodec:u.textCodec})),"CLOSED-CAPTIONS":[]},c=0;for(Tv.lastIndex=0;(n=Tv.exec(t))!==null;){let u=new Vt(n[1],s),f=u.TYPE;if(f){let p=l[f],g=r[f]||[];r[f]=g;let v=u.LANGUAGE,T=u["ASSOC-LANGUAGE"],y=u.CHANNELS,A=u.CHARACTERISTICS,I=u["INSTREAM-ID"],P={attrs:u,bitrate:0,id:c++,groupId:u["GROUP-ID"]||"",name:u.NAME||v||"",type:f,default:u.bool("DEFAULT"),autoselect:u.bool("AUTOSELECT"),forced:u.bool("FORCED"),lang:v,url:u.URI?ra.resolve(u.URI,i):""};if(T&&(P.assocLang=T),y&&(P.channels=y),A&&(P.characteristics=A),I&&(P.instreamId=I),p!=null&&p.length){let k=ra.findGroup(p,P.groupId)||p[0];wv(P,k,"audioCodec"),wv(P,k,"textCodec");}g.push(P);}}return r;}static parseLevelPlaylist(t,i,s,n,r,a){var l;let c={url:i},u=new Aw(i),f=u.fragments,p=[],g=null,v=0,T=0,y=0,A=0,I=0,P=null,k=new ru(n,c),w,R,x,D=-1,O=!1,V=null,$;if(du.lastIndex=0,u.m3u8=t,u.hasVariableRefs=mv(t),((l=du.exec(t))==null?void 0:l[0])!=="#EXTM3U")return u.playlistParsingError=new Error("Missing format identifier #EXTM3U"),u;for(;(w=du.exec(t))!==null;){O&&(O=!1,k=new ru(n,c),k.playlistOffset=y,k.setStart(y),k.sn=v,k.cc=A,I&&(k.bitrate=I),k.level=s,g&&(k.initSegment=g,g.rawProgramDateTime&&(k.rawProgramDateTime=g.rawProgramDateTime,g.rawProgramDateTime=null),V&&(k.setByteRange(V),V=null)));let re=w[1];if(re){k.duration=parseFloat(re);let oe=(" "+w[2]).slice(1);k.title=oe||null,k.tagList.push(oe?["INF",re,oe]:["INF",re]);}else if(w[3]){if(Ie(k.duration)){k.playlistOffset=y,k.setStart(y),x&&Iv(k,x,u),k.sn=v,k.level=s,k.cc=A,f.push(k);let oe=(" "+w[3]).slice(1);k.relurl=hh(u,oe),ph(k,P,p),P=k,y+=k.duration,v++,T=0,O=!0;}}
vendor: 4,310 bytes, line 223
223else{if(w=w[0].match(Ow),!w){_t.warn("No matches on slow regex match for level playlist!");continue;}for(R=1;R<w.length&&w[R]===void 0;R++);let oe=(" "+w[R]).slice(1),J=(" "+w[R+1]).slice(1),ge=w[R+2]?(" "+w[R+2]).slice(1):null;switch(oe){case"BYTERANGE":P?k.setByteRange(J,P):k.setByteRange(J);break;case"PROGRAM-DATE-TIME":k.rawProgramDateTime=J,k.tagList.push(["PROGRAM-DATE-TIME",J]),D===-1&&(D=f.length);break;case"PLAYLIST-TYPE":u.type&&qs(u,oe,w),u.type=J.toUpperCase();break;case"MEDIA-SEQUENCE":u.startSN!==0?qs(u,oe,w):f.length>0&&kv(u,oe,w),v=u.startSN=parseInt(J);break;case"SKIP":{u.skippedSegments&&qs(u,oe,w);let q=new Vt(J,u),G=q.decimalInteger("SKIPPED-SEGMENTS");if(Ie(G)){u.skippedSegments+=G;for(let he=G;he--;)f.push(null);v+=G;}let ne=q.enumeratedString("RECENTLY-REMOVED-DATERANGES");ne&&(u.recentlyRemovedDateranges=(u.recentlyRemovedDateranges||[]).concat(ne.split(" ")));break;}case"TARGETDURATION":u.targetduration!==0&&qs(u,oe,w),u.targetduration=Math.max(parseInt(J),1);break;case"VERSION":u.version!==null&&qs(u,oe,w),u.version=parseInt(J);break;case"INDEPENDENT-SEGMENTS":break;case"ENDLIST":u.live||qs(u,oe,w),u.live=!1;break;case"#":(J||ge)&&k.tagList.push(ge?[J,ge]:[J]);break;case"DISCONTINUITY":A++,k.tagList.push(["DIS"]);break;case"GAP":k.gap=!0,k.tagList.push([oe]);break;case"BITRATE":k.tagList.push([oe,J]),I=parseInt(J)*1e3,Ie(I)?k.bitrate=I:I=0;break;case"DATERANGE":{let q=new Vt(J,u),G=new l_(q,u.dateRanges[q.ID],u.dateRangeTagCount);u.dateRangeTagCount++,G.isValid||u.skippedSegments?u.dateRanges[G.id]=G:_t.warn(`Ignoring invalid DATERANGE tag: "${J}"`),k.tagList.push(["EXT-X-DATERANGE",J]);break;}case"DEFINE":{let q=new Vt(J,u);"IMPORT"in q?bw(u,q,a):gv(u,q,i);}break;case"DISCONTINUITY-SEQUENCE":u.startCC!==0?qs(u,oe,w):f.length>0&&kv(u,oe,w),u.startCC=A=parseInt(J);break;case"KEY":{let q=Ev(J,i,u);if(q.isSupported()){if(q.method==="NONE"){x=void 0;break;}x||(x={});let G=x[q.keyFormat];G!=null&&G.matches(q)||(G&&(x=St({},x)),x[q.keyFormat]=q);}else _t.warn(`[Keys] Ignoring unsupported EXT-X-KEY tag: "${J}"`);break;}case"START":u.startTimeOffset=Cv(J);break;case"MAP":{let q=new Vt(J,u);if(k.duration){let G=new ru(n,c);Av(G,q,s,x),g=G,k.initSegment=g,g.rawProgramDateTime&&!k.rawProgramDateTime&&(k.rawProgramDateTime=g.rawProgramDateTime);}else{let G=k.byteRangeEndOffset;if(G){let ne=k.byteRangeStartOffset;V=`${G-ne}@${ne}`;}else V=null;Av(k,q,s,x),g=k,O=!0;}g.cc=A;break;}case"SERVER-CONTROL":$&&qs(u,oe,w),$=new Vt(J),u.canBlockReload=$.bool("CAN-BLOCK-RELOAD"),u.canSkipUntil=$.optionalFloat("CAN-SKIP-UNTIL",0),u.canSkipDateRanges=u.canSkipUntil>0&&$.bool("CAN-SKIP-DATERANGES"),u.partHoldBack=$.optionalFloat("PART-HOLD-BACK",0),u.holdBack=$.optionalFloat("HOLD-BACK",0);break;case"PART-INF":u.partTarget&&qs(u,oe,w),u.partTarget=new Vt(J).decimalFloatingPoint("PART-TARGET");break;case"PART":{let q=u.partList;q||(q=u.partList=[]);let G=T>0?q[q.length-1]:void 0,ne=T++,he=new b2(new Vt(J,u),k,c,ne,G);q.push(he),k.duration+=he.duration;break;}case"PRELOAD-HINT":u.preloadHint=new Vt(J,u);break;case"RENDITION-REPORT":{let q=new Vt(J,u);u.renditionReports=u.renditionReports||[],u.renditionReports.push(q);break;}default:_t.warn(`line parsed but not handled: ${w}`);break;}}}P&&!P.relurl?(f.pop(),y-=P.duration,u.partList&&(u.fragmentHint=P)):u.partList&&(ph(k,P,p),k.cc=A,u.fragmentHint=k,x&&Iv(k,x,u)),u.targetduration||(u.playlistParsingError=new Error("Missing Target Duration"));let N=f.length,F=f[0],K=f[N-1];if(y+=u.skippedSegments*u.targetduration,y>0&&N&&K){u.averagetargetduration=y/N;let re=K.sn;u.endSN=re!=="initSegment"?re:0,u.live||(K.endList=!0),D>0&&(jw(f,D),F&&p.unshift(F));}return u.fragmentHint&&(y+=u.fragmentHint.duration),u.totalduration=y,p.length&&u.dateRangeTagCount&&F&&f_(p,u),u.endCC=A,u;}};function f_(e,t){let i=e.length;if(!i)if(t.hasProgramDateTime){let l=t.fragments[t.fragments.length-1];e.push(l),i++;}else return;let s=e[i-1],n=t.live?1/0:t.totalduration,r=Object.keys(t.dateRanges);for(let l=r.length;l--;){let c=t.dateRanges[r[l]],u=c.startDate.getTime();c.tagAnchor=s.ref;for(let f=i;f--;){var a;if(((a=e[f])==null?void 0:a.sn)<t.startSN)break;let p=Dw(t,u,e,f,n);if(p!==-1){c.tagAnchor=t.fragments[p].ref;break;}}}}function Dw(e,t,i,s,n){let r=i[s];if(r){let l=r.programDateTime;if(t>=l||s===0){var a;
223if(t<=l+((((a=i[s+1])==null?void 0:a.start)||n)-r.start)*1e3){let c=i[s].sn-e.startSN;if(c<0)return-1;let u=e.fragments;if(u.length>i.length){let f=(i[s+1]||u[u.length-1]).sn-e.startSN;for(let p=f;p>c;p--){let g=u[p].programDateTime;if(t>=g&&t<g+u[p].duration*1e3)return p;}}return c;}}}return-1;}function Ev(e,t,i){var s,n;let r=new Vt(e,i),a=(s=r.METHOD)!=null?s:"",l=r.URI,c=r.hexadecimalInteger("IV"),u=r.KEYFORMATVERSIONS,f=(n=r.KEYFORMAT)!=null?n:"identity";return l&&r.IV&&!c&&_t.error(`Invalid IV: ${r.IV}`),new zd(a,l?na.resolve(l,t):"",f,(u||"1").split("/").map(Number).filter(Number.isFinite),c,r.KEYID);}function Cv(e){let t=new Vt(e).decimalFloatingPoint("TIME-OFFSET");return Ie(t)?t:null;}function Sv(e,t){let i=(e||"").split(/[ ,]+/).filter(s=>s);["video","audio","text"].forEach(s=>{let n=i.filter(r=>Wh(r,s));n.length&&(t[`${s}Codec`]=n.map(r=>r.split("/")[0]).join(","),i=i.filter(r=>n.indexOf(r)===-1));}),t.unknownCodecs=i;}function wv(e,t,i){let s=t[i];s&&(e[i]=s);}function jw(e,t){let i=e[t];for(let s=t;s--;){let n=e[s];if(!n)return;n.programDateTime=i.programDateTime-n.duration*1e3,i=n;}}function ph(e,t,i){e.rawProgramDateTime?i.push(e):t!=null&&t.programDateTime&&(e.programDateTime=t.endProgramDateTime);}function Av(e,t,i,s){e.relurl=t.URI,t.BYTERANGE&&e.setByteRange(t.BYTERANGE),e.level=i,e.sn="initSegment",s&&(e.levelkeys=s),e.initSegment=null;}function Iv(e,t,i){e.levelkeys=t;let{encryptedFragments:s}=i;(!s.length||s[s.length-1].levelkeys!==t)&&Object.keys(t).some(n=>t[n].isCommonEncryption)&&s.push(e);}function qs(e,t,i){e.playlistParsingError=new Error(`#EXT-X-${t} must not appear more than once (${i[0]})`);}function kv(e,t,i){e.playlistParsingError=new Error(`#EXT-X-${t} must appear before the first Media Segment (${i[0]})`);}function cu(e,t){let i=t.startPTS;if(Ie(i)){let s=0,n;t.sn>e.sn?(s=i-e.start,n=e):(s=e.start-i,n=t),n.duration!==s&&n.setDuration(s);}else t.sn>e.sn?e.cc===t.cc&&e.minEndPTS?t.setStart(e.start+(e.minEndPTS-e.start)):t.setStart(e.start+e.duration):t.setStart(Math.max(e.start-t.duration,0));}function p_(e,t,i,s,n,r,a){s-i<=0&&(a.warn("Fragment should have a positive duration",t),s=i+t.duration,r=n+t.duration);let l=i,c=s,u=t.startPTS,f=t.endPTS;if(Ie(u)){let A=Math.abs(u-i);e&&A>e.totalduration?a.warn(`media timestamps and playlist times differ by ${A}s for level ${t.level} ${e.url}`):Ie(t.deltaPTS)?t.deltaPTS=Math.max(A,t.deltaPTS):t.deltaPTS=A,l=Math.max(i,u),i=Math.min(i,u),n=t.startDTS!==void 0?Math.min(n,t.startDTS):n,c=Math.min(s,f),s=Math.max(s,f),r=t.endDTS!==void 0?Math.max(r,t.endDTS):r;}let p=i-t.start;t.start!==0&&t.setStart(i),t.setDuration(s-t.start),t.startPTS=i,t.maxStartPTS=l,t.startDTS=n,t.endPTS=s,t.minEndPTS=c,t.endDTS=r;let g=t.sn;if(!e||g<e.startSN||g>e.endSN)return 0;let v,T=g-e.startSN,y=e.fragments;for(y[T]=t,v=T;v>0;v--)cu(y[v],y[v-1]);for(v=T;v<y.length-1;v++)cu(y[v],y[v+1]);return e.fragmentHint&&cu(y[y.length-1],e.fragmentHint),e.PTSKnown=e.alignedSliding=!0,p;}function Nw(e,t,i){if(e===t)return;let s=null,n=e.fragments;for(let f=n.length-1;f>=0;f--){let p=n[f].initSegment;if(p){s=p;break;}}e.fragmentHint&&delete e.fragmentHint.endPTS;let r;Uw(e,t,(f,p,g,v)=>{if((!t.startCC||t.skippedSegments)&&p.cc!==f.cc){let T=f.cc-p.cc;for(let y=g;y<v.length;y++)v[y].cc+=T;t.endCC=v[v.length-1].cc;}Ie(f.startPTS)&&Ie(f.endPTS)&&(p.setStart(p.startPTS=f.startPTS),p.startDTS=f.startDTS,p.maxStartPTS=f.maxStartPTS,p.endPTS=f.endPTS,p.endDTS=f.endDTS,p.minEndPTS=f.minEndPTS,p.setDuration(f.endPTS-f.startPTS),p.duration&&(r=p),t.PTSKnown=t.alignedSliding=!0),f.hasStreams&&(p.elementaryStreams=f.elementaryStreams),p.loader=f.loader,f.hasStats&&(p.stats=f.stats),f.initSegment&&(p.initSegment=f.initSegment,s=f.initSegment);});let a=t.fragments,l=t.fragmentHint?a.concat(t.fragmentHint):a;if(s&&l.forEach(f=>{var p;f&&(!f.initSegment||f.initSegment.relurl===((p=s)==null?void 0:p.relurl))&&(f.initSegment=s);}),t.skippedSegments){if(t.deltaUpdateFailed=a.some(f=>!f),t.deltaUpdateFailed){i.warn("[level-helper] Previous playlist missing segments ski
223pped in delta playlist");for(let f=t.skippedSegments;f--;)a.shift();t.startSN=a[0].sn;}else{t.canSkipDateRanges&&(t.dateRanges=Fw(e.dateRanges,t,i));let f=e.fragments.filter(p=>p.rawProgramDateTime);if(e.hasProgramDateTime&&!t.hasProgramDateTime)for(let p=1;p<l.length;p++)l[p].programDateTime===null&&ph(l[p],l[p-1],f);f_(f,t);}t.endCC=a[a.length-1].cc;}if(!t.startCC){var c;let f=v_(e,t.startSN-1);t.startCC=(c=f?.cc)!=null?c:a[0].cc;}Bw(e.partList,t.partList,(f,p)=>{p.elementaryStreams=f.elementaryStreams,p.stats=f.stats;}),r?p_(t,r,r.startPTS,r.endPTS,r.startDTS,r.endDTS,i):m_(e,t),a.length&&(t.totalduration=t.edge-a[0].start),t.driftStartTime=e.driftStartTime,t.driftStart=e.driftStart;let u=t.advancedDateTime;if(t.advanced&&u){let f=t.edge;t.driftStart||(t.driftStartTime=u,t.driftStart=f),t.driftEndTime=u,t.driftEnd=f;}else t.driftEndTime=e.driftEndTime,t.driftEnd=e.driftEnd,t.advancedDateTime=e.advancedDateTime;t.requestScheduled===-1&&(t.requestScheduled=e.requestScheduled);}function Fw(e,t,i){let{dateRanges:s,recentlyRemovedDateranges:n}=t,r=St({},e);n&&n.forEach(l=>{delete r[l];});let a=Object.keys(r).length;return a?(Object.keys(s).forEach(l=>{let c=r[l],u=new l_(s[l].attr,c);u.isValid?(r[l]=u,c||(u.tagOrder+=a)):i.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${It(s[l].attr)}"`);}),r):s;}function Bw(e,t,i){if(e&&t){let s=0;for(let n=0,r=e.length;n<=r;n++){let a=e[n],l=t[n+s];a&&l&&a.index===l.index&&a.fragment.sn===l.fragment.sn?i(a,l):s--;}}}function Uw(e,t,i){let s=t.skippedSegments,n=Math.max(e.startSN,t.startSN)-t.startSN,r=(e.fragmentHint?1:0)+(s?t.endSN:Math.min(e.endSN,t.endSN))-t.startSN,a=t.startSN-e.startSN,l=t.fragmentHint?t.fragments.concat(t.fragmentHint):t.fragments,c=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments;for(let u=n;u<=r;u++){let f=c[a+u],p=l[u];if(s&&!p&&f&&(p=t.fragments[u]=f),f&&p){i(f,p,u,l);let g=f.relurl,v=p.relurl;if(g&&Vw(g,v)){t.playlistParsingError=Pv(`media sequence mismatch ${p.sn}:`,e,t,f,p);return;}else if(f.cc!==p.cc){t.playlistParsingError=Pv(`discontinuity sequence mismatch (${f.cc}!=${p.cc})`,e,t,f,p);return;}}}}function Pv(e,t,i,s,n){return new Error(`${e} ${n.url} 224Playlist starting @${t.startSN} 225${t.m3u8} 226 227Playlist starting @${i.startSN} 228${i.m3u8}`);}function m_(e,t,i=!0){let s=t.startSN+t.skippedSegments-e.startSN,n=e.fragments,r=s>=0,a=0;if(r&&s<n.length)a=n[s].start;else if(r&&t.startSN===e.endSN+1)a=e.fragmentEnd;else if(r&&i)a=e.fragmentStart+s*t.levelTargetDuration;else if(!t.skippedSegments&&t.fragmentStart===0)a=e.fragmentStart;else return;mh(t,a);}function mh(e,t){if(t){let i=e.fragments;for(let s=e.skippedSegments;s<i.length;s++)i[s].addStart(t);e.fragmentHint&&e.fragmentHint.addStart(t);}}function g_(e,t=1/0){let i=1e3*e.targetduration;if(e.updated){let s=e.fragments;if(s.length&&i*4>t){let n=s[s.length-1].duration*1e3;n<i&&(i=n);}}else i/=2;return Math.round(i);}function v_(e,t,i){if(!e)return null;let s=e.fragments[t-e.startSN];return s||(s=e.fragmentHint,s&&s.sn===t)?s:t<e.startSN&&i&&i.sn===t?i:null;}function Rv(e,t,i){return e?y_(e.partList,t,i):null;}function y_(e,t,i){if(e)for(let s=e.length;s--;){let n=e[s];if(n.index===i&&n.fragment.sn===t)return n;}return null;}function __(e){e.forEach((t,i)=>{var s;(s=t.details)==null||s.fragments.forEach(n=>{n.level=i,n.initSegment&&(n.initSegment.level=i);});});}function Vw(e,t){return e!==t&&t?xv(e)!==xv(t):!1;}function xv(e){return e.replace(/\?[^?]*$/,"");}function ca(e,t){for(let s=0,n=e.length;s<n;s++){var i;if(((i=e[s])==null?void 0:i.cc)===t)return e[s];}return null;}function $w(e,t){return!!(e&&t.startCC<e.endCC&&t.endCC>e.startCC);}function Lv(e,t){let i=e.start+t;e.startPTS=i,e.setStart(i),e.endPTS=i+e.duration;}function b_(e,t){let i=t.fragments;for(let s=0,n=i.length;s<n;s++)Lv(i[s],e);t.fragmentHint&&Lv(t.fragmentHint,e),t.alignedSliding=!0;}function Hw(e,t){e&&(T_(t,e),t.alignedSliding||Gd(t,e),!t.alignedSliding&&!t.skippedSegments&&m_(e,t,!1));}function T_(e,t){if(!$w(t,e))return;let i=Math.min(t.endCC,e.endCC),s=ca(t.fragments,i),n=ca(e.fragments,i);!s||!n||(_t.log(`Aligning playlist at start of dicontinuity sequence ${i}`),b_(s.start-n.start,e));}function Gd(e,t){if(!e.hasProgramDateTime||!t.hasProgramDateTime)return;let i=e.fragments,s=t.fragments;if(!i.length||!s.length)return;let n,r,a=Math.min(t.endCC,e.endCC);t.startCC<a&&e.startCC<a&&(n=ca(s,a),r=ca(i,a)),(!n||!r)&&(n=s[Math.floor(s.length/2)],r=ca(i,n.cc)||i[Math.floor(i.length/2)]);let l=n.programDateTime,c=r.programDateTime;!l||!c||b_((c-l)/1e3-(r.start-n.start),e);}function Ii(e,t,i){Fi(e,t,i),e.addEventListener(t,i);}function Fi(e,t,i){e.removeEventListener(t,i);}var zw={toString:function(e){let t="",i=e.length;for(let s=0;s<i;s++)t+=`[${e.start(s).toFixed(3)}-${e.end(s).toFixed(3)}]`;return t;}},le={STOPPED:"STOPPED",IDLE:"IDLE",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"},Zh=class extends r_{constructor(e,t,i,s,n){super(s,e.logger),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=le.STOPPED,this.playlistType=void 0,this.media=null,this.mediaBuffer=null,this.config=void 0,this.bitrateTest=!1,this.lastCurrentTime=0,this.nextLoadPosition=0,this.startPosition=0,this.startTimeOffset=null,this.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.buffering=!0,this.loadingParts=!1,this.loopSn=void 0,this.onMediaSeeking=()=>{let{config:r,fragCurrent:a,media:l,mediaBuffer:c,state:u}=this,f=l?l.currentTime:0,p=et.bufferInfo(c||l,f,r.maxBufferHole),g=!p.len;if(this.log(`Media seeking to ${Ie(f)?f.toFixed(3):f}, state: ${u}, ${g?"out of":"in"} buffer`),this.state===le.ENDED)this.resetLoadingState();else if(a){let v=r.maxFragLookUpTolerance,T=a.start-v,y=a.start+a.duration+v;if(g||y<p.start||T>p.end){let A=f>y;(f<T||A)&&(A&&a.loader&&(this.log(`Cancelling fragment load for seek (sn: ${a.sn})`),a.abortRequests(),this.resetLoadingState()),this.fragPrevious=null);}}if(l&&(this.fragmentTracker.removeFragmentsInRange(f,1/0,this.playlistType,!0),f>this.lastCurrentTime&&(this.lastCurrentTime=f),!this.loadingParts)){let v=Math.max(p.end,f),T=this.shouldLoadParts(this.getLevelDetails(),v);T&&(this.log(`LL-Part loading ON after seeking to ${f.toFixed(2)} with buffer @${v.toFixed(2)}`),this.loadingParts=T);}this.hls.hasEnoughToStart||(this.log(`Setting ${g?"startPosition":"nextLoadPosition"} to ${f} for seek without enough to start`),this.nextLoadPosition=f,g&&(this.startPosition=f)),g&&this.state===le.IDLE&&this.tickImmediate();},this.onMediaEnded=()=>{this.log("setting startPosition to 0 because media ended"),this.startPosition=this.lastCurrentTime=0;},this.playlistType=n,this.hls=e,this.fragmentLoader=new yw(e.config),this.keyLoader=i,this.fragmentTracker=t,this.config=e.config,this.decrypter=new Yh(e.config);}registerListeners(){let{hls:e}=this;
vendor: 14,205 bytes, line 228
228e.on(C.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(C.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(C.MANIFEST_LOADING,this.onManifestLoading,this),e.on(C.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(C.ERROR,this.onError,this);}unregisterListeners(){let{hls:e}=this;e.off(C.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(C.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(C.MANIFEST_LOADING,this.onManifestLoading,this),e.off(C.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(C.ERROR,this.onError,this);}doTick(){this.onTickEnd();}onTickEnd(){}startLoad(e){}stopLoad(){if(this.state===le.STOPPED)return;this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);let e=this.fragCurrent;e!=null&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=le.STOPPED;}get startPositionValue(){let{nextLoadPosition:e,startPosition:t}=this;return t===-1&&e?e:t;}get bufferingEnabled(){return this.buffering;}pauseBuffering(){this.buffering=!1;}resumeBuffering(){this.buffering=!0;}get inFlightFrag(){return{frag:this.fragCurrent,state:this.state};}_streamEnded(e,t){if(t.live||!this.media)return!1;let i=e.end||0,s=this.config.timelineOffset||0;if(i<=s)return!1;let n=e.buffered;this.config.maxBufferHole&&n&&n.length>1&&(e=et.bufferedInfo(n,e.start,0));let r=e.nextStart;if(r&&r>s&&r<t.edge||this.media.currentTime<e.start)return!1;let a=t.partList;if(a!=null&&a.length){let c=a[a.length-1];return et.isBuffered(this.media,c.start+c.duration/2);}let l=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(l);}getLevelDetails(){if(this.levels&&this.levelLastLoaded!==null)return this.levelLastLoaded.details;}get timelineOffset(){let e=this.config.timelineOffset;if(e){var t;return((t=this.getLevelDetails())==null?void 0:t.appliedTimelineOffset)||e;}return 0;}onMediaAttached(e,t){let i=this.media=this.mediaBuffer=t.media;Ii(i,"seeking",this.onMediaSeeking),Ii(i,"ended",this.onMediaEnded);let s=this.config;this.levels&&s.autoStartLoad&&this.state===le.STOPPED&&this.startLoad(s.startPosition);}onMediaDetaching(e,t){let i=!!t.transferMedia,s=this.media;if(s!==null){if(s.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),Fi(s,"seeking",this.onMediaSeeking),Fi(s,"ended",this.onMediaEnded),this.keyLoader&&!i&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loopSn=void 0,i){this.resetLoadingState(),this.resetTransmuxer();return;}this.loadingParts=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad();}}onManifestLoading(){this.initPTS=[],this.levels=this.levelLastLoaded=this.fragCurrent=null,this.lastCurrentTime=this.startPosition=0,this.startFragRequested=!1;}onError(e,t){}onManifestLoaded(e,t){this.startTimeOffset=t.startTimeOffset;}onHandlerDestroying(){this.stopLoad(),this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null),super.onHandlerDestroying(),this.hls=this.onMediaSeeking=this.onMediaEnded=null;}onHandlerDestroyed(){this.state=le.STOPPED,this.fragmentLoader&&this.fragmentLoader.destroy(),this.keyLoader&&this.keyLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null,super.onHandlerDestroyed();}loadFragment(e,t,i){this.startFragRequested=!0,this._loadFragForPlayback(e,t,i);}_loadFragForPlayback(e,t,i){let s=n=>{let r=n.frag;if(this.fragContextChanged(r)){this.warn(`${r.type} sn: ${r.sn}${n.part?" part: "+n.part.index:""} of ${this.fragInfo(r,!1,n.part)}) was dropped during download.`),this.fragmentTracker.removeFragment(r);return;}r.stats.chunkCount++,this._handleFragmentLoadProgress(n);};this._doFragLoad(e,t,i,s).then(n=>{if(!n)return;let r=this.state,a=n.frag;if(this.fragContextChanged(a)){(r===le.FRAG_LOADING||!this.fragCurrent&&r===le.PARSING)&&(this.fragmentTracker.removeFragment(a),this.state=le.IDLE);return;}"payload"in n&&(this.log(`Loaded ${a.type} sn: ${a.sn} of ${this.playlistLabel()} ${a.level}`),this.hls.trigger(C.FRAG_LOADED,n)),this._handleFragmentLoadComplete(n);}).catch(n=>{this.state===le.STOPPED||this.state===le.ERROR||(this.warn(`Frag error: ${n?.message||n}`),this.resetFragmentLoading(e));});}clearTrackerIfNeeded(e){var t;let{fragmentTracker:i}=this;if(i.getState(e)===Xt.APPENDING){let s=e.type,n=this.getFwdBufferInfo(this.mediaBuffer,s),r=Math.max(e.duration,n?n.len:this.config.maxBufferLength),a=this.backtrackFragment;((a?e.sn-a.sn:0)===1||this.reduceMaxBufferLength(r,e.duration))&&i.removeFragment(e);}else((t=this.mediaBuffer)==null?void 0:t.buffered.length)===0?i.removeAllFragments():i.hasParts(e.type)&&(i.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),i.getState(e)===Xt.PARTIAL&&i.removeFragment(e));}checkLiveUpdate(e){if(e.updated&&!e.live){let t=e.fragments[e.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type});}e.fragments[0]||(e.deltaUpdateFailed=!0);}waitForLive(e){let t=e.details;return t?.live&&t.type!=="EVENT"&&(this.levelLastLoaded!==e||t.expired);}flushMainBuffer(e,t,i=null){if(!(e-t))return;let s={startOffset:e,endOffset:t,type:i};this.hls.trigger(C.BUFFER_FLUSHING,s);}_loadInitSegment(e,t){this._doFragLoad(e,t).then(i=>{let s=i?.frag;if(!s||this.fragContextChanged(s)||!this.levels)throw new Error("init load aborted");return i;}).then(i=>{let{hls:s}=this,{frag:n,payload:r}=i,a=n.decryptdata;if(r&&r.byteLength>0&&a!=null&&a.key&&a.iv&&mo(a.method)){let l=self.performance.now();return this.decrypter.decrypt(new Uint8Array(r),a.key.buffer,a.iv.buffer,Qh(a.method)).catch(c=>{throw s.trigger(C.ERROR,{type:Fe.MEDIA_ERROR,details:Z.FRAG_DECRYPT_ERROR,fatal:!1,error:c,reason:c.message,frag:n}),c;}).then(c=>{let u=self.performance.now();return s.trigger(C.FRAG_DECRYPTED,{frag:n,payload:c,stats:{tstart:l,tdecrypt:u}}),i.payload=c,this.completeInitSegmentLoad(i);});}return this.completeInitSegmentLoad(i);}).catch(i=>{this.state===le.STOPPED||this.state===le.ERROR||(this.warn(i),this.resetFragmentLoading(e));});}completeInitSegmentLoad(e){let{levels:t}=this;if(!t)throw new Error("init load aborted, missing levels");let i=e.frag.stats;this.state!==le.STOPPED&&(this.state=le.IDLE),e.frag.data=new Uint8Array(e.payload),i.parsing.start=i.buffering.start=self.performance.now(),i.parsing.end=i.buffering.end=self.performance.now(),this.tick();}unhandledEncryptionError(e,t){var i,s;let n=e.tracks;if(n&&!t.encrypted&&((i=n.audio)!=null&&i.encrypted||(s=n.video)!=null&&s.encrypted)&&(!this.config.emeEnabled||!this.keyLoader.emeController)){let r=this.media,a=new Error(`Encrypted track with no key in ${this.fragInfo(t)} (media ${r?"attached mediaKeys: "+r.mediaKeys:"detached"})`);return this.warn(a.message),!r||r.mediaKeys?!1:(this.hls.trigger(C.ERROR,{type:Fe.KEY_SYSTEM_ERROR,details:Z.KEY_SYSTEM_NO_KEYS,fatal:!1,error:a,frag:t}),this.resetTransmuxer(),!0);}return!1;}fragContextChanged(e){let{fragCurrent:t}=this;return!e||!t||e.sn!==t.sn||e.level!==t.level;}fragBufferedComplete(e,t){let i=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log(`Buffered ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.fragInfo(e,!1,t)} > buffer:${i?zw.toString(et.getBuffered(i)):"(detached)"})`),$t(e)){var s;if(e.type!==Me.SUBTITLE){let r=e.elementaryStreams;if(!Object.keys(r).some(a=>!!r[a])){this.state=le.IDLE;return;}}let n=(s=this.levels)==null?void 0:s[e.level];n!=null&&n.fragmentError&&(this.log(`Resetting level fragment error count of ${n.fragmentError} on frag buffered`),n.fragmentError=0);}this.state=le.IDLE;}_handleFragmentLoadComplete(e){let{transmuxer:t}=this;if(!t)return;let{frag:i,part:s,partsLoaded:n}=e,r=!n||n.length===0||n.some(l=>!l),a=new Xh(i.level,i.sn,i.stats.chunkCount+1,0,s?s.index:-1,!r);t.flush(a);}_handleFragmentLoadProgress(e){}_doFragLoad(e,t,i=null,s){var n;this.fragCurrent=e;let r=t.details;if(!this.levels||!r)throw new Error(`frag load aborted, missing level${r?"":" detail"}s`);let a=null;if(e.encrypted&&!((n=e.decryptdata)!=null&&n.key)){if(this.log(`Loading key for ${e.sn} of [${r.startSN}-${r.endSN}], ${this.playlistLabel()} ${e.level}`),this.state=le.KEY_LOADING,this.fragCurrent=e,a=this.keyLoader.load(e).then(p=>{if(!this.fragContextChanged(p.frag))return this.hls.trigger(C.KEY_LOADED,p),this.state===le.KEY_LOADING&&(this.state=le.IDLE),p;}),this.hls.trigger(C.KEY_LOADING,{frag:e}),this.fragCurrent===null)return this.log("context changed in KEY_LOADING"),Promise.resolve(null);}else e.encrypted||(a=this.keyLoader.loadClear(e,r.encryptedFragments,this.startFragRequested),a&&this.log("[eme] blocking frag load until media-keys acquired"));let l=this.fragPrevious;if($t(e)&&(!l||e.sn!==l.sn)){let p=this.shouldLoadParts(t.details,e.end);p!==this.loadingParts&&(this.log(`LL-Part loading ${p?"ON":"OFF"} loading sn ${l?.sn}->${e.sn}`),this.loadingParts=p);}if(i=Math.max(e.start,i||0),this.loadingParts&&$t(e)){let p=r.partList;if(p&&s){i>r.fragmentEnd&&r.fragmentHint&&(e=r.fragmentHint);let g=this.getNextPart(p,e,i);if(g>-1){let v=p[g];e=this.fragCurrent=v.fragment,this.log(`Loading ${e.type} sn: ${e.sn} part: ${v.index} (${g}/${p.length-1}) of ${this.fragInfo(e,!1,v)}) cc: ${e.cc} [${r.startSN}-${r.endSN}], target: ${parseFloat(i.toFixed(3))}`),this.nextLoadPosition=v.start+v.duration,this.state=le.FRAG_LOADING;let T;return a?T=a.then(y=>!y||this.fragContextChanged(y.frag)?null:this.doFragPartsLoad(e,v,t,s)).catch(y=>this.handleFragLoadError(y)):T=this.doFragPartsLoad(e,v,t,s).catch(y=>this.handleFragLoadError(y)),this.hls.trigger(C.FRAG_LOADING,{frag:e,part:v,targetBufferTime:i}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):T;}else if(!e.url||this.loadedEndOfParts(p,i))return Promise.resolve(null);}}if($t(e)&&this.loadingParts){var c;this.log(`LL-Part loading OFF after next part miss @${i.toFixed(2)} Check buffer at sn: ${e.sn} loaded parts: ${(c=r.partList)==null?void 0:c.filter(p=>p.loaded).map(p=>`[${p.start}-${p.end}]`)}`),this.loadingParts=!1;}else if(!e.url)return Promise.resolve(null);this.log(`Loading ${e.type} sn: ${e.sn} of ${this.fragInfo(e,!1)}) cc: ${e.cc} ${"["+r.startSN+"-"+r.endSN+"]"}, target: ${parseFloat(i.toFixed(3))}`),Ie(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=le.FRAG_LOADING;let u=this.config.progressive&&e.type!==Me.SUBTITLE,f;return u&&a?f=a.then(p=>!p||this.fragContextChanged(p.frag)?null:this.fragmentLoader.load(e,s)).catch(p=>this.handleFragLoadError(p)):f=Promise.all([this.fragmentLoader.load(e,u?s:void 0),a]).then(([p])=>(!u&&s&&s(p),p)).catch(p=>this.handleFragLoadError(p)),this.hls.trigger(C.FRAG_LOADING,{frag:e,targetBufferTime:i}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):f;}doFragPartsLoad(e,t,i,s){return new Promise((n,r)=>{var a;let l=[],c=(a=i.details)==null?void 0:a.partList,u=f=>{this.fragmentLoader.loadPart(e,f,s).then(p=>{l[f.index]=p;let g=p.part;this.hls.trigger(C.FRAG_LOADED,p);let v=Rv(i.details,e.sn,f.index+1)||y_(c,e.sn,f.index+1);if(v)u(v);else return n({frag:e,part:g,partsLoaded:l});}).catch(r);};u(t);});}handleFragLoadError(e){if("data"in e){let t=e.data;t.frag&&t.details===Z.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):t.frag&&t.type===Fe.KEY_SYSTEM_ERROR?(t.frag.abortRequests(),this.resetStartWhenNotLoaded(),this.resetFragmentLoading(t.frag)):this.hls.trigger(C.ERROR,t);}else this.hls.trigger(C.ERROR,{type:Fe.OTHER_ERROR,details:Z.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null;}_handleTransmuxerFlush(e){let t=this.getCurrentContext(e);if(!t||this.state!==le.PARSING){!this.fragCurrent&&this.state!==le.STOPPED&&this.state!==le.ERROR&&(this.state=le.IDLE);return;}let{frag:i,part:s,level:n}=t,r=self.performance.now();i.stats.parsing.end=r,s&&(s.stats.parsing.end=r);let a=this.getLevelDetails(),l=a&&i.sn>a.endSN||this.shouldLoadParts(a,i.end);l!==this.loadingParts&&(this.log(`LL-Part loading ${l?"ON":"OFF"} after parsing segment ending @${i.end.toFixed(2)}`),this.loadingParts=l),this.updateLevelTiming(i,s,n,e.partial);}shouldLoadParts(e,t){if(this.config.lowLatencyMode){if(!e)return this.loadingParts;if(e.partList){var i;let n=e.partList[0];if(n.fragment.type===Me.SUBTITLE)return!1;if(t>=n.end+(((i=e.fragmentHint)==null?void 0:i.duration)||0)){var s;if((this.hls.hasEnoughToStart?((s=this.media)==null?void 0:s.currentTime)||this.lastCurrentTime:this.getLoadPosition())>n.start-n.fragment.duration)return!0;}}}return!1;}getCurrentContext(e){let{levels:t,fragCurrent:i}=this,{level:s,sn:n,part:r}=e;if(!(t!=null&&t[s]))return this.warn(`Levels object was unset while buffering fragment ${n} of ${this.playlistLabel()} ${s}. The current chunk will not be buffered.`),null;let a=t[s],l=a.details,c=r>-1?Rv(l,n,r):null,u=c?c.fragment:v_(l,n,i);return u?(i&&i!==u&&(u.stats=i.stats),{frag:u,part:c,level:a}):null;}bufferFragmentData(e,t,i,s,n){if(this.state!==le.PARSING)return;let{data1:r,data2:a}=e,l=r;if(a&&(l=ns(r,a)),!l.length)return;let c=this.initPTS[t.cc],u=c?-c.baseTime/c.timescale:void 0,f={type:e.type,frag:t,part:i,chunkMeta:s,offset:u,parent:t.type,data:l};if(this.hls.trigger(C.BUFFER_APPENDING,f),e.dropped&&e.independent&&!i){if(n)return;this.flushBufferGap(t);}}flushBufferGap(e){let t=this.media;if(!t)return;if(!et.isBuffered(t,t.currentTime)){this.flushMainBuffer(0,e.start);return;}let i=t.currentTime,s=et.bufferInfo(t,i,0),n=e.duration,r=Math.min(this.config.maxFragLookUpTolerance*2,n*.25),a=Math.max(Math.min(e.start-r,s.end-r),i+r);e.start-a>r&&this.flushMainBuffer(a,e.start);}getFwdBufferInfo(e,t){var i;let s=this.getLoadPosition();if(!Ie(s))return null;let n=this.lastCurrentTime>s||(i=this.media)!=null&&i.paused?0:this.config.maxBufferHole;return this.getFwdBufferInfoAtPos(e,s,t,n);}getFwdBufferInfoAtPos(e,t,i,s){let n=et.bufferInfo(e,t,s);if(n.len===0&&n.nextStart!==void 0){let r=this.fragmentTracker.getBufferedFrag(t,i);if(r&&(n.nextStart<=r.end||r.gap)){let a=Math.max(Math.min(n.nextStart,r.end)-t,s);return et.bufferInfo(e,t,a);}}return n;}
228getMaxBufferLength(e){let{config:t}=this,i;return e?i=Math.max(8*t.maxBufferSize/e,t.maxBufferLength):i=t.maxBufferLength,Math.min(i,t.maxMaxBufferLength);}exceedsMaxBuffer(e,t,i){let s=e.nextStart;if(s&&i.start>s){let n=e.buffered;if(n){let r=e.len,a=e.bufferedIndex;for(let l=n.length-1;l>a;l--)n[l].start<i.start&&(r+=n[l].end-n[l].start);return r>=t;}}return!1;}reduceMaxBufferLength(e,t){let i=this.config,s=Math.max(Math.min(e-t,i.maxBufferLength),t),n=Math.max(e-t*3,i.maxMaxBufferLength/2,s);return n>=s?(i.maxMaxBufferLength=n,this.warn(`Reduce max buffer length to ${n}s`),!0):!1;}getAppendedFrag(e,t=Me.MAIN){let i=this.fragmentTracker?this.fragmentTracker.getAppendedFrag(e,t):null;return i&&"fragment"in i?i.fragment:i;}getNextFragment(e,t){let i=t.fragments,s=i.length;if(!s)return null;let{config:n}=this,r=t.fragmentStart,a=n.lowLatencyMode&&!!t.partList,l=null;if(t.live){let f=n.initialLiveManifestSize;if(s<f)return this.warn(`Not enough fragments to start playback (have: ${s}, need: ${f})`),null;if(!t.PTSKnown&&!this.startFragRequested&&this.startPosition===-1||e<r){var c;a&&!this.loadingParts&&(this.log("LL-Part loading ON for initial live fragment"),this.loadingParts=!0),l=this.getInitialLiveFragment(t);let p=this.config.startPosition,g=this.hls.startPosition,v=this.hls.liveSyncPosition,T=((c=l)==null?void 0:c.start)||0,y,A;g!==-1&&g>=r?(y=g,A=g===p?"config":"next load start"):v!==null?(y=v,A="live edge"):(y=e,A="buffer pos"),y<T&&(y=T,A="live frag start"),y<r&&(y=r,A="playlist start"),(this.startPosition!=y||this.nextLoadPosition!=y)&&(this.log(`Setting startPosition to ${y.toFixed(3)} ${g===-1?"":`(from ${p}) `}based on ${A}. live edge: ${v} live frag start: ${T.toFixed(3)} playlist start: ${r.toFixed(3)} buffer pos: ${e}`),this.startPosition=this.nextLoadPosition=y);}}else e<=r&&(l=i[0]);if(!l){let f=this.loadingParts?t.partEnd:t.fragmentEnd;l=this.getFragmentAtPosition(e,f,t);}let u=this.filterReplacedPrimary(l,t);if(!u&&l){let f=l.sn-t.startSN;u=this.filterReplacedPrimary(i[f+1]||null,t);}return this.mapToInitFragWhenRequired(u);}isLoopLoading(e,t){if(this.nextLoadPosition<=t)return!1;let i=this.fragmentTracker.getState(e);return i===Xt.OK||i===Xt.PARTIAL&&!!e.gap;}getNextFragmentLoopLoading(e,t,i,s,n){let r=null;if(e.gap&&(r=this.getNextFragment(this.nextLoadPosition,t),r&&!r.gap&&i.nextStart)){let a=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,i.nextStart,s,0);if(a!==null&&i.len+a.len>=n){let l=r.sn;return this.loopSn!==l&&(this.log(`buffer full after gaps in "${s}" playlist starting at sn: ${l}`),this.loopSn=l),null;}}return this.loopSn=void 0,r;}get primaryPrefetch(){if(Mv(this.config)){var e;if(!((e=this.hls.interstitialsManager)==null||(e=e.playingItem)==null)&&e.event)return!0;}return!1;}filterReplacedPrimary(e,t){if(!e)return e;if(Mv(this.config)&&e.type!==Me.SUBTITLE){let i=this.hls.interstitialsManager,s=i?.bufferingItem;if(s){let r=s.event;if(r){if(r.appendInPlace||Math.abs(e.start-s.start)>1||s.start===0)return null;}else if(e.end<=s.start&&t?.live===!1||e.start>s.end&&s.nextEvent&&(s.nextEvent.appendInPlace||e.start-s.end>1))return null;}let n=i?.playerQueue;if(n)for(let r=n.length;r--;){let a=n[r].interstitial;if(a.appendInPlace&&e.start>=a.startTime&&e.end<=a.resumeTime)return null;}}return e;}mapToInitFragWhenRequired(e){return e!=null&&e.initSegment&&!e.initSegment.data&&!this.bitrateTest?e.initSegment:e;}getNextPart(e,t,i){let s=-1,n=!1,r=!0;for(let a=0,l=e.length;a<l;a++){let c=e[a];if(r=r&&!c.independent,s>-1&&i<c.start)break;let u=c.loaded;u?s=-1:(n||(c.independent||r)&&c.fragment===t)&&(c.fragment!==t&&this.warn(`Need buffer at ${i} but next unloaded part starts at ${c.start}`),s=a),n=u;}return s;}loadedEndOfParts(e,t){let i;for(let s=e.length;s--;){if(i=e[s],!i.loaded)return!1;if(t>i.start)return!0;}return!1;}getInitialLiveFragment(e){let t=e.fragments,i=this.fragPrevious,s=null;if(i){if(e.hasProgramDateTime&&(s=ow(t,i.endProgramDateTime,this.config.maxFragLookUpTolerance),s&&this.log(`Live playlist, switching playlist, load frag with same PDT: ${i.programDateTime}`)),!s){let n=i.sn+1;if(n>=e.startSN&&n<=e.endSN){let r=t[n-e.startSN];i.cc===r.cc&&(s=r,this.log(`Live playlist, switching playlist, load frag with next SN: ${s.sn}`));}s||(s=i_(e,i.cc,i.end),s&&this.log(`Live playlist, switching playlist, load frag with same CC: ${s.sn}`));}}else{let n=this.hls.liveSyncPosition;n!==null&&(s=this.getFragmentAtPosition(n,this.bitrateTest?e.fragmentEnd:e.edge,e));}return s;}getFragmentAtPosition(e,t,i){let{config:s}=this,{fragPrevious:n}=this,{fragments:r,endSN:a}=i,{fragmentHint:l}=i,{maxFragLookUpTolerance:c}=s,u=i.partList,f=!!(this.loadingParts&&u!=null&&u.length&&l);f&&!this.bitrateTest&&u[u.length-1].fragment.sn===l.sn&&(r=r.concat(l),a=l.sn);let p;if(e<t){var g;let v=e<this.lastCurrentTime||e>t-c||(g=this.media)!=null&&g.paused||!this.startFragRequested?0:c;p=yr(n,r,e,v);}else p=r[r.length-1];if(p){let v=p.sn-i.startSN,T=this.fragmentTracker.getState(p);
vendor: 116,888 bytes, lines 228-237
228if((T===Xt.OK||T===Xt.PARTIAL&&p.gap)&&(n=p),n&&p.sn===n.sn&&(!f||u[0].fragment.sn>p.sn||!i.live)&&p.level===n.level){let y=r[v+1];p.sn<a&&this.fragmentTracker.getState(y)!==Xt.OK?p=y:p=null;}}return p;}alignPlaylists(e,t,i){let s=e.fragments.length;if(!s)return this.warn("No fragments in live playlist"),0;let n=e.fragmentStart,r=!t,a=e.alignedSliding&&Ie(n);if(r||!a&&!n){Hw(i,e);let l=e.fragmentStart;return this.log(`Live playlist sliding: ${l.toFixed(2)} start-sn: ${t?t.startSN:"na"}->${e.startSN} fragments: ${s}`),l;}return n;}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,e.partTarget*3);}setStartPosition(e,t){let i=this.startPosition;i<t&&(i=-1);let s=this.timelineOffset;if(i===-1){let n=this.startTimeOffset!==null,r=n?this.startTimeOffset:e.startTimeOffset;r!==null&&Ie(r)?(i=t+r,r<0&&(i+=e.edge),i=Math.min(Math.max(t,i),t+e.totalduration),this.log(`Setting startPosition to ${i} for start time offset ${r} found in ${n?"multivariant":"media"} playlist`),this.startPosition=i):e.live?(i=this.hls.liveSyncPosition||t,this.log(`Setting startPosition to -1 to start at live edge ${i}`),this.startPosition=-1):(this.log("setting startPosition to 0 by default"),this.startPosition=i=0),this.lastCurrentTime=i+s;}this.nextLoadPosition=i+s;}getLoadPosition(){var e;let{media:t}=this,i=0;return(e=this.hls)!=null&&e.hasEnoughToStart&&t?i=t.currentTime:this.nextLoadPosition>=0&&(i=this.nextLoadPosition),i;}handleFragLoadAborted(e,t){this.transmuxer&&e.type===this.playlistType&&$t(e)&&e.stats.aborted&&(this.log(`Fragment ${e.sn}${t?" part "+t.index:""} of ${this.playlistLabel()} ${e.level} was aborted`),this.resetFragmentLoading(e));}resetFragmentLoading(e){(!this.fragCurrent||!this.fragContextChanged(e)&&this.state!==le.FRAG_LOADING_WAITING_RETRY)&&(this.state=le.IDLE);}onFragmentOrKeyLoadError(e,t){var i;if(t.chunkMeta&&!t.frag){let A=this.getCurrentContext(t.chunkMeta);A&&(t.frag=A.frag);}let s=t.frag;if(!s||s.type!==e||!this.levels)return;if(this.fragContextChanged(s)){var n;this.warn(`Frag load error must match current frag to retry ${s.url} > ${(n=this.fragCurrent)==null?void 0:n.url}`);return;}let r=t.details===Z.FRAG_GAP;r&&this.fragmentTracker.fragBuffered(s,!0);let a=t.errorAction;if(!a){this.state=le.ERROR;return;}let{action:l,flags:c,retryCount:u=0,retryConfig:f}=a,p=!!f,g=p&&l===ri.RetryRequest,v=p&&!a.resolved&&c===zi.MoveAllAlternatesMatchingHost,T=(i=this.hls.latestLevelDetails)==null?void 0:i.live;if(!g&&v&&$t(s)&&!s.endList&&T&&!n_(t))this.resetFragmentErrors(e),this.treatAsGap(s),a.resolved=!0;else if((g||v)&&u<f.maxNumRetry){var y;let A=uh((y=t.response)==null?void 0:y.code),I=Kh(f,u);if(this.resetStartWhenNotLoaded(),this.retryDate=self.performance.now()+I,this.state=le.FRAG_LOADING_WAITING_RETRY,a.resolved=!0,A){this.log("Waiting for connection (offline)"),this.retryDate=1/0,t.reason="offline";return;}this.warn(`Fragment ${s.sn} of ${e} ${s.level} errored with ${t.details}, retrying loading ${u+1}/${f.maxNumRetry} in ${I}ms`);}else if(f){if(this.resetFragmentErrors(e),u<f.maxNumRetry)!r&&l!==ri.RemoveAlternatePermanently&&(a.resolved=!0);else{this.warn(`${t.details} reached or exceeded max retry (${u})`);return;}}else l===ri.SendAlternateToPenaltyBox?this.state=le.WAITING_LEVEL:this.state=le.ERROR;this.tickImmediate();}checkRetryDate(){let e=self.performance.now(),t=this.retryDate,i=t===1/0;(!t||e>=t||i&&!uh(0))&&(i&&this.log("Connection restored (online)"),this.resetStartWhenNotLoaded(),this.state=le.IDLE);}reduceLengthAndFlushBuffer(e){if(this.state===le.PARSING||this.state===le.PARSED){let t=e.frag,i=e.parent,s=this.getFwdBufferInfo(this.mediaBuffer,i),n=s&&s.len>.5;n&&this.reduceMaxBufferLength(s.len,t?.duration||10);let r=!n;return r&&this.warn(`Buffer full error while media.currentTime (${this.getLoadPosition()}) is not buffered, flush ${i} buffer`),t&&(this.fragmentTracker.removeFragment(t),this.nextLoadPosition=t.start),this.resetLoadingState(),r;}return!1;}resetFragmentErrors(e){e===Me.AUDIO&&(this.fragCurrent=null),this.hls.hasEnoughToStart||(this.startFragRequested=!1),this.state!==le.STOPPED&&(this.state=le.IDLE);}afterBufferFlushed(e,t,i){if(!e)return;let s=et.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,s,i),this.state===le.ENDED&&this.resetLoadingState();}resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state!==le.STOPPED&&(this.state=le.IDLE);}resetStartWhenNotLoaded(){if(!this.hls.hasEnoughToStart){this.startFragRequested=!1;let e=this.levelLastLoaded,t=e?e.details:null;t!=null&&t.live?(this.log("resetting startPosition for live start"),this.startPosition=-1,this.setStartPosition(t,t.fragmentStart),this.resetLoadingState()):this.nextLoadPosition=this.startPosition;}}resetWhenMissingContext(e){this.log(`Loading context changed while buffering sn ${e.sn} of ${this.playlistLabel()} ${e.level===-1?"<removed>":e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(),this.resetLoadingState();}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0);}updateLevelTiming(e,t,i,s){let n=i.details;if(!n){this.warn("level.details undefined");return;}if(!Object.keys(e.elementaryStreams).reduce((a,l)=>{let c=e.elementaryStreams[l];if(c){let u=c.endPTS-c.startPTS;if(u<=0)return this.warn(`Could not parse fragment ${e.sn} ${l} duration reliably (${u})`),a||!1;let f=s?0:p_(n,e,c.startPTS,c.endPTS,c.startDTS,c.endDTS,this);return this.hls.trigger(C.LEVEL_PTS_UPDATED,{details:n,level:i,drift:f,type:l,frag:e,start:c.startPTS,end:c.endPTS}),!0;}return a;},!1)){var r;let a=((r=this.transmuxer)==null?void 0:r.error)===null;if((i.fragmentError===0||a&&(i.fragmentError<2||e.endList))&&this.treatAsGap(e,i),a){let l=new Error(`Found no media in fragment ${e.sn} of ${this.playlistLabel()} ${e.level} resetting transmuxer to fallback to playlist timing`);if(this.warn(l.message),this.hls.trigger(C.ERROR,{type:Fe.MEDIA_ERROR,details:Z.FRAG_PARSING_ERROR,fatal:!1,error:l,frag:e,reason:`Found no media in msn ${e.sn} of ${this.playlistLabel()} "${i.url}"`}),!this.hls)return;this.resetTransmuxer();}}this.state=le.PARSED,this.log(`Parsed ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.fragInfo(e,!1,t)})`),this.hls.trigger(C.FRAG_PARSED,{frag:e,part:t});}playlistLabel(){return this.playlistType===Me.MAIN?"level":"track";}fragInfo(e,t=!0,i){var s,n;return`${this.playlistLabel()} ${e.level} (${i?"part":"frag"}:[${((s=t&&!i?e.startPTS:(i||e).start)!=null?s:NaN).toFixed(3)}-${((n=t&&!i?e.endPTS:(i||e).end)!=null?n:NaN).toFixed(3)}]${i&&e.type==="main"?"INDEPENDENT="+(i.independent?"YES":"NO"):""}`;}treatAsGap(e,t){t&&t.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0);}resetTransmuxer(){var e;(e=this.transmuxer)==null||e.reset();}recoverWorkerError(e){e.event==="demuxerWorker"&&(this.fragmentTracker.removeAllFragments(),this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null),this.resetStartWhenNotLoaded(),this.resetLoadingState());}set state(e){let t=this._state;t!==e&&(this._state=e,this.log(`${t}->${e}`));}get state(){return this._state;}};function Mv(e){return!!e.interstitialsController&&e.enableInterstitialPlayback!==!1;}var E_=class{constructor(){this.chunks=[],this.dataLength=0;}push(e){this.chunks.push(e),this.dataLength+=e.length;}flush(){let{chunks:e,dataLength:t}=this,i;if(e.length)e.length===1?i=e[0]:i=Gw(e,t);else return new Uint8Array(0);return this.reset(),i;}reset(){this.chunks.length=0,this.dataLength=0;}};function Gw(e,t){let i=new Uint8Array(t),s=0;for(let n=0;n<e.length;n++){let r=e[n];i.set(r,s),s+=r.length;}return i;}var uu={exports:{}},Ov;function Ww(){return Ov||(Ov=1,function(e){var t=Object.prototype.hasOwnProperty,i="~";function s(){}Object.create&&(s.prototype=Object.create(null),new s().__proto__||(i=!1));function n(c,u,f){this.fn=c,this.context=u,this.once=f||!1;}function r(c,u,f,p,g){if(typeof f!="function")throw new TypeError("The listener must be a function");var v=new n(f,p||c,g),T=i?i+u:u;return c._events[T]?c._events[T].fn?c._events[T]=[c._events[T],v]:c._events[T].push(v):(c._events[T]=v,c._eventsCount++),c;}function a(c,u){--c._eventsCount===0?c._events=new s():delete c._events[u];}function l(){this._events=new s(),this._eventsCount=0;}l.prototype.eventNames=function(){var u=[],f,p;if(this._eventsCount===0)return u;for(p in f=this._events)t.call(f,p)&&u.push(i?p.slice(1):p);return Object.getOwnPropertySymbols?u.concat(Object.getOwnPropertySymbols(f)):u;},l.prototype.listeners=function(u){var f=i?i+u:u,p=this._events[f];if(!p)return[];if(p.fn)return[p.fn];for(var g=0,v=p.length,T=new Array(v);g<v;g++)T[g]=p[g].fn;return T;},l.prototype.listenerCount=function(u){var f=i?i+u:u,p=this._events[f];return p?p.fn?1:p.length:0;},l.prototype.emit=function(u,f,p,g,v,T){var y=i?i+u:u;if(!this._events[y])return!1;var A=this._events[y],I=arguments.length,P,k;if(A.fn){switch(A.once&&this.removeListener(u,A.fn,void 0,!0),I){case 1:return A.fn.call(A.context),!0;case 2:return A.fn.call(A.context,f),!0;case 3:return A.fn.call(A.context,f,p),!0;case 4:return A.fn.call(A.context,f,p,g),!0;case 5:return A.fn.call(A.context,f,p,g,v),!0;case 6:return A.fn.call(A.context,f,p,g,v,T),!0;}for(k=1,P=new Array(I-1);k<I;k++)P[k-1]=arguments[k];A.fn.apply(A.context,P);}else{var w=A.length,R;for(k=0;k<w;k++)switch(A[k].once&&this.removeListener(u,A[k].fn,void 0,!0),I){case 1:A[k].fn.call(A[k].context);break;case 2:A[k].fn.call(A[k].context,f);break;case 3:A[k].fn.call(A[k].context,f,p);break;case 4:A[k].fn.call(A[k].context,f,p,g);break;default:if(!P)for(R=1,P=new Array(I-1);R<I;R++)P[R-1]=arguments[R];A[k].fn.apply(A[k].context,P);}}return!0;},l.prototype.on=function(u,f,p){return r(this,u,f,p,!1);},l.prototype.once=function(u,f,p){return r(this,u,f,p,!0);},l.prototype.removeListener=function(u,f,p,g){var v=i?i+u:u;if(!this._events[v])return this;if(!f)return a(this,v),this;var T=this._events[v];if(T.fn)T.fn===f&&(!g||T.once)&&(!p||T.context===p)&&a(this,v);else{for(var y=0,A=[],I=T.length;y<I;y++)(T[y].fn!==f||g&&!T[y].once||p&&T[y].context!==p)&&A.push(T[y]);A.length?this._events[v]=A.length===1?A[0]:A:a(this,v);}return this;},l.prototype.removeAllListeners=function(u){var f;return u?(f=i?i+u:u,this._events[f]&&a(this,f)):(this._events=new s(),this._eventsCount=0),this;},l.prototype.off=l.prototype.removeListener,l.prototype.addListener=l.prototype.on,l.prefixed=i,l.EventEmitter=l,e.exports=l;}(uu)),uu.exports;}var ef=y2(Ww()),va="1.6.16",bo={};function qw(){return typeof __HLS_WORKER_BUNDLE__=="function";}function Kw(){let e=bo[va];if(e)return e.clientCount++,e;let t=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),i=self.URL.createObjectURL(t),s={worker:new self.Worker(i),objectURL:i,clientCount:1};return bo[va]=s,s;}function Yw(e){let t=bo[e];if(t)return t.clientCount++,t;let i=new self.URL(e,self.location.href).href,s={worker:new self.Worker(i),scriptURL:i,clientCount:1};return bo[e]=s,s;}function Xw(e){let t=bo[e||va];if(t&&t.clientCount--===1){let{worker:i,objectURL:s}=t;delete bo[e||va],s&&self.URL.revokeObjectURL(s),i.terminate();}}function C_(e,t){return t+10<=e.length&&e[t]===51&&e[t+1]===68&&e[t+2]===73&&e[t+3]<255&&e[t+4]<255&&e[t+6]<128&&e[t+7]<128&&e[t+8]<128&&e[t+9]<128;}function tf(e,t){return t+10<=e.length&&e[t]===73&&e[t+1]===68&&e[t+2]===51&&e[t+3]<255&&e[t+4]<255&&e[t+6]<128&&e[t+7]<128&&e[t+8]<128&&e[t+9]<128;}function rc(e,t){let i=0;return i=(e[t]&127)<<21,i|=(e[t+1]&127)<<14,i|=(e[t+2]&127)<<7,i|=e[t+3]&127,i;}function ya(e,t){let i=t,s=0;for(;tf(e,t);){s+=10;let n=rc(e,t+6);s+=n,C_(e,t+10)&&(s+=10),t+=s;}if(s>0)return e.subarray(i,i+s);}function Qw(e,t,i,s){let n=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],r=t[i+2],a=r>>2&15;if(a>12){let v=new Error(`invalid ADTS sampling index:${a}`);e.emit(C.ERROR,C.ERROR,{type:Fe.MEDIA_ERROR,details:Z.FRAG_PARSING_ERROR,fatal:!0,error:v,reason:v.message});return;}let l=(r>>6&3)+1,c=t[i+3]>>6&3|(r&1)<<2,u="mp4a.40."+l,f=n[a],p=a;(l===5||l===29)&&(p-=3);let g=[l<<3|(p&14)>>1,(p&1)<<7|c<<3];return _t.log(`manifest codec:${s}, parsed codec:${u}, channels:${c}, rate:${f} (ADTS object type:${l} sampling index:${a})`),{config:g,samplerate:f,channelCount:c,codec:u,parsedCodec:u,manifestCodec:s};}function S_(e,t){return e[t]===255&&(e[t+1]&246)===240;}function w_(e,t){return e[t+1]&1?7:9;}function sf(e,t){return(e[t+3]&3)<<11|e[t+4]<<3|(e[t+5]&224)>>>5;}function Jw(e,t){return t+5<e.length;}function Wd(e,t){return t+1<e.length&&S_(e,t);}function Zw(e,t){return Jw(e,t)&&S_(e,t)&&sf(e,t)<=e.length-t;}function eA(e,t){if(Wd(e,t)){let i=w_(e,t);if(t+i>=e.length)return!1;let s=sf(e,t);if(s<=i)return!1;let n=t+s;return n===e.length||Wd(e,n);}return!1;}function A_(e,t,i,s,n){if(!e.samplerate){let r=Qw(t,i,s,n);if(!r)return;St(e,r);}}function I_(e){return 1024*9e4/e;}function tA(e,t){let i=w_(e,t);if(t+i<=e.length){let s=sf(e,t)-i;if(s>0)return{headerLength:i,frameLength:s};}}function k_(e,t,i,s,n){let r=s+n*I_(e.samplerate),a=tA(t,i),l;if(a){let{frameLength:u,headerLength:f}=a,p=f+u,g=Math.max(0,i+p-t.length);g?(l=new Uint8Array(p-f),l.set(t.subarray(i+f,t.length),0)):l=t.subarray(i+f,i+p);let v={unit:l,pts:r};return g||e.samples.push(v),{sample:v,length:p,missing:g};}let c=t.length-i;return l=new Uint8Array(c),l.set(t.subarray(i,t.length),0),{sample:{unit:l,pts:r},length:c,missing:-1};}function iA(e,t){return tf(e,t)&&rc(e,t+6)+10<=e.length-t;}function sA(e){return e instanceof ArrayBuffer?e:e.byteOffset==0&&e.byteLength==e.buffer.byteLength?e.buffer:new Uint8Array(e).buffer;}function hu(e,t=0,i=1/0){return nA(e,t,i,Uint8Array);}function nA(e,t,i,s){let n=rA(e),r=1;"BYTES_PER_ELEMENT"in s&&(r=s.BYTES_PER_ELEMENT);let a=oA(e)?e.byteOffset:0,l=(a+e.byteLength)/r,c=(a+t)/r,u=Math.floor(Math.max(0,Math.min(c,l)));return new s(n,u,Math.floor(Math.min(u+Math.max(i,0),l))-u);}function rA(e){return e instanceof ArrayBuffer?e:e.buffer;}function oA(e){return e&&e.buffer instanceof ArrayBuffer&&e.byteLength!==void 0&&e.byteOffset!==void 0;}function aA(e){let t={key:e.type,description:"",data:"",mimeType:null,pictureType:null},i=3;if(e.size<2)return;if(e.data[0]!==i){console.log("Ignore frame with unrecognized character encoding");return;}let s=e.data.subarray(1).indexOf(0);if(s===-1)return;let n=Ki(hu(e.data,1,s)),r=e.data[2+s],a=e.data.subarray(3+s).indexOf(0);if(a===-1)return;let l=Ki(hu(e.data,3+s,a)),c;return n==="-->"?c=Ki(hu(e.data,4+s+a)):c=sA(e.data.subarray(4+s+a)),t.mimeType=n,t.pictureType=r,t.description=l,t.data=c,t;}function lA(e){if(e.size<2)return;let t=Ki(e.data,!0),i=new Uint8Array(e.data.subarray(t.length+1));return{key:e.type,info:t,data:i.buffer};}function dA(e){if(e.size<2)return;if(e.type==="TXXX"){let i=1,s=Ki(e.data.subarray(i),!0);i+=s.length+1;let n=Ki(e.data.subarray(i));return{key:e.type,info:s,data:n};}let t=Ki(e.data.subarray(1));return{key:e.type,info:"",data:t};}function cA(e){if(e.type==="WXXX"){if(e.size<2)return;let i=1,s=Ki(e.data.subarray(i),!0);i+=s.length+1;let n=Ki(e.data.subarray(i));return{key:e.type,info:s,data:n};}let t=Ki(e.data);return{key:e.type,info:"",data:t};}function uA(e){return e.type==="PRIV"?lA(e):e.type[0]==="W"?cA(e):e.type==="APIC"?aA(e):dA(e);}function hA(e){let t=String.fromCharCode(e[0],e[1],e[2],e[3]),i=rc(e,4),s=10;return{type:t,size:i,data:e.subarray(s,s+i)};}var Kl=10,fA=10;function P_(e){let t=0,i=[];for(;tf(e,t);){let s=rc(e,t+6);e[t+5]>>6&1&&(t+=Kl),t+=Kl;let n=t+s;for(;t+fA<n;){let r=hA(e.subarray(t)),a=uA(r);a&&i.push(a),t+=r.size+Kl;}C_(e,t)&&(t+=Kl);}return i;}function R_(e){return e&&e.key==="PRIV"&&e.info==="com.apple.streaming.transportStreamTimestamp";}function pA(e){if(e.data.byteLength===8){let t=new Uint8Array(e.data),i=t[3]&1,s=(t[4]<<23)+(t[5]<<15)+(t[6]<<7)+t[7];return s/=45,i&&(s+=4772185884e-2),Math.round(s);}}function nf(e){let t=P_(e);for(let i=0;i<t.length;i++){let s=t[i];if(R_(s))return pA(s);}}var Wi=function(e){return e.audioId3="org.id3",e.dateRange="com.apple.quicktime.HLS",e.emsg="https://aomedia.org/emsg/ID3",e.misbklv="urn:misb:KLV:bin:1910.1",e;}({});function Ms(e="",t=9e4){return{type:e,id:-1,pid:-1,inputTimeScale:t,sequenceNumber:-1,samples:[],dropped:0};}var rf=class{constructor(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null;}resetInitSegment(e,t,i,s){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0};}resetTimeStamp(e){this.initPTS=e,this.resetContiguity();}resetContiguity(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0;}canParse(e,t){return!1;}appendFrame(e,t,i){}demux(e,t){this.cachedData&&(e=ns(this.cachedData,e),this.cachedData=null);let i=ya(e,0),s=i?i.length:0,n,r=this._audioTrack,a=this._id3Track,l=i?nf(i):void 0,c=e.length;for((this.basePTS===null||this.frameIndex===0&&Ie(l))&&(this.basePTS=mA(l,t,this.initPTS),this.lastPTS=this.basePTS),this.lastPTS===null&&(this.lastPTS=this.basePTS),i&&i.length>0&&a.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:Wi.audioId3,duration:Number.POSITIVE_INFINITY});s<c;){if(this.canParse(e,s)){let u=this.appendFrame(r,e,s);u?(this.frameIndex++,this.lastPTS=u.sample.pts,s+=u.length,n=s):s=c;}else iA(e,s)?(i=ya(e,s),a.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:Wi.audioId3,duration:Number.POSITIVE_INFINITY}),s+=i.length,n=s):s++;if(s===c&&n!==c){let u=e.slice(n);this.cachedData?this.cachedData=ns(this.cachedData,u):this.cachedData=u;}}return{audioTrack:r,videoTrack:Ms(),id3Track:a,textTrack:Ms()};}demuxSampleAes(e,t,i){return Promise.reject(new Error(`[${this}] This demuxer does not support Sample-AES decryption`));}flush(e){let t=this.cachedData;return t&&(this.cachedData=null,this.demux(t,0)),{audioTrack:this._audioTrack,videoTrack:Ms(),id3Track:this._id3Track,textTrack:Ms()};}destroy(){this.cachedData=null,this._audioTrack=this._id3Track=void 0;}},mA=(e,t,i)=>{if(Ie(e))return e*90;let s=i?i.baseTime*9e4/i.timescale:0;return t*9e4+s;},Yl=null,gA=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],vA=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],yA=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],_A=[0,1,1,4];function x_(e,t,i,s,n){if(i+24>t.length)return;let r=L_(t,i);if(r&&i+r.frameLength<=t.length){let a=s+n*(r.samplesPerFrame*9e4/r.sampleRate),l={unit:t.subarray(i,i+r.frameLength),pts:a,dts:a};return e.config=[],e.channelCount=r.channelCount,e.samplerate=r.sampleRate,e.samples.push(l),{sample:l,length:r.frameLength,missing:0};}}function L_(e,t){let i=e[t+1]>>3&3,s=e[t+1]>>1&3,n=e[t+2]>>4&15,r=e[t+2]>>2&3;if(i!==1&&n!==0&&n!==15&&r!==3){let a=e[t+2]>>1&1,l=e[t+3]>>6,c=gA[(i===3?3-s:s===3?3:4)*14+n-1]*1e3,u=vA[(i===3?0:i===2?1:2)*3+r],f=l===3?1:2,p=yA[i][s],g=_A[s],v=p*8*g,T=Math.floor(p*c/u+a)*g;if(Yl===null){let y=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);Yl=y?parseInt(y[1]):0;}return Yl&&Yl<=87&&s===2&&c>=224e3&&l===0&&(e[t+3]=e[t+3]|128),{sampleRate:u,channelCount:f,frameLength:T,samplesPerFrame:v};}}function of(e,t){return e[t]===255&&(e[t+1]&224)===224&&(e[t+1]&6)!==0;}function M_(e,t){return t+1<e.length&&of(e,t);}function bA(e,t){return of(e,t)&&4<=e.length-t;}function O_(e,t){if(t+1<e.length&&of(e,t)){let s=L_(e,t),n=4;s!=null&&s.frameLength&&(n=s.frameLength);let r=t+n;return r===e.length||M_(e,r);}return!1;}var TA=class extends rf{constructor(e,t){super(),this.observer=void 0,this.config=void 0,this.observer=e,this.config=t;}resetInitSegment(e,t,i,s){super.resetInitSegment(e,t,i,s),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0};}static probe(e,t){if(!e)return!1;let i=ya(e,0),s=i?.length||0;if(O_(e,s))return!1;for(let n=e.length;s<n;s++)if(eA(e,s))return t.log("ADTS sync word found !"),!0;return!1;}canParse(e,t){return Zw(e,t);}appendFrame(e,t,i){A_(e,this.observer,t,i,e.manifestCodec);let s=k_(e,t,i,this.basePTS,this.frameIndex);if(s&&s.missing===0)return s;}},D_=(e,t)=>{let i=0,s=5;t+=s;let n=new Uint32Array(1),r=new Uint32Array(1),a=new Uint8Array(1);for(;s>0;){a[0]=e[t];let l=Math.min(s,8),c=8-l;r[0]=4278190080>>>24+c<<c,n[0]=(a[0]&r[0])>>c,i=i?i<<l|n[0]:n[0],t+=1,s-=l;}return i;},EA=class extends rf{constructor(e){super(),this.observer=void 0,this.observer=e;}resetInitSegment(e,t,i,s){super.resetInitSegment(e,t,i,s),this._audioTrack={container:"audio/ac-3",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"ac3",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0};}canParse(e,t){return t+64<e.length;}appendFrame(e,t,i){let s=j_(e,t,i,this.basePTS,this.frameIndex);if(s!==-1)return{sample:e.samples[e.samples.length-1],length:s,missing:0};}static probe(e){if(!e)return!1;let t=ya(e,0);if(!t)return!1;let i=t.length;return e[i]===11&&e[i+1]===119&&nf(t)!==void 0&&D_(e,i)<16;}};function j_(e,t,i,s,n){if(i+8>t.length||t[i]!==11||t[i+1]!==119)return-1;let r=t[i+4]>>6;if(r>=3)return-1;let a=[48e3,44100,32e3][r],l=t[i+4]&63,c=[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][l*3+r]*2;if(i+c>t.length)return-1;let u=t[i+6]>>5,f=0;u===2?f+=2:(u&1&&u!==1&&(f+=2),u&4&&(f+=2));let p=(t[i+6]<<8|t[i+7])>>12-f&1,g=[2,1,2,3,3,4,4,5][u]+p,v=t[i+5]>>3,T=t[i+5]&7,y=new Uint8Array([r<<6|v<<1|T>>2,(T&3)<<6|u<<3|p<<2|l>>4,l<<4&224]),A=s+n*(1536/a*9e4),I=t.subarray(i,i+c);return e.config=y,e.channelCount=g,e.samplerate=a,e.samples.push({unit:I,pts:A}),c;}var CA=class extends rf{resetInitSegment(e,t,i,s){super.resetInitSegment(e,t,i,s),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0};}static probe(e){if(!e)return!1;let t=ya(e,0),i=t?.length||0;if(t&&e[i]===11&&e[i+1]===119&&nf(t)!==void 0&&D_(e,i)<=16)return!1;for(let s=e.length;i<s;i++)if(O_(e,i))return _t.log("MPEG Audio sync word found !"),!0;return!1;}canParse(e,t){return bA(e,t);}appendFrame(e,t,i){if(this.basePTS!==null)return x_(e,t,i,this.basePTS,this.frameIndex);}},SA=/\/emsg[-/]ID3/i,wA=class{constructor(e,t){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=t;}resetTimeStamp(){}resetInitSegment(e,t,i,s){let n=this.videoTrack=Ms("video",1),r=this.audioTrack=Ms("audio",1),a=this.txtTrack=Ms("text",1);if(this.id3Track=Ms("id3",1),this.timeOffset=0,!(e!=null&&e.byteLength))return;let l=Gy(e);if(l.video){let{id:c,timescale:u,codec:f,supplemental:p}=l.video;n.id=c,n.timescale=a.timescale=u,n.codec=f,n.supplemental=p;}if(l.audio){let{id:c,timescale:u,codec:f}=l.audio;r.id=c,r.timescale=u,r.codec=f;}a.id=$y.text,n.sampleDuration=0,n.duration=r.duration=s;}resetContiguity(){this.remainderData=null;}static probe(e){return C2(e);}demux(e,t){this.timeOffset=t;let i=e,s=this.videoTrack,n=this.txtTrack;if(this.config.progressive){this.remainderData&&(i=ns(this.remainderData,e));let a=R2(i);this.remainderData=a.remainder,s.samples=a.valid||new Uint8Array();}else s.samples=i;let r=this.extractID3Track(s,t);return n.samples=Jg(t,s),{videoTrack:s,audioTrack:this.audioTrack,id3Track:r,textTrack:this.txtTrack};}flush(){let e=this.timeOffset,t=this.videoTrack,i=this.txtTrack;t.samples=this.remainderData||new Uint8Array(),this.remainderData=null;let s=this.extractID3Track(t,this.timeOffset);return i.samples=Jg(e,t),{videoTrack:t,audioTrack:Ms(),id3Track:s,textTrack:Ms()};}extractID3Track(e,t){let i=this.id3Track;if(e.samples.length){let s=Ze(e.samples,["emsg"]);s&&s.forEach(n=>{let r=L2(n);if(SA.test(r.schemeIdUri)){let a=Dv(r,t),l=r.eventDuration===4294967295?Number.POSITIVE_INFINITY:r.eventDuration/r.timeScale;l<=.001&&(l=Number.POSITIVE_INFINITY);let c=r.payload;i.samples.push({data:c,len:c.byteLength,dts:a,pts:a,type:Wi.emsg,duration:l});}else if(this.config.enableEmsgKLVMetadata&&r.schemeIdUri.startsWith("urn:misb:KLV:bin:1910.1")){let a=Dv(r,t);i.samples.push({data:r.payload,len:r.payload.byteLength,dts:a,pts:a,type:Wi.misbklv,duration:Number.POSITIVE_INFINITY});}});}return i;}demuxSampleAes(e,t,i){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"));}destroy(){this.config=null,this.remainderData=null,this.videoTrack=this.audioTrack=this.id3Track=this.txtTrack=void 0;}};function Dv(e,t){return Ie(e.presentationTime)?e.presentationTime/e.timeScale:t+e.presentationTimeDelta/e.timeScale;}var AA=class{constructor(e,t,i){this.keyData=void 0,this.decrypter=void 0,this.keyData=i,this.decrypter=new Yh(t,{removePKCS7Padding:!1});}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer,Vn.cbc);}decryptAacSample(e,t,i){let s=e[t].unit;if(s.length<=16)return;let n=s.subarray(16,s.length-s.length%16),r=n.buffer.slice(n.byteOffset,n.byteOffset+n.length);this.decryptBuffer(r).then(a=>{let l=new Uint8Array(a);s.set(l,16),this.decrypter.isSync()||this.decryptAacSamples(e,t+1,i);}).catch(i);}decryptAacSamples(e,t,i){for(;;t++){if(t>=e.length){i();return;}if(!(e[t].unit.length<32)&&(this.decryptAacSample(e,t,i),!this.decrypter.isSync()))return;}}getAvcEncryptedData(e){let t=Math.floor((e.length-48)/160)*16+16,i=new Int8Array(t),s=0;for(let n=32;n<e.length-16;n+=160,s+=16)i.set(e.subarray(n,n+16),s);return i;}getAvcDecryptedUnit(e,t){let i=new Uint8Array(t),s=0;for(let n=32;n<e.length-16;n+=160,s+=16)e.set(i.subarray(s,s+16),n);return e;}decryptAvcSample(e,t,i,s,n){let r=Ky(n.data),a=this.getAvcEncryptedData(r);this.decryptBuffer(a.buffer).then(l=>{n.data=this.getAvcDecryptedUnit(r,l),this.decrypter.isSync()||this.decryptAvcSamples(e,t,i+1,s);}).catch(s);}decryptAvcSamples(e,t,i,s){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,i=0){if(t>=e.length){s();return;}let n=e[t].units;for(;!(i>=n.length);i++){let r=n[i];if(!(r.data.length<=48||r.type!==1&&r.type!==5)&&(this.decryptAvcSample(e,t,i,s,r),!this.decrypter.isSync()))return;}}}},N_=class{constructor(){this.VideoSample=null;}createVideoSample(e,t,i){return{key:e,frame:!1,pts:t,dts:i,units:[],length:0};}getLastNalUnit(e){var t;let i=this.VideoSample,s;if((!i||i.units.length===0)&&(i=e[e.length-1]),(t=i)!=null&&t.units){let n=i.units;s=n[n.length-1];}return s;}pushAccessUnit(e,t){if(e.units.length&&e.frame){if(e.pts===void 0){let i=t.samples,s=i.length;if(s){let n=i[s-1];e.pts=n.pts,e.dts=n.dts;}else{t.dropped++;return;}}t.samples.push(e);}}parseNALu(e,t,i){let s=t.byteLength,n=e.naluState||0,r=n,a=[],l=0,c,u,f,p=-1,g=0;for(n===-1&&(p=0,g=this.getNALuType(t,0),n=0,l=1);l<s;){if(c=t[l++],!n){n=c?0:1;continue;}if(n===1){n=c?0:2;continue;}if(!c)n=3;else if(c===1){if(u=l-n-1,p>=0){let v={data:t.subarray(p,u),type:g};a.push(v);}else{let v=this.getLastNalUnit(e.samples);v&&(r&&l<=4-r&&v.state&&(v.data=v.data.subarray(0,v.data.byteLength-r)),u>0&&(v.data=ns(v.data,t.subarray(0,u)),v.state=0));}l<s?(f=this.getNALuType(t,l),p=l,g=f,n=0):n=-1;}else n=0;}if(p>=0&&n>=0){let v={data:t.subarray(p,s),type:g,state:n};a.push(v);}if(a.length===0){let v=this.getLastNalUnit(e.samples);v&&(v.data=ns(v.data,t));}return e.naluState=n,a;}},ua=class{constructor(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0;}loadWord(){let e=this.data,t=this.bytesAvailable,i=e.byteLength-t,s=new Uint8Array(4),n=Math.min(4,t);if(n===0)throw new Error("no bytes available");s.set(e.subarray(i,i+n)),this.word=new DataView(s.buffer).getUint32(0),this.bitsAvailable=n*8,this.bytesAvailable-=n;}skipBits(e){let t;e=Math.min(e,this.bytesAvailable*8+this.bitsAvailable),this.bitsAvailable>e?(this.word<<=e,this.bitsAvailable-=e):(e-=this.bitsAvailable,t=e>>3,e-=t<<3,this.bytesAvailable-=t,this.loadWord(),this.word<<=e,this.bitsAvailable-=e);}readBits(e){let t=Math.min(this.bitsAvailable,e),i=this.word>>>32-t;if(e>32&&_t.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=t,this.bitsAvailable>0)this.word<<=t;else if(this.bytesAvailable>0)this.loadWord();else throw new Error("no bits available");return t=e-t,t>0&&this.bitsAvailable?i<<t|this.readBits(t):i;}skipLZ(){let e;for(e=0;e<this.bitsAvailable;++e)if((this.word&2147483648>>>e)!==0)return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ();}skipUEG(){this.skipBits(1+this.skipLZ());}skipEG(){this.skipBits(1+this.skipLZ());}readUEG(){let e=this.skipLZ();return this.readBits(e+1)-1;}readEG(){let e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1);}readBoolean(){return this.readBits(1)===1;}readUByte(){return this.readBits(8);}readUShort(){return this.readBits(16);}readUInt(){return this.readBits(32);}},IA=class extends N_{parsePES(e,t,i,s){let n=this.parseNALu(e,i.data,s),r=this.VideoSample,a,l=!1;i.data=null,r&&n.length&&!e.audFound&&(this.pushAccessUnit(r,e),r=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts)),n.forEach(c=>{var u,f;switch(c.type){case 1:{let T=!1;a=!0;let y=c.data;if(l&&y.length>4){let A=this.readSliceType(y);(A===2||A===4||A===7||A===9)&&(T=!0);}if(T){var p;(p=r)!=null&&p.frame&&!r.key&&(this.pushAccessUnit(r,e),r=this.VideoSample=null);}r||(r=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),r.frame=!0,r.key=T;break;}case 5:a=!0,(u=r)!=null&&u.frame&&!r.key&&(this.pushAccessUnit(r,e),r=this.VideoSample=null),r||(r=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),r.key=!0,r.frame=!0;break;case 6:a=!0,Gh(c.data,1,i.pts,t.samples);break;case 7:{var g,v;a=!0,l=!0;let T=c.data,y=this.readSPS(T);if(!e.sps||e.width!==y.width||e.height!==y.height||((g=e.pixelRatio)==null?void 0:g[0])!==y.pixelRatio[0]||((v=e.pixelRatio)==null?void 0:v[1])!==y.pixelRatio[1]){e.width=y.width,e.height=y.height,e.pixelRatio=y.pixelRatio,e.sps=[T];let A=T.subarray(1,4),I="avc1.";for(let P=0;P<3;P++){let k=A[P].toString(16);k.length<2&&(k="0"+k),I+=k;}e.codec=I;}break;}case 8:a=!0,e.pps=[c.data];break;case 9:a=!0,e.audFound=!0,(f=r)!=null&&f.frame&&(this.pushAccessUnit(r,e),r=null),r||(r=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts));break;case 12:a=!0;break;default:a=!1;break;}r&&a&&r.units.push(c);}),s&&r&&(this.pushAccessUnit(r,e),this.VideoSample=null);}getNALuType(e,t){return e[t]&31;}readSliceType(e){let t=new ua(e);return t.readUByte(),t.readUEG(),t.readUEG();}skipScalingList(e,t){let i=8,s=8,n;for(let r=0;r<e;r++)s!==0&&(n=t.readEG(),s=(i+n+256)%256),i=s===0?i:s;}readSPS(e){let t=new ua(e),i=0,s=0,n=0,r=0,a,l,c,u=t.readUByte.bind(t),f=t.readBits.bind(t),p=t.readUEG.bind(t),g=t.readBoolean.bind(t),v=t.skipBits.bind(t),T=t.skipEG.bind(t),y=t.skipUEG.bind(t),A=this.skipScalingList.bind(this);u();let I=u();if(f(5),v(3),u(),y(),I===100||I===110||I===122||I===244||I===44||I===83||I===86||I===118||I===128){let D=p();if(D===3&&v(1),y(),y(),v(1),g())for(l=D!==3?8:12,c=0;c<l;c++)g()&&(c<6?A(16,t):A(64,t));}y();let P=p();if(P===0)p();else if(P===1)for(v(1),T(),T(),a=p(),c=0;c<a;c++)T();y(),v(1);let k=p(),w=p(),R=f(1);R===0&&v(1),v(1),g()&&(i=p(),s=p(),n=p(),r=p());let x=[1,1];if(g()&&g())switch(u()){case 1:x=[1,1];break;case 2:x=[12,11];break;case 3:x=[10,11];break;case 4:x=[16,11];break;case 5:x=[40,33];break;case 6:x=[24,11];break;case 7:x=[20,11];break;case 8:x=[32,11];break;case 9:x=[80,33];break;case 10:x=[18,11];break;case 11:x=[15,11];break;case 12:x=[64,33];break;case 13:x=[160,99];break;case 14:x=[4,3];break;case 15:x=[3,2];break;case 16:x=[2,1];break;case 255:x=[u()<<8|u(),u()<<8|u()];break;}return{width:Math.ceil((k+1)*16-i*2-s*2),height:(2-R)*(w+1)*16-(R?2:4)*(n+r),pixelRatio:x};}},kA=class extends N_{constructor(...e){super(...e),this.initVPS=null;}parsePES(e,t,i,s){let n=this.parseNALu(e,i.data,s),r=this.VideoSample,a,l=!1;i.data=null,r&&n.length&&!e.audFound&&(this.pushAccessUnit(r,e),r=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts)),n.forEach(c=>{var u,f;switch(c.type){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:r||(r=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts)),r.frame=!0,a=!0;break;case 16:case 17:case 18:case 21:if(a=!0,l){var p;(p=r)!=null&&p.frame&&!r.key&&(this.pushAccessUnit(r,e),r=this.VideoSample=null);}r||(r=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),r.key=!0,r.frame=!0;break;case 19:case 20:a=!0,(u=r)!=null&&u.frame&&!r.key&&(this.pushAccessUnit(r,e),r=this.VideoSample=null),r||(r=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),r.key=!0,r.frame=!0;break;case 39:a=!0,Gh(c.data,2,i.pts,t.samples);break;case 32:a=!0,e.vps||(typeof e.params!="object"&&(e.params={}),e.params=St(e.params,this.readVPS(c.data)),this.initVPS=c.data),e.vps=[c.data];break;case 33:if(a=!0,l=!0,e.vps!==void 0&&e.vps[0]!==this.initVPS&&e.sps!==void 0&&!this.matchSPS(e.sps[0],c.data)&&(this.initVPS=e.vps[0],e.sps=e.pps=void 0),!e.sps){let g=this.readSPS(c.data);e.width=g.width,e.height=g.height,e.pixelRatio=g.pixelRatio,e.codec=g.codecString,e.sps=[],typeof e.params!="object"&&(e.params={});for(let v in g.params)e.params[v]=g.params[v];}this.pushParameterSet(e.sps,c.data,e.vps),r||(r=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),r.key=!0;break;case 34:if(a=!0,typeof e.params=="object"){if(!e.pps){e.pps=[];let g=this.readPPS(c.data);for(let v in g)e.params[v]=g[v];}this.pushParameterSet(e.pps,c.data,e.vps);}break;case 35:a=!0,e.audFound=!0,(f=r)!=null&&f.frame&&(this.pushAccessUnit(r,e),r=null),r||(r=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts));break;default:a=!1;break;}r&&a&&r.units.push(c);}),s&&r&&(this.pushAccessUnit(r,e),this.VideoSample=null);}pushParameterSet(e,t,i){(i&&i[0]===this.initVPS||!i&&!e.length)&&e.push(t);}getNALuType(e,t){return(e[t]&126)>>>1;}ebsp2rbsp(e){let t=new Uint8Array(e.byteLength),i=0;for(let s=0;s<e.byteLength;s++)s>=2&&e[s]===3&&e[s-1]===0&&e[s-2]===0||(t[i]=e[s],i++);return new Uint8Array(t.buffer,0,i);}pushAccessUnit(e,t){super.pushAccessUnit(e,t),this.initVPS&&(this.initVPS=null);}readVPS(e){let t=new ua(e);t.readUByte(),t.readUByte(),t.readBits(4),t.skipBits(2),t.readBits(6);let i=t.readBits(3),s=t.readBoolean();return{numTemporalLayers:i+1,temporalIdNested:s};}readSPS(e){let t=new ua(this.ebsp2rbsp(e));t.readUByte(),t.readUByte(),t.readBits(4);let i=t.readBits(3);t.readBoolean();let s=t.readBits(2),n=t.readBoolean(),r=t.readBits(5),a=t.readUByte(),l=t.readUByte(),c=t.readUByte(),u=t.readUByte(),f=t.readUByte(),p=t.readUByte(),g=t.readUByte(),v=t.readUByte(),T=t.readUByte(),y=t.readUByte(),A=t.readUByte(),I=[],P=[];for(let Ne=0;Ne<i;Ne++)I.push(t.readBoolean()),P.push(t.readBoolean());if(i>0)for(let Ne=i;Ne<8;Ne++)t.readBits(2);for(let Ne=0;Ne<i;Ne++)I[Ne]&&(t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte()),P[Ne]&&t.readUByte();t.readUEG();let k=t.readUEG();k==3&&t.skipBits(1);let w=t.readUEG(),R=t.readUEG(),x=t.readBoolean(),D=0,O=0,V=0,$=0;x&&(D+=t.readUEG(),O+=t.readUEG(),V+=t.readUEG(),$+=t.readUEG());let N=t.readUEG(),F=t.readUEG(),K=t.readUEG(),re=t.readBoolean();for(let Ne=re?0:i;Ne<=i;Ne++)t.skipUEG(),t.skipUEG(),t.skipUEG();if(t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG(),t.readBoolean()&&t.readBoolean())for(let Ne=0;Ne<4;Ne++)for(let Xe=0;Xe<(Ne===3?2:6);Xe++)if(!t.readBoolean())t.readUEG();else{let tt=Math.min(64,1<<4+(Ne<<1));Ne>1&&t.readEG();for(let bt=0;bt<tt;bt++)t.readEG();}t.readBoolean(),t.readBoolean(),t.readBoolean()&&(t.readUByte(),t.skipUEG(),t.skipUEG(),t.readBoolean());let oe=t.readUEG(),J=0;for(let Ne=0;Ne<oe;Ne++){let Xe=!1;if(Ne!==0&&(Xe=t.readBoolean()),Xe){Ne===oe&&t.readUEG(),t.readBoolean(),t.readUEG();let tt=0;for(let bt=0;bt<=J;bt++){let Bt=t.readBoolean(),qt=!1;Bt||(qt=t.readBoolean()),(Bt||qt)&&tt++;}J=tt;}else{let tt=t.readUEG(),bt=t.readUEG();J=tt+bt;for(let Bt=0;Bt<tt;Bt++)t.readUEG(),t.readBoolean();for(let Bt=0;Bt<bt;Bt++)t.readUEG(),t.readBoolean();}}if(t.readBoolean()){let Ne=t.readUEG();for(let Xe=0;Xe<Ne;Xe++){for(let tt=0;tt<K+4;tt++)t.readBits(1);t.readBits(1);}}let ge=0,q=1,G=1,ne=!0,he=1,ce=0;t.readBoolean(),t.readBoolean();let ie=!1;if(t.readBoolean()){if(t.readBoolean()){let Ne=t.readUByte(),Xe=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],tt=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1];Ne>0&&Ne<16?(q=Xe[Ne-1],G=tt[Ne-1]):Ne===255&&(q=t.readBits(16),G=t.readBits(16));}if(t.readBoolean()&&t.readBoolean(),t.readBoolean()&&(t.readBits(3),t.readBoolean(),t.readBoolean()&&(t.readUByte(),t.readUByte(),t.readUByte())),t.readBoolean()&&(t.readUEG(),t.readUEG()),t.readBoolean(),t.readBoolean(),t.readBoolean(),ie=t.readBoolean(),ie&&(t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG()),t.readBoolean()&&(he=t.readBits(32),ce=t.readBits(32),t.readBoolean()&&t.readUEG(),t.readBoolean())){let Ne=t.readBoolean(),Xe=t.readBoolean(),tt=!1;(Ne||Xe)&&(tt=t.readBoolean(),tt&&(t.readUByte(),t.readBits(5),t.readBoolean(),t.readBits(5)),t.readBits(4),t.readBits(4),tt&&t.readBits(4),t.readBits(5),t.readBits(5),t.readBits(5));for(let bt=0;bt<=i;bt++){ne=t.readBoolean();let Bt=ne||t.readBoolean(),qt=!1;Bt?t.readEG():qt=t.readBoolean();let Jt=qt?1:t.readUEG()+1;if(Ne)for(let Ut=0;Ut<Jt;Ut++)t.readUEG(),t.readUEG(),tt&&(t.readUEG(),t.readUEG()),t.skipBits(1);if(Xe)for(let Ut=0;Ut<Jt;Ut++)t.readUEG(),t.readUEG(),tt&&(t.readUEG(),t.readUEG()),t.skipBits(1);}}t.readBoolean()&&(t.readBoolean(),t.readBoolean(),t.readBoolean(),ge=t.readUEG());}let Ce=w,Re=R;if(x){let Ne=1,Xe=1;k===1?Ne=Xe=2:k==2&&(Ne=2),Ce=w-Ne*O-Ne*D,Re=R-Xe*$-Xe*V;}let Ge=s?["A","B","C"][s]:"",$e=a<<24|l<<16|c<<8|u,lt=0;for(let Ne=0;Ne<32;Ne++)lt=(lt|($e>>Ne&1)<<31-Ne)>>>0;let ft=lt.toString(16);return r===1&&ft==="2"&&(ft="6"),{codecString:`hvc1.${Ge}${r}.${ft}.${n?"H":"L"}${A}.B0`,params:{general_tier_flag:n,general_profile_idc:r,general_profile_space:s,general_profile_compatibility_flags:[a,l,c,u],general_constraint_indicator_flags:[f,p,g,v,T,y],general_level_idc:A,bit_depth:N+8,bit_depth_luma_minus8:N,bit_depth_chroma_minus8:F,min_spatial_segmentation_idc:ge,chroma_format_idc:k,frame_rate:{fixed:ne,fps:ce/he}},width:Ce,height:Re,pixelRatio:[q,G]};}readPPS(e){let t=new ua(this.ebsp2rbsp(e));t.readUByte(),t.readUByte(),t.skipUEG(),t.skipUEG(),t.skipBits(2),t.skipBits(3),t.skipBits(2),t.skipUEG(),t.skipUEG(),t.skipEG(),t.skipBits(2),t.readBoolean()&&t.skipUEG(),t.skipEG(),t.skipEG(),t.skipBits(4);let i=t.readBoolean(),s=t.readBoolean(),n=1;return s&&i?n=0:s?n=3:i&&(n=2),{parallelismType:n};}matchSPS(e,t){return String.fromCharCode.apply(null,e).substr(3)===String.fromCharCode.apply(null,t).substr(3);}},ni=188,PA=class cr{constructor(t,i,s,n){this.logger=void 0,this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=t,this.config=i,this.typeSupported=s,this.logger=n,this.videoParser=null;}static probe(t,i){let s=cr.syncOffset(t);return s>0&&i.warn(`MPEG2-TS detected but first sync word found @ offset ${s}`),s!==-1;}static syncOffset(t){let i=t.length,s=Math.min(ni*5,i-ni)+1,n=0;for(;n<s;){let r=!1,a=-1,l=0;for(let c=n;c<i;c+=ni)if(t[c]===71&&(i-c===ni||t[c+ni]===71)){if(l++,a===-1&&(a=c,a!==0&&(s=Math.min(a+ni*99,t.length-ni)+1)),r||(r=gh(t,c)===0),r&&l>1&&(a===0&&l>2||c+ni>s))return a;}else{if(l)return-1;break;}n++;}return-1;}static createTrack(t,i){return{container:t==="video"||t==="audio"?"video/mp2t":void 0,type:t,id:$y[t],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:t==="audio"?i:void 0};}resetInitSegment(t,i,s,n){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=cr.createTrack("video"),this._videoTrack.duration=n,this._audioTrack=cr.createTrack("audio",n),this._id3Track=cr.createTrack("id3"),this._txtTrack=cr.createTrack("text"),this._audioTrack.segmentCodec="aac",this.videoParser=null,this.aacOverFlow=null,this.remainderData=null,this.audioCodec=i,this.videoCodec=s;}resetTimeStamp(){}resetContiguity(){let{_audioTrack:t,_videoTrack:i,_id3Track:s}=this;t&&(t.pesData=null),i&&(i.pesData=null),s&&(s.pesData=null),this.aacOverFlow=null,this.remainderData=null;}demux(t,i,s=!1,n=!1){s||(this.sampleAes=null);let r,a=this._videoTrack,l=this._audioTrack,c=this._id3Track,u=this._txtTrack,f=a.pid,p=a.pesData,g=l.pid,v=c.pid,T=l.pesData,y=c.pesData,A=null,I=this.pmtParsed,P=this._pmtId,k=t.length;if(this.remainderData&&(t=ns(this.remainderData,t),k=t.length,this.remainderData=null),k<ni&&!n)return this.remainderData=t,{audioTrack:l,videoTrack:a,id3Track:c,textTrack:u};let w=Math.max(0,cr.syncOffset(t));k-=(k-w)%ni,k<t.byteLength&&!n&&(this.remainderData=new Uint8Array(t.buffer,k,t.buffer.byteLength-k));let R=0;for(let D=w;D<k;D+=ni)if(t[D]===71){let O=!!(t[D+1]&64),V=gh(t,D),$=(t[D+3]&48)>>4,N;if($>1){if(N=D+5+t[D+4],N===D+ni)continue;}else N=D+4;switch(V){case f:O&&(p&&(r=Xr(p,this.logger))&&(this.readyVideoParser(a.segmentCodec),this.videoParser!==null&&this.videoParser.parsePES(a,u,r,!1)),p={data:[],size:0}),p&&(p.data.push(t.subarray(N,D+ni)),p.size+=D+ni-N);break;case g:if(O){if(T&&(r=Xr(T,this.logger)))switch(l.segmentCodec){case"aac":this.parseAACPES(l,r);break;case"mp3":this.parseMPEGPES(l,r);break;case"ac3":this.parseAC3PES(l,r);break;}T={data:[],size:0};}T&&(T.data.push(t.subarray(N,D+ni)),T.size+=D+ni-N);break;case v:O&&(y&&(r=Xr(y,this.logger))&&this.parseID3PES(c,r),y={data:[],size:0}),y&&(y.data.push(t.subarray(N,D+ni)),y.size+=D+ni-N);break;case 0:O&&(N+=t[N]+1),P=this._pmtId=RA(t,N);break;case P:{O&&(N+=t[N]+1);let F=xA(t,N,this.typeSupported,s,this.observer,this.logger);f=F.videoPid,f>0&&(a.pid=f,a.segmentCodec=F.segmentVideoCodec),g=F.audioPid,g>0&&(l.pid=g,l.segmentCodec=F.segmentAudioCodec),v=F.id3Pid,v>0&&(c.pid=v),A!==null&&!I&&(this.logger.warn(`MPEG-TS PMT found at ${D} after unknown PID '${A}'. Backtracking to sync byte @${w} to parse all TS packets.`),A=null,D=w-188),I=this.pmtParsed=!0;break;}case 17:case 8191:break;default:A=V;break;}}else R++;R>0&&vh(this.observer,new Error(`Found ${R} TS packet/s that do not start with 0x47`),void 0,this.logger),a.pesData=p,l.pesData=T,c.pesData=y;let x={audioTrack:l,videoTrack:a,id3Track:c,textTrack:u};return n&&this.extractRemainingSamples(x),x;}flush(){let{remainderData:t}=this;this.remainderData=null;let i;return t?i=this.demux(t,-1,!1,!0):i={videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(i),this.sampleAes?this.decrypt(i,this.sampleAes):i;}extractRemainingSamples(t){let{audioTrack:i,videoTrack:s,id3Track:n,textTrack:r}=t,a=s.pesData,l=i.pesData,c=n.pesData,u;if(a&&(u=Xr(a,this.logger))?(this.readyVideoParser(s.segmentCodec),this.videoParser!==null&&(this.videoParser.parsePES(s,r,u,!0),s.pesData=null)):s.pesData=a,l&&(u=Xr(l,this.logger))){switch(i.segmentCodec){case"aac":this.parseAACPES(i,u);break;case"mp3":this.parseMPEGPES(i,u);break;case"ac3":this.parseAC3PES(i,u);break;}i.pesData=null;}else l!=null&&l.size&&this.logger.log("last AAC PES packet truncated,might overlap between fragments"),i.pesData=l;c&&(u=Xr(c,this.logger))?(this.parseID3PES(n,u),n.pesData=null):n.pesData=c;}demuxSampleAes(t,i,s){let n=this.demux(t,s,!0,!this.config.progressive),r=this.sampleAes=new AA(this.observer,this.config,i);return this.decrypt(n,r);}readyVideoParser(t){this.videoParser===null&&(t==="avc"?this.videoParser=new IA():t==="hevc"&&(this.videoParser=new kA()));}decrypt(t,i){return new Promise(s=>{let{audioTrack:n,videoTrack:r}=t;n.samples&&n.segmentCodec==="aac"?i.decryptAacSamples(n.samples,0,()=>{r.samples?i.decryptAvcSamples(r.samples,0,0,()=>{s(t);}):s(t);}):r.samples&&i.decryptAvcSamples(r.samples,0,0,()=>{s(t);});});}destroy(){this.observer&&this.observer.removeAllListeners(),this.config=this.logger=this.observer=null,this.aacOverFlow=this.videoParser=this.remainderData=this.sampleAes=null,this._videoTrack=this._audioTrack=this._id3Track=this._txtTrack=void 0;}parseAACPES(t,i){let s=0,n=this.aacOverFlow,r=i.data;if(n){this.aacOverFlow=null;let p=n.missing,g=n.sample.unit.byteLength;if(p===-1)r=ns(n.sample.unit,r);else{let v=g-p;n.sample.unit.set(r.subarray(0,p),v),t.samples.push(n.sample),s=n.missing;}}let a,l;for(a=s,l=r.length;a<l-1&&!Wd(r,a);a++);if(a!==s){let p,g=a<l-1;if(g?p=`AAC PES did not start with ADTS header,offset:${a}`:p="No ADTS header found in AAC PES",vh(this.observer,new Error(p),g,this.logger),!g)return;}A_(t,this.observer,r,a,this.audioCodec);let c;if(i.pts!==void 0)c=i.pts;else if(n){let p=I_(t.samplerate);c=n.sample.pts+p;}else{this.logger.warn("[tsdemuxer]: AAC PES unknown PTS");return;}let u=0,f;for(;a<l;)if(f=k_(t,r,a,c,u),a+=f.length,f.missing){this.aacOverFlow=f;break;}else for(u++;a<l-1&&!Wd(r,a);a++);}parseMPEGPES(t,i){let s=i.data,n=s.length,r=0,a=0,l=i.pts;if(l===void 0){this.logger.warn("[tsdemuxer]: MPEG PES unknown PTS");return;}for(;a<n;)if(M_(s,a)){let c=x_(t,s,a,l,r);if(c)a+=c.length,r++;else break;}else a++;}parseAC3PES(t,i){{let s=i.data,n=i.pts;if(n===void 0){this.logger.warn("[tsdemuxer]: AC3 PES unknown PTS");return;}let r=s.length,a=0,l=0,c;for(;l<r&&(c=j_(t,s,l,n,a++))>0;)l+=c;}}parseID3PES(t,i){if(i.pts===void 0){this.logger.warn("[tsdemuxer]: ID3 PES unknown PTS");return;}let s=St({},i,{type:this._videoTrack?Wi.emsg:Wi.audioId3,duration:Number.POSITIVE_INFINITY});t.samples.push(s);}};function gh(e,t){return((e[t+1]&31)<<8)+e[t+2];}function RA(e,t){return(e[t+10]&31)<<8|e[t+11];}function xA(e,t,i,s,n,r){let a={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},l=(e[t+1]&15)<<8|e[t+2],c=t+3+l-4,u=(e[t+10]&15)<<8|e[t+11];for(t+=12+u;t<c;){let f=gh(e,t),p=(e[t+3]&15)<<8|e[t+4];switch(e[t]){case 207:if(!s){fu("ADTS AAC",r);break;}case 15:a.audioPid===-1&&(a.audioPid=f);break;case 21:a.id3Pid===-1&&(a.id3Pid=f);break;case 219:if(!s){fu("H.264",r);break;}case 27:a.videoPid===-1&&(a.videoPid=f);break;case 3:case 4:!i.mpeg&&!i.mp3?r.log("MPEG audio found, not supported in this browser"):a.audioPid===-1&&(a.audioPid=f,a.segmentAudioCodec="mp3");break;case 193:if(!s){fu("AC-3",r);break;}case 129:i.ac3?a.audioPid===-1&&(a.audioPid=f,a.segmentAudioCodec="ac3"):r.log("AC-3 audio found, not supported in this browser");break;case 6:if(a.audioPid===-1&&p>0){let g=t+5,v=p;for(;v>2;){e[g]===106&&(i.ac3!==!0?r.log("AC-3 audio found, not supported in this browser for now"):(a.audioPid=f,a.segmentAudioCodec="ac3"));let T=e[g+1]+2;g+=T,v-=T;}}break;case 194:case 135:return vh(n,new Error("Unsupported EC-3 in M2TS found"),void 0,r),a;case 36:a.videoPid===-1&&(a.videoPid=f,a.segmentVideoCodec="hevc",r.log("HEVC in M2TS found"));break;}t+=p+5;}return a;}function vh(e,t,i,s){s.warn(`parsing error: ${t.message}`),e.emit(C.ERROR,C.ERROR,{type:Fe.MEDIA_ERROR,details:Z.FRAG_PARSING_ERROR,fatal:!1,levelRetry:i,error:t,reason:t.message});}function fu(e,t){t.log(`${e} with AES-128-CBC encryption found in unencrypted stream`);}function Xr(e,t){let i=0,s,n,r,a,l,c=e.data;if(!e||e.size===0)return null;for(;c[0].length<19&&c.length>1;)c[0]=ns(c[0],c[1]),c.splice(1,1);if(s=c[0],(s[0]<<16)+(s[1]<<8)+s[2]===1){if(n=(s[4]<<8)+s[5],n&&n>e.size-6)return null;let u=s[7];u&192&&(a=(s[9]&14)*536870912+(s[10]&255)*4194304+(s[11]&254)*16384+(s[12]&255)*128+(s[13]&254)/2,u&64?(l=(s[14]&14)*536870912+(s[15]&255)*4194304+(s[16]&254)*16384+(s[17]&255)*128+(s[18]&254)/2,a-l>60*9e4&&(t.warn(`${Math.round((a-l)/9e4)}s delta between PTS and DTS, align them`),a=l)):l=a),r=s[8];let f=r+9;if(e.size<=f)return null;e.size-=f;let p=new Uint8Array(e.size);for(let g=0,v=c.length;g<v;g++){s=c[g];let T=s.byteLength;if(f)if(f>T){f-=T;continue;}else s=s.subarray(f),T-=f,f=0;p.set(s,i),i+=T;}return n&&(n-=r+3),{data:p,pts:a,dts:l,len:n};}return null;}var LA=class{static getSilentFrame(e,t){switch(e){case"mp4a.40.2":if(t===1)return new Uint8Array([0,200,0,128,35,128]);if(t===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(t===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(t===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(t===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(t===6)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224]);break;default:if(t===1)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===2)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===3)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);break;}}},wn=Math.pow(2,32)-1,Qr=(()=>{let e=class ee{static init(){ee.types={avc1:[],avcC:[],hvc1:[],hvcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]};let i;for(i in ee.types)ee.types.hasOwnProperty(i)&&(ee.types[i]=[i.charCodeAt(0),i.charCodeAt(1),i.charCodeAt(2),i.charCodeAt(3)]);ee.HDLR_TYPES={video:new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),audio:new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0])};let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]);ee.STTS=ee.STSC=ee.STCO=new Uint8Array([0,0,0,0,0,0,0,0]),ee.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),ee.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),ee.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),ee.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);let n=new Uint8Array([105,115,111,109]),r=new Uint8Array([97,118,99,49]),a=new Uint8Array([0,0,0,1]);ee.FTYP=ee.box(ee.types.ftyp,n,a,n,r),ee.DINF=ee.box(ee.types.dinf,ee.box(ee.types.dref,s));}static box(i,...s){let n=8,r=s.length,a=r;for(;r--;)n+=s[r].byteLength;let l=new Uint8Array(n);for(l[0]=n>>24&255,l[1]=n>>16&255,l[2]=n>>8&255,l[3]=n&255,l.set(i,4),r=0,n=8;r<a;r++)l.set(s[r],n),n+=s[r].byteLength;return l;}static hdlr(i){return ee.box(ee.types.hdlr,ee.HDLR_TYPES[i]);}static mdat(i){return ee.box(ee.types.mdat,i);}static mdhd(i,s){s*=i;let n=Math.floor(s/(wn+1)),r=Math.floor(s%(wn+1));return ee.box(ee.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,i>>24&255,i>>16&255,i>>8&255,i&255,n>>24,n>>16&255,n>>8&255,n&255,r>>24,r>>16&255,r>>8&255,r&255,85,196,0,0]));}static mdia(i){return ee.box(ee.types.mdia,ee.mdhd(i.timescale||0,i.duration||0),ee.hdlr(i.type),ee.minf(i));}static mfhd(i){return ee.box(ee.types.mfhd,new Uint8Array([0,0,0,0,i>>24,i>>16&255,i>>8&255,i&255]));}static minf(i){return i.type==="audio"?ee.box(ee.types.minf,ee.box(ee.types.smhd,ee.SMHD),ee.DINF,ee.stbl(i)):ee.box(ee.types.minf,ee.box(ee.types.vmhd,ee.VMHD),ee.DINF,ee.stbl(i));}static moof(i,s,n){return ee.box(ee.types.moof,ee.mfhd(i),ee.traf(n,s));}static moov(i){let s=i.length,n=[];for(;s--;)n[s]=ee.trak(i[s]);return ee.box.apply(null,[ee.types.moov,ee.mvhd(i[0].timescale||0,i[0].duration||0)].concat(n).concat(ee.mvex(i)));}static mvex(i){let s=i.length,n=[];for(;s--;)n[s]=ee.trex(i[s]);return ee.box.apply(null,[ee.types.mvex,...n]);}static mvhd(i,s){s*=i;let n=Math.floor(s/(wn+1)),r=Math.floor(s%(wn+1)),a=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,i>>24&255,i>>16&255,i>>8&255,i&255,n>>24,n>>16&255,n>>8&255,n&255,r>>24,r>>16&255,r>>8&255,r&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return ee.box(ee.types.mvhd,a);}static sdtp(i){let s=i.samples||[],n=new Uint8Array(4+s.length),r,a;for(r=0;r<s.length;r++)a=s[r].flags,n[r+4]=a.dependsOn<<4|a.isDependedOn<<2|a.hasRedundancy;return ee.box(ee.types.sdtp,n);}static stbl(i){return ee.box(ee.types.stbl,ee.stsd(i),ee.box(ee.types.stts,ee.STTS),ee.box(ee.types.stsc,ee.STSC),ee.box(ee.types.stsz,ee.STSZ),ee.box(ee.types.stco,ee.STCO));}static avc1(i){let s=[],n=[],r,a,l;for(r=0;r<i.sps.length;r++)a=i.sps[r],l=a.byteLength,s.push(l>>>8&255),s.push(l&255),s=s.concat(Array.prototype.slice.call(a));for(r=0;r<i.pps.length;r++)a=i.pps[r],l=a.byteLength,n.push(l>>>8&255),n.push(l&255),n=n.concat(Array.prototype.slice.call(a));let c=ee.box(ee.types.avcC,new Uint8Array([1,s[3],s[4],s[5],255,224|i.sps.length].concat(s).concat([i.pps.length]).concat(n))),u=i.width,f=i.height,p=i.pixelRatio[0],g=i.pixelRatio[1];return ee.box(ee.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,u>>8&255,u&255,f>>8&255,f&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),c,ee.box(ee.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),ee.box(ee.types.pasp,new Uint8Array([p>>24,p>>16&255,p>>8&255,p&255,g>>24,g>>16&255,g>>8&255,g&255])));}static esds(i){let s=i.config;return new Uint8Array([0,0,0,0,3,25,0,1,0,4,17,64,21,0,0,0,0,0,0,0,0,0,0,0,5,2,...s,6,1,2]);}static audioStsd(i){let s=i.samplerate||0;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,i.channelCount||0,0,16,0,0,0,0,s>>8&255,s&255,0,0]);}static mp4a(i){return ee.box(ee.types.mp4a,ee.audioStsd(i),ee.box(ee.types.esds,ee.esds(i)));}static mp3(i){return ee.box(ee.types[".mp3"],ee.audioStsd(i));}static ac3(i){return ee.box(ee.types["ac-3"],ee.audioStsd(i),ee.box(ee.types.dac3,i.config));}static stsd(i){let{segmentCodec:s}=i;if(i.type==="audio"){if(s==="aac")return ee.box(ee.types.stsd,ee.STSD,ee.mp4a(i));if(s==="ac3"&&i.config)return ee.box(ee.types.stsd,ee.STSD,ee.ac3(i));if(s==="mp3"&&i.codec==="mp3")return ee.box(ee.types.stsd,ee.STSD,ee.mp3(i));}else if(i.pps&&i.sps){if(s==="avc")return ee.box(ee.types.stsd,ee.STSD,ee.avc1(i));if(s==="hevc"&&i.vps)return ee.box(ee.types.stsd,ee.STSD,ee.hvc1(i));}else throw new Error("video track missing pps or sps");throw new Error(`unsupported ${i.type} segment codec (${s}/${i.codec})`);}static tkhd(i){let s=i.id,n=(i.duration||0)*(i.timescale||0),r=i.width||0,a=i.height||0,l=Math.floor(n/(wn+1)),c=Math.floor(n%(wn+1));return ee.box(ee.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,s>>24&255,s>>16&255,s>>8&255,s&255,0,0,0,0,l>>24,l>>16&255,l>>8&255,l&255,c>>24,c>>16&255,c>>8&255,c&255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,r>>8&255,r&255,0,0,a>>8&255,a&255,0,0]));}static traf(i,s){let n=ee.sdtp(i),r=i.id,a=Math.floor(s/(wn+1)),l=Math.floor(s%(wn+1));return ee.box(ee.types.traf,ee.box(ee.types.tfhd,new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,r&255])),ee.box(ee.types.tfdt,new Uint8Array([1,0,0,0,a>>24,a>>16&255,a>>8&255,a&255,l>>24,l>>16&255,l>>8&255,l&255])),ee.trun(i,n.length+16+20+8+16+8+8),n);}static trak(i){return i.duration=i.duration||4294967295,ee.box(ee.types.trak,ee.tkhd(i),ee.mdia(i));}static trex(i){let s=i.id;return ee.box(ee.types.trex,new Uint8Array([0,0,0,0,s>>24,s>>16&255,s>>8&255,s&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]));}static trun(i,s){let n=i.samples||[],r=n.length,a=12+16*r,l=new Uint8Array(a),c,u,f,p,g,v;for(s+=8+a,l.set([i.type==="video"?1:0,0,15,1,r>>>24&255,r>>>16&255,r>>>8&255,r&255,s>>>24&255,s>>>16&255,s>>>8&255,s&255],0),c=0;c<r;c++)u=n[c],f=u.duration,p=u.size,g=u.flags,v=u.cts,l.set([f>>>24&255,f>>>16&255,f>>>8&255,f&255,p>>>24&255,p>>>16&255,p>>>8&255,p&255,g.isLeading<<2|g.dependsOn,g.isDependedOn<<6|g.hasRedundancy<<4|g.paddingValue<<1|g.isNonSync,g.degradPrio&61440,g.degradPrio&15,v>>>24&255,v>>>16&255,v>>>8&255,v&255],12+16*c);return ee.box(ee.types.trun,l);}static initSegment(i){ee.types||ee.init();let s=ee.moov(i);return ns(ee.FTYP,s);}static hvc1(i){let s=i.params,n=[i.vps,i.sps,i.pps],r=new Uint8Array([1,s.general_profile_space<<6|(s.general_tier_flag?32:0)|s.general_profile_idc,s.general_profile_compatibility_flags[0],s.general_profile_compatibility_flags[1],s.general_profile_compatibility_flags[2],s.general_profile_compatibility_flags[3],s.general_constraint_indicator_flags[0],s.general_constraint_indicator_flags[1],s.general_constraint_indicator_flags[2],s.general_constraint_indicator_flags[3],s.general_constraint_indicator_flags[4],s.general_constraint_indicator_flags[5],s.general_level_idc,240|s.min_spatial_segmentation_idc>>8,255&s.min_spatial_segmentation_idc,252|s.parallelismType,252|s.chroma_format_idc,248|s.bit_depth_luma_minus8,248|s.bit_depth_chroma_minus8,0,parseInt(s.frame_rate.fps),3|s.temporal_id_nested<<2|s.num_temporal_layers<<3|(s.frame_rate.fixed?64:0),n.length]),a=r.length;for(let T=0;T<n.length;T+=1){a+=3;for(let y=0;y<n[T].length;y+=1)a+=2+n[T][y].length;}let l=new Uint8Array(a);l.set(r,0),a=r.length;let c=n.length-1;for(let T=0;T<n.length;T+=1){l.set(new Uint8Array([32+T|(T===c?128:0),0,n[T].length]),a),a+=3;for(let y=0;y<n[T].length;y+=1)l.set(new Uint8Array([n[T][y].length>>8,n[T][y].length&255]),a),a+=2,l.set(n[T][y],a),a+=n[T][y].length;}let u=ee.box(ee.types.hvcC,l),f=i.width,p=i.height,g=i.pixelRatio[0],v=i.pixelRatio[1];return ee.box(ee.types.hvc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,f>>8&255,f&255,p>>8&255,p&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),u,ee.box(ee.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),ee.box(ee.types.pasp,new Uint8Array([g>>24,g>>16&255,g>>8&255,g&255,v>>24,v>>16&255,v>>8&255,v&255])));}};return e.types=void 0,e.HDLR_TYPES=void 0,e.STTS=void 0,e.STSC=void 0,e.STCO=void 0,e.STSZ=void 0,e.VMHD=void 0,e.SMHD=void 0,e.STSD=void 0,e.FTYP=void 0,e.DINF=void 0,e;})(),F_=9e4;function af(e,t,i=1,s=!1){let n=e*t*i;return s?Math.round(n):n;}function MA(e,t,i=1,s=!1){return af(e,t,1/i,s);}function Ko(e,t=!1){return af(e,1e3,1/F_,t);}function OA(e,t=1){return af(e,F_,1/t);}function jv(e){let{baseTime:t,timescale:i,trackId:s}=e;return`${t/i} (${t}/${i}) trackId: ${s}`;}var DA=10*1e3,jA=1024,NA=1152,FA=1536,Jr=null,pu=null;function Nv(e,t,i,s){return{duration:t,size:i,cts:s,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:e?2:1,isNonSync:e?0:1}};}var Cd=class extends rs{constructor(e,t,i,s){if(super("mp4-remuxer",s),this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextVideoTs=null,this.nextAudioTs=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=t,this.typeSupported=i,this.ISGenerated=!1,Jr===null){let n=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);Jr=n?parseInt(n[1]):0;}if(pu===null){let n=navigator.userAgent.match(/Safari\/(\d+)/i);pu=n?parseInt(n[1]):0;}}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null;}resetTimeStamp(e){let t=this._initPTS;(!t||!e||e.trackId!==t.trackId||e.baseTime!==t.baseTime||e.timescale!==t.timescale)&&this.log(`Reset initPTS: ${t&&jv(t)} > ${e&&jv(e)}`),this._initPTS=this._initDTS=e;}resetNextTimestamp(){this.log("reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1;}resetInitSegment(){this.log("ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0;}getVideoStartPts(e){let t=!1,i=e[0].pts,s=e.reduce((n,r)=>{let a=r.pts,l=a-n;return l<-4294967296&&(t=!0,a=Gi(a,i),l=a-n),l>0?n:a;},i);return t&&this.debug("PTS rollover detected"),s;}remux(e,t,i,s,n,r,a,l){let c,u,f,p,g,v,T=n,y=n,A=e.pid>-1,I=t.pid>-1,P=t.samples.length,k=e.samples.length>0,w=a&&P>0||P>1;if((!A||k)&&(!I||w)||this.ISGenerated||a){if(this.ISGenerated){var R,x,D,O;let F=this.videoTrackConfig;(F&&(t.width!==F.width||t.height!==F.height||((R=t.pixelRatio)==null?void 0:R[0])!==((x=F.pixelRatio)==null?void 0:x[0])||((D=t.pixelRatio)==null?void 0:D[1])!==((O=F.pixelRatio)==null?void 0:O[1]))||!F&&w||this.nextAudioTs===null&&k)&&this.resetInitSegment();}this.ISGenerated||(f=this.generateIS(e,t,n,r));let V=this.isVideoContiguous,$=-1,N;if(w&&($=BA(t.samples),!V&&this.config.forceKeyFrameOnDiscontinuity))if(v=!0,$>0){this.warn(`Dropped ${$} out of ${P} video samples due to a missing keyframe`);let F=this.getVideoStartPts(t.samples);t.samples=t.samples.slice($),t.dropped+=$,y+=(t.samples[0].pts-F)/t.inputTimeScale,N=y;}else $===-1&&(this.warn(`No keyframe found out of ${P} video samples`),v=!1);if(this.ISGenerated){if(k&&w){let F=this.getVideoStartPts(t.samples),K=(Gi(e.samples[0].pts,F)-F)/t.inputTimeScale;T+=Math.max(0,K),y+=Math.max(0,-K);}if(k){if(e.samplerate||(this.warn("regenerate InitSegment as audio detected"),f=this.generateIS(e,t,n,r)),u=this.remuxAudio(e,T,this.isAudioContiguous,r,I||w||l===Me.AUDIO?y:void 0),w){let F=u?u.endPTS-u.startPTS:0;t.inputTimeScale||(this.warn("regenerate InitSegment as video detected"),f=this.generateIS(e,t,n,r)),c=this.remuxVideo(t,y,V,F);}}else w&&(c=this.remuxVideo(t,y,V,0));c&&(c.firstKeyFrame=$,c.independent=$!==-1,c.firstKeyFramePTS=N);}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(i.samples.length&&(g=B_(i,n,this._initPTS,this._initDTS)),s.samples.length&&(p=U_(s,n,this._initPTS))),{audio:u,video:c,initSegment:f,independent:v,text:p,id3:g};}computeInitPts(e,t,i,s){let n=Math.round(i*t),r=Gi(e,n);if(r<n+t)for(this.log(`Adjusting PTS for rollover in timeline near ${(n-r)/t} ${s}`);r<n+t;)r+=8589934592;return r-n;}generateIS(e,t,i,s){let n=e.samples,r=t.samples,a=this.typeSupported,l={},c=this._initPTS,u=!c||s,f="audio/mp4",p,g,v,T=-1;if(u&&(p=g=1/0),e.config&&n.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":a.mpeg?(f="audio/mpeg",e.codec=""):a.mp3&&(e.codec="mp3");break;case"ac3":e.codec="ac-3";break;}l.audio={id:"audio",container:f,codec:e.codec,initSegment:e.segmentCodec==="mp3"&&a.mpeg?new Uint8Array(0):Qr.initSegment([e]),metadata:{channelCount:e.channelCount}},u&&(T=e.id,v=e.inputTimeScale,!c||v!==c.timescale?p=g=this.computeInitPts(n[0].pts,v,i,"audio"):u=!1);}if(t.sps&&t.pps&&r.length){if(t.timescale=t.inputTimeScale,l.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:Qr.initSegment([t]),metadata:{width:t.width,height:t.height}},u)if(T=t.id,v=t.inputTimeScale,!c||v!==c.timescale){let y=this.getVideoStartPts(r),A=Gi(r[0].dts,y),I=this.computeInitPts(A,v,i,"video"),P=this.computeInitPts(y,v,i,"video");g=Math.min(g,I),p=Math.min(p,P);}else u=!1;this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio};}if(Object.keys(l).length)return this.ISGenerated=!0,u?(c&&this.warn(`Timestamps at playlist time: ${s?"":"~"}${i} ${p/v} != initPTS: ${c.baseTime/c.timescale} (${c.baseTime}/${c.timescale}) trackId: ${c.trackId}`),this.log(`Found initPTS at playlist time: ${i} offset: ${p/v} (${p}/${v}) trackId: ${T}`),this._initPTS={baseTime:p,timescale:v,trackId:T},this._initDTS={baseTime:g,timescale:v,trackId:T}):p=v=void 0,{tracks:l,initPTS:p,timescale:v,trackId:T};}remuxVideo(e,t,i,s){let n=e.inputTimeScale,r=e.samples,a=[],l=r.length,c=this._initPTS,u=c.baseTime*n/c.timescale,f=this.nextVideoTs,p=8,g=this.videoSampleDuration,v,T,y=Number.POSITIVE_INFINITY,A=Number.NEGATIVE_INFINITY,I=!1;if(!i||f===null){let q=u+t*n,G=r[0].pts-Gi(r[0].dts,r[0].pts);Jr&&f!==null&&Math.abs(q-G-(f+u))<15e3?i=!0:f=q-G-u;}let P=f+u;for(let q=0;q<l;q++){let G=r[q];G.pts=Gi(G.pts,P),G.dts=Gi(G.dts,P),G.dts<r[q>0?q-1:q].dts&&(I=!0);}I&&r.sort(function(q,G){let ne=q.dts-G.dts,he=q.pts-G.pts;return ne||he;}),v=r[0].dts,T=r[r.length-1].dts;let k=T-v,w=k?Math.round(k/(l-1)):g||e.inputTimeScale/30;if(i){let q=v-P,G=q>w,ne=q<-1;if((G||ne)&&(G?this.warn(`${(e.segmentCodec||"").toUpperCase()}: ${Ko(q,!0)} ms (${q}dts) hole between fragments detected at ${t.toFixed(3)}`):this.warn(`${(e.segmentCodec||"").toUpperCase()}: ${Ko(-q,!0)} ms (${q}dts) overlapping between fragments detected at ${t.toFixed(3)}`),!ne||P>=r[0].pts||Jr)){v=P;let he=r[0].pts-q;if(G)r[0].dts=v,r[0].pts=he;else{let ce=!0;for(let ie=0;ie<r.length&&!(r[ie].dts>he&&ce);ie++){let Ce=r[ie].pts;if(r[ie].dts-=q,r[ie].pts-=q,ie<r.length-1){let Re=r[ie+1].pts;ce=Re<=r[ie].pts==Re<=Ce;}}}this.log(`Video: Initial PTS/DTS adjusted: ${Ko(he,!0)}/${Ko(v,!0)}, delta: ${Ko(q,!0)} ms`);}}v=Math.max(0,v);let R=0,x=0,D=v;for(let q=0;q<l;q++){let G=r[q],ne=G.units,he=ne.length,ce=0;for(let ie=0;ie<he;ie++)ce+=ne[ie].data.length;x+=ce,R+=he,G.length=ce,G.dts<D?(G.dts=D,D+=w/4|0||1):D=G.dts,y=Math.min(G.pts,y),A=Math.max(G.pts,A);}T=r[l-1].dts;let O=x+4*R+8,V;try{V=new Uint8Array(O);}catch(q){this.observer.emit(C.ERROR,C.ERROR,{type:Fe.MUX_ERROR,details:Z.REMUX_ALLOC_ERROR,fatal:!1,error:q,bytes:O,reason:`fail allocating video mdat ${O}`});return;}let $=new DataView(V.buffer);$.setUint32(0,O),V.set(Qr.types.mdat,4);let N=!1,F=Number.POSITIVE_INFINITY,K=Number.POSITIVE_INFINITY,re=Number.NEGATIVE_INFINITY,oe=Number.NEGATIVE_INFINITY;for(let q=0;q<l;q++){let G=r[q],ne=G.units,he=0;for(let Ce=0,Re=ne.length;Ce<Re;Ce++){let Ge=ne[Ce],$e=Ge.data,lt=Ge.data.byteLength;$.setUint32(p,lt),p+=4,V.set($e,p),p+=lt,he+=4+lt;}let ce;if(q<l-1)g=r[q+1].dts-G.dts,ce=r[q+1].pts-G.pts;else{let Ce=this.config,Re=q>0?G.dts-r[q-1].dts:w;if(ce=q>0?G.pts-r[q-1].pts:w,Ce.stretchShortVideoTrack&&this.nextAudioTs!==null){let Ge=Math.floor(Ce.maxBufferHole*n),$e=(s?y+s*n:this.nextAudioTs+u)-G.pts;$e>Ge?(g=$e-Re,g<0?g=Re:N=!0,this.log(`It is approximately ${$e/90} ms to the next segment; using duration ${g/90} ms for the last video frame.`)):g=Re;}else g=Re;}let ie=Math.round(G.pts-G.dts);F=Math.min(F,g),re=Math.max(re,g),K=Math.min(K,ce),oe=Math.max(oe,ce),a.push(Nv(G.key,g,he,ie));}if(a.length){if(Jr){if(Jr<70){let q=a[0].flags;q.dependsOn=2,q.isNonSync=0;}}else if(pu&&oe-K<re-F&&w/re<.025&&a[0].cts===0){this.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let q=v;for(let G=0,ne=a.length;G<ne;G++){let he=q+a[G].duration,ce=q+a[G].cts;if(G<ne-1){let ie=he+a[G+1].cts;a[G].duration=ie-ce;}else a[G].duration=G?a[G-1].duration:w;a[G].cts=0,q=he;}}}g=N||!g?w:g;let J=T+g;this.nextVideoTs=f=J-u,this.videoSampleDuration=g,this.isVideoContiguous=!0;let ge={data1:Qr.moof(e.sequenceNumber++,v,St(e,{samples:a})),data2:V,startPTS:(y-u)/n,endPTS:(A+g-u)/n,startDTS:(v-u)/n,endDTS:f/n,type:"video",hasAudio:!1,hasVideo:!0,nb:a.length,dropped:e.dropped};return e.samples=[],e.dropped=0,ge;}getSamplesPerFrame(e){switch(e.segmentCodec){case"mp3":return NA;case"ac3":return FA;default:return jA;}}remuxAudio(e,t,i,s,n){let r=e.inputTimeScale,a=r/(e.samplerate?e.samplerate:r),l=this.getSamplesPerFrame(e),c=l*a,u=this._initPTS,f=e.segmentCodec==="mp3"&&this.typeSupported.mpeg,p=[],g=n!==void 0,v=e.samples,T=f?0:8,y=this.nextAudioTs||-1,A=u.baseTime*r/u.timescale,I=A+t*r;if(this.isAudioContiguous=i=i||v.length&&y>0&&(s&&Math.abs(I-(y+A))<9e3||Math.abs(Gi(v[0].pts,I)-(y+A))<20*c),v.forEach(function(K){K.pts=Gi(K.pts,I);}),!i||y<0){let K=v.length;if(v=v.filter(re=>re.pts>=0),K!==v.length&&this.warn(`Removed ${v.length-K} of ${K} samples (initPTS ${A} / ${r})`),!v.length)return;n===0?y=0:s&&!g?y=Math.max(0,I-A):y=v[0].pts-A;}if(e.segmentCodec==="aac"){let K=this.config.maxAudioFramesDrift;for(let re=0,oe=y+A;re<v.length;re++){let J=v[re],ge=J.pts,q=ge-oe,G=Math.abs(1e3*q/r);if(q<=-K*c&&g)re===0&&(this.warn(`Audio frame @ ${(ge/r).toFixed(3)}s overlaps marker by ${Math.round(1e3*q/r)} ms.`),this.nextAudioTs=y=ge-A,oe=ge);else if(q>=K*c&&G<DA&&g){let ne=Math.round(q/c);for(oe=ge-ne*c;oe<0&&ne&&c;)ne--,oe+=c;re===0&&(this.nextAudioTs=y=oe-A),this.warn(`Injecting ${ne} audio frames @ ${((oe-A)/r).toFixed(3)}s due to ${Math.round(1e3*q/r)} ms gap.`);for(let he=0;he<ne;he++){let ce=LA.getSilentFrame(e.parsedCodec||e.manifestCodec||e.codec,e.channelCount);ce||(this.log("Unable to get silent frame for given audio codec; duplicating last frame instead."),ce=J.unit.subarray()),v.splice(re,0,{unit:ce,pts:oe}),oe+=c,re++;}}J.pts=oe,oe+=c;}}let P=null,k=null,w,R=0,x=v.length;for(;x--;)R+=v[x].unit.byteLength;for(let K=0,re=v.length;K<re;K++){let oe=v[K],J=oe.unit,ge=oe.pts;if(k!==null){let G=p[K-1];G.duration=Math.round((ge-k)/a);}else if(i&&e.segmentCodec==="aac"&&(ge=y+A),P=ge,R>0){R+=T;try{w=new Uint8Array(R);}catch(G){this.observer.emit(C.ERROR,C.ERROR,{type:Fe.MUX_ERROR,details:Z.REMUX_ALLOC_ERROR,fatal:!1,error:G,bytes:R,reason:`fail allocating audio mdat ${R}`});return;}f||(new DataView(w.buffer).setUint32(0,R),w.set(Qr.types.mdat,4));}else return;w.set(J,T);let q=J.byteLength;T+=q,p.push(Nv(!0,l,q,0)),k=ge;}let D=p.length;if(!D)return;let O=p[p.length-1];y=k-A,this.nextAudioTs=y+a*O.duration;let V=f?new Uint8Array(0):Qr.moof(e.sequenceNumber++,P/a,St({},e,{samples:p}));e.samples=[];let $=(P-A)/r,N=this.nextAudioTs/r,F={data1:V,data2:w,startPTS:$,endPTS:N,startDTS:$,endDTS:N,type:"audio",hasAudio:!0,hasVideo:!1,nb:D};return this.isAudioContiguous=!0,F;}};function Gi(e,t){let i;if(t===null)return e;for(t<e?i=-8589934592:i=8589934592;Math.abs(e-t)>4294967296;)e+=i;return e;}function BA(e){for(let t=0;t<e.length;t++)if(e[t].key)return t;return-1;}function B_(e,t,i,s){let n=e.samples.length;if(!n)return;let r=e.inputTimeScale;for(let l=0;l<n;l++){let c=e.samples[l];c.pts=Gi(c.pts-i.baseTime*r/i.timescale,t*r)/r,c.dts=Gi(c.dts-s.baseTime*r/s.timescale,t*r)/r;}let a=e.samples;return e.samples=[],{samples:a};}function U_(e,t,i){let s=e.samples.length;if(!s)return;let n=e.inputTimeScale;for(let a=0;a<s;a++){let l=e.samples[a];l.pts=Gi(l.pts-i.baseTime*n/i.timescale,t*n)/n;}e.samples.sort((a,l)=>a.pts-l.pts);let r=e.samples;return e.samples=[],{samples:r};}var UA=class extends rs{constructor(e,t,i,s){super("passthrough-remuxer",s),this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null,this.isVideoContiguous=!1;}destroy(){}resetTimeStamp(e){this.lastEndTime=null;let t=this.initPTS;t&&e&&t.baseTime===e.baseTime&&t.timescale===e.timescale||(this.initPTS=e);}resetNextTimestamp(){this.isVideoContiguous=!1,this.lastEndTime=null;}resetInitSegment(e,t,i,s){this.audioCodec=t,this.videoCodec=i,this.generateInitSegment(e,s),this.emitInitSegment=!0;}generateInitSegment(e,t){let{audioCodec:i,videoCodec:s}=this;if(!(e!=null&&e.byteLength)){this.initTracks=void 0,this.initData=void 0;return;}let{audio:n,video:r}=this.initData=Gy(e);if(t)I2(e,t);else{let l=n||r;l!=null&&l.encrypted&&this.warn(`Init segment with encrypted track with has no key ("${l.codec}")!`);}n&&(i=Fv(n,At.AUDIO,this)),r&&(s=Fv(r,At.VIDEO,this));let a={};n&&r?a.audiovideo={container:"video/mp4",codec:i+","+s,supplemental:r.supplemental,encrypted:r.encrypted,initSegment:e,id:"main"}:n?a.audio={container:"audio/mp4",codec:i,encrypted:n.encrypted,initSegment:e,id:"audio"}:r?a.video={container:"video/mp4",codec:s,supplemental:r.supplemental,encrypted:r.encrypted,initSegment:e,id:"main"}:this.warn("initSegment does not contain moov or trak boxes."),this.initTracks=a;}remux(e,t,i,s,n,r){var a,l;let{initPTS:c,lastEndTime:u}=this,f={audio:void 0,video:void 0,text:s,id3:i,initSegment:void 0};Ie(u)||(u=this.lastEndTime=n||0);let p=t.samples;if(!p.length)return f;let g={initPTS:void 0,timescale:void 0,trackId:void 0},v=this.initData;if((a=v)!=null&&a.length||(this.generateInitSegment(p),v=this.initData),!((l=v)!=null&&l.length))return this.warn("Failed to generate initSegment."),f;this.emitInitSegment&&(g.tracks=this.initTracks,this.emitInitSegment=!1);let T=P2(p,v,this),y=v.audio?T[v.audio.id]:null,A=v.video?T[v.video.id]:null,I=Xl(A,1/0),P=Xl(y,1/0),k=Xl(A,0,!0),w=Xl(y,0,!0),R=n,x=0,D=y&&(!A||!c&&P<I||c&&c.trackId===v.audio.id),O=D?y:A;if(O){let ge=O.timescale,q=O.start-n*ge,G=D?v.audio.id:v.video.id;R=O.start/ge,x=D?w-P:k-I,(r||!c)&&(VA(c,R,n,x)||ge!==c.timescale)&&(c&&this.warn(`Timestamps at playlist time: ${r?"":"~"}${n} ${q/ge} != initPTS: ${c.baseTime/c.timescale} (${c.baseTime}/${c.timescale}) trackId: ${c.trackId}`),this.log(`Found initPTS at playlist time: ${n} offset: ${R-n} (${q}/${ge}) trackId: ${G}`),c=null,g.initPTS=q,g.timescale=ge,g.trackId=G);}else this.warn(`No audio or video samples found for initPTS at playlist time: ${n}`);c?(g.initPTS=c.baseTime,g.timescale=c.timescale,g.trackId=c.trackId):((!g.timescale||g.trackId===void 0||g.initPTS===void 0)&&(this.warn("Could not set initPTS"),g.initPTS=R,g.timescale=1,g.trackId=-1),this.initPTS=c={baseTime:g.initPTS,timescale:g.timescale,trackId:g.trackId});let V=R-c.baseTime/c.timescale,$=V+x;x>0?this.lastEndTime=$:(this.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());let N=!!v.audio,F=!!v.video,K="";N&&(K+="audio"),F&&(K+="video");let re=(v.audio?v.audio.encrypted:!1)||(v.video?v.video.encrypted:!1),oe={data1:p,startPTS:V,startDTS:V,endPTS:$,endDTS:$,type:K,hasAudio:N,hasVideo:F,nb:1,dropped:0,encrypted:re};f.audio=N&&!F?oe:void 0,f.video=F?oe:void 0;let J=A?.sampleCount;if(J){let ge=A.keyFrameIndex,q=ge!==-1;oe.nb=J,oe.dropped=ge===0||this.isVideoContiguous?0:q?ge:J,oe.independent=q,oe.firstKeyFrame=ge,q&&A.keyFrameStart&&(oe.firstKeyFramePTS=(A.keyFrameStart-c.baseTime)/c.timescale),this.isVideoContiguous||(f.independent=q),this.isVideoContiguous||(this.isVideoContiguous=q),oe.dropped&&this.warn(`fmp4 does not start with IDR: firstIDR ${ge}/${J} dropped: ${oe.dropped} start: ${oe.firstKeyFramePTS||"NA"}`);}return f.initSegment=g,f.id3=B_(i,n,c,c),s.samples.length&&(f.text=U_(s,n,c)),f;}};function Xl(e,t,i=!1){return e?.start!==void 0?(e.start+(i?e.duration:0))/e.timescale:t;}function VA(e,t,i,s){if(e===null)return!0;let n=Math.max(s,1),r=t-e.baseTime/e.timescale;return Math.abs(r-i)>n;}function Fv(e,t,i){let s=e.codec;return s&&s.length>4?s:t===At.AUDIO?s==="ec-3"||s==="ac-3"||s==="alac"?s:s==="fLaC"||s==="Opus"?Nd(s,!1):(i.warn(`Unhandled audio codec "${s}" in mp4 MAP`),s||"mp4a"):(i.warn(`Unhandled video codec "${s}" in mp4 MAP`),s||"avc1");}var Js;try{Js=self.performance.now.bind(self.performance);}catch(e){Js=Date.now;}var Sd=[{demux:wA,remux:UA},{demux:PA,remux:Cd},{demux:TA,remux:Cd},{demux:CA,remux:Cd}];Sd.splice(2,0,{demux:EA,remux:Cd});var Bv=class{constructor(e,t,i,s,n,r){this.asyncResult=!1,this.logger=void 0,this.observer=void 0,this.typeSupported=void 0,this.config=void 0,this.id=void 0,this.demuxer=void 0,this.remuxer=void 0,this.decrypter=void 0,this.probe=void 0,this.decryptionPromise=null,this.transmuxConfig=void 0,this.currentTransmuxState=void 0,this.observer=e,this.typeSupported=t,this.config=i,this.id=n,this.logger=r;}configure(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset();}push(e,t,i,s){let n=i.transmuxing;n.executeStart=Js();let r=new Uint8Array(e),{currentTransmuxState:a,transmuxConfig:l}=this;s&&(this.currentTransmuxState=s);let{contiguous:c,discontinuity:u,trackSwitch:f,accurateTimeOffset:p,timeOffset:g,initSegmentChange:v}=s||a,{audioCodec:T,videoCodec:y,defaultInitPts:A,duration:I,initSegmentData:P}=l,k=$A(r,t);if(k&&mo(k.method)){let D=this.getDecrypter(),O=Qh(k.method);if(D.isSync()){let V=D.softwareDecrypt(r,k.key.buffer,k.iv.buffer,O);if(i.part>-1){let $=D.flush();V=$&&$.buffer;}if(!V)return n.executeEnd=Js(),mu(i);r=new Uint8Array(V);}else return this.asyncResult=!0,this.decryptionPromise=D.webCryptoDecrypt(r,k.key.buffer,k.iv.buffer,O).then(V=>{let $=this.push(V,null,i);return this.decryptionPromise=null,$;}),this.decryptionPromise;}let w=this.needsProbing(u,f);if(w){let D=this.configureTransmuxer(r);if(D)return this.logger.warn(`[transmuxer] ${D.message}`),this.observer.emit(C.ERROR,C.ERROR,{type:Fe.MEDIA_ERROR,details:Z.FRAG_PARSING_ERROR,fatal:!1,error:D,reason:D.message}),n.executeEnd=Js(),mu(i);}(u||f||v||w)&&this.resetInitSegment(P,T,y,I,t),(u||v||w)&&this.resetInitialTimestamp(A),c||this.resetContiguity();let R=this.transmux(r,k,g,p,i);this.asyncResult=_a(R);let x=this.currentTransmuxState;return x.contiguous=!0,x.discontinuity=!1,x.trackSwitch=!1,n.executeEnd=Js(),R;}flush(e){let t=e.transmuxing;t.executeStart=Js();let{decrypter:i,currentTransmuxState:s,decryptionPromise:n}=this;if(n)return this.asyncResult=!0,n.then(()=>this.flush(e));let r=[],{timeOffset:a}=s;if(i){let f=i.flush();f&&r.push(this.push(f.buffer,null,e));}let{demuxer:l,remuxer:c}=this;if(!l||!c){t.executeEnd=Js();let f=[mu(e)];return this.asyncResult?Promise.resolve(f):f;}let u=l.flush(a);return _a(u)?(this.asyncResult=!0,u.then(f=>(this.flushRemux(r,f,e),r))):(this.flushRemux(r,u,e),this.asyncResult?Promise.resolve(r):r);}flushRemux(e,t,i){let{audioTrack:s,videoTrack:n,id3Track:r,textTrack:a}=t,{accurateTimeOffset:l,timeOffset:c}=this.currentTransmuxState;this.logger.log(`[transmuxer.ts]: Flushed ${this.id} sn: ${i.sn}${i.part>-1?" part: "+i.part:""} of ${this.id===Me.MAIN?"level":"track"} ${i.level}`);let u=this.remuxer.remux(s,n,r,a,c,l,!0,this.id);e.push({remuxResult:u,chunkMeta:i}),i.transmuxing.executeEnd=Js();}resetInitialTimestamp(e){let{demuxer:t,remuxer:i}=this;!t||!i||(t.resetTimeStamp(e),i.resetTimeStamp(e));}resetContiguity(){let{demuxer:e,remuxer:t}=this;!e||!t||(e.resetContiguity(),t.resetNextTimestamp());}resetInitSegment(e,t,i,s,n){let{demuxer:r,remuxer:a}=this;!r||!a||(r.resetInitSegment(e,t,i,s),a.resetInitSegment(e,t,i,n));}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0);}transmux(e,t,i,s,n){let r;return t&&t.method==="SAMPLE-AES"?r=this.transmuxSampleAes(e,t,i,s,n):r=this.transmuxUnencrypted(e,i,s,n),r;}transmuxUnencrypted(e,t,i,s){let{audioTrack:n,videoTrack:r,id3Track:a,textTrack:l}=this.demuxer.demux(e,t,!1,!this.config.progressive);return{remuxResult:this.remuxer.remux(n,r,a,l,t,i,!1,this.id),chunkMeta:s};}transmuxSampleAes(e,t,i,s,n){return this.demuxer.demuxSampleAes(e,t,i).then(r=>({remuxResult:this.remuxer.remux(r.audioTrack,r.videoTrack,r.id3Track,r.textTrack,i,s,!1,this.id),chunkMeta:n}));}configureTransmuxer(e){let{config:t,observer:i,typeSupported:s}=this,n;for(let f=0,p=Sd.length;f<p;f++){var r;if((r=Sd[f].demux)!=null&&r.probe(e,this.logger)){n=Sd[f];break;}}if(!n)return new Error("Failed to find demuxer by probing fragment data");let a=this.demuxer,l=this.remuxer,c=n.remux,u=n.demux;(!l||!(l instanceof c))&&(this.remuxer=new c(i,t,s,this.logger)),(!a||!(a instanceof u))&&(this.demuxer=new u(i,t,s,this.logger),this.probe=u.probe);}needsProbing(e,t){return!this.demuxer||!this.remuxer||e||t;}getDecrypter(){let e=this.decrypter;return e||(e=this.decrypter=new Yh(this.config)),e;}};function $A(e,t){let i=null;return e.byteLength>0&&t?.key!=null&&t.iv!==null&&t.method!=null&&(i=t),i;}var mu=e=>({remuxResult:{},chunkMeta:e});function _a(e){return"then"in e&&e.then instanceof Function;}var HA=class{constructor(e,t,i,s,n){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=e,this.videoCodec=t,this.initSegmentData=i,this.duration=s,this.defaultInitPts=n||null;}},zA=class{constructor(e,t,i,s,n,r){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=e,this.contiguous=t,this.accurateTimeOffset=i,this.trackSwitch=s,this.timeOffset=n,this.initSegmentChange=r;}},Uv=0,V_=class{constructor(e,t,i,s){this.error=null,this.hls=void 0,this.id=void 0,this.instanceNo=Uv++,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0,this.onWorkerMessage=l=>{let c=l.data,u=this.hls;if(!(!u||!(c!=null&&c.event)||c.instanceNo!==this.instanceNo))switch(c.event){case"init":{var f;let p=(f=this.workerContext)==null?void 0:f.objectURL;p&&self.URL.revokeObjectURL(p);break;}case"transmuxComplete":this.handleTransmuxComplete(c.data);break;case"flush":this.onFlush(c.data);break;case"workerLog":u.logger[c.data.logType]&&u.logger[c.data.logType](c.data.message);break;default:c.data=c.data||{},c.data.frag=this.frag,c.data.part=this.part,c.data.id=this.id,u.trigger(c.event,c.data);break;}},this.onWorkerError=l=>{if(!this.hls)return;let c=new Error(`${l.message} (${l.filename}:${l.lineno})`);this.hls.config.enableWorker=!1,this.hls.logger.warn(`Error in "${this.id}" Web Worker, fallback to inline`),this.hls.trigger(C.ERROR,{type:Fe.OTHER_ERROR,details:Z.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:c});};let n=e.config;this.hls=e,this.id=t,this.useWorker=!!n.enableWorker,this.onTransmuxComplete=i,this.onFlush=s;let r=(l,c)=>{c=c||{},c.frag=this.frag||void 0,l===C.ERROR&&(c=c,c.parent=this.id,c.part=this.part,this.error=c.error),this.hls.trigger(l,c);};this.observer=new ef(),this.observer.on(C.FRAG_DECRYPTED,r),this.observer.on(C.ERROR,r);let a=tv(n.preferManagedMediaSource);if(this.useWorker&&typeof Worker<"u"){let l=this.hls.logger;if(n.workerPath||qw()){try{n.workerPath?(l.log(`loading Web Worker ${n.workerPath} for "${t}"`),this.workerContext=Yw(n.workerPath)):(l.log(`injecting Web Worker for "${t}"`),this.workerContext=Kw());let{worker:c}=this.workerContext;c.addEventListener("message",this.onWorkerMessage),c.addEventListener("error",this.onWorkerError),c.postMessage({instanceNo:this.instanceNo,cmd:"init",typeSupported:a,id:t,config:It(n)});}catch(c){l.warn(`Error setting up "${t}" Web Worker, fallback to inline`,c),this.terminateWorker(),this.error=null,this.transmuxer=new Bv(this.observer,a,n,"",t,e.logger);}return;}}this.transmuxer=new Bv(this.observer,a,n,"",t,e.logger);}reset(){if(this.frag=null,this.part=null,this.workerContext){let e=this.instanceNo;this.instanceNo=Uv++;let t=this.hls.config,i=tv(t.preferManagedMediaSource);this.workerContext.worker.postMessage({instanceNo:this.instanceNo,cmd:"reset",resetNo:e,typeSupported:i,id:this.id,config:It(t)});}}terminateWorker(){if(this.workerContext){let{worker:e}=this.workerContext;this.workerContext=null,e.removeEventListener("message",this.onWorkerMessage),e.removeEventListener("error",this.onWorkerError),Xw(this.hls.config.workerPath);}}destroy(){if(this.workerContext)this.terminateWorker(),this.onWorkerMessage=this.onWorkerError=null;else{let t=this.transmuxer;t&&(t.destroy(),this.transmuxer=null);}let e=this.observer;e&&e.removeAllListeners(),this.frag=null,this.part=null,this.observer=null,this.hls=null;}push(e,t,i,s,n,r,a,l,c,u){var f,p;c.transmuxing.start=self.performance.now();let{instanceNo:g,transmuxer:v}=this,T=r?r.start:n.start,y=n.decryptdata,A=this.frag,I=!(A&&n.cc===A.cc),P=!(A&&c.level===A.level),k=A?c.sn-A.sn:-1,w=this.part?c.part-this.part.index:-1,R=k===0&&c.id>1&&c.id===A?.stats.chunkCount,x=!P&&(k===1||k===0&&(w===1||R&&w<=0)),D=self.performance.now();(P||k||n.stats.parsing.start===0)&&(n.stats.parsing.start=D),r&&(w||!x)&&(r.stats.parsing.start=D);let O=!(A&&((f=n.initSegment)==null?void 0:f.url)===((p=A.initSegment)==null?void 0:p.url)),V=new zA(I,x,l,P,T,O);if(!x||I||O){this.hls.logger.log(`[transmuxer-interface]: Starting new transmux session for ${n.type} sn: ${c.sn}${c.part>-1?" part: "+c.part:""} ${this.id===Me.MAIN?"level":"track"}: ${c.level} id: ${c.id} 229 discontinuity: ${I} 230 trackSwitch: ${P} 231 contiguous: ${x} 232 accurateTimeOffset: ${l} 233 timeOffset: ${T} 234 initSegmentChange: ${O}`);let $=new HA(i,s,t,a,u);this.configureTransmuxer($);}if(this.frag=n,this.part=r,this.workerContext)this.workerContext.worker.postMessage({instanceNo:g,cmd:"demux",data:e,decryptdata:y,chunkMeta:c,state:V},e instanceof ArrayBuffer?[e]:[]);else if(v){let $=v.push(e,y,c,V);_a($)?$.then(N=>{this.handleTransmuxComplete(N);}).catch(N=>{this.transmuxerError(N,c,"transmuxer-interface push error");}):this.handleTransmuxComplete($);}}flush(e){e.transmuxing.start=self.performance.now();let{instanceNo:t,transmuxer:i}=this;if(this.workerContext)this.workerContext.worker.postMessage({instanceNo:t,cmd:"flush",chunkMeta:e});else if(i){let s=i.flush(e);_a(s)?s.then(n=>{this.handleFlushResult(n,e);}).catch(n=>{this.transmuxerError(n,e,"transmuxer-interface flush error");}):this.handleFlushResult(s,e);}}transmuxerError(e,t,i){this.hls&&(this.error=e,this.hls.trigger(C.ERROR,{type:Fe.MEDIA_ERROR,details:Z.FRAG_PARSING_ERROR,chunkMeta:t,frag:this.frag||void 0,part:this.part||void 0,fatal:!1,error:e,err:e,reason:i}));}handleFlushResult(e,t){e.forEach(i=>{this.handleTransmuxComplete(i);}),this.onFlush(t);}configureTransmuxer(e){let{instanceNo:t,transmuxer:i}=this;this.workerContext?this.workerContext.worker.postMessage({instanceNo:t,cmd:"configure",config:e}):i&&i.configure(e);}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e);}},Vv=100,GA=class extends Zh{constructor(e,t,i){super(e,t,i,"audio-stream-controller",Me.AUDIO),this.mainAnchor=null,this.mainFragLoading=null,this.audioOnly=!1,this.bufferedTrack=null,this.switchingTrack=null,this.trackId=-1,this.waitingData=null,this.mainDetails=null,this.flushing=!1,this.bufferFlushed=!1,this.cachedTrackLoadedData=null,this.registerListeners();}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.resetItem();}resetItem(){this.mainDetails=this.mainAnchor=this.mainFragLoading=this.bufferedTrack=this.switchingTrack=this.waitingData=this.cachedTrackLoadedData=null;}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(C.LEVEL_LOADED,this.onLevelLoaded,this),e.on(C.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(C.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(C.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(C.BUFFER_RESET,this.onBufferReset,this),e.on(C.BUFFER_CREATED,this.onBufferCreated,this),e.on(C.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(C.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(C.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(C.FRAG_LOADING,this.onFragLoading,this),e.on(C.FRAG_BUFFERED,this.onFragBuffered,this);}unregisterListeners(){let{hls:e}=this;e&&(super.unregisterListeners(),e.off(C.LEVEL_LOADED,this.onLevelLoaded,this),e.off(C.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(C.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(C.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(C.BUFFER_RESET,this.onBufferReset,this),e.off(C.BUFFER_CREATED,this.onBufferCreated,this),e.off(C.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(C.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(C.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(C.FRAG_LOADING,this.onFragLoading,this),e.off(C.FRAG_BUFFERED,this.onFragBuffered,this));}onInitPtsFound(e,{frag:t,id:i,initPTS:s,timescale:n,trackId:r}){if(i===Me.MAIN){let a=t.cc,l=this.fragCurrent;if(this.initPTS[a]={baseTime:s,timescale:n,trackId:r},this.log(`InitPTS for cc: ${a} found from main: ${s/n} (${s}/${n}) trackId: ${r}`),this.mainAnchor=t,this.state===le.WAITING_INIT_PTS){let c=this.waitingData;(!c&&!this.loadingParts||c&&c.frag.cc!==a)&&this.syncWithAnchor(t,c?.frag);}else!this.hls.hasEnoughToStart&&l&&l.cc!==a?(l.abortRequests(),this.syncWithAnchor(t,l)):this.state===le.IDLE&&this.tick();}}getLoadPosition(){return!this.startFragRequested&&this.nextLoadPosition>=0?this.nextLoadPosition:super.getLoadPosition();}syncWithAnchor(e,t){var i;let s=((i=this.mainFragLoading)==null?void 0:i.frag)||null;if(t&&s?.cc===t.cc)return;let n=(s||e).cc,r=i_(this.getLevelDetails(),n,this.getLoadPosition());r&&(this.log(`Syncing with main frag at ${r.start} cc ${r.cc}`),this.startFragRequested=!1,this.nextLoadPosition=r.start,this.resetLoadingState(),this.state===le.IDLE&&this.doTickIdle());}startLoad(e,t){if(!this.levels){this.startPosition=e,this.state=le.STOPPED;return;}let i=this.lastCurrentTime;this.stopLoad(),this.setInterval(Vv),i>0&&e===-1?(this.log(`Override startPosition with lastCurrentTime @${i.toFixed(3)}`),e=i,this.state=le.IDLE):this.state=le.WAITING_TRACK,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick();}doTick(){switch(this.state){case le.IDLE:this.doTickIdle();break;case le.WAITING_TRACK:{let{levels:e,trackId:t}=this,i=e?.[t],s=i?.details;if(s&&!this.waitForLive(i)){if(this.waitForCdnTuneIn(s))break;this.state=le.WAITING_INIT_PTS;}break;}case le.FRAG_LOADING_WAITING_RETRY:this.checkRetryDate();break;case le.WAITING_INIT_PTS:{let e=this.waitingData;if(e){let{frag:t,part:i,cache:s,complete:n}=e,r=this.mainAnchor;if(this.initPTS[t.cc]!==void 0){this.waitingData=null,this.state=le.FRAG_LOADING;let a={frag:t,part:i,payload:s.flush().buffer,networkDetails:null};this._handleFragmentLoadProgress(a),n&&super._handleFragmentLoadComplete(a);}else r&&r.cc!==e.frag.cc&&this.syncWithAnchor(r,e.frag);}else this.state=le.IDLE;}}this.onTickEnd();}resetLoadingState(){let e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null),super.resetLoadingState();}onTickEnd(){let{media:e}=this;e!=null&&e.readyState&&(this.lastCurrentTime=e.currentTime);}doTickIdle(){var e;let{hls:t,levels:i,media:s,trackId:n}=this,r=t.config;if(!this.buffering||!s&&!this.primaryPrefetch&&(this.startFragRequested||!r.startFragPrefetch)||!(i!=null&&i[n]))return;let a=i[n],l=a.details;if(!l||this.waitForLive(a)||this.waitForCdnTuneIn(l)){this.state=le.WAITING_TRACK,this.startFragRequested=!1;return;}let c=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&c&&(this.bufferFlushed=!1,this.afterBufferFlushed(c,At.AUDIO,Me.AUDIO));let u=this.getFwdBufferInfo(c,Me.AUDIO);if(u===null)return;if(!this.switchingTrack&&this._streamEnded(u,l)){t.trigger(C.BUFFER_EOS,{type:"audio"}),this.state=le.ENDED;return;}let f=u.len,p=t.maxBufferLength,g=l.fragments,v=g[0].start,T=this.getLoadPosition(),y=this.flushing?T:u.end;if(this.switchingTrack&&s){let P=T;l.PTSKnown&&P<v&&(u.end>v||u.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),s.currentTime=v+.05);}if(f>=p&&!this.switchingTrack&&y<g[g.length-1].start)return;let A=this.getNextFragment(y,l);if(A&&this.isLoopLoading(A,y)&&(A=this.getNextFragmentLoopLoading(A,l,u,Me.MAIN,p)),!A){this.bufferFlushed=!0;return;}if(this.exceedsMaxBuffer(u,p,A))return;let I=((e=this.mainFragLoading)==null?void 0:e.frag)||null;if(!this.audioOnly&&this.startFragRequested&&I&&$t(A)&&!A.endList&&(!l.live||!this.loadingParts&&y<this.hls.liveSyncPosition)&&(this.fragmentTracker.getState(I)===Xt.OK&&(this.mainFragLoading=I=null),I&&$t(I))){if(A.start>I.end){let P=this.fragmentTracker.getFragAtPos(y,Me.MAIN);P&&P.end>I.end&&(I=P,this.mainFragLoading={frag:P,targetBufferTime:null});}if(A.start>I.end)return;}this.loadFragment(A,a,y);}onMediaDetaching(e,t){this.bufferFlushed=this.flushing=!1,super.onMediaDetaching(e,t);}onAudioTracksUpdated(e,{audioTracks:t}){this.resetTransmuxer(),this.levels=t.map(i=>new ga(i));}onAudioTrackSwitching(e,t){let i=!!t.url;this.trackId=t.id;let{fragCurrent:s}=this;s&&(s.abortRequests(),this.removeUnbufferedFrags(s.start)),this.resetLoadingState(),i?(this.switchingTrack=t,this.flushAudioIfNeeded(t),this.state!==le.STOPPED&&(this.setInterval(Vv),this.state=le.IDLE,this.tick())):(this.resetTransmuxer(),this.switchingTrack=null,this.bufferedTrack=t,this.clearInterval());}onManifestLoading(){super.onManifestLoading(),this.bufferFlushed=this.flushing=this.audioOnly=!1,this.resetItem(),this.trackId=-1;}onLevelLoaded(e,t){this.mainDetails=t.details;let i=this.cachedTrackLoadedData;i&&(this.cachedTrackLoadedData=null,this.onAudioTrackLoaded(C.AUDIO_TRACK_LOADED,i));}onAudioTrackLoaded(e,t){var i;let{levels:s}=this,{details:n,id:r,groupId:a,track:l}=t;if(!s){this.warn(`Audio tracks reset while loading track ${r} "${l.name}" of "${a}"`);return;}let c=this.mainDetails;if(!c||n.endCC>c.endCC||c.expired){this.cachedTrackLoadedData=t,this.state!==le.STOPPED&&(this.state=le.WAITING_TRACK);return;}this.cachedTrackLoadedData=null,this.log(`Audio track ${r} "${l.name}" of "${a}" loaded [${n.startSN},${n.endSN}]${n.lastPartSn?`[part-${n.lastPartSn}-${n.lastPartIndex}]`:""},duration:${n.totalduration}`);let u=s[r],f=0;if(n.live||(i=u.details)!=null&&i.live){if(this.checkLiveUpdate(n),n.deltaUpdateFailed)return;if(u.details){var p;f=this.alignPlaylists(n,u.details,(p=this.levelLastLoaded)==null?void 0:p.details);}n.alignedSliding||(T_(n,c),n.alignedSliding||Gd(n,c),f=n.fragmentStart);}u.details=n,this.levelLastLoaded=u,this.startFragRequested||this.setStartPosition(c,f),this.hls.trigger(C.AUDIO_TRACK_UPDATED,{details:n,id:r,groupId:t.groupId}),this.state===le.WAITING_TRACK&&!this.waitForCdnTuneIn(n)&&(this.state=le.IDLE),this.tick();}_handleFragmentLoadProgress(e){var t;let i=e.frag,{part:s,payload:n}=e,{config:r,trackId:a,levels:l}=this;if(!l){this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${i.sn} of level ${i.level} will not be buffered`);return;}let c=l[a];if(!c){this.warn("Audio track is undefined on fragment load progress");return;}let u=c.details;if(!u){this.warn("Audio track details undefined on fragment load progress"),this.removeUnbufferedFrags(i.start);return;}let f=r.defaultAudioCodec||c.audioCodec||"mp4a.40.2",p=this.transmuxer;p||(p=this.transmuxer=new V_(this.hls,Me.AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));let g=this.initPTS[i.cc],v=(t=i.initSegment)==null?void 0:t.data;if(g!==void 0){let y=s?s.index:-1,A=y!==-1,I=new Xh(i.level,i.sn,i.stats.chunkCount,n.byteLength,y,A);p.push(n,v,f,"",i,s,u.totalduration,!1,I,g);}else{this.log(`Unknown video PTS for cc ${i.cc}, waiting for video PTS before demuxing audio frag ${i.sn} of [${u.startSN} ,${u.endSN}],track ${a}`);let{cache:T}=this.waitingData=this.waitingData||{frag:i,part:s,cache:new E_(),complete:!1};T.push(new Uint8Array(n)),this.state!==le.STOPPED&&(this.state=le.WAITING_INIT_PTS);}}_handleFragmentLoadComplete(e){if(this.waitingData){this.waitingData.complete=!0;return;}super._handleFragmentLoadComplete(e);}onBufferReset(){this.mediaBuffer=null;}onBufferCreated(e,t){this.bufferFlushed=this.flushing=!1;let i=t.tracks.audio;i&&(this.mediaBuffer=i.buffer||null);}onFragLoading(e,t){!this.audioOnly&&t.frag.type===Me.MAIN&&$t(t.frag)&&(this.mainFragLoading=t,this.state===le.IDLE&&this.tick());}onFragBuffered(e,t){let{frag:i,part:s}=t;if(i.type!==Me.AUDIO){!this.audioOnly&&i.type===Me.MAIN&&!i.elementaryStreams.video&&!i.elementaryStreams.audiovideo&&(this.audioOnly=!0,this.mainFragLoading=null);return;}if(this.fragContextChanged(i)){this.warn(`Fragment ${i.sn}${s?" p: "+s.index:""} of level ${i.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);return;}if($t(i)){this.fragPrevious=i;let n=this.switchingTrack;n&&(this.bufferedTrack=n,this.switchingTrack=null,this.hls.trigger(C.AUDIO_TRACK_SWITCHED,yt({},n)));}this.fragBufferedComplete(i,s),this.media&&this.tick();}onError(e,t){var i;if(t.fatal){this.state=le.ERROR;return;}switch(t.details){case Z.FRAG_GAP:case Z.FRAG_PARSING_ERROR:case Z.FRAG_DECRYPT_ERROR:case Z.FRAG_LOAD_ERROR:case Z.FRAG_LOAD_TIMEOUT:case Z.KEY_LOAD_ERROR:case Z.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(Me.AUDIO,t);break;case Z.AUDIO_TRACK_LOAD_ERROR:case Z.AUDIO_TRACK_LOAD_TIMEOUT:case Z.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===le.WAITING_TRACK&&((i=t.context)==null?void 0:i.type)===it.AUDIO_TRACK&&(this.state=le.IDLE);break;case Z.BUFFER_ADD_CODEC_ERROR:case Z.BUFFER_APPEND_ERROR:if(t.parent!=="audio")return;this.reduceLengthAndFlushBuffer(t)||this.resetLoadingState();break;case Z.BUFFER_FULL_ERROR:if(t.parent!=="audio")return;this.reduceLengthAndFlushBuffer(t)&&(this.bufferedTrack=null,super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"));break;case Z.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break;}}onBufferFlushing(e,{type:t}){t!==At.VIDEO&&(this.flushing=!0);}onBufferFlushed(e,{type:t}){if(t!==At.VIDEO){this.flushing=!1,this.bufferFlushed=!0,this.state===le.ENDED&&(this.state=le.IDLE);let i=this.mediaBuffer||this.media;i&&(this.afterBufferFlushed(i,t,Me.AUDIO),this.tick());}}_handleTransmuxComplete(e){var t;let i="audio",{hls:s}=this,{remuxResult:n,chunkMeta:r}=e,a=this.getCurrentContext(r);if(!a){this.resetWhenMissingContext(r);return;}let{frag:l,part:c,level:u}=a,{details:f}=u,{audio:p,text:g,id3:v,initSegment:T}=n;if(this.fragContextChanged(l)||!f){this.fragmentTracker.removeFragment(l);return;}if(this.state=le.PARSING,this.switchingTrack&&p&&this.completeAudioSwitch(this.switchingTrack),T!=null&&T.tracks){let y=l.initSegment||l;if(this.unhandledEncryptionError(T,l))return;this._bufferInitSegment(u,T.tracks,y,r),s.trigger(C.FRAG_PARSING_INIT_SEGMENT,{frag:y,id:i,tracks:T.tracks});}if(p){let{startPTS:y,endPTS:A,startDTS:I,endDTS:P}=p;c&&(c.elementaryStreams[At.AUDIO]={startPTS:y,endPTS:A,startDTS:I,endDTS:P}),l.setElementaryStreamInfo(At.AUDIO,y,A,I,P),this.bufferFragmentData(p,l,c,r);}if(v!=null&&(t=v.samples)!=null&&t.length){let y=St({id:i,frag:l,details:f},v);s.trigger(C.FRAG_PARSING_METADATA,y);}if(g){let y=St({id:i,frag:l,details:f},g);s.trigger(C.FRAG_PARSING_USERDATA,y);}}_bufferInitSegment(e,t,i,s){if(this.state!==le.PARSING||(t.video&&delete t.video,t.audiovideo&&delete t.audiovideo,!t.audio))return;let n=t.audio;n.id=Me.AUDIO;let r=e.audioCodec;this.log(`Init audio buffer, container:${n.container}, codecs[level/parsed]=[${r}/${n.codec}]`),r&&r.split(",").length===1&&(n.levelCodec=r),this.hls.trigger(C.BUFFER_CODECS,t);let a=n.initSegment;if(a!=null&&a.byteLength){let l={type:"audio",frag:i,part:null,chunkMeta:s,parent:i.type,data:a};this.hls.trigger(C.BUFFER_APPENDING,l);}this.tickImmediate();}loadFragment(e,t,i){let s=this.fragmentTracker.getState(e);if(this.switchingTrack||s===Xt.NOT_LOADED||s===Xt.PARTIAL){var n;if(!$t(e))this._loadInitSegment(e,t);else if((n=t.details)!=null&&n.live&&!this.initPTS[e.cc]){this.log(`Waiting for video PTS in continuity counter ${e.cc} of live stream before loading audio fragment ${e.sn} of level ${this.trackId}`),this.state=le.WAITING_INIT_PTS;let r=this.mainDetails;r&&r.fragmentStart!==t.details.fragmentStart&&Gd(t.details,r);}else super.loadFragment(e,t,i);}else this.clearTrackerIfNeeded(e);}flushAudioIfNeeded(e){if(this.media&&this.bufferedTrack){let{name:t,lang:i,assocLang:s,characteristics:n,audioCodec:r,channels:a}=this.bufferedTrack;vr({name:t,lang:i,assocLang:s,characteristics:n,audioCodec:r,channels:a},e,dr)||(Bd(e.url,this.hls)?(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null):this.bufferedTrack=e);}}completeAudioSwitch(e){let{hls:t}=this;this.flushAudioIfNeeded(e),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(C.AUDIO_TRACK_SWITCHED,yt({},e));}},lf=class extends rs{constructor(e,t){super(t,e.logger),this.hls=void 0,this.canLoad=!1,this.timer=-1,this.hls=e;}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null;}clearTimer(){this.timer!==-1&&(self.clearTimeout(this.timer),this.timer=-1);}startLoad(){this.canLoad=!0,this.loadPlaylist();}stopLoad(){this.canLoad=!1,this.clearTimer();}switchParams(e,t,i){let s=t?.renditionReports;if(s){let n=-1;for(let r=0;r<s.length;r++){let a=s[r],l;try{l=new self.URL(a.URI,t.url).href;}catch(c){this.warn(`Could not construct new URL for Rendition Report: ${c}`),l=a.URI||"";}if(l===e){n=r;break;}else l===e.substring(0,l.length)&&(n=r);}if(n!==-1){let r=s[n],a=parseInt(r["LAST-MSN"])||t.lastPartSn,l=parseInt(r["LAST-PART"])||t.lastPartIndex;if(this.hls.config.lowLatencyMode){let u=Math.min(t.age-t.partTarget,t.targetduration);l>=0&&u>t.partTarget&&(l+=1);}let c=i&&iv(i);return new sv(a,l>=0?l:void 0,c);}}}loadPlaylist(e){this.clearTimer();}loadingPlaylist(e,t){this.clearTimer();}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live);}getUrlWithDirectives(e,t){if(t)try{return t.addDirectives(e);}catch(i){this.warn(`Could not construct new URL with HLS Delivery Directives: ${i}`);}return e;}playlistLoaded(e,t,i){let{details:s,stats:n}=t,r=self.performance.now(),a=n.loading.first?Math.max(0,r-n.loading.first):0;s.advancedDateTime=Date.now()-a;let l=this.hls.config.timelineOffset;if(l!==s.appliedTimelineOffset){let u=Math.max(l||0,0);s.appliedTimelineOffset=u,s.fragments.forEach(f=>{f.setStart(f.playlistOffset+u);});}if(s.live||i!=null&&i.live){let u="levelInfo"in t?t.levelInfo:t.track;if(s.reloaded(i),i&&s.fragments.length>0){Nw(i,s,this);let A=s.playlistParsingError;if(A){this.warn(A);let I=this.hls;if(!I.config.ignorePlaylistParsingErrors){var c;let{networkDetails:P}=t;I.trigger(C.ERROR,{type:Fe.NETWORK_ERROR,details:Z.LEVEL_PARSING_ERROR,fatal:!1,url:s.url,error:A,reason:A.message,level:t.level||void 0,parent:(c=s.fragments[0])==null?void 0:c.type,networkDetails:P,stats:n});return;}s.playlistParsingError=null;}}s.requestScheduled===-1&&(s.requestScheduled=n.loading.start);let f=this.hls.mainForwardBufferInfo,p=f?f.end-f.len:0,g=g_(s,(s.edge-p)*1e3);if(s.requestScheduled+g<r?s.requestScheduled=r:s.requestScheduled+=g,this.log(`live playlist ${e} ${s.advanced?"REFRESHED "+s.lastPartSn+"-"+s.lastPartIndex:s.updated?"UPDATED":"MISSED"}`),!this.canLoad||!s.live)return;let v,T,y;if(s.canBlockReload&&s.endSN&&s.advanced){let A=this.hls.config.lowLatencyMode,I=s.lastPartSn,P=s.endSN,k=s.lastPartIndex,w=k!==-1,R=I===P;w?R?(T=P+1,y=A?0:k):(T=I,y=A?k+1:s.maxPartIndex):T=P+1;let x=s.age,D=x+s.ageHeader,O=Math.min(D-s.partTarget,s.targetduration*1.5);if(O>0){if(D>s.targetduration*3)this.log(`Playlist last advanced ${x.toFixed(2)}s ago. Omitting segment and part directives.`),T=void 0,y=void 0;else if(i!=null&&i.tuneInGoal&&D-s.partTarget>i.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${i.tuneInGoal} to: ${O} with playlist age: ${s.age}`),O=0;else{let V=Math.floor(O/s.targetduration);if(T+=V,y!==void 0){let $=Math.round(O%s.targetduration/s.partTarget);y+=$;}this.log(`CDN Tune-in age: ${s.ageHeader}s last advanced ${x.toFixed(2)}s goal: ${O} skip sn ${V} to part ${y}`);}s.tuneInGoal=O;}if(v=this.getDeliveryDirectives(s,t.deliveryDirectives,T,y),A||!R){s.requestScheduled=r,this.loadingPlaylist(u,v);return;}}else(s.canBlockReload||s.canSkipUntil)&&(v=this.getDeliveryDirectives(s,t.deliveryDirectives,T,y));v&&T!==void 0&&s.canBlockReload&&(s.requestScheduled=n.loading.first+Math.max(g-a*2,g/2)),this.scheduleLoading(u,v,s);}else this.clearTimer();}scheduleLoading(e,t,i){let s=i||e.details;if(!s){this.loadingPlaylist(e,t);return;}let n=self.performance.now(),r=s.requestScheduled;if(n>=r){this.loadingPlaylist(e,t);return;}let a=r-n;this.log(`reload live playlist ${e.name||e.bitrate+"bps"} in ${Math.round(a)} ms`),this.clearTimer(),this.timer=self.setTimeout(()=>this.loadingPlaylist(e,t),a);}getDeliveryDirectives(e,t,i,s){let n=iv(e);return t!=null&&t.skip&&e.deltaUpdateFailed&&(i=t.msn,s=t.part,n=bd.No),new sv(i,s,n);}checkRetry(e){let t=e.details,i=Ud(e),s=e.errorAction,{action:n,retryCount:r=0,retryConfig:a}=s||{},l=!!s&&!!a&&(n===ri.RetryRequest||!s.resolved&&n===ri.SendAlternateToPenaltyBox);if(l){var c;if(r>=a.maxNumRetry)return!1;if(i&&(c=e.context)!=null&&c.deliveryDirectives)this.warn(`Retrying playlist loading ${r+1}/${a.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist();else{let u=Kh(a,r);this.clearTimer(),this.timer=self.setTimeout(()=>this.loadPlaylist(),u),this.warn(`Retrying playlist loading ${r+1}/${a.maxNumRetry} after "${t}" in ${u}ms`);}e.levelRetry=!0,s.resolved=!0;}return l;}};function $_(e,t){if(e.length!==t.length)return!1;for(let i=0;i<e.length;i++)if(!ba(e[i].attrs,t[i].attrs))return!1;return!0;}function ba(e,t,i){let s=e["STABLE-RENDITION-ID"];return s&&!i?s===t["STABLE-RENDITION-ID"]:!(i||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some(n=>e[n]!==t[n]);}function yh(e,t){return t.label.toLowerCase()===e.name.toLowerCase()&&(!t.language||t.language.toLowerCase()===(e.lang||"").toLowerCase());}var WA=class extends lf{constructor(e){super(e,"audio-track-controller"),this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.registerListeners();}registerListeners(){let{hls:e}=this;e.on(C.MANIFEST_LOADING,this.onManifestLoading,this),e.on(C.MANIFEST_PARSED,this.onManifestParsed,this),e.on(C.LEVEL_LOADING,this.onLevelLoading,this),e.on(C.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(C.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(C.ERROR,this.onError,this);}unregisterListeners(){let{hls:e}=this;e.off(C.MANIFEST_LOADING,this.onManifestLoading,this),e.off(C.MANIFEST_PARSED,this.onManifestParsed,this),e.off(C.LEVEL_LOADING,this.onLevelLoading,this),e.off(C.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(C.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(C.ERROR,this.onError,this);}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,super.destroy();}onManifestLoading(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0;}onManifestParsed(e,t){this.tracks=t.audioTracks||[];}onAudioTrackLoaded(e,t){let{id:i,groupId:s,details:n}=t,r=this.tracksInGroup[i];if(!r||r.groupId!==s){this.warn(`Audio track with id:${i} and group:${s} not found in active group ${r?.groupId}`);return;}let a=r.details;r.details=t.details,this.log(`Audio track ${i} "${r.name}" lang:${r.lang} group:${s} loaded [${n.startSN}-${n.endSN}]`),i===this.trackId&&this.playlistLoaded(i,t,a);}onLevelLoading(e,t){this.switchLevel(t.level);}onLevelSwitching(e,t){this.switchLevel(t.level);}switchLevel(e){let t=this.hls.levels[e];if(!t)return;let i=t.audioGroups||null,s=this.groupIds,n=this.currentTrack;if(!i||s?.length!==i?.length||i!=null&&i.some(a=>s?.indexOf(a)===-1)){this.groupIds=i,this.trackId=-1,this.currentTrack=null;let a=this.tracks.filter(p=>!i||i.indexOf(p.groupId)!==-1);if(a.length)this.selectDefaultTrack&&!a.some(p=>p.default)&&(this.selectDefaultTrack=!1),a.forEach((p,g)=>{p.id=g;});else if(!n&&!this.tracksInGroup.length)return;this.tracksInGroup=a;let l=this.hls.config.audioPreference;if(!n&&l){let p=js(l,a,dr);if(p>-1)n=a[p];else{let g=js(l,this.tracks);n=this.tracks[g];}}let c=this.findTrackId(n);c===-1&&n&&(c=this.findTrackId(null));let u={audioTracks:a};this.log(`Updating audio tracks, ${a.length} track(s) found in group(s): ${i?.join(",")}`),this.hls.trigger(C.AUDIO_TRACKS_UPDATED,u);let f=this.trackId;if(c!==-1&&f===-1)this.setAudioTrack(c);else if(a.length&&f===-1){var r;let p=new Error(`No audio track selected for current audio group-ID(s): ${(r=this.groupIds)==null?void 0:r.join(",")} track count: ${a.length}`);this.warn(p.message),this.hls.trigger(C.ERROR,{type:Fe.MEDIA_ERROR,details:Z.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:p});}}}onError(e,t){t.fatal||!t.context||t.context.type===it.AUDIO_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&this.checkRetry(t);}get allAudioTracks(){return this.tracks;}get audioTracks(){return this.tracksInGroup;}get audioTrack(){return this.trackId;}set audioTrack(e){this.selectDefaultTrack=!1,this.setAudioTrack(e);}setAudioOption(e){let t=this.hls;if(t.config.audioPreference=e,e){let i=this.allAudioTracks;if(this.selectDefaultTrack=!1,i.length){let s=this.currentTrack;if(s&&vr(e,s,dr))return s;let n=js(e,this.tracksInGroup,dr);if(n>-1){let r=this.tracksInGroup[n];return this.setAudioTrack(n),r;}else if(s){let r=t.loadLevel;r===-1&&(r=t.firstAutoLevel);let a=nw(e,t.levels,i,r,dr);if(a===-1)return null;t.nextLoadLevel=a;}if(e.channels||e.audioCodec){let r=js(e,i);if(r>-1)return i[r];}}}return null;}setAudioTrack(e){let t=this.tracksInGroup;if(e<0||e>=t.length){this.warn(`Invalid audio track id: ${e}`);return;}this.selectDefaultTrack=!1;let i=this.currentTrack,s=t[e],n=s.details&&!s.details.live;if(e===this.trackId&&s===i&&n||(this.log(`Switching to audio-track ${e} "${s.name}" lang:${s.lang} group:${s.groupId} channels:${s.channels}`),this.trackId=e,this.currentTrack=s,this.hls.trigger(C.AUDIO_TRACK_SWITCHING,yt({},s)),n))return;let r=this.switchParams(s.url,i?.details,s.details);this.loadPlaylist(r);}findTrackId(e){let t=this.tracksInGroup;for(let i=0;i<t.length;i++){let s=t[i];if(!(this.selectDefaultTrack&&!s.default)&&(!e||vr(e,s,dr)))return i;}if(e){let{name:i,lang:s,assocLang:n,characteristics:r,audioCodec:a,channels:l}=e;for(let c=0;c<t.length;c++){let u=t[c];if(vr({name:i,lang:s,assocLang:n,characteristics:r,audioCodec:a,channels:l},u,dr))return c;}for(let c=0;c<t.length;c++){let u=t[c];if(ba(e.attrs,u.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return c;}for(let c=0;c<t.length;c++){let u=t[c];if(ba(e.attrs,u.attrs,["LANGUAGE"]))return c;}}return-1;}loadPlaylist(e){super.loadPlaylist();let t=this.currentTrack;this.shouldLoadPlaylist(t)&&Bd(t.url,this.hls)&&this.scheduleLoading(t,e);}loadingPlaylist(e,t){super.loadingPlaylist(e,t);let i=e.id,s=e.groupId,n=this.getUrlWithDirectives(e.url,t),r=e.details,a=r?.age;this.log(`Loading audio-track ${i} "${e.name}" lang:${e.lang} group:${s}${t?.msn!==void 0?" at sn "+t.msn+" part "+t.part:""}${a&&r.live?" age "+a.toFixed(1)+(r.type&&" "+r.type||""):""} ${n}`),this.hls.trigger(C.AUDIO_TRACK_LOADING,{url:n,id:i,groupId:s,deliveryDirectives:t||null,track:e});}},qA=class{constructor(e){this.tracks=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.tracks=e;}destroy(){this.tracks=this.queues=null;}append(e,t,i){if(this.queues===null||this.tracks===null)return;let s=this.queues[t];s.push(e),s.length===1&&!i&&this.executeNext(t);}appendBlocker(e){return new Promise(t=>{let i={label:"async-blocker",execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}};this.append(i,e);});}prependBlocker(e){return new Promise(t=>{if(this.queues){let i={label:"async-blocker-prepend",execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}};this.queues[e].unshift(i);}});}removeBlockers(){this.queues!==null&&[this.queues.video,this.queues.audio,this.queues.audiovideo].forEach(e=>{var t;let i=(t=e[0])==null?void 0:t.label;(i==="async-blocker"||i==="async-blocker-prepend")&&(e[0].execute(),e.splice(0,1));});}unblockAudio(e){this.queues!==null&&this.queues.audio[0]===e&&this.shiftAndExecuteNext("audio");}executeNext(e){if(this.queues===null||this.tracks===null)return;let t=this.queues[e];if(t.length){let s=t[0];try{s.execute();}catch(n){var i;if(s.onError(n),this.queues===null||this.tracks===null)return;let r=(i=this.tracks[e])==null?void 0:i.buffer;r!=null&&r.updating||this.shiftAndExecuteNext(e);}}}shiftAndExecuteNext(e){this.queues!==null&&(this.queues[e].shift(),this.executeNext(e));}current(e){var t;return((t=this.queues)==null?void 0:t[e][0])||null;}toString(){let{queues:e,tracks:t}=this;return e===null||t===null?"<destroyed>":` 235${this.list("video")} 236${this.list("audio")} 237${this.list("audiovideo")}}`;}list(e){var t,i;return(t=this.queues)!=null&&t[e]||(i=this.tracks)!=null&&i[e]?`${e}: (${this.listSbInfo(e)}) ${this.listOps(e)}`:"";}listSbInfo(e){var t;let i=(t=this.tracks)==null?void 0:t[e],s=i?.buffer;return s?`SourceBuffer${s.updating?" updating":""}${i.ended?" ended":""}${i.ending?" ending":""}`:"none";}listOps(e){var t;return((t=this.queues)==null?void 0:t[e].map(i=>i.label).join(", "))||"";}},$v=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,H_="HlsJsTrackRemovedError",KA=class extends Error{constructor(e){super(e),this.name=H_;}},YA=class extends rs{constructor(e,t){super("buffer-controller",e.logger),this.hls=void 0,this.fragmentTracker=void 0,this.details=null,this._objectUrl=null,this.operationQueue=null,this.bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.blockedAudioAppend=null,this.lastVideoAppendEnd=0,this.appendSource=void 0,this.transferData=void 0,this.overrides=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.sourceBuffers=[[null,null],[null,null]],this._onEndStreaming=i=>{var s;this.hls&&((s=this.mediaSource)==null?void 0:s.readyState)==="open"&&this.hls.pauseBuffering();},this._onStartStreaming=i=>{this.hls&&this.hls.resumeBuffering();},this._onMediaSourceOpen=i=>{let{media:s,mediaSource:n}=this;i&&this.log("Media source opened"),!(!s||!n)&&(n.removeEventListener("sourceopen",this._onMediaSourceOpen),s.removeEventListener("emptied",this._onMediaEmptied),this.updateDuration(),this.hls.trigger(C.MEDIA_ATTACHED,{media:s,mediaSource:n}),this.mediaSource!==null&&this.checkPendingTracks());},this._onMediaSourceClose=()=>{this.log("Media source closed");},this._onMediaSourceEnded=()=>{this.log("Media source ended");},this._onMediaEmptied=()=>{let{mediaSrc:i,_objectUrl:s}=this;i!==s&&this.error(`Media element src was set while attaching MediaSource (${s} > ${i})`);},this.hls=e,this.fragmentTracker=t,this.appendSource=v2(Un(e.config.preferManagedMediaSource)),this.initTracks(),this.registerListeners();}hasSourceTypes(){return Object.keys(this.tracks).length>0;}destroy(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=this.blockedAudioAppend=null,this.transferData=this.overrides=void 0,this.operationQueue&&(this.operationQueue.destroy(),this.operationQueue=null),this.hls=this.fragmentTracker=null,this._onMediaSourceOpen=this._onMediaSourceClose=null,this._onMediaSourceEnded=null,this._onStartStreaming=this._onEndStreaming=null;}registerListeners(){let{hls:e}=this;e.on(C.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(C.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(C.MANIFEST_LOADING,this.onManifestLoading,this),e.on(C.MANIFEST_PARSED,this.onManifestParsed,this),e.on(C.BUFFER_RESET,this.onBufferReset,this),e.on(C.BUFFER_APPENDING,this.onBufferAppending,this),e.on(C.BUFFER_CODECS,this.onBufferCodecs,this),e.on(C.BUFFER_EOS,this.onBufferEos,this),e.on(C.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(C.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(C.FRAG_PARSED,this.onFragParsed,this),e.on(C.FRAG_CHANGED,this.onFragChanged,this),e.on(C.ERROR,this.onError,this);}unregisterListeners(){let{hls:e}=this;e.off(C.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(C.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(C.MANIFEST_LOADING,this.onManifestLoading,this),e.off(C.MANIFEST_PARSED,this.onManifestParsed,this),e.off(C.BUFFER_RESET,this.onBufferReset,this),e.off(C.BUFFER_APPENDING,this.onBufferAppending,this),e.off(C.BUFFER_CODECS,this.onBufferCodecs,this),e.off(C.BUFFER_EOS,this.onBufferEos,this),e.off(C.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(C.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(C.FRAG_PARSED,this.onFragParsed,this),e.off(C.FRAG_CHANGED,this.onFragChanged,this),e.off(C.ERROR,this.onError,this);}transferMedia(){let{media:e,mediaSource:t}=this;if(!e)return null;let i={};if(this.operationQueue){let n=this.isUpdating();n||this.operationQueue.removeBlockers();let r=this.isQueued();(n||r)&&this.warn(`Transfering MediaSource with${r?" operations in queue":""}${n?" updating SourceBuffer(s)":""} ${this.operationQueue}`),this.operationQueue.destroy();}let s=this.transferData;return!this.sourceBufferCount&&s&&s.mediaSource===t?St(i,s.tracks):this.sourceBuffers.forEach(n=>{let[r]=n;r&&(i[r]=St({},this.tracks[r]),this.removeBuffer(r)),n[0]=n[1]=null;}),{media:e,mediaSource:t,tracks:i};}initTracks(){let e={};this.sourceBuffers=[[null,null],[null,null]],this.tracks=e,this.resetQueue(),this.resetAppendErrors(),this.lastMpegAudioChunk=this.blockedAudioAppend=null,this.lastVideoAppendEnd=0;}onManifestLoading(){this.bufferCodecEventsTotal=0,this.details=null;}onManifestParsed(e,t){var i;let s=2;(t.audio&&!t.video||!t.altAudio)&&(s=1),this.bufferCodecEventsTotal=s,this.log(`${s}
237 bufferCodec event(s) expected.`),(i=this.transferData)!=null&&i.mediaSource&&this.sourceBufferCount&&s&&this.bufferCreated();}onMediaAttaching(e,t){let i=this.media=t.media;this.transferData=this.overrides=void 0;let s=Un(this.appendSource);if(s){let n=!!t.mediaSource;(n||t.overrides)&&(this.transferData=t,this.overrides=t.overrides);let r=this.mediaSource=t.mediaSource||new s();if(this.assignMediaSource(r),n)this._objectUrl=i.src,this.attachTransferred();else{let a=this._objectUrl=self.URL.createObjectURL(r);if(this.appendSource)try{i.removeAttribute("src");let l=self.ManagedMediaSource;i.disableRemotePlayback=i.disableRemotePlayback||l&&r instanceof l,Hv(i),XA(i,a),i.load();}catch(l){i.src=a;}else i.src=a;}i.addEventListener("emptied",this._onMediaEmptied);}}assignMediaSource(e){var t,i;this.log(`${((t=this.transferData)==null?void 0:t.mediaSource)===e?"transferred":"created"} media source: ${(i=e.constructor)==null?void 0:i.name}`),e.addEventListener("sourceopen",this._onMediaSourceOpen),e.addEventListener("sourceended",this._onMediaSourceEnded),e.addEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(e.addEventListener("startstreaming",this._onStartStreaming),e.addEventListener("endstreaming",this._onEndStreaming));}attachTransferred(){let e=this.media,t=this.transferData;if(!t||!e)return;let i=this.tracks,s=t.tracks,n=s?Object.keys(s):null,r=n?n.length:0,a=()=>{Promise.resolve().then(()=>{this.media&&this.mediaSourceOpenOrEnded&&this._onMediaSourceOpen();});};if(s&&n&&r){if(!this.tracksReady){this.hls.config.startFragPrefetch=!0,this.log("attachTransferred: waiting for SourceBuffer track info");return;}if(this.log(`attachTransferred: (bufferCodecEventsTotal ${this.bufferCodecEventsTotal}) 238required tracks: ${It(i,(l,c)=>l==="initSegment"?void 0:c)}; 239transfer tracks: ${It(s,(l,c)=>l==="initSegment"?void 0:c)}}`),!Fy(s,i)){t.mediaSource=null,t.tracks=void 0;let l=e.currentTime,c=this.details,u=Math.max(l,c?.fragments[0].start||0);if(u-l>1){this.log(`attachTransferred: waiting for playback to reach new tracks start time ${l} -> ${u}`);return;}this.warn(`attachTransferred: resetting MediaSource for incompatible tracks ("${Object.keys(s)}"->"${Object.keys(i)}") start time: ${u} currentTime: ${l}`),this.onMediaDetaching(C.MEDIA_DETACHING,{}),this.onMediaAttaching(C.MEDIA_ATTACHING,t),e.currentTime=u;return;}this.transferData=void 0,n.forEach(l=>{let c=l,u=s[c];if(u){let f=u.buffer;if(f){let p=this.fragmentTracker,g=u.id;if(p.hasFragments(g)||p.hasParts(g)){let y=et.getBuffered(f);p.detectEvictedFragments(c,y,g,null,!0);}let v=gu(c),T=[c,f];this.sourceBuffers[v]=T,f.updating&&this.operationQueue&&this.operationQueue.prependBlocker(c),this.trackSourceBuffer(c,u);}}}),a(),this.bufferCreated();}else this.log("attachTransferred: MediaSource w/o SourceBuffers"),a();}get mediaSourceOpenOrEnded(){var e;let t=(e=this.mediaSource)==null?void 0:e.readyState;return t==="open"||t==="ended";}onMediaDetaching(e,t){let i=!!t.transferMedia;this.transferData=this.overrides=void 0;let{media:s,mediaSource:n,_objectUrl:r}=this;if(n){if(this.log(`media source ${i?"transferring":"detaching"}`),i)this.sourceBuffers.forEach(([a])=>{a&&this.removeBuffer(a);}),this.resetQueue();else{if(this.mediaSourceOpenOrEnded){let a=n.readyState==="open";try{let l=n.sourceBuffers;for(let c=l.length;c--;)a&&l[c].abort(),n.removeSourceBuffer(l[c]);a&&n.endOfStream();}catch(l){this.warn(`onMediaDetaching: ${l.message} while calling endOfStream`);}}this.sourceBufferCount&&this.onBufferReset();}n.removeEventListener("sourceopen",this._onMediaSourceOpen),n.removeEventListener("sourceended",this._onMediaSourceEnded),n.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(n.removeEventListener("startstreaming",this._onStartStreaming),n.removeEventListener("endstreaming",this._onEndStreaming)),this.mediaSource=null,this._objectUrl=null;}s&&(s.removeEventListener("emptied",this._onMediaEmptied),i||(r&&self.URL.revokeObjectURL(r),this.mediaSrc===r?(s.removeAttribute("src"),this.appendSource&&Hv(s),s.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.media=null),this.hls.trigger(C.MEDIA_DETACHED,t);}
vendor: 14,917 bytes, line 239
239onBufferReset(){this.sourceBuffers.forEach(([e])=>{e&&this.resetBuffer(e);}),this.initTracks();}resetBuffer(e){var t;let i=(t=this.tracks[e])==null?void 0:t.buffer;if(this.removeBuffer(e),i)try{var s;(s=this.mediaSource)!=null&&s.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(i);}catch(n){this.warn(`onBufferReset ${e}`,n);}delete this.tracks[e];}removeBuffer(e){this.removeBufferListeners(e),this.sourceBuffers[gu(e)]=[null,null];let t=this.tracks[e];t&&(t.buffer=void 0);}resetQueue(){this.operationQueue&&this.operationQueue.destroy(),this.operationQueue=new qA(this.tracks);}onBufferCodecs(e,t){var i;let s=this.tracks,n=Object.keys(t);this.log(`BUFFER_CODECS: "${n}" (current SB count ${this.sourceBufferCount})`);let r="audiovideo"in t&&(s.audio||s.video)||s.audiovideo&&("audio"in t||"video"in t),a=!r&&this.sourceBufferCount&&this.media&&n.some(l=>!s[l]);if(r||a){this.warn(`Unsupported transition between "${Object.keys(s)}" and "${n}" SourceBuffers`);return;}n.forEach(l=>{var c,u;let{id:f,codec:p,levelCodec:g,container:v,metadata:T,supplemental:y}=t[l],A=s[l],I=(c=this.transferData)==null||(c=c.tracks)==null?void 0:c[l],P=I!=null&&I.buffer?I:A,k=P?.pendingCodec||P?.codec,w=P?.levelCodec;A||(A=s[l]={buffer:void 0,listeners:[],codec:p,supplemental:y,container:v,levelCodec:g,metadata:T,id:f});let R=_d(k,w),x=R?.replace($v,"$1"),D=_d(p,g),O=(u=D)==null?void 0:u.replace($v,"$1");D&&R&&x!==O&&(l.slice(0,5)==="audio"&&(D=Nd(D,this.appendSource)),this.log(`switching codec ${k} to ${D}`),D!==(A.pendingCodec||A.codec)&&(A.pendingCodec=D),A.container=v,this.appendChangeType(l,v,D));}),(this.tracksReady||this.sourceBufferCount)&&(t.tracks=this.sourceBufferTracks),!this.sourceBufferCount&&(this.bufferCodecEventsTotal>1&&!this.tracks.video&&!t.video&&((i=t.audio)==null?void 0:i.id)==="main"&&(this.log("Main audio-only"),this.bufferCodecEventsTotal=1),this.mediaSourceOpenOrEnded&&this.checkPendingTracks());}get sourceBufferTracks(){return Object.keys(this.tracks).reduce((e,t)=>{let i=this.tracks[t];return e[t]={id:i.id,container:i.container,codec:i.codec,levelCodec:i.levelCodec},e;},{});}appendChangeType(e,t,i){let s=`${t};codecs=${i}`,n={label:`change-type=${s}`,execute:()=>{let r=this.tracks[e];if(r){let a=r.buffer;a!=null&&a.changeType&&(this.log(`changing ${e} sourceBuffer type to ${s}`),a.changeType(s),r.codec=i,r.container=t);}this.shiftAndExecuteNext(e);},onStart:()=>{},onComplete:()=>{},onError:r=>{this.warn(`Failed to change ${e} SourceBuffer type`,r);}};this.append(n,e,this.isPending(this.tracks[e]));}blockAudio(e){var t;let i=e.start,s=i+e.duration*.05;if(((t=this.fragmentTracker.getAppendedFrag(i,Me.MAIN))==null?void 0:t.gap)===!0)return;let n={label:"block-audio",execute:()=>{var r;let a=this.tracks.video;(this.lastVideoAppendEnd>s||a!=null&&a.buffer&&et.isBuffered(a.buffer,s)||((r=this.fragmentTracker.getAppendedFrag(s,Me.MAIN))==null?void 0:r.gap)===!0)&&(this.blockedAudioAppend=null,this.shiftAndExecuteNext("audio"));},onStart:()=>{},onComplete:()=>{},onError:r=>{this.warn("Error executing block-audio operation",r);}};this.blockedAudioAppend={op:n,frag:e},this.append(n,"audio",!0);}unblockAudio(){let{blockedAudioAppend:e,operationQueue:t}=this;e&&t&&(this.blockedAudioAppend=null,t.unblockAudio(e.op));}onBufferAppending(e,t){let{tracks:i}=this,{data:s,type:n,parent:r,frag:a,part:l,chunkMeta:c,offset:u}=t,f=c.buffering[n],{sn:p,cc:g}=a,v=self.performance.now();f.start=v;let T=a.stats.buffering,y=l?l.stats.buffering:null;T.start===0&&(T.start=v),y&&y.start===0&&(y.start=v);let A=i.audio,I=!1;n==="audio"&&A?.container==="audio/mpeg"&&(I=!this.lastMpegAudioChunk||c.id===1||this.lastMpegAudioChunk.sn!==c.sn,this.lastMpegAudioChunk=c);let P=i.video,k=P?.buffer;if(k&&p!=="initSegment"){let x=l||a,D=this.blockedAudioAppend;if(n==="audio"&&r!=="main"&&!this.blockedAudioAppend&&!(P.ending||P.ended)){let O=x.start+x.duration*.05,V=k.buffered,$=this.currentOp("video");!V.length&&!$?this.blockAudio(x):!$&&!et.isBuffered(k,O)&&this.lastVideoAppendEnd<O&&this.blockAudio(x);}else if(n==="video"){let O=x.end;if(D){let V=D.frag.start;(O>V||O<this.lastVideoAppendEnd||et.isBuffered(k,V))&&this.unblockAudio();}this.lastVideoAppendEnd=O;}}let w=(l||a).start,R={label:`append-${n}`,execute:()=>{var x;f.executeStart=self.performance.now();let D=(x=this.tracks[n])==null?void 0:x.buffer;D&&(I?this.updateTimestampOffset(D,w,.1,n,p,g):u!==void 0&&Ie(u)&&this.updateTimestampOffset(D,u,1e-6,n,p,g)),this.appendExecutor(s,n);},onStart:()=>{},onComplete:()=>{let x=self.performance.now();f.executeEnd=f.end=x,T.first===0&&(T.first=x),y&&y.first===0&&(y.first=x);let D={};this.sourceBuffers.forEach(([O,V])=>{O&&(D[O]=et.getBuffered(V));}),this.appendErrors[n]=0,n==="audio"||n==="video"?this.appendErrors.audiovideo=0:(this.appendErrors.audio=0,this.appendErrors.video=0),this.hls.trigger(C.BUFFER_APPENDED,{type:n,frag:a,part:l,chunkMeta:c,parent:a.type,timeRanges:D});},onError:x=>{var D;let O={type:Fe.MEDIA_ERROR,parent:a.type,details:Z.BUFFER_APPEND_ERROR,sourceBufferName:n,frag:a,part:l,chunkMeta:c,error:x,err:x,fatal:!1},V=(D=this.media)==null?void 0:D.error;if(x.code===DOMException.QUOTA_EXCEEDED_ERR||x.name=="QuotaExceededError"||"quota"in x)O.details=Z.BUFFER_FULL_ERROR;else if(x.code===DOMException.INVALID_STATE_ERR&&this.mediaSourceOpenOrEnded&&!V)O.errorAction=po(!0);else if(x.name===H_&&this.sourceBufferCount===0)O.errorAction=po(!0);else{let $=++this.appendErrors[n];this.warn(`Failed ${$}/${this.hls.config.appendErrorMaxRetry} times to append segment in "${n}" sourceBuffer (${V||"no media error"})`),($>=this.hls.config.appendErrorMaxRetry||V)&&(O.fatal=!0);}this.hls.trigger(C.ERROR,O);}};this.log(`queuing "${n}" append sn: ${p}${l?" p: "+l.index:""} of ${a.type===Me.MAIN?"level":"track"} ${a.level} cc: ${g}`),this.append(R,n,this.isPending(this.tracks[n]));}getFlushOp(e,t,i){return this.log(`queuing "${e}" remove ${t}-${i}`),{label:"remove",execute:()=>{this.removeExecutor(e,t,i);},onStart:()=>{},onComplete:()=>{this.hls.trigger(C.BUFFER_FLUSHED,{type:e});},onError:s=>{this.warn(`Failed to remove ${t}-${i} from "${e}" SourceBuffer`,s);}};}onBufferFlushing(e,t){let{type:i,startOffset:s,endOffset:n}=t;i?this.append(this.getFlushOp(i,s,n),i):this.sourceBuffers.forEach(([r])=>{r&&this.append(this.getFlushOp(r,s,n),r);});}onFragParsed(e,t){let{frag:i,part:s}=t,n=[],r=s?s.elementaryStreams:i.elementaryStreams;r[At.AUDIOVIDEO]?n.push("audiovideo"):(r[At.AUDIO]&&n.push("audio"),r[At.VIDEO]&&n.push("video"));let a=()=>{let l=self.performance.now();i.stats.buffering.end=l,s&&(s.stats.buffering.end=l);let c=s?s.stats:i.stats;this.hls.trigger(C.FRAG_BUFFERED,{frag:i,part:s,stats:c,id:i.type});};n.length===0&&this.warn(`Fragments must have at least one ElementaryStreamType set. type: ${i.type} level: ${i.level} sn: ${i.sn}`),this.blockBuffers(a,n).catch(l=>{this.warn(`Fragment buffered callback ${l}`),this.stepOperationQueue(this.sourceBufferTypes);});}onFragChanged(e,t){this.trimBuffers();}get bufferedToEnd(){return this.sourceBufferCount>0&&!this.sourceBuffers.some(([e])=>{if(e){let t=this.tracks[e];if(t)return!t.ended||t.ending;}return!1;});}onBufferEos(e,t){var i;this.sourceBuffers.forEach(([n])=>{if(n){let r=this.tracks[n];(!t.type||t.type===n)&&(r.ending=!0,r.ended||(r.ended=!0,this.log(`${n} buffer reached EOS`)));}});let s=((i=this.overrides)==null?void 0:i.endOfStream)!==!1;this.sourceBufferCount>0&&!this.sourceBuffers.some(([n])=>{var r;return n&&!((r=this.tracks[n])!=null&&r.ended);})?s?(this.log("Queueing EOS"),this.blockUntilOpen(()=>{this.tracksEnded();let{mediaSource:n}=this;if(!n||n.readyState!=="open"){n&&this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${n.readyState}`);return;}this.log("Calling mediaSource.endOfStream()"),n.endOfStream(),this.hls.trigger(C.BUFFERED_TO_END,void 0);})):(this.tracksEnded(),this.hls.trigger(C.BUFFERED_TO_END,void 0)):t.type==="video"&&this.unblockAudio();}tracksEnded(){this.sourceBuffers.forEach(([e])=>{if(e!==null){let t=this.tracks[e];t&&(t.ending=!1);}});}onLevelUpdated(e,{details:t}){t.fragments.length&&(this.details=t,this.updateDuration());}updateDuration(){this.blockUntilOpen(()=>{let e=this.getDurationAndRange();e&&this.updateMediaSource(e);});}onError(e,t){if(t.details===Z.BUFFER_APPEND_ERROR&&t.frag){var i;let s=(i=t.errorAction)==null?void 0:i.nextAutoLevel;Ie(s)&&s!==t.frag.level&&this.resetAppendErrors();}}resetAppendErrors(){this.appendErrors={audio:0,video:0,audiovideo:0};}trimBuffers(){let{hls:e,details:t,media:i}=this;if(!i||t===null||!this.sourceBufferCount)return;let s=e.config,n=i.currentTime,r=t.levelTargetDuration,a=t.live&&s.liveBackBufferLength!==null?s.liveBackBufferLength:s.backBufferLength;if(Ie(a)&&a>=0){let c=Math.max(a,r),u=Math.floor(n/r)*r-c;this.flushBackBuffer(n,r,u);}let l=s.frontBufferFlushThreshold;if(Ie(l)&&l>0){let c=Math.max(s.maxBufferLength,l),u=Math.max(c,r),f=Math.floor(n/r)*r+u;this.flushFrontBuffer(n,r,f);}}flushBackBuffer(e,t,i){this.sourceBuffers.forEach(([s,n])=>{if(n){let a=et.getBuffered(n);if(a.length>0&&i>a.start(0)){var r;this.hls.trigger(C.BACK_BUFFER_REACHED,{bufferEnd:i});let l=this.tracks[s];if((r=this.details)!=null&&r.live)this.hls.trigger(C.LIVE_BACK_BUFFER_REACHED,{bufferEnd:i});else if(l!=null&&l.ended){this.log(`Cannot flush ${s} back buffer while SourceBuffer is in ended state`);return;}this.hls.trigger(C.BUFFER_FLUSHING,{startOffset:0,endOffset:i,type:s});}}});}flushFrontBuffer(e,t,i){this.sourceBuffers.forEach(([s,n])=>{if(n){let r=et.getBuffered(n),a=r.length;if(a<2)return;let l=r.start(a-1),c=r.end(a-1);if(i>l||e>=l&&e<=c)return;this.hls.trigger(C.BUFFER_FLUSHING,{startOffset:l,endOffset:1/0,type:s});}});}getDurationAndRange(){var e;let{details:t,mediaSource:i}=this;if(!t||!this.media||i?.readyState!=="open")return null;let s=t.edge;if(t.live&&this.hls.config.liveDurationInfinity){if(t.fragments.length&&i.setLiveSeekableRange){let a=Math.max(0,t.fragmentStart);return{duration:1/0,start:a,end:Math.max(a,s)};}return{duration:1/0};}let n=(e=this.overrides)==null?void 0:e.duration;if(n)return Ie(n)?{duration:n}:null;let r=this.media.duration;return s>(Ie(i.duration)?i.duration:0)&&s>r||!Ie(r)?{duration:s}:null;}updateMediaSource({duration:e,start:t,end:i}){let s=this.mediaSource;!this.media||!s||s.readyState!=="open"||(s.duration!==e&&(Ie(e)&&this.log(`Updating MediaSource duration to ${e.toFixed(3)}`),s.duration=e),t!==void 0&&i!==void 0&&(this.log(`MediaSource duration is set to ${s.duration}. Setting seekable range to ${t}-${i}.`),s.setLiveSeekableRange(t,i)));}get tracksReady(){let e=this.pendingTrackCount;return e>0&&(e>=this.bufferCodecEventsTotal||this.isPending(this.tracks.audiovideo));}checkPendingTracks(){let{bufferCodecEventsTotal:e,pendingTrackCount:t,tracks:i}=this;if(this.log(`checkPendingTracks (pending: ${t} codec events expected: ${e}) ${It(i)}`),this.tracksReady){var s;let n=(s=this.transferData)==null?void 0:s.tracks;n&&Object.keys(n).length?this.attachTransferred():this.createSourceBuffers();}}bufferCreated(){if(this.sourceBufferCount){let e={};this.sourceBuffers.forEach(([t,i])=>{if(t){let s=this.tracks[t];e[t]={buffer:i,container:s.container,codec:s.codec,supplemental:s.supplemental,levelCodec:s.levelCodec,id:s.id,metadata:s.metadata};}}),this.hls.trigger(C.BUFFER_CREATED,{tracks:e}),this.log(`SourceBuffers created. Running queue: ${this.operationQueue}`),this.sourceBuffers.forEach(([t])=>{this.executeNext(t);});}else{let e=new Error("could not create source buffer for media codec(s)");this.hls.trigger(C.ERROR,{type:Fe.MEDIA_ERROR,details:Z.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:e,reason:e.message});}}createSourceBuffers(){let{tracks:e,sourceBuffers:t,mediaSource:i}=this;if(!i)throw new Error("createSourceBuffers called when mediaSource was null");for(let n in e){let r=n,a=e[r];if(this.isPending(a)){let l=this.getTrackCodec(a,r),c=`${a.container};codecs=${l}`;a.codec=l,this.log(`creating sourceBuffer(${c})${this.currentOp(r)?" Queued":""} ${It(a)}`);try{let u=i.addSourceBuffer(c),f=gu(r);t[f]=[r,u],a.buffer=u;}catch(u){var s;this.error(`error while trying to add sourceBuffer: ${u.message}`),this.shiftAndExecuteNext(r),(s=this.operationQueue)==null||s.removeBlockers(),delete this.tracks[r],this.hls.trigger(C.ERROR,{type:Fe.MEDIA_ERROR,details:Z.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:u,sourceBufferName:r,mimeType:c,parent:a.id});return;}this.trackSourceBuffer(r,a);}}this.bufferCreated();}getTrackCodec(e,t){let i=e.supplemental,s=e.codec;i&&(t==="video"||t==="audiovideo")&&pa(i,"video")&&(s=B2(s,i));let n=_d(s,e.levelCodec);return n?t.slice(0,5)==="audio"?Nd(n,this.appendSource):n:"";}trackSourceBuffer(e,t){let i=t.buffer;if(!i)return;let s=this.getTrackCodec(t,e);this.tracks[e]={buffer:i,codec:s,container:t.container,levelCodec:t.levelCodec,supplemental:t.supplemental,metadata:t.metadata,id:t.id,listeners:[]},this.removeBufferListeners(e),this.addBufferListener(e,"updatestart",this.onSBUpdateStart),this.addBufferListener(e,"updateend",this.onSBUpdateEnd),this.addBufferListener(e,"error",this.onSBUpdateError),this.appendSource&&this.addBufferListener(e,"bufferedchange",(n,r)=>{let a=r.removedRanges;a!=null&&a.length&&this.hls.trigger(C.BUFFER_FLUSHED,{type:n});});}get mediaSrc(){var e,t;let i=((e=this.media)==null||(t=e.querySelector)==null?void 0:t.call(e,"source"))||this.media;return i?.src;}onSBUpdateStart(e){let t=this.currentOp(e);t&&t.onStart();}onSBUpdateEnd(e){var t;if(((t=this.mediaSource)==null?void 0:t.readyState)==="closed"){this.resetBuffer(e);return;}let i=this.currentOp(e);i&&(i.onComplete(),this.shiftAndExecuteNext(e));}onSBUpdateError(e,t){var i;let s=new Error(`${e} SourceBuffer error. MediaSource readyState: ${(i=this.mediaSource)==null?void 0:i.readyState}`);this.error(`${s}`,t),this.hls.trigger(C.ERROR,{type:Fe.MEDIA_ERROR,details:Z.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:s,fatal:!1});let n=this.currentOp(e);n&&n.onError(s);}updateTimestampOffset(e,t,i,s,n,r){let a=t-e.timestampOffset;Math.abs(a)>=i&&(this.log(`Updating ${s} SourceBuffer timestampOffset to ${t} (sn: ${n} cc: ${r})`),e.timestampOffset=t);}removeExecutor(e,t,i){let{media:s,mediaSource:n}=this,r=this.tracks[e],a=r?.buffer;if(!s||!n||!a){this.warn(`Attempting to remove from the ${e} SourceBuffer, but it does not exist`),this.shiftAndExecuteNext(e);return;}let l=Ie(s.duration)?s.duration:1/0,c=Ie(n.duration)?n.duration:1/0,u=Math.max(0,t),f=Math.min(i,l,c);f>u&&(!r.ending||r.ended)?(r.ended=!1,this.log(`Removing [${u},${f}] from the ${e} SourceBuffer`),a.remove(u,f)):this.shiftAndExecuteNext(e);}appendExecutor(e,t){let i=this.tracks[t],s=i?.buffer;if(!s)throw new KA(`Attempting to append to the ${t} SourceBuffer, but it does not exist`);i.ending=!1,i.ended=!1,s.appendBuffer(e);}blockUntilOpen(e){if(this.isUpdating()||this.isQueued())this.blockBuffers(e).catch(t=>{this.warn(`SourceBuffer blocked callback ${t}
239`),this.stepOperationQueue(this.sourceBufferTypes);});else try{e();}catch(t){this.warn(`Callback run without blocking ${this.operationQueue} ${t}`);}}isUpdating(){return this.sourceBuffers.some(([e,t])=>e&&t.updating);}isQueued(){return this.sourceBuffers.some(([e])=>e&&!!this.currentOp(e));}isPending(e){return!!e&&!e.buffer;}blockBuffers(e,t=this.sourceBufferTypes){if(!t.length)return this.log("Blocking operation requested, but no SourceBuffers exist"),Promise.resolve().then(e);let{operationQueue:i}=this,s=t.map(n=>this.appendBlocker(n));return t.length>1&&this.blockedAudioAppend&&this.unblockAudio(),Promise.all(s).then(n=>{i===this.operationQueue&&(e(),this.stepOperationQueue(this.sourceBufferTypes));});}stepOperationQueue(e){e.forEach(t=>{var i;let s=(i=this.tracks[t])==null?void 0:i.buffer;!s||s.updating||this.shiftAndExecuteNext(t);});}append(e,t,i){this.operationQueue&&this.operationQueue.append(e,t,i);}appendBlocker(e){if(this.operationQueue)return this.operationQueue.appendBlocker(e);}currentOp(e){return this.operationQueue?this.operationQueue.current(e):null;}executeNext(e){e&&this.operationQueue&&this.operationQueue.executeNext(e);}shiftAndExecuteNext(e){this.operationQueue&&this.operationQueue.shiftAndExecuteNext(e);}get pendingTrackCount(){return Object.keys(this.tracks).reduce((e,t)=>e+(this.isPending(this.tracks[t])?1:0),0);}get sourceBufferCount(){return this.sourceBuffers.reduce((e,[t])=>e+(t?1:0),0);}get sourceBufferTypes(){return this.sourceBuffers.map(([e])=>e).filter(e=>!!e);}addBufferListener(e,t,i){let s=this.tracks[e];if(!s)return;let n=s.buffer;if(!n)return;let r=i.bind(this,e);s.listeners.push({event:t,listener:r}),n.addEventListener(t,r);}removeBufferListeners(e){let t=this.tracks[e];if(!t)return;let i=t.buffer;i&&(t.listeners.forEach(s=>{i.removeEventListener(s.event,s.listener);}),t.listeners.length=0);}};function Hv(e){let t=e.querySelectorAll("source");[].slice.call(t).forEach(i=>{e.removeChild(i);});}function XA(e,t){let i=self.document.createElement("source");i.type="video/mp4",i.src=t,e.appendChild(i);}function gu(e){return e==="audio"?1:0;}var QA=class z_{constructor(t){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=t,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners();}setStreamController(t){this.streamController=t;}destroy(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null;}registerListeners(){let{hls:t}=this;t.on(C.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),t.on(C.MEDIA_ATTACHING,this.onMediaAttaching,this),t.on(C.MANIFEST_PARSED,this.onManifestParsed,this),t.on(C.LEVELS_UPDATED,this.onLevelsUpdated,this),t.on(C.BUFFER_CODECS,this.onBufferCodecs,this),t.on(C.MEDIA_DETACHING,this.onMediaDetaching,this);}unregisterListener(){let{hls:t}=this;t.off(C.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),t.off(C.MEDIA_ATTACHING,this.onMediaAttaching,this),t.off(C.MANIFEST_PARSED,this.onManifestParsed,this),t.off(C.LEVELS_UPDATED,this.onLevelsUpdated,this),t.off(C.BUFFER_CODECS,this.onBufferCodecs,this),t.off(C.MEDIA_DETACHING,this.onMediaDetaching,this);}onFpsDropLevelCapping(t,i){let s=this.hls.levels[i.droppedLevel];this.isLevelAllowed(s)&&this.restrictedLevels.push({bitrate:s.bitrate,height:s.height,width:s.width});}onMediaAttaching(t,i){this.media=i.media instanceof HTMLVideoElement?i.media:null,this.clientRect=null,this.timer&&this.hls.levels.length&&this.detectPlayerSize();}onManifestParsed(t,i){let s=this.hls;this.restrictedLevels=[],this.firstLevel=i.firstLevel,s.config.capLevelToPlayerSize&&i.video&&this.startCapping();}onLevelsUpdated(t,i){this.timer&&Ie(this.autoLevelCapping)&&this.detectPlayerSize();}onBufferCodecs(t,i){this.hls.config.capLevelToPlayerSize&&i.video&&this.startCapping();}onMediaDetaching(){this.stopCapping(),this.media=null;}detectPlayerSize(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0){this.clientRect=null;return;}let t=this.hls.levels;if(t.length){let i=this.hls,s=this.getMaxLevel(t.length-1);s!==this.autoLevelCapping&&i.logger.log(`Setting autoLevelCapping to ${s}: ${t[s].height}p@${t[s].bitrate} for media ${this.mediaWidth}x${this.mediaHeight}`),i.autoLevelCapping=s,i.autoLevelEnabled&&i.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=i.autoLevelCapping;}}}getMaxLevel(t){let i=this.hls.levels;if(!i.length)return-1;let s=i.filter((n,r)=>this.isLevelAllowed(n)&&r<=t);return this.clientRect=null,z_.getMaxLevelByMediaSize(s,this.mediaWidth,this.mediaHeight);}startCapping(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize());}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0);}getDimensions(){if(this.clientRect)return this.clientRect;let t=this.media,i={width:0,height:0};if(t){let s=t.getBoundingClientRect();i.width=s.width,i.height=s.height,!i.width&&!i.height&&(i.width=s.right-s.left||t.width||0,i.height=s.bottom-s.top||t.height||0);}return this.clientRect=i,i;}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor;}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor;}get contentScaleFactor(){let t=1;if(!this.hls.config.ignoreDevicePixelRatio)try{t=self.devicePixelRatio;}catch(i){}return Math.min(t,this.hls.config.maxDevicePixelRatio);}isLevelAllowed(t){return!this.restrictedLevels.some(i=>t.bitrate===i.bitrate&&t.width===i.width&&t.height===i.height);}static getMaxLevelByMediaSize(t,i,s){if(!(t!=null&&t.length))return-1;let n=(l,c)=>c?l.width!==c.width||l.height!==c.height:!0,r=t.length-1,a=Math.max(i,s);for(let l=0;l<t.length;l+=1){let c=t[l];if((c.width>=a||c.height>=a)&&n(c,t[l+1])){r=l;break;}}return r;}},Oi={MANIFEST:"m",AUDIO:"a",VIDEO:"v",MUXED:"av",INIT:"i",CAPTION:"c",TIMED_TEXT:"tt",
239KEY:"k",OTHER:"o"},JA={HLS:"h"},_r=class _h{constructor(t,i){Array.isArray(t)&&(t=t.map(s=>s instanceof _h?s:new _h(s))),this.value=t,this.params=i;}},ZA="Dict";function eI(e){return Array.isArray(e)?JSON.stringify(e):e instanceof Map?"Map{}":e instanceof Set?"Set{}":typeof e=="object"?JSON.stringify(e):String(e);}function tI(e,t,i,s){return new Error(`failed to ${e} "${eI(t)}" as ${i}`,{cause:s});}function Bs(e,t,i){return tI("serialize",e,t,i);}var G_=class{constructor(e){this.description=e;}},zv="Bare Item",iI="Boolean";function sI(e){if(typeof e!="boolean")throw Bs(e,iI);return e?"?1":"?0";}function nI(e){return btoa(String.fromCharCode(...e));}var rI="Byte Sequence";function oI(e){if(ArrayBuffer.isView(e)===!1)throw Bs(e,rI);return`:${nI(e)}:`;}var aI="Integer";function lI(e){return e<-999999999999999||999999999999999<e;}function W_(e){if(lI(e))throw Bs(e,aI);return e.toString();}function dI(e){return`@${W_(e.getTime()/1e3)}`;}function q_(e,t){if(e<0)return-q_(-e,t);let i=Math.pow(10,t);if(Math.abs(e*i%1-.5)<Number.EPSILON){let s=Math.floor(e*i);return(s%2===0?s:s+1)/i;}else return Math.round(e*i)/i;}var cI="Decimal";function uI(e){let t=q_(e,3);if(Math.floor(Math.abs(t)).toString().length>12)throw Bs(e,cI);let i=t.toString();return i.includes(".")?i:`${i}.0`;}var hI="String",fI=/[\x00-\x1f\x7f]+/;function pI(e){if(fI.test(e))throw Bs(e,hI);return`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`;}function mI(e){return e.description||e.toString().slice(7,-1);}var gI="Token";function Gv(e){let t=mI(e);if(/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(t)===!1)throw Bs(t,gI);return t;}function bh(e){switch(typeof e){case"number":if(!Ie(e))throw Bs(e,zv);return Number.isInteger(e)?W_(e):uI(e);case"string":return pI(e);case"symbol":return Gv(e);case"boolean":return sI(e);case"object":if(e instanceof Date)return dI(e);if(e instanceof Uint8Array)return oI(e);if(e instanceof G_)return Gv(e);default:throw Bs(e,zv);}}var vI="Key";function Th(e){if(/^[a-z*][a-z0-9\-_.*]*$/.test(e)===!1)throw Bs(e,vI);return e;}function df(e){return e==null?"":Object.entries(e).map(([t,i])=>i===!0?`;${Th(t)}`:`;${Th(t)}=${bh(i)}`).join("");}function K_(e){return e instanceof _r?`${bh(e.value)}${df(e.params)}`:bh(e);}function yI(e){return`(${e.value.map(K_).join(" ")})${df(e.params)}`;}function _I(e,t={whitespace:!0}){if(typeof e!="object"||e==null)throw Bs(e,ZA);let i=e instanceof Map?e.entries():Object.entries(e),s=t?.whitespace?" ":"";return Array.from(i).map(([n,r])=>{r instanceof _r||(r=new _r(r));let a=Th(n);return r.value===!0?a+=df(r.params):(a+="=",Array.isArray(r.value)?a+=yI(r):a+=K_(r)),a;}).join(`,${s}`);}function Y_(e,t){return _I(e,t);}var As="CMCD-Object",Ft="CMCD-Request",nr="CMCD-Session",An="CMCD-Status",bI={br:As,ab:As,d:As,ot:As,tb:As,tpb:As,lb:As,tab:As,lab:As,url:As,pb:Ft,bl:Ft,tbl:Ft,dl:Ft,ltc:Ft,mtp:Ft,nor:Ft,nrr:Ft,rc:Ft,sn:Ft,sta:Ft,su:Ft,ttfb:Ft,ttfbb:Ft,ttlb:Ft,cmsdd:Ft,cmsds:Ft,smrt:Ft,df:Ft,cs:Ft,ts:Ft,cid:nr,pr:nr,sf:nr,sid:nr,st:nr,v:nr,msd:nr,bs:An,bsd:An,cdn:An,rtp:An,bg:An,pt:An,ec:An,e:An},TI={REQUEST:Ft};function EI(e){return Object.keys(e).reduce((t,i)=>{var s;return(s=e[i])===null||s===void 0||s.forEach(n=>t[n]=i),t;},{});}function CI(e,t){let i={};if(!e)return i;let s=Object.keys(e),n=t?EI(t):{};return s.reduce((r,a)=>{var l;let c=bI[a]||n[a]||TI.REQUEST,u=(l=r[c])!==null&&l!==void 0?l:r[c]={};return u[a]=e[a],r;},i);}function SI(e){return["ot","sf","st","e","sta"].includes(e);}function wI(e){return typeof e=="number"?Ie(e):e!=null&&e!==""&&e!==!1;}var X_="event";function AI(e,t){let i=new URL(e),s=new URL(t);if(i.origin!==s.origin)return e;let n=i.pathname.split("/").slice(1),r=s.pathname.split("/").slice(1,-1);for(;n[0]===r[0];)n.shift(),r.shift();for(;r.length;)r.shift(),n.unshift("..");return n.join("/")+i.search+i.hash;}var wd=e=>Math.round(e),Eh=(e,t)=>Array.isArray(e)?e.map(i=>Eh(i,t)):e instanceof _r&&typeof e.value=="string"?new _r(Eh(e.value,t),e.params):(t.baseUrl&&(e=AI(e,t.baseUrl)),t.version===1?encodeURIComponent(e):e),Ql=e=>wd(e/100)*100,II=(e,t)=>{let i=e;return t.version>=2&&(e instanceof _r&&typeof e.value=="string"?i=new _r([e]):typeof e=="string"&&(i=[e])),Eh(i,t);}
239,kI={br:wd,d:wd,bl:Ql,dl:Ql,mtp:Ql,nor:II,rtp:Ql,tb:wd},Q_="request",J_="response",cf=["ab","bg","bl","br","bs","bsd","cdn","cid","cs","df","ec","lab","lb","ltc","msd","mtp","pb","pr","pt","sf","sid","sn","st","sta","tab","tb","tbl","tpb","ts","v"],PI=["e"],RI=/^[a-zA-Z0-9-.]+-[a-zA-Z0-9-.]+$/;function oc(e){return RI.test(e);}function xI(e){return cf.includes(e)||PI.includes(e)||oc(e);}var Z_=["d","dl","nor","ot","rtp","su"];function LI(e){return cf.includes(e)||Z_.includes(e)||oc(e);}var MI=["cmsdd","cmsds","rc","smrt","ttfb","ttfbb","ttlb","url"];function OI(e){return cf.includes(e)||Z_.includes(e)||MI.includes(e)||oc(e);}var DI=["bl","br","bs","cid","d","dl","mtp","nor","nrr","ot","pr","rtp","sf","sid","st","su","tb","v"];function jI(e){return DI.includes(e)||oc(e);}var NI={[J_]:OI,[X_]:xI,[Q_]:LI};function eb(e,t={}){let i={};if(e==null||typeof e!="object")return i;let s=t.version||e.v||1,n=t.reportingMode||Q_,r=s===1?jI:NI[n],a=Object.keys(e).filter(r),l=t.filter;typeof l=="function"&&(a=a.filter(l));let c=n===J_||n===X_;c&&!a.includes("ts")&&a.push("ts"),s>1&&!a.includes("v")&&a.push("v");let u=St({},kI,t.formatters),f={version:s,reportingMode:n,baseUrl:t.baseUrl};return a.sort().forEach(p=>{let g=e[p],v=u[p];if(typeof v=="function"&&(g=v(g,f)),p==="v"){if(s===1)return;g=s;}p=="pr"&&g===1||(c&&p==="ts"&&!Ie(g)&&(g=Date.now()),wI(g)&&(SI(p)&&typeof g=="string"&&(g=new G_(g)),i[p]=g));}),i;}function FI(e,t={}){let i={};if(!e)return i;let s=CI(eb(e,t),t?.customHeaderMap);return Object.entries(s).reduce((n,[r,a])=>{let l=Y_(a,{whitespace:!1});return l&&(n[r]=l),n;},i);}function BI(e,t,i){return St(e,FI(t,i));}var UI="CMCD";function VI(e,t={}){return e?Y_(eb(e,t),{whitespace:!1}):"";}function $I(e,t={}){if(!e)return"";let i=VI(e,t);return encodeURIComponent(i);}function HI(e,t={}){return e?`${UI}=${$I(e,t)}`:"";}var Wv=/CMCD=[^&#]+/;function zI(e,t,i){let s=HI(t,i);return s?Wv.test(e)?e.replace(Wv,s):`${e}${e.includes("?")?"&":"?"}${s}`:e;}var GI=class{constructor(e){this.hls=void 0,this.config=void 0,this.media=void 0,this.sid=void 0,this.cid=void 0,this.useHeaders=!1,this.includeKeys=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.audioBuffer=void 0,this.videoBuffer=void 0,this.onWaiting=()=>{this.initialized&&(this.starved=!0),this.buffering=!0;},this.onPlaying=()=>{this.initialized||(this.initialized=!0),this.buffering=!1;},this.applyPlaylistData=s=>{try{this.apply(s,{ot:Oi.MANIFEST,su:!this.initialized});}catch(n){this.hls.logger.warn("Could not generate manifest CMCD data.",n);}},this.applyFragmentData=s=>{try{let{frag:n,part:r}=s,a=this.hls.levels[n.level],l=this.getObjectType(n),c={d:(r||n).duration*1e3,ot:l};(l===Oi.VIDEO||l===Oi.AUDIO||l==Oi.MUXED)&&(c.br=a.bitrate/1e3,c.tb=this.getTopBandwidth(l)/1e3,c.bl=this.getBufferLength(l));let u=r?this.getNextPart(r):this.getNextFrag(n);u!=null&&u.url&&u.url!==n.url&&(c.nor=u.url),this.apply(s,c);}catch(n){this.hls.logger.warn("Could not generate segment CMCD data.",n);}},this.hls=e;let t=this.config=e.config,{cmcd:i}=t;i!=null&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=i.sessionId||e.sessionId,this.cid=i.contentId,this.useHeaders=i.useHeaders===!0,this.includeKeys=i.includeKeys,this.registerListeners());}registerListeners(){let e=this.hls;e.on(C.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(C.MEDIA_DETACHED,this.onMediaDetached,this),e.on(C.BUFFER_CREATED,this.onBufferCreated,this);}unregisterListeners(){let e=this.hls;e.off(C.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(C.MEDIA_DETACHED,this.onMediaDetached,this),e.off(C.BUFFER_CREATED,this.onBufferCreated,this);}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=this.media=null;}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying);}onMediaDetached(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null);}onBufferCreated(e,t){var i,s;this.audioBuffer=(i=t.tracks.audio)==null?void 0:i.buffer,this.videoBuffer=(s=t.tracks.video)==null?void 0:s.buffer;}createData(){var e;return{v:1,sf:JA.HLS,sid:this.sid,cid:this.cid,pr:(e=this.media)==null?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3};}apply(e,t={}){St(t,this.createData());let i=t.ot===Oi.INIT||t.ot===Oi.VIDEO||t.ot===Oi.MUXED;this.starved&&i&&(t.bs=!0,t.su=!0,this.starved=!1),t.su==null&&(t.su=this.buffering);let{includeKeys:s}=this;s&&(t=Object.keys(t).reduce((r,a)=>(s.includes(a)&&(r[a]=t[a]),r),{}));let n={baseUrl:e.url};this.useHeaders?(e.headers||(e.headers={}),BI(e.headers,t,n)):e.url=zI(e.url,t,n);}getNextFrag(e){var t;let i=(t=this.hls.levels[e.level])==null?void 0:t.details;if(i){let s=e.sn-i.startSN;return i.fragments[s+1];}}getNextPart(e){var t;let{index:i,fragment:s}=e,n=(t=this.hls.levels[s.level])==null||(t=t.details)==null?void 0:t.partList;if(n){let{sn:r}=s;for(let a=n.length-1;a>=0;a--){let l=n[a];if(l.index===i&&l.fragment.sn===r)return n[a+1];}}}getObjectType(e){let{type:t}=e;if(t==="subtitle")return Oi.TIMED_TEXT;if(e.sn==="initSegment")return Oi.INIT;if(t==="audio")return Oi.AUDIO;if(t==="main")return this.hls.audioTracks.length?Oi.VIDEO:Oi.MUXED;}getTopBandwidth(e){let t=0,i,s=this.hls;if(e===Oi.AUDIO)i=s.audioTracks;else{let n=s.maxAutoLevel,r=n>-1?n+1:s.levels.length;i=s.levels.slice(0,r);}
239return i.forEach(n=>{n.bitrate>t&&(t=n.bitrate);}),t>0?t:NaN;}getBufferLength(e){let t=this.media,i=e===Oi.AUDIO?this.audioBuffer:this.videoBuffer;return!i||!t?NaN:et.bufferInfo(i,t.currentTime,this.config.maxBufferHole).len*1e3;}createPlaylistLoader(){let{pLoader:e}=this.config,t=this.applyPlaylistData,i=e||this.config.loader;return class{constructor(n){this.loader=void 0,this.loader=new i(n);}get stats(){return this.loader.stats;}get context(){return this.loader.context;}destroy(){this.loader.destroy();}abort(){this.loader.abort();}load(n,r,a){t(n),this.loader.load(n,r,a);}};}createFragmentLoader(){let{fLoader:e}=this.config,t=this.applyFragmentData,i=e||this.config.loader;return class{constructor(n){this.loader=void 0,this.loader=new i(n);}get stats(){return this.loader.stats;}get context(){return this.loader.context;}destroy(){this.loader.destroy();}abort(){this.loader.abort();}load(n,r,a){t(n),this.loader.load(n,r,a);}};}},WI=3e5,qI=class extends rs{constructor(e){super("content-steering",e.logger),this.hls=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this._pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.registerListeners();}registerListeners(){let e=this.hls;e.on(C.MANIFEST_LOADING,this.onManifestLoading,this),e.on(C.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(C.MANIFEST_PARSED,this.onManifestParsed,this),e.on(C.ERROR,this.onError,this);}unregisterListeners(){let e=this.hls;e&&(e.off(C.MANIFEST_LOADING,this.onManifestLoading,this),e.off(C.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(C.MANIFEST_PARSED,this.onManifestParsed,this),e.off(C.ERROR,this.onError,this));}pathways(){return(this.levels||[]).reduce((e,t)=>(e.indexOf(t.pathwayId)===-1&&e.push(t.pathwayId),e),[]);}get pathwayPriority(){return this._pathwayPriority;}set pathwayPriority(e){this.updatePathwayPriority(e);}startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){let e=this.timeToLoad*1e3-(performance.now()-this.updated);if(e>0){this.scheduleRefresh(this.uri,e);return;}}this.loadSteeringManifest(this.uri);}}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout();}clearTimeout(){this.reloadTimer!==-1&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1);}destroy(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null;}removeLevel(e){let t=this.levels;t&&(this.levels=t.filter(i=>i!==e));}onManifestLoading(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null;}onManifestLoaded(e,t){let{contentSteering:i}=t;i!==null&&(this.pathwayId=i.pathwayId,this.uri=i.uri,this.started&&this.startLoad());}onManifestParsed(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks;}onError(e,t){let{errorAction:i}=t;if(i?.action===ri.SendAlternateToPenaltyBox&&i.flags===zi.MoveAllAlternatesMatchingHost){let s=this.levels,n=this._pathwayPriority,r=this.pathwayId;if(t.context){let{groupId:a,pathwayId:l,type:c}=t.context;a&&s?r=this.getPathwayForGroupId(a,c,r):l&&(r=l);}r in this.penalizedPathways||(this.penalizedPathways[r]=performance.now()),!n&&s&&(n=this.pathways()),n&&n.length>1&&(this.updatePathwayPriority(n),i.resolved=this.pathwayId!==r),t.details===Z.BUFFER_APPEND_ERROR&&!t.fatal?i.resolved=!0:i.resolved||this.warn(`Could not resolve ${t.details} ("${t.error.message}") with content-steering for Pathway: ${r} levels: ${s&&s.length} priorities: ${It(n)} penalized: ${It(this.penalizedPathways)}`);}}filterParsedLevels(e){this.levels=e;let t=this.getLevelsForPathway(this.pathwayId);if(t.length===0){let i=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${i}"`),t=this.getLevelsForPathway(i),this.pathwayId=i;}return t.length!==e.length&&this.log(`Found ${t.length}/${e.length} levels in Pathway "${this.pathwayId}"`),t;}getLevelsForPathway(e){return this.levels===null?[]:this.levels.filter(t=>e===t.pathwayId);}updatePathwayPriority(e){this._pathwayPriority=e;let t,i=this.penalizedPathways,s=performance.now();
239Object.keys(i).forEach(n=>{s-i[n]>WI&&delete i[n];});for(let n=0;n<e.length;n++){let r=e[n];if(r in i)continue;if(r===this.pathwayId)return;let a=this.hls.nextLoadLevel,l=this.hls.levels[a];if(t=this.getLevelsForPathway(r),t.length>0){this.log(`Setting Pathway to "${r}"`),this.pathwayId=r,__(t),this.hls.trigger(C.LEVELS_UPDATED,{levels:t});let c=this.hls.levels[a];l&&c&&this.levels&&(c.attrs["STABLE-VARIANT-ID"]!==l.attrs["STABLE-VARIANT-ID"]&&c.bitrate!==l.bitrate&&this.log(`Unstable Pathways change from bitrate ${l.bitrate} to ${c.bitrate}`),this.hls.nextLoadLevel=a);break;}}}getPathwayForGroupId(e,t,i){let s=this.getLevelsForPathway(i).concat(this.levels||[]);for(let n=0;n<s.length;n++)if(t===it.AUDIO_TRACK&&s[n].hasAudioGroup(e)||t===it.SUBTITLE_TRACK&&s[n].hasSubtitleGroup(e))return s[n].pathwayId;return i;}clonePathways(e){let t=this.levels;if(!t)return;let i={},s={};e.forEach(n=>{let{ID:r,"BASE-ID":a,"URI-REPLACEMENT":l}=n;if(t.some(u=>u.pathwayId===r))return;let c=this.getLevelsForPathway(a).map(u=>{let f=new Vt(u.attrs);f["PATHWAY-ID"]=r;let p=f.AUDIO&&`${f.AUDIO}_clone_${r}`,g=f.SUBTITLES&&`${f.SUBTITLES}_clone_${r}`;p&&(i[f.AUDIO]=p,f.AUDIO=p),g&&(s[f.SUBTITLES]=g,f.SUBTITLES=g);let v=tb(u.uri,f["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",l),T=new ga({attrs:f,audioCodec:u.audioCodec,bitrate:u.bitrate,height:u.height,name:u.name,url:v,videoCodec:u.videoCodec,width:u.width});if(u.audioGroups)for(let y=1;y<u.audioGroups.length;y++)T.addGroupId("audio",`${u.audioGroups[y]}_clone_${r}`);if(u.subtitleGroups)for(let y=1;y<u.subtitleGroups.length;y++)T.addGroupId("text",`${u.subtitleGroups[y]}_clone_${r}`);return T;});t.push(...c),qv(this.audioTracks,i,l,r),qv(this.subtitleTracks,s,l,r);});}loadSteeringManifest(e){let t=this.hls.config,i=t.loader;this.loader&&this.loader.destroy(),this.loader=new i(t);let s;try{s=new self.URL(e);}catch(u){this.enabled=!1,this.log(`Failed to parse Steering Manifest URI: ${e}`);return;}if(s.protocol!=="data:"){let u=(this.hls.bandwidthEstimate||t.abrEwmaDefaultEstimate)|0;s.searchParams.set("_HLS_pathway",this.pathwayId),s.searchParams.set("_HLS_throughput",""+u);}let n={responseType:"json",url:s.href},r=t.steeringManifestLoadPolicy.default,a=r.errorRetry||r.timeoutRetry||{},l={loadPolicy:r,timeout:r.maxLoadTimeMs,maxRetry:a.maxNumRetry||0,retryDelay:a.retryDelayMs||0,maxRetryDelay:a.maxRetryDelayMs||0},c={onSuccess:(u,f,p,g)=>{this.log(`Loaded steering manifest: "${s}"`);let v=u.data;if(v?.VERSION!==1){this.log(`Steering VERSION ${v.VERSION} not supported!`);return;}this.updated=performance.now(),this.timeToLoad=v.TTL;let{"RELOAD-URI":T,"PATHWAY-CLONES":y,"PATHWAY-PRIORITY":A}=v;if(T)try{this.uri=new self.URL(T,s).href;}catch(P){this.enabled=!1,this.log(`Failed to parse Steering Manifest RELOAD-URI: ${T}`);return;}this.scheduleRefresh(this.uri||p.url),y&&this.clonePathways(y);let I={steeringManifest:v,url:s.toString()};this.hls.trigger(C.STEERING_MANIFEST_LOADED,I),A&&this.updatePathwayPriority(A);},onError:(u,f,p,g)=>{if(this.log(`Error loading steering manifest: ${u.code} ${u.text} (${f.url})`),this.stopLoad(),u.code===410){this.enabled=!1,this.log(`Steering manifest ${f.url} no longer available`);return;}let v=this.timeToLoad*1e3;if(u.code===429){let T=this.loader;if(typeof T?.getResponseHeader=="function"){let y=T.getResponseHeader("Retry-After");y&&(v=parseFloat(y)*1e3);}this.log(`Steering manifest ${f.url} rate limited`);return;}this.scheduleRefresh(this.uri||f.url,v);},onTimeout:(u,f,p)=>{this.log(`Timeout loading steering manifest (${f.url})`),this.scheduleRefresh(this.uri||f.url);}};this.log(`Requesting steering manifest: ${s}`),this.loader.load(n,l,c);}scheduleRefresh(e,t=this.timeToLoad*1e3){this.clearTimeout(),this.reloadTimer=self.setTimeout(()=>{var i;let s=(i=this.hls)==null?void 0:i.media;if(s&&!s.ended){this.loadSteeringManifest(e);return;}this.scheduleRefresh(e,this.timeToLoad*1e3);},t);}};function qv(e,t,i,s){e&&Object.keys(t).forEach(n=>{let r=e.filter(a=>a.groupId===n).map(a=>{let l=St({},a);return l.details=void 0,l.attrs=new Vt(l.attrs),l.url=l.attrs.URI=tb(a.url,a.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",i),l.groupId=l.attrs["GROUP-ID"]=t[n],l.attrs["PATHWAY-ID"]=s,l;});e.push(...r);});}function tb(e,t,i,s){let{HOST:n,PARAMS:r,[i]:a}=s,l;t&&(l=a?.[t],l&&(e=l));let c=new self.URL(e);
239return n&&!l&&(c.host=n),r&&Object.keys(r).sort().forEach(u=>{u&&c.searchParams.set(u,r[u]);}),c.href;}var KI=(()=>{let e=class Ad extends rs{constructor(i){super("eme",i.logger),this.hls=void 0,this.config=void 0,this.media=null,this.mediaResolved=void 0,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.mediaKeys=null,this.setMediaKeysQueue=Ad.CDMCleanupPromise?[Ad.CDMCleanupPromise]:[],this.bannedKeyIds={},this.onMediaEncrypted=s=>{let{initDataType:n,initData:r}=s,a=`"${s.type}" event: init data type: "${n}"`;if(this.debug(a),r!==null){if(!this.keyFormatPromise){let l=Object.keys(this.keySystemAccessPromises);l.length||(l=sa(this.config));let c=l.map(lu).filter(u=>!!u);this.keyFormatPromise=this.getKeyFormatPromise(c);}this.keyFormatPromise.then(l=>{let c=Td(l);if(n!=="sinf"||c!==Dt.FAIRPLAY){this.log(`Ignoring "${s.type}" event with init data type: "${n}" for selected key-system ${c}`);return;}let u;try{let T=Yt(new Uint8Array(r)),y=qy(Jh(JSON.parse(T).sinf));if(!y)throw new Error("'schm' box missing or not cbcs/cenc with schi > tenc");u=new Uint8Array(y.subarray(8,24));}catch(T){this.warn(`${a} Failed to parse sinf: ${T}`);return;}let f=hi(u),{keyIdToKeySessionPromise:p,mediaKeySessions:g}=this,v=p[f];for(let T=0;T<g.length;T++){let y=g[T],A=y.decryptdata;if(!A.keyId)continue;let I=hi(A.keyId);if($d(u,A.keyId)||A.uri.replace(/-/g,"").indexOf(f)!==-1){if(v=p[I],!v)continue;if(A.pssh)break;delete p[I],A.pssh=new Uint8Array(r),A.keyId=u,v=p[f]=v.then(()=>this.generateRequestWithPreferredKeySession(y,n,r,"encrypted-event-key-match")),v.catch(P=>this.handleError(P));break;}}v||this.handleError(new Error(`Key ID ${f} not encountered in playlist. Key-system sessions ${g.length}.`));}).catch(l=>this.handleError(l));}},this.onWaitingForKey=s=>{this.log(`"${s.type}" event`);},this.hls=i,this.config=i.config,this.registerListeners();}destroy(){this.onDestroying(),this.onMediaDetached();let i=this.config;i.requestMediaKeySystemAccessFunc=null,i.licenseXhrSetup=i.licenseResponseCallback=void 0,i.drmSystems=i.drmSystemOptions={},this.hls=this.config=this.keyIdToKeySessionPromise=null,this.onMediaEncrypted=this.onWaitingForKey=null;}registerListeners(){this.hls.on(C.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(C.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(C.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(C.MANIFEST_LOADED,this.onManifestLoaded,this),this.hls.on(C.DESTROYING,this.onDestroying,this);}unregisterListeners(){this.hls.off(C.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(C.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(C.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(C.MANIFEST_LOADED,this.onManifestLoaded,this),this.hls.off(C.DESTROYING,this.onDestroying,this);}getLicenseServerUrl(i){let{drmSystems:s,widevineLicenseUrl:n}=this.config,r=s?.[i];if(r)return r.licenseUrl;if(i===Dt.WIDEVINE&&n)return n;}getLicenseServerUrlOrThrow(i){let s=this.getLicenseServerUrl(i);if(s===void 0)throw new Error(`no license server URL configured for key-system "${i}"`);return s;}getServerCertificateUrl(i){let{drmSystems:s}=this.config,n=s?.[i];if(n)return n.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${i}"]`);}attemptKeySystemAccess(i){let s=this.hls.levels,n=(l,c,u)=>!!l&&u.indexOf(l)===c,r=s.map(l=>l.audioCodec).filter(n),a=s.map(l=>l.videoCodec).filter(n);return r.length+a.length===0&&a.push("avc1.42e01e"),new Promise((l,c)=>{let u=f=>{let p=f.shift();this.getMediaKeysPromise(p,r,a).then(g=>l({keySystem:p,mediaKeys:g})).catch(g=>{f.length?u(f):g instanceof Hi?c(g):c(new Hi({type:Fe.KEY_SYSTEM_ERROR,details:Z.KEY_SYSTEM_NO_ACCESS,error:g,fatal:!0},g.message));});};u(i);});}requestMediaKeySystemAccess(i,s){let{requestMediaKeySystemAccessFunc:n}=this.config;if(typeof n!="function"){let r=`Configured requestMediaKeySystemAccess is not a function ${n}`;return u_===null&&self.location.protocol==="http:"&&(r=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(new Error(r));}return n(i,s);}getMediaKeysPromise(i,s,n){var r;let a=kw(i,s,n,this.config.drmSystemOptions||{}),l=this.keySystemAccessPromises[i],c=(r=l)==null?void 0:r.keySystemAccess;if(!c){this.log(`Requesting encrypted media "${i}" key-system access with config: ${It(a)}`),c=this.requestMediaKeySystemAccess(i,a);let u=l=this.keySystemAccessPromises[i]={keySystemAccess:c};return c.catch(f=>{this.log(`Failed to obtain access to key-system "${i}": ${f}`);}),c.then(f=>{this.log(`Access for key-system "${f.keySystem}" obtained`);let p=this.fetchServerCertificate(i);this.log(`Create media-keys for "${i}"`);let g=u.mediaKeys=f.createMediaKeys().then(v=>(this.log(`Media-keys created for "${i}"`),u.hasMediaKeys=!0,p.then(T=>T?this.setMediaKeysServerCertificate(v,i,T):v)));return g.catch(v=>{this.error(`Failed to create media-keys for "${i}"}: ${v}`);}),g;});}return c.then(()=>l.mediaKeys);}createMediaKeySessionContext({decryptdata:i,keySystem:s,mediaKeys:n}){this.log(`Creating key-system session "${s}" keyId: ${hi(i.keyId||[])} keyUri: ${i.uri}`);let r={decryptdata:i,keySystem:s,mediaKeys:n,mediaKeysSession:n.createSession(),keyStatus:"status-pending"};return this.mediaKeySessions.push(r),r;}renewKeySession(i){let s=i.decryptdata;if(s.pssh){let n=this.createMediaKeySessionContext(i),r=Jl(s),a="cenc";this.keyIdToKeySessionPromise[r]=this.generateRequestWithPreferredKeySession(n,a,s.pssh.buffer,"expired");}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(i);}updateKeySession(i,s){let n=i.mediaKeysSession;return this.log(`Updating key-session "${n.sessionId}" for keyId ${hi(i.decryptdata.keyId||[])} 240 } (data length: ${s.byteLength})`),n.update(s);}getSelectedKeySystemFormats(){return Object.keys(this.keySystemAccessPromises).map(i=>({keySystem:i,hasMediaKeys:this.keySystemAccessPromises[i].hasMediaKeys})).filter(({hasMediaKeys:i})=>!!i).map(({keySystem:i})=>lu(i)).filter(i=>!!i);}getKeySystemAccess(i){return this.getKeySystemSelectionPromise(i).then(({keySystem:s,mediaKeys:n})=>this.attemptSetMediaKeys(s,n));}selectKeySystem(i){return new Promise((s,n)=>{this.getKeySystemSelectionPromise(i).then(({keySystem:r})=>{let a=lu(r);a?s(a):n(new Error(`Unable to find format for key-system "${r}"`));}).catch(n);});}selectKeySystemFormat(i){let s=Object.keys(i.levelkeys||{});return this.keyFormatPromise||(this.log(`Selecting key-system from fragment (sn: ${i.sn} ${i.type}: ${i.level}) key formats ${s.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(s)),this.keyFormatPromise;}getKeyFormatPromise(i){let s=sa(this.config),n=i.map(Td).filter(r=>!!r&&s.indexOf(r)!==-1);return this.selectKeySystem(n);}getKeyStatus(i){let{mediaKeySessions:s}=this;for(let n=0;n<s.length;n++){let r=YI(i,s[n]);if(r)return r;}}loadKey(i){let s=i.keyInfo.decryptdata,n=Jl(s),r=this.bannedKeyIds[n];if(r||this.getKeyStatus(s)==="internal-error"){let c=Kv(r||"internal-error",s);return this.handleError(c,i.frag),Promise.reject(c);}let a=`(keyId: ${n} format: "${s.keyFormat}" method: ${s.method} uri: ${s.uri})`;this.log(`Starting session for key ${a}`);let l=this.keyIdToKeySessionPromise[n];if(!l){let c=this.getKeySystemForKeyPromise(s).then(({keySystem:u,mediaKeys:f})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${i.frag.sn} ${i.frag.type}: ${i.frag.level} using key ${a}`),this.attemptSetMediaKeys(u,f).then(()=>(this.throwIfDestroyed(),this.createMediaKeySessionContext({keySystem:u,mediaKeys:f,decryptdata:s}))))).then(u=>
240{let f="cenc",p=s.pssh?s.pssh.buffer:null;return this.generateRequestWithPreferredKeySession(u,f,p,"playlist-key");});return c.catch(u=>this.handleError(u,i.frag)),this.keyIdToKeySessionPromise[n]=c,c;}return l.catch(c=>{if(c instanceof Hi){let u=yt({},c.data);this.getKeyStatus(s)==="internal-error"&&(u.decryptdata=s);let f=new Hi(u,c.message);this.handleError(f,i.frag);}}),l;}throwIfDestroyed(i="Invalid state"){if(!this.hls)throw new Error("invalid state");}handleError(i,s){if(this.hls)if(i instanceof Hi){s&&(i.data.frag=s);let n=i.data.decryptdata;this.error(`${i.message}${n?` (${hi(n.keyId||[])})`:""}`),this.hls.trigger(C.ERROR,i.data);}else this.error(i.message),this.hls.trigger(C.ERROR,{type:Fe.KEY_SYSTEM_ERROR,details:Z.KEY_SYSTEM_NO_KEYS,error:i,fatal:!0});}getKeySystemForKeyPromise(i){let s=Jl(i),n=this.keyIdToKeySessionPromise[s];if(!n){let r=Td(i.keyFormat),a=r?[r]:sa(this.config);return this.attemptKeySystemAccess(a);}return n;}getKeySystemSelectionPromise(i){if(i.length||(i=sa(this.config)),i.length===0)throw new Hi({type:Fe.KEY_SYSTEM_ERROR,details:Z.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${It({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(i);}attemptSetMediaKeys(i,s){if(this.mediaResolved=void 0,this.mediaKeys===s)return Promise.resolve();let n=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${i}"`);let r=Promise.all(n).then(()=>this.media?this.media.setMediaKeys(s):new Promise((a,l)=>{this.mediaResolved=()=>{if(this.mediaResolved=void 0,!this.media)return l(new Error("Attempted to set mediaKeys without media element attached"));this.mediaKeys=s,this.media.setMediaKeys(s).then(a).catch(l);};}));return this.mediaKeys=s,this.setMediaKeysQueue.push(r),r.then(()=>{this.log(`Media-keys set for "${i}"`),n.push(r),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(a=>n.indexOf(a)===-1);});}generateRequestWithPreferredKeySession(i,s,n,r){var a;let l=(a=this.config.drmSystems)==null||(a=a[i.keySystem])==null?void 0:a.generateRequest;if(l)try{let y=l.call(this.hls,s,n,i);if(!y)throw new Error("Invalid response from configured generateRequest filter");s=y.initDataType,n=y.initData?y.initData:null,i.decryptdata.pssh=n?new Uint8Array(n):null;}catch(y){if(this.warn(y.message),this.hls&&this.hls.config.debug)throw y;}if(n===null)return this.log(`Skipping key-session request for "${r}" (no initData)`),Promise.resolve(i);let c=Jl(i.decryptdata),u=i.decryptdata.uri;this.log(`Generating key-session request for "${r}" keyId: ${c} URI: ${u} (init data type: ${s} length: ${n.byteLength})`);let f=new ef(),p=i._onmessage=y=>{let A=i.mediaKeysSession;if(!A){f.emit("error",new Error("invalid state"));return;}let{messageType:I,message:P}=y;this.log(`"${I}" message event for session "${A.sessionId}" message size: ${P.byteLength}`),I==="license-request"||I==="license-renewal"?this.renewLicense(i,P).catch(k=>{f.eventNames().length?f.emit("error",k):this.handleError(k);}):I==="license-release"?i.keySystem===Dt.FAIRPLAY&&this.updateKeySession(i,fh("acknowledged")).then(()=>this.removeSession(i)).catch(k=>this.handleError(k)):this.warn(`unhandled media key message type "${I}"`);},g=(y,A)=>{A.keyStatus=y;let I;y.startsWith("usable")?f.emit("resolved"):y==="internal-error"||y==="output-restricted"||y==="output-downscaled"?I=Kv(y,A.decryptdata):y==="expired"?I=new Error(`key expired (keyId: ${c})`):y==="released"?I=new Error("key released"):y==="status-pending"||this.warn(`unhandled key status change "${y}" (keyId: ${c})`),I&&(f.eventNames().length?f.emit("error",I):this.handleError(I));},v=i._onkeystatuseschange=y=>{if(!i.mediaKeysSession){f.emit("error",new Error("invalid state"));return;}let A=this.getKeyStatuses(i);if(!Object.keys(A).some(k=>A[k]!=="status-pending"))return;if(A[c]==="expired"){this.log(`Expired key ${It(A)} in key-session "${i.mediaKeysSession.sessionId}"`),this.renewKeySession(i);return;}let I=A[c];if(I)g(I,i);else{var P;i.keyStatusTimeouts||(i.keyStatusTimeouts={}),(P=i.keyStatusTimeouts)[c]||(P[c]=self.setTimeout(()=>{if(!i.mediaKeysSession||!this.mediaKeys)return;let w=this.getKeyStatus(i.decryptdata);if(w&&w!=="status-pending")return this.log(`No status for keyId ${c} in key-session "${i.mediaKeysSession.sessionId}". Using session key-status ${w} from other session.`),g(w,i);this.log(`key status for ${c} in key-session "${i.mediaKeysSession.sessionId}
240" timed out after 1000ms`),I="internal-error",g(I,i);},1e3)),this.log(`No status for keyId ${c} (${It(A)}).`);}};Ii(i.mediaKeysSession,"message",p),Ii(i.mediaKeysSession,"keystatuseschange",v);let T=new Promise((y,A)=>{f.on("error",A),f.on("resolved",y);});return i.mediaKeysSession.generateRequest(s,n).then(()=>{this.log(`Request generated for key-session "${i.mediaKeysSession.sessionId}" keyId: ${c} URI: ${u}`);}).catch(y=>{throw new Hi({type:Fe.KEY_SYSTEM_ERROR,details:Z.KEY_SYSTEM_NO_SESSION,error:y,decryptdata:i.decryptdata,fatal:!1},`Error generating key-session request: ${y}`);}).then(()=>T).catch(y=>(f.removeAllListeners(),this.removeSession(i).then(()=>{throw y;}))).then(()=>(f.removeAllListeners(),i));}getKeyStatuses(i){let s={};return i.mediaKeysSession.keyStatuses.forEach((n,r)=>{if(typeof r=="string"&&typeof n=="object"){let c=r;r=n,n=c;}let a="buffer"in r?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):new Uint8Array(r);if(i.keySystem===Dt.PLAYREADY&&a.length===16){let c=hi(a);s[c]=n,d_(a);}let l=hi(a);n==="internal-error"&&(this.bannedKeyIds[l]=n),this.log(`key status change "${n}" for keyStatuses keyId: ${l} key-session "${i.mediaKeysSession.sessionId}"`),s[l]=n;}),s;}fetchServerCertificate(i){let s=this.config,n=s.loader,r=new n(s),a=this.getServerCertificateUrl(i);return a?(this.log(`Fetching server certificate for "${i}"`),new Promise((l,c)=>{let u={responseType:"arraybuffer",url:a},f=s.certLoadPolicy.default,p={loadPolicy:f,timeout:f.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0};r.load(u,p,{onSuccess:(g,v,T,y)=>{l(g.data);},onError:(g,v,T,y)=>{c(new Hi({type:Fe.KEY_SYSTEM_ERROR,details:Z.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:T,response:yt({url:u.url,data:void 0},g)},`"${i}" certificate request failed (${a}). Status: ${g.code} (${g.text})`));},onTimeout:(g,v,T)=>{c(new Hi({type:Fe.KEY_SYSTEM_ERROR,details:Z.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:T,response:{url:u.url,data:void 0}},`"${i}" certificate request timed out (${a})`));},onAbort:(g,v,T)=>{c(new Error("aborted"));}});})):Promise.resolve();}setMediaKeysServerCertificate(i,s,n){return new Promise((r,a)=>{i.setServerCertificate(n).then(l=>{this.log(`setServerCertificate ${l?"success":"not supported by CDM"} (${n.byteLength}) on "${s}"`),r(i);}).catch(l=>{a(new Hi({type:Fe.KEY_SYSTEM_ERROR,details:Z.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:l,fatal:!0},l.message));});});}renewLicense(i,s){return this.requestLicense(i,new Uint8Array(s)).then(n=>this.updateKeySession(i,new Uint8Array(n)).catch(r=>{throw new Hi({type:Fe.KEY_SYSTEM_ERROR,details:Z.KEY_SYSTEM_SESSION_UPDATE_FAILED,decryptdata:i.decryptdata,error:r,fatal:!1},r.message);}));}unpackPlayReadyKeyMessage(i,s){let n=String.fromCharCode.apply(null,new Uint16Array(s.buffer));if(!n.includes("PlayReadyKeyMessage"))return i.setRequestHeader("Content-Type","text/xml; charset=utf-8"),s;let r=new DOMParser().parseFromString(n,"application/xml"),a=r.querySelectorAll("HttpHeader");if(a.length>0){let p;for(let g=0,v=a.length;g<v;g++){var l,c;p=a[g];let T=(l=p.querySelector("name"))==null?void 0:l.textContent,y=(c=p.querySelector("value"))==null?void 0:c.textContent;T&&y&&i.setRequestHeader(T,y);}}let u=r.querySelector("Challenge"),f=u?.textContent;if(!f)throw new Error("Cannot find <Challenge> in key message");return fh(atob(f));}setupLicenseXHR(i,s,n,r){let a=this.config.licenseXhrSetup;return a?Promise.resolve().then(()=>{if(!n.decryptdata)throw new Error("Key removed");return a.call(this.hls,i,s,n,r);}).catch(l=>{if(!n.decryptdata)throw l;return i.open("POST",s,!0),a.call(this.hls,i,s,n,r);}).then(l=>(i.readyState||i.open("POST",s,!0),{xhr:i,licenseChallenge:l||r})):(i.open("POST",s,!0),Promise.resolve({xhr:i,licenseChallenge:r}));}requestLicense(i,s){let n=this.config.keyLoadPolicy.default;return new Promise((r,a)=>{let l=this.getLicenseServerUrlOrThrow(i.keySystem);this.log(`Sending license request to URL: ${l}`);let c=new XMLHttpRequest();c.responseType="arraybuffer",c.onreadystatechange=()=>{if(!this.hls||!i.mediaKeysSession)return a(new Error("invalid state"));if(c.readyState===4)if(c.status===200){this._requestLicenseFailureCount=0;let u=c.response;this.log(`License received ${u instanceof ArrayBuffer?u.byteLength:u}`);let f=this.config.licenseResponseCallback;if(f)try{u=f.call(this.hls,c,l,i);}catch(p){this.error(p);}r(u);}else{let u=n.errorRetry,f=u?u.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>f||c.status>=400&&c.status<500)a(new Hi({type:Fe.KEY_SYSTEM_ERROR,details:Z.KEY_SYSTEM_LICENSE_REQUEST_FAILED,decryptdata:i.decryptdata,fatal:!0,networkDetails:c,response:{url:l,data:void 0,code:c.status,text:c.statusText}},`License Request XHR failed (${l}). Status: ${c.status} (${c.statusText})`));else{let p=f-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${p} attempts left`),this.requestLicense(i,s).then(r,a);}}},i.licenseXhr&&i.licenseXhr.readyState!==XMLHttpRequest.DONE&&i.licenseXhr.abort(),i.licenseXhr=c,this.setupLicenseXHR(c,l,i,s).then(({xhr:u,licenseChallenge:f})=>{i.keySystem==Dt.PLAYREADY&&(f=this.unpackPlayReadyKeyMessage(u,f)),u.send(f);}).catch(a);});}onDestroying(){this.unregisterListeners(),this._clear();}onMediaAttached(i,s){if(!this.config.emeEnabled)return;let n=s.media;this.media=n,Ii(n,"encrypted",this.onMediaEncrypted),Ii(n,"waitingforkey",this.onWaitingForKey);let r=this.mediaResolved;r?r():this.mediaKeys=n.mediaKeys;}onMediaDetached(){let i=this.media;i&&(Fi(i,"encrypted",this.onMediaEncrypted),Fi(i,"waitingforkey",this.onWaitingForKey),this.media=null,this.mediaKeys=null);}_clear(){var i;this._requestLicenseFailureCount=0,this.keyIdToKeySessionPromise={},this.bannedKeyIds={};let s=this.mediaResolved;if(s&&s(),!this.mediaKeys&&!this.mediaKeySessions.length)return;let n=this.media,r=this.mediaKeySessions.slice();this.mediaKeySessions=[],this.mediaKeys=null,zd.clearKeyUriToKeyIdMap();let a=r.length;Ad.CDMCleanupPromise=Promise.all(r.map(l=>this.removeSession(l)).concat((n==null||(i=n.setMediaKeys(null))==null?void 0:i.catch(l=>
240{this.log(`Could not clear media keys: ${l}`),this.hls&&this.hls.trigger(C.ERROR,{type:Fe.OTHER_ERROR,details:Z.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR,fatal:!1,error:new Error(`Could not clear media keys: ${l}`)});}))||Promise.resolve())).catch(l=>{this.log(`Could not close sessions and clear media keys: ${l}`),this.hls&&this.hls.trigger(C.ERROR,{type:Fe.OTHER_ERROR,details:Z.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:new Error(`Could not close sessions and clear media keys: ${l}`)});}).then(()=>{a&&this.log("finished closing key sessions and clearing media keys");});}onManifestLoading(){this._clear();}onManifestLoaded(i,{sessionKeys:s}){if(!(!s||!this.config.emeEnabled)&&!this.keyFormatPromise){let n=s.reduce((r,a)=>(r.indexOf(a.keyFormat)===-1&&r.push(a.keyFormat),r),[]);this.log(`Selecting key-system from session-keys ${n.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(n);}}removeSession(i){let{mediaKeysSession:s,licenseXhr:n,decryptdata:r}=i;if(s){this.log(`Remove licenses and keys and close session "${s.sessionId}" keyId: ${hi(r?.keyId||[])}`),i._onmessage&&(s.removeEventListener("message",i._onmessage),i._onmessage=void 0),i._onkeystatuseschange&&(s.removeEventListener("keystatuseschange",i._onkeystatuseschange),i._onkeystatuseschange=void 0),n&&n.readyState!==XMLHttpRequest.DONE&&n.abort(),i.mediaKeysSession=i.decryptdata=i.licenseXhr=void 0;let a=this.mediaKeySessions.indexOf(i);a>-1&&this.mediaKeySessions.splice(a,1);let{keyStatusTimeouts:l}=i;l&&Object.keys(l).forEach(u=>self.clearTimeout(l[u]));let{drmSystemOptions:c}=this.config;return(Rw(c)?new Promise((u,f)=>{self.setTimeout(()=>f(new Error("MediaKeySession.remove() timeout")),8e3),s.remove().then(u).catch(f);}):Promise.resolve()).catch(u=>{this.log(`Could not remove session: ${u}`),this.hls&&this.hls.trigger(C.ERROR,{type:Fe.OTHER_ERROR,details:Z.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR,fatal:!1,error:new Error(`Could not remove session: ${u}`)});}).then(()=>s.close()).catch(u=>{this.log(`Could not close session: ${u}`),this.hls&&this.hls.trigger(C.ERROR,{type:Fe.OTHER_ERROR,details:Z.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:new Error(`Could not close session: ${u}`)});});}return Promise.resolve();}};return e.CDMCleanupPromise=void 0,e;})();function Jl(e){if(!e)throw new Error("Could not read keyId of undefined decryptdata");if(e.keyId===null)throw new Error("keyId is null");return hi(e.keyId);}function YI(e,t){if(e.keyId&&t.mediaKeysSession.keyStatuses.has(e.keyId))return t.mediaKeysSession.keyStatuses.get(e.keyId);if(e.matches(t.decryptdata))return t.keyStatus;}var Hi=class extends Error{constructor(e,t){super(t),this.data=void 0,e.error||(e.error=new Error(t)),this.data=e,e.err=e.error;}};function Kv(e,t){let i=e==="output-restricted",s=i?Z.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:Z.KEY_SYSTEM_STATUS_INTERNAL_ERROR;return new Hi({type:Fe.KEY_SYSTEM_ERROR,details:s,fatal:!1,decryptdata:t},i?"HDCP level output restricted":`key status changed to "${e}"`);}var XI=class{constructor(e){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=e,this.registerListeners();}setStreamController(e){this.streamController=e;}registerListeners(){this.hls.on(C.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.on(C.MEDIA_DETACHING,this.onMediaDetaching,this);}unregisterListeners(){this.hls.off(C.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.off(C.MEDIA_DETACHING,this.onMediaDetaching,this);}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null;}onMediaAttaching(e,t){let i=this.hls.config;if(i.capLevelOnFPSDrop){let s=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=s,s&&typeof s.getVideoPlaybackQuality=="function"&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),i.fpsDroppedMonitoringPeriod);}}onMediaDetaching(){this.media=null;}checkFPS(e,t,i){let s=performance.now();if(t){if(this.lastTime){let n=s-this.lastTime,r=i-this.lastDroppedFrames,a=t-this.lastDecodedFrames,l=1e3*r/n,c=this.hls;if(c.trigger(C.FPS_DROP,{currentDropped:r,currentDecoded:a,totalDroppedFrames:i}),l>0&&r>c.config.fpsDroppedMonitoringThreshold*a){let u=c.currentLevel;c.logger.warn("drop FPS ratio greater than max allowed value for currentLevel: "+u),u>0&&(c.autoLevelCapping===-1||c.autoLevelCapping>=u)&&(u=u-1,c.trigger(C.FPS_DROP_LEVEL_CAPPING,{level:u,droppedLevel:c.currentLevel}),c.autoLevelCapping=u,this.streamController.nextLevelSwitch());}}this.lastTime=s,this.lastDroppedFrames=i,this.lastDecodedFrames=t;}}checkFPSInterval(){let e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){let t=e.getVideoPlaybackQuality();this.checkFPS(e,t.totalVideoFrames,t.droppedVideoFrames);}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount);}};function ib(e,t){let i;try{i=new Event("addtrack");}catch(s){i=document.createEvent("Event"),i.initEvent("addtrack",!1,!1);}i.track=e,t.dispatchEvent(i);}
240function sb(e,t){let i=e.mode;if(i==="disabled"&&(e.mode="hidden"),e.cues&&!e.cues.getCueById(t.id))try{if(e.addCue(t),!e.cues.getCueById(t.id))throw new Error(`addCue is failed for: ${t}`);}catch(s){_t.debug(`[texttrack-utils]: ${s}`);try{let n=new self.TextTrackCue(t.startTime,t.endTime,t.text);n.id=t.id,e.addCue(n);}catch(n){_t.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${n}`);}}i==="disabled"&&(e.mode=i);}function uo(e,t){let i=e.mode;if(i==="disabled"&&(e.mode="hidden"),e.cues)for(let s=e.cues.length;s--;)t&&e.cues[s].removeEventListener("enter",t),e.removeCue(e.cues[s]);i==="disabled"&&(e.mode=i);}function Ch(e,t,i,s){let n=e.mode;if(n==="disabled"&&(e.mode="hidden"),e.cues&&e.cues.length>0){let r=JI(e.cues,t,i);for(let a=0;a<r.length;a++)(!s||s(r[a]))&&e.removeCue(r[a]);}n==="disabled"&&(e.mode=n);}function QI(e,t){if(t<=e[0].startTime)return 0;let i=e.length-1;if(t>e[i].endTime)return-1;let s=0,n=i,r;for(;s<=n;)if(r=Math.floor((n+s)/2),t<e[r].startTime)n=r-1;else if(t>e[r].startTime&&s<i)s=r+1;else return r;return e[s].startTime-t<t-e[n].startTime?s:n;}function JI(e,t,i){let s=[],n=QI(e,t);if(n>-1)for(let r=n,a=e.length;r<a;r++){let l=e[r];if(l.startTime>=t&&l.endTime<=i)s.push(l);else if(l.startTime>i)return s;}return s;}function Id(e){let t=[];for(let i=0;i<e.length;i++){let s=e[i];(s.kind==="subtitles"||s.kind==="captions")&&s.label&&t.push(e[i]);}return t;}var ZI=class extends lf{constructor(e){super(e,"subtitle-track-controller"),this.media=null,this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.queuedDefaultTrack=-1,this.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.asyncPollTrackChange=()=>this.pollTrackChange(0),this.onTextTracksChanged=()=>{if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),!this.media||!this.hls.config.renderTextTracksNatively)return;let t=null,i=Id(this.media.textTracks);for(let n=0;n<i.length;n++)if(i[n].mode==="hidden")t=i[n];else if(i[n].mode==="showing"){t=i[n];break;}let s=this.findTrackForTextTrack(t);this.subtitleTrack!==s&&this.setSubtitleTrack(s);},this.registerListeners();}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,this.onTextTracksChanged=this.asyncPollTrackChange=null,super.destroy();}get subtitleDisplay(){return this._subtitleDisplay;}set subtitleDisplay(e){this._subtitleDisplay=e,this.trackId>-1&&this.toggleTrackModes();}registerListeners(){let{hls:e}=this;e.on(C.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(C.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(C.MANIFEST_LOADING,this.onManifestLoading,this),e.on(C.MANIFEST_PARSED,this.onManifestParsed,this),e.on(C.LEVEL_LOADING,this.onLevelLoading,this),e.on(C.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(C.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(C.ERROR,this.onError,this);}unregisterListeners(){let{hls:e}=this;e.off(C.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(C.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(C.MANIFEST_LOADING,this.onManifestLoading,this),e.off(C.MANIFEST_PARSED,this.onManifestParsed,this),e.off(C.LEVEL_LOADING,this.onLevelLoading,this),e.off(C.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(C.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(C.ERROR,this.onError,this);}onMediaAttached(e,t){this.media=t.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange));}pollTrackChange(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,e);}onMediaDetaching(e,t){let i=this.media;if(!i)return;let s=!!t.transferMedia;self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||i.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),this.subtitleTrack=-1,this.media=null,!s&&Id(i.textTracks).forEac
240h(n=>{uo(n);});}onManifestLoading(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0;}onManifestParsed(e,t){this.tracks=t.subtitleTracks;}onSubtitleTrackLoaded(e,t){let{id:i,groupId:s,details:n}=t,r=this.tracksInGroup[i];if(!r||r.groupId!==s){this.warn(`Subtitle track with id:${i} and group:${s} not found in active group ${r?.groupId}`);return;}let a=r.details;r.details=t.details,this.log(`Subtitle track ${i} "${r.name}" lang:${r.lang} group:${s} loaded [${n.startSN}-${n.endSN}]`),i===this.trackId&&this.playlistLoaded(i,t,a);}onLevelLoading(e,t){this.switchLevel(t.level);}onLevelSwitching(e,t){this.switchLevel(t.level);}switchLevel(e){let t=this.hls.levels[e];if(!t)return;let i=t.subtitleGroups||null,s=this.groupIds,n=this.currentTrack;if(!i||s?.length!==i?.length||i!=null&&i.some(r=>s?.indexOf(r)===-1)){this.groupIds=i,this.trackId=-1,this.currentTrack=null;let r=this.tracks.filter(u=>!i||i.indexOf(u.groupId)!==-1);if(r.length)this.selectDefaultTrack&&!r.some(u=>u.default)&&(this.selectDefaultTrack=!1),r.forEach((u,f)=>{u.id=f;});else if(!n&&!this.tracksInGroup.length)return;this.tracksInGroup=r;let a=this.hls.config.subtitlePreference;if(!n&&a){this.selectDefaultTrack=!1;let u=js(a,r);if(u>-1)n=r[u];else{let f=js(a,this.tracks);n=this.tracks[f];}}let l=this.findTrackId(n);l===-1&&n&&(l=this.findTrackId(null));let c={subtitleTracks:r};this.log(`Updating subtitle tracks, ${r.length} track(s) found in "${i?.join(",")}" group-id`),this.hls.trigger(C.SUBTITLE_TRACKS_UPDATED,c),l!==-1&&this.trackId===-1&&this.setSubtitleTrack(l);}}findTrackId(e){let t=this.tracksInGroup,i=this.selectDefaultTrack;for(let s=0;s<t.length;s++){let n=t[s];if(!(i&&!n.default||!i&&!e)&&(!e||vr(n,e)))return s;}if(e){for(let s=0;s<t.length;s++){let n=t[s];if(ba(e.attrs,n.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return s;}for(let s=0;s<t.length;s++){let n=t[s];if(ba(e.attrs,n.attrs,["LANGUAGE"]))return s;}}return-1;}findTrackForTextTrack(e){if(e){let t=this.tracksInGroup;for(let i=0;i<t.length;i++){let s=t[i];if(yh(s,e))return i;}}return-1;}onError(e,t){t.fatal||!t.context||t.context.type===it.SUBTITLE_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&this.checkRetry(t);}get allSubtitleTracks(){return this.tracks;}get subtitleTracks(){return this.tracksInGroup;}get subtitleTrack(){return this.trackId;}set subtitleTrack(e){this.selectDefaultTrack=!1,this.setSubtitleTrack(e);}
240setSubtitleOption(e){if(this.hls.config.subtitlePreference=e,e){if(e.id===-1)return this.setSubtitleTrack(-1),null;let t=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,t.length){let i=this.currentTrack;if(i&&vr(e,i))return i;let s=js(e,this.tracksInGroup);if(s>-1){let n=this.tracksInGroup[s];return this.setSubtitleTrack(s),n;}else{if(i)return null;{let n=js(e,t);if(n>-1)return t[n];}}}}return null;}loadPlaylist(e){super.loadPlaylist(),this.shouldLoadPlaylist(this.currentTrack)&&this.scheduleLoading(this.currentTrack,e);}loadingPlaylist(e,t){super.loadingPlaylist(e,t);let i=e.id,s=e.groupId,n=this.getUrlWithDirectives(e.url,t),r=e.details,a=r?.age;this.log(`Loading subtitle ${i} "${e.name}" lang:${e.lang} group:${s}${t?.msn!==void 0?" at sn "+t.msn+" part "+t.part:""}${a&&r.live?" age "+a.toFixed(1)+(r.type&&" "+r.type||""):""} ${n}`),this.hls.trigger(C.SUBTITLE_TRACK_LOADING,{url:n,id:i,groupId:s,deliveryDirectives:t||null,track:e});}toggleTrackModes(){let{media:e}=this;if(!e)return;let t=Id(e.textTracks),i=this.currentTrack,s;if(i&&(s=t.filter(n=>yh(i,n))[0],s||this.warn(`Unable to find subtitle TextTrack with name "${i.name}" and language "${i.lang}"`)),[].slice.call(t).forEach(n=>{n.mode!=="disabled"&&n!==s&&(n.mode="disabled");}),s){let n=this.subtitleDisplay?"showing":"hidden";s.mode!==n&&(s.mode=n);}}setSubtitleTrack(e){let t=this.tracksInGroup;if(!this.media){this.queuedDefaultTrack=e;return;}if(e<-1||e>=t.length||!Ie(e)){this.warn(`Invalid subtitle track id: ${e}`);return;}this.selectDefaultTrack=!1;let i=this.currentTrack,s=t[e]||null;if(this.trackId=e,this.currentTrack=s,this.toggleTrackModes(),!s){this.hls.trigger(C.SUBTITLE_TRACK_SWITCH,{id:e});return;}let n=!!s.details&&!s.details.live;if(e===this.trackId&&s===i&&n)return;this.log(`Switching to subtitle-track ${e}`+(s?` "${s.name}" lang:${s.lang} group:${s.groupId}`:""));let{id:r,groupId:a="",name:l,type:c,url:u}=s;this.hls.trigger(C.SUBTITLE_TRACK_SWITCH,{id:r,groupId:a,name:l,type:c,url:u});let f=this.switchParams(s.url,i?.details,s.details);this.loadPlaylist(f);}};function ek(){try{return crypto.randomUUID();}catch(e){try{let t=URL.createObjectURL(new Blob()),i=t.toString();return URL.revokeObjectURL(t),i.slice(i.lastIndexOf("/")+1);}catch(t){let i=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,s=>{let n=(i+Math.random()*16)%16|0;return i=Math.floor(i/16),(s=="x"?n:n&3|8).toString(16);});}}}function ha(e){let t=5381,i=e.length;for(;i;)t=t*33^e.charCodeAt(--i);return(t>>>0).toString();}var go=.025,qd=function(e){return e[e.Point=0]="Point",e[e.Range=1]="Range",e;}({});function tk(e,t,i){return`${e.identifier}-${i+1}-${ha(t)}`;}var ik=class{constructor(e,t){this.base=void 0,this._duration=null,this._timelineStart=null,this.appendInPlaceDisabled=void 0,this.appendInPlaceStarted=void 0,this.dateRange=void 0,this.hasPlayed=!1,this.cumulativeDuration=0,this.resumeOffset=NaN,this.playoutLimit=NaN,this.restrictions={skip:!1,jump:!1},this.snapOptions={out:!1,in:!1},this.assetList=[],this.assetListLoader=void 0,this.assetListResponse=null,this.resumeAnchor=void 0,this.error=void 0,this.resetOnResume=void 0,this.base=t,this.dateRange=e,this.setDateRange(e);}setDateRange(e){this.dateRange=e,this.resumeOffset=e.attr.optionalFloat("X-RESUME-OFFSET",this.resumeOffset),this.playoutLimit=e.attr.optionalFloat("X-PLAYOUT-LIMIT",this.playoutLimit),this.restrictions=e.attr.enumeratedStringList("X-RESTRICT",this.restrictions),this.snapOptions=e.attr.enumeratedStringList("X-SNAP",this.snapOptions);}reset(){var e;this.appendInPlaceStarted=!1,(e=this.assetListLoader)==null||e.destroy(),this.assetListLoader=void 0,this.supplementsPrimary||(this.assetListResponse=null,this.assetList=[],this._duration=null);}isAssetPastPlayoutLimit(e){var t;if(e>0&&e>=this.assetList.length)return!0;let i=this.playoutLimit;return e<=0||isNaN(i)?!1:i===0?!0:(((t=this.assetList[e])==null?void 0:t.startOffset)||0)>i;}findAssetIndex(e){return this.assetList.indexOf(e);}get identifier(){return this.dateRange.id;}get startDate(){return this.dateRange.startDate;}get startTime(){let e=this.dateRange.startTime;if(this.snapOptions.out){let t=this.dateRange.tagAnchor;if(t)return vu(e,t);}return e;}get startOffset(){return this.cue.pre?0:this.startTime;}get startIsAligned(){if(this.startTime===0||this.snapOptions.out)return!0;let e=this.dateRange.tagAnchor;if(e){let t=this.dateRange.startTime;return t-vu(t,e)<.1;}return!1;}get resumptionOffset(){let e=this.resumeOffset,t=Ie(e)?e:this.duration;return this.cumulativeDuration+t;}get resumeTime(){let e=this.startOffset+this.resumptionOffset;if(this.snapOptions.in){let t=this.resumeAnchor;if(t)return vu(e,t);}return e;}get appendInPlace(){return this.appendInPlaceStarted?!0:this.appendInPlaceDisabled?!1:!!(!this.cue.once&&!this.cue.pre&&this.startIsAligned&&(isNaN(this.playoutLimit)&&isNaN(this.resumeOffset)||this.resumeOffset&&this.duration&&Math.abs(this.resumeOffset-this.duration)<go));}set appendInPlace(e){if(this.appendInPlaceStarted){this.resetOnResume=!e;return;}this.appendInPlaceDisabled=!e;}get timelineStart(){return this._timelineStart!==null?this._timelineStart:this.startTime;}set timelineStart(e){this._timelineStart=e;}get duration(){let e=this.playoutLimit,t;return this._duration!==null?t=this._duration:this.dateRange.duration?t=this.dateRange.duration:t=this.dateRange.plannedDuration||0,!isNaN(e)&&e<t&&(t=e),t;}set duration(e){this._duration=e;}
240get cue(){return this.dateRange.cue;}get timelineOccupancy(){return this.dateRange.attr["X-TIMELINE-OCCUPIES"]==="RANGE"?qd.Range:qd.Point;}get supplementsPrimary(){return this.dateRange.attr["X-TIMELINE-STYLE"]==="PRIMARY";}get contentMayVary(){return this.dateRange.attr["X-CONTENT-MAY-VARY"]!=="NO";}get assetUrl(){return this.dateRange.attr["X-ASSET-URI"];}get assetListUrl(){return this.dateRange.attr["X-ASSET-LIST"];}get baseUrl(){return this.base.url;}get assetListLoaded(){return this.assetList.length>0||this.assetListResponse!==null;}toString(){return sk(this);}};function vu(e,t){return e-t.start<t.duration/2&&!(Math.abs(e-(t.start+t.duration))<go)?t.start:t.start+t.duration;}function nb(e,t,i){let s=new self.URL(e,i);return s.protocol!=="data:"&&s.searchParams.set("_HLS_primary_id",t),s;}function yu(e,t){for(;(i=e.assetList[++t])!=null&&i.error;)var i;return t;}function sk(e){return`["${e.identifier}" ${e.cue.pre?"<pre>":e.cue.post?"<post>":""}${e.timelineStart.toFixed(2)}-${e.resumeTime.toFixed(2)}]`;}function lo(e){let t=e.timelineStart,i=e.duration||0;return`["${e.identifier}" ${t.toFixed(2)}-${(t+i).toFixed(2)}]`;}var nk=class{constructor(e,t,i,s){this.hls=void 0,this.interstitial=void 0,this.assetItem=void 0,this.tracks=null,this.hasDetails=!1,this.mediaAttached=null,this._currentTime=void 0,this._bufferedEosTime=void 0,this.checkPlayout=()=>{this.reachedPlayout(this.currentTime)&&this.hls&&this.hls.trigger(C.PLAYOUT_LIMIT_REACHED,{});};let n=this.hls=new e(t);this.interstitial=i,this.assetItem=s;let r=()=>{this.hasDetails=!0;};n.once(C.LEVEL_LOADED,r),n.once(C.AUDIO_TRACK_LOADED,r),n.once(C.SUBTITLE_TRACK_LOADED,r),n.on(C.MEDIA_ATTACHING,(a,{media:l})=>{this.removeMediaListeners(),this.mediaAttached=l,this.interstitial.playoutLimit&&(l.addEventListener("timeupdate",this.checkPlayout),this.appendInPlace&&n.on(C.BUFFER_APPENDED,()=>{let c=this.bufferedEnd;this.reachedPlayout(c)&&(this._bufferedEosTime=c,n.trigger(C.BUFFERED_TO_END,void 0));}));});}get appendInPlace(){return this.interstitial.appendInPlace;}loadSource(){let e=this.hls;if(e)if(e.url)e.levels.length&&!e.started&&e.startLoad(-1,!0);else{let t=this.assetItem.uri;try{t=nb(t,e.config.primarySessionId||"").href;}catch(i){}e.loadSource(t);}}bufferedInPlaceToEnd(e){var t;if(!this.appendInPlace)return!1;if((t=this.hls)!=null&&t.bufferedToEnd)return!0;if(!e)return!1;let i=Math.min(this._bufferedEosTime||1/0,this.duration),s=this.timelineOffset,n=et.bufferInfo(e,s,0);return this.getAssetTime(n.end)>=i-.02;}reachedPlayout(e){let t=this.interstitial.playoutLimit;return this.startOffset+e>=t;}get destroyed(){var e;return!((e=this.hls)!=null&&e.userConfig);}get assetId(){return this.assetItem.identifier;}get interstitialId(){return this.assetItem.parentIdentifier;}get media(){var e;return((e=this.hls)==null?void 0:e.media)||null;}get bufferedEnd(){let e=this.media||this.mediaAttached;if(!e)return this._bufferedEosTime?this._bufferedEosTime:this.currentTime;let t=et.bufferInfo(e,e.currentTime,.001);return this.getAssetTime(t.end);}get currentTime(){let e=this.media||this.mediaAttached;return e?this.getAssetTime(e.currentTime):this._currentTime||0;}get duration(){let e=this.assetItem.duration;if(!e)return 0;let t=this.interstitial.playoutLimit;if(t){let i=t-this.startOffset;if(i>0&&i<e)return i;}return e;}get remaining(){let e=this.duration;return e?Math.max(0,e-this.currentTime):0;}get startOffset(){return this.assetItem.startOffset;}get timelineOffset(){var e;return((e=this.hls)==null?void 0:e.config.timelineOffset)||0;}set timelineOffset(e){let t=this.timelineOffset;if(e!==t){let i=e-t;if(Math.abs(i)>1/9e4&&this.hls){if(this.hasDetails)throw new Error("Cannot set timelineOffset after playlists are loaded");this.hls.config.timelineOffset=e;}}}getAssetTime(e){let t=this.timelineOffset,i=this.duration;return Math.min(Math.max(0,e-t),i);}removeMediaListeners(){let e=this.mediaAttached;e&&(this._currentTime=e.currentTime,this.bufferSnapShot(),e.removeEventListener("timeupdate",this.checkPlayout));}bufferSnapShot(){if(this.mediaAttached){var e;(e=this.hls)!=null&&e.bufferedToEnd&&(this._bufferedEosTime=this.bufferedEnd);}}destroy(){this.removeMediaListeners(),this.hls&&this.hls.destroy(),this.hls=null,this.tracks=this.mediaAttached=this.checkPlayout=null;}attachMedia(e){var t;this.loadSource(),(t=this.hls)==null||t.attachMedia(e);}detachMedia(){var e;this.removeMediaListeners(),this.mediaAttached=null,(e=this.hls)==null||e.detachMedia();}resumeBuffering(){var e;(e=this.hls)==null||e.resumeBuffering();}
240pauseBuffering(){var e;(e=this.hls)==null||e.pauseBuffering();}transferMedia(){var e;return this.bufferSnapShot(),((e=this.hls)==null?void 0:e.transferMedia())||null;}resetDetails(){let e=this.hls;if(e&&this.hasDetails){e.stopLoad();let t=i=>delete i.details;e.levels.forEach(t),e.allAudioTracks.forEach(t),e.allSubtitleTracks.forEach(t),this.hasDetails=!1;}}on(e,t,i){var s;(s=this.hls)==null||s.on(e,t);}once(e,t,i){var s;(s=this.hls)==null||s.once(e,t);}off(e,t,i){var s;(s=this.hls)==null||s.off(e,t);}toString(){var e;return`HlsAssetPlayer: ${lo(this.assetItem)} ${(e=this.hls)==null?void 0:e.sessionId} ${this.appendInPlace?"append-in-place":""}`;}},Yv=.033,rk=class extends rs{constructor(e,t){super("interstitials-sched",t),this.onScheduleUpdate=void 0,this.eventMap={},this.events=null,this.items=null,this.durations={primary:0,playout:0,integrated:0},this.onScheduleUpdate=e;}destroy(){this.reset(),this.onScheduleUpdate=null;}reset(){this.eventMap={},this.setDurations(0,0,0),this.events&&this.events.forEach(e=>e.reset()),this.events=this.items=null;}resetErrorsInRange(e,t){return this.events?this.events.reduce((i,s)=>e<=s.startOffset&&t>s.startOffset?(delete s.error,i+1):i,0):0;}get duration(){let e=this.items;return e?e[e.length-1].end:0;}get length(){return this.items?this.items.length:0;}getEvent(e){return e&&this.eventMap[e]||null;}hasEvent(e){return e in this.eventMap;}findItemIndex(e,t){if(e.event)return this.findEventIndex(e.event.identifier);let i=-1;e.nextEvent?i=this.findEventIndex(e.nextEvent.identifier)-1:e.previousEvent&&(i=this.findEventIndex(e.previousEvent.identifier)+1);let s=this.items;if(s)for(s[i]||(t===void 0&&(t=e.start),i=this.findItemIndexAtTime(t));i>=0&&(n=s[i])!=null&&n.event;){var n;i--;}return i;}findItemIndexAtTime(e,t){let i=this.items;if(i)for(let s=0;s<i.length;s++){let n=i[s];if(t&&t!=="primary"&&(n=n[t]),e===n.start||e>n.start&&e<n.end)return s;}return-1;}findJumpRestrictedIndex(e,t){let i=this.items;if(i)for(let s=e;s<=t&&i[s];s++){let n=i[s].event;if(n!=null&&n.restrictions.jump&&!n.appendInPlace)return s;}return-1;}findEventIndex(e){let t=this.items;if(t)for(let s=t.length;s--;){var i;if(((i=t[s].event)==null?void 0:i.identifier)===e)return s;}return-1;}findAssetIndex(e,t){let i=e.assetList,s=i.length;if(s>1)for(let n=0;n<s;n++){let r=i[n];if(!r.error){let a=r.timelineStart;if(t===a||t>a&&(t<a+(r.duration||0)||n===s-1))return n;}}return 0;}get assetIdAtEnd(){var e;let t=(e=this.items)==null||(e=e[this.length-1])==null?void 0:e.event;if(t){let i=t.assetList,s=i[i.length-1];if(s)return s.identifier;}return null;}parseInterstitialDateRanges(e,t){let i=e.main.details,{dateRanges:s}=i,n=this.events,r=this.parseDateRanges(s,{url:i.url},t),a=Object.keys(s),l=n?n.filter(c=>!a.includes(c.identifier)):[];r.length&&r.sort((c,u)=>{let f=c.cue.pre,p=c.cue.post,g=u.cue.pre,v=u.cue.post;if(f&&!g)return-1;if(g&&!f||p&&!v)return 1;if(v&&!p)return-1;if(!f&&!g&&!p&&!v){let T=c.startTime,y=u.startTime;if(T!==y)return T-y;}return c.dateRange.tagOrder-u.dateRange.tagOrder;}),this.events=r,l.forEach(c=>{this.removeEvent(c);}),this.updateSchedule(e,l);}updateSchedule(e,t=[],i=!1){let s=this.events||[];
240if(s.length||t.length||this.length<2){let n=this.items,r=this.parseSchedule(s,e);(i||t.length||n?.length!==r.length||r.some((a,l)=>Math.abs(a.playout.start-n[l].playout.start)>.005||Math.abs(a.playout.end-n[l].playout.end)>.005))&&(this.items=r,this.onScheduleUpdate(t,n));}}parseDateRanges(e,t,i){let s=[],n=Object.keys(e);for(let r=0;r<n.length;r++){let a=n[r],l=e[a];if(l.isInterstitial){let c=this.eventMap[a];c?c.setDateRange(l):(c=new ik(l,t),this.eventMap[a]=c,i===!1&&(c.appendInPlace=i)),s.push(c);}}return s;}parseSchedule(e,t){let i=[],s=t.main.details,n=s.live?1/0:s.edge,r=0;if(e=e.filter(l=>!l.error&&!(l.cue.once&&l.hasPlayed)),e.length){this.resolveOffsets(e,t);let l=0,c=0;if(e.forEach((u,f)=>{let p=u.cue.pre,g=u.cue.post,v=e[f-1]||null,T=u.appendInPlace,y=g?n:u.startOffset,A=u.duration,I=u.timelineOccupancy===qd.Range?A:0,P=u.resumptionOffset,k=v?.startTime===y,w=y+u.cumulativeDuration,R=T?w+A:y+P;if(p||!g&&y<=0){let D=c;c+=I,u.timelineStart=w;let O=r;r+=A,i.push({event:u,start:w,end:R,playout:{start:O,end:r},integrated:{start:D,end:c}});}else if(y<=n){if(!k){let V=y-l;if(V>Yv){let $=l,N=c;c+=V;let F=r;r+=V;let K={previousEvent:e[f-1]||null,nextEvent:u,start:$,end:$+V,playout:{start:F,end:r},integrated:{start:N,end:c}};i.push(K);}else V>0&&v&&(v.cumulativeDuration+=V,i[i.length-1].end=y);}g&&(R=w),u.timelineStart=w;let D=c;c+=I;let O=r;r+=A,i.push({event:u,start:w,end:R,playout:{start:O,end:r},integrated:{start:D,end:c}});}else return;let x=u.resumeTime;g||x>n?l=n:l=x;}),l<n){var a;let u=l,f=c,p=n-l;c+=p;let g=r;r+=p,i.push({previousEvent:((a=i[i.length-1])==null?void 0:a.event)||null,nextEvent:null,start:l,end:u+p,playout:{start:g,end:r},integrated:{start:f,end:c}});}this.setDurations(n,r,c);}else i.push({previousEvent:null,nextEvent:null,start:0,end:n,playout:{start:0,end:n},integrated:{start:0,end:n}}),this.setDurations(n,n,n);return i;}setDurations(e,t,i){this.durations={primary:e,playout:t,integrated:i};}resolveOffsets(e,t){let i=t.main.details,s=i.live?1/0:i.edge,n=0,r=-1;e.forEach((a,l)=>{let c=a.cue.pre,u=a.cue.post,f=c?0:u?s:a.startTime;this.updateAssetDurations(a),r===f?a.cumulativeDuration=n:(n=0,r=f),!u&&a.snapOptions.in&&(a.resumeAnchor=yr(null,i.fragments,a.startOffset+a.resumptionOffset,0,0)||void 0),a.appendInPlace&&!a.appendInPlaceStarted&&(this.primaryCanResumeInPlaceAt(a,t)||(a.appendInPlace=!1)),!a.appendInPlace&&l+1<e.length&&e[l+1].startTime-e[l].resumeTime<Yv&&(e[l+1].appendInPlace=!1,e[l+1].appendInPlace&&this.warn(`Could not change append strategy for abutting event ${a}`));let p=Ie(a.resumeOffset)?a.resumeOffset:a.duration;n+=p;});}primaryCanResumeInPlaceAt(e,t){let i=e.resumeTime,s=e.startTime+e.resumptionOffset;return Math.abs(i-s)>go?(this.log(`"${e.identifier}" resumption ${i} not aligned with estimated timeline end ${s}`),!1):!Object.keys(t).some(n=>{let r=t[n].details,a=r.edge;if(i>=a)return this.log(`"${e.identifier}" resumption ${i} past ${n} playlist end ${a}`),!1;let l=yr(null,r.fragments,i);if(!l)return this.log(`"${e.identifier}" resumption ${i} does not align with any fragments in ${n} playlist (${r.fragStart}-${r.fragmentEnd})`),!0;let c=n==="audio"?.175:0;return Math.abs(l.start-i)<go+c||Math.abs(l.end-i)<go+c?!1:(this.log(`"${e.identifier}" resumption ${i} not aligned with ${n} fragment bounds (${l.start}-${l.end} sn: ${l.sn} cc: ${l.cc})`),!0);});}updateAssetDurations(e){if(!e.assetListLoaded)return;let t=e.timelineStart,i=0,s=!1,n=!1;for(let r=0;r<e.assetList.length;r++){let a=e.assetList[r],l=t+i;a.startOffset=i,a.timelineStart=l,s||(s=a.duration===null),n||(n=!!a.error);let c=a.error?0:a.duration||0;i+=c;}s&&!n?e.duration=Math.max(i,e.duration):e.duration=i;}removeEvent(e){e.reset(),delete this.eventMap[e.identifier];}};function hs(e){return`[${e.event?'"'+e.event.identifier+'"':"primary"}: ${e.start.toFixed(2)}-${e.end.toFixed(2)}]`;}var ok=class{constructor(e){this.hls=void 0,this.hls=e;}destroy(){this.hls=null;}loadAssetList(e,t){let i=e.assetListUrl,s;try{s=nb(i,this.hls.sessionId,e.baseUrl);}catch(f){let p=this.assignAssetListError(e,Z.ASSET_LIST_LOAD_ERROR,f,i);this.hls.trigger(C.ERROR,p);return;}t&&s.protocol!=="data:"&&s.searchParams.set("_HLS_start_offset",""+t);let n=this.hls.config,r=n.loader,a=new r(n),l={responseType:"json",url:s.href},c=n.interstitialAssetListLoadPolicy.default,u={loadPolicy:c,timeout:c.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0};return a.load(l,u,{onSuccess:(f,p,g,v)=>{let T=f.data,y=T?.ASSETS;if(!Array.isArray(y)){let A=this.assignAssetListError(e,Z.ASSET_LIST_PARSING_ERROR,new Error("Invalid interstitial asset list"),g.url,p,v);this.hls.trigger(C.ERROR,A);return;}e.assetListResponse=T,this.hls.trigger(C.ASSET_LIST_LOADED,{event:e,assetListResponse:T,networkDetails:v});},onError:(f,p,g,v)=>{let T=this.assignAssetListError(e,Z.ASSET_LIST_LOAD_ERROR,new Error(`Error loading X-ASSET-LIST: HTTP status ${f.code} ${f.text} (${p.url})`),p.url,v,g);this.hls.trigger(C.ERROR,T);},onTimeout:(f,p,g)=>{let v=this.assignAssetListError(e,Z.ASSET_LIST_LOAD_TIMEOUT,new Error(`Timeout loading X-ASSET-LIST (${p.url})`),p.url,f,g);this.hls.trigger(C.ERROR,v);}}),this.hls.trigger(C.ASSET_LIST_LOADING,{event:e}),a;}assignAssetListError(e,t,i,s,n,r){return e.error=i,{type:Fe.NETWORK_E
240RROR,details:t,fatal:!1,interstitial:e,url:s,error:i,networkDetails:r,stats:n};}};function Xv(e){var t;e==null||(t=e.play())==null||t.catch(()=>{});}function Zr(e,t){return`[${e}] Advancing timeline position to ${t}`;}var ak=class extends rs{constructor(e,t){super("interstitials",e.logger),this.HlsPlayerClass=void 0,this.hls=void 0,this.assetListLoader=void 0,this.mediaSelection=null,this.altSelection=null,this.media=null,this.detachedData=null,this.requiredTracks=null,this.manager=null,this.playerQueue=[],this.bufferedPos=-1,this.timelinePos=-1,this.schedule=void 0,this.playingItem=null,this.bufferingItem=null,this.waitingItem=null,this.endedItem=null,this.playingAsset=null,this.endedAsset=null,this.bufferingAsset=null,this.shouldPlay=!1,this.onPlay=()=>{this.shouldPlay=!0;},this.onPause=()=>{this.shouldPlay=!1;},this.onSeeking=()=>{let i=this.currentTime;if(i===void 0||this.playbackDisabled||!this.schedule)return;let s=i-this.timelinePos;if(Math.abs(s)<1/7056e5)return;let n=s<=-.01;this.timelinePos===-1&&!this.effectivePlayingItem&&this.checkStart(),this.timelinePos=i,this.bufferedPos=i;let r=this.playingItem;if(!r){this.checkBuffer();return;}if(n&&this.schedule.resetErrorsInRange(i,i-s)&&this.updateSchedule(!0),this.checkBuffer(),n&&i<r.start||i>=r.end){var a;let p=this.findItemIndex(r),g=this.schedule.findItemIndexAtTime(i);if(g===-1&&(g=p+(n?-1:1),this.log(`seeked ${n?"back ":""}to position not covered by schedule ${i} (resolving from ${p} to ${g})`)),!this.isInterstitial(r)&&(a=this.media)!=null&&a.paused&&(this.shouldPlay=!1),!n&&g>p){let v=this.schedule.findJumpRestrictedIndex(p+1,g);if(v>p){this.setSchedulePosition(v);return;}}this.setSchedulePosition(g);return;}let l=this.playingAsset;if(!l){if(this.playingLastItem&&this.isInterstitial(r)){let p=r.event.assetList[0];p&&(this.endedItem=this.playingItem,this.playingItem=null,this.setScheduleToAssetAtTime(i,p));}return;}let c=l.timelineStart,u=l.duration||0;if(n&&i<c||i>=c+u){var f;(f=r.event)!=null&&f.appendInPlace&&(this.clearAssetPlayers(r.event,r),this.flushFrontBuffer(i)),this.setScheduleToAssetAtTime(i,l);}},this.onTimeupdate=()=>{let i=this.currentTime;if(i===void 0||this.playbackDisabled)return;if(this.timelinePos===-1&&!this.effectivePlayingItem&&this.checkStart(),i>this.timelinePos)this.timelinePos=i,i>this.bufferedPos&&this.checkBuffer();else return;let s=this.playingItem;if(!s||this.playingLastItem)return;if(i>=s.end){this.timelinePos=s.end;let r=this.findItemIndex(s);this.setSchedulePosition(r+1);}let n=this.playingAsset;n&&i>=n.timelineStart+(n.duration||0)&&this.setScheduleToAssetAtTime(i,n);},this.onScheduleUpdate=(i,s)=>{let n=this.schedule;if(!n)return;let r=this.playingItem,a=n.events||[],l=n.items||[],c=n.durations,u=i.map(T=>T.identifier),f=!!(a.length||u.length);(f||s)&&this.log(`INTERSTITIALS_UPDATED (${a.length}): ${a} 241Schedule: ${l.map(T=>hs(T))} pos: ${this.timelinePos}`),u.length&&this.log(`Removed events ${u}`);let p=null,g=null;r&&(p=this.updateItem(r,this.timelinePos),this.itemsMatch(r,p)?this.playingItem=p:this.waitingItem=this.endedItem=null),this.waitingItem=this.updateItem(this.waitingItem),this.endedItem=this.updateItem(this.endedItem);let v=this.bufferingItem;if(v&&(g=this.updateItem(v,this.bufferedPos),this.itemsMatch(v,g)?this.bufferingItem=g:v.event&&(this.bufferingItem=this.playingItem,this.clearInterstitial(v.event,null))),i.forEac
241h(T=>{T.assetList.forEach(y=>{this.clearAssetPlayer(y.identifier,null);});}),this.playerQueue.forEach(T=>{if(T.interstitial.appendInPlace){let y=T.assetItem.timelineStart,A=T.timelineOffset-y;if(A)try{T.timelineOffset=y;}catch(I){Math.abs(A)>go&&this.warn(`${I} ("${T.assetId}" ${T.timelineOffset}->${y})`);}}}),f||s){if(this.hls.trigger(C.INTERSTITIALS_UPDATED,{events:a.slice(0),schedule:l.slice(0),durations:c,removedIds:u}),this.isInterstitial(r)&&u.includes(r.event.identifier)){this.warn(`Interstitial "${r.event.identifier}" removed while playing`),this.primaryFallback(r.event);return;}r&&this.trimInPlace(p,r),v&&g!==p&&this.trimInPlace(g,v),this.checkBuffer();}},this.hls=e,this.HlsPlayerClass=t,this.assetListLoader=new ok(e),this.schedule=new rk(this.onScheduleUpdate,e.logger),this.registerListeners();}registerListeners(){let e=this.hls;e&&(e.on(C.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(C.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(C.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(C.MANIFEST_LOADING,this.onManifestLoading,this),e.on(C.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(C.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(C.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.on(C.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(C.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.on(C.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.on(C.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.on(C.BUFFER_APPENDED,this.onBufferAppended,this),e.on(C.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(C.BUFFERED_TO_END,this.onBufferedToEnd,this),e.on(C.MEDIA_ENDED,this.onMediaEnded,this),e.on(C.ERROR,this.onError,this),e.on(C.DESTROYING,this.onDestroying,this));}unregisterListeners(){let e=this.hls;e&&(e.off(C.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(C.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(C.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(C.MANIFEST_LOADING,this.onManifestLoading,this),e.off(C.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(C.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(C.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.off(C.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(C.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.off(C.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.off(C.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.off(C.BUFFER_CODECS,this.onBufferCodecs,this),e.off(C.BUFFER_APPENDED,this.onBufferAppended,this),e.off(C.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(C.BUFFERED_TO_END,this.onBufferedToEnd,this),e.off(C.MEDIA_ENDED,this.onMediaEnded,this),e.off(C.ERROR,this.onError,this),e.off(C.DESTROYING,this.onDestroying,this));}startLoad(){this.resumeBuffering();}stopLoad(){this.pauseBuffering();}resumeBuffering(){var e;(e=this.getBufferingPlayer())==null||e.resumeBuffering();}pauseBuffering(){var e;(e=this.getBufferingPlayer())==null||e.pauseBuffering();}destroy(){this.unregisterListeners(),this.stopLoad(),this.assetListLoader&&this.assetListLoader.destroy(),this.emptyPlayerQueue(),this.clearScheduleState(),this.schedule&&this.schedule.destroy(),this.media=this.detachedData=this.mediaSelection=this.requiredTracks=this.altSelection=this.schedule=this.manager=null,this.hls=this.HlsPlayerClass=this.log=null,this.assetListLoader=null,this.onPlay=this.onPause=this.onSeeking=this.onTimeupdate=null,this.onScheduleUpdate=null;}onDestroying(){let e=this.primaryMedia||this.media;e&&this.removeMediaListeners(e);}removeMediaListeners(e){Fi(e,"play",this.onPlay),Fi(e,"pause",this.onPause),Fi(e,"seeking",this.onSeeking),Fi(e,"timeupdate",this.onTimeupdate);}onMediaAttaching(e,t){let i=this.media=t.media;Ii(i,"seeking",this.onSeeking),Ii(i,"timeupdate",this.onTimeupdate),Ii(i,"play",this.onPlay),Ii(i,"pause",this.onPause);}onMediaAttached(e,t){let i=this.effectivePlayingItem,s=this.detachedData;if(this.detachedData=null,i===null)this.checkStart();else if(!s){this.clearScheduleState();let n=this.findItemIndex(i);this.setSchedulePosition(n);}}clearScheduleState(){this.log("clear schedule state"),this.playingItem=this.bufferingItem=this.waitingItem=this.endedItem=this.playingAsset=this.endedAsset=this.bufferingAsset=null;}onMediaDetaching(e,t){let i=!!t.transferMedia,s=this.media;if(this.media=null,!i&&(s&&this.removeMediaListeners(s),this.detachedData)){let n=this.getBuffer
241ingPlayer();n&&(this.log(`Removing schedule state for detachedData and ${n}`),this.playingAsset=this.endedAsset=this.bufferingAsset=this.bufferingItem=this.waitingItem=this.detachedData=null,n.detachMedia()),this.shouldPlay=!1;}}get interstitialsManager(){if(!this.hls)return null;if(this.manager)return this.manager;let e=this,t=()=>e.bufferingItem||e.waitingItem,i=f=>f&&e.getAssetPlayer(f.identifier),s=(f,p,g,v,T)=>{if(f){let y=f[p].start,A=f.event;if(A){if(p==="playout"||A.timelineOccupancy!==qd.Point){let I=i(g);I?.interstitial===A&&(y+=I.assetItem.startOffset+I[T]);}}else{let I=v==="bufferedPos"?r():e[v];y+=I-f.start;}return y;}return 0;},n=(f,p)=>{var g;if(f!==0&&p!=="primary"&&(g=e.schedule)!=null&&g.length){var v;let T=e.schedule.findItemIndexAtTime(f),y=(v=e.schedule.items)==null?void 0:v[T];if(y)return f+(y[p].start-y.start);}return f;},r=()=>{let f=e.bufferedPos;return f===Number.MAX_VALUE?a("primary"):Math.max(f,0);},a=f=>{var p,g;return(p=e.primaryDetails)!=null&&p.live?e.primaryDetails.edge:((g=e.schedule)==null?void 0:g.durations[f])||0;},l=(f,p)=>{var g,v;let T=e.effectivePlayingItem;if(T!=null&&(g=T.event)!=null&&g.restrictions.skip||!e.schedule)return;e.log(`seek to ${f} "${p}"`);let y=e.effectivePlayingItem,A=e.schedule.findItemIndexAtTime(f,p),I=(v=e.schedule.items)==null?void 0:v[A],P=e.getBufferingPlayer(),k=P?.interstitial,w=k?.appendInPlace,R=y&&e.itemsMatch(y,I);if(y&&(w||R)){let x=i(e.playingAsset),D=x?.media||e.primaryMedia;if(D){let O=p==="primary"?D.currentTime:s(y,p,e.playingAsset,"timelinePos","currentTime"),V=f-O,$=(w?O:D.currentTime)+V;if($>=0&&(!x||w||$<=x.duration)){D.currentTime=$;return;}}}if(I){let x=f;if(p!=="primary"){let O=f-I[p].start;x=I.start+O;}let D=!e.isInterstitial(I);if((!e.isInterstitial(y)||y.event.appendInPlace)&&(D||I.event.appendInPlace)){let O=e.media||(w?P?.media:null);O&&(O.currentTime=x);}else if(y){let O=e.findItemIndex(y);if(A>O){let $=e.schedule.findJumpRestrictedIndex(O+1,A);if($>O){e.setSchedulePosition($);return;}}let V=0;if(D)e.timelinePos=x,e.checkBuffer();else{let $=I.event.assetList,N=f-(I[p]||I).start;for(let F=$.length;F--;){let K=$[F];if(K.duration&&N>=K.startOffset&&N<K.startOffset+K.duration){V=F;break;}}}e.setSchedulePosition(A,V);}}},c=()=>{let f=e.effectivePlayingItem;if(e.isInterstitial(f))return f;let p=t();return e.isInterstitial(p)?p:null;},u={get bufferedEnd(){let f=t(),p=e.bufferingItem;if(p&&p===f){var g;return s(p,"playout",e.bufferingAsset,"bufferedPos","bufferedEnd")-p.playout.start||((g=e.bufferingAsset)==null?void 0:g.startOffset)||0;}return 0;},get currentTime(){let f=c(),p=e.effectivePlayingItem;return p&&p===f?s(p,"playout",e.effectivePlayingAsset,"timelinePos","currentTime")-p.playout.start:0;},set currentTime(f){let p=c(),g=e.effectivePlayingItem;g&&g===p&&l(f+g.playout.start,"playout");},get duration(){let f=c();return f?f.playout.end-f.playout.start:0;},get assetPlayers(){var f;let p=(f=c())==null?void 0:f.event.assetList;return p?p.map(g=>e.getAssetPlayer(g.identifier)):[];},get playingIndex(){var f;let p=(f=c())==null?void 0:f.event;return p&&e.effectivePlayingAsset?p.findAssetIndex(e.effectivePlayingAsset):-1;},get scheduleItem(){return c();}};return this.manager={get events(){var f;return((f=e.schedule)==null||(f=f.events)==null?void 0:f.slice(0))||[];},get schedule(){var f;return((f=e.schedule)==null||(f=f.items)==null?void 0:f.slice(0))||[];},get interstitialPlayer(){return c()?u:null;},get playerQueue(){return e.playerQueue.slice(0);},get bufferingAsset(){return e.bufferingAsset;},get bufferingItem(){return t();},get bufferingIndex(){let f=t();return e.findItemIndex(f);},get playingAsset(){return e.effectivePlayingAsset;},get playingItem(){return e.effectivePlayingItem;},get playingIndex(){let f=e.effectivePlayingItem;return e.findItemIndex(f);},primary:{get bufferedEnd(){return r();},get currentTime(){let f=e.timelinePos;return f>0?f:0;},set currentTime(f){l(f,"primary");},get duration(){return a("primary");},get seekableStart(){var f;return((f=e.primaryDetails)==null?void 0:f.fragmentStart)||0;}},integrated:{get bufferedEnd(){return s(t(),"integrated",e.bufferingAsset,"bufferedPos","bufferedEnd");},get currentTime(){return s(e.effectivePlayingItem,"integrated",e.effectivePlayingAsset,"timelinePos","currentTime");},set currentTime(f){l(f,"integrated");},get duration(){return a("integrated");},get seekableStart(){var f;return n(((f=e.primaryDetails)==null?void 0:f.fragmentStart)||0,"integrated");}},skip:()=>{let f=e.effectivePlayingItem,p=f?.event;if(p&&!p.restrictions.skip){let g=e.findItemIndex(f);p.appendInPlace?l(f.playout.start+f.event.duration+.001,"playout"):e.advanceAfterAssetEnded(p,g,1/0);}}};}get effectivePlayingItem(){return this.waitingItem||this.playingItem||this.endedItem;}get effectivePlayingAsset(){return this.playingAsset||this.endedAsset;}get playingLastItem(){var e;let t=this.playingItem,i=(e=this.schedule)==null?void 0:e.items;return!this.playbackStarted||!t||!i?!1:this.findItemIndex(t)===i.length-1;}get playbackStarted(){return this.effectivePlayingItem!==null;}get currentTime(){var e,t;if(this.mediaSelection===null)return;let i=this.waitingItem||this.playingItem;if(this.isInterstitial(i)&&!i.event.appendInPlace)return;let s=this.media;!s&&(e=this.bufferingItem)!=null&&(e=e.event)!=null&&e.appendInPlace&&(s=this.primaryMedia);let n=(t=s)==null?void 0:t.currentTime;if(!(n===void 0||!Ie(n)))return n;}get primaryMedia(){var e;return this.media||((e=this.detachedData)==null?void 0:e.media)||null;}isInterstitial(e){return!!(e!=null&&e.event);}retreiveMediaSource(e,t){let i=this.getAssetPlayer(e);i&&this.transferMediaFromPlayer(i,t);}transferMediaFromPlayer(e,t){let i=e.interstitial.appendInPlace,s=e.media;if(i&&s===this.primaryMedia){if(this.bufferingAsset=null,(!t||this.isInterstitial(t)&&!t.event.appendInPlace)&&t&&s){this.detachedData={media:s};return;}let n=e.transferMedia();this.log(`transfer MediaSource from ${e} ${It(n)}`),this.detachedData=n;}else t&&s&&(this.shouldPlay||(this.shouldPlay=!s.paused));}transferMediaTo(e,t){var i,s;if(e.media===t)return;let n=null,r=this.hls,a=e!==r,l=a&&e.interstitial.appendInPlace,c=(i=this.detachedData)==null?void 0:i.mediaSource,u;if(r.media)l&&(n=r.transferMedia(),this.detachedData=n),u="Primary";
241else if(c){let v=this.getBufferingPlayer();v?(n=v.transferMedia(),u=`${v}`):u="detached MediaSource";}else u="detached media";if(!n){if(c)n=this.detachedData,this.log(`using detachedData: MediaSource ${It(n)}`);else if(!this.detachedData||r.media===t){let v=this.playerQueue;v.length>1&&v.forEach(T=>{if(a&&T.interstitial.appendInPlace!==l){let y=T.interstitial;this.clearInterstitial(T.interstitial,null),y.appendInPlace=!1,y.appendInPlace&&this.warn(`Could not change append strategy for queued assets ${y}`);}}),this.hls.detachMedia(),this.detachedData={media:t};}}let f=n&&"mediaSource"in n&&((s=n.mediaSource)==null?void 0:s.readyState)!=="closed",p=f&&n?n:t;this.log(`${f?"transfering MediaSource":"attaching media"} to ${a?e:"Primary"} from ${u} (media.currentTime: ${t.currentTime})`);let g=this.schedule;if(p===n&&g){let v=a&&e.assetId===g.assetIdAtEnd;p.overrides={duration:g.duration,endOfStream:!a||v,cueRemoval:!a};}e.attachMedia(p);}onInterstitialCueEnter(){this.onTimeupdate();}checkStart(){let e=this.schedule,t=e?.events;if(!t||this.playbackDisabled||!this.media)return;this.bufferedPos===-1&&(this.bufferedPos=0);let i=this.timelinePos,s=this.effectivePlayingItem;if(i===-1){let n=this.hls.startPosition;if(this.timelinePos=n,t.length===0)this.setSchedulePosition(0);else if(t[0].cue.pre){this.log(Zr("checkStart (preroll)",n));let r=e.findEventIndex(t[0].identifier);this.setSchedulePosition(r);}else if(n>=0||!this.primaryLive){this.log(Zr("checkStart",n));let r=this.timelinePos=n>0?n:0,a=e.findItemIndexAtTime(r);this.setSchedulePosition(a);}else this.hls.liveSyncPosition===0?this.setSchedulePosition(0):this.log("[checkStart] waiting for live start");}else if(s&&!this.playingItem){this.log(Zr("checkStart (playing item)",s.start));let n=e.findItemIndex(s);this.setSchedulePosition(n);}}advanceAssetBuffering(e,t){let i=e.event,s=yu(i,i.findAssetIndex(t));if(!i.isAssetPastPlayoutLimit(s))this.bufferedToEvent(e,s);else if(this.schedule){var n;let r=(n=this.schedule.items)==null?void 0:n[this.findItemIndex(e)+1];r&&this.bufferedToItem(r);}}advanceAfterAssetEnded(e,t,i){let s=yu(e,i);if(e.isAssetPastPlayoutLimit(s)){if(this.schedule){let n=this.schedule.items;if(n){let r=t+1;if(r>=n.length){this.setSchedulePosition(-1);return;}let a=e.resumeTime;this.timelinePos<a&&(this.log(Zr("advanceAfterAssetEnded",a)),this.timelinePos=a,e.appendInPlace&&this.advanceInPlace(a),this.checkBuffer(this.bufferedPos<a)),this.setSchedulePosition(r);}}}else{if(e.appendInPlace){let n=e.assetList[s];n&&this.advanceInPlace(n.timelineStart);}this.setSchedulePosition(t,s);}}setScheduleToAssetAtTime(e,t){let i=this.schedule;if(!i)return;let s=t.parentIdentifier,n=i.getEvent(s);if(n){let r=i.findEventIndex(s),a=i.findAssetIndex(n,e);this.advanceAfterAssetEnded(n,r,a-1);}}setSchedulePosition(e,t){var i;let s=(i=this.schedule)==null?void 0:i.items;if(!s||this.playbackDisabled)return;let n=e>=0?s[e]:null;this.log(`setSchedulePosition ${e}, ${t} (${n&&hs(n)}) pos: ${this.timelinePos}`);let r=this.waitingItem||this.playingItem,a=this.playingLastItem;if(this.isInterstitial(r)){let u=r.event,f=this.playingAsset,p=f?.identifier,g=p?this.getAssetPlayer(p):null;if(g&&p&&(!this.eventItemsMatch(r,n)||t!==void 0&&p!==u.assetList[t].identifier)){var l;let v=u.findAssetIndex(f);if(this.log(`INTERSTITIAL_ASSET_ENDED ${v+1}/${u.assetList.length} ${lo(f)}`),this.endedAsset=f,this.playingAsset=null,this.hls.trigger(C.INTERSTITIAL_ASSET_ENDED,{asset:f,assetListIndex:v,event:u,schedule:s.slice(0),scheduleIndex:e,player:g}),r!==this.playingItem){this.itemsMatch(r,this.playingItem)&&!this.playingAsset&&this.advanceAfterAssetEnded(u,this.findItemIndex(this.playingItem),v);return;}this.retreiveMediaSource(p,n),g.media&&!((l=this.detachedData)!=null&&l.mediaSource)&&g.detachMedia();}if(!this.eventItemsMatch(r,n)&&(this.endedItem=r,this.playingItem=null,this.log(`INTERSTITIAL_ENDED ${u} ${hs(r)}`),u.hasPlayed=!0,this.hls.trigger(C.INTERSTITIAL_ENDED,{event:u,schedule:s.slice(0),scheduleIndex:e}),u.cue.once)){var c;this.updateSchedule();let v=(c=this.schedule)==null?void 0:c.items;if(n&&v){let T=this.findItemIndex(n);this.advanceSchedule(T,v,t,r,a);}return;}}this.advanceSchedule(e,s,t,r,a);}advanceSchedule(e,t,i,s,n){let r=this.schedule;if(!r)return;let a=t[e]||null,l=this.primaryMedia,c=this.playerQueue;
241if(c.length&&c.forEach(u=>{let f=u.interstitial,p=r.findEventIndex(f.identifier);(p<e||p>e+1)&&this.clearInterstitial(f,a);}),this.isInterstitial(a)){this.timelinePos=Math.min(Math.max(this.timelinePos,a.start),a.end);let u=a.event;if(i===void 0){i=r.findAssetIndex(u,this.timelinePos);let v=yu(u,i-1);if(u.isAssetPastPlayoutLimit(v)||u.appendInPlace&&this.timelinePos===a.end){this.advanceAfterAssetEnded(u,e,i);return;}i=v;}let f=this.waitingItem;this.assetsBuffered(a,l)||this.setBufferingItem(a);let p=this.preloadAssets(u,i);if(this.eventItemsMatch(a,f||s)||(this.waitingItem=a,this.log(`INTERSTITIAL_STARTED ${hs(a)} ${u.appendInPlace?"append in place":""}`),this.hls.trigger(C.INTERSTITIAL_STARTED,{event:u,schedule:t.slice(0),scheduleIndex:e})),!u.assetListLoaded){this.log(`Waiting for ASSET-LIST to complete loading ${u}`);return;}if(u.assetListLoader&&(u.assetListLoader.destroy(),u.assetListLoader=void 0),!l){this.log(`Waiting for attachMedia to start Interstitial ${u}`);return;}this.waitingItem=this.endedItem=null,this.playingItem=a;let g=u.assetList[i];if(!g){this.advanceAfterAssetEnded(u,e,i||0);return;}if(p||(p=this.getAssetPlayer(g.identifier)),p===null||p.destroyed){let v=u.assetList.length;this.warn(`asset ${i+1}/${v} player destroyed ${u}`),p=this.createAssetPlayer(u,g,i),p.loadSource();}if(!this.eventItemsMatch(a,this.bufferingItem)&&u.appendInPlace&&this.isAssetBuffered(g))return;this.startAssetPlayer(p,i,t,e,l),this.shouldPlay&&Xv(p.media);}else a?(this.resumePrimary(a,e,s),this.shouldPlay&&Xv(this.hls.media)):n&&this.isInterstitial(s)&&(this.endedItem=null,this.playingItem=s,s.event.appendInPlace||this.attachPrimary(r.durations.primary,null));}get playbackDisabled(){return this.hls.config.enableInterstitialPlayback===!1;}get primaryDetails(){var e;return(e=this.mediaSelection)==null?void 0:e.main.details;}get primaryLive(){var e;return!!((e=this.primaryDetails)!=null&&e.live);}resumePrimary(e,t,i){var s,n;if(this.playingItem=e,this.playingAsset=this.endedAsset=null,this.waitingItem=this.endedItem=null,this.bufferedToItem(e),this.log(`resuming ${hs(e)}`),!((s=this.detachedData)!=null&&s.mediaSource)){let a=this.timelinePos;(a<e.start||a>=e.end)&&(a=this.getPrimaryResumption(e,t),this.log(Zr("resumePrimary",a)),this.timelinePos=a),this.attachPrimary(a,e);}if(!i)return;let r=(n=this.schedule)==null?void 0:n.items;r&&(this.log(`INTERSTITIALS_PRIMARY_RESUMED ${hs(e)}`),this.hls.trigger(C.INTERSTITIALS_PRIMARY_RESUMED,{schedule:r.slice(0),scheduleIndex:t}),this.checkBuffer());}getPrimaryResumption(e,t){let i=e.start;if(this.primaryLive){let s=this.primaryDetails;if(t===0)return this.hls.startPosition;if(s&&(i<s.fragmentStart||i>s.edge))return this.hls.liveSyncPosition||-1;}return i;}isAssetBuffered(e){let t=this.getAssetPlayer(e.identifier);return t!=null&&t.hls?t.hls.bufferedToEnd:et.bufferInfo(this.primaryMedia,this.timelinePos,0).end+1>=e.timelineStart+(e.duration||0);}attachPrimary(e,t,i){t?this.setBufferingItem(t):this.bufferingItem=this.playingItem,this.bufferingAsset=null;let s=this.primaryMedia;if(!s)return;let n=this.hls;n.media?this.checkBuffer():(this.transferMediaTo(n,s),i&&this.startLoadingPrimaryAt(e,i)),i||(this.log(Zr("attachPrimary",e)),this.timelinePos=e,this.startLoadingPrimaryAt(e,i));}startLoadingPrimaryAt(e,t){var i;let s=this.hls;!s.loadingEnabled||!s.media||Math.abs((((i=s.mainForwardBufferInfo)==null?void 0:i.start)||s.media.currentTime)-e)>.5?s.startLoad(e,t):s.bufferingEnabled||s.resumeBuffering();}onManifestLoading(){var e;this.stopLoad(),(e=this.schedule)==null||e.reset(),this.emptyPlayerQueue(),this.clearScheduleState(),this.shouldPlay=!1,this.bufferedPos=this.timelinePos=-1,this.mediaSelection=this.altSelection=this.manager=this.requiredTracks=null,this.hls.off(C.BUFFER_CODECS,this.onBufferCodecs,this),this.hls.on(C.BUFFER_CODECS,this.onBufferCodecs,this);}onLevelUpdated(e,t){if(t.level===-1||!this.schedule)return;let i=this.hls.levels[t.level];if(!i.details)return;let s=yt(yt({},this.mediaSelection||this.altSelection),{},{main:i});this.mediaSelection=s,this.schedule.parseInterstitialDateRanges(s,this.hls.config.interstitialAppendInPlace),!this.effectivePlayingItem&&this.schedule.items&&this.checkStart();}onAudioTrackUpdated(e,t){let i=this.hls.audioTracks[t.id],s=this.mediaSelection;if(!s){this.altSelection=yt(yt({},this.altSelection),{},{audio:i});return;}let n=yt(yt({},s),{},{audio:i});this.mediaSelection=n;}onSubtitleTrackUpdated(e,t){let i=this.hls.subtitleTracks[t.id],s=this.mediaSelection;if(!s){this.altSelection=yt(yt({},this.altSelection),{},{subtitles:i});return;}let n=yt(yt({},s),{},{subtitles:i});this.mediaSelection=n;}onAudioTrackSwitching(e,t){let i=rv(t);this.playerQueue.forEach(({hls:s})=>
241s&&(s.setAudioOption(t)||s.setAudioOption(i)));}onSubtitleTrackSwitch(e,t){let i=rv(t);this.playerQueue.forEach(({hls:s})=>s&&(s.setSubtitleOption(t)||t.id!==-1&&s.setSubtitleOption(i)));}onBufferCodecs(e,t){let i=t.tracks;i&&(this.requiredTracks=i);}onBufferAppended(e,t){this.checkBuffer();}onBufferFlushed(e,t){let i=this.playingItem;if(i&&!this.itemsMatch(i,this.bufferingItem)&&!this.isInterstitial(i)){let s=this.timelinePos;this.bufferedPos=s,this.checkBuffer();}}onBufferedToEnd(e){if(!this.schedule)return;let t=this.schedule.events;if(this.bufferedPos<Number.MAX_VALUE&&t){for(let s=0;s<t.length;s++){let n=t[s];if(n.cue.post){var i;let r=this.schedule.findEventIndex(n.identifier),a=(i=this.schedule.items)==null?void 0:i[r];this.isInterstitial(a)&&this.eventItemsMatch(a,this.bufferingItem)&&this.bufferedToItem(a,0);break;}}this.bufferedPos=Number.MAX_VALUE;}}onMediaEnded(e){let t=this.playingItem;if(!this.playingLastItem&&t){let i=this.findItemIndex(t);this.setSchedulePosition(i+1);}else this.shouldPlay=!1;}updateItem(e,t){var i;let s=(i=this.schedule)==null?void 0:i.items;return e&&s&&s[this.findItemIndex(e,t)]||null;}trimInPlace(e,t){if(this.isInterstitial(e)&&e.event.appendInPlace&&t.end-e.end>.25){e.event.assetList.forEach((n,r)=>{e.event.isAssetPastPlayoutLimit(r)&&this.clearAssetPlayer(n.identifier,null);});let i=e.end+.25,s=et.bufferInfo(this.primaryMedia,i,0);(s.end>i||(s.nextStart||0)>i)&&(this.log(`trim buffered interstitial ${hs(e)} (was ${hs(t)})`),this.attachPrimary(i,null,!0),this.flushFrontBuffer(i));}}itemsMatch(e,t){return!!t&&(e===t||e.event&&t.event&&this.eventItemsMatch(e,t)||!e.event&&!t.event&&this.findItemIndex(e)===this.findItemIndex(t));}eventItemsMatch(e,t){var i;return!!t&&(e===t||e.event.identifier===((i=t.event)==null?void 0:i.identifier));}findItemIndex(e,t){return e&&this.schedule?this.schedule.findItemIndex(e,t):-1;}updateSchedule(e=!1){var t;let i=this.mediaSelection;i&&((t=this.schedule)==null||t.updateSchedule(i,[],e));}checkBuffer(e){var t;let i=(t=this.schedule)==null?void 0:t.items;if(!i)return;let s=et.bufferInfo(this.primaryMedia,this.timelinePos,0);e&&(this.bufferedPos=this.timelinePos),e||(e=s.len<1),this.updateBufferedPos(s.end,i,e);}updateBufferedPos(e,t,i){let s=this.schedule,n=this.bufferingItem;if(this.bufferedPos>e||!s)return;if(t.length===1&&this.itemsMatch(t[0],n)){this.bufferedPos=e;return;}let r=this.playingItem,a=this.findItemIndex(r),l=s.findItemIndexAtTime(e);if(this.bufferedPos<e){var c;let u=this.findItemIndex(n),f=Math.min(u+1,t.length-1),p=t[f];if((l===-1&&n&&e>=n.end||(c=p.event)!=null&&c.appendInPlace&&e+.01>=p.start)&&(l=f),this.isInterstitial(n)){let g=n.event;if(f-a>1&&g.appendInPlace===!1||g.assetList.length===0&&g.assetListLoader)return;}if(this.bufferedPos=e,l>u&&l>a)this.bufferedToItem(p);else{let g=this.primaryDetails;this.primaryLive&&g&&e>g.edge-g.targetduration&&p.start<g.edge+this.hls.config.interstitialLiveLookAhead&&this.isInterstitial(p)&&this.preloadAssets(p.event,0);}}else i&&r&&!this.itemsMatch(r,n)&&(l===a?this.bufferedToItem(r):l===a+1&&this.bufferedToItem(t[l]));}assetsBuffered(e,t){return e.event.assetList.length===0?!1:!e.event.assetList.some(i=>{let s=this.getAssetPlayer(i.identifier);return!(s!=null&&s.bufferedInPlaceToEnd(t));});}setBufferingItem(e){let t=this.bufferingItem,i=this.schedule;if(!this.itemsMatch(e,t)&&i){let{items:s,events:n}=i;if(!s||!n)return t;let r=this.isInterstitial(e),a=this.getBufferingPlayer();this.bufferingItem=e,this.bufferedPos=Math.max(e.start,Math.min(e.end,this.timelinePos));let l=a?a.remaining:t?t.end-this.timelinePos:0;if(this.log(`INTERSTITIALS_BUFFERED_TO_BOUNDARY ${hs(e)}`+(t?` (${l.toFixed(2)} remaining)`:"")),!this.playbackDisabled)if(r){let c=i.findAssetIndex(e.event,this.bufferedPos);e.event.assetList.forEach((u,f)=>{let p=this.getAssetPlayer(u.identifier);p&&(f===c&&p.loadSource(),p.resumeBuffering());});}else this.hls.resumeBuffering(),this.playerQueue.forEach(c=>c.pauseBuffering());this.hls.trigger(C.INTERSTITIALS_BUFFERED_TO_BOUNDARY,{events:n.slice(0),schedule:s.slice(0),bufferingIndex:this.findItemIndex(e),playingIndex:this.findItemIndex(this.playingItem)});}else this.bufferingItem!==e&&(this.bufferingItem=e);return t;}bufferedToItem(e,t=0){let i=this.setBufferingItem(e);if(!this.playbackDisabled){if(this.isInterstitial(e))this.bufferedToEvent(e,t);else if(i!==null){this.bufferingAsset=null;let s=this.detachedData;s?s.mediaSource?this.attachPrimary(e.start,e,!0):this.preloadPrimary(e):this.preloadPrimary(e);}}}preloadPrimary(e){let t=this.findItemIndex(e),i=this.getPrimaryResumption(e,t);this.startLoadingPrimaryAt(i);}bufferedToEvent(e,t){let i=e.event,s=i.assetList.length===0&&!i.assetListLoader,n=i.cue.once;if(s||!n){let r=this.preloadAssets(i,t);if(r!=null&&r.interstitial.appendInPlace){let a=this.primaryMedia;a&&this.bufferAssetPlayer(r,a);}}}preloadAssets(e,t){let i=e.assetUrl,s=e.assetList.length,n=s===0&&!e.assetListLoader,r=e.cue.once;if(n){let l=e.timelineStart;if(e.appendInPlace){var a;let p=this.playingItem;!this.isInterstitial(p)&&(p==null||(a=p.nextEvent)==null?void 0:a.identifier)===e.identifier&&this.flushFrontBuffer(l+.25);}let c,u=0;if(!this.playingItem&&this.primaryLive&&(u=this.hls.startPosition,u===-1&&(u=this.hls.liveSyncPosition||0)),u&&!(e.cue.pre||e.cue.post)){let p=u-l;p>0&&(c=Math.round(p*1e3)/1e3);}if(this.log(`Load interstitial asset ${t+1}/${i?1:s} ${e}${c?` live-start: ${u} start-offset: ${c}`:""}`),i)return this.createAsset(e,0,0,l,e.duration,i);let f=this.assetListLoader.loadAssetList(e,c);f&&(e.assetListLoader=f);}else if(!r&&s){for(let c=t;c<s;c++){let u=e.assetList[c],f=this.getAssetPlayerQueueIndex(u.identifier);(f===-1||this.playerQueue[f].destroyed)&&!u.error&&this.createAssetPlayer(e,u,c);}let l=e.assetList[t];if(l){let c=this.getAssetPlayer(l.identifier);return c&&c.loadSource(),c;}}return null;}flushFrontBuffer(e){let t=this.requiredTracks;t&&(this.log(`Removing front buffer starting at ${e}`),Object.keys(t).forEach(i=>
241{this.hls.trigger(C.BUFFER_FLUSHING,{startOffset:e,endOffset:1/0,type:i});}));}getAssetPlayerQueueIndex(e){let t=this.playerQueue;for(let i=0;i<t.length;i++)if(e===t[i].assetId)return i;return-1;}getAssetPlayer(e){let t=this.getAssetPlayerQueueIndex(e);return this.playerQueue[t]||null;}getBufferingPlayer(){let{playerQueue:e,primaryMedia:t}=this;if(t){for(let i=0;i<e.length;i++)if(e[i].media===t)return e[i];}return null;}createAsset(e,t,i,s,n,r){let a={parentIdentifier:e.identifier,identifier:tk(e,r,t),duration:n,startOffset:i,timelineStart:s,uri:r};return this.createAssetPlayer(e,a,t);}createAssetPlayer(e,t,i){let s=this.hls,n=s.userConfig,r=n.videoPreference,a=s.loadLevelObj||s.levels[s.currentLevel];(r||a)&&(r=St({},r),a.videoCodec&&(r.videoCodec=a.videoCodec),a.videoRange&&(r.allowedVideoRanges=[a.videoRange]));let l=s.audioTracks[s.audioTrack],c=s.subtitleTracks[s.subtitleTrack],u=0;if(this.primaryLive||e.appendInPlace){let k=this.timelinePos-t.timelineStart;if(k>1){let w=t.duration;w&&k<w&&(u=k);}}let f=t.identifier,p=yt(yt({},n),{},{maxMaxBufferLength:Math.min(180,s.config.maxMaxBufferLength),autoStartLoad:!0,startFragPrefetch:!0,primarySessionId:s.sessionId,assetPlayerId:f,abrEwmaDefaultEstimate:s.bandwidthEstimate,interstitialsController:void 0,startPosition:u,liveDurationInfinity:!1,testBandwidth:!1,videoPreference:r,audioPreference:l||n.audioPreference,subtitlePreference:c||n.subtitlePreference});e.appendInPlace&&(e.appendInPlaceStarted=!0,t.timelineStart&&(p.timelineOffset=t.timelineStart));let g=p.cmcd;g!=null&&g.sessionId&&g.contentId&&(p.cmcd=St({},g,{contentId:ha(t.uri)})),this.getAssetPlayer(f)&&this.warn(`Duplicate date range identifier ${e} and asset ${f}`);let v=new nk(this.HlsPlayerClass,p,e,t);this.playerQueue.push(v),e.assetList[i]=t;let T=!0,y=k=>{if(k.live){var w;let D=new Error(`Interstitials MUST be VOD assets ${e}`),O={fatal:!0,type:Fe.OTHER_ERROR,details:Z.INTERSTITIAL_ASSET_ITEM_ERROR,error:D},V=((w=this.schedule)==null?void 0:w.findEventIndex(e.identifier))||-1;this.handleAssetItemError(O,e,V,i,D.message);return;}let R=k.edge-k.fragmentStart,x=t.duration;(T||x===null||R>x)&&(T=!1,this.log(`Interstitial asset "${f}" duration change ${x} > ${R}`),t.duration=R,this.updateSchedule());};v.on(C.LEVEL_UPDATED,(k,{details:w})=>y(w)),v.on(C.LEVEL_PTS_UPDATED,(k,{details:w})=>y(w)),v.on(C.EVENT_CUE_ENTER,()=>this.onInterstitialCueEnter());let A=(k,w)=>{let R=this.getAssetPlayer(f);if(R&&w.tracks){R.off(C.BUFFER_CODECS,A),R.tracks=w.tracks;let x=this.primaryMedia;this.bufferingAsset===R.assetItem&&x&&!R.media&&this.bufferAssetPlayer(R,x);}};v.on(C.BUFFER_CODECS,A);let I=()=>{var k;let w=this.getAssetPlayer(f);if(this.log(`buffered to end of asset ${w}`),!w||!this.schedule)return;let R=this.schedule.findEventIndex(e.identifier),x=(k=this.schedule.items)==null?void 0:k[R];this.isInterstitial(x)&&this.advanceAssetBuffering(x,t);};v.on(C.BUFFERED_TO_END,I);let P=k=>()=>{if(!this.getAssetPlayer(f)||!this.schedule)return;this.shouldPlay=!0;let w=this.schedule.findEventIndex(e.identifier);this.advanceAfterAssetEnded(e,w,k);};return v.once(C.MEDIA_ENDED,P(i)),v.once(C.PLAYOUT_LIMIT_REACHED,P(1/0)),v.on(C.ERROR,(k,w)=>{if(!this.schedule)return;let R=this.getAssetPlayer(f);if(w.details===Z.BUFFER_STALLED_ERROR){if(R!=null&&R.appendInPlace){this.handleInPlaceStall(e);return;}this.onTimeupdate(),this.checkBuffer(!0);return;}this.handleAssetItemError(w,e,this.schedule.findEventIndex(e.identifier),i,`Asset player error ${w.error} ${e}`);}),v.on(C.DESTROYING,()=>{if(!this.getAssetPlayer(f)||!this.schedule)return;let k=new Error(`Asset player destroyed unexpectedly ${f}`),w={fatal:!0,type:Fe.OTHER_ERROR,details:Z.INTERSTITIAL_ASSET_ITEM_ERROR,error:k};this.handleAssetItemError(w,e,this.schedule.findEventIndex(e.identifier),i,k.message);}),this.log(`INTERSTITIAL_ASSET_PLAYER_CREATED ${lo(t)}`),this.hls.trigger(C.INTERSTITIAL_ASSET_PLAYER_CREATED,{asset:t,assetListIndex:i,event:e,player:v}),v;}clearInterstitial(e,t){this.clearAssetPlayers(e,t),e.reset();}clearAssetPlayers(e,t){e.assetList.forEach(i=>{this.clearAssetPlayer(i.identifier,t);});}resetAssetPlayer(e){let t=this.getAssetPlayerQueueIndex(e);if(t!==-1){this.log(`reset asset player "${e}" after error`);let i=this.playerQueue[t];this.transferMediaFromPlayer(i,null),i.resetDetails();}}clearAssetPlayer(e,t){let i=this.getAssetPlayerQueueIndex(e);if(i!==-1){let s=this.playerQueue[i];this.log(`clear ${s} toSegment: ${t&&hs(t)}`),this.transferMediaFromPlayer(s,t),this.playerQueue.splice(i,1),s.destroy();}}emptyPlayerQueue(){let e;for(;e=this.playerQueue.pop();)e.destroy();this.playerQueue=[];}startAssetPlayer(e,t,i,s,n){let{interstitial:r,assetItem:a,assetId:l}=e,c=r.assetList.length,u=this.playingAsset;this.endedAsset=null,this.playingAsset=a,(!u||u.identifier!==l)&&(u&&(this.clearAssetPlayer(u.identifier,i[s]),delete u.error),this.log(`INTERSTITIAL_ASSET_STARTED ${t+1}/${c} ${lo(a)}`),this.hls.trigger(C.INTERSTITIAL_ASSET_STARTED,{asset:a,assetListIndex:t,event:r,schedule:i.slice(0),scheduleIndex:s,player:e})),this.bufferAssetPlayer(e,n);}bufferAssetPlayer(e,t){var i,s;if(!this.schedule)return;let{interstitial:n,assetItem:r}=e,a=this.schedule.findEventIndex(n.identifier),l=(i=this.schedule.items)==null?void 0:i[a];if(!l)return;e.loadSource(),this.setBufferingItem(l),this.bufferingAsset=r;
241let c=this.getBufferingPlayer();if(c===e)return;let u=n.appendInPlace;if(u&&c?.interstitial.appendInPlace===!1)return;let f=c?.tracks||((s=this.detachedData)==null?void 0:s.tracks)||this.requiredTracks;if(u&&r!==this.playingAsset){if(!e.tracks){this.log(`Waiting for track info before buffering ${e}`);return;}if(f&&!Fy(f,e.tracks)){let p=new Error(`Asset ${lo(r)} SourceBuffer tracks ('${Object.keys(e.tracks)}') are not compatible with primary content tracks ('${Object.keys(f)}')`),g={fatal:!0,type:Fe.OTHER_ERROR,details:Z.INTERSTITIAL_ASSET_ITEM_ERROR,error:p},v=n.findAssetIndex(r);this.handleAssetItemError(g,n,a,v,p.message);return;}}this.transferMediaTo(e,t);}handleInPlaceStall(e){let t=this.schedule,i=this.primaryMedia;if(!t||!i)return;let s=i.currentTime,n=t.findAssetIndex(e,s),r=e.assetList[n];if(r){let a=this.getAssetPlayer(r.identifier);if(a){let l=a.currentTime||s-r.timelineStart,c=a.duration-l;if(this.warn(`Stalled at ${l} of ${l+c} in ${a} ${e} (media.currentTime: ${s})`),l&&(c/i.playbackRate<.5||a.bufferedInPlaceToEnd(i))&&a.hls){let u=t.findEventIndex(e.identifier);this.advanceAfterAssetEnded(e,u,n);}}}}advanceInPlace(e){let t=this.primaryMedia;t&&t.currentTime<e&&(t.currentTime=e);}handleAssetItemError(e,t,i,s,n){if(e.details===Z.BUFFER_STALLED_ERROR)return;let r=t.assetList[s]||null;if(this.warn(`INTERSTITIAL_ASSET_ERROR ${r&&lo(r)} ${e.error}`),!this.schedule)return;let a=r?.identifier||"",l=this.getAssetPlayerQueueIndex(a),c=this.playerQueue[l]||null,u=this.schedule.items,f=St({},e,{fatal:!1,errorAction:po(!0),asset:r,assetListIndex:s,event:t,schedule:u,scheduleIndex:i,player:c});if(this.hls.trigger(C.INTERSTITIAL_ASSET_ERROR,f),!e.fatal)return;let p=this.playingAsset,g=this.bufferingAsset,v=new Error(n);if(r&&(this.clearAssetPlayer(a,null),r.error=v),!t.assetList.some(T=>!T.error))t.error=v;else for(let T=s;T<t.assetList.length;T++)this.resetAssetPlayer(t.assetList[T].identifier);this.updateSchedule(!0),t.error?this.primaryFallback(t):p&&p.identifier===a?this.advanceAfterAssetEnded(t,i,s):g&&g.identifier===a&&this.isInterstitial(this.bufferingItem)&&this.advanceAssetBuffering(this.bufferingItem,g);}primaryFallback(e){let t=e.timelineStart,i=this.effectivePlayingItem,s=this.timelinePos;if(i){this.log(`Fallback to primary from event "${e.identifier}" start: ${t} pos: ${s} playing: ${hs(i)} error: ${e.error}`),s===-1&&(s=this.hls.startPosition);let r=this.updateItem(i,s);this.itemsMatch(i,r)&&this.clearInterstitial(e,null),e.appendInPlace&&(this.attachPrimary(t,null),this.flushFrontBuffer(t));}else if(s===-1){this.checkStart();return;}if(!this.schedule)return;let n=this.schedule.findItemIndexAtTime(s);this.setSchedulePosition(n);}onAssetListLoaded(e,t){var i,s;let n=t.event,r=n.identifier,a=t.assetListResponse.ASSETS;if(!((i=this.schedule)!=null&&i.hasEvent(r)))return;let l=n.timelineStart,c=n.duration,u=0;a.forEach((T,y)=>{let A=parseFloat(T.DURATION);this.createAsset(n,y,u,l+u,A,T.URI),u+=A;}),n.duration=u,this.log(`Loaded asset-list with duration: ${u} (was: ${c}) ${n}`);let f=this.waitingItem,p=f?.event.identifier===r;this.updateSchedule();let g=(s=this.bufferingItem)==null?void 0:s.event;if(p){var v;let T=this.schedule.findEventIndex(r),y=(v=this.schedule.items)==null?void 0:v[T];if(y){if(!this.playingItem&&this.timelinePos>y.end&&this.schedule.findItemIndexAtTime(this.timelinePos)!==T){n.error=new Error(`Interstitial ${a.length?"no longer within playback range":"asset-list is empty"} ${this.timelinePos} ${n}`),this.log(n.error.message),this.updateSchedule(!0),this.primaryFallback(n);return;}this.setBufferingItem(y);}this.setSchedulePosition(T);}else if(g?.identifier===r){let T=n.assetList[0];if(T){let y=this.getAssetPlayer(T.identifier);if(g.appendInPlace){let A=this.primaryMedia;y&&A&&this.bufferAssetPlayer(y,A);}else y&&y.loadSource();}}}onError(e,t){if(this.schedule)switch(t.details){case Z.ASSET_LIST_PARSING_ERROR:case Z.ASSET_LIST_LOAD_ERROR:case Z.ASSET_LIST_LOAD_TIMEOUT:{let i=t.interstitial;i&&(this.updateSchedule(!0),this.primaryFallback(i));break;}case Z.BUFFER_STALLED_ERROR:{let i=this.endedItem||this.waitingItem||this.playingItem;if(this.isInterstitial(i)&&i.event.appendInPlace){this.handleInPlaceStall(i.event);return;}this.log(`Primary player stall @${this.timelinePos} bufferedPos: ${this.bufferedPos}`),this.onTimeupdate(),this.checkBuffer(!0);break;}}}},Qv=500,lk=class extends Zh{constructor(e,t,i){super(e,t,i,"subt
241itle-stream-controller",Me.SUBTITLE),this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this.registerListeners();}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null;}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(C.LEVEL_LOADED,this.onLevelLoaded,this),e.on(C.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(C.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(C.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(C.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(C.BUFFER_FLUSHING,this.onBufferFlushing,this);}unregisterListeners(){super.unregisterListeners();let{hls:e}=this;e.off(C.LEVEL_LOADED,this.onLevelLoaded,this),e.off(C.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(C.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(C.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(C.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(C.BUFFER_FLUSHING,this.onBufferFlushing,this);}startLoad(e,t){this.stopLoad(),this.state=le.IDLE,this.setInterval(Qv),this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick();}onManifestLoading(){super.onManifestLoading(),this.mainDetails=null;}onMediaDetaching(e,t){this.tracksBuffered=[],super.onMediaDetaching(e,t);}onLevelLoaded(e,t){this.mainDetails=t.details;}onSubtitleFragProcessed(e,t){let{frag:i,success:s}=t;if(this.fragContextChanged(i)||($t(i)&&(this.fragPrevious=i),this.state=le.IDLE),!s)return;let n=this.tracksBuffered[this.currentTrackId];if(!n)return;let r,a=i.start;for(let c=0;c<n.length;c++)if(a>=n[c].start&&a<=n[c].end){r=n[c];break;}let l=i.start+i.duration;r?r.end=l:(r={start:a,end:l},n.push(r)),this.fragmentTracker.fragBuffered(i),this.fragBufferedComplete(i,null),this.media&&this.tick();}onBufferFlushing(e,t){let{startOffset:i,endOffset:s}=t;if(i===0&&s!==Number.POSITIVE_INFINITY){let n=s-1;if(n<=0)return;t.endOffsetSubtitles=Math.max(0,n),this.tracksBuffered.forEach(r=>{for(let a=0;a<r.length;){if(r[a].end<=n){r.shift();continue;}else if(r[a].start<n)r[a].start=n;else break;a++;}}),this.fragmentTracker.removeFragmentsInRange(i,n,Me.SUBTITLE);}}onError(e,t){let i=t.frag;i?.type===Me.SUBTITLE&&(t.details===Z.FRAG_GAP&&this.fragmentTracker.fragBuffered(i,!0),this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==le.STOPPED&&(this.state=le.IDLE));}onSubtitleTracksUpdated(e,{subtitleTracks:t}){if(this.levels&&$_(this.levels,t)){this.levels=t.map(i=>new ga(i));return;}this.tracksBuffered=[],this.levels=t.map(i=>{let s=new ga(i);return this.tracksBuffered[s.id]=[],s;}),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,Me.SUBTITLE),this.fragPrevious=null,this.mediaBuffer=null;}onSubtitleTrackSwitch(e,t){var i;if(this.currentTrackId=t.id,!((i=this.levels)!=null&&i.length)||this.currentTrackId===-1){this.clearInterval();return;}let s=this.levels[this.currentTrackId];s!=null&&s.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,s&&this.state!==le.STOPPED&&this.setInterval(Qv);}onSubtitleTrackLoaded(e,t){var i;let{currentTrackId:s,levels:n}=this,{details:r,id:a}=t;if(!n){this.warn(`Subtitle tracks were reset while loading level ${a}`);return;}let l=n[a];if(a>=n.length||!l)return;this.log(`Subtitle track ${a} loaded [${r.startSN},${r.endSN}]${r.lastPartSn?`[part-${r.lastPartSn}-${r.lastPartIndex}]`:""},duration:${r.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let c=0;if(r.live||(i=l.details)!=null&&i.live){if(r.deltaUpdateFailed)return;let f=this.mainDetails;if(!f){this.startFragRequested=!1;return;}let p=f.fragments[0];if(!l.details)r.hasProgramDateTime&&f.hasProgramDateTime?(Gd(r,f),c=r.fragmentStart):p&&(c=p.start,mh(r,c));else{var u;c=this.alignPlaylists(r,l.details,(u=this.levelLastLoaded)==null?void 0:u.details),c===0&&p&&(c=p.start,mh(r,c));}f&&!this.startFragRequested&&this.setStartPosition(f,c);}l.details=r,this.levelLastLoaded=l,a===s&&(this.hls.trigger(C.SUBTITLE_TRACK_UPDATED,{details:r,id:a,groupId:t.groupId}),this.tick(),r.live&&!this.fragCurrent&&this.media&&this.state===le.IDLE&&(yr(null,r.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),l.details=void 0)));}_handleFragmentLoadComplete(e){let{frag:t,payload:i}=e,s=t.decryptdata,n=this.hls;if(!this.fragContextChanged(t)&&i&&i.byteLength>0&&s!=null&&s.key&&s.iv&&mo(s.method)){let r=performance.now();
241this.decrypter.decrypt(new Uint8Array(i),s.key.buffer,s.iv.buffer,Qh(s.method)).catch(a=>{throw n.trigger(C.ERROR,{type:Fe.MEDIA_ERROR,details:Z.FRAG_DECRYPT_ERROR,fatal:!1,error:a,reason:a.message,frag:t}),a;}).then(a=>{let l=performance.now();n.trigger(C.FRAG_DECRYPTED,{frag:t,payload:a,stats:{tstart:r,tdecrypt:l}});}).catch(a=>{this.warn(`${a.name}: ${a.message}`),this.state=le.IDLE;});}}doTick(){if(!this.media){this.state=le.IDLE;return;}if(this.state===le.IDLE){let{currentTrackId:e,levels:t}=this,i=t?.[e];if(!i||!t.length||!i.details||this.waitForLive(i))return;let{config:s}=this,n=this.getLoadPosition(),{end:r,len:a}=et.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],n,s.maxBufferHole),l=i.details;if(a>this.hls.maxBufferLength+l.levelTargetDuration)return;let c=l.fragments,u=c.length,f=l.edge,p=null,g=this.fragPrevious;if(r<f){let T=s.maxFragLookUpTolerance,y=r>f-T?0:T;p=yr(g,c,Math.max(c[0].start,r),y),!p&&g&&g.start<c[0].start&&(p=c[0]);}else p=c[u-1];if(p=this.filterReplacedPrimary(p,i.details),!p)return;let v=c[p.sn-l.startSN-1];if(v&&v.cc===p.cc&&this.fragmentTracker.getState(v)===Xt.NOT_LOADED&&(p=v),this.fragmentTracker.getState(p)===Xt.NOT_LOADED){let T=this.mapToInitFragWhenRequired(p);T&&this.loadFragment(T,i,r);}}}loadFragment(e,t,i){$t(e)?super.loadFragment(e,t,i):this._loadInitSegment(e,t);}get mediaBufferTimeRanges(){return new dk(this.tracksBuffered[this.currentTrackId]||[]);}},dk=class{constructor(e){this.buffered=void 0;let t=(i,s,n)=>{if(s=s>>>0,s>n-1)throw new DOMException(`Failed to execute '${i}' on 'TimeRanges': The index provided (${s}) is greater than the maximum bound (${n})`);return e[s][i];};this.buffered={get length(){return e.length;},end(i){return t("end",i,e.length);},start(i){return t("start",i,e.length);}};}},ck={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},rb=e=>String.fromCharCode(ck[e]||e),ps=15,Ks=100,uk={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},hk={17:2,18:4,21:6,22:8,23:10,19:13,20:15},fk={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},pk={25:2,26:4,29:6,30:8,31:10,27:13,28:15},mk=["white","green","blue","cyan","red","yellow","magenta","black","transparent"],gk=class{constructor(){this.time=null,this.verboseLevel=0;}log(e,t){if(this.verboseLevel>=e){let i=typeof t=="function"?t():t;_t.log(`${this.time} [${e}] ${i}`);}}},rr=function(t){let i=[];for(let s=0;s<t.length;s++)i.push(t[s].toString(16));return i;},ob=class{constructor(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1;}reset(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1;}setStyles(e){let t=["foreground","underline","italics","background","flash"];for(let i=0;i<t.length;i++){let s=t[i];e.hasOwnProperty(s)&&(this[s]=e[s]);}}isDefault(){return this.foreground==="white"&&!this.underline&&!this.italics&&this.background==="black"&&!this.flash;}equals(e){return this.foreground===e.foreground&&this.underline===e.underline&&this.italics===e.italics&&this.background===e.background&&this.flash===e.flash;}copy(e){this.foreground=e.foreground,this.underline=e.underline,this.italics=e.italics,this.background=e.background,this.flash=e.flash;}toString(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash;}},vk=class{constructor(){this.uchar=" ",this.penState=new ob();}reset(){this.uchar=" ",this.penState.reset();}setChar(e,t){this.uchar=e,this.penState.copy(t);}setPenState(e){this.penState.copy(e);}equals(e){return this.uchar===e.uchar&&this.penState.equals(e.penState);}copy(e){this.uchar=e.uchar,this.penState.copy(e.penState);}isEmpty(){return this.uchar===" "&&this.penState.isDefault();}},yk=class{constructor(e){this.chars=[],this.pos=0,this.currPenState=new ob(),this.cueStartTime=null,this.logger=void 0;for(let t=0;t<Ks;t++)this.chars.push(new vk());this.logger=e;}equals(e){for(let t=0;t<Ks;t++)if(!this.chars[t].equals(e.chars[t]))return!1;return!0;}copy(e){for(let t=0;t<Ks;t++)this.chars[t].copy(e.chars[t]);}isEmpty(){let e=!0;for(let t=0;t<Ks;t++)if(!this.chars[t].isEmpty()){e=!1;break;}return e;}
241setCursor(e){this.pos!==e&&(this.pos=e),this.pos<0?(this.logger.log(3,"Negative cursor position "+this.pos),this.pos=0):this.pos>Ks&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=Ks);}moveCursor(e){let t=this.pos+e;if(e>1)for(let i=this.pos+1;i<t+1;i++)this.chars[i].setPenState(this.currPenState);this.setCursor(t);}backSpace(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState);}insertChar(e){e>=144&&this.backSpace();let t=rb(e);if(this.pos>=Ks){this.logger.log(0,()=>"Cannot insert "+e.toString(16)+" ("+t+") at position "+this.pos+". Skipping it!");return;}this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1);}clearFromPos(e){let t;for(t=e;t<Ks;t++)this.chars[t].reset();}clear(){this.clearFromPos(0),this.pos=0,this.currPenState.reset();}clearToEndOfRow(){this.clearFromPos(this.pos);}getTextString(){let e=[],t=!0;for(let i=0;i<Ks;i++){let s=this.chars[i].uchar;s!==" "&&(t=!1),e.push(s);}return t?"":e.join("");}setPenStyles(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState);}},_u=class{constructor(e){this.rows=[],this.currRow=ps-1,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(let t=0;t<ps;t++)this.rows.push(new yk(e));this.logger=e;}reset(){for(let e=0;e<ps;e++)this.rows[e].clear();this.currRow=ps-1;}equals(e){let t=!0;for(let i=0;i<ps;i++)if(!this.rows[i].equals(e.rows[i])){t=!1;break;}return t;}copy(e){for(let t=0;t<ps;t++)this.rows[t].copy(e.rows[t]);}isEmpty(){let e=!0;for(let t=0;t<ps;t++)if(!this.rows[t].isEmpty()){e=!1;break;}return e;}backSpace(){this.rows[this.currRow].backSpace();}clearToEndOfRow(){this.rows[this.currRow].clearToEndOfRow();}insertChar(e){this.rows[this.currRow].insertChar(e);}setPen(e){this.rows[this.currRow].setPenStyles(e);}moveCursor(e){this.rows[this.currRow].moveCursor(e);}setCursor(e){this.logger.log(2,"setCursor: "+e),this.rows[this.currRow].setCursor(e);}setPAC(e){this.logger.log(2,()=>"pacData = "+It(e));let t=e.row-1;if(this.nrRollUpRows&&t<this.nrRollUpRows-1&&(t=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==t){for(let a=0;a<ps;a++)this.rows[a].clear();let n=this.currRow+1-this.nrRollUpRows,r=this.lastOutputScreen;if(r){let a=r.rows[n].cueStartTime,l=this.logger.time;if(a!==null&&l!==null&&a<l)for(let c=0;c<this.nrRollUpRows;c++)this.rows[t-this.nrRollUpRows+c+1].copy(r.rows[n+c]);}}this.currRow=t;let i=this.rows[this.currRow];if(e.indent!==null){let n=e.indent,r=Math.max(n-1,0);i.setCursor(e.indent),e.color=i.chars[r].penState.foreground;}let s={foreground:e.color,underline:e.underline,italics:e.italics,background:"black",flash:!1};this.setPen(s);}setBkgData(e){this.logger.log(2,()=>"bkgData = "+It(e)),this.backSpace(),this.setPen(e),this.insertChar(32);}setRollUpRows(e){this.nrRollUpRows=e;}rollUp(){if(this.nrRollUpRows===null){this.logger.log(3,"roll_up but nrRollUpRows not set yet");return;}this.logger.log(1,()=>this.getDisplayText());let e=this.currRow+1-this.nrRollUpRows,t=this.rows.splice(e,1)[0];t.clear(),this.rows.splice(this.currRow,0,t),this.logger.log(2,"Rolling up");}getDisplayText(e){e=e||!1;let t=[],i="",s=-1;for(let n=0;n<ps;n++){let r=this.rows[n].getTextString();r&&(s=n+1,e?t.push("Row "+s+": '"+r+"'"):t.push(r.trim()));}return t.length>0&&(e?i="["+t.join(" | ")+"]":i=t.join(` 242`)),i;}getTextAndFormat(){return this.rows;}},Jv=class{constructor(e,t,i){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new _u(i),this.nonDisplayedMemory=new _u(i),this.lastOutputScreen=new _u(i),this.currRollUpRow=this.displayedMemory.rows[ps-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=i;}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[ps-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null;}getHandler(){return this.outputFilter;}setHandler(e){this.outputFilter=e;}setPAC(e){this.writeScreen.setPAC(e);}setBkgData(e){this.writeScreen.setBkgData(e);}setMode(e){e!==this.mode&&(this.mode=e,this.logger.log(2,()=>"MODE="+e),this.mode==="MODE_POP-ON"?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),this.mode!=="MODE_ROLL-UP"&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e);}insertChars(e){for(let i=0;i<e.length;i++)this.writeScreen.insertChar(e[i]);let t=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,()=>t+": "+this.writeScreen.getDisplayText(!0)),(this.mode==="MODE_PAINT-ON"||this.mode==="MODE_ROLL-UP")&&(this.logger.log(1,()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate());}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON");}ccBS(){this.logger.log(2,"BS - BackSpace"),this.mode!=="MODE_TEXT"&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate());}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate();}ccRU(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e);}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0});}
242ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON");}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT");}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT");}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0);}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0);}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset();}ccEOC(){if(this.logger.log(2,"EOC - End Of Caption"),this.mode==="MODE_POP-ON"){let e=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=e,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,()=>"DISP: "+this.displayedMemory.getDisplayText());}this.outputDataUpdate(!0);}ccTO(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e);}ccMIDROW(e){let t={flash:!1};t.underline=e%2===1,t.italics=e>=46,t.italics?t.foreground="white":t.foreground=["white","green","blue","cyan","red","yellow","magenta"][Math.floor(e/2)-16],this.logger.log(2,"MIDROW: "+It(t)),this.writeScreen.setPen(t);}outputDataUpdate(e=!1){let t=this.logger.time;t!==null&&this.outputFilter&&(this.cueStartTime===null&&!this.displayedMemory.isEmpty()?this.cueStartTime=t:this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t),this.lastOutputScreen.copy(this.displayedMemory));}cueSplitAtTime(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e));}},Zv=class{constructor(e,t,i){this.channels=void 0,this.currentChannel=0,this.cmdHistory=bk(),this.logger=void 0;let s=this.logger=new gk();this.channels=[null,new Jv(e,t,s),new Jv(e+1,i,s)];}getHandler(e){return this.channels[e].getHandler();}setHandler(e,t){this.channels[e].setHandler(t);}addData(e,t){this.logger.time=e;for(let i=0;i<t.length;i+=2){let s=t[i]&127,n=t[i+1]&127,r=!1,a=null;if(s===0&&n===0)continue;this.logger.log(3,()=>"["+rr([t[i],t[i+1]])+"] -> ("+rr([s,n])+")");let l=this.cmdHistory;if(s>=16&&s<=31){if(_k(s,n,l)){Zl(null,null,l),this.logger.log(3,()=>"Repeated command ("+rr([s,n])+") is dropped");continue;}Zl(s,n,this.cmdHistory),r=this.parseCmd(s,n),r||(r=this.parseMidrow(s,n)),r||(r=this.parsePAC(s,n)),r||(r=this.parseBackgroundAttributes(s,n));}else Zl(null,null,l);if(!r&&(a=this.parseChars(s,n),a)){let c=this.currentChannel;c&&c>0?this.channels[c].insertChars(a):this.logger.log(2,"No channel found yet. TEXT-MODE?");}!r&&!a&&this.logger.log(2,()=>"Couldn't parse cleaned data "+rr([s,n])+" orig: "+rr([t[i],t[i+1]]));}}parseCmd(e,t){if(!((e===20||e===28||e===21||e===29)&&t>=32&&t<=47||(e===23||e===31)&&t>=33&&t<=35))return!1;let i=e===20||e===21||e===23?1:2,s=this.channels[i];return e===20||e===21||e===28||e===29?t===32?s.ccRCL():t===33?s.ccBS():t===34?s.ccAOF():t===35?s.ccAON():t===36?s.ccDER():t===37?s.ccRU(2):t===38?s.ccRU(3):t===39?s.ccRU(4):t===40?s.ccFON():t===41?s.ccRDC():t===42?s.ccTR():t===43?s.ccRTD():t===44?s.ccEDM():t===45?s.ccCR():t===46?s.ccENM():t===47&&s.ccEOC():s.ccTO(t-32),this.currentChannel=i,!0;}parseMidrow(e,t){let i=0;if((e===17||e===25)&&t>=32&&t<=47){if(e===17?i=1:i=2,i!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;let s=this.channels[i];return s?(s.ccMIDROW(t),this.logger.log(3,()=>"MIDROW ("+rr([e,t])+")"),!0):!1;}return!1;}parsePAC(e,t){let i;if(!((e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127||(e===16||e===24)&&t>=64&&t<=95))return!1;let s=e<=23?1:2;t>=64&&t<=95?i=s===1?uk[e]:fk[e]:i=s===1?hk[e]:pk[e];let n=this.channels[s];return n?(n.setPAC(this.interpretPAC(i,t)),this.currentChannel=s,!0):!1;}interpretPAC(e,t){let i,s={color:null,italics:!1,indent:null,underline:!1,row:e};return t>95?i=t-96:i=t-64,s.underline=(i&1)===1,i<=13?s.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(i/2)]:i<=15?(s.italics=!0,s.color="white"):s.indent=Math.floor((i-16)/2)*4,s;}parseChars(e,t){let i,s=null,n=null;if(e>=25?(i=2,n=e-8):(i=1,n=e),n>=17&&n<=19){let r;n===17?r=t+80:n===18?r=t+112:r=t+144,this.logger.log(2,()=>"Special char '"+rb(r)+"' in channel "+i),s=[r];}else e>=32&&e<=127&&(s=t===0?[e]:[e,t]);return s&&this.logger.log(3,()=>"Char codes = "+rr(s).join(",")),s;}
242parseBackgroundAttributes(e,t){if(!((e===16||e===24)&&t>=32&&t<=47||(e===23||e===31)&&t>=45&&t<=47))return!1;let i,s={};e===16||e===24?(i=Math.floor((t-32)/2),s.background=mk[i],t%2===1&&(s.background=s.background+"_semi")):t===45?s.background="transparent":(s.foreground="black",t===47&&(s.underline=!0));let n=e<=23?1:2;return this.channels[n].setBkgData(s),!0;}reset(){for(let e=0;e<Object.keys(this.channels).length;e++){let t=this.channels[e];t&&t.reset();}Zl(null,null,this.cmdHistory);}cueSplitAtTime(e){for(let t=0;t<this.channels.length;t++){let i=this.channels[t];i&&i.cueSplitAtTime(e);}}};function Zl(e,t,i){i.a=e,i.b=t;}function _k(e,t,i){return i.a===e&&i.b===t;}function bk(){return{a:null,b:null};}var uf=function(){if(Hd!=null&&Hd.VTTCue)return self.VTTCue;let e=["","lr","rl"],t=["start","middle","end","left","right"];function i(l,c){if(typeof c!="string"||!Array.isArray(l))return!1;let u=c.toLowerCase();return~l.indexOf(u)?u:!1;}function s(l){return i(e,l);}function n(l){return i(t,l);}function r(l,...c){let u=1;for(;u<arguments.length;u++){let f=arguments[u];for(let p in f)l[p]=f[p];}return l;}function a(l,c,u){let f=this,p={enumerable:!0};f.hasBeenReset=!1;let g="",v=!1,T=l,y=c,A=u,I=null,P="",k=!0,w="auto",R="start",x=50,D="middle",O=50,V="middle";Object.defineProperty(f,"id",r({},p,{get:function(){return g;},set:function($){g=""+$;}})),Object.defineProperty(f,"pauseOnExit",r({},p,{get:function(){return v;},set:function($){v=!!$;}})),Object.defineProperty(f,"startTime",r({},p,{get:function(){return T;},set:function($){if(typeof $!="number")throw new TypeError("Start time must be set to a number.");T=$,this.hasBeenReset=!0;}})),Object.defineProperty(f,"endTime",r({},p,{get:function(){return y;},set:function($){if(typeof $!="number")throw new TypeError("End time must be set to a number.");y=$,this.hasBeenReset=!0;}})),Object.defineProperty(f,"text",r({},p,{get:function(){return A;},set:function($){A=""+$,this.hasBeenReset=!0;}})),Object.defineProperty(f,"region",r({},p,{get:function(){return I;},set:function($){I=$,this.hasBeenReset=!0;}})),Object.defineProperty(f,"vertical",r({},p,{get:function(){return P;},set:function($){let N=s($);if(N===!1)throw new SyntaxError("An invalid or illegal string was specified.");P=N,this.hasBeenReset=!0;}})),Object.defineProperty(f,"snapToLines",r({},p,{get:function(){return k;},set:function($){k=!!$,this.hasBeenReset=!0;}})),Object.defineProperty(f,"line",r({},p,{get:function(){return w;},set:function($){if(typeof $!="number"&&$!=="auto")throw new SyntaxError("An invalid number or illegal string was specified.");w=$,this.hasBeenReset=!0;}})),Object.defineProperty(f,"lineAlign",r({},p,{get:function(){return R;},set:function($){let N=n($);if(!N)throw new SyntaxError("An invalid or illegal string was specified.");R=N,this.hasBeenReset=!0;}})),Object.defineProperty(f,"position",r({},p,{get:function(){return x;},set:function($){if($<0||$>100)throw new Error("Position must be between 0 and 100.");x=$,this.hasBeenReset=!0;}})),Object.defineProperty(f,"positionAlign",r({},p,{get:function(){return D;},set:function($){let N=n($);if(!N)throw new SyntaxError("An invalid or illegal string was specified.");D=N,this.hasBeenReset=!0;}})),Object.defineProperty(f,"size",r({},p,{get:function(){return O;},set:function($){if($<0||$>100)throw new Error("Size must be between 0 and 100.");O=$,this.hasBeenReset=!0;}})),Object.defineProperty(f,"align",r({},p,{get:function(){return V;},set:function($){let N=n($);if(!N)throw new SyntaxError("An invalid or illegal string was specified.");V=N,this.hasBeenReset=!0;}})),f.displayState=void 0;}return a.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text);},a;}(),Tk=class{decode(e,t){if(!e)return"";if(typeof e!="string")throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e));}};function ab(e){function t(s,n,r,a){return(s|0)*3600+(n|0)*60+(r|0)+parseFloat(a||0);}let i=e.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return i?parseFloat(i[2])>59?t(i[2],i[3],0,i[4]):t(i[1],i[2],i[3],i[4]):null;}var Ek=class{constructor(){this.values=Object.create(null);}set(e,t){!this.get(e)&&t!==""&&(this.values[e]=t);}get(e,t,i){return i?this.has(e)?this.values[e]:t[i]:this.has(e)?this.values[e]:t;}has(e){return e in this.values;}alt(e,t,i){for(let s=0;s<i.length;++s)if(t===i[s]){this.set(e,t);break;}}integer(e,t){/^-?\d+$/.test(t)&&this.set(e,parseInt(t,10));}percent(e,t){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(t)){let i=parseFloat(t);if(i>=0&&i<=100)return this.set(e,i),!0;}return!1;}};function lb(e,t,i,s){let n=s?e.split(s):[e];for(let r in n){if(typeof n[r]!="string")continue;let a=n[r].split(i);if(a.length!==2)continue;let l=a[0],c=a[1];t(l,c);}}var Sh=new uf(0,0,""),ed=Sh.align==="middle"?"middle":"center";function Ck(e,t,i){let s=e;function n(){let l=ab(e);
242if(l===null)throw new Error("Malformed timestamp: "+s);return e=e.replace(/^[^\sa-zA-Z-]+/,""),l;}function r(l,c){let u=new Ek();lb(l,function(g,v){let T;switch(g){case"region":for(let y=i.length-1;y>=0;y--)if(i[y].id===v){u.set(g,i[y].region);break;}break;case"vertical":u.alt(g,v,["rl","lr"]);break;case"line":T=v.split(","),u.integer(g,T[0]),u.percent(g,T[0])&&u.set("snapToLines",!1),u.alt(g,T[0],["auto"]),T.length===2&&u.alt("lineAlign",T[1],["start",ed,"end"]);break;case"position":T=v.split(","),u.percent(g,T[0]),T.length===2&&u.alt("positionAlign",T[1],["start",ed,"end","line-left","line-right","auto"]);break;case"size":u.percent(g,v);break;case"align":u.alt(g,v,["start",ed,"end","left","right"]);break;}},/:/,/\s/),c.region=u.get("region",null),c.vertical=u.get("vertical","");let f=u.get("line","auto");f==="auto"&&Sh.line===-1&&(f=-1),c.line=f,c.lineAlign=u.get("lineAlign","start"),c.snapToLines=u.get("snapToLines",!0),c.size=u.get("size",100),c.align=u.get("align",ed);let p=u.get("position","auto");p==="auto"&&Sh.position===50&&(p=c.align==="start"||c.align==="left"?0:c.align==="end"||c.align==="right"?100:50),c.position=p;}function a(){e=e.replace(/^\s+/,"");}if(a(),t.startTime=n(),a(),e.slice(0,3)!=="-->")throw new Error("Malformed time stamp (time stamps must be separated by '-->'): "+s);e=e.slice(3),a(),t.endTime=n(),a(),r(e,t);}function db(e){return e.replace(/<br(?: \/)?>/gi,` 243`);}var Sk=class{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new Tk(),this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0;}parse(e){let t=this;e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));function i(){let n=t.buffer,r=0;for(n=db(n);r<n.length&&n[r]!=="\r"&&n[r]!==` 244`;)++r;let a=n.slice(0,r);return n[r]==="\r"&&++r,n[r]===` 245`&&++r,t.buffer=n.slice(r),a;}function s(n){lb(n,function(r,a){},/:/);}try{let n="";if(t.state==="INITIAL"){if(!/\r\n|\n/.test(t.buffer))return this;n=i();let a=n.match(/^()?WEBVTT([ \t].*)?$/);if(!(a!=null&&a[0]))throw new Error("Malformed WebVTT signature.");t.state="HEADER";}let r=!1;for(;t.buffer;){if(!/\r\n|\n/.test(t.buffer))return this;switch(r?r=!1:n=i(),t.state){case"HEADER":/:/.test(n)?s(n):n||(t.state="ID");continue;case"NOTE":n||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(n)){t.state="NOTE";break;}if(!n)continue;if(t.cue=new uf(0,0,""),t.state="CUE",n.indexOf("-->")===-1){t.cue.id=n;continue;}case"CUE":if(!t.cue){t.state="BADCUE";continue;}try{Ck(n,t.cue,t.regionList);}catch(a){t.cue=null,t.state="BADCUE";continue;}t.state="CUETEXT";continue;case"CUETEXT":{let a=n.indexOf("-->")!==-1;if(!n||a&&(r=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue;}if(t.cue===null)continue;t.cue.text&&(t.cue.text+=` 246`),t.cue.text+=n;}continue;case"BADCUE":n||(t.state="ID");}}}catch(n){t.state==="CUETEXT"&&t.cue&&t.oncue&&t.oncue(t.cue),t.cue=null,t.state=t.state==="INITIAL"?"BADWEBVTT":"BADCUE";}return this;}flush(){let e=this;try{if((e.cue||e.state==="HEADER")&&(e.buffer+=` 247 248`,e.parse()),e.state==="INITIAL"||e.state==="BADWEBVTT")throw new Error("Malformed WebVTT signature.");}catch(t){e.onparsingerror&&e.onparsingerror(t);}return e.onflush&&e.onflush(),this;}},wk=/\r\n|\n\r|\n|\r/g,bu=function(t,i,s=0){return t.slice(s,s+i.length)===i;},Ak=function(t){let i=parseInt(t.slice(-3)),s=parseInt(t.slice(-6,-4)),n=parseInt(t.slice(-9,-7)),r=t.length>9?parseInt(t.substring(0,t.indexOf(":"))):0;if(!Ie(i)||!Ie(s)||!Ie(n)||!Ie(r))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${t}`);return i+=1e3*s,i+=60*1e3*n,i+=3600*1e3*r,i;};function hf(e,t,i){return ha(e.toString())+ha(t.toString())+ha(i);}var Ik=function(t,i,s){let n=t[i],r=t[n.prevCC];if(!r||!r.new&&n.new){t.ccOffset=t.presentationOffset=n.start,n.new=!1;return;}for(;(a=r)!=null&&a.new;){var a;t.ccOffset+=n.start-r.start,n.new=!1,n=r,r=t[n.prevCC];}t.presentationOffset=s;};function kk(e,t,i,s,n,r,a){let l=new Sk(),c=Ki(new Uint8Array(e)).trim().replace(wk,` 249`).split(` 250`),u=[],f=t?OA(t.baseTime,t.timescale):0,p="00:00.000",g=0,v=0,T,y=!0;l.oncue=function(A){let I=i[s],P=i.ccOffset,k=(g-f)/9e4;if(I!=null&&I.new&&(v!==void 0?P=i.ccOffset=I.start:Ik(i,s,k)),k){if(!t){T=new Error("Missing initPTS for VTT MPEGTS");return;}P=k-i.presentationOffset;}let w=A.endTime-A.startTime,R=Gi((A.startTime+P-v)*9e4,n*9e4)/9e4;A.startTime=Math.max(R,0),A.endTime=Math.max(R+w,0);let x=A.text.trim();A.text=decodeURIComponent(encodeURIComponent(x)),A.id||(A.id=hf(A.startTime,A.endTime,x)),A.endTime>0&&u.push(A);},l.onparsingerror=function(A){T=A;},l.onflush=function(){if(T){a(T);return;}r(u);}
250,c.forEach(A=>{if(y)if(bu(A,"X-TIMESTAMP-MAP=")){y=!1,A.slice(16).split(",").forEach(I=>{bu(I,"LOCAL:")?p=I.slice(6):bu(I,"MPEGTS:")&&(g=parseInt(I.slice(7)));});try{v=Ak(p)/1e3;}catch(I){T=I;}return;}else A===""&&(y=!1);l.parse(A+` 251`);}),l.flush();}var Tu="stpp.ttml.im1t",cb=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,ub=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,Pk={left:"start",center:"center",right:"end",start:"start",end:"end"};function e0(e,t,i,s){let n=Ze(new Uint8Array(e),["mdat"]);if(n.length===0){s(new Error("Could not parse IMSC1 mdat"));return;}let r=n.map(l=>Ki(l)),a=MA(t.baseTime,1,t.timescale);try{r.forEach(l=>i(Rk(l,a)));}catch(l){s(l);}}function Rk(e,t){let i=new DOMParser().parseFromString(e,"text/xml").getElementsByTagName("tt")[0];if(!i)throw new Error("Invalid ttml");let s={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},n=Object.keys(s).reduce((u,f)=>(u[f]=i.getAttribute(`ttp:${f}`)||s[f],u),{}),r=i.getAttribute("xml:space")!=="preserve",a=t0(Eu(i,"styling","style")),l=t0(Eu(i,"layout","region")),c=Eu(i,"body","[begin]");return[].map.call(c,u=>{let f=hb(u,r);if(!f||!u.hasAttribute("begin"))return null;let p=Su(u.getAttribute("begin"),n),g=Su(u.getAttribute("dur"),n),v=Su(u.getAttribute("end"),n);if(p===null)throw i0(u);if(v===null){if(g===null)throw i0(u);v=p+g;}let T=new uf(p-t,v-t,f);T.id=hf(T.startTime,T.endTime,T.text);let y=l[u.getAttribute("region")],A=a[u.getAttribute("style")],I=xk(y,A,a),{textAlign:P}=I;if(P){let k=Pk[P];k&&(T.lineAlign=k),T.align=P;}return St(T,I),T;}).filter(u=>u!==null);}function Eu(e,t,i){let s=e.getElementsByTagName(t)[0];return s?[].slice.call(s.querySelectorAll(i)):[];}function t0(e){return e.reduce((t,i)=>{let s=i.getAttribute("xml:id");return s&&(t[s]=i),t;},{});}function hb(e,t){return[].slice.call(e.childNodes).reduce((i,s,n)=>{var r;return s.nodeName==="br"&&n?i+` 252`:(r=s.childNodes)!=null&&r.length?hb(s,t):t?i+s.textContent.trim().replace(/\s+/g," "):i+s.textContent;},"");}function xk(e,t,i){let s="http://www.w3.org/ns/ttml#styling",n=null,r=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],a=e!=null&&e.hasAttribute("style")?e.getAttribute("style"):null;return a&&i.hasOwnProperty(a)&&(n=i[a]),r.reduce((l,c)=>{let u=Cu(t,s,c)||Cu(e,s,c)||Cu(n,s,c);return u&&(l[c]=u),l;},{});}function Cu(e,t,i){return e&&e.hasAttributeNS(t,i)?e.getAttributeNS(t,i):null;}function i0(e){return new Error(`Could not parse ttml timestamp ${e}`);}function Su(e,t){if(!e)return null;let i=ab(e);return i===null&&(cb.test(e)?i=Lk(e,t):ub.test(e)&&(i=Mk(e,t))),i;}function Lk(e,t){let i=cb.exec(e),s=(i[4]|0)+(i[5]|0)/t.subFrameRate;return(i[1]|0)*3600+(i[2]|0)*60+(i[3]|0)+s/t.frameRate;}function Mk(e,t){let i=ub.exec(e),s=Number(i[1]);switch(i[2]){case"h":return s*3600;case"m":return s*60;case"ms":return s*1e3;case"f":return s/t.frameRate;case"t":return s/t.tickRate;}return s;}var td=class{constructor(e,t){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=t;}dispatchCue(){this.startTime!==null&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null);}newCue(e,t,i){(this.startTime===null||this.startTime>e)&&(this.startTime=e),this.endTime=t,this.screen=i,this.timelineController.createCaptionsTrack(this.trackName);}reset(){this.cueRanges=[],this.startTime=null;}},Ok=class{constructor(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=n0(),this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}}
252,e.on(C.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(C.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(C.MANIFEST_LOADING,this.onManifestLoading,this),e.on(C.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(C.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(C.FRAG_LOADING,this.onFragLoading,this),e.on(C.FRAG_LOADED,this.onFragLoaded,this),e.on(C.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(C.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(C.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(C.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(C.BUFFER_FLUSHING,this.onBufferFlushing,this);}destroy(){let{hls:e}=this;e.off(C.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(C.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(C.MANIFEST_LOADING,this.onManifestLoading,this),e.off(C.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(C.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(C.FRAG_LOADING,this.onFragLoading,this),e.off(C.FRAG_LOADED,this.onFragLoaded,this),e.off(C.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(C.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(C.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(C.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(C.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=this.media=null,this.cea608Parser1=this.cea608Parser2=void 0;}initCea608Parsers(){let e=new td(this,"textTrack1"),t=new td(this,"textTrack2"),i=new td(this,"textTrack3"),s=new td(this,"textTrack4");this.cea608Parser1=new Zv(1,e,t),this.cea608Parser2=new Zv(3,i,s);}addCues(e,t,i,s,n){let r=!1;for(let a=n.length;a--;){let l=n[a],c=Dk(l[0],l[1],t,i);if(c>=0&&(l[0]=Math.min(l[0],t),l[1]=Math.max(l[1],i),r=!0,c/(i-t)>.5))return;}if(r||n.push([t,i]),this.config.renderTextTracksNatively){let a=this.captionsTracks[e];this.Cues.newCue(a,t,i,s);}else{let a=this.Cues.newCue(null,t,i,s);this.hls.trigger(C.CUES_PARSED,{type:"captions",cues:a,track:e});}}onInitPtsFound(e,{frag:t,id:i,initPTS:s,timescale:n,trackId:r}){let{unparsedVttFrags:a}=this;i===Me.MAIN&&(this.initPTS[t.cc]={baseTime:s,timescale:n,trackId:r}),a.length&&(this.unparsedVttFrags=[],a.forEach(l=>{this.initPTS[l.frag.cc]?this.onFragLoaded(C.FRAG_LOADED,l):this.hls.trigger(C.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:l.frag,error:new Error("Subtitle discontinuity domain does not match main")});}));}getExistingTrack(e,t){let{media:i}=this;if(i)for(let s=0;s<i.textTracks.length;s++){let n=i.textTracks[s];if(s0(n,{name:e,lang:t,characteristics:"transcribes-spoken-dialog,describes-music-and-sound"}))return n;}return null;}createCaptionsTrack(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e);}createNativeTrack(e){if(this.captionsTracks[e])return;let{captionsProperties:t,captionsTracks:i,media:s}=this,{label:n,languageCode:r}=t[e],a=this.getExistingTrack(n,r);if(a)i[e]=a,uo(i[e]),ib(i[e],s);else{let l=this.createTextTrack("captions",n,r);l&&(l[e]=!0,i[e]=l);}}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;let t=this.captionsProperties[e];if(!t)return;let i={_id:e,label:t.label,kind:"captions",default:t.media?!!t.media.default:!1,closedCaptions:t.media};this.nonNativeCaptionsTracks[e]=i,this.hls.trigger(C.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[i]});}createTextTrack(e,t,i){let s=this.media;if(s)return s.addTextTrack(e,t,i);}onMediaAttaching(e,t){this.media=t.media,t.mediaSource||this._cleanTracks();}onMediaDetaching(e,t){let i=!!t.transferMedia;if(this.media=null,i)return;let{captionsTracks:s}=this;Object.keys(s).forEach(n=>{uo(s[n]),delete s[n];}),this.nonNativeCaptionsTracks={};}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=n0(),this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset());}_cleanTracks(){let{media:e}=this;if(!e)return;let t=e.textTracks;if(t)for(let i=0;i<t.length;i++)uo(t[i]);}
252onSubtitleTracksUpdated(e,t){let i=t.subtitleTracks||[],s=i.some(n=>n.textCodec===Tu);if(this.config.enableWebVTT||s&&this.config.enableIMSC1){if($_(this.tracks,i)){this.tracks=i;return;}if(this.textTracks=[],this.tracks=i,this.config.renderTextTracksNatively){let n=this.media,r=n?Id(n.textTracks):null;if(this.tracks.forEach((a,l)=>{let c;if(r){let u=null;for(let f=0;f<r.length;f++)if(r[f]&&s0(r[f],a)){u=r[f],r[f]=null;break;}u&&(c=u);}if(c)uo(c);else{let u=fb(a);c=this.createTextTrack(u,a.name,a.lang),c&&(c.mode="disabled");}c&&this.textTracks.push(c);}),r!=null&&r.length){let a=r.filter(l=>l!==null).map(l=>l.label);a.length&&this.hls.logger.warn(`Media element contains unused subtitle tracks: ${a.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`);}}else if(this.tracks.length){let n=this.tracks.map(r=>({label:r.name,kind:r.type.toLowerCase(),default:r.default,subtitleTrack:r}));this.hls.trigger(C.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:n});}}}onManifestLoaded(e,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(i=>{let s=/(?:CC|SERVICE)([1-4])/.exec(i.instreamId);if(!s)return;let n=`textTrack${s[1]}`,r=this.captionsProperties[n];r&&(r.label=i.name,i.lang&&(r.languageCode=i.lang),r.media=i);});}closedCaptionsForLevel(e){let t=this.hls.levels[e.level];return t?.attrs["CLOSED-CAPTIONS"];}onFragLoading(e,t){if(this.enabled&&t.frag.type===Me.MAIN){var i,s;let{cea608Parser1:n,cea608Parser2:r,lastSn:a}=this,{cc:l,sn:c}=t.frag,u=(i=(s=t.part)==null?void 0:s.index)!=null?i:-1;n&&r&&(c!==a+1||c===a&&u!==this.lastPartIndex+1||l!==this.lastCc)&&(n.reset(),r.reset()),this.lastCc=l,this.lastSn=c,this.lastPartIndex=u;}}onFragLoaded(e,t){let{frag:i,payload:s}=t;if(i.type===Me.SUBTITLE)if(s.byteLength){let n=i.decryptdata,r="stats"in t;if(n==null||!n.encrypted||r){let a=this.tracks[i.level],l=this.vttCCs;l[i.cc]||(l[i.cc]={start:i.start,prevCC:this.prevCC,new:!0},this.prevCC=i.cc),a&&a.textCodec===Tu?this._parseIMSC1(i,s):this._parseVTTs(t);}}else this.hls.trigger(C.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:new Error("Empty subtitle payload")});}_parseIMSC1(e,t){let i=this.hls;e0(t,this.initPTS[e.cc],s=>{this._appendCues(s,e.level),i.trigger(C.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e});},s=>{i.logger.log(`Failed to parse IMSC1: ${s}`),i.trigger(C.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:s});});}_parseVTTs(e){var t;let{frag:i,payload:s}=e,{initPTS:n,unparsedVttFrags:r}=this,a=n.length-1;if(!n[i.cc]&&a===-1){r.push(e);return;}let l=this.hls;kk((t=i.initSegment)!=null&&t.data?ns(i.initSegment.data,new Uint8Array(s)).buffer:s,this.initPTS[i.cc],this.vttCCs,i.cc,i.start,c=>{this._appendCues(c,i.level),l.trigger(C.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:i});},c=>{let u=c.message==="Missing initPTS for VTT MPEGTS";u?r.push(e):this._fallbackToIMSC1(i,s),l.logger.log(`Failed to parse VTT cue: ${c}`),!(u&&a>i.cc)&&l.trigger(C.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:c});});}_fallbackToIMSC1(e,t){let i=this.tracks[e.level];i.textCodec||e0(t,this.initPTS[e.cc],()=>{i.textCodec=Tu,this._parseIMSC1(e,t);},()=>{i.textCodec="wvtt";});}_appendCues(e,t){let i=this.hls;if(this.config.renderTextTracksNatively){let s=this.textTracks[t];if(!s||s.mode==="disabled")return;e.forEach(n=>sb(s,n));}else{let s=this.tracks[t];if(!s)return;let n=s.default?"default":"subtitles"+t;i.trigger(C.CUES_PARSED,{type:"subtitles",cues:e,track:n});}}onFragDecrypted(e,t){let{frag:i}=t;i.type===Me.SUBTITLE&&this.onFragLoaded(C.FRAG_LOADED,t);}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={};}onFragParsingUserdata(e,t){if(!this.enabled||!this.config.enableCEA708Captions)return;let{frag:i,samples:s}=t;if(!(i.type===Me.MAIN&&this.closedCaptionsForLevel(i)==="NONE"))for(let n=0;n<s.length;n++){let r=s[n].bytes;if(r){this.cea608Parser1||this.initCea608Parsers();let a=this.extractCea608Data(r);this.cea608Parser1.addData(s[n].pts,a[0]),this.cea608Parser2.addData(s[n].pts,a[1]);}}}onBufferFlushing(e,{startOffset:t,endOffset:i,endOffsetSubtitles:s,type:n}){let{media:r}=this;
252if(!(!r||r.currentTime<i)){if(!n||n==="video"){let{captionsTracks:a}=this;Object.keys(a).forEach(l=>Ch(a[l],t,i));}if(this.config.renderTextTracksNatively&&t===0&&s!==void 0){let{textTracks:a}=this;Object.keys(a).forEach(l=>Ch(a[l],t,s));}}}extractCea608Data(e){let t=[[],[]],i=e[0]&31,s=2;for(let n=0;n<i;n++){let r=e[s++],a=127&e[s++],l=127&e[s++];if(!(a===0&&l===0)&&(4&r)!==0){let c=3&r;(c===0||c===1)&&(t[c].push(a),t[c].push(l));}}return t;}};function fb(e){return e.characteristics&&/transcribes-spoken-dialog/gi.test(e.characteristics)&&/describes-music-and-sound/gi.test(e.characteristics)?"captions":"subtitles";}function s0(e,t){return!!e&&e.kind===fb(t)&&yh(t,e);}function Dk(e,t,i,s){return Math.min(t,s)-Math.max(e,i);}function n0(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}};}var jk=/\s/,Nk={newCue(e,t,i,s){let n=[],r,a,l,c,u,f=self.VTTCue||self.TextTrackCue;for(let g=0;g<s.rows.length;g++)if(r=s.rows[g],l=!0,c=0,u="",!r.isEmpty()){var p;for(let y=0;y<r.chars.length;y++)jk.test(r.chars[y].uchar)&&l?c++:(u+=r.chars[y].uchar,l=!1);r.cueStartTime=t,t===i&&(i+=1e-4),c>=16?c--:c++;let v=db(u.trim()),T=hf(t,i,v);e!=null&&(p=e.cues)!=null&&p.getCueById(T)||(a=new f(t,i,v),a.id=T,a.line=g+1,a.align="left",a.position=10+Math.min(80,Math.floor(c*8/32)*10),n.push(a));}return e&&n.length&&(n.sort((g,v)=>g.line==="auto"||v.line==="auto"?0:g.line>8&&v.line>8?v.line-g.line:g.line-v.line),n.forEach(g=>sb(e,g))),n;}};function Fk(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0;}catch(e){}return!1;}var Bk=/(\d+)-(\d+)\/(\d+)/,r0=class{constructor(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||Hk,this.controller=new self.AbortController(),this.stats=new zh();}destroy(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null;}abortInternal(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort());}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response);}load(e,t,i){let s=this.stats;if(s.loading.start)throw new Error("Loader can only be used once.");s.loading.start=self.performance.now();let n=Uk(e,this.controller.signal),r=e.responseType==="arraybuffer",a=r?"byteLength":"length",{maxTimeToFirstByteMs:l,maxLoadTimeMs:c}=t.loadPolicy;this.context=e,this.config=t,this.callbacks=i,this.request=this.fetchSetup(e,n),self.clearTimeout(this.requestTimeout),t.timeout=l&&Ie(l)?l:c,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(s,e,this.response));},t.timeout),(_a(this.request)?this.request.then(self.fetch):self.fetch(this.request)).then(u=>{var f;this.response=this.loader=u;let p=Math.max(self.performance.now(),s.loading.start);if(self.clearTimeout(this.requestTimeout),t.timeout=c,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(s,e,this.response));},c-(p-s.loading.start)),!u.ok){let{status:v,statusText:T}=u;throw new zk(T||"fetch, bad network response",v,u);}s.loading.first=p,s.total=$k(u.headers)||s.total;let g=(f=this.callbacks)==null?void 0:f.onProgress;return g&&Ie(t.highWaterMark)?this.loadProgressively(u,s,e,t.highWaterMark,g):r?u.arrayBuffer():e.responseType==="json"?u.json():u.text();}).then(u=>{var f,p;let g=this.response;if(!g)throw new Error("loader destroyed");self.clearTimeout(this.requestTimeout),s.loading.end=Math.max(self.performance.now(),s.loading.first);let v=u[a];v&&(s.loaded=s.total=v);let T={url:g.url,data:u,code:g.status},y=(f=this.callbacks)==null?void 0:f.onProgress;y&&!Ie(t.highWaterMark)&&y(s,e,u,g),(p=this.callbacks)==null||p.onSuccess(T,s,e,g);}).catch(u=>{var f;if(self.clearTimeout(this.requestTimeout),s.aborted)return;let p=u&&u.code||0,g=u?u.message:null;(f=this.callbacks)==null||f.onError({code:p,text:g}
252,e,u?u.details:null,s);});}getCacheAge(){let e=null;if(this.response){let t=this.response.headers.get("age");e=t?parseFloat(t):null;}return e;}getResponseHeader(e){return this.response?this.response.headers.get(e):null;}loadProgressively(e,t,i,s=0,n){let r=new E_(),a=e.body.getReader(),l=()=>a.read().then(c=>{if(c.done)return r.dataLength&&n(t,i,r.flush().buffer,e),Promise.resolve(new ArrayBuffer(0));let u=c.value,f=u.length;return t.loaded+=f,f<s||r.dataLength?(r.push(u),r.dataLength>=s&&n(t,i,r.flush().buffer,e)):n(t,i,u.buffer,e),l();}).catch(()=>Promise.reject());return l();}};function Uk(e,t){let i={method:"GET",mode:"cors",credentials:"same-origin",signal:t,headers:new self.Headers(St({},e.headers))};return e.rangeEnd&&i.headers.set("Range","bytes="+e.rangeStart+"-"+String(e.rangeEnd-1)),i;}function Vk(e){let t=Bk.exec(e);if(t)return parseInt(t[2])-parseInt(t[1])+1;}function $k(e){let t=e.get("Content-Range");if(t){let s=Vk(t);if(Ie(s))return s;}let i=e.get("Content-Length");if(i)return parseInt(i);}function Hk(e,t){return new self.Request(e.url,t);}var zk=class extends Error{constructor(e,t,i){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=i;}},Gk=/^age:\s*[\d.]+\s*$/im,pb=class{constructor(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new zh(),this.retryDelay=0;}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null;}abortInternal(){let e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,e.readyState!==4&&(this.stats.aborted=!0,e.abort()));}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader);}load(e,t,i){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=e,this.config=t,this.callbacks=i,this.loadInternal();}loadInternal(){let{config:e,context:t}=this;if(!e||!t)return;let i=this.loader=new self.XMLHttpRequest(),s=this.stats;s.loading.first=0,s.loaded=0,s.aborted=!1;let n=this.xhrSetup;n?Promise.resolve().then(()=>{if(!(this.loader!==i||this.stats.aborted))return n(i,t.url);}).catch(r=>{if(!(this.loader!==i||this.stats.aborted))return i.open("GET",t.url,!0),n(i,t.url);}).then(()=>{this.loader!==i||this.stats.aborted||this.openAndSendXhr(i,t,e);}).catch(r=>{var a;(a=this.callbacks)==null||a.onError({code:i.status,text:r.message},t,i,s);}):this.openAndSendXhr(i,t,e);}openAndSendXhr(e,t,i){e.readyState||e.open("GET",t.url,!0);let s=t.headers,{maxTimeToFirstByteMs:n,maxLoadTimeMs:r}=i.loadPolicy;if(s)for(let a in s)e.setRequestHeader(a,s[a]);t.rangeEnd&&e.setRequestHeader("Range","bytes="+t.rangeStart+"-"+(t.rangeEnd-1)),e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=t.responseType,self.clearTimeout(this.requestTimeout),i.timeout=n&&Ie(n)?n:r,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),i.timeout),e.send();}readystatechange(){let{context:e,loader:t,stats:i}=this;if(!e||!t)return;let s=t.readyState,n=this.config;if(!i.aborted&&s>=2&&(i.loading.first===0&&(i.loading.first=Math.max(self.performance.now(),i.loading.start),n.timeout!==n.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),n.timeout=n.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),n.loadPolicy.maxLoadTimeMs-(i.loading.first-i.loading.start)))),s===4)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;let c=t.status,u=t.responseType==="text"?t.responseText:null;if(c>=200&&c<300){let g=u??t.response;if(g!=null){var r,a;i.loading.end=Math.max(self.performance.now(),i.loading.first),i.loaded=i.total=t.responseType==="arraybuffer"?g.byteLength:g.length,i.bwEstimate=i.total*8e3/(i.loading.end-i.loading.first);let v=(r=this.callbacks)==null?void 0:r.onProgress;v&&v(i,e,g,t);let T={url:t.responseURL,data:g,code:c};(a=this.callbacks)==null||a.onSuccess(T,i,e,t);return;}}let f=n.loadPolicy.errorRetry,p=i.retry;if(Vd(f,p,!1,{url:e.url,data:void 0,code:c}))this.retry(f);else{var l;_t.error(`${c} while loading ${e.url}`),(l=this.callbacks)==null||l.onError({code:c,text:t.statusText},e,t,i);}}}loadtimeout(){if(!this.config)return;let e=this.config.loadPolicy.timeoutRetry,t=this.stats.retry;if(Vd(e,t,!0))this.retry(e);else{var i;_t.warn(`timeout while loading ${(i=this.context)==null?void 0:i.url}`);let s=this.callbacks;s&&(this.abortInternal(),s.onTimeout(this.stats,this.context,this.loader));}}
252retry(e){let{context:t,stats:i}=this;this.retryDelay=Kh(e,i.retry),i.retry++,_t.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${t?.url}, retrying ${i.retry}/${e.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay);}loadprogress(e){let t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total);}getCacheAge(){let e=null;if(this.loader&&Gk.test(this.loader.getAllResponseHeaders())){let t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null;}return e;}getResponseHeader(e){return this.loader&&new RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null;}},Wk=yt(yt({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,maxDevicePixelRatio:Number.POSITIVE_INFINITY,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,startOnSegmentBoundary:!1,maxBufferSize:60*1e3*1e3,maxFragLookUpTolerance:.25,maxBufferHole:.1,detectStallWithCurrentTimeMs:1250,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,nudgeOnVideoHole:!0,liveSyncMode:"edge",liveSyncDurationCount:3,liveSyncOnStallIncrease:1,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,ignorePlaylistParsingErrors:!1,loader:pb,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:rw,bufferController:YA,capLevelController:QA,errorController:cw,fpsController:XI,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:u_,requireKeySystemAccessOnStart:!1,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableEmsgKLVMetadata:!1,enableID3MetadataCues:!0,enableInterstitialPlayback:!0,interstitialAppendInPlace:!0,interstitialLiveLookAhead:10,useMediaCapabilities:!0,preserveManualLevelOnError:!1,certLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null}},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},interstitialAssetListLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:3e4,timeoutRetry:{maxNumRetry:0,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:0,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},qk()),{},{subtitleStreamController:lk,subtitleTrackController:ZI,timelineController:Ok,audioStreamController:GA,audioTrackController:WA,emeController:KI,cmcdController:GI,contentSteeringController:qI,interstitialsController:ak});function qk(){return{cueHandler:Nk,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0};}function Kk(e,t,i){if((t.liveSyncDurationCount||t.liveMaxLatencyDurationCount)&&(t.liveSyncDuration||t.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(t.liveMaxLatencyDurationCount!==void 0&&(t.liveSyncDurationCount===void 0||t.liveMaxLatencyDurationCount<=t.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(t.liveMaxLatencyDuration!==void 0&&(t.liveSyncDuration===void 0||t.liveMaxLatencyDuration<=t.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');let s=wh(e),n=["manifest","level","frag"],r=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];
vendor: 19,631 bytes, line 252
252return n.forEach(a=>{let l=`${a==="level"?"playlist":a}LoadPolicy`,c=t[l]===void 0,u=[];r.forEach(f=>{let p=`${a}Loading${f}`,g=t[p];if(g!==void 0&&c){u.push(p);let v=s[l].default;switch(t[l]={default:v},f){case"TimeOut":v.maxLoadTimeMs=g,v.maxTimeToFirstByteMs=g;break;case"MaxRetry":v.errorRetry.maxNumRetry=g,v.timeoutRetry.maxNumRetry=g;break;case"RetryDelay":v.errorRetry.retryDelayMs=g,v.timeoutRetry.retryDelayMs=g;break;case"MaxRetryTimeout":v.errorRetry.maxRetryDelayMs=g,v.timeoutRetry.maxRetryDelayMs=g;break;}}}),u.length&&i.warn(`hls.js config: "${u.join('", "')}" setting(s) are deprecated, use "${l}": ${It(t[l])}`);}),yt(yt({},s),t);}function wh(e){return e&&typeof e=="object"?Array.isArray(e)?e.map(wh):Object.keys(e).reduce((t,i)=>(t[i]=wh(e[i]),t),{}):e;}function Yk(e,t){let i=e.loader;i!==r0&&i!==pb?(t.log("[config]: Custom loader detected, cannot enable progressive streaming"),e.progressive=!1):Fk()&&(e.loader=r0,e.progressive=!0,e.enableSoftwareAES=!0,t.log("[config]: Progressive streaming enabled, using FetchLoader"));}var kd=2,Xk=.1,Qk=.05,Jk=100,Zk=class extends r_{constructor(e,t){super("gap-controller",e.logger),this.hls=void 0,this.fragmentTracker=void 0,this.media=null,this.mediaSource=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.buffered={},this.lastCurrentTime=0,this.ended=0,this.waiting=0,this.onMediaPlaying=()=>{this.ended=0,this.waiting=0;},this.onMediaWaiting=()=>{var i;(i=this.media)!=null&&i.seeking||(this.waiting=self.performance.now(),this.tick());},this.onMediaEnded=()=>{if(this.hls){var i;this.ended=((i=this.media)==null?void 0:i.currentTime)||1,this.hls.trigger(C.MEDIA_ENDED,{stalled:!1});}},this.hls=e,this.fragmentTracker=t,this.registerListeners();}registerListeners(){let{hls:e}=this;e&&(e.on(C.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(C.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(C.BUFFER_APPENDED,this.onBufferAppended,this));}unregisterListeners(){let{hls:e}=this;e&&(e.off(C.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(C.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(C.BUFFER_APPENDED,this.onBufferAppended,this));}destroy(){super.destroy(),this.unregisterListeners(),this.media=this.hls=this.fragmentTracker=null,this.mediaSource=void 0;}onMediaAttached(e,t){this.setInterval(Jk),this.mediaSource=t.mediaSource;let i=this.media=t.media;Ii(i,"playing",this.onMediaPlaying),Ii(i,"waiting",this.onMediaWaiting),Ii(i,"ended",this.onMediaEnded);}onMediaDetaching(e,t){this.clearInterval();let{media:i}=this;i&&(Fi(i,"playing",this.onMediaPlaying),Fi(i,"waiting",this.onMediaWaiting),Fi(i,"ended",this.onMediaEnded),this.media=null),this.mediaSource=void 0;}onBufferAppended(e,t){this.buffered=t.timeRanges;}get hasBuffered(){return Object.keys(this.buffered).length>0;}tick(){var e;if(!((e=this.media)!=null&&e.readyState)||!this.hasBuffered)return;let t=this.media.currentTime;this.poll(t,this.lastCurrentTime),this.lastCurrentTime=t;}poll(e,t){var i,s;let n=(i=this.hls)==null?void 0:i.config;if(!n)return;let r=this.media;if(!r)return;let{seeking:a}=r,l=this.seeking&&!a,c=!this.seeking&&a,u=r.paused&&!a||r.ended||r.playbackRate===0;if(this.seeking=a,e!==t){t&&(this.ended=0),this.moved=!0,a||(this.nudgeRetry=0,n.nudgeOnVideoHole&&!u&&e>t&&this.nudgeOnVideoHole(e,t)),this.waiting===0&&this.stallResolved(e);return;}if(c||l){l&&this.stallResolved(e);return;}if(u){this.nudgeRetry=0,this.stallResolved(e),!this.ended&&r.ended&&this.hls&&(this.ended=e||1,this.hls.trigger(C.MEDIA_ENDED,{stalled:!1}));return;}if(!et.getBuffered(r).length){this.nudgeRetry=0;return;}let f=et.bufferInfo(r,e,0),p=f.nextStart||0,g=this.fragmentTracker;if(a&&g&&this.hls){let R=o0(this.hls.inFlightFragments,e),x=f.len>kd,D=!p||R||p-e>kd&&!g.getPartialFragment(e);if(x||D)return;this.moved=!1;}let v=(s=this.hls)==null?void 0:s.latestLevelDetails;if(!this.moved&&this.stalled!==null&&g){if(!(f.len>0)&&!p)return;let R=Math.max(p,f.start||0)-e,x=v!=null&&v.live?v.targetduration*2:kd,D=id(e,g);if(R>0&&(R<=x||D)){r.paused||this._trySkipBufferHole(D);return;}}let T=n.detectStallWithCurrentTimeMs,y=self.performance.now(),A=this.waiting,I=this.stalled;if(I===null)if(A>0&&y-A<T)I=this.stalled=A;else{this.stalled=y;return;}let P=y-I;if(!a&&(P>=T||A)&&this.hls){var k;if(((k=this.mediaSource)==null?void 0:k.readyState)==="ended"&&!(v!=null&&v.live)&&Math.abs(e-(v?.edge||0))<1){if(this.ended)return;this.ended=e||1,this.hls.trigger(C.MEDIA_ENDED,{stalled:!0});return;}if(this._reportStall(f),!this.media||!this.hls)return;}let w=et.bufferInfo(r,e,n.maxBufferHole);this._tryFixBufferStall(w,P,e);}stallResolved(e){let t=this.stalled;if(t&&this.hls&&(this.stalled=null,this.stallReported)){let i=self.performance.now()-t;this.log(`playback not stuck anymore @${e}, after ${Math.round(i)}ms`),this.stallReported=!1,this.waiting=0,this.hls.trigger(C.STALL_RESOLVED,{});}}nudgeOnVideoHole(e,t){var i;let s=this.buffered.video;if(this.hls&&this.media&&this.fragmentTracker&&(i=this.buffered.audio)!=null&&i.length&&s&&s.length>1&&e>s.end(0)){let n=et.bufferedInfo(et.timeRangesToArray(this.buffered.audio),e,0);if(n.len>1&&t>=n.start){let r=et.timeRangesToArray(s),a=et.bufferedInfo(r,t,0).bufferedIndex;if(a>-1&&a<r.length-1){let l=et.bufferedInfo(r,e,0).bufferedIndex,c=r[a].end,u=r[a+1].start;if((l===-1||l>a)&&u-c<1&&e-c<2){let f=new Error(`nudging playhead to flush pipeline after video hole. currentTime: ${e} hole: ${c} -> ${u} buffered index: ${l}`);this.warn(f.message),this.media.currentTime+=1e-6;let p=id(e,this.fragmentTracker);p&&"fragment"in p?p=p.fragment:p||(p=void 0);let g=et.bufferInfo(this.media,e,0);this.hls.trigger(C.ERROR,{type:Fe.MEDIA_ERROR,details:Z.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:f,reason:f.message,frag:p,buffer:g.len,bufferInfo:g});}}}}}_tryFixBufferStall(e,t,i){var s,n;let{fragmentTracker:r,media:a}=this,l=(s=this.hls)==null?void 0:s.config;if(!a||!r||!l)return;let c=(n=this.hls)==null?void 0:n.latestLevelDetails,u=id(i,r);if((u||c!=null&&c.live&&i<c.fragmentStart)&&(this._trySkipBufferHole(u)||!this.media))return;let f=e.buffered,p=this.adjacentTraversal(e,i);(f&&f.length>1&&e.len>l.maxBufferHole||e.nextStart&&(e.nextStart-i<l.maxBufferHole||p))&&(t>l.highBufferWatchdogPeriod*1e3||this.waiting)&&(this.warn("Trying to nudge playhead over buffer-hole"),this._tryNudgeBuffer(e));}adjacentTraversal(e,t){let i=this.fragmentTracker,s=e.nextStart;if(i&&s){let n=i.getFragAtPos(t,Me.MAIN),r=i.getFragAtPos(s,Me.MAIN);if(n&&r)return r.sn-n.sn<2;}return!1;}_reportStall(e){let{hls:t,media:i,stallReported:s,stalled:n}=this;if(!s&&n!==null&&i&&t){this.stallReported=!0;let r=new Error(`Playback stalling at @${i.currentTime} due to low buffer (${It(e)})`);this.warn(r.message),t.trigger(C.ERROR,{type:Fe.MEDIA_ERROR,details:Z.BUFFER_STALLED_ERROR,fatal:!1,error:r,buffer:e.len,bufferInfo:e,stalled:{start:n}});}}_trySkipBufferHole(e){var t;let{fragmentTracker:i,media:s}=this,n=(t=this.hls)==null?void 0:t.config;if(!s||!i||!n)return 0;let r=s.currentTime,a=et.bufferInfo(s,r,0),l=r<a.start?a.start:a.nextStart;if(l&&this.hls){let u=a.len<=n.maxBufferHole,f=a.len>0&&a.len<1&&s.readyState<3,p=l-r;if(p>0&&(u||f)){if(p>n.maxBufferHole){let v=!1;if(r===0){let T=i.getAppendedFrag(0,Me.MAIN);T&&l<T.end&&(v=!0);}if(!v&&e){var c;if(!((c=this.hls.loadLevelObj)!=null&&c.details)||o0(this.hls.inFlightFragments,l))return 0;let T=!1,y=e.end;for(;y<l;){let A=id(y,i);if(A)y+=A.duration;else{T=!0;break;}}if(T)return 0;}}let g=Math.max(l+Qk,r+Xk);if(this.warn(`skipping hole, adjusting currentTime from ${r} to ${g}`),this.moved=!0,s.currentTime=g,!(e!=null&&e.gap)){let v=new Error(`fragment loaded with buffer holes, seeking from ${r} to ${g}`),T={type:Fe.MEDIA_ERROR,details:Z.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:v,reason:v.message,buffer:a.len,bufferInfo:a};e&&("fragment"in e?T.part=e:T.frag=e),this.hls.trigger(C.ERROR,T);}return g;}}return 0;}_tryNudgeBuffer(e){let{hls:t,media:i,nudgeRetry:s}=this,n=t?.config;if(!i||!n)return 0;let r=i.currentTime;if(this.nudgeRetry++,s<n.nudgeMaxRetry){let a=r+(s+1)*n.nudgeOffset,l=new Error(`Nudging 'currentTime' from ${r} to ${a}`);this.warn(l.message),i.currentTime=a,t.trigger(C.ERROR,{type:Fe.MEDIA_ERROR,details:Z.BUFFER_NUDGE_ON_STALL,error:l,fatal:!1,buffer:e.len,bufferInfo:e});}else{let a=new Error(`Playhead still not moving while enough data buffered @${r} after ${n.nudgeMaxRetry} nudges`);this.error(a.message),t.trigger(C.ERROR,{type:Fe.MEDIA_ERROR,details:Z.BUFFER_STALLED_ERROR,error:a,fatal:!0,buffer:e.len,bufferInfo:e});}}};function o0(e,t){let i=a0(e.main);if(i&&i.start<=t)return i;let s=a0(e.audio);return s&&s.start<=t?s:null;}function a0(e){if(!e)return null;switch(e.state){case le.IDLE:case le.STOPPED:case le.ENDED:case le.ERROR:return null;}return e.frag;}function id(e,t){return t.getAppendedFrag(e,Me.MAIN)||t.getPartialFragment(e);}var eP=.25;function Ah(){if(!(typeof self>"u"))return self.VTTCue||self.TextTrackCue;}function wu(e,t,i,s,n){let r=new e(t,i,"");try{r.value=s,n&&(r.type=n);}catch(a){r=new e(t,i,It(n?yt({type:n},s):s));}return r;}var sd=(()=>{let e=Ah();try{e&&new e(0,Number.POSITIVE_INFINITY,"");}catch(t){return Number.MAX_VALUE;}return Number.POSITIVE_INFINITY;})(),tP=class{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.removeCues=!0,this.assetCue=void 0,this.onEventCueEnter=()=>{this.hls&&this.hls.trigger(C.EVENT_CUE_ENTER,{});},this.hls=e,this._registerListeners();}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=this.onEventCueEnter=null;}_registerListeners(){let{hls:e}=this;e&&(e.on(C.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(C.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(C.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(C.MANIFEST_LOADING,this.onManifestLoading,this),e.on(C.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(C.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(C.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(C.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this));}_unregisterListeners(){let{hls:e}=this;e&&(e.off(C.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(C.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(C.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(C.MANIFEST_LOADING,this.onManifestLoading,this),e.off(C.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(C.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(C.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(C.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this));}onMediaAttaching(e,t){var i;this.media=t.media,((i=t.overrides)==null?void 0:i.cueRemoval)===!1&&(this.removeCues=!1);}onMediaAttached(){var e;let t=(e=this.hls)==null?void 0:e.latestLevelDetails;t&&this.updateDateRangeCues(t);}onMediaDetaching(e,t){this.media=null,!t.transferMedia&&(this.id3Track&&(this.removeCues&&uo(this.id3Track,this.onEventCueEnter),this.id3Track=null),this.dateRangeCuesAppended={});}onManifestLoading(){this.dateRangeCuesAppended={};}createTrack(e){let t=this.getID3Track(e.textTracks);return t.mode="hidden",t;}getID3Track(e){if(this.media){for(let t=0;t<e.length;t++){let i=e[t];if(i.kind==="metadata"&&i.label==="id3")return ib(i,this.media),i;}return this.media.addTextTrack("metadata","id3");}}onFragParsingMetadata(e,t){if(!this.media||!this.hls)return;let{enableEmsgMetadataCues:i,enableID3MetadataCues:s}=this.hls.config;if(!i&&!s)return;let{samples:n}=t;this.id3Track||(this.id3Track=this.createTrack(this.media));let r=Ah();if(r)for(let a=0;a<n.length;a++){let l=n[a].type;if(l===Wi.emsg&&!i||!s)continue;let c=P_(n[a].data),u=n[a].pts,f=u+n[a].duration;f>sd&&(f=sd),f-u<=0&&(f=u+eP);for(let p=0;p<c.length;p++){let g=c[p];if(!R_(g)){this.updateId3CueEnds(u,l);let v=wu(r,u,f,g,l);v&&this.id3Track.addCue(v);}}}}updateId3CueEnds(e,t){var i;let s=(i=this.id3Track)==null?void 0:i.cues;if(s)for(let n=s.length;n--;){let r=s[n];r.type===t&&r.startTime<e&&r.endTime===sd&&(r.endTime=e);}}onBufferFlushing(e,{startOffset:t,endOffset:i,type:s}){let{id3Track:n,hls:r}=this;if(!r)return;let{config:{enableEmsgMetadataCues:a,enableID3MetadataCues:l}}=r;if(n&&(a||l)){let c;s==="audio"?c=u=>u.type===Wi.audioId3&&l:s==="video"?c=u=>u.type===Wi.emsg&&a:c=u=>u.type===Wi.audioId3&&l||u.type===Wi.emsg&&a,Ch(n,t,i,c);}}onLevelUpdated(e,{details:t}){this.updateDateRangeCues(t,!0);}onLevelPtsUpdated(e,t){Math.abs(t.drift)>.01&&this.updateDateRangeCues(t.details);}updateDateRangeCues(e,t){if(!this.hls||!this.media)return;let{assetPlayerId:i,timelineOffset:s,enableDateRangeMetadataCues:n,interstitialsController:r}=this.hls.config;if(!n)return;let a=Ah();if(i&&s&&!r){let{fragmentStart:T,fragmentEnd:y}=e,A=this.assetCue;A?(A.startTime=T,A.endTime=y):a&&(A=this.assetCue=wu(a,T,y,{assetPlayerId:this.hls.config.assetPlayerId},"hlsjs.interstitial.asset"),A&&(A.id=i,this.id3Track||(this.id3Track=this.createTrack(this.media)),this.id3Track.addCue(A),A.addEventListener("enter",this.onEventCueEnter)));}if(!e.hasProgramDateTime)return;let{id3Track:l}=this,{dateRanges:c}=e,u=Object.keys(c),f=this.dateRangeCuesAppended;if(l&&t){var p;if((p=l.cues)!=null&&p.length){let T=Object.keys(f).filter(y=>!u.includes(y));for(let y=T.length;y--;){var g;let A=T[y],I=(g=f[A])==null?void 0:g.cues;delete f[A],I&&Object.keys(I).forEach(P=>{let k=I[P];if(k){k.removeEventListener("enter",this.onEventCueEnter);try{l.removeCue(k);}catch(w){}}});}}else f=this.dateRangeCuesAppended={};}let v=e.fragments[e.fragments.length-1];if(!(u.length===0||!Ie(v?.programDateTime))){this.id3Track||(this.id3Track=this.createTrack(this.media));for(let T=0;T<u.length;T++){let y=u[T],A=c[y],I=A.startTime,P=f[y],k=P?.cues||{},w=P?.durationKnown||!1,R=sd,{duration:x,endDate:D}=A;if(D&&x!==null)R=I+x,w=!0;else if(A.endOnNext&&!w){let V=u.reduce(($,N)=>{if(N!==A.id){let F=c[N];if(F.class===A.class&&F.startDate>A.startDate&&(!$||A.startDate<$.startDate))return F;}return $;},null);V&&(R=V.startTime,w=!0);}let O=Object.keys(A.attr);for(let V=0;V<O.length;V++){let $=O[V];if(!Cw($))continue;let N=k[$];if(N)w&&!(P!=null&&P.durationKnown)?N.endTime=R:Math.abs(N.startTime-I)>.01&&(N.startTime=I,N.endTime=R);else if(a){let F=A.attr[$];Sw($)&&(F=By(F));let K=wu(a,I,R,{key:$,data:F},Wi.dateRange);K&&(K.id=y,this.id3Track.addCue(K),k[$]=K,r&&($==="X-ASSET-LIST"||$==="X-ASSET-URL")&&K.addEventListener("enter",this.onEventCueEnter));}}f[y]={cues:k,dateRange:A,durationKnown:w};}}}},iP=class{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.currentTime=0,this.stallCount=0,this._latency=null,this._targetLatencyUpdated=!1,this.onTimeupdate=()=>{let{media:t}=this,i=this.levelDetails;if(!t||!i)return;this.currentTime=t.currentTime;let s=this.computeLatency();if(s===null)return;this._latency=s;let{lowLatencyMode:n,maxLiveSyncPlaybackRate:r}=this.config;if(!n||r===1||!i.live)return;let a=this.targetLatency;if(a===null)return;let l=s-a;if(l<Math.min(this.maxLatency,a+i.targetduration)&&l>.05&&this.forwardBufferLength>1){let c=Math.min(2,Math.max(1,r)),u=Math.round(2/(1+Math.exp(-.75*l-this.edgeStalled))*20)/20,f=Math.min(c,Math.max(1,u));this.changeMediaPlaybackRate(t,f);}else t.playbackRate!==1&&t.playbackRate!==0&&this.changeMediaPlaybackRate(t,1);},this.hls=e,this.config=e.config,this.registerListeners();}get levelDetails(){var e;return((e=this.hls)==null?void 0:e.latestLevelDetails)||null;}get latency(){return this._latency||0;}get maxLatency(){let{config:e}=this;if(e.liveMaxLatencyDuration!==void 0)return e.liveMaxLatencyDuration;let t=this.levelDetails;return t?e.liveMaxLatencyDurationCount*t.targetduration:0;}get targetLatency(){let e=this.levelDetails;if(e===null||this.hls===null)return null;let{holdBack:t,partHoldBack:i,targetduration:s}=e,{liveSyncDuration:n,liveSyncDurationCount:r,lowLatencyMode:a}=this.config,l=this.hls.userConfig,c=a&&i||t;(this._targetLatencyUpdated||l.liveSyncDuration||l.liveSyncDurationCount||c===0)&&(c=n!==void 0?n:r*s);let u=s;return c+Math.min(this.stallCount*this.config.liveSyncOnStallIncrease,u);}set targetLatency(e){this.stallCount=0,this.config.liveSyncDuration=e,this._targetLatencyUpdated=!0;}get liveSyncPosition(){let e=this.estimateLiveEdge(),t=this.targetLatency;if(e===null||t===null)return null;let i=this.levelDetails;if(i===null)return null;let s=i.edge,n=e-t-this.edgeStalled,r=s-i.totalduration,a=s-(this.config.lowLatencyMode&&i.partTarget||i.targetduration);return Math.min(Math.max(r,n),a);}get drift(){let e=this.levelDetails;return e===null?1:e.drift;}get edgeStalled(){let e=this.levelDetails;if(e===null)return 0;let t=(this.config.lowLatencyMode&&e.partTarget||e.targetduration)*3;return Math.max(e.age-t,0);}get forwardBufferLength(){let{media:e}=this,t=this.levelDetails;if(!e||!t)return 0;let i=e.buffered.length;return(i?e.buffered.end(i-1):t.edge)-this.currentTime;}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.hls=null;}registerListeners(){let{hls:e}=this;e&&(e.on(C.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(C.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(C.MANIFEST_LOADING,this.onManifestLoading,this),e.on(C.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(C.ERROR,this.onError,this));}unregisterListeners(){let{hls:e}=this;e&&(e.off(C.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(C.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(C.MANIFEST_LOADING,this.onManifestLoading,this),e.off(C.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(C.ERROR,this.onError,this));}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("timeupdate",this.onTimeupdate);}onMediaDetaching(){this.media&&(this.media.removeEventListener("timeupdate",this.onTimeupdate),this.media=null);}onManifestLoading(){this._latency=null,this.stallCount=0;}onLevelUpdated(e,{details:t}){t.advanced&&this.onTimeupdate(),!t.live&&this.media&&this.media.removeEventListener("timeupdate",this.onTimeupdate);}onError(e,t){var i;t.details===Z.BUFFER_STALLED_ERROR&&(this.stallCount++,this.hls&&(i=this.levelDetails)!=null&&i.live&&this.hls.logger.warn("[latency-controller]: Stall detected, adjusting target latency"));}changeMediaPlaybackRate(e,t){var i,s;e.playbackRate!==t&&((i=this.hls)==null||i.logger.debug(`[latency-controller]: latency=${this.latency.toFixed(3)}, targetLatency=${(s=this.targetLatency)==null?void 0:s.toFixed(3)}, forwardBufferLength=${this.forwardBufferLength.toFixed(3)}: adjusting playback rate from ${e.playbackRate} to ${t}`),e.playbackRate=t);}estimateLiveEdge(){let e=this.levelDetails;return e===null?null:e.edge+e.age;}computeLatency(){let e=this.estimateLiveEdge();return e===null?null:e-this.currentTime;}},sP=class extends lf{constructor(e,t){super(e,"level-controller"),this._levels=[],this._firstLevel=-1,this._maxAutoLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.onParsedComplete=void 0,this.steering=t,this._registerListeners();}_registerListeners(){let{hls:e}=this;e.on(C.MANIFEST_LOADING,this.onManifestLoading,this),e.on(C.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(C.LEVEL_LOADED,this.onLevelLoaded,this),e.on(C.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(C.FRAG_BUFFERED,this.onFragBuffered,this),e.on(C.ERROR,this.onError,this);}_unregisterListeners(){let{hls:e}=this;e.off(C.MANIFEST_LOADING,this.onManifestLoading,this),e.off(C.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(C.LEVEL_LOADED,this.onLevelLoaded,this),e.off(C.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(C.FRAG_BUFFERED,this.onFragBuffered,this),e.off(C.ERROR,this.onError,this);}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy();}
252stopLoad(){this._levels.forEach(e=>{e.loadError=0,e.fragmentError=0;}),super.stopLoad();}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1;}onManifestLoading(e,t){this.resetLevels();}onManifestLoaded(e,t){let i=this.hls.config.preferManagedMediaSource,s=[],n={},r={},a=!1,l=!1,c=!1;t.levels.forEach(u=>{let f=u.attrs,{audioCodec:p,videoCodec:g}=u;p&&(u.audioCodec=p=Nd(p,i)||void 0),g&&(g=u.videoCodec=U2(g));let{width:v,height:T,unknownCodecs:y}=u,A=y?.length||0;if(a||(a=!!(v&&T)),l||(l=!!g),c||(c=!!p),A||p&&!this.isAudioSupported(p)||g&&!this.isVideoSupported(g)){this.log(`Some or all CODECS not supported "${f.CODECS}"`);return;}let{CODECS:I,"FRAME-RATE":P,"HDCP-LEVEL":k,"PATHWAY-ID":w,RESOLUTION:R,"VIDEO-RANGE":x}=f,D=`${`${w||"."}-`}${u.bitrate}-${R}-${P}-${I}-${x}-${k}`;if(n[D]){if(n[D].uri!==u.url&&!u.attrs["PATHWAY-ID"]){let O=r[D]+=1;u.attrs["PATHWAY-ID"]=new Array(O+1).join(".");let V=this.createLevel(u);n[D]=V,s.push(V);}else n[D].addGroupId("audio",f.AUDIO),n[D].addGroupId("text",f.SUBTITLES);}else{let O=this.createLevel(u);n[D]=O,r[D]=1,s.push(O);}}),this.filterAndSortMediaOptions(s,t,a,l,c);}createLevel(e){let t=new ga(e),i=e.supplemental;if(i!=null&&i.videoCodec&&!this.isVideoSupported(i.videoCodec)){let s=new Error(`SUPPLEMENTAL-CODECS not supported "${i.videoCodec}"`);this.log(s.message),t.supportedResult=Qy(s,[]);}return t;}isAudioSupported(e){return pa(e,"audio",this.hls.config.preferManagedMediaSource);}isVideoSupported(e){return pa(e,"video",this.hls.config.preferManagedMediaSource);}filterAndSortMediaOptions(e,t,i,s,n){var r;let a=[],l=[],c=e,u=((r=t.stats)==null?void 0:r.parsing)||{};if((i||s)&&n&&(c=c.filter(({videoCodec:I,videoRange:P,width:k,height:w})=>(!!I||!!(k&&w))&&X2(P))),c.length===0){Promise.resolve().then(()=>{if(this.hls){let I="no level with compatible codecs found in manifest",P=I;t.levels.length&&(P=`one or more CODECS in variant not supported: ${It(t.levels.map(w=>w.attrs.CODECS).filter((w,R,x)=>x.indexOf(w)===R))}`,this.warn(P),I+=` (${P})`);let k=new Error(I);this.hls.trigger(C.ERROR,{type:Fe.MEDIA_ERROR,details:Z.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:k,reason:P});}}),u.end=performance.now();return;}t.audioTracks&&(a=t.audioTracks.filter(I=>!I.audioCodec||this.isAudioSupported(I.audioCodec)),l0(a)),t.subtitles&&(l=t.subtitles,l0(l));let f=c.slice(0);c.sort((I,P)=>{if(I.attrs["HDCP-LEVEL"]!==P.attrs["HDCP-LEVEL"])return(I.attrs["HDCP-LEVEL"]||"")>(P.attrs["HDCP-LEVEL"]||"")?1:-1;if(i&&I.height!==P.height)return I.height-P.height;if(I.frameRate!==P.frameRate)return I.frameRate-P.frameRate;if(I.videoRange!==P.videoRange)return Fd.indexOf(I.videoRange)-Fd.indexOf(P.videoRange);if(I.videoCodec!==P.videoCodec){let k=Zg(I.videoCodec),w=Zg(P.videoCodec);if(k!==w)return w-k;}if(I.uri===P.uri&&I.codecSet!==P.codecSet){let k=jd(I.codecSet),w=jd(P.codecSet);if(k!==w)return w-k;}return I.averageBitrate!==P.averageBitrate?I.averageBitrate-P.averageBitrate:0;});let p=f[0];if(this.steering&&(c=this.steering.filterParsedLevels(c),c.length!==f.length)){for(let I=0;I<f.length;I++)if(f[I].pathwayId===c[0].pathwayId){p=f[I];break;}}this._levels=c;for(let I=0;I<c.length;I++)if(c[I]===p){var g;this._firstLevel=I;let P=p.bitrate,k=this.hls.bandwidthEstimate;if(this.log(`manifest loaded, ${c.length} level(s) found, first bitrate: ${P}`),((g=this.hls.userConfig)==null?void 0:g.abrEwmaDefaultEstimate)===void 0){let w=Math.min(P,this.hls.config.abrEwmaDefaultEstimateMax);w>k&&k===this.hls.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=w);}break;}let v=n&&!s,T=this.hls.config,y=!!(T.audioStreamController&&T.audioTrackController),A={levels:c,audioTracks:a,subtitleTracks:l,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:n,video:s,altAudio:y&&!v&&a.some(I=>!!I.url)};u.end=performance.now(),this.hls.trigger(C.MANIFEST_PARSED,A);}get levels(){return this._levels.length===0?null:this._levels;}get loadLevelObj(){return this.currentLevel;}get level(){return this.currentLevelIndex;}set level(e){let t=this._levels;if(t.length===0)return;if(e<0||e>=t.length){let u=new Error("invalid level idx"),f=e<0;
252if(this.hls.trigger(C.ERROR,{type:Fe.OTHER_ERROR,details:Z.LEVEL_SWITCH_ERROR,level:e,fatal:f,error:u,reason:u.message}),f)return;e=Math.min(e,t.length-1);}let i=this.currentLevelIndex,s=this.currentLevel,n=s?s.attrs["PATHWAY-ID"]:void 0,r=t[e],a=r.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=r,i===e&&s&&n===a)return;this.log(`Switching to level ${e} (${r.height?r.height+"p ":""}${r.videoRange?r.videoRange+" ":""}${r.codecSet?r.codecSet+" ":""}@${r.bitrate})${a?" with Pathway "+a:""} from level ${i}${n?" with Pathway "+n:""}`);let l={level:e,attrs:r.attrs,details:r.details,bitrate:r.bitrate,averageBitrate:r.averageBitrate,maxBitrate:r.maxBitrate,realBitrate:r.realBitrate,width:r.width,height:r.height,codecSet:r.codecSet,audioCodec:r.audioCodec,videoCodec:r.videoCodec,audioGroups:r.audioGroups,subtitleGroups:r.subtitleGroups,loaded:r.loaded,loadError:r.loadError,fragmentError:r.fragmentError,name:r.name,id:r.id,uri:r.uri,url:r.url,urlId:0,audioGroupIds:r.audioGroupIds,textGroupIds:r.textGroupIds};this.hls.trigger(C.LEVEL_SWITCHING,l);let c=r.details;if(!c||c.live){let u=this.switchParams(r.uri,s?.details,c);this.loadPlaylist(u);}}get manualLevel(){return this.manualLevelIndex;}set manualLevel(e){this.manualLevelIndex=e,this._startLevel===void 0&&(this._startLevel=e),e!==-1&&(this.level=e);}get firstLevel(){return this._firstLevel;}set firstLevel(e){this._firstLevel=e;}get startLevel(){if(this._startLevel===void 0){let e=this.hls.config.startLevel;return e!==void 0?e:this.hls.firstAutoLevel;}return this._startLevel;}set startLevel(e){this._startLevel=e;}get pathways(){return this.steering?this.steering.pathways():[];}get pathwayPriority(){return this.steering?this.steering.pathwayPriority:null;}set pathwayPriority(e){if(this.steering){let t=this.steering.pathways(),i=e.filter(s=>t.indexOf(s)!==-1);if(e.length<1){this.warn(`pathwayPriority ${e} should contain at least one pathway from list: ${t}`);return;}this.steering.pathwayPriority=i;}}onError(e,t){t.fatal||!t.context||t.context.type===it.LEVEL&&t.context.level===this.level&&this.checkRetry(t);}onFragBuffered(e,{frag:t}){if(t!==void 0&&t.type===Me.MAIN){let i=t.elementaryStreams;if(!Object.keys(i).some(n=>!!i[n]))return;let s=this._levels[t.level];s!=null&&s.loadError&&(this.log(`Resetting level error count of ${s.loadError} on frag buffered`),s.loadError=0);}}onLevelLoaded(e,t){var i;let{level:s,details:n}=t,r=t.levelInfo;if(!r){var a;this.warn(`Invalid level index ${s}`),(a=t.deliveryDirectives)!=null&&a.skip&&(n.deltaUpdateFailed=!0);return;}if(r===this.currentLevel||t.withoutMultiVariant){r.fragmentError===0&&(r.loadError=0);let l=r.details;l===t.details&&l.advanced&&(l=void 0),this.playlistLoaded(s,t,l);}else(i=t.deliveryDirectives)!=null&&i.skip&&(n.deltaUpdateFailed=!0);}loadPlaylist(e){super.loadPlaylist(),this.shouldLoadPlaylist(this.currentLevel)&&this.scheduleLoading(this.currentLevel,e);}loadingPlaylist(e,t){super.loadingPlaylist(e,t);let i=this.getUrlWithDirectives(e.uri,t),s=this.currentLevelIndex,n=e.attrs["PATHWAY-ID"],r=e.details,a=r?.age;this.log(`Loading level index ${s}${t?.msn!==void 0?" at sn "+t.msn+" part "+t.part:""}${n?" Pathway "+n:""}${a&&r.live?" age "+a.toFixed(1)+(r.type&&" "+r.type||""):""} ${i}`),this.hls.trigger(C.LEVEL_LOADING,{url:i,level:s,levelInfo:e,pathwayId:e.attrs["PATHWAY-ID"],id:0,deliveryDirectives:t||null});}get nextLoadLevel(){return this.manualLevelIndex!==-1?this.manualLevelIndex:this.hls.nextAutoLevel;}set nextLoadLevel(e){this.level=e,this.manualLevelIndex===-1&&(this.hls.nextAutoLevel=e);}removeLevel(e){var t;if(this._levels.length===1)return;let i=this._levels.filter((n,r)=>r!==e?!0:(this.steering&&this.steering.removeLevel(n),n===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,n.details&&n.details.fragments.forEach(a=>a.level=-1)),!1));__(i),this._levels=i,this.currentLevelIndex>-1&&(t=this.currentLevel)!=null&&t.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.manualLevelIndex>-1&&(this.manualLevelIndex=this.currentLevelIndex);let s=i.length-1;this._firstLevel=Math.min(this._firstLevel,s),this._startLevel&&(this._startLevel=Math.min(this._startLevel,s)),this.hls.trigger(C.LEVELS_UPDATED,{levels:i});}onLevelsUpdated(e,{levels:t}){this._levels=t;}checkMaxAutoUpdated(){let{autoLevelCapping:e,maxAutoLevel:t,maxHdcpLevel:i}=this.hls;this._maxAutoLevel!==t&&(this._maxAutoLevel=t,this.hls.trigger(C.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:e,levels:this.levels,maxAutoLevel:t,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:i}));}};function l0(e){let t={};e.forEach(i=>
vendor: 46,064 bytes, line 252
252{let s=i.groupId||"";i.id=t[s]=t[s]||0,t[s]++;});}function mb(){return self.SourceBuffer||self.WebKitSourceBuffer;}function gb(){if(!Un())return!1;let e=mb();return!e||e.prototype&&typeof e.prototype.appendBuffer=="function"&&typeof e.prototype.remove=="function";}function nP(){if(!gb())return!1;let e=Un();return typeof e?.isTypeSupported=="function"&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some(t=>e.isTypeSupported(ma(t,"video")))||["mp4a.40.2","fLaC"].some(t=>e.isTypeSupported(ma(t,"audio"))));}function rP(){var e;let t=mb();return typeof(t==null||(e=t.prototype)==null?void 0:e.changeType)=="function";}var oP=100,aP=class extends Zh{constructor(e,t,i){super(e,t,i,"stream-controller",Me.MAIN),this.audioCodecSwap=!1,this.level=-1,this._forceStartLoad=!1,this._hasEnoughToStart=!1,this.altAudio=0,this.audioOnly=!1,this.fragPlaying=null,this.fragLastKbps=0,this.couldBacktrack=!1,this.backtrackFragment=null,this.audioCodecSwitch=!1,this.videoBuffer=null,this.onMediaPlaying=()=>{this.tick();},this.onMediaSeeked=()=>{let s=this.media,n=s?s.currentTime:null;if(n===null||!Ie(n)||(this.log(`Media seeked to ${n.toFixed(3)}`),!this.getBufferedFrag(n)))return;let r=this.getFwdBufferInfoAtPos(s,n,Me.MAIN,0);if(r===null||r.len===0){this.warn(`Main forward buffer length at ${n} on "seeked" event ${r?r.len:"empty"})`);return;}this.tick();},this.registerListeners();}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(C.MANIFEST_PARSED,this.onManifestParsed,this),e.on(C.LEVEL_LOADING,this.onLevelLoading,this),e.on(C.LEVEL_LOADED,this.onLevelLoaded,this),e.on(C.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(C.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(C.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(C.BUFFER_CREATED,this.onBufferCreated,this),e.on(C.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(C.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(C.FRAG_BUFFERED,this.onFragBuffered,this);}unregisterListeners(){super.unregisterListeners();let{hls:e}=this;e.off(C.MANIFEST_PARSED,this.onManifestParsed,this),e.off(C.LEVEL_LOADED,this.onLevelLoaded,this),e.off(C.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(C.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(C.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(C.BUFFER_CREATED,this.onBufferCreated,this),e.off(C.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(C.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(C.FRAG_BUFFERED,this.onFragBuffered,this);}onHandlerDestroying(){this.onMediaPlaying=this.onMediaSeeked=null,this.unregisterListeners(),super.onHandlerDestroying();}startLoad(e,t){if(this.levels){let{lastCurrentTime:i,hls:s}=this;if(this.stopLoad(),this.setInterval(oP),this.level=-1,!this.startFragRequested){let n=s.startLevel;n===-1&&(s.config.testBandwidth&&this.levels.length>1?(n=0,this.bitrateTest=!0):n=s.firstAutoLevel),s.nextLoadLevel=n,this.level=s.loadLevel,this._hasEnoughToStart=!!t;}i>0&&e===-1&&!t&&(this.log(`Override startPosition with lastCurrentTime @${i.toFixed(3)}`),e=i),this.state=le.IDLE,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick();}else this._forceStartLoad=!0,this.state=le.STOPPED;}stopLoad(){this._forceStartLoad=!1,super.stopLoad();}doTick(){switch(this.state){case le.WAITING_LEVEL:{let{levels:e,level:t}=this,i=e?.[t],s=i?.details;if(s&&(!s.live||this.levelLastLoaded===i&&!this.waitForLive(i))){if(this.waitForCdnTuneIn(s))break;this.state=le.IDLE;break;}else if(this.hls.nextLoadLevel!==this.level){this.state=le.IDLE;break;}break;}case le.FRAG_LOADING_WAITING_RETRY:this.checkRetryDate();break;}this.state===le.IDLE&&this.doTickIdle(),this.onTickEnd();}onTickEnd(){var e;super.onTickEnd(),(e=this.media)!=null&&e.readyState&&this.media.seeking===!1&&(this.lastCurrentTime=this.media.currentTime),this.checkFragmentChanged();}doTickIdle(){let{hls:e,levelLastLoaded:t,levels:i,media:s}=this;if(t===null||!s&&!this.primaryPrefetch&&(this.startFragRequested||!e.config.startFragPrefetch)||this.altAudio&&this.audioOnly)return;let n=this.buffering?e.nextLoadLevel:e.loadLevel;if(!(i!=null&&i[n]))return;let r=i[n],a=this.getMainFwdBufferInfo();if(a===null)return;let l=this.getLevelDetails();if(l&&this._streamEnded(a,l)){let T={};this.altAudio===2&&(T.type="video"),this.hls.trigger(C.BUFFER_EOS,T),this.state=le.ENDED;return;}if(!this.buffering)return;e.loadLevel!==n&&e.manualLevel===-1&&this.log(`Adapting to level ${n} from level ${this.level}`),this.level=e.nextLoadLevel=n;let c=r.details;if(!c||this.state===le.WAITING_LEVEL||this.waitForLive(r)){this.level=n,this.state=le.WAITING_LEVEL,this.startFragRequested=!1;return;}let u=a.len,f=this.getMaxBufferLength(r.maxBitrate);if(u>=f)return;this.backtrackFragment&&this.backtrackFragment.start>a.end&&(this.backtrackFragment=null);let p=this.backtrackFragment?this.backtrackFragment.start:a.end,g=this.getNextFragment(p,c);if(this.couldBacktrack&&!this.fragPrevious&&g&&$t(g)&&this.fragmentTracker.getState(g)!==Xt.OK){var v;let T=((v=this.backtrackFragment)!=null?v:g).sn-c.startSN,y=c.fragments[T-1];y&&g.cc===y.cc&&(g=y,this.fragmentTracker.removeFragment(y));}else this.backtrackFragment&&a.len&&(this.backtrackFragment=null);if(g&&this.isLoopLoading(g,p)){if(!g.gap){let T=this.audioOnly&&!this.altAudio?At.AUDIO:At.VIDEO,y=(T===At.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;y&&this.afterBufferFlushed(y,T,Me.MAIN);}g=this.getNextFragmentLoopLoading(g,c,a,Me.MAIN,f);}g&&(this.exceedsMaxBuffer(a,f,g)||(g.initSegment&&!g.initSegment.data&&!this.bitrateTest&&(g=g.initSegment),this.loadFragment(g,r,p)));}loadFragment(e,t,i){let s=this.fragmentTracker.getState(e);s===Xt.NOT_LOADED||s===Xt.PARTIAL?$t(e)?this.bitrateTest?(this.log(`Fragment ${e.sn} of level ${e.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(e,t)):super.loadFragment(e,t,i):this._loadInitSegment(e,t):this.clearTrackerIfNeeded(e);}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,Me.MAIN);}followingBufferedFrag(e){return e?this.getBufferedFrag(e.end+.5):null;}immediateLevelSwitch(){if(this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY),this.altAudio!==0){var e;(((e=this.getLevelDetails())==null?void 0:e.fragmentStart)||0)>this.lastCurrentTime&&super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio");}}nextLevelSwitch(){let{levels:e,media:t}=this;if(t!=null&&t.readyState){let i,s=this.getAppendedFrag(t.currentTime);s&&s.start>1&&this.flushMainBuffer(0,s.start-1);let n=this.getLevelDetails();if(n!=null&&n.live){let a=this.getMainFwdBufferInfo();if(!a||a.len<n.targetduration*2)return;}if(!t.paused&&e){let a=e[this.hls.nextLoadLevel],l=this.fragLastKbps;l&&this.fragCurrent?i=this.fragCurrent.duration*a.maxBitrate/(1e3*l)+1:i=0;}else i=0;let r=this.getBufferedFrag(t.currentTime+i);if(r){let a=this.followingBufferedFrag(r);if(a){this.abortCurrentFrag();let l=a.maxStartPTS?a.maxStartPTS:a.start,c=a.duration,u=Math.max(r.end,l+Math.min(Math.max(c-this.config.maxFragLookUpTolerance,c*(this.couldBacktrack?.5:.125)),c*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(u,Number.POSITIVE_INFINITY);}}}}abortCurrentFrag(){let e=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,e&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.state){case le.KEY_LOADING:case le.FRAG_LOADING:case le.FRAG_LOADING_WAITING_RETRY:case le.PARSING:case le.PARSED:this.state=le.IDLE;break;}this.nextLoadPosition=this.getLoadPosition();}flushMainBuffer(e,t){super.flushMainBuffer(e,t,this.altAudio===2?"video":null);}onMediaAttached(e,t){super.onMediaAttached(e,t);let i=t.media;Ii(i,"playing",this.onMediaPlaying),Ii(i,"seeked",this.onMediaSeeked);}onMediaDetaching(e,t){let{media:i}=this;i&&(Fi(i,"playing",this.onMediaPlaying),Fi(i,"seeked",this.onMediaSeeked)),this.videoBuffer=null,this.fragPlaying=null,super.onMediaDetaching(e,t),!t.transferMedia&&(this._hasEnoughToStart=!1);}onManifestLoading(){super.onManifestLoading(),this.log("Trigger BUFFER_RESET"),this.hls.trigger(C.BUFFER_RESET,void 0),this.couldBacktrack=!1,this.fragLastKbps=0,this.fragPlaying=this.backtrackFragment=null,this.altAudio=0,this.audioOnly=!1;}onManifestParsed(e,t){let i=!1,s=!1;for(let n=0;n<t.levels.length;n++){let r=t.levels[n].audioCodec;r&&(i=i||r.indexOf("mp4a.40.2")!==-1,s=s||r.indexOf("mp4a.40.5")!==-1);}this.audioCodecSwitch=i&&s&&!rP(),this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=t.levels,this.startFragRequested=!1;}onLevelLoading(e,t){let{levels:i}=this;if(!i||this.state!==le.IDLE)return;let s=t.levelInfo;(!s.details||s.details.live&&(this.levelLastLoaded!==s||s.details.expired)||this.waitForCdnTuneIn(s.details))&&(this.state=le.WAITING_LEVEL);}onLevelLoaded(e,t){var i;let{levels:s,startFragRequested:n}=this,r=t.level,a=t.details,l=a.totalduration;if(!s){this.warn(`Levels were reset while loading level ${r}`);return;}this.log(`Level ${r} loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:""}, cc [${a.startCC}, ${a.endCC}] duration:${l}`);let c=t.levelInfo,u=this.fragCurrent;u&&(this.state===le.FRAG_LOADING||this.state===le.FRAG_LOADING_WAITING_RETRY)&&u.level!==t.level&&u.loader&&this.abortCurrentFrag();let f=0;if(a.live||(i=c.details)!=null&&i.live){var p;if(this.checkLiveUpdate(a),a.deltaUpdateFailed)return;f=this.alignPlaylists(a,c.details,(p=this.levelLastLoaded)==null?void 0:p.details);}if(c.details=a,this.levelLastLoaded=c,n||this.setStartPosition(a,f),this.hls.trigger(C.LEVEL_UPDATED,{details:a,level:r}),this.state===le.WAITING_LEVEL){if(this.waitForCdnTuneIn(a))return;this.state=le.IDLE;}n&&a.live&&this.synchronizeToLiveEdge(a),this.tick();}synchronizeToLiveEdge(e){let{config:t,media:i}=this;if(!i)return;let s=this.hls.liveSyncPosition,n=this.getLoadPosition(),r=e.fragmentStart,a=e.edge,l=n>=r-t.maxFragLookUpTolerance&&n<=a;if(s!==null&&i.duration>s&&(n<s||!l)){let u=t.liveMaxLatencyDuration!==void 0?t.liveMaxLatencyDuration:t.liveMaxLatencyDurationCount*e.targetduration;if((!l&&i.readyState<4||n<a-u)&&(this._hasEnoughToStart||(this.nextLoadPosition=s),i.readyState))if(this.warn(`Playback: ${n.toFixed(3)} is located too far from the end of live sliding playlist: ${a}, reset currentTime to : ${s.toFixed(3)}`),this.config.liveSyncMode==="buffered"){var c;let f=et.bufferInfo(i,s,0);if(!((c=f.buffered)!=null&&c.length)){i.currentTime=s;return;}if(f.start<=n){i.currentTime=s;return;}let{nextStart:p}=et.bufferedInfo(f.buffered,n,0);p&&(i.currentTime=p);}else i.currentTime=s;}}_handleFragmentLoadProgress(e){var t;let i=e.frag,{part:s,payload:n}=e,{levels:r}=this;if(!r){this.warn(`Levels were reset while fragment load was in progress. Fragment ${i.sn} of level ${i.level} will not be buffered`);return;}let a=r[i.level];if(!a){this.warn(`Level ${i.level} not found on progress`);return;}let l=a.details;if(!l){this.warn(`Dropping fragment ${i.sn} of level ${i.level} after level details were reset`),this.fragmentTracker.removeFragment(i);return;}let c=a.videoCodec,u=l.PTSKnown||!l.live,f=(t=i.initSegment)==null?void 0:t.data,p=this._getAudioCodec(a),g=this.transmuxer=this.transmuxer||new V_(this.hls,Me.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),v=s?s.index:-1,T=v!==-1,y=new Xh(i.level,i.sn,i.stats.chunkCount,n.byteLength,v,T),A=this.initPTS[i.cc];g.push(n,f,p,c,i,s,l.totalduration,u,y,A);}onAudioTrackSwitching(e,t){let i=this.hls,s=this.altAudio!==0;if(Bd(t.url,i))this.altAudio=1;else{if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;let n=this.fragCurrent;n&&(this.log("Switching to main audio track, cancel main fragment load"),n.abortRequests(),this.fragmentTracker.removeFragment(n)),this.resetTransmuxer(),this.resetLoadingState();}else this.audioOnly&&this.resetTransmuxer();if(s){this.altAudio=0,this.fragmentTracker.removeAllFragments(),i.once(C.BUFFER_FLUSHED,()=>{this.hls&&this.hls.trigger(C.AUDIO_TRACK_SWITCHED,t);}),i.trigger(C.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null});return;}i.trigger(C.AUDIO_TRACK_SWITCHED,t);}}onAudioTrackSwitched(e,t){let i=Bd(t.url,this.hls);if(i){let s=this.videoBuffer;s&&this.mediaBuffer!==s&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=s);}this.altAudio=i?2:0,this.tick();}onBufferCreated(e,t){let i=t.tracks,s,n,r=!1;for(let a in i){let l=i[a];if(l.id==="main"){if(n=a,s=l,a==="video"){let c=i[a];c&&(this.videoBuffer=c.buffer);}}else r=!0;}r&&s?(this.log(`Alternate track found, use ${n}.buffered to schedule main fragment loading`),this.mediaBuffer=s.buffer):this.mediaBuffer=this.media;}onFragBuffered(e,t){let{frag:i,part:s}=t,n=i.type===Me.MAIN;if(n){if(this.fragContextChanged(i)){this.warn(`Fragment ${i.sn}${s?" p: "+s.index:""} of level ${i.level} finished buffering, but was aborted. state: ${this.state}`),this.state===le.PARSED&&(this.state=le.IDLE);return;}let a=s?s.stats:i.stats;this.fragLastKbps=Math.round(8*a.total/(a.buffering.end-a.loading.first)),$t(i)&&(this.fragPrevious=i),this.fragBufferedComplete(i,s);}let r=this.media;r&&(!this._hasEnoughToStart&&et.getBuffered(r).length&&(this._hasEnoughToStart=!0,this.seekToStartPos()),n&&this.tick());}get hasEnoughToStart(){return this._hasEnoughToStart;}onError(e,t){var i;if(t.fatal){this.state=le.ERROR;return;}switch(t.details){case Z.FRAG_GAP:case Z.FRAG_PARSING_ERROR:case Z.FRAG_DECRYPT_ERROR:case Z.FRAG_LOAD_ERROR:case Z.FRAG_LOAD_TIMEOUT:case Z.KEY_LOAD_ERROR:case Z.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(Me.MAIN,t);break;case Z.LEVEL_LOAD_ERROR:case Z.LEVEL_LOAD_TIMEOUT:case Z.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===le.WAITING_LEVEL&&((i=t.context)==null?void 0:i.type)===it.LEVEL&&(this.state=le.IDLE);break;case Z.BUFFER_ADD_CODEC_ERROR:case Z.BUFFER_APPEND_ERROR:if(t.parent!=="main")return;this.reduceLengthAndFlushBuffer(t)&&this.resetLoadingState();break;case Z.BUFFER_FULL_ERROR:if(t.parent!=="main")return;this.reduceLengthAndFlushBuffer(t)&&(!this.config.interstitialsController&&this.config.assetPlayerId?this._hasEnoughToStart=!0:this.flushMainBuffer(0,Number.POSITIVE_INFINITY));break;case Z.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break;}}onFragLoadEmergencyAborted(){this.state=le.IDLE,this._hasEnoughToStart||(this.startFragRequested=!1,this.nextLoadPosition=this.lastCurrentTime),this.tickImmediate();}onBufferFlushed(e,{type:t}){if(t!==At.AUDIO||!this.altAudio){let i=(t===At.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;i&&(this.afterBufferFlushed(i,t,Me.MAIN),this.tick());}}onLevelsUpdated(e,t){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level,this.level===-1&&this.resetWhenMissingContext(this.fragCurrent)),this.levels=t.levels;}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap;}seekToStartPos(){let{media:e}=this;if(!e)return;let t=e.currentTime,i=this.startPosition;if(i>=0&&t<i){if(e.seeking){this.log(`could not seek to ${i}, already seeking at ${t}`);return;}let s=this.timelineOffset;s&&i&&(i+=s);let n=this.getLevelDetails(),r=et.getBuffered(e),a=r.length?r.start(0):0,l=a-i,c=Math.max(this.config.maxBufferHole,this.config.maxFragLookUpTolerance);(this.config.startOnSegmentBoundary||l>0&&(l<c||this.loadingParts&&l<2*(n?.partTarget||0)))&&(this.log(`adjusting start position by ${l} to match buffer start`),i+=l,this.startPosition=i),t<i&&(this.log(`seek to target start position ${i} from current time ${t} buffer start ${a}`),e.currentTime=i);}}_getAudioCodec(e){let t=this.config.defaultAudioCodec||e.audioCodec;return this.audioCodecSwap&&t&&(this.log("Swapping audio codec"),t.indexOf("mp4a.40.5")!==-1?t="mp4a.40.2":t="mp4a.40.5"),t;}_loadBitrateTestFrag(e,t){e.bitrateTest=!0,this._doFragLoad(e,t).then(i=>{let{hls:s}=this,n=i?.frag;if(!n||this.fragContextChanged(n))return;t.fragmentError=0,this.state=le.IDLE,this.startFragRequested=!1,this.bitrateTest=!1;let r=n.stats;r.parsing.start=r.parsing.end=r.buffering.start=r.buffering.end=self.performance.now(),s.trigger(C.FRAG_LOADED,i),n.bitrateTest=!1;}).catch(i=>{this.state===le.STOPPED||this.state===le.ERROR||(this.warn(i),this.resetFragmentLoading(e));});}_handleTransmuxComplete(e){let t=this.playlistType,{hls:i}=this,{remuxResult:s,chunkMeta:n}=e,r=this.getCurrentContext(n);if(!r){this.resetWhenMissingContext(n);return;}let{frag:a,part:l,level:c}=r,{video:u,text:f,id3:p,initSegment:g}=s,{details:v}=c,T=this.altAudio?void 0:s.audio;if(this.fragContextChanged(a)){this.fragmentTracker.removeFragment(a);return;}if(this.state=le.PARSING,g){let y=g.tracks;if(y){let k=a.initSegment||a;if(this.unhandledEncryptionError(g,a))return;this._bufferInitSegment(c,y,k,n),i.trigger(C.FRAG_PARSING_INIT_SEGMENT,{frag:k,id:t,tracks:y});}let A=g.initPTS,I=g.timescale,P=this.initPTS[a.cc];if(Ie(A)&&(!P||P.baseTime!==A||P.timescale!==I)){let k=g.trackId;this.initPTS[a.cc]={baseTime:A,timescale:I,trackId:k},i.trigger(C.INIT_PTS_FOUND,{frag:a,id:t,initPTS:A,timescale:I,trackId:k});}}if(u&&v){T&&u.type==="audiovideo"&&this.logMuxedErr(a);let y=v.fragments[a.sn-1-v.startSN],A=a.sn===v.startSN,I=!y||a.cc>y.cc;if(s.independent!==!1){let{startPTS:P,endPTS:k,startDTS:w,endDTS:R}=u;if(l)l.elementaryStreams[u.type]={startPTS:P,endPTS:k,startDTS:w,endDTS:R};else if(u.firstKeyFrame&&u.independent&&n.id===1&&!I&&(this.couldBacktrack=!0),u.dropped&&u.independent){let x=this.getMainFwdBufferInfo(),D=(x?x.end:this.getLoadPosition())+this.config.maxBufferHole,O=u.firstKeyFramePTS?u.firstKeyFramePTS:P;if(!A&&D<O-this.config.maxBufferHole&&!I){this.backtrack(a);return;}else I&&(a.gap=!0);a.setElementaryStreamInfo(u.type,a.start,k,a.start,R,!0);}else A&&P-(v.appliedTimelineOffset||0)>kd&&(a.gap=!0);a.setElementaryStreamInfo(u.type,P,k,w,R),this.backtrackFragment&&(this.backtrackFragment=a),this.bufferFragmentData(u,a,l,n,A||I);}else if(A||I)a.gap=!0;else{this.backtrack(a);return;}}if(T){let{startPTS:y,endPTS:A,startDTS:I,endDTS:P}=T;l&&(l.elementaryStreams[At.AUDIO]={startPTS:y,endPTS:A,startDTS:I,endDTS:P}),a.setElementaryStreamInfo(At.AUDIO,y,A,I,P),this.bufferFragmentData(T,a,l,n);}if(v&&p!=null&&p.samples.length){let y={id:t,frag:a,details:v,samples:p.samples};i.trigger(C.FRAG_PARSING_METADATA,y);}if(v&&f){let y={id:t,frag:a,details:v,samples:f.samples};i.trigger(C.FRAG_PARSING_USERDATA,y);}}logMuxedErr(e){this.warn(`${$t(e)?"Media":"Init"} segment with muxed audiovideo where only video expected: ${e.url}`);}_bufferInitSegment(e,t,i,s){if(this.state!==le.PARSING)return;this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&(delete t.audio,t.audiovideo&&this.logMuxedErr(i));let{audio:n,video:r,audiovideo:a}=t;if(n){let c=e.audioCodec,u=_d(n.codec,c);u==="mp4a"&&(u="mp4a.40.5");let f=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){u&&(u.indexOf("mp4a.40.5")!==-1?u="mp4a.40.2":u="mp4a.40.5");let p=n.metadata;p&&"channelCount"in p&&(p.channelCount||1)!==1&&f.indexOf("firefox")===-1&&(u="mp4a.40.5");}u&&u.indexOf("mp4a.40.5")!==-1&&f.indexOf("android")!==-1&&n.container!=="audio/mpeg"&&(u="mp4a.40.2",this.log(`Android: force audio codec to ${u}`)),c&&c!==u&&this.log(`Swapping manifest audio codec "${c}" for "${u}"`),n.levelCodec=u,n.id=Me.MAIN,this.log(`Init audio buffer, container:${n.container}, codecs[selected/level/parsed]=[${u||""}/${c||""}/${n.codec}]`),delete t.audiovideo;}if(r){r.levelCodec=e.videoCodec,r.id=Me.MAIN;let c=r.codec;if(c?.length===4)switch(c){case"hvc1":case"hev1":r.codec="hvc1.1.6.L120.90";break;case"av01":r.codec="av01.0.04M.08";break;case"avc1":r.codec="avc1.42e01e";break;}this.log(`Init video buffer, container:${r.container}, codecs[level/parsed]=[${e.videoCodec||""}/${c}]${r.codec!==c?" parsed-corrected="+r.codec:""}${r.supplemental?" supplemental="+r.supplemental:""}`),delete t.audiovideo;}a&&(this.log(`Init audiovideo buffer, container:${a.container}, codecs[level/parsed]=[${e.codecs}/${a.codec}]`),delete t.video,delete t.audio);let l=Object.keys(t);if(l.length){if(this.hls.trigger(C.BUFFER_CODECS,t),!this.hls)return;l.forEach(c=>{let u=t[c].initSegment;u!=null&&u.byteLength&&this.hls.trigger(C.BUFFER_APPENDING,{type:c,data:u,frag:i,part:null,chunkMeta:s,parent:i.type});});}this.tickImmediate();}getMainFwdBufferInfo(){let e=this.mediaBuffer&&this.altAudio===2?this.mediaBuffer:this.media;return this.getFwdBufferInfo(e,Me.MAIN);}get maxBufferLength(){let{levels:e,level:t}=this,i=e?.[t];return i?this.getMaxBufferLength(i.maxBitrate):this.config.maxBufferLength;}backtrack(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=le.IDLE;}checkFragmentChanged(){let e=this.media,t=null;if(e&&e.readyState>1&&e.seeking===!1){let i=e.currentTime;if(et.isBuffered(e,i)?t=this.getAppendedFrag(i):et.isBuffered(e,i+.1)&&(t=this.getAppendedFrag(i+.1)),t){this.backtrackFragment=null;let s=this.fragPlaying,n=t.level;(!s||t.sn!==s.sn||s.level!==n)&&(this.fragPlaying=t,this.hls.trigger(C.FRAG_CHANGED,{frag:t}),(!s||s.level!==n)&&this.hls.trigger(C.LEVEL_SWITCHED,{level:n}));}}}get nextLevel(){let e=this.nextBufferedFrag;return e?e.level:-1;}get currentFrag(){var e;if(this.fragPlaying)return this.fragPlaying;let t=((e=this.media)==null?void 0:e.currentTime)||this.lastCurrentTime;return Ie(t)?this.getAppendedFrag(t):null;}get currentProgramDateTime(){var e;let t=((e=this.media)==null?void 0:e.currentTime)||this.lastCurrentTime;if(Ie(t)){let i=this.getLevelDetails(),s=this.currentFrag||(i?yr(null,i.fragments,t):null);if(s){let n=s.programDateTime;if(n!==null){let r=n+(t-s.start)*1e3;return new Date(r);}}}return null;}get currentLevel(){let e=this.currentFrag;return e?e.level:-1;}get nextBufferedFrag(){let e=this.currentFrag;return e?this.followingBufferedFrag(e):null;}get forceStartLoad(){return this._forceStartLoad;}},lP=class extends rs{constructor(e,t){super("key-loader",t),this.config=void 0,this.keyIdToKeyInfo={},this.emeController=null,this.config=e;}abort(e){for(let i in this.keyIdToKeyInfo){let s=this.keyIdToKeyInfo[i].loader;if(s){var t;if(e&&e!==((t=s.context)==null?void 0:t.frag.type))return;s.abort();}}}detach(){for(let e in this.keyIdToKeyInfo){let t=this.keyIdToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyIdToKeyInfo[e];}}destroy(){this.detach();for(let e in this.keyIdToKeyInfo){let t=this.keyIdToKeyInfo[e].loader;t&&t.destroy();}this.keyIdToKeyInfo={};}createKeyLoadError(e,t=Z.KEY_LOAD_ERROR,i,s,n){return new Qs({type:Fe.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:n,error:i,networkDetails:s});}loadClear(e,t,i){if(this.emeController&&this.config.emeEnabled&&!this.emeController.getSelectedKeySystemFormats().length){if(t.length)for(let s=0,n=t.length;s<n;s++){let r=t[s];if(e.cc<=r.cc&&(!$t(e)||!$t(r)||e.sn<r.sn)||!i&&s==n-1)return this.emeController.selectKeySystemFormat(r).then(a=>{if(!this.emeController)return;r.setKeyFormat(a);let l=Td(a);if(l)return this.emeController.getKeySystemAccess([l]);});}if(this.config.requireKeySystemAccessOnStart){let s=sa(this.config);if(s.length)return this.emeController.getKeySystemAccess(s);}}return null;}load(e){return!e.decryptdata&&e.encrypted&&this.emeController&&this.config.emeEnabled?this.emeController.selectKeySystemFormat(e).then(t=>this.loadInternal(e,t)):this.loadInternal(e);}loadInternal(e,t){var i,s;t&&e.setKeyFormat(t);let n=e.decryptdata;if(!n){let c=new Error(t?`Expected frag.decryptdata to be defined after setting format ${t}`:`Missing decryption data on fragment in onKeyLoading (emeEnabled with controller: ${this.emeController&&this.config.emeEnabled})`);return Promise.reject(this.createKeyLoadError(e,Z.KEY_LOAD_ERROR,c));}let r=n.uri;if(!r)return Promise.reject(this.createKeyLoadError(e,Z.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${r}"`)));let a=Au(n),l=this.keyIdToKeyInfo[a];if((i=l)!=null&&i.decryptdata.key)return n.key=l.decryptdata.key,Promise.resolve({frag:e,keyInfo:l});if(this.emeController&&(s=l)!=null&&s.keyLoadPromise)switch(this.emeController.getKeyStatus(l.decryptdata)){case"usable":case"usable-in-future":return l.keyLoadPromise.then(c=>{let{keyInfo:u}=c;return n.key=u.decryptdata.key,{frag:e,keyInfo:u};});}switch(this.log(`${this.keyIdToKeyInfo[a]?"Rel":"L"}oading${n.keyId?" keyId: "+hi(n.keyId):""} URI: ${n.uri} from ${e.type} ${e.level}`),l=this.keyIdToKeyInfo[a]={decryptdata:n,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},n.method){case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return n.keyFormat==="identity"?this.loadKeyHTTP(l,e):this.loadKeyEME(l,e);case"AES-128":case"AES-256":case"AES-256-CTR":return this.loadKeyHTTP(l,e);default:return Promise.reject(this.createKeyLoadError(e,Z.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${n.method}"`)));}}loadKeyEME(e,t){let i={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){var s;if(!e.decryptdata.keyId&&(s=t.initSegment)!=null&&s.data){let n=k2(t.initSegment.data);if(n.length){let r=n[0];r.some(a=>a!==0)?(this.log(`Using keyId found in init segment ${hi(r)}`),zd.setKeyIdForUri(e.decryptdata.uri,r)):(r=zd.addKeyIdForUri(e.decryptdata.uri),this.log(`Generating keyId to patch media ${hi(r)}`)),e.decryptdata.keyId=r;}}return!e.decryptdata.keyId&&!$t(t)?Promise.resolve(i):(e.keyLoadPromise=this.emeController.loadKey(i).then(n=>(e.mediaKeySessionContext=n,i))).catch(n=>{throw e.keyLoadPromise=null,"data"in n&&(n.data.frag=t),n;});}return Promise.resolve(i);}loadKeyHTTP(e,t){let i=this.config,s=i.loader,n=new s(i);return t.keyLoader=e.loader=n,e.keyLoadPromise=new Promise((r,a)=>{let l={keyInfo:e,frag:t,responseType:"arraybuffer",url:e.decryptdata.uri},c=i.keyLoadPolicy.default,u={loadPolicy:c,timeout:c.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0};n.load(l,u,{onSuccess:(f,p,g,v)=>{let{frag:T,keyInfo:y}=g,A=Au(y.decryptdata);if(!T.decryptdata||y!==this.keyIdToKeyInfo[A])return a(this.createKeyLoadError(T,Z.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),v));y.decryptdata.key=T.decryptdata.key=new Uint8Array(f.data),T.keyLoader=null,y.loader=null,r({frag:T,keyInfo:y});},onError:(f,p,g,v)=>{this.resetLoader(p),a(this.createKeyLoadError(t,Z.KEY_LOAD_ERROR,new Error(`HTTP Error ${f.code} loading key ${f.text}`),g,yt({url:l.url,data:void 0},f)));},onTimeout:(f,p,g)=>{this.resetLoader(p),a(this.createKeyLoadError(t,Z.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),g));},onAbort:(f,p,g)=>{this.resetLoader(p),a(this.createKeyLoadError(t,Z.INTERNAL_ABORTED,new Error("key loading aborted"),g));}});});}resetLoader(e){let{frag:t,keyInfo:i,url:s}=e,n=i.loader;t.keyLoader===n&&(t.keyLoader=null,i.loader=null);let r=Au(i.decryptdata)||s;delete this.keyIdToKeyInfo[r],n&&n.destroy();}};function Au(e){if(e.keyFormat!==fi.FAIRPLAY){let t=e.keyId;if(t)return hi(t);}return e.uri;}function d0(e){let{type:t}=e;switch(t){case it.AUDIO_TRACK:return Me.AUDIO;case it.SUBTITLE_TRACK:return Me.SUBTITLE;default:return Me.MAIN;}}function Iu(e,t){let i=e.url;return(i===void 0||i.indexOf("data:")===0)&&(i=t.url),i;}var dP=class{constructor(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.onManifestLoaded=this.checkAutostartLoad,this.hls=e,this.registerListeners();}startLoad(e){}stopLoad(){this.destroyInternalLoaders();}registerListeners(){let{hls:e}=this;e.on(C.MANIFEST_LOADING,this.onManifestLoading,this),e.on(C.LEVEL_LOADING,this.onLevelLoading,this),e.on(C.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(C.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.on(C.LEVELS_UPDATED,this.onLevelsUpdated,this);}unregisterListeners(){let{hls:e}=this;e.off(C.MANIFEST_LOADING,this.onManifestLoading,this),e.off(C.LEVEL_LOADING,this.onLevelLoading,this),e.off(C.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(C.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.off(C.LEVELS_UPDATED,this.onLevelsUpdated,this);}createInternalLoader(e){let t=this.hls.config,i=t.pLoader,s=t.loader,n=new(i||s)(t);return this.loaders[e.type]=n,n;}getInternalLoader(e){return this.loaders[e.type];}resetInternalLoader(e){this.loaders[e]&&delete this.loaders[e];}destroyInternalLoaders(){for(let e in this.loaders){let t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e);}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders();}onManifestLoading(e,t){let{url:i}=t;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:it.MANIFEST,url:i,deliveryDirectives:null,levelOrTrack:null});}onLevelLoading(e,t){let{id:i,level:s,pathwayId:n,url:r,deliveryDirectives:a,levelInfo:l}=t;this.load({id:i,level:s,pathwayId:n,responseType:"text",type:it.LEVEL,url:r,deliveryDirectives:a,levelOrTrack:l});}onAudioTrackLoading(e,t){let{id:i,groupId:s,url:n,deliveryDirectives:r,track:a}=t;this.load({id:i,groupId:s,level:null,responseType:"text",type:it.AUDIO_TRACK,url:n,deliveryDirectives:r,levelOrTrack:a});}onSubtitleTrackLoading(e,t){let{id:i,groupId:s,url:n,deliveryDirectives:r,track:a}=t;this.load({id:i,groupId:s,level:null,responseType:"text",type:it.SUBTITLE_TRACK,url:n,deliveryDirectives:r,levelOrTrack:a});}onLevelsUpdated(e,t){let i=this.loaders[it.LEVEL];if(i){let s=i.context;s&&!t.levels.some(n=>n===s.levelOrTrack)&&(i.abort(),delete this.loaders[it.LEVEL]);}}load(e){var t;let i=this.hls.config,s=this.getInternalLoader(e);if(s){let l=this.hls.logger,c=s.context;if(c&&c.levelOrTrack===e.levelOrTrack&&(c.url===e.url||c.deliveryDirectives&&!e.deliveryDirectives)){c.url===e.url?l.log(`[playlist-loader]: ignore ${e.url} ongoing request`):l.log(`[playlist-loader]: ignore ${e.url} in favor of ${c.url}`);return;}l.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),s.abort();}let n;if(e.type===it.MANIFEST?n=i.manifestLoadPolicy.default:n=St({},i.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),s=this.createInternalLoader(e),Ie((t=e.deliveryDirectives)==null?void 0:t.part)){let l;if(e.type===it.LEVEL&&e.level!==null?l=this.hls.levels[e.level].details:e.type===it.AUDIO_TRACK&&e.id!==null?l=this.hls.audioTracks[e.id].details:e.type===it.SUBTITLE_TRACK&&e.id!==null&&(l=this.hls.subtitleTracks[e.id].details),l){let c=l.partTarget,u=l.targetduration;if(c&&u){let f=Math.max(c*3,u*.8)*1e3;n=St({},n,{maxTimeToFirstByteMs:Math.min(f,n.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(f,n.maxTimeToFirstByteMs)});}}}let r=n.errorRetry||n.timeoutRetry||{},a={loadPolicy:n,timeout:n.maxLoadTimeMs,maxRetry:r.maxNumRetry||0,retryDelay:r.retryDelayMs||0,maxRetryDelay:r.maxRetryDelayMs||0};s.load(e,a,{onSuccess:(l,c,u,f)=>{let p=this.getInternalLoader(u);this.resetInternalLoader(u.type);let g=l.data;c.parsing.start=performance.now(),na.isMediaPlaylist(g)||u.type!==it.MANIFEST?this.handleTrackOrLevelPlaylist(l,c,u,f||null,p):this.handleMasterPlaylist(l,c,u,f);},onError:(l,c,u,f)=>{this.handleNetworkError(c,u,!1,l,f);},onTimeout:(l,c,u)=>{this.handleNetworkError(c,u,!0,void 0,l);}});}checkAutostartLoad(){if(!this.hls)return;let{config:{autoStartLoad:e,startPosition:t},forceStartLoad:i}=this.hls;(e||i)&&(this.hls.logger.log(`${e?"auto":"force"} startLoad with configured startPosition ${t}`),this.hls.startLoad(t));}handleMasterPlaylist(e,t,i,s){let n=this.hls,r=e.data,a=Iu(e,i),l=na.parseMasterPlaylist(r,a);if(l.playlistParsingError){t.parsing.end=performance.now(),this.handleManifestParsingError(e,i,l.playlistParsingError,s,t);return;}let{contentSteering:c,levels:u,sessionData:f,sessionKeys:p,startTimeOffset:g,variableList:v}=l;this.variableList=v,u.forEach(I=>{let{unknownCodecs:P}=I;if(P){let{preferManagedMediaSource:k}=this.hls.config,{audioCodec:w,videoCodec:R}=I;for(let x=P.length;x--;){let D=P[x];pa(D,"audio",k)?(I.audioCodec=w=w?`${w},${D}`:D,_o.audio[w.substring(0,4)]=2,P.splice(x,1)):pa(D,"video",k)&&(I.videoCodec=R=R?`${R},${D}`:D,_o.video[R.substring(0,4)]=2,P.splice(x,1));}}});let{AUDIO:T=[],SUBTITLES:y,"CLOSED-CAPTIONS":A}=na.parseMasterPlaylistMedia(r,a,l);T.length&&!T.some(I=>!I.url)&&u[0].audioCodec&&!u[0].attrs.AUDIO&&(this.hls.logger.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),T.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new Vt({}),bitrate:0,url:""})),n.trigger(C.MANIFEST_LOADED,{levels:u,audioTracks:T,subtitles:y,captions:A,contentSteering:c,url:a,stats:t,networkDetails:s,sessionData:f,sessionKeys:p,startTimeOffset:g,variableList:v});}handleTrackOrLevelPlaylist(e,t,i,s,n){let r=this.hls,{id:a,level:l,type:c}=i,u=Iu(e,i),f=Ie(l)?l:Ie(a)?a:0,p=d0(i),g=na.parseLevelPlaylist(e.data,u,f,p,0,this.variableList);if(c===it.MANIFEST){let v={attrs:new Vt({}),bitrate:0,details:g,name:"",url:u};g.requestScheduled=t.loading.start+g_(g,0),r.trigger(C.MANIFEST_LOADED,{levels:[v],audioTracks:[],url:u,stats:t,networkDetails:s,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null});}t.parsing.end=performance.now(),i.levelDetails=g,this.handlePlaylistLoaded(g,e,t,i,s,n);}handleManifestParsingError(e,t,i,s,n){this.hls.trigger(C.ERROR,{type:Fe.NETWORK_ERROR,details:Z.MANIFEST_PARSING_ERROR,fatal:t.type===it.MANIFEST,url:e.url,err:i,error:i,reason:i.message,response:e,context:t,networkDetails:s,stats:n});}handleNetworkError(e,t,i=!1,s,n){let r=`A network ${i?"timeout":"error"+(s?" (status "+s.code+")":"")} occurred while loading ${e.type}`;e.type===it.LEVEL?r+=`: ${e.level} id: ${e.id}`:(e.type===it.AUDIO_TRACK||e.type===it.SUBTITLE_TRACK)&&(r+=` id: ${e.id} group-id: "${e.groupId}"`);let a=new Error(r);this.hls.logger.warn(`[playlist-loader]: ${r}`);let l=Z.UNKNOWN,c=!1,u=this.getInternalLoader(e);switch(e.type){case it.MANIFEST:l=i?Z.MANIFEST_LOAD_TIMEOUT:Z.MANIFEST_LOAD_ERROR,c=!0;break;case it.LEVEL:l=i?Z.LEVEL_LOAD_TIMEOUT:Z.LEVEL_LOAD_ERROR,c=!1;break;case it.AUDIO_TRACK:l=i?Z.AUDIO_TRACK_LOAD_TIMEOUT:Z.AUDIO_TRACK_LOAD_ERROR,c=!1;break;case it.SUBTITLE_TRACK:l=i?Z.SUBTITLE_TRACK_LOAD_TIMEOUT:Z.SUBTITLE_LOAD_ERROR,c=!1;break;}u&&this.resetInternalLoader(e.type);let f={type:Fe.NETWORK_ERROR,details:l,fatal:c,url:e.url,loader:u,context:e,error:a,networkDetails:t,stats:n};s&&(f.response=yt({url:t?.url||e.url,data:void 0},s)),this.hls.trigger(C.ERROR,f);}handlePlaylistLoaded(e,t,i,s,n,r){let a=this.hls,{type:l,level:c,levelOrTrack:u,id:f,groupId:p,deliveryDirectives:g}=s,v=Iu(t,s),T=d0(s),y=typeof s.level=="number"&&T===Me.MAIN?c:void 0,A=e.playlistParsingError;if(A){if(this.hls.logger.warn(`${A} ${e.url}`),!a.config.ignorePlaylistParsingErrors){a.trigger(C.ERROR,{type:Fe.NETWORK_ERROR,details:Z.LEVEL_PARSING_ERROR,fatal:!1,url:v,error:A,reason:A.message,response:t,context:s,level:y,parent:T,networkDetails:n,stats:i});return;}e.playlistParsingError=null;}if(!e.fragments.length){let I=e.playlistParsingError=new Error("No Segments found in Playlist");a.trigger(C.ERROR,{type:Fe.NETWORK_ERROR,details:Z.LEVEL_EMPTY_ERROR,fatal:!1,url:v,error:I,reason:I.message,response:t,context:s,level:y,parent:T,networkDetails:n,stats:i});return;}switch(e.live&&r&&(r.getCacheAge&&(e.ageHeader=r.getCacheAge()||0),(!r.getCacheAge||isNaN(e.ageHeader))&&(e.ageHeader=0)),l){case it.MANIFEST:case it.LEVEL:if(y){if(!u)y=0;else if(u!==a.levels[y]){let I=a.levels.indexOf(u);I>-1&&(y=I);}}a.trigger(C.LEVEL_LOADED,{details:e,levelInfo:u||a.levels[0],level:y||0,id:f||0,stats:i,networkDetails:n,deliveryDirectives:g,withoutMultiVariant:l===it.MANIFEST});break;case it.AUDIO_TRACK:a.trigger(C.AUDIO_TRACK_LOADED,{details:e,track:u,id:f||0,groupId:p||"",stats:i,networkDetails:n,deliveryDirectives:g});break;case it.SUBTITLE_TRACK:a.trigger(C.SUBTITLE_TRACK_LOADED,{details:e,track:u,id:f||0,groupId:p||"",stats:i,networkDetails:n,deliveryDirectives:g});break;}}},Ot=(()=>{let e=class co{static get version(){return va;}static isMSESupported(){return gb();}static isSupported(){return nP();}static getMediaSource(){return Un();}static get Events(){return C;}static get MetadataSchema(){return Wi;}static get ErrorTypes(){return Fe;}static get ErrorDetails(){return Z;}static get DefaultConfig(){return co.defaultConfig?co.defaultConfig:Wk;}static set DefaultConfig(i){co.defaultConfig=i;}constructor(i={}){this.config=void 0,this.userConfig=void 0,this.logger=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this._emitter=new ef(),this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioStreamController=void 0,this.subtititleStreamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.interstitialsController=void 0,this.gapController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this._url=null,this._sessionId=void 0,this.triggeringException=void 0,this.started=!1;let s=this.logger=g2(i.debug||!1,"Hls instance",i.assetPlayerId),n=this.config=Kk(co.DefaultConfig,i,s);this.userConfig=i,n.progressive&&Yk(n,s);let{abrController:r,bufferController:a,capLevelController:l,errorController:c,fpsController:u}=n,f=new c(this),p=this.abrController=new r(this),g=new uw(this),v=n.interstitialsController,T=v?this.interstitialsController=new v(this,co):null,y=this.bufferController=new a(this,g),A=this.capLevelController=new l(this),I=new u(this),P=new dP(this),k=n.contentSteeringController,w=k?new k(this):null,R=this.levelController=new sP(this,w),x=new tP(this),D=new lP(this.config,this.logger),O=this.streamController=new aP(this,g,D),V=this.gapController=new Zk(this,g);A.setStreamController(O),I.setStreamController(O);let $=[P,R,O];T&&$.splice(1,0,T),w&&$.splice(1,0,w),this.networkControllers=$;let N=[p,y,V,A,I,x,g];this.audioTrackController=this.createController(n.audioTrackController,$);let F=n.audioStreamController;F&&$.push(this.audioStreamController=new F(this,g,D)),this.subtitleTrackController=this.createController(n.subtitleTrackController,$);let K=n.subtitleStreamController;K&&$.push(this.subtititleStreamController=new K(this,g,D)),this.createController(n.timelineController,N),D.emeController=this.emeController=this.createController(n.emeController,N),this.cmcdController=this.createController(n.cmcdController,N),this.latencyController=this.createController(iP,N),this.coreComponents=N,$.push(f);let re=f.onErrorOut;typeof re=="function"&&this.on(C.ERROR,re,f),this.on(C.MANIFEST_LOADED,P.onManifestLoaded,P);}createController(i,s){if(i){let n=new i(this);return s&&s.push(n),n;}return null;}on(i,s,n=this){this._emitter.on(i,s,n);}once(i,s,n=this){this._emitter.once(i,s,n);}removeAllListeners(i){this._emitter.removeAllListeners(i);}off(i,s,n=this,r){this._emitter.off(i,s,n,r);}listeners(i){return this._emitter.listeners(i);}emit(i,s,n){return this._emitter.emit(i,s,n);}trigger(i,s){if(this.config.debug)return this.emit(i,i,s);try{return this.emit(i,i,s);}catch(n){if(this.logger.error("An internal error happened while handling event "+i+'. Error message: "'+n.message+'". Here is a stacktrace:',n),!this.triggeringException){this.triggeringException=!0;let r=i===C.ERROR;this.trigger(C.ERROR,{type:Fe.OTHER_ERROR,details:Z.INTERNAL_EXCEPTION,fatal:r,event:i,error:n}),this.triggeringException=!1;}}return!1;}listenerCount(i){return this._emitter.listenerCount(i);}destroy(){this.logger.log("destroy"),this.trigger(C.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this._url=null,this.networkControllers.forEach(s=>s.destroy()),this.networkControllers.length=0,this.coreComponents.forEach(s=>s.destroy()),this.coreComponents.length=0;let i=this.config;i.xhrSetup=i.fetchSetup=void 0,this.userConfig=null;}attachMedia(i){if(!i||"media"in i&&!i.media){let a=new Error(`attachMedia failed: invalid argument (${i})`);this.trigger(C.ERROR,{type:Fe.OTHER_ERROR,details:Z.ATTACH_MEDIA_ERROR,fatal:!0,error:a});return;}this.logger.log("attachMedia"),this._media&&(this.logger.warn("media must be detached before attaching"),this.detachMedia());let s="media"in i,n=s?i.media:i,r=s?i:{media:n};this._media=n,this.trigger(C.MEDIA_ATTACHING,r);}detachMedia(){this.logger.log("detachMedia"),this.trigger(C.MEDIA_DETACHING,{}),this._media=null;}transferMedia(){this._media=null;let i=this.bufferController.transferMedia();return this.trigger(C.MEDIA_DETACHING,{transferMedia:i}),i;}loadSource(i){this.stopLoad();let s=this.media,n=this._url,r=this._url=Hh.buildAbsoluteURL(self.location.href,i,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.logger.log(`loadSource:${r}`),s&&n&&(n!==r||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(s)),this.trigger(C.MANIFEST_LOADING,{url:i});}get url(){return this._url;}get hasEnoughToStart(){return this.streamController.hasEnoughToStart;}get startPosition(){return this.streamController.startPositionValue;}startLoad(i=-1,s){this.logger.log(`startLoad(${i+(s?", <skip seek to start>":"")})`),this.started=!0,this.resumeBuffering();for(let n=0;n<this.networkControllers.length&&(this.networkControllers[n].startLoad(i,s),!(!this.started||!this.networkControllers));n++);}stopLoad(){this.logger.log("stopLoad"),this.started=!1;for(let i=0;i<this.networkControllers.length&&(this.networkControllers[i].stopLoad(),!(this.started||!this.networkControllers));i++);}get loadingEnabled(){return this.started;}get bufferingEnabled(){return this.streamController.bufferingEnabled;}resumeBuffering(){this.bufferingEnabled||(this.logger.log("resume buffering"),this.networkControllers.forEach(i=>{i.resumeBuffering&&i.resumeBuffering();}));}pauseBuffering(){this.bufferingEnabled&&(this.logger.log("pause buffering"),this.networkControllers.forEach(i=>{i.pauseBuffering&&i.pauseBuffering();}));}get inFlightFragments(){let i={[Me.MAIN]:this.streamController.inFlightFrag};return this.audioStreamController&&(i[Me.AUDIO]=this.audioStreamController.inFlightFrag),this.subtititleStreamController&&(i[Me.SUBTITLE]=this.subtititleStreamController.inFlightFrag),i;}swapAudioCodec(){this.logger.log("swapAudioCodec"),this.streamController.swapAudioCodec();}recoverMediaError(){this.logger.log("recoverMediaError");let i=this._media,s=i?.currentTime;this.detachMedia(),i&&(this.attachMedia(i),s&&this.startLoad(s));}removeLevel(i){this.levelController.removeLevel(i);}get sessionId(){let i=this._sessionId;return i||(i=this._sessionId=ek()),i;}get levels(){let i=this.levelController.levels;return i||[];}get latestLevelDetails(){return this.streamController.getLevelDetails()||null;}get loadLevelObj(){return this.levelController.loadLevelObj;}get currentLevel(){return this.streamController.currentLevel;}set currentLevel(i){this.logger.log(`set currentLevel:${i}`),this.levelController.manualLevel=i,this.streamController.immediateLevelSwitch();}get nextLevel(){return this.streamController.nextLevel;}set nextLevel(i){this.logger.log(`set nextLevel:${i}`),this.levelController.manualLevel=i,this.streamController.nextLevelSwitch();}get loadLevel(){return this.levelController.level;}set loadLevel(i){this.logger.log(`set loadLevel:${i}`),this.levelController.manualLevel=i;}get nextLoadLevel(){return this.levelController.nextLoadLevel;}set nextLoadLevel(i){this.levelController.nextLoadLevel=i;}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel);}set firstLevel(i){this.logger.log(`set firstLevel:${i}`),this.levelController.firstLevel=i;}get startLevel(){let i=this.levelController.startLevel;return i===-1&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:i;}set startLevel(i){this.logger.log(`set startLevel:${i}`),i!==-1&&(i=Math.max(i,this.minAutoLevel)),this.levelController.startLevel=i;}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize;}set capLevelToPlayerSize(i){let s=!!i;s!==this.config.capLevelToPlayerSize&&(s?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=s);}get autoLevelCapping(){return this._autoLevelCapping;}get bandwidthEstimate(){let{bwEstimator:i}=this.abrController;return i?i.getEstimate():NaN;}set bandwidthEstimate(i){this.abrController.resetEstimator(i);}get abrEwmaDefaultEstimate(){let{bwEstimator:i}=this.abrController;return i?i.defaultEstimate:NaN;}get ttfbEstimate(){let{bwEstimator:i}=this.abrController;return i?i.getEstimateTTFB():NaN;}set autoLevelCapping(i){this._autoLevelCapping!==i&&(this.logger.log(`set autoLevelCapping:${i}`),this._autoLevelCapping=i,this.levelController.checkMaxAutoUpdated());}get maxHdcpLevel(){return this._maxHdcpLevel;}set maxHdcpLevel(i){Y2(i)&&this._maxHdcpLevel!==i&&(this._maxHdcpLevel=i,this.levelController.checkMaxAutoUpdated());}get autoLevelEnabled(){return this.levelController.manualLevel===-1;}get manualLevel(){return this.levelController.manualLevel;}get minAutoLevel(){let{levels:i,config:{minAutoBitrate:s}}=this;if(!i)return 0;let n=i.length;for(let r=0;r<n;r++)if(i[r].maxBitrate>=s)return r;return 0;}get maxAutoLevel(){let{levels:i,autoLevelCapping:s,maxHdcpLevel:n}=this,r;if(s===-1&&i!=null&&i.length?r=i.length-1:r=s,n)for(let a=r;a--;){let l=i[a].attrs["HDCP-LEVEL"];if(l&&l<=n)return a;}return r;}get firstAutoLevel(){return this.abrController.firstAutoLevel;}get nextAutoLevel(){return this.abrController.nextAutoLevel;}set nextAutoLevel(i){this.abrController.nextAutoLevel=i;}get playingDate(){return this.streamController.currentProgramDateTime;}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo();}get maxBufferLength(){return this.streamController.maxBufferLength;}setAudioOption(i){var s;return((s=this.audioTrackController)==null?void 0:s.setAudioOption(i))||null;}
252setSubtitleOption(i){var s;return((s=this.subtitleTrackController)==null?void 0:s.setSubtitleOption(i))||null;}get allAudioTracks(){let i=this.audioTrackController;return i?i.allAudioTracks:[];}get audioTracks(){let i=this.audioTrackController;return i?i.audioTracks:[];}get audioTrack(){let i=this.audioTrackController;return i?i.audioTrack:-1;}set audioTrack(i){let s=this.audioTrackController;s&&(s.audioTrack=i);}get allSubtitleTracks(){let i=this.subtitleTrackController;return i?i.allSubtitleTracks:[];}get subtitleTracks(){let i=this.subtitleTrackController;return i?i.subtitleTracks:[];}get subtitleTrack(){let i=this.subtitleTrackController;return i?i.subtitleTrack:-1;}get media(){return this._media;}set subtitleTrack(i){let s=this.subtitleTrackController;s&&(s.subtitleTrack=i);}get subtitleDisplay(){let i=this.subtitleTrackController;return i?i.subtitleDisplay:!1;}set subtitleDisplay(i){let s=this.subtitleTrackController;s&&(s.subtitleDisplay=i);}get lowLatencyMode(){return this.config.lowLatencyMode;}set lowLatencyMode(i){this.config.lowLatencyMode=i;}get liveSyncPosition(){return this.latencyController.liveSyncPosition;}get latency(){return this.latencyController.latency;}get maxLatency(){return this.latencyController.maxLatency;}get targetLatency(){return this.latencyController.targetLatency;}set targetLatency(i){this.latencyController.targetLatency=i;}get drift(){return this.latencyController.drift;}get forceStartLoad(){return this.streamController.forceStartLoad;}get pathways(){return this.levelController.pathways;}get pathwayPriority(){return this.levelController.pathwayPriority;}set pathwayPriority(i){this.levelController.pathwayPriority=i;}get bufferedToEnd(){var i;return!!((i=this.bufferController)!=null&&i.bufferedToEnd);}get interstitialsManager(){var i;return((i=this.interstitialsController)==null?void 0:i.interstitialsManager)||null;}getMediaDecodingInfo(i,s=this.allAudioTracks){return Jy(i,e_(s),navigator.mediaCapabilities);}};return e.defaultConfig=void 0,e;})();function vb(e,t){return t?`${e}|${t.start}-${t.end}`:e;}function yb(e,t){if(e!==void 0&&t!==void 0&&e<=t)return{start:e,end:t};}Fl();var is=class extends Error{constructor(e,t){super(t),this.type=e,this.timestamp=performance.now();}timestamp;},Kd=class extends Error{constructor(e){super(),this.type=e;}},cP=class{constructor(e,t,i){this.request=e,this.httpConfig=t,this.onChunkDownloaded=i.getEventDispatcher("onChunkDownloaded");let{byteRange:s}=this.request.segment;s&&(this.requestByteRange=ze({},s)),e.loadedBytes!==0&&(this.requestByteRange=this.requestByteRange??{start:0},this.requestByteRange.start=this.requestByteRange.start+e.loadedBytes),this.request.totalBytes&&(this.expectedBytesLength=this.request.totalBytes-this.request.loadedBytes),this.requestControls=this.request.start({downloadSource:"http"},{abort:()=>this.abortController.abort("abort"),notReceivingBytesTimeoutMs:this.httpConfig.httpNotReceivingBytesTimeoutMs}),this.fetch();}requestControls;abortController=new AbortController();expectedBytesLength;requestByteRange;onChunkDownloaded;fetch(){return Qe(this,null,function*(){let{segment:e}=this.request;try{let r=yield this.httpConfig.httpRequestSetup?.(e.url,e.byteRange,this.abortController.signal,this.requestByteRange);if(!r){let u=new Headers(this.requestByteRange?{Range:`bytes=${this.requestByteRange.start}-${this.requestByteRange.end??""}`}:void 0);r=new Request(e.url,{headers:u,signal:this.abortController.signal});}if(this.abortController.signal.aborted)throw new DOMException("Request aborted before request fetch","AbortError");let a=yield window.fetch(r);if(this.handleResponseHeaders(a),!a.body)return;let{requestControls:l}=this;l.firstBytesReceived();let c=a.body.getReader();try{for(var t=jp(uP(c)),i,s,n;i=!(s=yield t.next()).done;i=!1){let u=s.value;this.requestControls.addLoadedChunk(u),this.onChunkDownloaded(u.byteLength,"http");}}catch(s){n=[s];}finally{try{i&&(s=t.return)&&(yield s.call(t));}finally{if(n)throw n[0];}}if(!((yield this.httpConfig.validateHTTPSegment?.(e.url,e.byteRange,this.request.data))??!0))throw this.request.clearLoadedBytes(),new is("http-segment-validation-failed");l.completeOnSuccess();}catch(r){this.handleError(r);}});}handleResponseHeaders(e){if(!e.ok)throw e.status===406?(this.request.clearLoadedBytes(),new is("http-bytes-mismatch",e.statusText)):new is("http-error",e.statusText);let{requestByteRange:t}=this;if(t)if(e.status===200){if(this.request.segment.byteRange)throw new is("http-unexpected-status-code");this.request.clearLoadedBytes();}else{if(e.status!==206)throw new is("http-unexpected-status-code",e.statusText);let i=e.headers.get("Content-Length");if(i&&this.expectedBytesLength!==void 0&&this.expectedBytesLength!==+i)throw this.request.clearLoadedBytes(),new is("http-bytes-mismatch",e.statusText);let s=e.headers.get("Content-Range"),n=s?fP(s):void 0;if(n){let{from:r,to:a}=n,l=a!==void 0&&r!==void 0?a-r+1:void 0;if(l!==void 0&&this.expectedBytesLength!==l||r!==void 0&&t.start!==r||a!==void 0&&t.end!==void 0&&t.end!==a)throw this.request.clearLoadedBytes(),new is("http-bytes-mismatch",e.statusText);}}if(e.status===200&&this.request.totalBytes===void 0){let i=e.headers.get("Content-Length");i&&this.request.setTotalBytes(+i);}}handleError(e){if(e instanceof Error){if(e.name!=="abort")return;
252let t=e instanceof is?e:new is("http-error",e.message);this.requestControls.abortOnError(t);}}};function uP(e){return Dp(this,null,function*(){for(;;){let{done:t,value:i}=yield new Op(e.read());if(t)break;yield i;}});}var hP=/^bytes (?:(?:(\d+)|)-(?:(\d+)|)|\*)\/(?:(\d+)|\*)$/;function fP(e){let t=hP.exec(e.trim());if(!t)return;let[,i,s,n]=t;return{from:i?parseInt(i):void 0,to:s?parseInt(s):void 0,total:n?parseInt(n):void 0};}function pP(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e;}var _b={exports:{}},zt=_b.exports={},xs,Ls;function Ih(){throw new Error("setTimeout has not been defined");}function kh(){throw new Error("clearTimeout has not been defined");}(function(){try{typeof setTimeout=="function"?xs=setTimeout:xs=Ih;}catch(e){xs=Ih;}try{typeof clearTimeout=="function"?Ls=clearTimeout:Ls=kh;}catch(e){Ls=kh;}})();function bb(e){if(xs===setTimeout)return setTimeout(e,0);if((xs===Ih||!xs)&&setTimeout)return xs=setTimeout,setTimeout(e,0);try{return xs(e,0);}catch(t){try{return xs.call(null,e,0);}catch(i){return xs.call(this,e,0);}}}function mP(e){if(Ls===clearTimeout)return clearTimeout(e);if((Ls===kh||!Ls)&&clearTimeout)return Ls=clearTimeout,clearTimeout(e);try{return Ls(e);}catch(t){try{return Ls.call(null,e);}catch(i){return Ls.call(this,e);}}}var Zs=[],vo=!1,mr,Pd=-1;function gP(){!vo||!mr||(vo=!1,mr.length?Zs=mr.concat(Zs):Pd=-1,Zs.length&&Tb());}function Tb(){if(!vo){var e=bb(gP);vo=!0;for(var t=Zs.length;t;){for(mr=Zs,Zs=[];++Pd<t;)mr&&mr[Pd].run();Pd=-1,t=Zs.length;}mr=null,vo=!1,mP(e);}}zt.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var i=1;i<arguments.length;i++)t[i-1]=arguments[i];Zs.push(new Eb(e,t)),Zs.length===1&&!vo&&bb(Tb);};function Eb(e,t){this.fun=e,this.array=t;}Eb.prototype.run=function(){this.fun.apply(null,this.array);};zt.title="browser";zt.browser=!0;zt.env={};zt.argv=[];zt.version="";zt.versions={};function ln(){}zt.on=ln;zt.addListener=ln;zt.once=ln;zt.off=ln;zt.removeListener=ln;zt.removeAllListeners=ln;zt.emit=ln;zt.prependListener=ln;zt.prependOnceListener=ln;zt.listeners=function(e){return[];};zt.binding=function(e){throw new Error("process.binding is not supported");};zt.cwd=function(){return"/";};zt.chdir=function(e){throw new Error("process.chdir is not supported");};zt.umask=function(){return 0;};var vP=_b.exports,Rd=pP(vP),Cb=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof sr<"u"?sr:typeof self<"u"?self:{};function br(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e;}var nd={exports:{}},ku,c0;function yP(){if(c0)return ku;c0=1;var e=1e3,t=e*60,i=t*60,s=i*24,n=s*7,r=s*365.25;ku=function(f,p){p=p||{};var g=typeof f;if(g==="string"&&f.length>0)return a(f);if(g==="number"&&isFinite(f))return p.long?c(f):l(f);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(f));};function a(f){if(f=String(f),!(f.length>100)){var p=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(f);if(p){var g=parseFloat(p[1]);switch((p[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return g*r;case"weeks":case"week":case"w":return g*n;case"days":case"day":case"d":return g*s;case"hours":case"hour":case"hrs":case"hr":case"h":return g*i;case"minutes":case"minute":case"mins":case"min":case"m":return g*t;case"seconds":case"second":case"secs":case"sec":case"s":return g*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return g;default:return;}}}}function l(f){var p=Math.abs(f);return p>=s?Math.round(f/s)+"d":p>=i?Math.round(f/i)+"h":p>=t?Math.round(f/t)+"m":p>=e?Math.round(f/e)+"s":f+"ms";}function c(f){var p=Math.abs(f);return p>=s?u(f,p,s,"day"):p>=i?u(f,p,i,"hour"):p>=t?u(f,p,t,"minute"):p>=e?u(f,p,e,"second"):f+" ms";}function u(f,p,g,v){var T=p>=g*1.5;return Math.round(f/g)+" "+v+(T?"s":"");}return ku;}var Pu,u0;
252function _P(){if(u0)return Pu;u0=1;function e(t){s.debug=s,s.default=s,s.coerce=u,s.disable=l,s.enable=r,s.enabled=c,s.humanize=yP(),s.destroy=f,Object.keys(t).forEach(p=>{s[p]=t[p];}),s.names=[],s.skips=[],s.formatters={};function i(p){let g=0;for(let v=0;v<p.length;v++)g=(g<<5)-g+p.charCodeAt(v),g|=0;return s.colors[Math.abs(g)%s.colors.length];}s.selectColor=i;function s(p){let g,v=null,T,y;function A(...I){if(!A.enabled)return;let P=A,k=Number(new Date());P.diff=k-(g||k),P.prev=g,P.curr=k,g=k,I[0]=s.coerce(I[0]),typeof I[0]!="string"&&I.unshift("%O");let w=0;I[0]=I[0].replace(/%([a-zA-Z%])/g,(R,x)=>{if(R==="%%")return"%";w++;let D=s.formatters[x];if(typeof D=="function"){let O=I[w];R=D.call(P,O),I.splice(w,1),w--;}return R;}),s.formatArgs.call(P,I),(P.log||s.log).apply(P,I);}return A.namespace=p,A.useColors=s.useColors(),A.color=s.selectColor(p),A.extend=n,A.destroy=s.destroy,Object.defineProperty(A,"enabled",{enumerable:!0,configurable:!1,get:()=>v!==null?v:(T!==s.namespaces&&(T=s.namespaces,y=s.enabled(p)),y),set:I=>{v=I;}}),typeof s.init=="function"&&s.init(A),A;}function n(p,g){let v=s(this.namespace+(typeof g>"u"?":":g)+p);return v.log=this.log,v;}function r(p){s.save(p),s.namespaces=p,s.names=[],s.skips=[];let g=(typeof p=="string"?p:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let v of g)v[0]==="-"?s.skips.push(v.slice(1)):s.names.push(v);}function a(p,g){let v=0,T=0,y=-1,A=0;for(;v<p.length;)if(T<g.length&&(g[T]===p[v]||g[T]==="*"))g[T]==="*"?(y=T,A=v,T++):(v++,T++);else if(y!==-1)T=y+1,A++,v=A;else return!1;for(;T<g.length&&g[T]==="*";)T++;return T===g.length;}function l(){let p=[...s.names,...s.skips.map(g=>"-"+g)].join(",");return s.enable(""),p;}function c(p){for(let g of s.skips)if(a(p,g))return!1;for(let g of s.names)if(a(p,g))return!0;return!1;}function u(p){return p instanceof Error?p.stack||p.message:p;}function f(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");}return s.enable(s.load()),s;}return Pu=e,Pu;}var h0;function bP(){return h0||(h0=1,function(e,t){t.formatArgs=s,t.save=n,t.load=r,t.useColors=i,t.storage=a(),t.destroy=(()=>{let c=!1;return()=>{c||(c=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."));};})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function i(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let c;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(c=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(c[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);}function s(c){if(c[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+c[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;let u="color: "+this.color;c.splice(1,0,u,"color: inherit");let f=0,p=0;c[0].replace(/%[a-zA-Z%]/g,g=>{g!=="%%"&&(f++,g==="%c"&&(p=f));}),c.splice(p,0,u);}t.log=console.debug||console.log||(()=>{});function n(c){try{c?t.storage.setItem("debug",c):t.storage.removeItem("debug");}catch(u){}}function r(){let c;try{c=t.storage.getItem("debug")||t.storage.getItem("DEBUG");}catch(u){}return!c&&typeof Rd<"u"&&"env"in Rd&&(c=Rd.env.DEBUG),c;}function a(){try{return localStorage;}catch(c){}}e.exports=_P()(t);let{formatters:l}=e.exports;l.j=function(c){try{return JSON.stringify(c);}catch(u){return"[UnexpectedJSONParseError]: "+u.message;}};}
vendor: 6,250 bytes, line 252
252(nd,nd.exports)),nd.exports;}var Sb=bP(),Vs=br(Sb),rd={exports:{}},f0;function wb(){if(f0)return rd.exports;f0=1;var e=typeof Reflect=="object"?Reflect:null,t=e&&typeof e.apply=="function"?e.apply:function(R,x,D){return Function.prototype.apply.call(R,x,D);},i;e&&typeof e.ownKeys=="function"?i=e.ownKeys:Object.getOwnPropertySymbols?i=function(R){return Object.getOwnPropertyNames(R).concat(Object.getOwnPropertySymbols(R));}:i=function(R){return Object.getOwnPropertyNames(R);};function s(w){console&&console.warn&&console.warn(w);}var n=Number.isNaN||function(R){return R!==R;};function r(){r.init.call(this);}rd.exports=r,rd.exports.once=I,r.EventEmitter=r,r.prototype._events=void 0,r.prototype._eventsCount=0,r.prototype._maxListeners=void 0;var a=10;function l(w){if(typeof w!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof w);}Object.defineProperty(r,"defaultMaxListeners",{enumerable:!0,get:function(){return a;},set:function(w){if(typeof w!="number"||w<0||n(w))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+w+".");a=w;}}),r.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0;},r.prototype.setMaxListeners=function(R){if(typeof R!="number"||R<0||n(R))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+R+".");return this._maxListeners=R,this;};function c(w){return w._maxListeners===void 0?r.defaultMaxListeners:w._maxListeners;}r.prototype.getMaxListeners=function(){return c(this);},r.prototype.emit=function(R){for(var x=[],D=1;D<arguments.length;D++)x.push(arguments[D]);var O=R==="error",V=this._events;if(V!==void 0)O=O&&V.error===void 0;else if(!O)return!1;if(O){var $;if(x.length>0&&($=x[0]),$ instanceof Error)throw $;var N=new Error("Unhandled error."+($?" ("+$.message+")":""));throw N.context=$,N;}var F=V[R];if(F===void 0)return!1;if(typeof F=="function")t(F,this,x);else for(var K=F.length,re=T(F,K),D=0;D<K;++D)t(re[D],this,x);return!0;};function u(w,R,x,D){var O,V,$;if(l(x),V=w._events,V===void 0?(V=w._events=Object.create(null),w._eventsCount=0):(V.newListener!==void 0&&(w.emit("newListener",R,x.listener?x.listener:x),V=w._events),$=V[R]),$===void 0)$=V[R]=x,++w._eventsCount;else if(typeof $=="function"?$=V[R]=D?[x,$]:[$,x]:D?$.unshift(x):$.push(x),O=c(w),O>0&&$.length>O&&!$.warned){$.warned=!0;var N=new Error("Possible EventEmitter memory leak detected. "+$.length+" "+String(R)+" listeners added. Use emitter.setMaxListeners() to increase limit");N.name="MaxListenersExceededWarning",N.emitter=w,N.type=R,N.count=$.length,s(N);}return w;}r.prototype.addListener=function(R,x){return u(this,R,x,!1);},r.prototype.on=r.prototype.addListener,r.prototype.prependListener=function(R,x){return u(this,R,x,!0);};function f(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments);}function p(w,R,x){var D={fired:!1,wrapFn:void 0,target:w,type:R,listener:x},O=f.bind(D);return O.listener=x,D.wrapFn=O,O;}r.prototype.once=function(R,x){return l(x),this.on(R,p(this,R,x)),this;},r.prototype.prependOnceListener=function(R,x){return l(x),this.prependListener(R,p(this,R,x)),this;},r.prototype.removeListener=function(R,x){var D,O,V,$,N;if(l(x),O=this._events,O===void 0)return this;if(D=O[R],D===void 0)return this;if(D===x||D.listener===x)--this._eventsCount===0?this._events=Object.create(null):(delete O[R],O.removeListener&&this.emit("removeListener",R,D.listener||x));else if(typeof D!="function"){for(V=-1,$=D.length-1;$>=0;$--)if(D[$]===x||D[$].listener===x){N=D[$].listener,V=$;break;}if(V<0)return this;V===0?D.shift():y(D,V),D.length===1&&(O[R]=D[0]),O.removeListener!==void 0&&this.emit("removeListener",R,N||x);}return this;},r.prototype.off=r.prototype.removeListener,r.prototype.removeAllListeners=function(R){var x,D=this._events,O;if(D===void 0)return this;if(D.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):D[R]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete D[R]),this;if(arguments.length===0){var V=Object.keys(D),$;for(O=0;O<V.length;++O)$=V[O],$!=="removeListener"&&this.removeAllListeners($);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this;}if(x=D[R],typeof x=="function")this.removeListener(R,x);else if(x!==void 0)for(O=x.length-1;O>=0;O--)this.removeListener(R,x[O]);return this;};function g(w,R,x){var D=w._events;if(D===void 0)return[];var O=D[R];return O===void 0?[]:typeof O=="function"?x?[O.listener||O]:[O]:x?A(O):T(O,O.length);}r.prototype.listeners=function(R){return g(this,R,!0);},r.prototype.rawListeners=function(R){return g(this,R,!1);},r.listenerCount=function(w,R){return typeof w.listenerCount=="function"?w.listenerCount(R):v.call(w,R);},r.prototype.listenerCount=v;function v(w){var R=this._events;if(R!==void 0){var x=R[w];if(typeof x=="function")return 1;if(x!==void 0)return x.length;}return 0;}r.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[];};function T(w,R){for(var x=new Array(R),D=0;D<R;++D)x[D]=w[D];return x;}function y(w,R){for(;R+1<w.length;R++)w[R]=w[R+1];w.pop();}function A(w){for(var R=new Array(w.length),x=0;x<R.length;++x)R[x]=w[x].listener||w[x];return R;}function I(w,R){return new Promise(function(x,D){function O($){w.removeListener(R,V),D($);}function V(){typeof w.removeListener=="function"&&w.removeListener("error",O),x([].slice.call(arguments));}k(w,R,V,{once:!0}),R!=="error"&&P(w,O,{once:!0});});}function P(w,R,x){typeof w.on=="function"&&k(w,"error",R,x);}function k(w,R,x,D){if(typeof w.on=="function")D.once?w.once(R,x):w.on(R,x);else if(typeof w.addEventListener=="function")w.addEventListener(R,function O(V){D.once&&w.removeEventListener(R,O),x(V);});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof w);}return rd.exports;}var Ab=br(wb()),od={exports:{}},Ru,p0;
252function TP(){if(p0)return Ru;p0=1,Ru=e;function e(t,i){if(t&&i)return e(t)(i);if(typeof t!="function")throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(n){s[n]=t[n];}),s;function s(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];var a=t.apply(this,n),l=n[n.length-1];return typeof a=="function"&&a!==l&&Object.keys(l).forEach(function(c){a[c]=l[c];}),a;}}return Ru;}var m0;function EP(){if(m0)return od.exports;m0=1;var e=TP();od.exports=e(t),od.exports.strict=e(i),t.proto=t(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return t(this);},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return i(this);},configurable:!0});});function t(s){var n=function(){return n.called?n.value:(n.called=!0,n.value=s.apply(this,arguments));};return n.called=!1,n;}function i(s){var n=function(){if(n.called)throw new Error(n.onceError);return n.called=!0,n.value=s.apply(this,arguments);};return n.onceError=(s.name||"Function wrapped with `once`")+" shouldn't be called more than once",n.called=!1,n;}return od.exports;}var CP=br(EP()),xu,g0;function Ib(){if(g0)return xu;g0=1;let e;return xu=typeof queueMicrotask=="function"?queueMicrotask.bind(typeof window<"u"?window:Cb):t=>(e||(e=Promise.resolve())).then(t).catch(i=>setTimeout(()=>{throw i;},0)),xu;}var Lu,v0;function SP(){if(v0)return Lu;v0=1,Lu=t;let e=Ib();function t(i,s){let n,r,a,l=!0;Array.isArray(i)?(n=[],r=i.length):(a=Object.keys(i),n={},r=a.length);function c(f){function p(){s&&s(f,n),s=null;}l?e(p):p();}function u(f,p,g){n[f]=g,(--r===0||p)&&c(p);}r?a?a.forEach(function(f){i[f](function(p,g){u(f,p,g);});}):i.forEach(function(f,p){f(function(g,v){u(p,g,v);});}):c(null),l=!1;}return Lu;}var wP=br(SP()),sn=typeof window<"u"?window:self,Mu=sn.RTCPeerConnection||sn.mozRTCPeerConnection||sn.webkitRTCPeerConnection,AP=sn.RTCSessionDescription||sn.mozRTCSessionDescription||sn.webkitRTCSessionDescription,IP=sn.RTCIceCandidate||sn.mozRTCIceCandidate||sn.webkitRTCIceCandidate,Ou,y0;function kP(){return y0||(y0=1,Ou=wb()),Ou;}var Du,_0;function PP(){return _0||(_0=1,Du=class{constructor(t){if(!(t>0)||(t-1&t)!==0)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null;}clear(){this.top=this.btm=0,this.next=null,this.buffer.fill(void 0);}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0);}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t;}peek(){return this.buffer[this.btm];}isEmpty(){return this.buffer[this.btm]===void 0;}}),Du;}var ju,b0;function RP(){if(b0)return ju;b0=1;let e=PP();return ju=class{constructor(i){this.hwm=i||16,this.head=new e(this.hwm),this.tail=this.head,this.length=0;}clear(){this.head=this.tail,this.head.clear(),this.length=0;}push(i){if(this.length++,!this.head.push(i)){let s=this.head;this.head=s.next=new e(2*this.head.buffer.length),this.head.push(i);}}shift(){this.length!==0&&this.length--;let i=this.tail.shift();if(i===void 0&&this.tail.next){let s=this.tail.next;return this.tail.next=null,this.tail=s,this.tail.shift();}return i;}peek(){let i=this.tail.peek();return i===void 0&&this.tail.next?this.tail.next.peek():i;}isEmpty(){return this.length===0;}},ju;}var Nu,T0;function E0(){return T0||(T0=1,Nu=class{constructor(t){this.decoder=new TextDecoder(t==="utf16le"?"utf16-le":t);}get remaining(){return-1;}decode(t){return this.decoder.decode(t,{stream:!0});}flush(){return this.decoder.decode(new Uint8Array(0));}}),Nu;}var Fu,C0;function xP(){if(C0)return Fu;C0=1;let e=E0(),t=E0();Fu=class{constructor(n="utf8"){switch(this.encoding=i(n),this.encoding){case"utf8":this.decoder=new t();break;case"utf16le":case"base64":throw new Error("Unsupported encoding: "+this.encoding);default:this.decoder=new e(this.encoding);}}get remaining(){return this.decoder.remaining;}push(n){return typeof n=="string"?n:this.decoder.decode(n);}write(n){return this.push(n);}end(n){let r="";return n&&(r=this.push(n)),r+=this.decoder.flush(),r;}};function i(s){switch(s=s.toLowerCase(),s){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";
252case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return s;default:throw new Error("Unknown encoding: "+s);}}return Fu;}var Bu,S0;function LP(){if(S0)return Bu;S0=1;let{EventEmitter:e}=kP(),t=new Error("Stream was destroyed"),i=new Error("Premature close"),s=RP(),n=xP(),r=typeof queueMicrotask>"u"?Ee=>Cb.process.nextTick(Ee):queueMicrotask,a=(1<<29)-1,l=1,c=2,u=4,f=8,p=a^l,g=a^c,v=16,T=32,y=64,A=128,I=256,P=512,k=1024,w=2048,R=4096,x=8192,D=16384,O=32768,V=65536,$=131072,N=I|P,F=v|V,K=y|v,re=R|A,oe=I|$,J=a^v,ge=a^y,q=a^(y|V),G=a^V,ne=a^I,he=a^(A|x),ce=a^k,ie=a^N,Ce=a^O,Re=a^T,Ge=a^$,$e=a^oe,lt=1<<18,ft=2<<18,Ne=4<<18,Xe=8<<18,tt=16<<18,bt=32<<18,Bt=64<<18,qt=128<<18,Jt=256<<18,Ut=512<<18,ys=1024<<18,$s=a^(lt|Jt),Ci=a^Ne,Gt=a^(lt|Ut),dn=a^tt,Gn=a^Xe,_s=a^qt,ki=a^ft,Ui=a^ys,Pi=v|lt,Ri=a^Pi,cn=D|bt,L=f|6,b=L|l,E=L|cn,B=Ci&ge,z=qt|O,te=b|z&Ri,ue=k|16399,Ke=D|143,dt=k|143,gt=12431,ut=214047,at=k|16398,Ia=32879,ka=O|l,un=Ut|8388623,Wn=Xe|tt,Tr=Xe|lt,Pa=6553615,qn=270794767,Ra=Ne|lt,Io=lt|Jt,xa=144965647,Kn=146800654,bs=35127311,La=bt|134217742,os=Symbol.asyncIterator||Symbol("asyncIterator");class ko{constructor(j,{highWaterMark:_e=16384,map:He=null,mapWritable:Je,byteLength:Rt,byteLengthWritable:Tt}={}){this.stream=j,this.queue=new s(),this.highWaterMark=_e,this.buffered=0,this.error=null,this.pipeline=null,this.drains=null,this.byteLength=Tt||Rt||Ua,this.map=Je||He,this.afterWrite=Da.bind(this),this.afterUpdateNextTick=fc.bind(this);}get ended(){return(this.stream._duplexState&bt)!==0;}push(j){return(this.stream._duplexState&La)!==0?!1:(this.map!==null&&(j=this.map(j)),this.buffered+=this.byteLength(j),this.queue.push(j),this.buffered<this.highWaterMark?(this.stream._duplexState|=Xe,!0):(this.stream._duplexState|=Wn,!1));}shift(){let j=this.queue.shift();return this.buffered-=this.byteLength(j),this.buffered===0&&(this.stream._duplexState&=Gn),j;}end(j){typeof j=="function"?this.stream.once("finish",j):j!=null&&this.push(j),this.stream._duplexState=(this.stream._duplexState|Ut)&Ci;}autoBatch(j,_e){let He=[],Je=this.stream;for(He.push(j);(Je._duplexState&qn)===Tr;)He.push(Je._writableState.shift());if((Je._duplexState&b)!==0)return _e(null);Je._writev(He,_e);}update(){let j=this.stream;j._duplexState|=ft;do{for(;(j._duplexState&qn)===Xe;){let _e=this.shift();j._duplexState|=Io,j._write(_e,this.afterWrite);}(j._duplexState&Ra)===0&&this.updateNonPrimary();}while(this.continueUpdate()===!0);j._duplexState&=ki;}updateNonPrimary(){let j=this.stream;if((j._duplexState&xa)===Ut){j._duplexState=j._duplexState|lt,j._final(Ro.bind(this));return;}if((j._duplexState&L)===u){(j._duplexState&z)===0&&(j._duplexState|=Pi,j._destroy(Er.bind(this)));return;}(j._duplexState&te)===l&&(j._duplexState=(j._duplexState|Pi)&p,j._open(xo.bind(this)));}continueUpdate(){return(this.stream._duplexState&qt)===0?!1:(this.stream._duplexState&=_s,!0);}updateCallback(){(this.stream._duplexState&bs)===Ne?this.update():this.updateNextTick();}updateNextTick(){(this.stream._duplexState&qt)===0&&(this.stream._duplexState|=qt,(this.stream._duplexState&ft)===0&&r(this.afterUpdateNextTick));}}class Ma{constructor(j,{highWaterMark:_e=16384,map:He=null,mapReadable:Je,byteLength:Rt,byteLengthReadable:Tt}={}){this.stream=j,this.queue=new s(),this.highWaterMark=_e===0?1:_e,this.buffered=0,this.readAhead=_e>0,this.error=null,this.pipeline=null,this.byteLength=Tt||Rt||Ua,this.map=Je||He,this.pipeTo=null,this.afterRead=ja.bind(this),this.afterUpdateNextTick=oi.bind(this);}get ended(){return(this.stream._duplexState&D)!==0;}pipe(j,_e){if(this.pipeTo!==null)throw new Error("Can only pipe to one destination");if(typeof _e!="function"&&(_e=null),this.stream._duplexState|=P,this.pipeTo=j,this.pipeline=new Po(this.stream,j,_e),_e&&this.stream.on("error",Ar),pi(j))j._writableState.pipeline=this.pipeline,_e&&j.on("error",Ar),j.on("finish",this.pipeline.finished.bind(this.pipeline));else{let He=this.pipeline.done.bind(this.pipeline,j),Je=this.pipeline.done.bind(this.pipeline,j,null);j.on("error",He),j.on("close",Je),j.on("finish",this.pipeline.finished.bind(this.pipeline));}j.on("drain",hc.bind(this)),this.stream.emit("piping",j),j.emit("pipe",this.stream);}push(j){let _e=this.stream;return j===null?(this.highWaterMark=0,_e._duplexState=(_e._duplexState|k)&q,!1):this.map!==null&&(j=this.map(j),j===null)?(_e._duplexState&=G,this.buffered<this.highWaterMark):(this.buffered+=this.byteLength(j),this.queue.push(j),_e._duplexState=(_e._duplexState|A)&G,this.buffered<this.highWaterMark);}shift(){let j=this.queue.shift();return this.buffered-=this.byteLength(j),this.buffered===0&&(this.stream._duplexState&=he),j;}unshift(j){let _e=[this.map!==null?this.map(j):j];for(;this.buffered>0;)_e.push(this.shift());for(let He=0;He<_e.length-1;He++){let Je=_e[He];this.buffered+=this.byteLength(Je),this.queue.push(Je);}this.push(_e[_e.length-1]);}read(){let j=this.stream;if((j._duplexState&Ke)===A){let _e=this.shift();return this.pipeTo!==null&&this.pipeTo.write(_e)===!1&&(j._duplexState&=ie),(j._duplexState&w)!==0&&j.emit("data",_e),_e;}return this.readAhead===!1&&(j._duplexState|=$,this.updateNextTick()),null;}drain(){let j=this.stream;for(;(j._duplexState&Ke)===A&&(j._duplexState&N)!==0;){let _e=this.shift();this.pipeTo!==null&&this.pipeTo.write(_e)===!1&&(j._duplexState&=ie),(j._duplexState&w)!==0&&j.emit("data",_e);}}update(){let j=this.stream;j._duplexState|=T;do{for(this.drain();this.buffered<this.highWaterMark&&(j._duplexState&ut)===$;)j._duplexState|=F,j._read(this.afterRead),this.drain();(j._duplexState>)===re&&(j._duplexState|=x,j.emit("readable")),(j._duplexState&K)===0&&this.updateNonPrimary();}while(this.continueUpdate()===!0);j._duplexState&=Re;}updateNonPrimary(){let j=this.stream;if((j._duplexState&dt)===k&&(j._duplexState=(j._duplexState|D)&ce,j.emit("end"),(j._duplexState&E)===cn&&(j._duplexState|=u),this.pipeTo!==null&&this.pipeTo.end()),(j._duplexState&L)===u){(j._duplexState&z)===0&&(j._duplexState|=Pi,j._destroy(Er.bind(this)));return;}(j._duplexState&te)===l&&(j._duplexState=(j._duplexState|Pi)&p,j._open(xo.bind(this)));}continueUpdate(){return(this.stream._duplexState&O)===0?!1:(this.stream._duplexState&=Ce,!0);}updateCallback(){(this.stream._duplexState&Ia)===y?this.update():this.updateNextTick();}updateNextTickIfOpen(){(this.stream._duplexState&ka)===0&&(this.stream._duplexState|=O,(this.stream._duplexState&T)===0&&r(this.afterUpdateNextTick));}updateNextTick(){(this.stream._duplexState&O)===0&&(this.stream._duplexState|=O,(this.stream._duplexState&T)===0&&r(this.afterUpdateNextTick));}}class Oa{constructor(j){this.data=null,this.afterTransform=Lo.bind(j),this.afterFinal=null;}}class Po{constructor(j,_e,He){this.from=j,this.to=_e,this.afterPipe=He,this.error=null,this.pipeToFinished=!1;}finished(){this.pipeToFinished=!0;}done(j,_e){if(_e&&(this.error=_e),j===this.to&&(this.to=null,this.from!==null)){((this.from._duplexState&D)===0||!this.pipeToFinished)&&this.from.destroy(this.error||new Error("Writable stream closed prematurely"));return;}if(j===this.from&&(this.from=null,this.to!==null)){(j._duplexState&D)===0&&this.to.destroy(this.error||new Error("Readable stream closed before ending"));return;}this.afterPipe!==null&&this.afterPipe(this.error),this.to=this.from=this.afterPipe=null;}}function hc(){this.stream._duplexState|=P,this.updateCallback();}function Ro(Ee){let j=this.stream;Ee&&j.destroy(Ee),(j._duplexState&L)===0&&(j._duplexState|=bt,j.emit("finish")),(j._duplexState&E)===cn&&(j._duplexState|=u),j._duplexState&=Gt,(j._duplexState&ft)===0?this.update():this.updateNextTick();}function Er(Ee){let j=this.stream;!Ee&&this.error!==t&&(Ee=this.error),Ee&&j.emit("error",Ee),j._duplexState|=f,j.emit("close");let _e=j._readableState,He=j._writableState;if(_e!==null&&_e.pipeline!==null&&_e.pipeline.done(j,Ee),He!==null){for(;He.drains!==null&&He.drains.length>0;)He.drains.shift().resolve(!1);He.pipeline!==null&&He.pipeline.done(j,Ee);}}function Da(Ee){let j=this.stream;Ee&&j.destroy(Ee),j._duplexState&=$s,this.drains!==null&&xi(this.drains),(j._duplexState&Pa)===tt&&(j._duplexState&=dn,(j._duplexState&Bt)===Bt&&j.emit("drain")),this.updateCallback();}function ja(Ee){Ee&&this.stream.destroy(Ee),this.stream._duplexState&=J,this.readAhead===!1&&(this.stream._duplexState&I)===0&&(this.stream._duplexState&=Ge),this.updateCallback();}function oi(){(this.stream._duplexState&T)===0&&(this.stream._duplexState&=Ce,this.update());}function fc(){(this.stream._duplexState&ft)===0&&(this.stream._duplexState&=_s,this.update());}function xi(Ee){for(let j=0;j<Ee.length;j++)--Ee[j].writes===0&&(Ee.shift().resolve(!0),j--);}function xo(Ee){let j=this.stream;Ee&&j.destroy(Ee),(j._duplexState&u)===0&&((j._duplexState&ue)===0&&(j._duplexState|=y),(j._duplexState&un)===0&&(j._duplexState|=Ne),j.emit("open")),j._duplexState&=Ri,j._writableState!==null&&j._writableState.updateCallback(),j._readableState!==null&&j._readableState.updateCallback();}function Lo(Ee,j){j!=null&&this.push(j),this._writableState.afterWrite(Ee);}function Cr(Ee){this._readableState!==null&&(Ee==="data"&&(this._duplexState|=w|oe,this._readableState.updateNextTick()),Ee==="readable"&&(this._duplexState|=R,this._readableState.updateNextTick())),this._writableState!==null&&Ee==="drain"&&(this._duplexState|=Bt,this._writableState.updateNextTick());}class hn extends e{constructor(j){super(),this._duplexState=0,this._readableState=null,this._writableState=null,j&&(j.open&&(this._open=j.open),j.destroy&&(this._destroy=j.destroy),j.predestroy&&(this._predestroy=j.predestroy),j.signal&&j.signal.addEventListener("abort",Ir.bind(this))),this.on("newListener",Cr);}_open(j){j(null);}_destroy(j){j(null);}_predestroy(){}get readable(){return this._readableState!==null?!0:void 0;}get writable(){return this._writableState!==null?!0:void 0;}get destroyed(){return(this._duplexState&f)!==0;}get destroying(){return(this._duplexState&L)!==0;}destroy(j){(this._duplexState&L)===0&&(j||(j=t),this._duplexState=(this._duplexState|u)&B,this._readableState!==null&&(this._readableState.highWaterMark=0,this._readableState.error=j),this._writableState!==null&&(this._writableState.highWaterMark=0,this._writableState.error=j),this._duplexState|=c,this._predestroy(),this._duplexState&=g,this._readableState!==null&&this._readableState.updateNextTick(),this._writableState!==null&&this._writableState.updateNextTick());}}class Yn extends hn{constructor(j){super(j),this._duplexState|=bt|131073,this._readableState=new Ma(this,j),j&&(this._readableState.readAhead===!1&&(this._duplexState&=Ge),j.read&&(this._read=j.read),j.eagerOpen&&this._readableState.updateNextTick(),j.encoding&&this.setEncoding(j.encoding));}setEncoding(j){let _e=new n(j),He=this._readableState.map||Li;return this._readableState.map=Je,this;function Je(Rt){let Tt=_e.push(Rt);return Tt===""&&(Rt.byteLength!==0||_e.remaining>0)?null:He(Tt);}}_read(j){j(null);}pipe(j,_e){return this._readableState.updateNextTick(),this._readableState.pipe(j,_e),j;}read(){return this._readableState.updateNextTick(),this._readableState.read();}push(j){return this._readableState.updateNextTickIfOpen(),this._readableState.push(j);}unshift(j){return this._readableState.updateNextTickIfOpen(),this._readableState.unshift(j);}resume(){return this._duplexState|=oe,this._readableState.updateNextTick(),this;}pause(){return this._duplexState&=this._readableState.readAhead===!1?$e:ne,this;}static _fromAsyncIterator(j,_e){let He,Je=new Yn(pt(ze({},_e),{read(Tt){j.next().then(Rt).then(Tt.bind(null,null)).catch(Tt);},predestroy(){He=j.return();},destroy(Tt){if(!He)return Tt(null);He.then(Tt.bind(null,null)).catch(Tt);}}));return Je;function Rt(Tt){Tt.done?Je.push(null):Je.push(Tt.value);}}static from(j,_e){if(Si(j))return j;if(j[os])return this._fromAsyncIterator(j[os](),_e);Array.isArray(j)||(j=j===void 0?[]:[j]);let He=0;return new Yn(pt(ze({},_e),{read(Je){this.push(He===j.length?null:j[He++]),Je(null);}}));}static isBackpressured(j){return(j._duplexState&at)!==0||j._readableState.buffered>=j._readableState.highWaterMark;}static isPaused(j){return(j._duplexState&I)===0;}[os](){let j=this,_e=null,He=null,Je=null;return this.on("error",rt=>{_e=rt;}),this.on("readable",Rt),this.on("close",Tt),{[os](){return this;},next(){return new Promise(function(rt,Xi){He=rt,Je=Xi;let ae=j.read();ae!==null?Yi(ae):(j._duplexState&f)!==0&&Yi(null);});},return(){return Et(null);},throw(rt){return Et(rt);}};function Rt(){He!==null&&Yi(j.read());}function Tt(){He!==null&&Yi(null);}function Yi(rt){Je!==null&&(_e?Je(_e):rt===null&&(j._duplexState&D)===0?Je(t):He({value:rt,done:rt===null}),Je=He=null);}function Et(rt){return j.destroy(rt),new Promise((Xi,ae)=>{if(j._duplexState&f)return Xi({value:void 0,done:!0});j.once("close",function(){rt?ae(rt):Xi({value:void 0,done:!0});});});}}}class Na extends hn{constructor(j){super(j),this._duplexState|=l|D,this._writableState=new ko(this,j),j&&(j.writev&&(this._writev=j.writev),j.write&&(this._write=j.write),j.final&&(this._final=j.final),j.eagerOpen&&this._writableState.updateNextTick());}cork(){this._duplexState|=ys;}uncork(){this._duplexState&=Ui,this._writableState.updateNextTick();}_writev(j,_e){_e(null);}_write(j,_e){this._writableState.autoBatch(j,_e);}_final(j){j(null);}static isBackpressured(j){return(j._duplexState&Kn)!==0;}static drained(j){if(j.destroyed)return Promise.resolve(!1);let _e=j._writableState,He=(Va(j)?Math.min(1,_e.queue.length):_e.queue.length)+(j._duplexState&Jt?1:0);return He===0?Promise.resolve(!0):(_e.drains===null&&(_e.drains=[]),new Promise(Je=>{_e.drains.push({writes:He,resolve:Je});}));}write(j){return this._writableState.updateNextTick(),this._writableState.push(j);}end(j){return this._writableState.updateNextTick(),this._writableState.end(j),this;}}class ai extends Yn{constructor(j){super(j),this._duplexState=l|this._duplexState&$,this._writableState=new ko(this,j),j&&(j.writev&&(this._writev=j.writev),j.write&&(this._write=j.write),j.final&&(this._final=j.final));}cork(){this._duplexState|=ys;}uncork(){this._duplexState&=Ui,this._writableState.updateNextTick();}_writev(j,_e){_e(null);}_write(j,_e){this._writableState.autoBatch(j,_e);}_final(j){j(null);}write(j){return this._writableState.updateNextTick(),this._writableState.push(j);}end(j){return this._writableState.updateNextTick(),this._writableState.end(j),this;}}class Kt extends ai{constructor(j){super(j),this._transformState=new Oa(this),j&&(j.transform&&(this._transform=j.transform),j.flush&&(this._flush=j.flush));}_write(j,_e){this._readableState.buffered>=this._readableState.highWaterMark?this._transformState.data=j:this._transform(j,this._transformState.afterTransform);}_read(j){if(this._transformState.data!==null){let _e=this._transformState.data;this._transformState.data=null,j(null),this._transform(_e,this._transformState.afterTransform);}else j(null);}destroy(j){super.destroy(j),this._transformState.data!==null&&(this._transformState.data=null,this._transformState.afterTransform());}_transform(j,_e){_e(null,j);}_flush(j){j(null);}_final(j){this._transformState.afterFinal=j,this._flush(Sr.bind(this));}}class fn extends Kt{}function Sr(Ee,j){let _e=this._transformState.afterFinal;if(Ee)return _e(Ee);j!=null&&this.push(j),this.push(null),_e(null);}function Mo(...Ee){return new Promise((j,_e)=>Fa(...Ee,He=>{if(He)return _e(He);j();}));}function Fa(Ee,...j){let _e=Array.isArray(Ee)?[...Ee,...j]:[Ee,...j],He=_e.length&&typeof _e[_e.length-1]=="function"?_e.pop():null;if(_e.length<2)throw new Error("Pipeline requires at least 2 streams");let Je=_e[0],Rt=null,Tt=null;for(let rt=1;rt<_e.length;rt++)Rt=_e[rt],pi(Je)?Je.pipe(Rt,Et):(Yi(Je,!0,rt>1,Et),Je.pipe(Rt)),Je=Rt;if(He){let rt=!1,Xi=pi(Rt)||!!(Rt._writableState&&Rt._writableState.autoDestroy);Rt.on("error",ae=>{Tt===null&&(Tt=ae);}),Rt.on("finish",()=>{rt=!0,Xi||He(Tt);}),Xi&&Rt.on("close",()=>He(Tt||(rt?null:i)));}return Rt;function Yi(rt,Xi,ae,Oo){rt.on("error",Oo),rt.on("close",$a);function $a(){if(rt._readableState&&!rt._readableState.ended||ae&&rt._writableState&&!rt._writableState.ended)return Oo(i);}}function Et(rt){if(!(!rt||Tt)){Tt=rt;for(let Xi of _e)Xi.destroy(rt);}}}function Li(Ee){return Ee;}function vt(Ee){return!!Ee._readableState||!!Ee._writableState;}function pi(Ee){return typeof Ee._duplexState=="number"&&vt(Ee);}function Ba(Ee){return!!Ee._readableState&&Ee._readableSta
252te.ended;}function pc(Ee){return!!Ee._writableState&&Ee._writableState.ended;}function Xn(Ee,j={}){let _e=Ee._readableState&&Ee._readableState.error||Ee._writableState&&Ee._writableState.error;return!j.all&&_e===t?null:_e;}function Si(Ee){return pi(Ee)&&Ee.readable;}function wr(Ee){return(Ee._duplexState&l)!==l||(Ee._duplexState&z)!==0;}function as(Ee){return typeof Ee=="object"&&Ee!==null&&typeof Ee.byteLength=="number";}function Ua(Ee){return as(Ee)?Ee.byteLength:1024;}function Ar(){}function Ir(){this.destroy(new Error("Stream aborted."));}function Va(Ee){return Ee._writev!==Na.prototype._writev&&Ee._writev!==ai.prototype._writev;}return Bu={pipeline:Fa,pipelinePromise:Mo,isStream:vt,isStreamx:pi,isEnded:Ba,isFinished:pc,isDisturbed:wr,getStreamError:Xn,Stream:hn,Writable:Na,Readable:Yn,Duplex:ai,Transform:Kt,PassThrough:fn},Bu;}var kb=LP(),Uu,w0;function MP(){if(w0)return Uu;w0=1;function e(i,s){for(let n in s)Object.defineProperty(i,n,{value:s[n],enumerable:!0,configurable:!0});return i;}function t(i,s,n){if(!i||typeof i=="string")throw new TypeError("Please pass an Error to err-code");n||(n={}),typeof s=="object"&&(n=s,s=""),s&&(n.code=s);try{return e(i,n);}catch(r){n.message=i.message,n.stack=i.stack;let a=function(){};return a.prototype=Object.create(Object.getPrototypeOf(i)),e(new a(),n);}}return Uu=t,Uu;}var Nt=br(MP()),Yd="0123456789abcdef",Pb=[],Xd=[];for(let e=0;e<256;e++)Pb[e]=Yd[e>>4&15]+Yd[e&15],e<16&&(e<10?Xd[48+e]=e:Xd[87+e]=e);var To=e=>{let t=e.length,i="",s=0;for(;s<t;)i+=Pb[e[s++]];return i;},Ph=e=>{let t=e.length>>1,i=t<<1,s=new Uint8Array(t),n=0,r=0;for(;r<i;)s[n++]=Xd[e.charCodeAt(r++)]<<4|Xd[e.charCodeAt(r++)];return s;},A0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",OP=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(Yo=0;Yo<A0.length;Yo++)OP[A0.charCodeAt(Yo)]=Yo;var Yo,DP=new TextDecoder(),Rb=(e,t)=>DP.decode(e),jP=new TextEncoder(),ff=e=>jP.encode(e),eo=e=>{let t="",i,s=0,n=e.length;for(;s<n;)i=e.charCodeAt(s++),t+=Yd[i>>4]+Yd[i&15];return t;},I0=65536,fa=e=>{let t=Ph(e);if(t.length<=I0)return String.fromCharCode(...t);let i="",s=0;for(;s<t.length;)i+=String.fromCharCode(...t.subarray(s,s+=I0));return i;},k0=typeof window<"u"?window:self,Rh=k0.crypto||k0.msCrypto||{};Rh.subtle||Rh.webkitSubtle;var Qd=e=>{let t=new Uint8Array(e);return Rh.getRandomValues(t);},NP=Vs("simple-peer"),Vu=64*1024,FP=5*1e3,BP=5*1e3;function P0(e){return e.replace(/a=ice-options:trickle\s\n/g,"");}function UP(e){console.warn(e);}var xb=(()=>{let e=class xh extends kb.Duplex{_pc;constructor(i){if(i=Object.assign({allowHalfOpen:!1},i),super(i),this.__objectMode=!!i.objectMode,this._id=To(Qd(4)).slice(0,7),this._debug("new peer %o",i),this.channelName=i.initiator?i.channelName||To(Qd(20)):null,this.initiator=i.initiator||!1,this.channelConfig=i.channelConfig||xh.channelConfig,this.channelNegotiated=this.channelConfig.negotiated,this.config=Object.assign({},xh.config,i.config),this.offerOptions=i.offerOptions||{},this.answerOptions=i.answerOptions||{},this.sdpTransform=i.sdpTransform||(s=>s),this.trickle=i.trickle!==void 0?i.trickle:!0,this.allowHalfTrickle=i.allowHalfTrickle!==void 0?i.allowHalfTrickle:!1,this.iceCompleteTimeout=i.iceCompleteTimeout||FP,this._destroying=!1,this._connected=!1,this.remoteAddress=void 0,this.remoteFamily=void 0,this.remotePort=void 0,this.localAddress=void 0,this.localFamily=void 0,this.localPort=void 0,!Mu)throw Nt(typeof window>"u"?new Error("No WebRTC support: Specify `opts.wrtc` option in this environment"):new Error("No WebRTC support: Not a supported browser"),"ERR_WEBRTC_SUPPORT");this._pcReady=!1,this._channelReady=!1,this._iceComplete=!1,this._iceCompleteTimer=null,this._channel=null,this._pendingCandidates=[],this._isNegotiating=!1,this._firstNegotiation=!0,this._batchedNegotiation=!1,this._queuedNegotiation=!1,this._sendersAwaitingStable=[],this._closingInterval=null,this._remoteTracks=[],this._remoteStreams=[],this._chunk=null,this._cb=null,this._interval=null;try{this._pc=new Mu(this.config);}catch(s){this.__destroy(Nt(s,"ERR_PC_CONSTRUCTOR"));return;}this._isReactNativeWebrtc=typeof this._pc._peerConnectionId=="number",this._pc.oniceconnectionstatechange=()=>{this._onIceStateChange();},this._pc.onicegatheringstatechange=()=>{this._onIceStateChange();},this._pc.onconnectionstatechange=()=>{this._onConnectionStateChange();},this._pc.onsignalingstatechange=()=>{this._onSignalingStateChange();},this._pc.onicecandidate=s=>{this._onIceCandidate(s);},typeof this._pc.peerIdentity=="object"&&this._pc.peerIdentity.catch(s=>{this.__destroy(Nt(s,"ERR_PC_PEER_IDENTITY"));}),this.initiator||this.channelNegotiated?this._setupData({channel:this._pc.createDataChannel
252(this.channelName,this.channelConfig)}):this._pc.ondatachannel=s=>{this._setupData(s);},this._debug("initial negotiation"),this._needsNegotiation(),this._onFinishBound=()=>{this._onFinish();},this.once("finish",this._onFinishBound);}get bufferSize(){return this._channel&&this._channel.bufferedAmount||0;}get connected(){return this._connected&&this._channel.readyState==="open";}address(){return{port:this.localPort,family:this.localFamily,address:this.localAddress};}signal(i){if(!this._destroying){if(this.destroyed)throw Nt(new Error("cannot signal after peer is destroyed"),"ERR_DESTROYED");if(typeof i=="string")try{i=JSON.parse(i);}catch(s){i={};}this._debug("signal()"),i.renegotiate&&this.initiator&&(this._debug("got request to renegotiate"),this._needsNegotiation()),i.transceiverRequest&&this.initiator&&(this._debug("got request for transceiver"),this.addTransceiver(i.transceiverRequest.kind,i.transceiverRequest.init)),i.candidate&&(this._pc.remoteDescription&&this._pc.remoteDescription.type?this._addIceCandidate(i.candidate):this._pendingCandidates.push(i.candidate)),i.sdp&&this._pc.setRemoteDescription(new AP(i)).then(()=>{this.destroyed||(this._pendingCandidates.forEach(s=>{this._addIceCandidate(s);}),this._pendingCandidates=[],this._pc.remoteDescription.type==="offer"&&this._createAnswer());}).catch(s=>{this.__destroy(Nt(s,"ERR_SET_REMOTE_DESCRIPTION"));}),!i.sdp&&!i.candidate&&!i.renegotiate&&!i.transceiverRequest&&this.__destroy(Nt(new Error("signal() called with invalid signal data"),"ERR_SIGNALING"));}}_addIceCandidate(i){let s=new IP(i);this._pc.addIceCandidate(s).catch(n=>{!s.address||s.address.endsWith(".local")?UP("Ignoring unsupported ICE candidate."):this.__destroy(Nt(n,"ERR_ADD_ICE_CA
252NDIDATE"));});}send(i){if(!this._destroying){if(this.destroyed)throw Nt(new Error("cannot send after peer is destroyed"),"ERR_DESTROYED");this._channel.send(i);}}_needsNegotiation(){this._debug("_needsNegotiation"),!this._batchedNegotiation&&(this._batchedNegotiation=!0,queueMicrotask(()=>{this._batchedNegotiation=!1,this.initiator||!this._firstNegotiation?(this._debug("starting batched negotiation"),this.negotiate()):this._debug("non-initiator initial negotiation request discarded"),this._firstNegotiation=!1;}));}negotiate(){if(!this._destroying){if(this.destroyed)throw Nt(new Error("cannot negotiate after peer is destroyed"),"ERR_DESTROYED");this.initiator?this._isNegotiating?(this._queuedNegotiation=!0,this._debug("already negotiating, queueing")):(this._debug("start negotiation"),setTimeout(()=>{this._createOffer();},0)):this._isNegotiating?(this._queuedNegotiation=!0,this._debug("already negotiating, queueing")):(this._debug("requesting negotiation from initiator"),this.emit("signal",{type:"renegotiate",renegotiate:!0})),this._isNegotiating=!0;}}_final(i){this._readableState.ended||this.push(null),i(null);}__destroy(i){this.end(),this._destroy(()=>{},i);}_destroy(i,s){this.destroyed||this._destroying||(this._destroying=!0,this._debug("destroying (error: %s)",s&&(s.message||s)),setTimeout(()=>{if(this._connected&&this.emit("disconnect"),this._connected=!1,this._pcReady=!1,this._channelReady=!1,this._remoteTracks=null,this._remoteStreams=null,this._senderMap=null,clearInterval(this._closingInterval),this._closingInterval=null,clearInterval(this._interval),this._interval=null,this._chunk=null,this._cb=null,this._onFinishBound&&this.removeListener("finish",this._onFinishBound),this._onFinishBound=null,this._channel){try{this._channel.close();}catch(n){}this._channel.onmessage=null,this._channel.onopen=null,this._channel.onclose=null,this._channel.onerror=null;}if(this._pc){try{this._pc.close();}catch(n){}this._pc.oniceconnectionstatechange=null,this._pc.onicegatheringstatechange=null,this._pc.onsignalingstatechange=null,this._pc.onicecandidate=null,this._pc.ontrack=null,this._pc.ondatachannel=null;}this._pc=null,this._channel=null,s&&this.emit("error",s),i();},0));}_setupData(i){if(!i.channel)return this.__destroy(Nt(new Error("Data channel event is missing `channel` property"),"ERR_DATA_CHANNEL"));this._channel=i.channel,this._channel.binaryType="arraybuffer",typeof this._channel.bufferedAmountLowThreshold=="number"&&(this._channel.bufferedAmountLowThreshold=Vu),this.channelName=this._channel.label,this._channel.onmessage=n=>{this._onChannelMessage(n);},this._channel.onbufferedamountlow=()=>{this._onChannelBufferedAmountLow();},this._channel.onopen=()=>{this._onChannelOpen();},this._channel.onclose=()=>{this._onChannelClose();},this._channel.onerror=n=>{let r=n.error instanceof Error?n.error:new Error(`Datachannel error: ${n.message} ${n.filename}:${n.lineno}:${n.colno}`);this.__destroy(Nt(r,"ERR_DATA_CHANNEL"));};let s=!1;this._closingInterval=setInterval(()=>{this._channel&&this._channel.readyState==="closing"?(s&&this._onChannelClose(),s=!0):s=!1;},BP);}_write(i,s){if(this.destroyed)return s(Nt(new Error("cannot write after peer is destroyed"),"ERR_DATA_CHANNEL"));if(this._connected){try{this.send(i);}catch(n){return this.__destroy(Nt(n,"ERR_DATA_CHANNEL"));}this._channel.bufferedAmount>Vu?(this._debug("start backpressure: bufferedAmount %d",this._channel.bufferedAmount),this._cb=s):s(null);}else this._debug("write before connect"),this._chunk=i,this._cb=s;}_onFinish(){if(this.destroyed)return;let i=()=>{setTimeout(()=>this.__destroy(),1e3);};this._connected?i():this.once("connect",i);}_startIceCompleteTimeout(){this.destroyed||this._iceCompleteTimer||(this._debug("started iceComplete timeout"),this._iceCompleteTimer=setTimeout(()=>{this._iceComplete||(this._iceComplete=!0,this._debug("iceComplete timeout completed"),this.emit("iceTimeout"),this.emit("_iceComplete"));},this.iceCompleteTimeout));}_createOffer(){this.destroyed||this._pc.createOffer(this.offerOptions).then(i=>{if(this.destroyed)return;!this.trickle&&!this.allowHalfTrickle&&(i.sdp=P0(i.sdp)),i.sdp=this.sdpTransform(i.sdp);let s=()=>
252{if(this.destroyed)return;let a=this._pc.localDescription||i;this._debug("signal"),this.emit("signal",{type:a.type,sdp:a.sdp});},n=()=>{this._debug("createOffer success"),!this.destroyed&&(this.trickle||this._iceComplete?s():this.once("_iceComplete",s));},r=a=>{this.__destroy(Nt(a,"ERR_SET_LOCAL_DESCRIPTION"));};this._pc.setLocalDescription(i).then(n).catch(r);}).catch(i=>{this.__destroy(Nt(i,"ERR_CREATE_OFFER"));});}_createAnswer(){this.destroyed||this._pc.createAnswer(this.answerOptions).then(i=>{if(this.destroyed)return;!this.trickle&&!this.allowHalfTrickle&&(i.sdp=P0(i.sdp)),i.sdp=this.sdpTransform(i.sdp);let s=()=>{if(this.destroyed)return;let a=this._pc.localDescription||i;this._debug("signal"),this.emit("signal",{type:a.type,sdp:a.sdp}),this.initiator||this._requestMissingTransceivers?.();},n=()=>{this.destroyed||(this.trickle||this._iceComplete?s():this.once("_iceComplete",s));},r=a=>{this.__destroy(Nt(a,"ERR_SET_LOCAL_DESCRIPTION"));};this._pc.setLocalDescription(i).then(n).catch(r);}).catch(i=>{this.__destroy(Nt(i,"ERR_CREATE_ANSWER"));});}_onConnectionStateChange(){this.destroyed||this._destroying||this._pc.connectionState==="failed"&&this.__destroy(Nt(new Error("Connection failed."),"ERR_CONNECTION_FAILURE"));}_onIceStateChange(){if(this.destroyed)return;let i=this._pc.iceConnectionState,s=this._pc.iceGatheringState;this._debug("iceStateChange (connection: %s) (gathering: %s)",i,s),this.emit("iceStateChange",i,s),(i==="connected"||i==="completed")&&(this._pcReady=!0,this._maybeReady()),i==="failed"&&this.__destroy(Nt(new Error("Ice connection failed."),"ERR_ICE_CONNECTION_FAILURE")),i==="closed"&&this.__destroy(Nt(new Error("Ice connection closed."),"ERR_ICE_CONNECTION_CLOSED"));}getStats(i){let s=n=>(Object.prototype.toString.call(n.values)==="[object Array]"&&n.values.forEach(r=>{Object.assign(n,r);}),n);this._pc.getStats.length===0||this._isReactNativeWebrtc?this._pc.getStats().then(n=>{let r=[];n.forEach(a=>{r.push(s(a));}),i(null,r);},n=>i(n)):this._pc.getStats.length>0?this._pc.getStats(n=>{if(this.destroyed)return;let r=[];n.result().forEach(a=>{let l={};a.names().forEach(c=>{l[c]=a.stat(c);}),l.id=a.id,l.type=a.type,l.timestamp=a.timestamp,r.push(s(l));}),i(null,r);},n=>i(n)):i(null,[]);}_maybeReady(){if(this._debug("maybeReady pc %s channel %s",this._pcReady,this._channelReady),this._connected||this._connecting||!this._pcReady||!this._channelReady)return;this._connecting=!0;let i=()=>{this.destroyed||this._destroying||this.getStats((s,n)=>{if(this.destroyed||this._destroying)return;s&&(n=[]);let r={},a={},l={},c=!1;n.forEach(f=>{(f.type==="remotecandidate"||f.type==="remote-candidate")&&(r[f.id]=f),(f.type==="localcandidate"||f.type==="local-candidate")&&(a[f.id]=f),(f.type==="candidatepair"||f.type==="candidate-pair")&&(l[f.id]=f);});let u=f=>{c=!0;let p=a[f.localCandidateId];p&&(p.ip||p.address)?(this.localAddress=p.ip||p.address,this.localPort=Number(p.port)):p&&p.ipAddress?(this.localAddress=p.ipAddress,this.localPort=Number(p.portNumber)):typeof f.googLocalAddress=="string"&&(p=f.googLocalAddress.split(":"),this.localAddress=p[0],this.localPort=Number(p[1])),this.localAddress&&(this.localFamily=this.localAddress.includes(":")?"IPv6":"IPv4");let g=r[f.remoteCandidateId];g&&(g.ip||g.address)?(this.remoteAddress=g.ip||g.address,this.remotePort=Number(g.port)):g&&g.ipAddress?(this.remoteAddress=g.ipAddress,this.remotePort=Number(g.portNumber)):typeof f.googRemoteAddress=="string"&&(g=f.googRemoteAddress.split(":"),this.remoteAddress=g[0],this.remotePort=Number(g[1])),this.remoteAddress&&(this.remoteFamily=this.remoteAddress.includes(":")?"IPv6":"IPv4"),this._debug("connect local: %s:%s remote: %s:%s",this.localAddress,this.localPort,this.remoteAddress,this.remotePort);};if(n.forEach(f=>{f.type==="transport"&&f.selectedCandidatePairId&&u(l[f.selectedCandidatePairId]),(f.type==="googCandidatePair"&&f.googActiveConnection==="true"||(f.type==="candidatepair"||f.type==="candidate-pair")&&f.selected)&&u(f);}),!c&&(!Object.keys(l).length||Object.keys(a).length)){setTimeout(i,100);return;}
252else this._connecting=!1,this._connected=!0,this.emit("connect");if(this._chunk){try{this.send(this._chunk);}catch(p){return this.__destroy(Nt(p,"ERR_DATA_CHANNEL"));}this._chunk=null,this._debug('sent chunk from "write before connect"');let f=this._cb;this._cb=null,f(null);}typeof this._channel.bufferedAmountLowThreshold!="number"&&(this._interval=setInterval(()=>this._onInterval(),150),this._interval.unref&&this._interval.unref()),this._debug("connect"),this.emit("connect");});};i();}_onInterval(){!this._cb||!this._channel||this._channel.bufferedAmount>Vu||this._onChannelBufferedAmountLow();}_onSignalingStateChange(){this.destroyed||(this._pc.signalingState==="stable"&&(this._isNegotiating=!1,this._debug("flushing sender queue",this._sendersAwaitingStable),this._sendersAwaitingStable.forEach(i=>{this._pc.removeTrack(i),this._queuedNegotiation=!0;}),this._sendersAwaitingStable=[],this._queuedNegotiation?(this._debug("flushing negotiation queue"),this._queuedNegotiation=!1,this._needsNegotiation()):(this._debug("negotiated"),this.emit("negotiated"))),this._debug("signalingStateChange %s",this._pc.signalingState),this.emit("signalingStateChange",this._pc.signalingState));}_onIceCandidate(i){this.destroyed||(i.candidate&&this.trickle?this.emit("signal",{type:"candidate",candidate:{candidate:i.candidate.candidate,sdpMLineIndex:i.candidate.sdpMLineIndex,sdpMid:i.candidate.sdpMid}}):!i.candidate&&!this._iceComplete&&(this._iceComplete=!0,this.emit("_iceComplete")),i.candidate&&this._startIceCompleteTimeout());}_onChannelMessage(i){if(this.destroyed)return;let s=i.data;s instanceof ArrayBuffer?s=new Uint8Array(s):this.__objectMode===!1&&(s=ff(s)),this.push(s);}_onChannelBufferedAmountLow(){if(this.destroyed||!this._cb)return;this._debug("ending backpressure: bufferedAmount %d",this._channel.bufferedAmount);let i=this._cb;this._cb=null,i(null);}_onChannelOpen(){this._connected||this.destroyed||(this._debug("on channel open"),this._channelReady=!0,this._maybeReady());}_onChannelClose(){this.destroyed||(this._debug("on channel close"),this.__destroy());}_debug(){let i=[].slice.call(arguments);i[0]="["+this._id+"] "+i[0],NP.apply(null,i);}};return e.WEBRTC_SUPPORT=!!Mu,e.config={iceServers:[{urls:["stun:stun.l.google.com:19302","stun:global.stun.twilio.com:3478"]}],sdpSemantics:"unified-plan"},e.channelConfig={},e;})(),Lh=br(Ib()),Ns={},VP=Object.freeze(Object.defineProperty({__proto__:null,default:Ns},Symbol.toStringTag,{value:"Module"})),$P=50,HP=82,zP=e=>{let t=new URL(e.replace(/^udp:/,"http:"));return e.match(/^udp:/)&&Object.defineProperties(t,{href:{value:t.href.replace(/^http/,"udp")},protocol:{value:t.protocol.replace(/^http/,"udp")},origin:{value:t.origin.replace(/^http/,"udp")}}),t;},Mh=ze({DEFAULT_ANNOUNCE_PEERS:$P,MAX_ANNOUNCE_PEERS:HP,parseUrl:zP},VP),GP=Vs("simple-websocket"),Xo=typeof Ns!="function"?WebSocket:Ns,R0=64*1024,WP=(()=>{let e=class extends kb.Duplex{constructor(t={}){if(typeof t=="string"&&(t={url:t}),t=Object.assign({allowHalfOpen:!1},t),super(t),this.__objectMode=!!t.objectMode,t.objectMode!=null&&delete t.objectMode,t.url==null&&t.socket==null)throw new Error("Missing required `url` or `socket` option");
252if(t.url!=null&&t.socket!=null)throw new Error("Must specify either `url` or `socket` option, not both");if(this._id=To(Qd(4)).slice(0,7),this._debug("new websocket: %o",t),this.connected=!1,this._chunk=null,this._cb=null,this._interval=null,t.socket)this.url=t.socket.url,this._ws=t.socket,this.connected=t.socket.readyState===Xo.OPEN;else{this.url=t.url;try{typeof Ns=="function"?this._ws=new Xo(t.url,pt(ze({},t),{encoding:void 0})):this._ws=new Xo(t.url);}catch(i){Lh(()=>this.destroy(i));return;}}this._ws.binaryType="arraybuffer",t.socket&&this.connected?Lh(()=>this._handleOpen()):this._ws.onopen=()=>this._handleOpen(),this._ws.onmessage=i=>this._handleMessage(i),this._ws.onclose=()=>this._handleClose(),this._ws.onerror=i=>this._handleError(i),this._handleFinishBound=()=>this._handleFinish(),this.once("finish",this._handleFinishBound);}send(t){this._ws.send(t);}_final(t){this._readableState.ended||this.push(null),t(null);}_destroy(t){if(!this.destroyed){if(this._writableState.ended||this.end(),this.connected=!1,clearInterval(this._interval),this._interval=null,this._chunk=null,this._cb=null,this._handleFinishBound&&this.removeListener("finish",this._handleFinishBound),this._handleFinishBound=null,this._ws){let i=this._ws,s=()=>{i.onclose=null;};if(i.readyState===Xo.CLOSED)s();else try{i.onclose=s,i.close();}catch(n){s();}i.onopen=null,i.onmessage=null,i.onerror=()=>{};}this._ws=null,t();}}_write(t,i){if(this.destroyed)return i(new Error("cannot write after socket is destroyed"));if(this.connected){try{this.send(t);}catch(s){return this.destroy(s);}typeof Ns!="function"&&this._ws.bufferedAmount>R0?(this._debug("start backpressure: bufferedAmount %d",this._ws.bufferedAmount),this._cb=i):i(null);}else this._debug("write before connect"),this._chunk=t,this._cb=i;}_handleOpen(){if(!(this.connected||this.destroyed)){if(this.connected=!0,this._chunk){try{this.send(this._chunk);}catch(i){return this.destroy(i);}this._chunk=null,this._debug('sent chunk from "write before connect"');let t=this._cb;this._cb=null,t(null);}typeof Ns!="function"&&(this._interval=setInterval(()=>this._onInterval(),150),this._interval.unref&&this._interval.unref()),this._debug("connect"),this.emit("connect");}}_handleMessage(t){if(this.destroyed)return;let i=t.data;i instanceof ArrayBuffer&&(i=new Uint8Array(i)),this.__objectMode===!1&&(i=ff(i)),this.push(i);}_handleClose(){this.destroyed||(this._debug("on close"),this.destroy());}_handleError(t){this.destroy(new Error(`Error connecting to ${this.url}`));}
252_handleFinish(){if(this.destroyed)return;let t=()=>{setTimeout(()=>this.destroy(),1e3);};this.connected?t():this.once("connect",t);}_onInterval(){if(!this._cb||!this._ws||this._ws.bufferedAmount>R0)return;this._debug("ending backpressure: bufferedAmount %d",this._ws.bufferedAmount);let t=this._cb;this._cb=null,t(null);}_debug(){let t=[].slice.call(arguments);t[0]="["+this._id+"] "+t[0],GP.apply(null,t);}};return e.WEBSOCKET_SUPPORT=!!Xo,e;})(),qP=class extends Ab{constructor(e,t){super(),this.client=e,this.announceUrl=t,this.interval=null,this.destroyed=!1;}setInterval(e){e==null&&(e=this.DEFAULT_ANNOUNCE_INTERVAL),clearInterval(this.interval),e&&(this.interval=setInterval(()=>{this.announce(this.client._defaultAnnounceOpts());},e),this.interval.unref&&this.interval.unref());}},fs=Vs("bittorrent-tracker:websocket-tracker"),Ys={},KP=10*1e3,YP=3600*1e3,XP=300*1e3,QP=50*1e3,pf=class extends qP{constructor(e,t){super(e,t),fs("new websocket tracker %s",t),this.peers={},this.socket=null,this.reconnecting=!1,this.retries=0,this.reconnectTimer=null,this.expectingResponse=!1,this._openSocket();}announce(e){if(this.destroyed||this.reconnecting)return;if(!this.socket.connected){this.socket.once("connect",()=>{this.announce(e);});return;}let t=Object.assign({},e,{action:"announce",info_hash:this.client._infoHashBinary,peer_id:this.client._peerIdBinary});if(this._trackerId&&(t.trackerid=this._trackerId),e.event==="stopped"||e.event==="completed")this._send(t);else{let i=Math.min(e.numwant,5);this._generateOffers(i,s=>{t.numwant=i,t.offers=s,this._send(t);});}}scrape(e){if(this.destroyed||this.reconnecting)return;if(!this.socket.connected){this.socket.once("connect",()=>{this.scrape(e);});return;}let t={action:"scrape",info_hash:Array.isArray(e.infoHash)&&e.infoHash.length>0?e.infoHash.map(i=>fa(i)):e.infoHash&&fa(e.infoHash)||this.client._infoHashBinary};this._send(t);}destroy(e=x0){if(this.destroyed)return e(null);this.destroyed=!0,clearInterval(this.interval),clearTimeout(this.reconnectTimer);for(let n in this.peers){let r=this.peers[n];clearTimeout(r.trackerTimeout),r.destroy();}if(this.peers=null,this.socket&&(this.socket.removeListener("connect",this._onSocketConnectBound),this.socket.removeListener("data",this._onSocketDataBound),this.socket.removeListener("close",this._onSocketCloseBound),this.socket.removeListener("error",this._onSocketErrorBound),this.socket=null),this._onSocketConnectBound=null,this._onSocketErrorBound=null,this._onSocketDataBound=null,this._onSocketCloseBound=null,Ys[this.announceUrl]&&(Ys[this.announceUrl].consumers-=1),Ys[this.announceUrl].consumers>0)return e();let t=Ys[this.announceUrl];delete Ys[this.announceUrl],t.on("error",x0),t.once("close",e);let i;if(!this.expectingResponse)return s();i=setTimeout(s,Mh.DESTROY_TIMEOUT),t.once("data",s);function s(){i&&(clearTimeout(i),i=null),t.removeListener("data",s),t.destroy(),t=null;}}_openSocket(){if(this.destroyed=!1,this.peers||(this.peers={}),this._onSocketConnectBound=()=>{this._onSocketConnect();},this._onSocketErrorBound=e=>{this._onSocketError(e);},this._onSocketDataBound=e=>{this._onSocketData(e);},this._onSocketCloseBound=()=>{this._onSocketClose();},this.socket=Ys[this.announceUrl],this.socket)Ys[this.announceUrl].consumers+=1,this.socket.connected&&this._onSocketConnectBound();else{let e=new URL(this.announceUrl),t;this.client._proxyOpts&&(t=e.protocol==="wss:"?this.client._proxyOpts.httpsAgent:this.client._proxyOpts.httpAgent,!t&&this.client._proxyOpts.socksProxy&&(t=this.client._proxyOpts.socksProxy)),this.socket=Ys[this.announceUrl]=new WP({url:this.announceUrl,agent:t}),this.socket.consumers=1,this.socket.once("connect",this._onSocketConnectBound);}this.socket.on("data",this._onSocketDataBound),this.socket.once("close",this._onSocketCloseBound),this.socket.once("error",this._onSocketErrorBound);}_onSocketConnect(){this.destroyed||this.reconnecting&&(this.reconnecting=!1,this.retries=0,this.announce(this.client._defaultAnnounceOpts()));}_onSocketData(e){if(!this.destroyed){this.expectingResponse=!1;try{e=JSON.parse(Rb(e));}catch(t){this.client.emit("warning",new Error("Invalid tracker response"));return;}e.action==="announce"?this._onAnnounceResponse(e):e.action==="scrape"?this._onScrapeResponse(e):this._onSocketError(new Error(`invalid action in WS response: ${e.action}`));}}_onAnnounceResponse(e){if(e.info_hash!==this.client._infoHashBinary){fs("ignoring websocket data from %s for %s (looking for %s: reused socket)",this.announceUrl,eo(e.info_hash),this.client.infoHash);return;}if(e.peer_id&&e.peer_id===this.client._peerIdBinary)return;fs("received %s from %s for %s",JSON.stringify(e),this.announceUrl,this.client.infoHash);let t=e["failure reason"];if(t)return this.client.emit("warning",new Error(t));let i=e["warning message"];i&&this.client.emit("warning",new Error(i));let s=e.interval||e["min interval"];s&&this.setInterval(s*1e3);let n=e["tracker id"];
252if(n&&(this._trackerId=n),e.complete!=null){let a=Object.assign({},e,{announce:this.announceUrl,infoHash:eo(e.info_hash)});this.client.emit("update",a);}let r;if(e.offer&&e.peer_id&&(fs("creating peer (from remote offer)"),r=this._createPeer(),r.id=eo(e.peer_id),r.once("signal",a=>{let l={action:"announce",info_hash:this.client._infoHashBinary,peer_id:this.client._peerIdBinary,to_peer_id:e.peer_id,answer:a,offer_id:e.offer_id};this._trackerId&&(l.trackerid=this._trackerId),this._send(l);}),this.client.emit("peer",r),r.signal(e.offer)),e.answer&&e.peer_id){let a=eo(e.offer_id);r=this.peers[a],r?(r.id=eo(e.peer_id),this.client.emit("peer",r),r.signal(e.answer),clearTimeout(r.trackerTimeout),r.trackerTimeout=null,delete this.peers[a]):fs(`got unexpected answer: ${JSON.stringify(e.answer)}`);}}_onScrapeResponse(e){e=e.files||{};let t=Object.keys(e);if(t.length===0){this.client.emit("warning",new Error("invalid scrape response"));return;}t.forEach(i=>{let s=Object.assign(e[i],{announce:this.announceUrl,infoHash:eo(i)});this.client.emit("scrape",s);});}_onSocketClose(){this.destroyed||(this.destroy(),this._startReconnectTimer());}_onSocketError(e){this.destroyed||(this.destroy(),this.client.emit("warning",e),this._startReconnectTimer());}_startReconnectTimer(){let e=Math.floor(Math.random()*XP)+Math.min(Math.pow(2,this.retries)*KP,YP);this.reconnecting=!0,clearTimeout(this.reconnectTimer),this.reconnectTimer=setTimeout(()=>{this.retries++,this._openSocket();},e),this.reconnectTimer.unref&&this.reconnectTimer.unref(),fs("reconnecting socket in %s ms",e);}_send(e){if(this.destroyed)return;this.expectingResponse=!0;let t=JSON.stringify(e);fs("send %s",t),this.socket.send(t);}_generateOffers(e,t){let i=this,s=[];fs("generating %s offers",e);for(let a=0;a<e;++a)n();r();function n(){let a=To(Qd(20));fs("creating peer (from _generateOffers)");let l=i.peers[a]=i._createPeer({initiator:!0});l.once("signal",c=>{s.push({offer:c,offer_id:fa(a)}),r();}),l.trackerTimeout=setTimeout(()=>{fs("tracker timeout: destroying peer"),l.trackerTimeout=null,delete i.peers[a],l.destroy();},QP),l.trackerTimeout.unref&&l.trackerTimeout.unref();}function r(){s.length===e&&(fs("generated %s offers",e),t(s));}}_createPeer(e){let t=this;e=Object.assign({trickle:!1,config:t.client._rtcConfig,wrtc:t.client._wrtc},e);let i=new xb(e);return i.once("error",s),i.once("connect",n),i;function s(r){t.client.emit("warning",new Error(`Connection error: ${r.message}`)),i.destroy();}function n(){i.removeListener("error",s),i.removeListener("connect",n);}}};pf.prototype.DEFAULT_ANNOUNCE_INTERVAL=30*1e3;pf._socketPool=Ys;function x0(){}var In=Vs("bittorrent-tracker:client"),JP=(()=>{let e=class extends Ab{constructor(t={}){if(super(),!t.peerId)throw new Error("Option `peerId` is required");if(!t.infoHash)throw new Error("Option `infoHash` is required");if(!t.announce)throw new Error("Option `announce` is required");if(!Rd.browser&&!t.port)throw new Error("Option `port` is required");this.peerId=typeof t.peerId=="string"?t.peerId:To(t.peerId),this._peerIdBuffer=Ph(this.peerId),this._peerIdBinary=fa(this.peerId),this.infoHash=typeof t.infoHash=="string"?t.infoHash.toLowerCase():To(t.infoHash),this._infoHashBuffer=Ph(this.infoHash),this._infoHashBinary=fa(this.infoHash),In("new client %s",this.infoHash),this.destroyed=!1,this._port=t.port,this._getAnnounceOpts=t.getAnnounceOpts,this._rtcConfig=t.rtcConfig,this._userAgent=t.userAgent,this._proxyOpts=t.proxyOpts,this._wrtc=typeof t.wrtc=="function"?t.wrtc():t.wrtc;let i=typeof t.announce=="string"?[t.announce]:t.announce==null?[]:t.announce;i=i.map(r=>(ArrayBuffer.isView(r)&&(r=Rb(r)),r[r.length-1]==="/"&&(r=r.substring(0,r.length-1)),r)),i=Array.from(new Set(i));let s=this._wrtc!==!1&&(!!this._wrtc||xb.WEBRTC_SUPPORT),n=r=>{Lh(()=>{this.emit("warning",r);});};this._trackers=i.map(r=>{let a;try{a=Mh.parseUrl(r);}catch(u){return n(new Error(`Invalid tracker URL: ${r}`)),null;}let l=a.port;if(l<0||l>65535)return n(new Error(`Invalid tracker port: ${r}`)),null;let c=a.protocol;return(c==="http:"||c==="https:")&&typeof Ns=="function"?new Ns(this,r):c==="udp:"&&typeof Ns=="function"?new Ns(this,r):(c==="ws:"||c==="wss:")&&s?c==="ws:"&&typeof window<"u"&&window.location.protocol==="https:"?(n(new Error(`Unsupported tracker protocol: ${r}`)),null):new pf(this,r):(n(new Error(`Unsupported tracker protocol: ${r}`)),null);}
252).filter(Boolean);}start(t){t=this._defaultAnnounceOpts(t),t.event="started",In("send `start` %o",t),this._announce(t),this._trackers.forEach(i=>{i.setInterval();});}stop(t){t=this._defaultAnnounceOpts(t),t.event="stopped",In("send `stop` %o",t),this._announce(t);}complete(t){t||(t={}),t=this._defaultAnnounceOpts(t),t.event="completed",In("send `complete` %o",t),this._announce(t);}update(t){t=this._defaultAnnounceOpts(t),t.event&&delete t.event,In("send `update` %o",t),this._announce(t);}_announce(t){this._trackers.forEach(i=>{i.announce(t);});}scrape(t){In("send `scrape`"),t||(t={}),this._trackers.forEach(i=>{i.scrape(t);});}setInterval(t){In("setInterval %d",t),this._trackers.forEach(i=>{i.setInterval(t);});}destroy(t){this.destroyed||(this.destroyed=!0,In("destroy"),wP(this._trackers.map(i=>s=>{i.destroy(s);}),t),this._trackers=[],this._getAnnounceOpts=null);}_defaultAnnounceOpts(t={}){return t.numwant==null&&(t.numwant=Mh.DEFAULT_ANNOUNCE_PEERS),t.uploaded==null&&(t.uploaded=0),t.downloaded==null&&(t.downloaded=0),this._getAnnounceOpts&&(t=Object.assign({},t,this._getAnnounceOpts())),t;}};return e.scrape=(t,i)=>{if(i=CP(i),!t.infoHash)throw new Error("Option `infoHash` is required");if(!t.announce)throw new Error("Option `announce` is required");let s=new e(Object.assign({},t,{infoHash:Array.isArray(t.infoHash)?t.infoHash[0]:t.infoHash,peerId:ff("01234567890123456789"),port:6881}));s.once("error",i),s.once("warning",i);let n=Array.isArray(t.infoHash)?t.infoHash.length:1,r={};return s.on("scrape",a=>{if(n-=1,r[a.infoHash]=a,n===0){s.destroy();let l=Object.keys(r);l.length===1?i(null,r[l[0]]):i(null,r);}}),s.scrape({infoHash:t.infoHash}),s;},e;})(),$u={exports:{}},L0;function ZP(){if(L0)return $u.exports;L0=1;function e(I,P,k,w,R,x,D){var O=I+(P&k|~P&w)+(R>>>0)+D;return(O<<x|O>>>32-x)+P;}function t(I,P,k,w,R,x,D){var O=I+(P&w|k&~w)+(R>>>0)+D;return(O<<x|O>>>32-x)+P;}function i(I,P,k,w,R,x,D){var O=I+(P^k^w)+(R>>>0)+D;return(O<<x|O>>>32-x)+P;}function s(I,P,k,w,R,x,D){var O=I+(k^(P|~w))+(R>>>0)+D;return(O<<x|O>>>32-x)+P;}function n(I){return(256+(I&255)).toString(16).substr(-2);}function r(I){return String.fromCharCode(I&255);}function a(I){return r(I)+r(I>>>8)+r(I>>>16)+r(I>>>24);}var l=function(I){return unescape(encodeURIComponent(I));};function c(I){for(var P=I.length,k=P<<3,w=new Uint32Array(P+72>>>6<<4),R=0,x=I.length;R<x;++R)w[R>>>2]|=I.charCodeAt(R)<<((R&3)<<3);return w[P>>2]|=128<<(k&31),w[w.length-2]=k,w;}var u=$u.exports=function(P){return p(P).toHex();},f=u.fromBytes=function(I){for(var P=c(I),k=1732584193,w=4023233417,R=2562383102,x=271733878,D=7,O=12,V=17,$=22,N=5,F=9,K=14,re=20,oe=4,J=11,ge=16,q=23,G=6,ne=10,he=15,ce=21,ie=0,Ce=P.length;ie<Ce;ie+=16){var Re=k,Ge=w,$e=R,lt=x;k=e(k,w,R,x,P[ie+0],D,3614090360),x=e(x,k,w,R,P[ie+1],O,3905402710),R=e(R,x,k,w,P[ie+2],V,606105819),w=e(w,R,x,k,P[ie+3],$,3250441966),k=e(k,w,R,x,P[ie+4],D,4118548399),x=e(x,k,w,R,P[ie+5],O,1200080426),R=e(R,x,k,w,P[ie+6],V,2821735955),w=e(w,R,x,k,P[ie+7],$,4249261313),k=e(k,w,R,x,P[ie+8],D,1770035416),x=e(x,k,w,R,P[ie+9],O,2336552879),R=e(R,x,k,w,P[ie+10],V,4294925233),w=e(w,R,x,k,P[ie+11],$,2304563134),k=e(k,w,R,x,P[ie+12],D,1804603682),x=e(x,k,w,R,P[ie+13],O,4254626195),R=e(R,x,k,w,P[ie+14],V,2792965006),w=e(w,R,x,k,P[ie+15],$,1236535329),k=t(k,w,R,x,P[ie+1],N,4129170786),x=t(x,k,w,R,P[ie+6],F,3225465664),R=t(R,x,k,w,P[ie+11],K,643717713),w=t(w,R,x,k,P[ie+0],re,3921069994),k=t(k,w,R,x,P[ie+5],N,3593408605),x=t(x,k,w,R,P[ie+10],F,38016083),R=t(R,x,k,w,P[ie+15],K,3634488961),w=t(w,R,x,k,P[ie+4],re,3889429448),k=t(k,w,R,x,P[ie+9],N,568446438),x=t(x,k,w,R,P[ie+14],F,3275163606),R=t(R,x,k,w,P[ie+3],K,4107603335),w=t(w,R,x,k,P[ie+8],re,1163531501),k=t(k,w,R,x,P[ie+13],N,2850285829),x=t(x,k,w,R,P[ie+2],F,4243563512),R=t(R,x,k,w,P[ie+7],K,1735328473),w=t(w,R,x,k,P[ie+12],re,2368359562),k=i(k,w,R,x,P[ie+5],oe,4294588738),x=i(x,k,w,R,P[ie+8],J,2272392833),R=i(R,x,k,w,P[ie+11],ge,1839030562),w=i(w,R,x,k,P[ie+14],q,4259657740),k=i(k,w,R,x,P[ie+1],oe,2763975236),x=i(x,k,w,R,P[ie+4],J,1272893353),R=i(R,x,k,w,P[ie+7],ge,4139469664),w=i(w,R,x,k,P[ie+10],q,3200236656),k=i(k,w,R,x,P[ie+13],oe,681279174),x=i(x,k,w,R,P[ie+0],J,3936430074),R=i(R,x,k,w,P[ie+3],ge,3572445317),w=i(w,R,x,k,P[ie+6],q,76029189),k=i(k,w,R,x,P[ie+9],oe,3654602809),x=i(x,k,w,R,P[ie+12],J,3873151461),R=i(R,x,k,w,P[ie+15],ge,530742520),w=i(w,R,x,k,P[ie+2],q,3299628645),k=s(k,w,R,x,P[ie+0],G,4096336452),x=s(x,k,w,R,P[ie+7],ne,1126891415),R=s(R,x,k,w,P[ie+14],he,2878612391),w=s(w,R,x,k,P[ie+5],ce,4237533241),k=s(k,w,R,x,P[ie+12],G,1700485571),x=s(x,k,w,R,P[ie+3],ne,2399980690),R=s(R,x,k,w,P[ie+10],he,4293915773),w=s(w,R,x,k,P[ie+1],ce,2240044497),
252k=s(k,w,R,x,P[ie+8],G,1873313359),x=s(x,k,w,R,P[ie+15],ne,4264355552),R=s(R,x,k,w,P[ie+6],he,2734768916),w=s(w,R,x,k,P[ie+13],ce,1309151649),k=s(k,w,R,x,P[ie+4],G,4149444226),x=s(x,k,w,R,P[ie+11],ne,3174756917),R=s(R,x,k,w,P[ie+2],he,718787259),w=s(w,R,x,k,P[ie+9],ce,3951481745),k=k+Re>>>0,w=w+Ge>>>0,R=R+$e>>>0,x=x+lt>>>0;}var ft=new String(a(k)+a(w)+a(R)+a(x));return ft.toHex=function(){for(var Ne="",Xe=0,tt=ft.length;Xe<tt;++Xe)Ne+=n(ft.charCodeAt(Xe));return Ne;},ft;},p=u.fromUtf8=function(I){return f(l(I));},g="./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";function v(I,P){for(var k="";--P>=0;I>>>=6)k+=g.charAt(I&63);return k;}var T=64,y=[0,6,12,1,7,13,2,8,14,3,9,15,4,10,5,11],A=u.salt=function(I){var P="";I||(I=8);do P+=g.charAt(64*Math.random()>>>0);while(--I);return P;};return u.crypt=function(I,P){if(I.length>T)throw Error("too long key");P||(P="$1$"+A()),I=l(I);for(var k=l(P.replace(/^\$1\$([^$]+)(?:\$.*)?$/,"$1")),w=f(I+k+I),R=I+"$1$"+k,x=I.length;x>16;x-=16)R+=w;R+=w.slice(0,x);for(var x=I.length;x;x>>=1)R+=x&1?"\0":I.charAt(0);w=f(R);for(var D=0;D<1e3;++D)w=f((D&1?I:w)+(D%3?k:"")+(D%7?I:"")+(D&1?w:I));for(var O="$1$"+k+"$",D=0;D<15;D+=3)O+=v(w.charCodeAt(y[D+0])<<16|w.charCodeAt(y[D+1])<<8|w.charCodeAt(y[D+2]),4);return O+v(w.charCodeAt(y[15]),2);},$u.exports;}var eR=br(ZP()),tR=`-PM${oR("2.2.2")}-`,iR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",sR=20;function nR(e){let t=eR.fromUtf8(e).slice(1);return btoa(t);}function rR(e){let t=[e],i=sR-e.length;for(let s=0;s<i;s++)t.push(iR[Math.floor(Math.random()*62)]);return t.join("");}function oR(e){let t=e.split(".");return`${t[0].padStart(2,"0")}${t[1].padStart(2,"0")}`;}function Fn(e){return`${e.type}-${e.index}`;}function M0(e){let{externalId:t}=e;return`(${Fn(e.stream)} | ${t})`;}function aR(){let e,t;return{promise:new Promise((i,s)=>{e=i,t=s;}),resolve:e,reject:t};}function Lb(e,t){t??=e.reduce((n,r)=>n+r.byteLength,0);let i=new Uint8Array(t),s=0;for(let n of e)i.set(n,s),s+=n.byteLength;return i;}function lR(e){return e[Math.floor(Math.random()*e.length)];}function O0(e){let t=new TextEncoder(),i=new Uint8Array(e.length);return t.encodeInto(e,i),i;}function dR(e){let t=new Uint8Array(e.length/2);for(let i=0;i<e.length;i+=2)t[i/2]=parseInt(e.slice(i,i+2),16);return new TextDecoder().decode(t);}function*D0(e){for(let t=e.length-1;t>=0;t--)yield e[t];}function Mb(e){return!!e&&typeof e=="object"&&!Array.isArray(e);}function cR(e){return Array.isArray(e);}function uR(e){function t(i){if(Mb(i)){let s={};
252return Object.keys(i).forEach(n=>{if(i[n]!==void 0){let r=t(i[n]);r!==void 0&&(s[n]=r);}}),s;}else return i;}return t(e);}function On(e){if(cR(e))return e.map(t=>On(t));if(Mb(e)){let t={};for(let i of Object.keys(e))t[i]=On(e[i]);return t;}else return e;}function hR(e){for(let t=e.length-1;t>0;t--){let i=Math.floor(Math.random()*(t+1));[e[t],e[i]]=[e[i],e[t]];}return e;}function Qo(e,t,i={}){return typeof e!="object"||e===null||typeof t!="object"||t===null||Object.keys(t).forEach(s=>{let n=typeof s=="symbol"?s.toString():String(s);if(s==="__proto__"||s==="constructor"||s==="prototype")throw new Error(`Attempt to modify restricted property '${n}'`);let r=t[s],a=i[s];s in e&&(r===void 0?e[s]=a===void 0?void 0:a:e[s]=r);}),e;}function Hu(e){let{defaultConfig:t,baseConfig:i={},specificStreamConfig:s={}}=e,n=On(ze(ze(ze({},t),i),s)),r=Object.keys(t),a={};return r.forEach(l=>{l in n&&(a[l]=n[l]);}),a;}var Ln=(e=>(e[e.SegmentsAnnouncement=0]="SegmentsAnnouncement",e[e.SegmentRequest=1]="SegmentRequest",e[e.SegmentData=2]="SegmentData",e[e.SegmentDataSendingCompleted=3]="SegmentDataSendingCompleted",e[e.SegmentAbsent=4]="SegmentAbsent",e[e.CancelSegmentRequest=5]="CancelSegmentRequest",e))(Ln||{}),yo=(e=>(e[e.Min=-1]="Min",e[e.Int=0]="Int",e[e.SimilarIntArray=1]="SimilarIntArray",e[e.String=2]="String",e[e.Max=3]="Max",e))(yo||{});function fR(e){return e<0?-e:e;}function pR(e){let t=e.toString(2),i=e<0?t.length:t.length+1;return Math.ceil(i/8);}function mR(e){let t=e<0,i=pR(e),s=new Uint8Array(i),n=BigInt(i);e=fR(e);for(let r=0;r<i;r++){let a=8n*(n-1n-BigInt(r)),l=e>>a&255n;s[r]=Number(l);}return t&&(s[0]=s[0]|128),s;}function gR(e){let t=BigInt(e.length),i=(n,r)=>{let a=8n*(t-1n-BigInt(r));return BigInt(n)<<a;},s=i(e[0]&127,0);for(let n=1;n<t;n++)s=i(e[n],n)|s;return(e[0]&128)>>7!==0&&(s=-s),s;}function Ob(e){let t=mR(e),i=0|t.length;return new Uint8Array([i,...t]);}function Db(e){let t=e[0];if(t>>4!==0)throw new Error("Trying to deserialize integer with invalid serialized item code");let i=t&15,s=1,n=s+i;return{number:gR(e.slice(s,n)),byteLength:i+1};}function vR(e){let t=new Map();for(let s of e){let n=s&-256n,r=s&255n,a=t.get(n)??new Ta();a.length||t.set(n,a),a.push(Number(r));}let i=new Ta();i.push([16,t.size]);for(let[s,n]of t){let{length:r}=n.getBytesChunks(),a=s|BigInt(r)&255n;n.unshift(Ob(a)),i.push(n.getBuffer());}return i.getBuffer();}function yR(e){let[t,i]=e;if(t>>4!==1)throw new Error("Trying to deserialize similar int array with invalid serialized item code");let s=2,n=[];for(let r=0;r<i;r++){let{number:a,byteLength:l}=Db(e.slice(s));s+=l;let c=a&255n,u=a&-256n;for(let f=0;f<c;f++){let p=BigInt(e[s]);n.push(u|p),s++;}}return{numbers:n,byteLength:s};}function _R(e){let{length:t}=e,i=new Ta();return i.push([32|t>>8&15,t&255]),i.push(new TextEncoder().encode(e)),i.getBuffer();}function bR(e){let[t,i]=e;if(t>>4!==2)throw new Error("Trying to deserialize bytes (sting) with invalid serialized item code.");let s=(t&15)<<8|i,n=e.slice(2,s+2);return{string:new TextDecoder("utf8").decode(n),byteLength:s+2};}var Ta=class{bytes=[];_length=0;push(e){this.addBytes(e,"end");}unshift(e){this.addBytes(e,"start");}addBytes(e,t){let i;e instanceof Uint8Array?i=e:Array.isArray(e)?i=new Uint8Array(e):i=new Uint8Array([e]),this._length+=i.length,this.bytes[t==="start"?"unshift":"push"](i);}getBytesChunks(){return this.bytes;}getBuffer(){return Lb(this.bytes,this._length);}get length(){return this._length;}},vs=4,Eo=lc("cstr",vs),Ea=lc("cend",vs),Oh=lc("dstr",vs),Dh=lc("dend",vs),TR=[Eo,Oh],ER=[Ea,Dh],j0=Eo.length+Ea.length;function jb(e){let{length:t}=Eo,i=e.slice(-t);return TR.some(s=>Zd(e,s,vs))&&ER.some(s=>Zd(i,s,vs));}function CR(e){return Zd(e,Eo,vs);}function SR(e){return Zd(e.slice(-vs),Ea,vs);}var Jd=class extends Error{constructor(e){super(),this.type=e;}},Nb=class{constructor(e){this.onComplete=e;}chunks=new Ta();status="joining";addCommandChunk(e){if(this.status==="completed")return;let t=CR(e);if(!this.chunks.length&&!t)throw new Jd("no-first-chunk");if(this.chunks.length&&t)throw new Jd("incomplete-joining");
252this.chunks.push(this.unframeCommandChunk(e)),SR(e)&&(this.status="completed",this.onComplete(this.chunks.getBuffer()));}unframeCommandChunk(e){return e.slice(vs,e.length-vs);}},ac=class{constructor(e,t){this.maxChunkLength=t,this.bytes.push(e);}bytes=new Ta();resultBuffers=[];status="creating";addInteger(e,t){this.bytes.push(e.charCodeAt(0));let i=Ob(BigInt(t));this.bytes.push(i);}addSimilarIntArr(e,t){this.bytes.push(e.charCodeAt(0));let i=vR(t.map(s=>BigInt(s)));this.bytes.push(i);}addString(e,t){this.bytes.push(e.charCodeAt(0));let i=_R(t);this.bytes.push(i);}complete(){if(!this.bytes.length)throw new Error("Buffer is empty");if(this.status==="completed")return;this.status="completed";let e=this.bytes.getBuffer();if(e.length+j0<=this.maxChunkLength){this.resultBuffers.push(ad(e,Eo,Ea));return;}let t=Math.ceil(e.length/this.maxChunkLength);Math.ceil(e.length/t)+j0>this.maxChunkLength&&t++;for(let[i,s]of AR(e,t))i===0?this.resultBuffers.push(ad(s,Eo,Dh)):i===t-1?this.resultBuffers.push(ad(s,Oh,Ea)):this.resultBuffers.push(ad(s,Oh,Dh));}getResultBuffers(){if(this.status==="creating"||!this.resultBuffers.length)throw new Error("Command is not complete.");return this.resultBuffers;}};function Fb(e){let[t]=e,i={c:t},s=1;for(;s<e.length;){let n=String.fromCharCode(e[s]);switch(s++,wR(e[s])){case yo.Int:{let{number:r,byteLength:a}=Db(e.slice(s));i[n]=Number(r),s+=a;}break;case yo.SimilarIntArray:{let{numbers:r,byteLength:a}=yR(e.slice(s));i[n]=r.map(l=>Number(l)),s+=a;}break;case yo.String:{let{string:r,byteLength:a}=bR(e.slice(s));i[n]=r,s+=a;}break;}}return i;}function wR(e){let t=e>>4;if(t<=yo.Min||t>=yo.Max)throw new Error("Not existing type");return t;}function lc(e,t){if(e.length!==t)throw new Error("Wrong string length");let i=new Uint8Array(t);for(let s=0;s<e.length;s++)i[s]=e.charCodeAt(s);return i;}function*AR(e,t){let i=Math.ceil(e.length/t);for(let s=0;s<t;s++)yield[s,e.slice(s*i,(s+1)*i)];}function ad(e,t,i){let s=new Uint8Array(e.length+t.length+i.length);return s.set(t),s.set(e,t.length),s.set(i,t.length+e.length),s;}function Zd(e,t,i){for(let s=0;s<i;s++)if(e[s]!==t[s])return!1;return!0;}function IR(e,t){let{c:i,p:s,l:n}=e,r=new ac(i,t);return n?.length&&r.addSimilarIntArr("l",n),s?.length&&r.addSimilarIntArr("p",s),r.complete(),r.getResultBuffers();}function kR(e,t){let i=new ac(e.c,t);return i.addInteger("i",e.i),i.addInteger("r",e.r),i.complete(),i.getResultBuffers();}function PR(e,t){let i=new ac(e.c,t);return i.addInteger("i",e.i),i.addInteger("s",e.s),i.addInteger("r",e.r),i.complete(),i.getResultBuffers();}function RR(e,t){let i=new ac(e.c,t);return i.addInteger("i",e.i),i.addInteger("r",e.r),e.b&&i.addInteger("b",e.b),i.complete(),i.getResultBuffers();}function Bb(e,t){switch(e.c){case Ln.CancelSegmentRequest:case Ln.SegmentAbsent:case Ln.SegmentDataSendingCompleted:return kR(e,t);case Ln.SegmentRequest:return RR(e,t);case Ln.SegmentsAnnouncement:return IR(e,t);case Ln.SegmentData:return PR(e,t);}}var xR=Object.freeze(Object.defineProperty({__proto__:null,BinaryCommandChunksJoiner:Nb,BinaryCommandJoiningError:Jd,PeerCommandType:Ln,deserializeCommand:Fb,isCommandChunk:jb,serializePeerCommand:Bb},Symbol.toStringTag,{value:"Module"})),LR=class{constructor(e,t,i,s){this.connection=e,this.peerConfig=t,this.eventHandlers=i,this.onChunkDownloaded=s.getEventDispatcher("onChunkDownloaded"),this.onChunkUploaded=s.getEventDispatcher("onChunkUploaded"),e.on("data",this.onDataReceived);}commandChunks;uploadingContext;onChunkDownloaded;onChunkUploaded;onDataReceived=e=>{jb(e)?this.receivingCommandBytes(e):(this.eventHandlers.onSegmentChunkReceived(e),this.onChunkDownloaded(e.byteLength,"p2p",this.connection.idUtf8));};sendCommand(e){let t=Bb(e,this.peerConfig.webRtcMaxMessageSize);for(let i of t)this.connection.write(i);}stopUploadingSegmentData(){this.uploadingContext?.stopUploading(),this.uploadingContext=void 0;}getUploadingRequestId(){return this.uploadingContext?.requestId;}splitSegmentDataToChunksAndUploadAsync(e,t){return Qe(this,null,function*(){if(this.uploadingContext)throw new Error("Some segment data is already uploading.");let i=MR(e,this.peerConfig.webRtcMaxMessageSize),{promise:s,resolve:n,reject:r}=aR(),a=!1,l={stopUploading:()=>{a=!1;},requestId:t};this.uploadingContext=l;let c=()=>
252{if(!a){r();return;}for(;;){let u=i.next().value;if(!u){n();break;}let f=this.connection.write(u);if(this.onChunkUploaded(u.byteLength,this.connection.idUtf8),!f)break;}};try{this.connection.on("drain",c),a=!0,c(),yield s;}finally{this.connection.off("drain",c),this.uploadingContext===l&&(this.uploadingContext=void 0);}});}receivingCommandBytes(e){this.commandChunks??=new Nb(t=>{this.commandChunks=void 0;let i=Fb(t);this.eventHandlers.onCommandReceived(i);});try{this.commandChunks.addCommandChunk(e);}catch(t){if(!(t instanceof Jd))return;this.commandChunks=void 0;}}};function*MR(e,t){let i=e.byteLength;for(;i>0;){let s=i>=t?t:i,n=e.byteLength-i,r=e.slice(n,n+s);i-=s,yield r;}}var{PeerCommandType:ts}=xR,N0=class Ub{constructor(t,i,s,n,r){this.connection=t,this.eventHandlers=i,this.peerConfig=s,this.streamType=n,this.eventTarget=r,this.onPeerClosed=r.getEventDispatcher("onPeerClose"),this.id=Ub.getPeerIdFromConnection(t),this.peerProtocol=new LR(t,s,{onSegmentChunkReceived:this.onSegmentChunkReceived,onCommandReceived:this.onCommandReceived},r),r.getEventDispatcher("onPeerConnect")({peerId:this.id,streamType:n}),t.on("error",this.onConnectionError),t.on("close",this.onPeerConnectionClosed),t.on("end",this.onPeerConnectionClosed),t.on("finish",this.onPeerConnectionClosed);}id;peerProtocol;downloadingContext;loadedSegments=new Set();httpLoadingSegments=new Set();downloadingErrors=[];logger=Vs("p2pml-core:peer");onPeerClosed;get downloadingSegment(){return this.downloadingContext?.request.segment;}getSegmentStatus(t){let{externalId:i}=t;if(this.loadedSegments.has(i))return"loaded";if(this.httpLoadingSegments.has(i))return"http-loading";}onCommandReceived=t=>Qe(this,null,function*(){switch(t.c){case ts.SegmentsAnnouncement:this.loadedSegments=new Set(t.l),this.httpLoadingSegments=new Set(t.p),this.eventHandlers.onSegmentsAnnouncement();break;case ts.SegmentRequest:this.peerProtocol.stopUploadingSegmentData(),this.eventHandlers.onSegmentRequested(this,t.i,t.r,t.b);break;case ts.SegmentData:{if(!this.downloadingContext||this.downloadingContext.isSegmentDataCommandReceived)break;let{request:i,controls:s,requestId:n}=this.downloadingContext;if(i.segment.externalId!==t.i||n!==t.r)break;this.downloadingContext.isSegmentDataCommandReceived=!0,s.firstBytesReceived(),i.totalBytes===void 0?i.setTotalBytes(t.s):i.totalBytes-i.loadedBytes!==t.s&&(i.clearLoadedBytes(),this.sendCancelSegmentRequestCommand(i.segment,n),this.cancelSegmentDownloading("peer-response-bytes-length-mismatch"),this.destroy());}break;case ts.SegmentDataSendingCompleted:{let{downloadingContext:i}=this;if(!i?.isSegmentDataCommandReceived)return;let{request:s,controls:n}=i;if(i.request.segment.externalId!==t.i||i.requestId!==t.r){s.clearLoadedBytes(),this.cancelSegmentDownloading("peer-protocol-violation"),this.destroy();return;}if(s.loadedBytes!==s.totalBytes){s.clearLoadedBytes(),this.cancelSegmentDownloading("peer-response-bytes-length-mismatch"),this.destroy();return;}let r=(yield this.peerConfig.validateP2PSegment?.(s.segment.url,s.segment.byteRange,s.data))??!0;if(this.downloadingContext!==i)return;if(!r){s.clearLoadedBytes(),this.cancelSegmentDownloading("p2p-segment-validation-failed"),this.destroy();return;}this.downloadingErrors=[],n.completeOnSuccess(),this.downloadingContext=void 0;break;}case ts.SegmentAbsent:this.downloadingContext?.request.segment.externalId===t.i&&this.downloadingContext.requestId===t.r&&(this.cancelSegmentDownloading("peer-segment-absent"),this.loadedSegments.delete(t.i));break;case ts.CancelSegmentRequest:if(this.peerProtocol.getUploadingRequestId()!==t.r)break;this.peerProtocol.stopUploadingSegmentData();break;}});onSegmentChunkReceived=t=>{if(!this.downloadingContext?.isSegmentDataCommandReceived)return;let{request:i,controls:s}=this.downloadingContext;if(i.totalBytes!==void 0&&i.loadedBytes+t.byteLength>i.totalBytes){i.clearLoadedBytes(),this.cancelSegmentDownloading("peer-response-bytes-length-mismatch"),this.destroy();return;}s.addLoadedChunk(t);};downloadSegment(t){if(this.downloadingContext)throw new Error("Some segment already is downloading");this.downloadingContext={request:t,requestId:Math.floor(Math.random()*1e3),isSegmentDataCommandReceived:!1,controls:t.start({downloadSource:"p2p",peerId:this.id},{notReceivingBytesTimeoutMs:this.peerConfig.p2pNotReceivingBytesTimeoutMs,abort:s=>{if(!this.downloadingContext)return;let{request:n,requestId:r}=this.downloadingContext;this.sendCancelSegmentRequestCommand(n.segment,r),this.downloadingErrors.push(s),this.downloadingContext=void 0,this.downloadingErrors.filter(a=>a.type==="bytes-receiving-timeout").length>=this.peerConfig.p2pErrorRetries&&this.destroy();}})};let i={c:ts.SegmentRequest,r:this.downloadingContext.requestId,i:t.segment.externalId};t.loadedBytes&&(i.b=t.loadedBytes),this.peerProtocol.sendCommand(i);}uploadSegmentData(t,i,s){return Qe(this,null,function*(){let{externalId:n}=t;this.logger(`send segment ${t.externalId} to ${this.id}`);let r={c:ts.SegmentData,i:n,r:i,s:s.byteLength};this.peerProtocol.sendCommand(r);try{yield this.peerProtocol.splitSegmentDataToChunksAndUploadAsync(s,i),this.sendSegmentDataSendingCompletedCommand(t,i),this.logger(`segment ${n} has been sent to ${this.id}`);}catch(a){this.logger(`cancel segment uploading ${n}`);}});}cancelSegmentDownloading(t){if(!this.downloadingContext)return;
252let{request:i,controls:s}=this.downloadingContext,{segment:n}=i;this.logger(`cancel segment request ${n.externalId} (${t})`);let r=new is(t);s.abortOnError(r),this.downloadingContext=void 0,this.downloadingErrors.push(r);}sendSegmentsAnnouncementCommand(t,i){let s={c:ts.SegmentsAnnouncement,p:i,l:t};this.peerProtocol.sendCommand(s);}sendSegmentAbsentCommand(t,i){this.peerProtocol.sendCommand({c:ts.SegmentAbsent,i:t,r:i});}sendCancelSegmentRequestCommand(t,i){this.peerProtocol.sendCommand({c:ts.CancelSegmentRequest,i:t.externalId,r:i});}sendSegmentDataSendingCompletedCommand(t,i){this.peerProtocol.sendCommand({c:ts.SegmentDataSendingCompleted,r:i,i:t.externalId});}onPeerConnectionClosed=()=>{this.destroy();};onConnectionError=t=>{this.logger(`peer connection error ${this.id} %O`,t),this.eventTarget.getEventDispatcher("onPeerError")({peerId:this.id,streamType:this.streamType,error:t});let{code:i}=t;i==="ERR_DATA_CHANNEL"?this.destroy():i==="ERR_CONNECTION_FAILURE"&&this.destroy();};destroy=()=>{this.cancelSegmentDownloading("peer-closed"),this.connection.destroy(),this.eventHandlers.onPeerClosed(this),this.onPeerClosed({peerId:this.id,streamType:this.streamType}),this.logger(`peer closed ${this.id}`);};static getPeerIdFromConnection(t){return dR(t.id);}};function OR(){let e=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),t=/\b(iPad|iPhone|Macintosh).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent);return e||t;}var Vb=(()=>{var t;return t=class{constructor(s,n,r,a,l){this.stream=n,this.eventHandlers=r,this.config=a,this.eventTarget=l;let c=nR(s);this.streamShortId=Fn(n);let u=t.PEER_ID_BY_INFO_HASH.get(c);u||(u=rR(a.trackerClientVersionPrefix),t.PEER_ID_BY_INFO_HASH.set(c,u)),this.client=new JP({infoHash:O0(c),peerId:O0(u),announce:OR()?a.announceTrackers.slice(0,1):a.announceTrackers,rtcConfig:this.config.rtcConfig}),this.client.on("peer",this.onReceivePeerConnection),this.client.on("warning",this.onTrackerClientWarning),this.client.on("error",this.onTrackerClientError),this.logger(`create new client; 253stream: ${this.streamShortId}; hash: ${c} 254peerId: ${u}`);}streamShortId;client;_peers=new Map();logger=Vs("p2pml-core:p2p-tracker-client");start(){this.client.start();}destroy(){this.client.destroy();for(let{peer:s,potentialConnections:n}of this._peers.values()){s?.destroy();for(let r of n)r.destroy();}this._peers.clear(),this.logger("destroy client; stream:",this.streamShortId);}onReceivePeerConnection=s=>{let n=N0.getPeerIdFromConnection(s),r=this._peers.get(n);if(r?.peer){s.destroy();return;}r||(r={potentialConnections:new Set()},s.idUtf8=n,this._peers.set(n,r)),r.potentialConnections.add(s),s.on("connect",()=>{if(!r.peer){for(let a of r.potentialConnections)a!==s&&a.destroy();r.potentialConnections.clear(),r.peer=new N0(s,{onPeerClosed:this.onPeerClosed,onSegmentRequested:this.eventHandlers.onSegmentRequested,onSegmentsAnnouncement:this.eventHandlers.onSegmentsAnnouncement},this.config,this.stream.type,this.eventTarget),this.logger(`connected with peer: ${r.peer.id} ${this.streamShortId}`),this.eventHandlers.onPeerConnected(r.peer);}});};onTrackerClientWarning=s=>{this.logger("tracker warning %s:",this.streamShortId,s),this.eventTarget.getEventDispatcher("onTrackerWarning")({streamType:this.stream.type,warning:s});};onTrackerClientError=s=>{this.logger("tracker error in stream %s:",this.streamShortId,s),this.eventTarget.getEventDispatcher("onTrackerError")({streamType:this.stream.type,error:s});};*peers(){for(let s of this._peers.values())s.peer&&(yield s.peer);}onPeerClosed=s=>{this.logger(`peer closed: ${s.id}`),this._peers.delete(s.id);};static clearPeerIdCache(){t.PEER_ID_BY_INFO_HASH.clear();}},xe(t,"PEER_ID_BY_INFO_HASH",new Map()),t;})(),DR="v2";function en(e,t){return`${DR}-${e}-${NR(t)}`;}function F0(e,t){for(let i of e.values()){let s=i.segments.get(t);if(s)return s;}}function jR(e,t){for(let i of e.segments.values())if(i.externalId===t)return i;}function NR(e){return`${e.type}-${e.index}`;}function FR(e){let{segments:t}=e,i=0,{size:s}=t;for(let n of t.values()){let r=n.endTime-n.startTime;i+=r;}return i/s;}function BR(e,t){let{highDemandTimeWindow:i,httpDownloadTimeWindow:s,p2pDownloadTimeWindow:n}=e,r={highDemandTimeWindow:i,httpDownloadTimeWindow:s,p2pDownloadTimeWindow:n};return t<=5?(r.httpDownloadTimeWindow=0,r.p2pDownloadTimeWindow=0):t<=10&&(r.p2pDownloadTimeWindow=r.httpDownloadTimeWindow),r;}function zu(e,t,i,s,n){let{highDemandTimeWindow:r,httpDownloadTimeWindow:a,p2pDownloadTimeWindow:l}=BR(i,n);return{isHighDemand:Gu(e,t,r),isHttpDownloadable:Gu(e,t,a),isP2PDownloadable:Gu(e,t,l)&&s.isSegmentLoadingOrLoadedBySomeone(e)};}function Gu(e,t,i){let{startTime:s,endTime:n}=e,{position:r,rate:a}=t;return!(r+i*a<s||r>n);}var UR=class{constructor(e,t,i,s,n,r,a){this.streamManifestUrl=e,this.stream=t,this.requests=i,this.segmentStorage=s,this.config=n,this.eventTarget=r,this.onSegmentAnnouncement=a;let l=en(this.config.swarmId??this.streamManifestUrl,this.stream);this.trackerClient=new Vb(l,this.stream,{onPeerConnected:this.onPeerConnected,onSegmentRequested:this.onSegmentRequested,onSegmentsAnnouncement:this.onSegmentAnnouncement},this.config,this.eventTarget),this.eventTarget.addEventListener(`onStorageUpdated-${l}`,this.broadcastAnnouncement),this.segmentStorage.setSegmentChangeCallback(c=>{this.eventTarget.dispatchEvent(`onStorageUpdated-${c}`);}),this.trackerClient.start();}trackerClient;isAnnounceMicrotaskCreated=!1;downloadSegment(e){let t=[];for(let n of this.trackerClient.peers())!n.downloadingSegment&&n.getSegmentStatus(e)==="loaded"&&t.push(n);if(t.length===0)return;let i=lR(t),s=this.requests.getOrCreateRequest(e);i.downloadSegment(s);}isSegmentLoadingOrLoadedBySomeone(e){for(let t of this.trackerClient.peers())if(t.getSegmentStatus(e))return!0;return!1;}isSegmentLoadedBySomeone(e){for(let t of this.trackerClient.peers())if(t.getSegmentStatus(e)==="loaded")return!0;return!1;}get connectedPeerCount(){let e=0,t=this.trackerClient.peers();for(;!t.next().done;)e++;return e;}getSegmentsAnnouncement(){let e=this.config.swarmId??this.streamManifestUrl,t=en(e,this.stream),i=this.segmentStorage.getStoredSegmentIds(e,t),s=[];for(let n of this.requests.httpRequests()){let r=this.stream.segments.get(n.segment.runtimeId);r&&s.push(r.externalId);}return{loaded:i,httpLoading:s};}onPeerConnected=e=>{if(this.config.isP2PUploadDisabled)return;let{httpLoading:t,loaded:i}=this.getSegmentsAnnouncement();e.sendSegmentsAnnouncementCommand(i,t);};broadcastAnnouncement=(e=!1)=>
254{if(e){this.sendSegmentsAnnouncement([],[]);return;}if(this.isAnnounceMicrotaskCreated||this.config.isP2PUploadDisabled)return;let{loaded:t,httpLoading:i}=this.getSegmentsAnnouncement();this.sendSegmentsAnnouncement(t,i);};sendSegmentsAnnouncement=(e,t)=>{this.isAnnounceMicrotaskCreated=!0,queueMicrotask(()=>{for(let i of this.trackerClient.peers())i.sendSegmentsAnnouncementCommand(e,t);this.isAnnounceMicrotaskCreated=!1;});};onSegmentRequested=(e,t,i,s)=>Qe(this,null,function*(){let n=jR(this.stream,t);if(!n)return;if(this.config.isP2PUploadDisabled){e.sendSegmentAbsentCommand(t,i);return;}let r=this.config.swarmId??this.streamManifestUrl,a=en(r,this.stream),l=yield this.segmentStorage.getSegmentData(r,a,n.externalId);if(!l){e.sendSegmentAbsentCommand(t,i);return;}yield e.uploadSegmentData(n,i,s!==void 0?l.slice(s):l);});destroy(){let e=en(this.config.swarmId??this.streamManifestUrl,this.stream);this.eventTarget.removeEventListener(`onStorageUpdated-${e}`,this.broadcastAnnouncement),this.trackerClient.destroy();}},VR=class{constructor(e,t,i,s,n,r,a){this.streamManifestUrl=e,this.requests=i,this.segmentStorage=s,this.config=n,this.eventTarget=r,this.onSegmentAnnouncement=a,this._currentLoaderItem=this.findOrCreateLoaderForStream(t),this.logger(`set current p2p loader: ${Fn(t)}`);}loaders=new Map();_currentLoaderItem;logger=Vs("p2pml-core:p2p-loaders-container");createLoader(e){if(this.loaders.has(e.runtimeId))throw new Error("Loader for this stream already exists");let t=new UR(this.streamManifestUrl,e,this.requests,this.segmentStorage,this.config,this.eventTarget,()=>{this._currentLoaderItem.loader===t&&this.onSegmentAnnouncement();}),i=Fn(e);return this.logger(`created new loader: ${i}`),{loader:t,stream:e,loggerInfo:Fn(e)};}findOrCreateLoaderForStream(e){let t=this.loaders.get(e.runtimeId);if(t)return clearTimeout(t.destroyTimeoutId),t.destroyTimeoutId=void 0,t;{let i=this.createLoader(e);return this.loaders.set(e.runtimeId,i),i;}}changeCurrentLoader(e){let t=this.config.swarmId??this.streamManifestUrl,i=en(t,this._currentLoaderItem.stream);this.segmentStorage.getStoredSegmentIds(t,i).length?this.setLoaderDestroyTimeout(this._currentLoaderItem):this.destroyAndRemoveLoader(this._currentLoaderItem),this._currentLoaderItem=this.findOrCreateLoaderForStream(e),this.logger(`change current p2p loader: ${Fn(e)}`);}setLoaderDestroyTimeout(e){e.destroyTimeoutId=window.setTimeout(()=>this.destroyAndRemoveLoader(e),this.config.p2pInactiveLoaderDestroyTimeoutMs);}destroyAndRemoveLoader(e){e.loader.destroy(),this.loaders.delete(e.stream.runtimeId),this.logger("destroy p2p loader: ",e.loggerInfo);}get currentLoader(){return this._currentLoaderItem.loader;}destroy(){for(let{loader:e,destroyTimeoutId:t}of this.loaders.values())e.destroy(),clearTimeout(t);this.loaders.clear();}};function ld(e){return{runtimeId:e.runtimeId,externalId:e.externalId,url:e.url,byteRange:e.byteRange,startTime:e.startTime,endTime:e.endTime};}var $R=class{constructor(t,i,s,n,r,a){this.segment=t,this.requestProcessQueueCallback=i,this.bandwidthCalculators=s,this.playback=n,this.playbackConfig=r,this.onSegmentError=a.getEventDispatcher("onSegmentError"),this.onSegmentAbort=a.getEventDispatcher("onSegmentAbort"),this.onSegmentStart=a.getEventDispatcher("onSegmentStart"),this.onSegmentLoaded=a.getEventDispatcher("onSegmentLoaded");let{byteRange:l}=this.segment;if(l){let{end:u,start:f}=l;this._totalBytes=u-f+1;}this.notReceivingBytesTimeout=new zR(this.abortOnTimeout);let{type:c}=this.segment.stream;this._logger=Vs(`p2pml-core:request-${c}`);}currentAttempt;_failedAttempts=new HR();finalData;bytes=[];_loadedBytes=0;_totalBytes;_status="not-started";progress;notReceivingBytesTimeout;_abortRequestCallback;_logger;_isHandledByProcessQueue=!1;onSegmentError;onSegmentAbort;onSegmentStart;onSegmentLoaded;clearLoadedBytes(){this._loadedBytes=0,this.bytes=[],this._totalBytes=void 0,this.finalData=void 0;}get status(){return this._status;}setStatus(t){this._status=t,this._isHandledByProcessQueue=!1;}get downloadSource(){return this.currentAttempt?.downloadSource;}get loadedBytes(){return this._loadedBytes;}get totalBytes(){return this._totalBytes;}get data(){return this.finalData??=Lb(this.bytes).buffer,this.finalData;}get failedAttempts(){return this._failedAttempts;}get isHandledByProcessQueue(){return this._isHandledByProcessQueue;}markHandledByProcessQueue(){this._isHandledByProcessQueue=!0;}setTotalBytes(t){if(this._totalBytes!==void 0)throw new Error("Request total bytes value is already set");this._totalBytes=t;}start(t,i){if(this._status==="succeed")throw new Error(`Request ${this.segment.externalId} has been already succeed.`);if(this._status==="loading")throw new Error(`Request ${this.segment.externalId} has been already started.`);this.setStatus("loading"),this.currentAttempt=ze({},t),this.progress={startFromByte:this._loadedBytes,loadedBytes:0,startTimestamp:performance.now()},this.manageBandwidthCalculatorsState("start");let{notReceivingBytesTimeoutMs:s,abort:n}=i;return this._abortRequestCallback=n,s!==void 0&&this.notReceivingBytesTimeout.start(s),this.logger(`${t.downloadSource} ${this.segment.externalId} started`),this.onSegmentStart({segment:ld(this.segment),downloadSource:t.downloadSource,peerId:t.downloadSource==="p2p"?t.peerId:void 0}),{firstBytesReceived:this.firstBytesReceived,addLoadedChunk:this.addLoadedChunk,completeOnSuccess:this.completeOnSuccess,abortOnError:this.abortOnError};}abortFromProcessQueue(){this.throwErrorIfNotLoadingStatus(),this.setStatus("aborted"),this.logger(`${this.currentAttempt?.downloadSource} ${this.segment.externalId} aborted`),this._abortRequestCallback?.(new is("abort")),this.onSegmentAbort({segment:ld(this.segment),downloadSource:this.currentAttempt?.downloadSource,peerId:this.currentAttempt?.downloadSource==="p2p"?this.currentAttempt.peerId:void 0,streamType:this.segment.stream.type}),this._abortRequestCallback=void 0,this.manageBandwidthCalculatorsState("stop"),this.notReceivingBytesTimeout.clear();}abortOnTimeout=()=>{if(this.throwErrorIfNotLoadingStatus(),!this.currentAttempt)return;this.setStatus("failed");let t=new is("bytes-receiving-timeout");this._abortRequestCallback?.(t),this.logger(`${this.downloadSource} ${this.segment.externalId} failed ${t.type}`),this._failedAttempts.add(pt(ze({},this.currentAttempt),{error:t})),this.onSegmentError({segment:ld(this.segment),error:t,downloadSource:this.currentAttempt.downloadSource,peerId:this.currentAttempt.downloadSource==="p2p"?this.currentAttempt.peerId:void 0,streamType:this.segment.stream.type}),this.notReceivingBytesTimeout.clear(),this.manageBandwidthCalculatorsState("stop"),this.requestProcessQueueCallback();};abortOnError=t=>{this.throwErrorIfNotLoadingStatus(),this.currentAttempt&&(this.setStatus("failed"),this.logger(`${this.downloadSource} ${this.segment.externalId} failed ${t.type}`),this._failedAttempts.add(pt(ze({},this.currentAttempt),{error:t})),this.onSegmentError({segment:ld(this.segment),error:t,downloadSource:this.currentAttempt.downloadSource,peerId:this.currentAttempt.downloadSource==="p2p"?this.currentAttempt.peerId:void 0,streamType:this.segment.stream.type}),this.notReceivingBytesTimeout.clear(),this.manageBandwidthCalculatorsState("stop"),this.requestProcessQueueCallback());};completeOnSuccess=()=>{this.throwErrorIfNotLoadingStatus(),this.currentAttempt&&(this.manageBandwidthCalculatorsState("stop"),this.notReceivingBytesTimeout.clear(),this.setStatus("succeed"),this._totalBytes=this._loadedBytes,this.onSegmentLoaded({segmentUrl:this.segment.url,bytesLength:this.data.byteLength,downloadSource:this.currentAttempt.downloadSource,peerId:this.currentAttempt.downloadSource==="p2p"?this.currentAttempt.peerId:void 0,streamType:this.segment.stream.type}),this.logger(`${this.currentAttempt.downloadSource} ${this.segment.externalId} succeed`),this.requestProcessQueueCallback());};addLoadedChunk=t=>{if(this.throwErrorIfNotLoadingStatus(),!this.currentAttempt||!this.progress)return;this.notReceivingBytesTimeout.restart();let{byteLength:i}=t,{all:s,http:n}=this.bandwidthCalculators;s.addBytes(i),this.currentAttempt.downloadSource==="http"&&n.addBytes(i),this.bytes.push(t),this.progress.lastLoadedChunkTimestamp=performance.now(),this.progress.loadedBytes+=i,this._loadedBytes+=i;};firstBytesReceived=()=>{this.throwErrorIfNotLoadingStatus(),this.notReceivingBytesTimeout.restart();};throwErrorIfNotLoadingStatus(){if(this._status!=="loading")throw new Error(`Request has been already ${this.status}.`);}logger(t){this._logger.color=this.currentAttempt?.downloadSource==="http"?"green":"red",this._logger(t),this._logger.color="";}manageBandwidthCalculatorsState(t){let{all:i,http:s}=this.bandwidthCalculators,n=t==="start"?"startLoading":"stopLoading";this.currentAttempt?.downloadSource==="http"&&s[n](),i[n]();}},HR=class{attempts=[];add(e){this.attempts.push(e);}get httpAttemptsCount(){return this.attempts.reduce((e,t)=>
254t.downloadSource==="http"?e+1:e,0);}get lastAttempt(){return this.attempts[this.attempts.length-1];}clear(){this.attempts=[];}},zR=class{constructor(e){this.action=e;}timeoutId;ms;start(e){if(this.timeoutId)throw new Error("Timeout is already started.");this.ms=e,this.timeoutId=window.setTimeout(this.action,this.ms);}restart(e){this.timeoutId&&clearTimeout(this.timeoutId),e&&(this.ms=e),this.ms&&(this.timeoutId=window.setTimeout(this.action,this.ms));}clear(){clearTimeout(this.timeoutId),this.timeoutId=void 0;}},GR=class{constructor(e,t,i,s,n){this.requestProcessQueueCallback=e,this.bandwidthCalculators=t,this.playback=i,this.config=s,this.eventTarget=n;}requests=new Map();get executingHttpCount(){let e=0;for(let t of this.httpRequests())t.status==="loading"&&e++;return e;}get executingP2PCount(){let e=0;for(let t of this.p2pRequests())t.status==="loading"&&e++;return e;}get(e){return this.requests.get(e);}getOrCreateRequest(e){let t=this.requests.get(e);return t||(t=new $R(e,this.requestProcessQueueCallback,this.bandwidthCalculators,this.playback,this.config,this.eventTarget),this.requests.set(e,t)),t;}remove(e){this.requests.delete(e.segment);}items(){return this.requests.values();}*httpRequests(){for(let e of this.requests.values())e.downloadSource==="http"&&(yield e);}*p2pRequests(){for(let e of this.requests.values())e.downloadSource==="p2p"&&(yield e);}destroy(){for(let e of this.requests.values())e.status==="loading"&&e.abortFromProcessQueue();this.requests.clear();}},WR=class{constructor(e,t){this.segment=e,this.engineCallbacks=t;}_status="pending";_shouldBeStartedImmediately=!1;get status(){return this._status;}get shouldBeStartedImmediately(){return this._shouldBeStartedImmediately;}resolve(e,t){this._status==="pending"&&(this._status="succeed",this.engineCallbacks.onSuccess({data:e,bandwidth:t}));}reject(){this._status==="pending"&&(this._status="failed",this.engineCallbacks.onError(new Kd("failed")));}abort(){this._status==="pending"&&(this._status="aborted",this.engineCallbacks.onError(new Kd("aborted")));}markAsShouldBeStartedImmediately(){this._shouldBeStartedImmediately=!0;}};
254function*B0(e,t,i,s,n){let{runtimeId:r,stream:a}=e,l=a.segments.get(r);if(!l)return;let c=a.segments.values(),u;do{let p=c.next();if(p.done)return;u=p.value;}while(u!==l);let f=zu(u,t,i,s,n);if(Wu(f)){let p=c.next();if(p.done)return;let g=p.value,v=zu(g,t,i,s,n);if(Wu(v))return;f.isHighDemand=!0,yield{segment:u,statuses:f},yield{segment:g,statuses:v};}else yield{segment:u,statuses:f};for(let p of c){let g=zu(p,t,i,s,n);if(Wu(g))break;yield{segment:p,statuses:g};}}function Wu(e){let{isHighDemand:t=!1,isHttpDownloadable:i=!1,isP2PDownloadable:s=!1}=e;return!t&&!i&&!s;}var qR=6e4,U0=1e3,KR=class{constructor(e,t,i,s,n,r,a){this.streamManifestUrl=e,this.lastRequestedSegment=t,this.streamDetails=i,this.config=s,this.bandwidthCalculators=n,this.segmentStorage=r,this.eventTarget=a;let l=this.lastRequestedSegment.stream;this.playback={position:this.lastRequestedSegment.startTime,rate:1},this.segmentAvgDuration=FR(l),this.requests=new GR(this.requestProcessQueueMicrotask,this.bandwidthCalculators,this.playback,this.config,this.eventTarget),this.p2pLoaders=new VR(this.streamManifestUrl,this.lastRequestedSegment.stream,this.requests,this.segmentStorage,this.config,this.eventTarget,this.requestProcessQueueMicrotask),this.logger=Vs(`p2pml-core:hybrid-loader-${l.type}`),this.logger.color="coral",this.setIntervalLoading();}requests;engineRequest;p2pLoaders;playback;segmentAvgDuration;logger;storageCleanUpIntervalId;levelChangedTimestamp;lastQueueProcessingTimeStamp;randomHttpDownloadInterval;isProcessQueueMicrotaskCreated=!1;setIntervalLoading(){let e=this.p2pLoaders.currentLoader.connectedPeerCount,t=Math.random()*U0*e+U0;this.randomHttpDownloadInterval=window.setTimeout(()=>{this.loadRandomThroughHttp(),this.setIntervalLoading();},t);}loadSegment(e,t){return Qe(this,null,function*(){this.logger(`requests: ${M0(e)}`);let{stream:i}=e;i!==this.lastRequestedSegment.stream&&(this.logger(`stream changed to ${Fn(i)}`),this.p2pLoaders.changeCurrentLoader(i)),this.lastRequestedSegment=e;let s=this.config.swarmId??this.streamManifestUrl,n=en(s,i);this.segmentStorage.onSegmentRequested(s,n,e.externalId,e.startTime,e.endTime,i.type,this.streamDetails.isLive);let r=new WR(e,t);try{if(this.segmentStorage.hasSegment(s,n,e.externalId)){let a=yield this.segmentStorage.getSegmentData(s,n,e.externalId);if(a){let{queueDownloadRatio:l}=this.generateQueue();r.resolve(a,this.getBandwidth(l));return;}}this.engineRequest?.abort(),this.engineRequest=r;}catch(a){r.reject();}finally{this.requestProcessQueueMicrotask();}});}requestProcessQueueMicrotask=(e=!0)=>{let t=performance.now();!e&&this.lastQueueProcessingTimeStamp!==void 0&&t-this.lastQueueProcessingTimeStamp<=1e3||this.isProcessQueueMicrotaskCreated||(this.isProcessQueueMicrotaskCreated=!0,queueMicrotask(()=>{try{this.processQueue(),this.lastQueueProcessingTimeStamp=t;}finally{this.isProcessQueueMicrotaskCreated=!1;}}));};processRequests(e,t){let{stream:i}=this.lastRequestedSegment,{httpErrorRetries:s}=this.config,n=performance.now();for(let r of this.requests.items()){let{downloadSource:a,status:l,segment:c,isHandledByProcessQueue:u}=r,f=this.engineRequest?.segment===c?this.engineRequest:void 0;switch(l){case"loading":!e.has(c.runtimeId)&&!f&&(r.abortFromProcessQueue(),this.requests.remove(r));break;case"succeed":{if(!a)break;a==="http"&&this.p2pLoaders.currentLoader.broadcastAnnouncement(),f&&(f.resolve(r.data,this.getBandwidth(t)),this.engineRequest=void 0),this.requests.remove(r);let g=this.config.swarmId??this.streamManifestUrl,v=en(g,i);this.segmentStorage.storeSegment(g,v,c.externalId,r.data,c.startTime,c.endTime,c.stream.type,this.streamDetails.isLive);break;}case"failed":a==="http"&&!u&&this.p2pLoaders.currentLoader.broadcastAnnouncement(),!f&&!i.segments.has(r.segment.runtimeId)&&this.requests.remove(r),r.failedAttempts.httpAttemptsCount>=s&&f&&(this.engineRequest=void 0,f.reject());break;case"not-started":this.requests.remove(r);break;case"aborted":this.requests.remove(r);break;}r.markHandledByProcessQueue();let{lastAttempt:p}=r.failedAttempts;p&&n-p.error.timestamp>qR&&r.failedAttempts.clear();}}processQueue(){let{queue:e,queueSegmentIds:t,queueDownloadRatio:i}=this.generateQueue();this.processRequests(t,i);let{simultaneousHttpDownloads:s,simultaneousP2PDownloads:n,httpErrorRetries:r}=this.config;if(this.engineRequest?.shouldBeStartedImmediately&&this.engineRequest.status==="pending"&&this.requests.executingHttpCount<s){let{segment:a}=this.engineRequest,l=this.requests.get(a);(!l||l.status==="not-started"||l.status==="failed"&&l.failedAttempts.httpAttemptsCount<this.config.httpErrorRetries)&&this.loadThroughHttp(a);}for(let a of e){let{statuses:l,segment:c}=a,u=this.requests.get(c);if(l.isHighDemand){if(u?.downloadSource==="http"&&u.status==="loading"||u?.downloadSource==="http"&&u.status==="failed"&&u.failedAttempts.httpAttemptsCount>=r)continue;let f=u?.status==="loading"&&u.downloadSource==="p2p";if(this.requests.executingHttpCount<s){f&&u.abortFromProcessQueue(),this.loadThroughHttp(c);continue;}if(this.abortLastHttpLoadingInQueueAfterItem(e,c)&&this.requests.executingHttpCount<s){f&&u.abortFromProcessQueue(),this.loadThroughHttp(c);continue;}if(f)continue;if(this.requests.executingP2PCount<n){this.loadThroughP2P(c);continue;}if(this.abortLastP2PLoadingInQueueAfterItem(e,c)&&this.requests.executingP2PCount<n){this.loadThroughP2P(c);continue;}}else if(l.isP2PDownloadable){if(u?.status==="loading")continue;this.requests.executingP2PCount<n?this.loadThroughP2P(c):this.p2pLoaders.currentLoader.isSegmentLoadedBySomeone(c)&&this.abortLastP2PLoadingInQueueAfterItem(e,c)&&this.requests.executingP2PCount<n&&this.loadThroughP2P(c);}}}abortSegmentRequest(e){this.engineRequest?.segment.runtimeId===e&&(this.engineRequest.abort(),this.logger("abort: ",M0(this.engineRequest.segment)),this.engineRequest=void 0,this.requestProcessQueueMicrotask());}loadThroughHttp(e){new cP(this.requests.getOrCreateRequest(e),this.config,this.eventTarget),this.p2pLoaders.currentLoader.broadcastAnnouncement();}loadThroughP2P(e){this.p2pLoaders.currentLoader.downloadSegment(e);}loadRandomThroughHttp(){let e=this.getAvailableStorageCapacityPercent();if(e<=10)return;let{simultaneousHttpDownloads:t,httpErrorRetries:i}=this.config,s=this.p2pLoaders.currentLoader;if(this.requests.executingHttpCount>=t||!s.connectedPeerCount)return;let n=[];for(let{segment:u,statuses:f}of B0(this.lastRequestedSegment,this.playback,this.config,this.p2pLoaders.currentLoader,e)){let p=this.config.swarmId??this.streamManifestUrl,g=en(p,u.stream);if(!f.isHttpDownloadable||f.isP2PDownloadable||this.segmentStorage.hasSegment(p,g,u.externalId))continue;let v=this.requests.get(u);v&&(v.status==="loading"||v.status==="succeed"||v.failedAttempts.httpAttemptsCount>=i)||n.push(u);}if(!n.length||t-this.requests.executingHttpCount===0)return;let r=s.connectedPeerCount+1,a=Math.min(n.length,t*r),l=hR(Array.from({length:a},(u,f)=>f)),c=a/r;for(let u of l){if(this.requests.executingHttpCount>=t)break;
254if(c>=1||Math.random()<=c){let f=n[u];this.loadThroughHttp(f);}if(c--,c<=0)break;}}abortLastHttpLoadingInQueueAfterItem(e,t){for(let{segment:i}of D0(e)){if(i===t)break;let s=this.requests.get(i);if(s?.downloadSource==="http"&&s.status==="loading")return s.abortFromProcessQueue(),!0;}return!1;}abortLastP2PLoadingInQueueAfterItem(e,t){for(let{segment:i}of D0(e)){if(i===t)break;let s=this.requests.get(i);if(s?.downloadSource==="p2p"&&s.status==="loading")return s.abortFromProcessQueue(),!0;}return!1;}getAvailableStorageCapacityPercent(){let{totalCapacity:e,usedCapacity:t}=this.segmentStorage.getUsage();return 100-t/e*100;}generateQueue(){let e=[],t=new Set(),i=0,s=0,n=this.getAvailableStorageCapacityPercent();for(let r of B0(this.lastRequestedSegment,this.playback,this.config,this.p2pLoaders.currentLoader,n)){i++;let{segment:a}=r,l=this.config.swarmId??this.streamManifestUrl,c=en(l,a.stream);if(this.segmentStorage.hasSegment(l,c,a.externalId)||this.requests.get(a)?.status==="succeed"){s++;continue;}e.push(r),t.add(a.runtimeId);}return{queue:e,queueSegmentIds:t,maxPossibleLength:i,alreadyLoadedCount:s,queueDownloadRatio:i!==0?s/i:0};}getBandwidth(e){let{http:t,all:i}=this.bandwidthCalculators,{activeLevelBitrate:s}=this.streamDetails;if(this.streamDetails.activeLevelBitrate===0)return i.getBandwidthLoadingOnly(3);let n=Math.max(i.getBandwidth(30,this.levelChangedTimestamp),i.getBandwidth(60,this.levelChangedTimestamp),i.getBandwidth(90,this.levelChangedTimestamp));if(e>=.8||n>=s*.9)return Math.max(i.getBandwidthLoadingOnly(1),i.getBandwidthLoadingOnly(3),i.getBandwidthLoadingOnly(5));let r=Math.max(t.getBandwidthLoadingOnly(1),t.getBandwidthLoadingOnly(3),t.getBandwidthLoadingOnly(5));return Math.max(n,r);}notifyLevelChanged(){this.levelChangedTimestamp=performance.now();}sendBroadcastAnnouncement(e=!1){this.p2pLoaders.currentLoader.broadcastAnnouncement(e);}updatePlayback(e,t){let i=this.playback.rate!==t,s=this.playback.position!==e;if(!i&&!s)return;let n=Math.abs(e-this.playback.position)/this.segmentAvgDuration>.5;s&&(this.playback.position=e),i&&t!==0&&(this.playback.rate=t),n&&(this.logger("position significantly changed"),this.engineRequest?.markAsShouldBeStartedImmediately()),this.segmentStorage.onPlaybackUpdated(e,t),this.requestProcessQueueMicrotask(n);}updateStream(e){e===this.lastRequestedSegment.stream&&(this.logger(`update stream: ${Fn(e)}`),this.requestProcessQueueMicrotask());}destroy(){clearInterval(this.storageCleanUpIntervalId),clearInterval(this.randomHttpDownloadInterval),this.storageCleanUpIntervalId=void 0,this.engineRequest?.abort(),this.requests.destroy(),this.p2pLoaders.destroy();}},V0=class{constructor(e=2e4){this.clearThresholdMs=e;}loadingsCount=0;bytes=[];loadingOnlyTimestamps=[];timestamps=[];noLoadingsTime=0;loadingsStoppedAt=0;addBytes(e,t=performance.now()){this.bytes.push(e),this.loadingOnlyTimestamps.push(t-this.noLoadingsTime),this.timestamps.push(t);}startLoading(e=performance.now()){this.clearStale(),this.loadingsCount===0&&this.loadingsStoppedAt!==0&&(this.noLoadingsTime+=e-this.loadingsStoppedAt),this.loadingsCount++;}stopLoading(e=performance.now()){this.loadingsCount>0&&(this.loadingsCount--,this.loadingsCount===0&&(this.loadingsStoppedAt=e));}getBandwidthLoadingOnly(e,t=Number.NEGATIVE_INFINITY){if(!this.loadingOnlyTimestamps.length)return 0;let i=e*1e3,s=this.loadingOnlyTimestamps[this.loadingOnlyTimestamps.length-1],n=s,r=s-i,a=0;for(let l=this.bytes.length-1;l>=0;l--){let c=this.loadingOnlyTimestamps[l];if(c<r||this.timestamps[l]<t)break;n=c,a+=this.bytes[l];}return a*8e3/(s-n);}getBandwidth(e,t=Number.NEGATIVE_INFINITY,i=performance.now()){if(!this.timestamps.length)return 0;let s=i-e*1e3,n=i,r=0;for(let a=this.bytes.length-1;a>=0;a--){let l=this.timestamps[a];if(l<s||l<t)break;n=l,r+=this.bytes[a];}return r*8e3/(i-n);}clearStale(){if(!this.loadingOnlyTimestamps.length)return;let e=this.loadingOnlyTimestamps[this.loadingOnlyTimestamps.length-1]-this.clearThresholdMs,t=0;for(let i of this.loadingOnlyTimestamps){if(i>e)break;t++;}this.bytes.splice(0,t),this.loadingOnlyTimestamps.splice(0,t),this.timestamps.splice(0,t);}},dd=(e,t)=>`${e}|${t}`,YR=e=>/Android/i.test(e),XR=e=>/iPad|iPhone/i.test(e),QR=e=>/Android/i.test(e)&&!/Chrome|Firefox/i.test(e),cd=1048576,JR=class{userAgent=navigator.userAgent;segmentMemoryStorageLimit=4*1024;currentStorageUsage=0;cache=new Map();logger;coreConfig;mainStreamConfig;secondaryStreamConfig;currentPlayback;lastRequestedSegment;segmentChangeCallback;constructor(){this.logger=Vs("p2pml-core:segment-memory-storage"),this.logger.color="RebeccaPurple";}initialize(e,t,i){return Qe(this,null,function*(){this.coreConfig=e,this.mainStreamConfig=t,this.secondaryStreamConfig=i,this.setMemoryStorageLimit(),this.logger("initialized");});}onPlaybackUpdated(e,t){this.currentPlayback={position:e,rate:t};}onSegmentRequested(e,t,i,s,n,r,a){this.lastRequestedSegment={streamId:t,segmentId:i,startTime:s,endTime:n,swarmId:e,streamType:r,isLiveStream:a};}storeSegment(e,t,i,s,n,r,a,l){return Qe(this,null,function*(){this.clear(l,s.b
254yteLength);let c=dd(t,i);if(this.cache.set(c,{data:s,segmentId:i,streamId:t,startTime:n,endTime:r,streamType:a}),this.increaseStorageUsage(s.byteLength),this.logger(`add segment: ${i} to ${t}`),!this.segmentChangeCallback)throw new Error("dispatchStorageUpdatedEvent is not set");this.segmentChangeCallback(t);});}getSegmentData(e,t,i){return Qe(this,null,function*(){let s=dd(t,i),n=this.cache.get(s);if(n!==void 0)return n.data;});}getUsage(){if(!this.lastRequestedSegment||!this.currentPlayback)return{totalCapacity:this.segmentMemoryStorageLimit,usedCapacity:this.currentStorageUsage};let e=this.currentPlayback.position,t=0;for(let{endTime:i,data:s}of this.cache.values())e>i||(t+=s.byteLength);return{totalCapacity:this.segmentMemoryStorageLimit,usedCapacity:t/cd};}hasSegment(e,t,i){let s=dd(t,i);return this.cache.get(s)!==void 0;}getStoredSegmentIds(e,t){let i=[];for(let{segmentId:s,streamId:n}of this.cache.values())n===t&&i.push(s);return i;}clear(e,t){if(!this.currentPlayback||!this.mainStreamConfig||!this.secondaryStreamConfig||!this.coreConfig||!this.isMemoryLimitReached(t)&&!e)return;let i=new Set(),s=Array.from(this.cache.values()).sort((n,r)=>n.startTime-r.startTime);for(let n of s){let{streamId:r,segmentId:a,data:l}=n,c=dd(r,a);if(this.shouldRemoveSegment(n,e,this.currentPlayback.position)&&(this.cache.delete(c),i.add(r),this.decreaseStorageUsage(l.byteLength),this.logger(`Removed segment ${a} from stream ${r}`),!this.isMemoryLimitReached(t)&&!e))break;}this.sendUpdatesToAffectedStreams(i);}isMemoryLimitReached(e){return this.currentStorageUsage+e/cd>this.segmentMemoryStorageLimit;}setSegmentChangeCallback(e){this.segmentChangeCallback=e;}sendUpdatesToAffectedStreams(e){e.size!==0&&e.forEach(t=>{if(!this.segmentChangeCallback)throw new Error("dispatchStorageUpdatedEvent is not set");this.segmentChangeCallback(t);});}shouldRemoveSegment(e,t,i){let{endTime:s,streamType:n}=e,r=this.getStreamTimeWindow(n,"highDemandTimeWindow");return i<=s?!1:t?i>r+s:!0;}increaseStorageUsage(e){this.currentStorageUsage+=e/cd;}decreaseStorageUsage(e){this.currentStorageUsage-=e/cd;}setMemoryStorageLimit(){if(this.coreConfig?.segmentMemoryStorageLimit){this.segmentMemoryStorageLimit=this.coreConfig.segmentMemoryStorageLimit;return;}QR(this.userAgent)||XR(this.userAgent)?this.segmentMemoryStorageLimit=1024:YR(this.userAgent)&&(this.segmentMemoryStorageLimit=2*1024);}getStreamTimeWindow(e,t){return(e==="main"?this.mainStreamConfig:this.secondaryStreamConfig)?.[t]??0;}destroy(){this.cache.clear();}},ZR=class{events=new Map();dispatchEvent(e,...t){let i=this.events.get(e);if(i)for(let s of i)s(...t);}getEventDispatcher(e){let t=this.events.get(e);t||(t=[],this.events.set(e,t));let i=t;return(...s)=>{for(let n of i)n(...s);};}addEventListener(e,t){let i=this.events.get(e);i?i.push(t):this.events.set(e,[t]);}removeEventListener(e,t){let i=this.events.get(e);if(i){let s=i.indexOf(t);s!==-1&&i.splice(s,1);}}},ex=(()=>{var t;return t=class{eventTarget=new ZR();manifestResponseUrl;streams=new Map();mainStreamConfig;secondaryStreamConfig;commonCoreConfig;bandwidthCalculators={all:new V0(),http:new V0()};segmentStorage;mainStreamLoader;
254secondaryStreamLoader;streamDetails={isLive:!1,activeLevelBitrate:0};constructor(s){let n=uR(s??{});this.commonCoreConfig=Hu({defaultConfig:t.DEFAULT_COMMON_CORE_CONFIG,baseConfig:n}),this.mainStreamConfig=Hu({defaultConfig:t.DEFAULT_STREAM_CONFIG,baseConfig:n,specificStreamConfig:n.mainStream}),this.secondaryStreamConfig=Hu({defaultConfig:t.DEFAULT_STREAM_CONFIG,baseConfig:n,specificStreamConfig:n.secondaryStream});}getConfig(){return pt(ze({},On(this.commonCoreConfig)),{mainStream:On(this.mainStreamConfig),secondaryStream:On(this.secondaryStreamConfig)});}applyDynamicConfig(s){let{mainStream:n,secondaryStream:r}=s,a=On(this.mainStreamConfig),l=On(this.secondaryStreamConfig);this.overrideAllConfigs(s,n,r),this.processSpecificDynamicConfigParams(a,s,"main"),this.processSpecificDynamicConfigParams(l,s,"secondary");}processSpecificDynamicConfigParams(s,n,r){let a=this.getUpdatedStreamProperty("isP2PDisabled",n,r);a&&s.isP2PDisabled!==a&&this.destroyStreamLoader(r);let l=this.getUpdatedStreamProperty("isP2PUploadDisabled",n,r);l!==void 0&&s.isP2PUploadDisabled!==l&&(r==="main"?this.mainStreamLoader:this.secondaryStream
254Loader)?.sendBroadcastAnnouncement(l);}getUpdatedStreamProperty(s,n,r){return(r==="main"?n.mainStream:n.secondaryStream)?.[s]??n[s];}addEventListener(s,n){this.eventTarget.addEventListener(s,n);}removeEventListener(s,n){this.eventTarget.removeEventListener(s,n);}setManifestResponseUrl(s){this.manifestResponseUrl=s.split("?")[0];}hasSegment(s){return!!F0(this.streams,s);}getStream(s){return this.streams.get(s);}addStreamIfNoneExists(s){this.streams.has(s.runtimeId)||this.streams.set(s.runtimeId,pt(ze({},s),{segments:new Map()}));}updateStream(s,n,r){let a=this.streams.get(s);if(a){if(n)for(let l of n)a.segments.has(l.runtimeId)||a.segments.set(l.runtimeId,pt(ze({},l),{stream:a}));if(r)for(let l of r)a.segments.delete(l);this.mainStreamLoader?.updateStream(a),this.secondaryStreamLoader?.updateStream(a);}}loadSegment(s,n){return Qe(this,null,function*(){if(!this.manifestResponseUrl)throw new Error("Manifest response url is not defined");yield this.initializeSegmentStorage();let r=this.identifySegment(s);this.getStreamHybridLoader(r).loadSegment(r,n);});}abortSegmentLoading(s){this.mainStreamLoader?.abortSegmentRequest(s),this.secondaryStream
254Loader?.abortSegmentRequest(s);}updatePlayback(s,n){this.mainStreamLoader?.updatePlayback(s,n),this.secondaryStreamLoader?.updatePlayback(s,n);}setActiveLevelBitrate(s){s!==this.streamDetails.activeLevelBitrate&&(this.streamDetails.activeLevelBitrate=s,this.mainStreamLoader?.notifyLevelChanged(),this.secondaryStreamLoader?.notifyLevelChanged());}setIsLive(s){this.streamDetails.isLive=s;}isSegmentLoadable(s){try{let n=this.identifySegment(s);return!(n.stream.type==="main"&&this.mainStreamConfig.isP2PDisabled||n.stream.type==="secondary"&&this.secondaryStreamConfig.isP2PDisabled);}catch(n){return!1;}}destroy(){this.streams.clear(),this.mainStreamLoader?.destroy(),this.secondaryStreamLoader?.destroy(),this.segmentStorage?.destroy(),this.mainStreamLoader=void 0,this.secondaryStreamLoader=void 0,this.segmentStorage=void 0,this.manifestResponseUrl=void 0,this.streamDetails={isLive:!1,activeLevelBitrate:0},Vb.clearPeerIdCache();}initializeSegmentStorage(){return Qe(this,null,function*(){if(this.segmentStorage)return;let{isLive:s}=this.streamDetails,n=this.commonCoreConfig.customSegmentStorageFactory;if(n&&typeof n!="function")throw new Error("Storage configuration is invalid");let r=n?n(s):new JR();yield r.initialize(this.commonCoreConfig,this.mainStreamConfig,this.secondaryStreamConfig),this.segmentStorage=r;});}identifySegment(s){if(!this.manifestResponseUrl)throw new Error("Manifest response url is undefined");let n=F0(this.streams,s);if(!n)throw new Error(`Not found segment with id: ${s}`);return n;}overrideAllConfigs(s,n,r){Qo(this.commonCoreConfig,s),Qo(this.mainStreamConfig,s),Qo(this.secondaryStreamConfig,s),n&&Qo(this.mainStreamConfig,n),r&&Qo(this.secondaryStreamConfig,r);}destroyStreamLoader(s){s==="main"?(this.mainStreamLoader?.destroy(),this.mainStreamLoader=void 0):(this.secondaryStream
254Loader?.destroy(),this.secondaryStreamLoader=void 0);}getStreamHybridLoader(s){return s.stream.type==="main"?(this.mainStreamLoader??=this.createNewHybridLoader(s),this.mainStreamLoader):(this.secondaryStreamLoader??=this.createNewHybridLoader(s),this.secondaryStreamLoader);}createNewHybridLoader(s){if(!this.manifestResponseUrl)throw new Error("Manifest response url is not defined");if(!this.segmentStorage)throw new Error("Segment storage is not initialized");let n=s.stream.type==="main"?this.mainStreamConfig:this.secondaryStreamConfig;return new KR(this.manifestResponseUrl,s,this.streamDetails,n,this.bandwidthCalculators,this.segmentStorage,this.eventTarget);}},xe(t,"DEFAULT_COMMON_CORE_CONFIG",{segmentMemoryStorageLimit:void 0,customSegmentStorageFactory:void 0}),xe(t,"DEFAULT_STREAM_CONFIG",{isP2PUploadDisabled:!1,isP2PDisabled:!1,simultaneousHttpDownloads:2,simultaneousP2PDownloads:3,highDemandTimeWindow:15,httpDownloadTimeWindow:3e3,p2pDownloadTimeWindow:6e3,webRtcMaxMessageSize:65535,p2pNotReceivingBytesTimeoutMs:2e3,p2pInactiveLoaderDestroyTimeoutMs:3e4,httpNotReceivingBytesTimeoutMs:3e3,httpErrorRetries:3,p2pErrorRetries:3,trackerClientVersionPrefix:tR,announceTrackers:["wss://tracker.novage.com.ua","wss://tracker.webtorrent.dev","wss://tracker.openwebtorrent.com"],rtcConfig:{iceServers:[{urls:"stun:stun.l.google.com:19302"},{urls:"stun:global.stun.twilio.com:3478"}]},validateP2PSegment:void 0,validateHTTPSegment:void 0,httpRequestSetup:void 0,swarmId:void 0}),t;})(),tx=Sb.debug,or=function(e,t,i,s,n){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!n)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?n.call(e,i):n?n.value=i:t.set(e,i),i;},Pt=function(e,t,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!s:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(e):s?s.value:t.get(e);},oa,ho,xd,Xs,ur,Mn,Dn,$b,jh,ix=10,sx=class{constructor(e,t){oa.add(this),Object.defineProperty(this,"context",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"config",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"stats",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),ho.set(this,void 0),xd.set(this,void 0),Xs.set(this,void 0),ur.set(this,void 0),Mn.set(this,void 0),Dn.set(this,void 0),or(this,ur,t,"f"),or(this,xd,()=>new e.loader(e),"f"),this.stats={aborted:!1,chunkCount:0,loading:{start:0,first:0,end:0},buffering:{start:0,first:0,end:0},parsing:{start:0,end:0},total:1,loaded:1,bwEstimate:0,retry:0};}load(e,t,i){this.context=e,this.config=t,or(this,ho,i,"f");let{stats:s}=this,{rangeStart:n,rangeEnd:r}=e,a=yb(n,r!==void 0?r-1:void 0);or(this,Dn,vb(e.url,a),"f");let l=Pt(this,ur,"f").isSegmentLoadable(Pt(this,Dn,"f"));if(!Pt(this,ur,"f").hasSegment(Pt(this,Dn,"f"))||!l){or(this,Xs,Pt(this,xd,"f").call(this),"f"),Pt(this,Xs,"f").stats=this.stats,Pt(this,Xs,"f").load(e,t,i);return;}let c=f=>{or(this,Mn,f,"f");let p=Pt(this,Mn,"f").data.byteLength;s.loading=nx(Pt(this,Mn,"f").bandwidth,p,performance.now()),s.total=p,s.loaded=p,i.onProgress&&i.onProgress(this.stats,e,Pt(this,Mn,"f").data,void 0),i.onSuccess({data:Pt(this,Mn,"f").data,url:e.url},this.stats,e,void 0);},u=f=>{f instanceof Kd&&f.type==="aborted"&&this.stats.aborted||Pt(this,oa,"m",$b).call(this,f);};Pt(this,ur,"f").loadSegment(Pt(this,Dn,"f"),{onSuccess:c,onError:u});}abort(){Pt(this,Xs,"f")?Pt(this,Xs,"f").abort():(Pt(this,oa,"m",jh).call(this),Pt(this,ho,"f")?.onAbort?.(this.stats,this.context,{}));}destroy(){Pt(this,Xs,"f")?Pt(this,Xs,"f").destroy():(this.stats.aborted||Pt(this,oa,"m",jh).call(this),or(this,ho,null,"f"),this.config=null);}};ho=new WeakMap(),xd=new WeakMap(),Xs=new WeakMap(),ur=new WeakMap(),Mn=new WeakMap(),Dn=new WeakMap(),oa=new WeakSet(),$b=function(t){let i={code:0,text:""};(t instanceof Kd&&t.type==="failed"||t instanceof Error)&&(i.text=t.message),Pt(this,ho,"f")?.onError(i,this.context,null,this.stats);},jh=function(){!Pt(this,Mn,"f")&&Pt(this,Dn,"f")&&(this.stats.aborted=!0,Pt(this,ur,"f").abort
254SegmentLoading(Pt(this,Dn,"f")));};function nx(e,t,i){let s=i-t*8e3/e;return{start:s-ix,first:s,end:i};}var rx=function(e,t,i,s,n){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!n)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?n.call(e,i):n?n.value=i:t.set(e,i),i;},Jo=function(e,t,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!s:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(e):s?s.value:t.get(e);},Rn,ox=class{constructor(e){Rn.set(this,void 0),Object.defineProperty(this,"context",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"stats",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),rx(this,Rn,new e.loader(e),"f"),this.stats=Jo(this,Rn,"f").stats,this.context=Jo(this,Rn,"f").context;}load(e,t,i){Jo(this,Rn,"f").load(e,t,i);}abort(){Jo(this,Rn,"f").abort();}destroy(){Jo(this,Rn,"f").destroy();}};Rn=new WeakMap();var ax=class{constructor(e){Object.defineProperty(this,"core",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.core=e;}processMainManifest(e){let{levels:t,audioTracks:i}=e;for(let[s,n]of t.entries()){let{url:r}=n;this.core.addStreamIfNoneExists({runtimeId:Array.isArray(r)?r[0]:r,type:"main",index:s});}for(let[s,n]of i.entries()){let{url:r}=n;this.core.addStreamIfNoneExists({runtimeId:Array.isArray(r)?r[0]:r,type:"secondary",index:s});}}updatePlaylist(e){let{details:{url:t,fragments:i,live:s}}=e,n=this.core.getStream(t);if(!n)return;let r=new Set(n.segments.keys()),a=[];i.forEach((l,c)=>{let{url:u,byteRange:f,sn:p,start:g,end:v}=l,[T,y]=f,A=yb(T,y!==void 0?y-1:void 0),I=vb(u,A);r.delete(I),!n.segments.has(I)&&a.push({runtimeId:I,url:u,externalId:s?p:c,byteRange:A,startTime:g,endTime:v});}),!(!a.length&&!r.size)&&this.core.updateStream(t,a,r.values());}},lx=function(e,t,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!s:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(e):s?s.value:t.get(e);},dx=function(e,t,i,s,n){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!n)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?n.call(e,i):n?n.value=i:t.set(e,i),i;};function cx(e){var t,i;return i=class extends e{get p2pEngine(){return lx(this,t,"f");}constructor(...n){let c=n[0]??{},{p2p:r}=c,a=Lp(c,["p2p"]),l=new Hb(r);super(ze(ze({},a),l.getConfigForHlsJs())),t.set(this,void 0),l.bindHls(this),dx(this,t,l,"f"),r?.onHlsJsCreated?.(this);}},t=new WeakMap(),i;}var ux=120,Hb=class{static injectMixin(e){return cx(e);}constructor(e){Object.defineProperty(this,"core",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"segmentManager",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hlsInstanceGetter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"currentHlsInstance",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"debug",{enumerable:!0,configurable:!0,writable:!0,value:tx("p2pml-hlsjs:engine")}),Object.defineProperty(this,"updateMediaElementEventHandlers",{enumerable:!0,configurable:!0,writable:!0,value:t=>{let i=this.currentHlsInstance?.media;if(!i)return;let s=t==="register"?"addEventListener":"removeEventListener";i[s]("timeupdate",this.handlePlaybackUpdate),i[s]("seeking",this.handlePlaybackUpdate),i[s]("ratechange",this.handlePlaybackUpdate);}}),Object.defineProperty(this,"handleManifestLoaded",{enumerable:!0,configurable:!0,writable:!0,value:(t,i)=>{let s=i.networkDetails;s instanceof XMLHttpRequest?this.core.setManifestResponseUrl(s.responseURL):s instanceof Response&&this.core.setManifestResponseUrl(s.url),this.segmentManager.processMainManifest(i);}}),Object.defineProperty(this,"handleLevelSwitching",{enumerable:!0,configurable:!0,writable:!0,value:(t,i)=>{i.bitrate&&this.core.setActiveLevelBitrate(i.bitrate);}}),Object.defineProperty(this,"handleLevelUpdated",{enumerable:!0,configurable:!0,writable:!0,value:(t,i)=>{this.currentHlsInstance&&i.details.live&&i.details.fragments[0].type==="main"&&!this.currentHlsInstance.userConfig.liveSyncDuration&&!this.currentHlsInstance.userConfig.liveSyncDurationCount&&i.details.fragments.length>4&&this.updateLiveSyncDurationCount(i),this.core.setIsLive(i.details.live),this.segmentManager.updatePlaylist(i);}}),Object.defineProperty(this,"handleMediaAttached",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.updateMediaElementEventHandlers("register");}}),Object.defineProperty(this,"handleMediaDetached",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.updateMediaElementEventHandlers("unregister");}}),Object.defineProperty(this,"handlePlaybackUpdate",{enumerable:!0,configurable:!0,writable:!0,value:t=>{let i=t.target;this.core.updatePlayback(i.currentTime,i.playbackRate);}}),Object.defineProperty(this,"destroyCore",{enumerable:!0,configurable:!0,writable:!0,value:()=>this.core.destroy()}),Object.defineProperty(this,"destroy",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.destroyCore(),this.updateHlsEventsHandlers("unregister"),this.updateMediaElementEventHandlers("unregister"),this.currentHlsInstance=void 0;}}),this.core=new ex(e?.core),this.segmentManager=new ax(this.core);}addEventListener(e,t){this.core.addEventListener(e,t);}removeEventListener(e,t){this.core.removeEventListener(e,t);}getConfigForHlsJs(){return{fLoader:this.createFragmentLoaderClass(),pLoader:this.createPlaylistLoaderClass()};}getConfig(){return{core:this.core.getConfig()};}applyDynamicConfig(e){e.core&&this.core.applyDynamicConfig(e.core);}bindHls(e){this.hlsInstanceGetter=typeof e=="function"?e:()=>e;}initHlsEvents(){let e=this.hlsInstanceGetter?.();this.currentHlsInstance!==e&&(this.currentHlsInstance&&this.destroy(),this.currentHlsInstance=e,this.updateHlsEventsHandlers("register"),this.updateMediaElementEventHandlers("register"));}updateHlsEventsHandlers(e){let t=this.currentHlsInstance;if(!t)return;let i=e==="register"?"on":"off";t[i]("hlsManifestLoaded",this.handleManifestLoaded),t[i]("hlsLevelSwitching",this.handleLevelSwitching),t[i]("hlsLevelUpdated",this.handleLevelUpdated),t[i]("hlsAudioTrackLoaded",this.handleLevelUpdated),t[i]("hlsDestroying",this.destroy),t[i]("hlsMediaAttaching",this.destroyCore),t[i]("hlsManifestLoading",this.destroyCore),t[i]("hlsMediaDetached",this.handleMediaDetached),t[i]("hlsMediaAttached",this.handleMediaAttached);}updateLiveSyncDurationCount(e){let t=e.details.targetduration,i=Math.floor(ux/t),s=Math.min(e.details.fragments.length-1,i);this.currentHlsInstance&&this.currentHlsInstance.config.liveSyncDurationCount!==s&&(this.debug(`Setting liveSyncDurationCount to ${s}`),this.currentHlsInstance.config.liveSyncDurationCount=s);}createFragmentLoaderClass(){let{core:e}=this,t=this;return class extends sx{constructor(s){super(s,e);}static getEngine(){return t;}};}createPlaylistLoaderClass(){let e=this;return class extends ox{constructor(i){super(i),e.initHlsEvents();}};}},$0=Hb.injectMixin(Ot),H0=!1,hx=function(e){if(!Ot.isSupported()){nt.info("Hls.js is not supported in this browser.");return;}let t=e.getTech("Html5");
254if(!t){nt.error('No "Html5" tech found in videojs');return;}H0||(H0=!0,t.registerSourceHandler({canHandleSource:function(i){let s=/^application\/x-mpegURL|application\/vnd\.apple\.mpegurl$/i,n=/\.m3u8/i;return s.test(i.type)?"probably":n.test(i.src)?"maybe":"";},handleSource:function(i,s){return s.hlsProvider&&s.hlsProvider.dispose(),s.hlsProvider=new z0(e,i,s),s.hlsProvider;}},0),e.Html5Hlsjs=z0);},fx=X.default.getPlugin("plugin"),px=class extends fx{constructor(e,t){super(e),t&&(e.srOptions_||(e.srOptions_={}),e.srOptions_.hlsjsConfig||(e.srOptions_.hlsjsConfig=t.hlsjsConfig),t.levelLabelHandler&&!e.srOptions_.levelLabelHandler&&(e.srOptions_.levelLabelHandler=t.levelLabelHandler),hx(X.default));}dispose(){this.player.srOptions_=void 0;let e=this.player.tech(!0);e.hlsProvider&&(e.hlsProvider.dispose(),e.hlsProvider=void 0),super.dispose();}};X.default.registerPlugin("hlsjs",px);var z0=class{videoElement;errorCounts={};player;tech;source;vjs;maxNetworkErrorRecovery=5;hls;hlsjsConfig=null;_duration=null;metadata=null;isLive=null;dvrDuration=null;edgeMargin=null;liveEnded=!1;handlers={play:null,error:null};audioMode=!1;constructor(e,t,i){this.vjs=e,this.source=t,this.tech=i,this.tech.name_="Hlsjs",this.videoElement=i.el(),this.player=e(i.options_.playerId),this.handlers.error=s=>{let n,r=(s.currentTarget||s.target).error;if(r){switch(nt.info(r),r.code){case r.MEDIA_ERR_ABORTED:n="You aborted the video playback";break;case r.MEDIA_ERR_DECODE:n="The video playback was aborted due to a corruption problem or because the video used features your browser did not support",this._handleMediaError(r);break;case r.MEDIA_ERR_NETWORK:n="A network error caused the video download to fail part-way";break;case r.MEDIA_ERR_SRC_NOT_SUPPORTED:n="The video could not be loaded, either because the server or network failed or because the format is not supported";break;default:n=r.message;}nt.error(`MEDIA_ERROR: ${n}`);}},this.videoElement.addEventListener("error",this.handlers.error),this.initialize();}duration(){return this._duration===1/0?1/0:isNaN(this.videoElement.duration)?this._duration||this.hlsjsConfig.durationPlaceholder||0:this.videoElement.duration;}seekable(){if(this.hls.media){if(!this.isLive)return this.vjs.time.createTimeRanges(0,this.hls.media.duration);let e=Math.round(this.hls.media.duration-this.dvrDuration),t=Math.round(this.hls.media.duration-this.edgeMargin);return this.vjs.time.createTimeRanges(e,t);}return this.vjs.time.createTimeRanges(0,void 0);}dispose(){this.videoElement.removeEventListener("play",this.handlers.play),this.videoElement.removeEventListener("error",this.handlers.error),this.hls.destroy();}_getHumanErrorMsg(e){switch(e.code){default:return e.message;}}_handleUnrecoverableError(e){if(this.hls.levels.filter(t=>t.id>-1).length>1){this._removeQuality(this.hls.loadLevel);return;}this.hls.destroy(),nt.info("bubbling error up to VIDEOJS"),this.tech.error=()=>pt(ze({},e),{message:this._getHumanErrorMsg(e)}),this.tech.trigger("error");}_handleMediaError(e){if(this.errorCounts[Ot.ErrorTypes.MEDIA_ERROR]===1){nt.info("trying to recover media error"),this.hls.recoverMediaError();return;}if(this.errorCounts[Ot.ErrorTypes.MEDIA_ERROR]===2){nt.info("2nd try to recover media error (by swapping audio codec"),this.hls.swapAudioCodec(),this.hls.recoverMediaError();return;}this.errorCounts[Ot.ErrorTypes.MEDIA_ERROR]>2&&this._handleUnrecoverableError(e);}_handleNetworkError(e){if(navigator.onLine!==!1){if(this.liveEnded){nt.info("Forcing end of live stream after a network error"),this.player?.handleTechEnded_(),this.hls?.stopLoad();return;}if(this.errorCounts[Ot.ErrorTypes.NETWORK_ERROR]<=this.maxNetworkErrorRecovery){nt.info("trying to recover network error"),setTimeout(()=>this.hls.startLoad(),1e3),this.hls.once(Ot.Events.FRAG_LOADED,()=>{this.errorCounts[Ot.ErrorTypes.NETWORK_ERROR]=0;});return;}this._handleUnrecoverableError(e);}}_onError(e,t){let i={message:`HLS.js error: ${t.type} - fatal: ${t.fatal} - ${t.details}`};this.errorCounts[t.type]?this.errorCounts[t.type]+=1:this.errorCounts[t.type]=1,/googlebot/i.test(navigator.userAgent)||(t.fatal?nt.error(i.message,{currentTime:this.player.currentTime(),data:t}
254):nt.clientWarn(i.message)),t.type===Ot.ErrorTypes.NETWORK_ERROR?(i.code=2,this._handleNetworkError(i)):t.fatal&&t.type===Ot.ErrorTypes.MEDIA_ERROR&&t.details!==Ot.ErrorDetails.MANIFEST_INCOMPATIBLE_CODECS_ERROR?(i.code=3,this._handleMediaError(i)):t.fatal&&this._handleUnrecoverableError(i);}buildLevelLabel(e){return this.player.srOptions_.levelLabelHandler(e,this.player);}_removeQuality(e){this.hls.removeLevel(e),this.player.peertubeResolutions().remove(e),this.hls.currentLevel=-1;}_notifyVideoQualities(){if(!this.metadata)return;let e=[];if(this.metadata.levels.forEach((i,s)=>{e.push({id:s,height:i.height,width:i.width,bitrate:i.bitrate,label:this.buildLevelLabel(i),selected:i.id===this.hls.manualLevel,selectCallback:()=>this.manuallySelectVideoLevel(s)});}),e.filter(i=>i.height!==0).length!==0&&this.getSeparateAudioTrack()){let i=this.getSeparateAudioTrack();e.push({id:-2,height:0,label:this.player.localize("Audio only"),selected:!1,selectCallback:()=>{this.audioMode||(this.audioMode=!0,this.updateToAudioOrVideo(i));}});}e.push({id:-1,label:this.player.localize("Auto"),selected:!0,selectCallback:()=>this.manuallySelectVideoLevel(-1)}),this.player.peertubeResolutions().add(e);let t=this.pickPreferredResolution(e);t&&this.player.peertubeResolutions().select({id:t.id,fireCallback:!0});}pickPreferredResolution(e){let t=Sy();if(t===void 0)return;let i=e.filter(r=>r.id!==-1&&r.height!==void 0).sort((r,a)=>r.height-a.height);if(i.length===0)return;let s=i.find(r=>r.height===t);if(s)return s;let n=i.find(r=>r.height>=t);return n||i[i.length-1];}manuallySelectVideoLevel(e){if(this.audioMode){this.audioMode=!1,this.updateToAudioOrVideo(this.source.src,e);return;}this.hls.currentLevel=e;}_startLoad(){this.hls.startLoad(this.hlsjsConfig.startPosition||-1),this.videoElement.removeEventListener("play",this.handlers.play);}_onMetaData(e,t){this.metadata=t,this._notifyVideoQualities();}initialize(){this.liveEnded=!1,this.buildBaseConfig(),["","auto"].includes(this.videoElement.preload)&&!this.videoElement.autoplay&&this.hlsjsConfig.autoStartLoad===void 0&&(this.hlsjsConfig.autoStartLoad=!1),this.hlsjsConfig.autoStartLoad===!1&&(this.handlers.play=this._startLoad.bind(this),this.videoElement.addEventListener("play",this.handlers.play)),this.hls=new $0(pt(ze({},Vg(this.hlsjsConfig,["p2pMediaLoaderOptions"])),{p2p:{core:this.hlsjsConfig.p2pMediaLoaderOptions}})),this.player.trigger("hlsjs-initialized",{hlsjs:this.hls}),this.hls.on(Ot.Events.ERROR,(e,t)=>this._onError(e,t)),this.hls.on(Ot.Events.MANIFEST_PARSED,(e,t)=>this._onMetaData(e,t)),this.hls.on(Ot.Events.LEVEL_LOADED,(e,t)=>{this.hlsjsConfig.liveSyncDuration?this.edgeMargin=this.hlsjsConfig.liveSyncDuration:this.hlsjsConfig.liveSyncDurationCount&&(this.edgeMargin=this.hlsjsConfig.liveSyncDurationCount*t.details.targetduration),this.isLive&&!t.details.live&&(this.liveEnded=!0,this.player.trigger("hlsjs-live-ended")),this.isLive=t.details.live,this.dvrDuration=t.details.totalduration,this._duration=this.isLive?1/0:t.details.totalduration,this.isLive&&(this.maxNetworkErrorRecovery=30);}),this.registerLevelEventSwitch(),this.hls.once(Ot.Events.FRAG_LOADED,()=>{this.tech.trigger("loadedmetadata");}),this.hls.attachMedia(this.videoElement),this.hls.loadSource(this.source.src);}updateToAudioOrVideo(e,t){this.player.addClass("vjs-updating-resolution");let i=this.player.currentTime();this.dispose(),this.buildBaseConfig(),this.hlsjsConfig.autoStartLoad=!0,this.player.autoplay("play"),this.hls=new $0(pt(ze({},Vg(this.hlsjsConfig,["p2pMediaLoaderOptions"])),{p2p:{core:this.hlsjsConfig.p2pMediaLoaderOptions},startPosition:this.duration()===1/0?void 0:i,startLevel:t})),this.player.trigger("hlsjs-initialized",{hlsjs:this.hls}),this.hls.on(Ot.Events.ERROR,(s,n)=>this._onError(s,n)),this.registerLevelEventSwitch(),this.hls.attachMedia(this.videoElement),this.hls.loadSource(e),this.player.one("canplay",()=>{this.player.removeClass("vjs-updating-resolution");});}registerLevelEventSwitch(){this.hls.on(Ot.Events.LEVEL_SWITCHING,(e,t)=>{let i=t.level,s=-1;this.audioMode?i=-2:this.hls.autoLevelEnabled&&(i=-1,s=t.level),this.player.peertubeResolutions().select({id:i,autoResolutionChosenId:s,fireCallback:!1});});}buildBaseConfig(){let e=this.tech.options_,t=this.player.srOptions_?.hlsjsConfig||e.hlsjsConfig;this.hlsjsConfig=t?ze({},t):{};}getSeparateAudioTrack(){if(this.metadata.audioTracks.length!==0)return this.metadata.audioTracks[0].url;}},G0=(0,an.default)("peertube:player:p2p-media-loader"),mx=X.default.getPlugin("plugin"),gx=class extends mx{constructor(e,t){if(super(e),this.options=t,this.statsP2PBytes={pendingDownload:[],pendingUpload:[],peersWithWebSeed:0,peersP2POnly:0,totalDownload:0,totalUpload:0},this.statsHTTPBytes={pendingDownload:[],totalDownload:0},this.liveEnded=!1,!X.default.Html5Hlsjs){if(e.canPlayType("application/vnd.apple.mpegurl")){this.fallbackToBuiltInIOS();return;}let i="HLS.js does not seem to be supported. Cannot fallback to built-in HLS";nt.warn(i);let s={code:MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED,message:i,MEDIA_ERR_ABORTED:MediaError.MEDIA_ERR_ABORTED,MEDIA_ERR_DECODE:MediaError.MEDIA_ERR_DECODE,MEDIA_ERR_NETWORK:MediaError.MEDIA_ERR_NETWORK,MEDIA_ERR_SRC_NOT_SUPPORTED:MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED};e.ready(()=>e.error(s));return;}{let i=(n,{hlsjs:r})=>{this.hlsjs?.p2pEngine?.destroy(),clearInterval(this.networkInfoInterval),this.hlsjs=r,G0("hls.js initialized, initializing p2p-media-loader plugin",{hlsjs:r}),e.ready(()=>this.initializePlugin());};e.on("hlsjs-initialized",i);let s=()=>{G0("hls.js says the live is ended"),this.liveEnded=!0;};e.on("hlsjs-live-ended",s),this.on("dispose",()=>{this.player.off("hlsjs-initialized",i),this.player.off("hlsjs-live-ended",s);});}e.src({type:t.type,src:t.src});}dispose(){this.hlsjs?.p2pEngine?.destroy(),this.hlsjs?.destroy(),this.options.segmentValidator?.destroy(),clearInterval(this.networkInfoInterval),super.dispose();}getCurrentLevel(){if(this.hlsjs)return this.hlsjs.levels[this.hlsjs.
254currentLevel];}getLiveLatency(){return Math.round(this.hlsjs.latency);}getLiveLatencyFromEdge(){return Math.round(this.hlsjs.latency-this.hlsjs.targetLatency);}getHLSJS(){return this.hlsjs;}initializePlugin(){this.hlsjs.p2pEngine.addEventListener("onSegmentError",i=>{if(navigator.onLine===!1||this.liveEnded||i.downloadSource!=="http")return;let s=i.segment;nt.clientError(`Segment ${s.runtimeId} error.`,i),this.options.redundancyUrlManager&&this.options.redundancyUrlManager.onSegmentError(s.url);}),this.hlsjs.p2pEngine.addEventListener("onSegmentLoaded",i=>{i.downloadSource==="http"&&this.options.redundancyUrlManager&&this.options.redundancyUrlManager.onSegmentSuccess(i.segmentUrl);});let e=this.options.redundancyUrlManager?this.options.redundancyUrlManager.countBaseUrls():0;this.totalHTTPPeers=1+e,this.statsP2PBytes.peersWithWebSeed=this.totalHTTPPeers,this.runStats();let t=!0;this.hlsjs.on(Ot.Events.LEVEL_SWITCHED,()=>{let i=this.getCurrentLevel(),s=Math.min(i?.height||0,i?.width||0);this.player.trigger("resolution-change",{resolution:s,initResolutionChange:t}),t=!1;}),this.hlsjs.on(Ot.Events.MANIFEST_PARSED,(i,s)=>{if(Array.isArray(s.levels)&&s.levels.length>=1){let n=s.levels[0];this.player.trigger("video-ratio-changed",{ratio:n.width/n.height});}}),this.hlsjs.on(Ot.Events.ERROR,(i,s)=>{s.type===Ot.ErrorTypes.MEDIA_ERROR&&s.details===Ot.ErrorDetails.BUFFER_STALLED_ERROR&&this.player.trigger("buffer-stalled");});}runStats(){this.connectedPeers=new Set(),this.hlsjs.p2pEngine.getConfig().core.mainStream.isP2PDisabled&&this.hlsjs.on(Ot.Events.FRAG_LOADED,(e,t)=>{let i=t.frag.stats.loaded;this.statsHTTPBytes.pendingDownload.push(i),this.statsHTTPBytes.totalDownload+=i;}),this.hlsjs.p2pEngine.addEventListener("onChunkDownloaded",(e,t)=>{let i=t==="p2p"?this.statsP2PBytes:this.statsHTTPBytes;i.pendingDownload.push(e),i.totalDownload+=e;}),this.hlsjs.p2pEngine.addEventListener("onChunkUploaded",e=>{this.statsP2PBytes.pendingUpload.push(e),this.statsP2PBytes.totalUpload+=e;}),this.hlsjs.p2pEngine.addEventListener("onPeerConnect",e=>{e.streamType==="main"&&(this.connectedPeers.add(e.peerId),this.statsP2PBytes.peersP2POnly=this.connectedPeers.size,this.statsP2PBytes.peersWithWebSeed=this.totalHTTPPeers+this.statsP2PBytes.peersP2POnly);}),this.hlsjs.p2pEngine.addEventListener("onPeerClose",e=>{e.streamType==="main"&&(this.connectedPeers.delete(e.peerId),this.statsP2PBytes.peersP2POnly=this.connectedPeers.size,this.statsP2PBytes.peersWithWebSeed=this.totalHTTPPeers+this.statsP2PBytes.peersP2POnly);}),this.networkInfoInterval=setInterval(()=>{let e=this.player,t=this.hlsjs;if(!e||!t)return;let i=this.arraySum(this.statsP2PBytes.pendingDownload),s=this.arraySum(this.statsP2PBytes.pendingUpload),n=this.arraySum(this.statsHTTPBytes.pendingDownload);return this.statsP2PBytes.pendingDownload=[],this.statsP2PBytes.pendingUpload=[],this.statsHTTPBytes.pendingDownload=[],e.trigger("network-info",{source:"p2p-media-loader",bandwidthEstimate:t.bandwidthEstimate/8,http:{downloadSpeed:n,downloaded:this.statsHTTPBytes.totalDownload},p2p:this.options.p2pEnabled?{downloadSpeed:i,uploadSpeed:s,peersWithWebSeed:this.statsP2PBytes.peersWithWebSeed,peersP2POnly:this.statsP2PBytes.peersP2POnly,downloaded:this.statsP2PBytes.totalDownload,uploaded:this.statsP2PBytes.totalUpload}:void 0});},1e3);}arraySum(e){return e.reduce((t,i)=>t+i,0);}fallbackToBuiltInIOS(){nt.info("HLS.js does not seem to be supported. Fallback to built-in HLS."),this.player.src({type:this.options.type,src:hy(this.options.src,{videoFileToken:this.options.videoFileToken(),reinjectVideoFileToken:"true"})}),this.getResolutionButton().hide();}getResolutionButton(){return this.player.controlBar.getDescendant(["settingsButton"]).menu.getChild("resolutionMenuButton");}};X.default.registerPlugin("p2pMediaLoader",gx);var vx="2.0.9",yx=500,W0="user-agent",Co="",q0="?",Ht={FUNCTION:"function",OBJECT:"object",STRING:"string",UNDEFINED:"undefined"},Bi="browser",nn="cpu",Fs="device",gs="engine",qi="os",So="result",me="name",de="type",ye="vendor",ve="version",Ai="architecture",Ca="major",pe="model",Ld="c
254onsole",Ye="mobile",Ct="tablet",Wt="smarttv",Is="wearable",ud="xr",aa="embedded",_x="fetcher",to="inapp",mf="brands",hr="formFactors",gf="fullVersionList",wo="platform",vf="platformVersion",dc="bitness",zn="sec-ch-ua",bx=zn+"-full-version-list",Tx=zn+"-arch",Ex=zn+"-"+dc,Cx=zn+"-form-factors",Sx=zn+"-"+Ye,wx=zn+"-"+pe,zb=zn+"-"+wo,Ax=zb+"-version",Gb=[mf,gf,Ye,pe,wo,vf,Ai,hr,dc],hd="Amazon",io="Apple",K0="ASUS",Y0="BlackBerry",ar="Google",X0="Huawei",qu="Lenovo",Q0="Honor",fd="LG",Ku="Microsoft",Yu="Motorola",J0="Nvidia",Z0="OnePlus",Xu="OPPO",Zo="Samsung",ey="Sharp",ea="Sony",Qu="Xiaomi",Ju="Zebra",ty="Chrome",iy="Chromium",kn="Chromecast",Md="Edge",ta="Firefox",so="Opera",Zu="Facebook",sy="Sogou",no="Mobile ",ro=" Browser",Nh="Windows",ji=typeof window!==Ht.UNDEFINED&&window.navigator?window.navigator:void 0,fr=ji&&ji.userAgentData?ji.userAgentData:void 0,Ix=function(e,t){var i={},s=t;if(!ec(t)){s={};for(var n in t)for(var r in t[n])s[r]=t[n][r].concat(s[r]?s[r]:[]);}for(var a in e)i[a]=s[a]&&s[a].length%2===0?s[a].concat(e[a]):e[a];return i;},cc=function(e){for(var t={},i=0;i<e.length;i++)t[e[i].toUpperCase()]=e[i];return t;},Fh=function(e,t){if(typeof e===Ht.OBJECT&&e.length>0){for(var i in e)if(Bn(t)==Bn(e[i]))return!0;return!1;}return Aa(e)?Bn(t)==Bn(e):!1;},ec=function(e,t){for(var i in e)return /^(browser|cpu|device|engine|os)$/.test(i)||(t?ec(e[i]):!1);},Aa=function(e){return typeof e===Ht.STRING;},eh=function(e){if(e){for(var t=[],i=Ao(/\\?\"/g,e).split(","),s=0;s<i.length;s++)if(i[s].indexOf(";")>-1){var n=tc(i[s]).split(";v=");t[s]={brand:n[0],version:n[1]};}else t[s]=tc(i[s]);return t;}},Bn=function(e){return Aa(e)?e.toLowerCase():e;},Bh=function(e){return Aa(e)?Ao(/[^\d\.]/g,e).split(".")[0]:void 0;},tn=function(e){for(var t in e)if(e.hasOwnProperty(t)){var i=e[t];typeof i==Ht.OBJECT&&i.length==2?this[i[0]]=i[1]:this[i]=void 0;}return this;},Ao=function(e,t){return Aa(t)?t.replace(e,Co):t;},ia=function(e){return Ao(/\\?\"/g,e);},tc=function(e,t){return e=Ao(/^\s\s*/,String(e)),typeof t===Ht.UNDEFINED?e:e.substring(0,t);},Uh=function(e,t){if(!(!e||!t))for(var i=0,s,n,r,a,l,c;i<t.length&&!l;){var u=t[i],f=t[i+1];for(s=n=0;s<u.length&&!l&&u[s];)if(l=u[s++].exec(e),l)for(r=0;r<f.length;r++)c=l[++n],a=f[r],typeof a===Ht.OBJECT&&a.length>0?a.length===2?typeof a[1]==Ht.FUNCTION?this[a[0]]=a[1].call(this,c):this[a[0]]=a[1]:a.length>=3&&(typeof a[1]===Ht.FUNCTION&&!(a[1].exec&&a[1].test)?a.length>3?this[a[0]]=c?a[1].apply(this,a.slice(2)):void 0:this[a[0]]=c?a[1].call(this,c,a[2]):void 0:a.length==3?this[a[0]]=c?c.replace(a[1],a[2]):void 0:a.length==4?this[a[0]]=c?a[3].call(this,c.replace(a[1],a[2])):void 0:a.length>4&&(this[a[0]]=c?a[3].apply(this,[c.replace(a[1],a[2])].concat(a.slice(4))):void 0)):this[a]=c||void 0;i+=2;}},ms=function(e,t){for(var i in t)if(typeof t[i]===Ht.OBJECT&&t[i].length>0){for(var s=0;s<t[i].length;s++)if(Fh(t[i][s],e))return i===q0?void 0:i;}else if(Fh(t[i],e))return i===q0?void 0:i;return t.hasOwnProperty("*")?t["*"]:e;},ny={ME:"4.90","NT 3.51":"3.51","NT 4.0":"4.0",2e3:["5.0","5.01"],XP:["5.1","5.2"],Vista:"6.0",7:"6.1",8:"6.2","8.1":"6.3",10:["6.4","10.0"],NT:""},ry={embedded:"Automotive",mobile:"Mobile",tablet:["Tablet","EInk"],smarttv:"TV",wearable:"Watch",xr:["VR","XR"],"?":["Desktop","Unknown"],"*":void 0},kx={Chrome:"Google Chrome",Edge:"Microsoft Edge","Edge WebView2":"Microsoft Edge WebView2","Chrome WebView":"Android WebView","Chrome Headless":"HeadlessChrome","Huawei Browser":"HuaweiBrowser","MIUI Browser":"Miui Browser","Opera Mobi":"OperaMobile",Yandex:"YaBrowser"},oy={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[ve,[me,no+"Chrome"]],[/webview.+edge\/([\w\.]+)/i],[ve,[me,Md+" WebView"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[ve,[me,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[me,ve],[/opios[\/ ]+([\w\.]+)/i],[ve,[me,so+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[ve,[me,so+" GX"]],[/\bopr\/([\w\.]+)/i],[ve,[me,so]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[ve,[me,"Baidu"]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[ve,[me,"Maxthon"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(atlas|flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon|otter|dooble|(?:hi|lg |ovi|qute)browser|palemoon)\/v?([-\w\.]+)/i,/(brave)(?: chrome)?\/([\d\.]+)/i,/(aloha|heytap|ovi|115|surf|qwant)browser\/([\d\.]+)/i,/(qwant)(?:ios|mobile)\/([\d\.]+)/i,/(ecosia|weibo)(?:__| \w+@)([\d\.]+)/i],[me,ve],[/quark(?:pc)?\/([-\w\.]+)/i],[ve,[me,"Quark"]],[/\bddg\/([\w\.]+)/i],[ve,[me,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[ve,[me,"UCBrowser"]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[ve,[me,"WeChat"]],[/konqueror\/([\w\.]+)/i],[ve,[me,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[ve,[me,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[ve,[me,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[ve,[me,"Smart "+qu+ro]],[/(av(?:ast|g|ira))\/([\w\.]+)/i],[[me,/(.+)/,"$1 Secure"+ro],ve],[/norton\/([\w\.]+)/i],[ve,[me,"Norton Private"+ro]],[/\bfocus\/([\w\.]+)/i],[ve,[me,ta+" Focus"]],[/ mms\/([\w\.]+)$/i],[ve,[me,so+" Neon"]],[/ opt\/([\w\.]+)$/i],[ve,[me,so+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[ve,[me,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[ve,[me,"Dolphin"]],[/coast\/([\w\.]+)/i],[ve,[me,so+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[ve,[me,"MIUI"+ro]],[/fxios\/([\w\.-]+)/i],[ve,[me,no+ta]],[/\bqihoobrowser\/?([\w\.]*)/i],[ve,[me,"360"]],[/\b(qq)\/([\w\.]+)/i],[[me,/(.+)/,"$1Browser"],ve],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[me,/(.+)/,"$1"+ro],ve],[/samsungbrowser\/([\w\.]+)/i],[ve,[me,Zo+" Internet"]],[/metasr[\/ ]?([\d\.]+)/i],[ve,[me,sy+" Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[me,sy+" Mobile"],ve],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[me,ve],[/(lbbrowser|luakit|rekonq|steam(?= (clie|tenf|gameo)))/i],[me],[/ome\/([\w\.]+).+(iron(?= saf)|360(?=[es]e$))/i],[ve,me],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[me,Zu],ve,[de,to]],[/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/(daum)apps[\/ ]([\w\.]+)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(bing)(?:web|sapphire)\/([\w\.]+)/i,/(instagram|snapchat|klarna)[\/ ]([-\w\.]+)/i],[me,ve,[de,to]],[/\bgsa\/([\w\.]+) .*safari\//i],[ve,[me,"GSA"],[de,to]],[/(?:musical_ly|trill)(?:.+app_?version\/|_)([\w\.]+)/i],[ve,[me,"TikTok"],[de,to]],[/\[(linkedin)app\]/i],[me,[de,to]],[/(zalo(?:app)?)[\/\sa-z]*([\w\.-]+)/i],[[me,/(.+)/,"Zalo"],ve,[de,to]],[/(chromium)[\/ ]([-\w\.]+)/i],[me,ve],[/ome-(lighthouse)$/i],[me,[de,_x]],[/headlesschrome(?:\/([\w\.]+)| )/i],[ve,[me,ty+" Headless"]],[/wv\).+chrome\/([\w\.]+).+edgw\//i],[ve,[me,Md+" WebView2"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[me,ty+" WebView"],ve],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[ve,[me,"Android"+ro]],[/chrome\/([\w\.]+) mobile/i],[ve,[me,no+"Chrome"]],[/(chrome|omniweb|arora|[t
vendor: 10,086 bytes, line 254
254izenoka]{5} ?browser)\/v?([\w\.]+)/i],[me,ve],[/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i],[ve,[me,no+"Safari"]],[/iphone .*mobile(?:\/\w+ | ?)safari/i],[[me,no+"Safari"]],[/version\/([\w\.\,]+) .*(safari)/i],[ve,me],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[me,[ve,"1"]],[/(webkit|khtml)\/([\w\.]+)/i],[me,ve],[/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i],[[me,no+ta],ve],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[me,"Netscape"],ve],[/(wolvic|librewolf)\/([\w\.]+)/i],[me,ve],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[ve,[me,ta+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+(?= .+rv\:.+gecko\/\d+)|[0-4][\w\.]+(?!.+compatible))/i,/(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/\b(links) \(([\w\.]+)/i],[me,[ve,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[me,[ve,/[^\d\.]+./,Co]]],cpu:[[/\b((amd|x|x86[-_]?|wow|win)64)\b/i],[[Ai,"amd64"]],[/(ia32(?=;))/i,/\b((i[346]|x)86)(pc)?\b/i],[[Ai,"ia32"]],[/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i],[[Ai,"arm64"]],[/\b(arm(v[67])?ht?n?[fl]p?)\b/i],[[Ai,"armhf"]],[/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i],[[Ai,"arm"]],[/ sun4\w[;\)]/i],[[Ai,"sparc"]],[/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i,/((ppc|powerpc)(64)?)( mac|;|\))/i,/(?:osf1|[freopnt]{3,4}bsd) (alpha)/i],[[Ai,/ower/,Co,Bn]],[/mc680.0/i],[[Ai,"68k"]],[/winnt.+\[axp/i],[[Ai,"alpha"]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[pe,[ye,Zo],[de,Ct]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr]|browser)[-\w]+)/i,/sec-(sgh\w+)/i],[pe,[ye,Zo],[de,Ye]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)[\/\);]/i],[pe,[ye,io],[de,Ye]],[/\b(?:ios|apple\w+)\/.+[\(\/](ipad)/i,/\b(ipad)[\d,]*[;\] ].+(mac |i(pad)?)os/i],[pe,[ye,io],[de,Ct]],[/(macintosh);/i],[pe,[ye,io]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[pe,[ye,ey],[de,Ye]],[/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i],[pe,[ye,Q0],[de,Ct]],[/honor([-\w ]+)[;\)]/i],[pe,[ye,Q0],[de,Ye]],[/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i],[pe,[ye,X0],[de,Ct]],[/(?:huawei) ?([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][\dc][adnt]?)\b(?!.+d\/s)/i],[pe,[ye,X0],[de,Ye]],[/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,/\b(?:xiao)?((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i],[[pe,/_/g," "],[ye,Qu],[de,Ct]],[/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/oid[^\)]+; (redmi[\-_ ]?(?:note|k)?[\w_ ]+|m?[12]\d[01]\d\w{3,6}|poco[\w ]+|(shark )?\w{3}-[ah]0|qin ?[1-3](s\+|ultra| pro)?)( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note|max|cc)?[_ ]?(?:\d{0,2}\w?)[_ ]?(?:plus|se|lite|pro)?( 5g|lte)?)(?: bui|\))/i,/ ([\w ]+) miui\/v?\d/i],[[pe,/_/g," "],[ye,Qu],[de,Ye]],[/droid.+; (cph2[3-6]\d[13579]|((gm|hd)19|(ac|be|in|kb)20|(d[en]|eb|le|mt)21|ne22)[0-2]\d|p[g-l]\w[1m]10)\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[pe,[ye,Z0],[de,Ye]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[pe,[ye,Xu],[de,Ye]],[/\b(opd2(\d{3}a?))(?: bui|\))/i],[pe,[ye,ms,{OnePlus:["203","304","403","404","413","415"],"*":Xu}],[de,Ct]],[/(vivo (5r?|6|8l?|go|one|s|x[il]?[2-4]?)[\w\+ ]*)(?: bui|\))/i],[pe,[ye,"BLU"],[de,Ye]],[/; vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[pe,[ye,"Vivo"],[de,Ye]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[pe,[ye,"Realme"],[de,Ye]],[/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i],[pe,[ye,qu],[de,Ct]],[/lenovo[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i],[pe,[ye,qu],[de,Ye]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ]([\w\s]+)(\)| bui)/i,/((?:moto(?! 360)[-\w\(\) ]+|xt\d{3,4}[cgkosw\+]?[-\d]*|nexus 6)(?= bui|\)))/i],[pe,[ye,Yu],[de,Ye]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[pe,[ye,Yu],[de,Ct]],[/\b(?:lg)?([vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[pe,[ye,fd],[de,Ct]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\w+)/i,/\blg-?([\d\w]+) bui/i],[pe,[ye,fd],[de,Ye]],[/(nokia) (t[12][01])/i],[ye,pe,[de,Ct]],[/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,/nokia[-_ ]?(([-\w\. ]*?))( bui|\)|;|\/)/i],[[pe,/_/g," "],[de,Ye],[ye,"Nokia"]],[/(pixel (c|tablet))\b/i],[pe,[ye,ar],[de,Ct]],[/droid.+;(?: google)? (g(01[13]a|020[aem]|025[jn]|1b60|1f8f|2ybb|4s1m|576d|5nz6|8hhn|8vou|a02099|c15s|d1yq|e2ae|ec77|gh2x|kv4x|p4bc|pj41|r83y|tt9q|ur25|wvk6)|pixel[\d ]*a?( pro)?( xl)?( fold)?( \(5g\))?)( bui|\))/i],[pe,[ye,ar],[de,Ye]],[/(google) (pixelbook( go)?)/i],[ye,pe],[/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-\w\w\d\d)(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[pe,[ye,ea],[de,Ye]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[pe,"Xperia Tablet"],[ye,ea],[de,Ct]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[pe,[ye,hd],[de,Ct]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[pe,/(.+)/g,"Fire Phone $1"],[ye,hd],[de,Ye]],[/(playbook);[-\w\),; ]+(rim)/i],[pe,ye,[de,Ct]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/(?:blackberry|\(bb10;) (\w+)/i],[pe,[ye,Y0],[de,Ye]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[pe,[ye,K0],[de,Ct]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[pe,[ye,K0],[de,Ye]],[/(nexus 9)/i],[pe,[ye,"HTC"],[de,Ct]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[ye,[pe,/_/g," "],[de,Ye]],[/tcl (xess p17aa)/i,/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])(_\w(\w|\w\w))?(\)| bui)/i],[pe,[ye,"TCL"],[de,Ct]],[/droid [\w\.]+; (418(?:7d|8v)|5087z|5102l|61(?:02[dh]|25[adfh]|27[ai]|56[dh]|59k|65[ah])|a509dl|t(?:43(?:0w|1[adepqu])|50(?:6d|7[adju])|6(?:09dl|10k|12b|71[efho]|76[hjk])|7(?:66[ahju]|67[hw]|7[045][bh]|71[hk]|73o|76[ho]|79w|81[hks]?|82h|90[bhsy]|99b)|810[hs]))(_\w(\w|\w\w))?(\)| bui)/i],[pe,[ye,"TCL"],[de,Ye]],[/(itel) ((\w+))/i],[[ye,Bn],pe,[de,ms,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[pe,[ye,"Acer"],[de,Ct]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[pe,[ye,"Meizu"],[de,Ye]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[pe,[ye,"Ulefone"],[de,Ye]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[pe,[ye,"Energizer"],[de,Ye]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[pe,[ye,"Cat"],[de,Ye]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[pe,[ye,"Smartfren"],[de,Ye]],[/droid.+; (a(in)?(0(15|59|6[35])|142)p?)/i],[pe,[ye,"Nothing"],[de,Ye]],[/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i],[pe,[ye,"Archos"],[de,Ct]],[/archos ([\w ]+)( b|\))/i,/; (ac[3-6]\d\w{2,8})( b|\))/i],[pe,[ye,"Archos"],[de,Ye]],[/; (n159v)/i],[pe,[ye,"HMD"],[de,Ye]],[/(imo) (tab \w+)/i,/(infinix|tecno) (x1101b?|p904|dp(7c|8d|10a)( pro)?|p70[1-3]a?|p904|t1101)/i],[ye,pe,[de,Ct]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (blu|hmd|imo|infinix|lava|oneplus|tcl|wiko)[_ ]([\w\+ ]+?)(?: bui|\)|; r)/i,/(hp) ([\w ]+\w)/i,/(microsoft); (lumia[\w ]+)/i,/(oppo) ?([\w ]+) bui/i,/(hisense) ([ehv][\w ]+)\)/i,/droid[^;]+; (philips)[_ ]([sv-x][\d]{3,4}[xz]?)/i],[ye,pe,[de,Ye]],[/(kobo)\s(ereader|touch)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i],[ye,pe,[de,Ct]],[/(surface duo)/i],[pe,[ye,Ku],[de,Ct]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[pe,[ye,"Fairphone"],[de,Ye]],[/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i],[pe,[ye,J0],[de,Ct]],[/(sprint) (\w+)/i],[ye,pe,[de,Ye]],[/(kin\.[onetw]{3})/i],[[pe,/\./g," "],[ye,Ku],[de,Ye]],[/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[pe,[ye,Ju],[de,Ct]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[pe,[ye,Ju],[de,Ye]],[/(philips)[\w ]+tv/i,/smart-tv.+(samsung)/i],[ye,[de,Wt]],[/hbbtv.+maple;(\d+)/i],[[pe,/^/,"SmartTV"],[ye,Zo],[de,Wt]],[/(vizio)(?: |.+model\/)(\w+-\w+)/i,/tcast.+(lg)e?. ([-\w]+)/i],[ye,pe,[de,Wt]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[ye,fd],[de,Wt]],[/(apple) ?tv/i],[ye,[pe,io+" TV"],[de,Wt]],[/crkey.*devicetype\/chromecast/i],[[pe,kn+" Third Generation"],[ye,ar],[de,Wt]],[/crkey.*devicetype\/([^/]*)/i],[[pe,/^/,"Chromecast "],[ye,ar],[de,Wt]],[/fuchsia.*crkey/i],[[pe,kn+" Nest Hub"],[ye,ar],[de,Wt]],[/crkey/i],[[pe,kn],[ye,ar],[de,Wt]],[/(portaltv)/i],[pe,[ye,Zu],[de,Wt]],[/droid.+aft(\w+)( bui|\))/i],[pe,[ye,hd],[de,Wt]],[/(shield \w+ tv)/i],[pe,[ye,J0],[de,Wt]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[pe,[ye,ey],[de,Wt]],[/(bravia[\w ]+)( bui|\))/i],[pe,[ye,ea],[de,Wt]],[/(mi(tv|box)-?\w+) bui/i],[pe,[ye,Qu],[de,Wt]],[/Hbbtv.*(technisat) (.*);/i],[ye,pe,[de,Wt]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[ye,/.+\/(\w+)/,"$1",ms,{LG:"lge"}],[pe,tc],[de,Wt]],[/(playstation \w+)/i],[pe,[ye,ea],[de,Ld]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[pe,[ye,Ku],[de,Ld]],[/(ouya)/i,/(nintendo) (\w+)/i,/(retroid) (pocket ([^\)]+))/i,/(valve).+(steam deck)/i,/droid.+; ((shield|rgcube|gr0006))( bui|\))/i],[[ye,ms,{Nvidia:"Shield",Anbernic:"RGCUBE",Logitech:"GR0006"}],pe,[de,Ld]],[/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i],[pe,[ye,Zo],[de,Is]],[/((pebble))app/i,/(asu
vendor: 5,300 bytes, line 254
254s|google|lg|oppo|xiaomi) ((pixel |zen)?watch[\w ]*)( bui|\))/i],[ye,pe,[de,Is]],[/(ow(?:19|20)?we?[1-3]{1,3})/i],[pe,[ye,Xu],[de,Is]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[pe,[ye,io],[de,Is]],[/(opwwe\d{3})/i],[pe,[ye,Z0],[de,Is]],[/(moto 360)/i],[pe,[ye,Yu],[de,Is]],[/(smartwatch 3)/i],[pe,[ye,ea],[de,Is]],[/(g watch r)/i],[pe,[ye,fd],[de,Is]],[/droid.+; (wt63?0{2,3})\)/i],[pe,[ye,Ju],[de,Is]],[/droid.+; (glass) \d/i],[pe,[ye,ar],[de,ud]],[/(pico) ([\w ]+) os\d/i],[ye,pe,[de,ud]],[/(quest( \d| pro)?s?).+vr/i],[pe,[ye,Zu],[de,ud]],[/mobile vr; rv.+firefox/i],[[de,ud]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[ye,[de,aa]],[/(aeobc)\b/i],[pe,[ye,hd],[de,aa]],[/(homepod).+mac os/i],[pe,[ye,io],[de,aa]],[/windows iot/i],[[de,aa]],[/droid.+; ([\w- ]+) (4k|android|smart|google)[- ]?tv/i],[pe,[de,Wt]],[/\b((4k|android|smart|opera)[- ]?tv|tv; rv:|large screen[\w ]+safari)\b/i],[[de,Wt]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew|; hmsc).+?(mobile|vr|\d) safari/i],[pe,[de,ms,{mobile:"Mobile",xr:"VR","*":Ct}]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[de,Ct]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[de,Ye]],[/droid .+?; ([\w\. -]+)( bui|\))/i],[pe,[ye,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[ve,[me,Md+"HTML"]],[/(arkweb)\/([\w\.]+)/i],[me,ve],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[ve,[me,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links|dillo)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[me,ve],[/ladybird\//i],[[me,"LibWeb"]],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[ve,me]],os:[[/(windows nt) (6\.[23]); arm/i],[[me,/N/,"R"],[ve,ms,ny]],[/(windows (?:phone|mobile|iot))(?: os)?[\/ ]?([\d\.]*( se)?)/i,/(windows)[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i],[me,ve],[/windows nt ?([\d\.\)]*)(?!.+xbox)/i,/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d\.;]*)/i],[[ve,/(;|\))/g,"",ms,ny],[me,Nh]],[/(windows ce)\/?([\d\.]*)/i],[me,ve],[/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv|ios(?=.+ip(?:ad|hone)|.+apple ?tv)|ip(?:ad|hone)(?: |.+i(?:pad)?)os|apple ?tv.+ios)[\/ ]([\w\.]+)/i,/\btvos ?([\w\.]+)/i,/cfnetwork\/.+darwin/i],[[ve,/_/g,"."],[me,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i],[[me,"macOS"],[ve,/_/g,"."]],[/android ([\d\.]+).*crkey/i],[ve,[me,kn+" Android"]],[/fuchsia.*crkey\/([\d\.]+)/i],[ve,[me,kn+" Fuchsia"]],[/crkey\/([\d\.]+).*devicetype\/smartspeaker/i],[ve,[me,kn+" SmartSpeaker"]],[/linux.*crkey\/([\d\.]+)/i],[ve,[me,kn+" Linux"]],[/crkey\/([\d\.]+)/i],[ve,[me,kn]],[/droid ([\w\.]+)\b.+(android[- ]x86)/i],[ve,me],[/(ubuntu) ([\w\.]+) like android/i],[[me,/(.+)/,"$1 Touch"],ve],[/(harmonyos)[\/ ]?([\d\.]*)/i,/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen)\w*[-\/\.; ]?([\d\.]*)/i],[me,ve],[/\(bb(10);/i],[ve,[me,Y0]],[/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i],[ve,[me,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile[;\w ]*|tablet|tv|[^\)]*(?:viera|lg(?:l25|-d300)|alcatel ?o.+|y300-f1)); rv:([\w\.]+)\).+gecko\//i],[ve,[me,ta+" OS"]],[/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i,/webos(?:[ \/]?|\.tv-20(?=2[2-9]))(\d[\d\.]*)/i],[ve,[me,"webOS"]],[/web0s;.+?(?:chr[o0]me|safari)\/(\d+)/i],[[ve,ms,{25:"120",24:"108",23:"94",22:"87",6:"79",5:"68",4:"53",3:"38",2:"538",1:"537","*":"TV"}],[me,"webOS"]],[/watch(?: ?os[,\/ ]|\d,\d\/)([\d\.]+)/i],[ve,[me,"watchOS"]],[/cros [\w]+(?:\)| ([\w\.]+)\b)/i],[ve,[me,"Chrome OS"]],[/kepler ([\w\.]+); (aft|aeo)/i],[ve,[me,"Vega OS"]],[/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) (\w+)/i,/(xbox); +xbox ([^\);]+)/i,/(pico) .+os([\w\.]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/linux.+(mint)[\/\(\) ]?([\w\.]*)/i,/(mageia|vectorlinux|fuchsia|arcaos|arch(?= ?linux))[;l ]([\d\.]*)/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire|knoppix)(?: gnu[\/ ]linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/\b(aix)[; ]([1-9\.]{0,4})/i,/(hurd|linux|morphos)(?: (?:arm|x86|ppc)\w*| ?)([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) ?(r\d)?/i],[me,ve],[/(sunos) ?([\d\.]*)/i],[[me,"Solaris"],ve],[/\b(beos|os\/2|amigaos|openvms|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[me,ve]]},pd=function(){var e={init:{},isIgnore:{},isIgnoreRgx:{},toString:{}};return tn.call(e.init,[[Bi,[me,ve,Ca,de]],[nn,[Ai]],[Fs,[de,pe,ye]],[gs,[me,ve]],[qi,[me,ve]]]),tn.call(e.isIgnore,[[Bi,[ve,Ca]],[gs,[ve]],[qi,[ve]]]),tn.call(e.isIgnoreRgx,[[Bi,/ ?browser$/i],[qi,/ ?os$/i]]),tn.call(e.toString,[[Bi,[me,ve]],[nn,[Ai]],[Fs,[ye,pe]],[gs,[me,ve]],[qi,[me,ve]]]),e;}(),Px=function(e,t){var i=pd.init[t],s=pd.isIgnore[t]||0,n=pd.isIgnoreRgx[t]||0,r=pd.toString[t]||0;function a(){tn.call(this,i);}return a.prototype.getItem=function(){return e;},a.prototype.withClientHints=function(){return fr?fr.getHighEntropyValues(Gb).then(function(l){return e.setCH(new Wb(l,!1)).parseCH().get();}):e.parseCH().get();}
254,a.prototype.withFeatureCheck=function(){return e.detectFeature().get();},t!=So&&(a.prototype.is=function(l){var c=!1;for(var u in this)if(this.hasOwnProperty(u)&&!Fh(s,u)&&Bn(n?Ao(n,this[u]):this[u])==Bn(n?Ao(n,l):l)){if(c=!0,l!=Ht.UNDEFINED)break;}else if(l==Ht.UNDEFINED&&c){c=!c;break;}return c;},a.prototype.toString=function(){var l=Co;for(var c in r)typeof this[r[c]]!==Ht.UNDEFINED&&(l+=(l?" ":Co)+this[r[c]]);return l||Ht.UNDEFINED;}),a.prototype.then=function(l){var c=this,u=function(){for(var p in c)c.hasOwnProperty(p)&&(this[p]=c[p]);};u.prototype={is:a.prototype.is,toString:a.prototype.toString,withClientHints:a.prototype.withClientHints,withFeatureCheck:a.prototype.withFeatureCheck};var f=new u();return l(f),f;},new a();};function Wb(e,t){if(e=e||{},tn.call(this,Gb),t)tn.call(this,[[mf,eh(e[zn])],[gf,eh(e[bx])],[Ye,/\?1/.test(e[Sx])],[pe,ia(e[wx])],[wo,ia(e[zb])],[vf,ia(e[Ax])],[Ai,ia(e[Tx])],[hr,eh(e[Cx])],[dc,ia(e[Ex])]]);else for(var i in e)this.hasOwnProperty(i)&&typeof e[i]!==Ht.UNDEFINED&&(this[i]=e[i]);}function $n(e,t,i,s){return tn.call(this,[["itemType",e],["ua",t],["uaCH",s],["rgxMap",i],["data",Px(this,e)]]),this;}$n.prototype.get=function(e){return e?this.data.hasOwnProperty(e)?this.data[e]:void 0:this.data;};$n.prototype.set=function(e,t){return this.data[e]=t,this;};$n.prototype.setCH=function(e){return this.uaCH=e,this;};$n.prototype.detectFeature=function(){if(ji&&ji.userAgent==this.ua)switch(this.itemType){case Bi:ji.brave&&typeof ji.brave.isBrave==Ht.FUNCTION&&this.set(me,"Brave");break;case Fs:!this.get(de)&&fr&&fr[Ye]&&this.set(de,Ye),this.get(pe)=="Macintosh"&&ji&&typeof ji.standalone!==Ht.UNDEFINED&&ji.maxTouchPoints&&ji.maxTouchPoints>2&&this.set(pe,"iPad").set(de,Ct);break;case qi:!this.get(me)&&fr&&fr[wo]&&this.set(me,fr[wo]);break;case So:var e=this.data,t=function(i){return e[i].getItem().detectFeature().get();};this.set(Bi,t(Bi)).set(nn,t(nn)).set(Fs,t(Fs)).set(gs,t(gs)).set(qi,t(qi));}return this;};$n.prototype.parseUA=function(){switch(this.itemType!=So&&Uh.call(this.data,this.ua,this.rgxMap),this.itemType){case Bi:this.set(Ca,Bh(this.get(ve)));break;case qi:if(this.get(me)=="iOS"&&this.get(ve)=="18.6"){var e=/\) Version\/([\d\.]+)/.exec(this.ua);e&&parseInt(e[1].substring(0,2),10)>=26&&this.set(ve,e[1]);}break;}return this;};$n.prototype.parseCH=function(){var e=this.uaCH,t=this.rgxMap;switch(this.itemType){case Bi:case gs:var i=e[gf]||e[mf],s;if(i)for(var n=0;n<i.length;n++){var r=i[n].brand||i[n],a=i[n].version;this.itemType==Bi&&!/not.a.brand/i.test(r)&&(!s||/Chrom/.test(s)&&r!=iy||s==Md&&/WebView2/.test(r))&&(r=ms(r,kx),s=this.get(me),s&&!/Chrom/.test(s)&&/Chrom/.test(r)||this.set(me,r).set(ve,a).set(Ca,Bh(a)),s=r),this.itemType==gs&&r==iy&&this.set(ve,a);}break;case nn:var l=e[Ai];l&&(l&&e[dc]=="64"&&(l+="64"),Uh.call(this.data,l+";",t));break;case Fs:if(e[Ye]&&this.set(de,Ye),e[pe]&&(this.set(pe,e[pe]),!this.get(de)||!this.get(ye))){var c={};Uh.call(c,"droid 9; "+e[pe]+")",t),!this.get(de)&&c.type&&this.set(de,c.type),!this.get(ye)&&c.vendor&&this.set(ye,c.vendor);}if(e[hr]){var u;if(typeof e[hr]!="string")for(var f=0;!u&&f<e[hr].length;)u=ms(e[hr][f++],ry);else u=ms(e[hr],ry);this.set(de,u);}break;case qi:var p=e[wo];if(p){var g=e[vf];p==Nh&&(g=parseInt(Bh(g),10)>=13?"11":"10"),this.set(me,p).set(ve,g);}this.get(me)==Nh&&e[pe]=="Xbox"&&this.set(me,"Xbox").set(ve,void 0);break;case So:var v=this.data,T=function(y){return v[y].getItem().setCH(e).parseCH().get();};this.set(Bi,T(Bi)).set(nn,T(nn)).set(Fs,T(Fs)).set(gs,T(gs)).set(qi,T(qi));}return this;};function rn(e,t,i){if(typeof e===Ht.OBJECT?(ec(e,!0)?(typeof t===Ht.OBJECT&&(i=t),t=e):(i=e,t=void 0),e=void 0):typeof e===Ht.STRING&&!ec(t,!0)&&(i=t,t=void 0),i)if(typeof i.append===Ht.FUNCTION){var s={};i.forEach(function(f,p){s[String(p).toLowerCase()]=f;}),i=s;}else{var n={};for(var r in i)i.hasOwnProperty(r)&&(n[String(r).toLowerCase()]=i[r]);i=n;}if(!(this instanceof rn))return new rn(e,t,i).getResult();var a=typeof e===Ht.STRING?e:i&&i[W0]?i[W0]:ji&&ji.userAgent?ji.userAgent:Co,l=new Wb(i,!0),c=t?Ix(oy,t):oy,u=function(f){return f==So?function(){return new $n(f,a,c,l).set("ua",a).set(Bi,this.getBrowser()).set(nn,this.getCPU()).set(Fs,this.getDevice()
254).set(gs,this.getEngine()).set(qi,this.getOS()).get();}:function(){return new $n(f,a,c[f],l).parseUA().get();};};return tn.call(this,[["getBrowser",u(Bi)],["getCPU",u(nn)],["getDevice",u(Fs)],["getEngine",u(gs)],["getOS",u(qi)],["getResult",u(So)],["getUA",function(){return a;}],["setUA",function(f){return Aa(f)&&(a=tc(f,yx)),this;}]]).setUA(a),this;}rn.VERSION=vx;rn.BROWSER=cc([me,ve,Ca,de]);rn.CPU=cc([Ai]);rn.DEVICE=cc([pe,ye,de,Ld,Ye,Wt,Ct,Is,aa]);rn.ENGINE=rn.OS=cc([me,ve]);var ui=(0,an.default)("peertube:player:peertube"),Rx=X.default.getPlugin("plugin"),xx=class extends Rx{constructor(e,t){super(e),this.options=t,this.setUserAgentInfo(),this.menuOpened=!1,this.mouseInControlBar=!1,this.mouseInSettings=!1,this.hasInitialSeek=!1,this.videoViewUrl=t.videoViewUrl,this.authorizationHeader=t.authorizationHeader,this.hasAutoplay=t.hasAutoplay,this.initialInactivityTimeout=this.player.options_.inactivityTimeout,this.currentSubtitle=this.options.subtitle()||JC(),this.initializePlayer(),this.initOnVideoChange(),this.player.removeClass("vjs-can-play"),this.deleteLegacyIndexedDB(),this.player.on("autoplay-failure",()=>{ui("Autoplay failed"),this.player.removeClass("vjs-has-autoplay"),this.player.poster(t.poster()),(IC()||kC())&&this.player.hasStarted(!1);}),this.player.one("canplay",()=>{let i=this.player.options_,s=HC();s!==void 0&&this.player.volume(s);let n=i.muted!==void 0?i.muted:GC();n!==void 0&&this.player.muted(n);let r=this.options.playbackRate??VC();r!==void 0&&(this.currentPlaybackRate=r,this.player.playbackRate(this.currentPlaybackRate),this.player.defaultPlaybackRate(this.currentPlaybackRate)),this.player.addClass("vjs-can-play");}),this.player.ready(()=>{this.player.on("volumechange",()=>{zC(this.player.volume()),WC(this.player.muted());}),this.player.on("ratechange",()=>{this.currentPlaybackRate=this.player.playbackRate(),this.player.defaultPlaybackRate(this.currentPlaybackRate),this.currentPlaybackRate!==this.options.playbackRate&&$C(this.currentPlaybackRate);}),this.player.textTracks().addEventListener("change",()=>{let i=this.player.textTracks().tracks_.find(s=>s.kind==="captions"&&s.mode==="showing");if(!i){zg("off"),this.currentSubtitle=void 0;return;}this.currentSubtitle!==i.language&&(this.currentSubtitle=i.language,zg(i.language),ZC(i.language));}),this.player.on("video-change",()=>{this.initOnVideoChange(),this.hideFatalError();}),this.updatePlayerSizeClasses(),typeof ResizeObserver<"u"&&(this.resizeObserver=new ResizeObserver(()=>{this.updatePlayerSizeClasses();}),this.resizeObserver.observe(this.player.el()));}),this.player.on("resolution-change",(i,{resolution:s})=>{if(this.player.paused()){this.adaptPosterForAudioOnlyPlayHandler&&(this.player.off("play",this.adaptPosterForAudioOnlyPlayHandler),this.adaptPosterForAudioOnlyPlayHandler=void 0),this.adaptPosterForAudioOnlyPlayHandler=()=>this.adaptPosterForAudioOnly(s),this.player.one("play",this.adaptPosterForAudioOnlyPlayHandler);return;}this.adaptPosterForAudioOnly(s);}),this.initOnRatioChange();}dispose(){this.videoViewInterval&&clearInterval(this.videoViewInterval),this.resizeObserver&&this.resizeObserver.disconnect(),super.dispose();}onMenuOpened(){this.menuOpened=!0,this.alterInactivity();}onMenuClosed(){this.menuOpened=!1,this.alterInactivity();}displayFatalError(e={}){let{log:t=!0,error:i=this.player.error(),isTechnicalError:s=!0}=e;if(this.errorModal)return;ui("Display fatal error"),this.player.loadingSpinner.hide();let n=()=>{let r=this.player.localize.bind(this.player),a=document.createElement("div"),l=document.createElement("h1");if(l.innerText=r("Failed to play video"),a.appendChild(l),s){let u=document.createElement("div");u.innerText=r("The video failed to play due to technical issues."),a.appendChild(u);}let c=document.createElement("p");return c.classList.add("error-details"),c.innerText=i.message,a.appendChild(c),a;};this.errorModal=this.player.createModal(n(),{temporary:!0,uncloseable:!0}),this.errorModal.addClass("vjs-custom-error-display"),this.player.addClass("vjs-error-display-enabled"),t&&(/googlebot/i.test(navigator.userAgent)?console.error(i):nt.error("Fatal error in player",i));}
254hideFatalError(){this.errorModal&&(ui("Hiding fatal error"),this.player.removeClass("vjs-error-display-enabled"),this.player.removeChild(this.errorModal),this.errorModal.close(),this.errorModal=void 0,this.player.loadingSpinner&&this.player.loadingSpinner.show());}setUserAgentInfo(){let e=rn(window.navigator.userAgent),t=Dd()?"mobile":"desktop";this.userAgentInfo={client:e.browser.name,os:e.os.name,device:e.device.type||t};}initializePlayer(){Dd()&&this.player.addClass("vjs-is-mobile"),this.patchMenuEscapeKey(),this.player.ready(()=>{this.listenControlBarMouse();}),this.listenFullScreenChange();}initOnVideoChange(){this.hasAutoplay()!==!1?this.player.addClass("vjs-has-autoplay"):this.player.removeClass("vjs-has-autoplay"),this.currentPlaybackRate&&this.currentPlaybackRate!==1&&(ui("Setting playback rate to "+this.currentPlaybackRate),this.player.playbackRate(this.currentPlaybackRate)),this.player.ready(()=>{this.initCaptions(),this.updateControlBar();}),this.handleStartStopTime(),this.runUserViewing();}initOnRatioChange(){if(!this.options.autoPlayerRatio)return;let e=getComputedStyle(this.player.el()).getPropertyValue(this.options.autoPlayerRatio.cssRatioVariable),t=()=>{this.options.videoRatio()&&(this.adaptPlayerFromRatio({ratio:this.options.videoRatio(),defaultRatio:e}),this.updatePlayerSizeClasses());};t(),this.player.on("video-change",()=>t()),this.player.on("video-ratio-changed",(i,s)=>{this.options.videoRatio()||(this.adaptPlayerFromRatio({ratio:s.ratio,defaultRatio:e}),this.updatePlayerSizeClasses());});}adaptPlayerFromRatio(e){let{ratio:t,defaultRatio:i}=e,s=this.player.el(),n=getComputedStyle(s).getPropertyValue(this.options.autoPlayerRatio.cssPlayerPortraitModeVariable)==="1",r=isNaN(t)||!n&&t<1?i:t;s.style.setProperty(this.options.autoPlayerRatio.cssRatioVariable,r+"");}runUserViewing(){let e=la(this.options.startTime()),t=e,i,s=!1;this.disableUserViewing(),this.videoViewOnPlayHandler=()=>{ui("Notify user is watching on play: "+e),this.notifyUserIsWatching(e,i);},this.videoViewOnSeekedHandler=()=>{if(this.hasInitialSeek){this.hasInitialSeek=!1;return;}let n=Math.floor(this.player.currentTime());if(n===0&&this.player.loop()){ui("Disabling viewing notification after first video loop."),this.disableUserViewing();return;}let r=n-t;r>0&&r<3||(ui("Detected seek event for user watching"),i="seek");},this.videoViewOnEndedHandler=()=>{if(s=!0,this.options.isLive())return;let n=Math.floor(this.player.duration());t=n,ui("Notify user is watching on end: "+n),this.notifyUserIsWatching(n,i),i=void 0;},this.player.one("play",this.videoViewOnPlayHandler),this.player.on("seeked",this.videoViewOnSeekedHandler),this.player.one("ended",this.videoViewOnEndedHandler),this.videoViewInterval=setInterval(()=>{let n=this.player;if(!n||s)return;let r=Math.floor(n.currentTime());r!==t&&(ui("Notify user is watching: "+r),t=r,this.notifyUserIsWatching(r,i).catch(a=>nt.error("Cannot notify user is watching.",a)),i=void 0);},this.options.videoViewIntervalMs);}disableUserViewing(){this.videoViewInterval&&(clearInterval(this.videoViewInterval),this.videoViewInterval=void 0),this.videoViewOnPlayHandler&&(this.player.off("play",this.videoViewOnPlayHandler),this.videoViewOnPlayHandler=void 0),this.videoViewOnSeekedHandler&&(this.player.off("seeked",this.videoViewOnSeekedHandler),this.videoViewOnSeekedHandler=void 0),this.videoViewOnEndedHandler&&(this.player.off("ended",this.videoViewOnEndedHandler),this.videoViewOnEndedHandler=void 0);}notifyUserIsWatching(e,t){if(this.authorizationHeader()||tS(this.options.videoUUID(),e),!this.videoViewUrl())return Promise.resolve(!0);let i={currentTime:e,viewEvent:t,sessionId:iS(),client:this.userAgentInfo.client||void 0,device:this.userAgentInfo.device||void 0,operatingSystem:this.userAgentInfo.os||void 0},s=new Headers({"Content-type":"application/json; charset=UTF-8"});return this.authorizationHeader()&&s.set("Authorization",this.authorizationHeader()),fetch(this.videoViewUrl(),{method:"POST",body:JSON.stringify(i),headers:s});}adaptPosterForAudioOnly(e){if(ui("Check if we need to adapt player for audio only",e),e===0){this.player.audioPosterMode(!0),this.player.poster(this.options.poster()
254);return;}this.player.audioPosterMode(!1),this.player.poster("");}updatePlayerSizeClasses(){requestAnimationFrame(()=>{if(!this.player)return;ui("Updating player size classes");let e=this.player.currentWidth();for(let t of[350,570,750])e<=t?this.player.addClass("vjs-size-"+t):this.player.removeClass("vjs-size-"+t);});}listenFullScreenChange(){this.player.on("fullscreenchange",()=>{this.player.isFullscreen()&&this.player.focus();});}listenControlBarMouse(){let e=this.player.controlBar,t=e.settingsButton;e.on("mouseenter",()=>{this.mouseInControlBar=!0,this.alterInactivity();}),e.on("mouseleave",()=>{this.mouseInControlBar=!1,this.alterInactivity();}),t.dialog.on("mouseenter",()=>{this.mouseInSettings=!0,this.alterInactivity();}),t.dialog.on("mouseleave",()=>{this.mouseInSettings=!1,this.alterInactivity();});}alterInactivity(){if(this.menuOpened||this.mouseInSettings||this.mouseInControlBar){this.setInactivityTimeout(0);return;}this.setInactivityTimeout(this.initialInactivityTimeout),this.player.reportUserActivity(!0);}setInactivityTimeout(e){this.player.cache_.inactivityTimeout=e,this.player.options_.inactivityTimeout=e;}initCaptions(){this.currentSubtitle?ui("Init captions with current subtitle "+this.currentSubtitle):ui("Init captions without current subtitle"),this.player.tech(!0).clearTracks("text"),this.player.removeClass("vjs-has-captions");for(let e of this.options.videoCaptions())this.player.addRemoteTextTrack({kind:"captions",label:e.automaticallyGenerated?this.player.localize("{1} (auto-generated)",[e.label]):e.label,language:e.language,id:e.language,src:e.src,default:this.currentSubtitle===e.language},!0),this.player.addClass("vjs-has-captions");this.player.trigger("captions-changed");}updateControlBar(){ui("Updating control bar"),this.options.isLive()&&this.options.liveDvrEnabled()?this.player.addClass("vjs-live-dvr"):this.player.removeClass("vjs-live-dvr"),this.options.isLive()?(this.getPlaybackRateButton().hide(),this.player.controlBar.getChild("peerTubeLiveDisplay").show(),this.player.controlBar.getChild("currentTimeDisplay").hide(),this.player.controlBar.getChild("timeDivider").hide(),this.player.controlBar.getChild("durationDisplay").hide(),this.options.liveDvrEnabled()||this.player.controlBar.getChild("progressControl").hide()):(this.getPlaybackRateButton().show(),this.player.controlBar.getChild("progressControl").show(),this.player.controlBar.getChild("currentTimeDisplay").show(),this.player.controlBar.getChild("timeDivider").show(),this.player.controlBar.getChild("durationDisplay").show(),this.player.controlBar.getChild("peerTubeLiveDisplay").hide()),this.options.videoCaptions().length===0?this.getCaptionsButton().hide():this.getCaptionsButton().show();}handleStartStopTime(){this.player.duration(this.options.videoDuration()),this.stopTimeHandler&&(this.player.off("timeupdate",this.stopTimeHandler),this.stopTimeHandler=void 0),this.player.one("canplaythrough",()=>{let e=this.options.startTime();if(e!=null&&(ui("Start the video at "+e),this.hasInitialSeek=!0,this.player.currentTime(la(e))),this.options.stopTime()){let t=la(this.options.stopTime());this.stopTimeHandler=()=>{this.player.currentTime()<=t||(ui("Stopping the video at "+this.options.stopTime()),this.player.pause(),this.player.trigger("auto-stopped"),this.player.off("timeupdate",this.stopTimeHandler),this.stopTimeHandler=void 0);},this.player.on("timeupdate",this.stopTimeHandler);}});}patchMenuEscapeKey(){let e=X.default.getComponent("Menu"),t=e.prototype.handleKeyDown;e.prototype.handleKeyDown=function(s){if(s.key==="Escape"){s.preventDefault(),s.stopPropagation(),this.trigger("escaped-key");return;}if(s.key==="ArrowRight"){s.preventDefault(),s.stopPropagation(),this.trigger("arrow-right",s.target);return;}if(s.key==="ArrowLeft"){s.preventDefault(),s.stopPropagation(),this.trigger("arrow-left");return;}t.call(this,s);};}getCaptionsButton(){return this.player.controlBar.getDescendant(["settingsButton"]).menu.getChild("captionsButton");}getPlaybackRateButton(){return this.player.controlBar.getDescendant(["settingsButton"]).menu.getChild("playbackRateMenuButton");}deleteLegacyIndexedDB(){try{if(typeof window.indexedDB>"u"||!window.indexedDB||typeof window.indexedDB.databases!="function")return;window.indexedDB.databases().then(e=>{for(let t of e)window.indexedDB.deleteDatabase(t.name);});}catch(e){ui("Cannot delete legacy indexed DB",e);}}};X.default.registerPlugin("peertube",xx);var Lx=X.default.getPlugin("plugin"),Mx=class extends Lx{constructor(e){super(e),e.on("video-flip-horizontally-on",()=>{this.player.addClass("vjs-video-flip-horizontally");}),e.on("video-flip-horizontally-off",()=>{this.player.removeClass("vjs-video-flip-horizontally");});}enableFlip(){this.player.trigger("video-flip-horizontally-on");}disableFlip(){this.player.trigger("video-flip-horizontally-off");}toggleFlip(){this.player.hasClass("vjs-video-flip-horizontally")?this.disableFlip():this.enableFlip();}dispose(){this.player.removeClass("vjs-video-flip-horizontally"),super.dispose();}};X.default.registerPlugin("videoFlipHorizontallyPlugin",Mx);var Ox=class{constructor(e){this.options=e;}getChildrenOptions(){return pt(ze(ze(ze(pt(ze(ze(ze(pt(ze({},this.getPreviousVideo()),{playToggle:{}}),this.getNextVideo()),this.getTimeControls()),this.getProgressControl()),{p2PInfoButton:{},volumePanel:{inline:!1},captionToggleButton:{}}
254),this.getSettingsButton()),this.getPeerTubeLinkButton()),this.getTheaterButton()),{fullscreenToggle:{}});}getSettingsButton(){let e=[];return e.push("playbackRateMenuButton"),e.push("captionsButton"),e.push("resolutionMenuButton"),e.push("videoFilterMenuButton"),{settingsButton:{setup:{maxHeightOffset:60},entries:e}};}getTimeControls(){return{peerTubeLiveDisplay:{},currentTimeDisplay:{},timeDivider:{},durationDisplay:{}};}getProgressControl(){return{progressControl:{children:{seekBar:{children:["loadProgressBar","playProgressBar"]}}}};}getPreviousVideo(){return{previousVideoButton:{type:"previous",handler:()=>this.options.previousVideo().handler(),isDisabled:()=>!this.options.previousVideo().enabled,isDisplayed:()=>this.options.previousVideo().displayControlBarButton}};}getNextVideo(){return{nextVideoButton:{type:"next",handler:()=>this.options.nextVideo().handler(),isDisabled:()=>!this.options.nextVideo().enabled,isDisplayed:()=>this.options.nextVideo().displayControlBarButton}};}getPeerTubeLinkButton(){return{peerTubeLinkButton:{isDisplayed:this.options.peertubeLink,shortUUID:this.options.videoShortUUID,instanceName:this.options.instanceName}};}getTheaterButton(){return{theaterButton:{isDisplayed:()=>this.options.theaterButton}};}};function Vh(e,t){let i=new URL(e),s=new URL(t);return i.hostname==="localhost"&&s.hostname==="localhost"?!0:i.origin===s.origin;}var Dx=class{map=new Map();constructor(e=[]){this.baseUrls=e;}onSegmentError(e){if(!this.map.has(e))return;let t=this.map.get(e);this.map.delete(e);let i=Nx(t),s=i.length;this.baseUrls=this.baseUrls.filter(n=>n!==i&&n!==i+"/"),s!==this.baseUrls.length&&nt.info(`Removed redundancy of segment URL ${t}.`);}onSegmentSuccess(e){this.map.delete(e);}buildUrl(e){let t=this.baseUrls.length+1,i=this.getRandomInt(t);if(i===t-1)return e;let s=this.baseUrls[i],n=s+(s.endsWith("/")?"":"/")+jx(e);return this.map.set(e,n),n;}countBaseUrls(){return this.baseUrls.length;}getRandomInt(e){return Math.floor(Math.random()*Math.floor(e));}};function jx(e){return e.split("/").pop();}function Nx(e){let t=e.split("/");return t.pop(),t.join("/");}var Qt={},uc={};uc.byteLength=Bx;uc.toByteArray=Vx;uc.fromByteArray=zx;var Os=[],ss=[],Fx=typeof Uint8Array<"u"?Uint8Array:Array,th="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(lr=0,ay=th.length;lr<ay;++lr)Os[lr]=th[lr],ss[th.charCodeAt(lr)]=lr;var lr,ay;ss[45]=62;ss[95]=63;function qb(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var i=e.indexOf("=");i===-1&&(i=t);var s=i===t?0:4-i%4;return[i,s];}function Bx(e){var t=qb(e),i=t[0],s=t[1];return(i+s)*3/4-s;}function Ux(e,t,i){return(t+i)*3/4-i;}function Vx(e){var t,i=qb(e),s=i[0],n=i[1],r=new Fx(Ux(e,s,n)),a=0,l=n>0?s-4:s,c;for(c=0;c<l;c+=4)t=ss[e.charCodeAt(c)]<<18|ss[e.charCodeAt(c+1)]<<12|ss[e.charCodeAt(c+2)]<<6|ss[e.charCodeAt(c+3)],r[a++]=t>>16&255,r[a++]=t>>8&255,r[a++]=t&255;return n===2&&(t=ss[e.charCodeAt(c)]<<2|ss[e.charCodeAt(c+1)]>>4,r[a++]=t&255),n===1&&(t=ss[e.charCodeAt(c)]<<10|ss[e.charCodeAt(c+1)]<<4|ss[e.charCodeAt(c+2)]>>2,r[a++]=t>>8&255,r[a++]=t&255),r;}function $x(e){return Os[e>>18&63]+Os[e>>12&63]+Os[e>>6&63]+Os[e&63];}function Hx(e,t,i){for(var s,n=[],r=t;r<i;r+=3)s=(e[r]<<16&16711680)+(e[r+1]<<8&65280)+(e[r+2]&255),n.push($x(s));return n.join("");}function zx(e){for(var t,i=e.length,s=i%3,n=[],r=16383,a=0,l=i-s;a<l;a+=r)n.push(Hx(e,a,a+r>l?l:a+r));return s===1?(t=e[i-1],n.push(Os[t>>2]+Os[t<<4&63]+"==")):s===2&&(t=(e[i-2]<<8)+e[i-1],n.push(Os[t>>10]+Os[t>>4&63]+Os[t<<2&63]+"=")),n.join("");}var yf={};yf.read=function(e,t,i,s,n){var r,a,l=n*8-s-1,c=(1<<l)-1,u=c>>1,f=-7,p=i?n-1:0,g=i?-1:1,v=e[t+p];for(p+=g,r=v&(1<<-f)-1,v>>=-f,f+=l;f>0;r=r*256+e[t+p],p+=g,f-=8);for(a=r&(1<<-f)-1,r>>=-f,f+=s;f>0;a=a*256+e[t+p],p+=g,f-=8);if(r===0)r=1-u;else{if(r===c)return a?NaN:(v?-1:1)*(1/0);a=a+Math.pow(2,s),r=r-u;}return(v?-1:1)*a*Math.pow(2,r-s);};yf.write=function(e,t,i,s,n,r){var a,l,c,u=r*8-n-1,f=(1<<u)-1,p=f>>1,g=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,v=s?0:r-1,T=s?1:-1,y=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(l=isNaN(t)?1:0,a=f):(a=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-a))<1&&(a--,c*=2),a+p>=1?t+=g/c:t+=g*Math.pow(2,1-p),t*c>=2&&(a++,c/=2),a+p>=f?(l=0,a=f):a+p>=1?(l=(t*c-1)*Math.pow(2,n),a=a+p):(l=t*Math.pow(2,p-1)*Math.pow(2,n),a=0));n>=8;e[i+v]=l&255,v+=T,l/=256,n-=8);for(a=a<<n|l,u+=n;u>0;e[i+v]=a&255,v+=T,a/=256,u-=8);e[i+v-T]|=y*128;};(function(e){let t=uc,i=yf,s=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=f,e.SlowBuffer=R,e.INSPECT_MAX_BYTES=50;let n=2147483647;e.kMaxLength=n;let{Uint8Array:r,ArrayBuffer:a,SharedArrayBuffer:l}=globalThis;f.TYPED_ARRAY_SUPPORT=c(),!f.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function c(){try{let L=new r(1),b={foo:function(){return 42;}};return Object.setPrototypeOf(b,r.prototype),Object.setPrototypeOf(L,b),L.foo()===42;}catch(L){return!1;}}Object.defineProperty(f.prototype,"parent",{enumerable:!0,get:function(){if(f.isBuffer(this))return this.buffer;}}),Object.defineProperty(f.prototype,"offset",{enumerable:!0,get:function(){if(f.isBuffer(this))return this.byteOffset;}});function u(L){if(L>
254n)throw new RangeError('The value "'+L+'" is invalid for option "size"');let b=new r(L);return Object.setPrototypeOf(b,f.prototype),b;}function f(L,b,E){if(typeof L=="number"){if(typeof b=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return T(L);}return p(L,b,E);}f.poolSize=8192;function p(L,b,E){if(typeof L=="string")return y(L,b);if(a.isView(L))return I(L);if(L==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof L);if(ki(L,a)||L&&ki(L.buffer,a)||typeof l<"u"&&(ki(L,l)||L&&ki(L.buffer,l)))return P(L,b,E);if(typeof L=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let B=L.valueOf&&L.valueOf();if(B!=null&&B!==L)return f.from(B,b,E);let z=k(L);if(z)return z;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof L[Symbol.toPrimitive]=="function")return f.from(L[Symbol.toPrimitive]("string"),b,E);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof L);}f.from=function(L,b,E){return p(L,b,E);},Object.setPrototypeOf(f.prototype,r.prototype),Object.setPrototypeOf(f,r);function g(L){if(typeof L!="number")throw new TypeError('"size" argument must be of type number');if(L<0)throw new RangeError('The value "'+L+'" is invalid for option "size"');}function v(L,b,E){return g(L),L<=0?u(L):b!==void 0?typeof E=="string"?u(L).fill(b,E):u(L).fill(b):u(L);}f.alloc=function(L,b,E){return v(L,b,E);};function T(L){return g(L),u(L<0?0:w(L)|0);}f.allocUnsafe=function(L){return T(L);},f.allocUnsafeSlow=function(L){return T(L);};function y(L,b){if((typeof b!="string"||b==="")&&(b="utf8"),!f.isEncoding(b))throw new TypeError("Unknown encoding: "+b);let E=x(L,b)|0,B=u(E),z=B.write(L,b);return z!==E&&(B=B.slice(0,z)),B;}function A(L){let b=L.length<0?0:w(L.length)|0,E=u(b);for(let B=0;B<b;B+=1)E[B]=L[B]&255;return E;}function I(L){if(ki(L,r)){let b=new r(L);return P(b.buffer,b.byteOffset,b.byteLength);}return A(L);}function P(L,b,E){if(b<0||L.byteLength<b)throw new RangeError('"offset" is outside of buffer bounds');if(L.byteLength<b+(E||0))throw new RangeError('"length" is outside of buffer bounds');let B;return b===void 0&&E===void 0?B=new r(L):E===void 0?B=new r(L,b):B=new r(L,b,E),Object.setPrototypeOf(B,f.prototype),B;}function k(L){if(f.isBuffer(L)){let b=w(L.length)|0,E=u(b);return E.length===0||L.copy(E,0,0,b),E;}if(L.length!==void 0)return typeof L.length!="number"||Ui(L.length)?u(0):A(L);if(L.type==="Buffer"&&Array.isArray(L.data))return A(L.data);}function w(L){if(L>=n)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n.toString(16)+" bytes");return L|0;}function R(L){return+L!=L&&(L=0),f.alloc(+L);}f.isBuffer=function(b){return b!=null&&b._isBuffer===!0&&b!==f.prototype;},f.compare=function(b,E){if(ki(b,r)&&(b=f.from(b,b.offset,b.byteLength)),ki(E,r)&&(E=f.from(E,E.offset,E.byteLength)),!f.isBuffer(b)||!f.isBuffer(E))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(b===E)return 0;let B=b.length,z=E.length;for(let te=0,ue=Math.min(B,z);te<ue;++te)if(b[te]!==E[te]){B=b[te],z=E[te];break;}return B<z?-1:z<B?1:0;},f.isEncoding=function(b){switch(String(b).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1;}},f.concat=function(b,E){if(!Array.isArray(b))throw new TypeError('"list" argument must be an Array of Buffers');if(b.length===0)return f.alloc(0);let B;if(E===void 0)for(E=0,B=0;B<b.length;++B)E+=b[B].length;let z=f.allocUnsafe(E),te=0;for(B=0;B<b.length;++B){let ue=b[B];if(ki(ue,r))te+ue.length>z.length?(f.isBuffer(ue)||(ue=f.from(ue)),ue.copy(z,te)):r.prototype.set.call(z,ue,te);else if(f.isBuffer(ue))ue.copy(z,te);else throw new TypeError('"list" argument must be an Array of Buffers');te+=ue.length;}return z;};function x(L,b){if(f.isBuffer(L))return L.length;if(a.isView(L)||ki(L,a))return L.byteLength;
vendor: 4,648 bytes, line 254
254if(typeof L!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof L);let E=L.length,B=arguments.length>2&&arguments[2]===!0;if(!B&&E===0)return 0;let z=!1;for(;;)switch(b){case"ascii":case"latin1":case"binary":return E;case"utf8":case"utf-8":return Ci(L).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E*2;case"hex":return E>>>1;case"base64":return Gn(L).length;default:if(z)return B?-1:Ci(L).length;b=(""+b).toLowerCase(),z=!0;}}f.byteLength=x;function D(L,b,E){let B=!1;if((b===void 0||b<0)&&(b=0),b>this.length||((E===void 0||E>this.length)&&(E=this.length),E<=0)||(E>>>=0,b>>>=0,E<=b))return"";for(L||(L="utf8");;)switch(L){case"hex":return ce(this,b,E);case"utf8":case"utf-8":return ge(this,b,E);case"ascii":return ne(this,b,E);case"latin1":case"binary":return he(this,b,E);case"base64":return J(this,b,E);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ie(this,b,E);default:if(B)throw new TypeError("Unknown encoding: "+L);L=(L+"").toLowerCase(),B=!0;}}f.prototype._isBuffer=!0;function O(L,b,E){let B=L[b];L[b]=L[E],L[E]=B;}f.prototype.swap16=function(){let b=this.length;if(b%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let E=0;E<b;E+=2)O(this,E,E+1);return this;},f.prototype.swap32=function(){let b=this.length;if(b%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let E=0;E<b;E+=4)O(this,E,E+3),O(this,E+1,E+2);return this;},f.prototype.swap64=function(){let b=this.length;if(b%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let E=0;E<b;E+=8)O(this,E,E+7),O(this,E+1,E+6),O(this,E+2,E+5),O(this,E+3,E+4);return this;},f.prototype.toString=function(){let b=this.length;return b===0?"":arguments.length===0?ge(this,0,b):D.apply(this,arguments);},f.prototype.toLocaleString=f.prototype.toString,f.prototype.equals=function(b){if(!f.isBuffer(b))throw new TypeError("Argument must be a Buffer");return this===b?!0:f.compare(this,b)===0;},f.prototype.inspect=function(){let b="",E=e.INSPECT_MAX_BYTES;return b=this.toString("hex",0,E).replace(/(.{2})/g,"$1 ").trim(),this.length>E&&(b+=" ... "),"<Buffer "+b+">";},s&&(f.prototype[s]=f.prototype.inspect),f.prototype.compare=function(b,E,B,z,te){if(ki(b,r)&&(b=f.from(b,b.offset,b.byteLength)),!f.isBuffer(b))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof b);if(E===void 0&&(E=0),B===void 0&&(B=b?b.length:0),z===void 0&&(z=0),te===void 0&&(te=this.length),E<0||B>b.length||z<0||te>this.length)throw new RangeError("out of range index");if(z>=te&&E>=B)return 0;if(z>=te)return-1;if(E>=B)return 1;if(E>>>=0,B>>>=0,z>>>=0,te>>>=0,this===b)return 0;let ue=te-z,Ke=B-E,dt=Math.min(ue,Ke),gt=this.slice(z,te),ut=b.slice(E,B);for(let at=0;at<dt;++at)if(gt[at]!==ut[at]){ue=gt[at],Ke=ut[at];break;}return ue<Ke?-1:Ke<ue?1:0;};function V(L,b,E,B,z){if(L.length===0)return-1;if(typeof E=="string"?(B=E,E=0):E>2147483647?E=2147483647:E<-2147483648&&(E=-2147483648),E=+E,Ui(E)&&(E=z?0:L.length-1),E<0&&(E=L.length+E),E>=L.length){if(z)return-1;E=L.length-1;}else if(E<0)if(z)E=0;else return-1;if(typeof b=="string"&&(b=f.from(b,B)),f.isBuffer(b))return b.length===0?-1:$(L,b,E,B,z);if(typeof b=="number")return b=b&255,typeof r.prototype.indexOf=="function"?z?r.prototype.indexOf.call(L,b,E):r.prototype.lastIndexOf.call(L,b,E):$(L,[b],E,B,z);throw new TypeError("val must be string, number or Buffer");}function $(L,b,E,B,z){let te=1,ue=L.length,Ke=b.length;if(B!==void 0&&(B=String(B).toLowerCase(),B==="ucs2"||B==="ucs-2"||B==="utf16le"||B==="utf-16le")){if(L.length<2||b.length<2)return-1;te=2,ue/=2,Ke/=2,E/=2;}function dt(ut,at){return te===1?ut[at]:ut.readUInt16BE(at*te);}let gt;if(z){let ut=-1;for(gt=E;gt<ue;gt++)if(dt(L,gt)===dt(b,ut===-1?0:gt-ut)){if(ut===-1&&(ut=gt),gt-ut+1===Ke)return ut*te;}else ut!==-1&&(gt-=gt-ut),ut=-1;}else for(E+Ke>ue&&(E=ue-Ke),gt=E;gt>=0;gt--){let ut=!0;for(let at=0;at<Ke;at++)if(dt(L,gt+at)!==dt(b,at)){ut=!1;break;}if(ut)return gt;}return-1;}f.prototype.includes=function(b,E,B){return this.indexOf(b,E,B)!==-1;},f.prototype.indexOf=function(b,E,B){return V(this,b,E,B,!0);},f.prototype.lastIndexOf=function(b,E,B){return V(this,b,E,B,!1);};function N(L,b,E,B){E=Number(E)||0;let z=L.length-E;B?(B=Number(B),B>z&&(B=z)):B=z;let te=b.length;B>te/2&&(B=te/2);let ue;for(ue=0;ue<B;++ue){let Ke=parseInt(b.substr(ue*2,2),16);if(Ui(Ke))return ue;L[E+ue]=Ke;}return ue;}function F(L,b,E,B){return _s(Ci(b,L.length-E),L,E,B);}function K(L,b,E,B){return _s(Gt(b),L,E,B);}function re(L,b,E,B){return _s(Gn(b),L,E,B);}
254function oe(L,b,E,B){return _s(dn(b,L.length-E),L,E,B);}f.prototype.write=function(b,E,B,z){if(E===void 0)z="utf8",B=this.length,E=0;else if(B===void 0&&typeof E=="string")z=E,B=this.length,E=0;else if(isFinite(E))E=E>>>0,isFinite(B)?(B=B>>>0,z===void 0&&(z="utf8")):(z=B,B=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let te=this.length-E;if((B===void 0||B>te)&&(B=te),b.length>0&&(B<0||E<0)||E>this.length)throw new RangeError("Attempt to write outside buffer bounds");z||(z="utf8");let ue=!1;for(;;)switch(z){case"hex":return N(this,b,E,B);case"utf8":case"utf-8":return F(this,b,E,B);case"ascii":case"latin1":case"binary":return K(this,b,E,B);case"base64":return re(this,b,E,B);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return oe(this,b,E,B);default:if(ue)throw new TypeError("Unknown encoding: "+z);z=(""+z).toLowerCase(),ue=!0;}},f.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)};};function J(L,b,E){return b===0&&E===L.length?t.fromByteArray(L):t.fromByteArray(L.slice(b,E));}function ge(L,b,E){E=Math.min(L.length,E);let B=[],z=b;for(;z<E;){let te=L[z],ue=null,Ke=te>239?4:te>223?3:te>191?2:1;if(z+Ke<=E){let dt,gt,ut,at;switch(Ke){case 1:te<128&&(ue=te);break;case 2:dt=L[z+1],(dt&192)===128&&(at=(te&31)<<6|dt&63,at>127&&(ue=at));break;case 3:dt=L[z+1],gt=L[z+2],(dt&192)===128&&(gt&192)===128&&(at=(te&15)<<12|(dt&63)<<6|gt&63,at>2047&&(at<55296||at>57343)&&(ue=at));break;case 4:dt=L[z+1],gt=L[z+2],ut=L[z+3],(dt&192)===128&&(gt&192)===128&&(ut&192)===128&&(at=(te&15)<<18|(dt&63)<<12|(gt&63)<<6|ut&63,at>65535&&at<1114112&&(ue=at));}}ue===null?(ue=65533,Ke=1):ue>65535&&(ue-=65536,B.push(ue>>>10&1023|55296),ue=56320|ue&1023),B.push(ue),z+=Ke;}return G(B);}let q=4096;function G(L){let b=L.length;if(b<=q)return String.fromCharCode.apply(String,L);let E="",B=0;for(;B<b;)E+=String.fromCharCode.apply(String,L.slice(B,B+=q));return E;}function ne(L,b,E){let B="";E=Math.min(L.length,E);for(let z=b;z<E;++z)B+=String.fromCharCode(L[z]&127);return B;}function he(L,b,E){let B="";E=Math.min(L.length,E);for(let z=b;z<E;++z)B+=String.fromCharCode(L[z]);return B;}function ce(L,b,E){let B=L.length;(!b||b<0)&&(b=0),(!E||E<0||E>B)&&(E=B);let z="";for(let te=b;te<E;++te)z+=Pi[L[te]];return z;}function ie(L,b,E){let B=L.slice(b,E),z="";for(let te=0;te<B.length-1;te+=2)z+=String.fromCharCode(B[te]+B[te+1]*256);return z;}f.prototype.slice=function(b,E){let B=this.length;b=~~b,E=E===void 0?B:~~E,b<0?(b+=B,b<0&&(b=0)):b>B&&(b=B),E<0?(E+=B,E<0&&(E=0)):E>B&&(E=B),E<b&&(E=b);let z=this.subarray(b,E);return Object.setPrototypeOf(z,f.prototype),z;};function Ce(L,b,E){if(L%1!==0||L<0)throw new RangeError("offset is not uint");if(L+b>E)throw new RangeError("Trying to access beyond buffer length");}f.prototype.readUintLE=f.prototype.readUIntLE=function(b,E,B){b=b>>>0,E=E>>>0,B||Ce(b,E,this.length);let z=this[b],te=1,ue=0;for(;++ue<E&&(te*=256);)z+=this[b+ue]*te;return z;},f.prototype.readUintBE=f.prototype.readUIntBE=function(b,E,B){b=b>>>0,E=E>>>0,B||Ce(b,E,this.length);let z=this[b+--E],te=1;for(;E>0&&(te*=256);)z+=this[b+--E]*te;return z;},f.prototype.readUint8=f.prototype.readUInt8=function(b,E){return b=b>>>0,E||Ce(b,1,this.length),this[b];},f.prototype.readUint16LE=f.prototype.readUInt16LE=function(b,E){return b=b>>>0,E||Ce(b,2,this.length),this[b]|this[b+1]<<8;},f.prototype.readUint16BE=f.prototype.readUInt16BE=function(b,E){return b=b>>>0,E||Ce(b,2,this.length),this[b]<<8|this[b+1];},f.prototype.readUint32LE=f.prototype.readUInt32LE=function(b,E){return b=b>>>0,E||Ce(b,4,this.length),(this[b]|this[b+1]<<8|this[b+2]<<16)+this[b+3]*16777216;},f.prototype.readUint32BE=f.prototype.readUInt32BE=function(b,E){return b=b>>>0,E||Ce(b,4,this.length),this[b]*16777216+(this[b+1]<<16|this[b+2]<<8|this[b+3]);},f.prototype.readBigUInt64LE=Ri(function(b){b=b>>>0,Jt(b,"offset");let E=this[b],B=this[b+7];(E===void 0||B===void 0)&&Ut(b,this.length-8);let z=E+this[++b]*2**8+this[++b]*2**16+this[++b]*2**24,te=this[++b]+this[++b]*2**8+this[++b]*2**16+B*2**24;return BigInt(z)+(BigInt(te)<<BigInt(32));}),f.prototype.readBigUInt64BE=Ri(function(b){b=b>>>0,Jt(b,"offset");let E=this[b],B=this[b+7];(E===void 0||B===void 0)&&Ut(b,this.length-8);let z=E*2**24+this[++b]*2**16+this[++b]*2**8+this[++b],te=this[++b]*2**24+this[++b]*2**16+this[++b]*2**8+B;return(BigInt(z)<<BigInt(32))+BigInt(te);}),f.prototype.readIntLE=function(b,E,B){b=b>>>0,E=E>>>0,B||Ce(b,E,this.length);let z=this[b],te=1,ue=0;for(;++ue<E&&(te*=256);)z+=this[b+ue]*te;return te*=128,z>=te&&(z-=Math.pow(2,8*E)),z;},f.prototype.readIntBE=function(b,E,B){b=b>>>0,E=E>>>0,B||Ce(b,E,this.length);let z=E,te=1,ue=this[b+--z];for(;z>0&&(te*=256);)ue+=this[b+--z]*te;return te*=128,ue>=te&&(ue-=Math.pow(2,8*E)),ue;},f.prototype.readInt8=function(b,E){return b=b>>>0,E||Ce(b,1,this.length),this[b]&128?(255-this[b]+1)*-1:this[b];},f.prototype.readInt16LE=function(b,E){b=b>>>0,E||Ce(b,2,this.length);let B=this[b]|this[b+1]<<8;return B&32768?B|4294901760:B;},f.prototype.readInt16BE=function(b,E){b=b>>>0,E||Ce(b,2,this.length);let B=this[b+1]|this[b]<<8;return B&32768?B|4294901760:B;},f.prototype.readInt32LE=function(b,E){return b=b>>>0,E||Ce(b,4,this.length),this[b]|this[b+1]<<8|this[b+2]<<16|this[b+3]<<24;},f.prototype.readInt32BE=function(b,E){return b=b>>>0,E||Ce(b,4,this.length),this[b]<<24|this[b+1]<<16|this[b+2]<<8|this[b+3];},f.prototype.readBigInt64LE=Ri(function(b){b=b>>>0,Jt(b,"offset");let E=this[b],B=this[b+7];(E===void 0||B===void 0)&&Ut(b,this.length-8);let z=this[b+4]+this[b+5]*2**8+this[b+6]*2**16+(B<<24);return(BigInt(z)<<BigInt(32))+BigInt(E+this[++b]*2**8+this[++b]*2**16+this[++b]*2**24);}),f.prototype.readBigInt64BE=Ri(function(b){b=b>>>0,Jt(b,"offset");let E=this[b],B=this[b+7];(E===void 0||B===void 0)&&Ut(b,this.length-8);let z=(E<<24)+this[++b]*2**16+this[++b]*2**8+this[++b];return(BigInt(z)<<BigInt(32))+BigInt(this[++b]*2**24+this[++b]*2**16+this[++b]*2**8+B);}),f.prototype.readFloatLE=function(b,E){return b=b>>>0,E||Ce(b,4,this.length),i.read(this,b,!0,23,4);},f.prototype.readFloatBE=function(b,E){return b=b>>>0,E||Ce(b,4,this.length),i.read(this,b,!1,23,4);},f.prototype.readDoubleLE=function(b,E){return b=b>>>0,E||Ce(b,8,this.length),i.read(this,b,!0,52,8);},f.prototype.readDoubleBE=function(b,E){return b=b>>>0,E||Ce(b,8,this.length),i.read(this,b,!1,52,8);};function Re(L,b,E,B,z,te){if(!f.isBuffer(L))throw new TypeError('"buffer" argument must be a Buffer instance');if(b>z||b<te)throw new RangeError('"value" argument is out of bounds');if(E+B>L.length)throw new RangeError("Index out of range");}f.prototype.writeUintLE=f.prototype.writeUIntLE=function(b,E,B,z){if(b=+b,E=E>>>0,B=B>>>0,!z){let Ke=Math.pow(2,8*B)-1;Re(this,b,E,B,Ke,0);}let te=1,ue=0;for(this[E]=b&255;++ue<B&&(te*=256);)this[E+ue]=b/te&255;return E+B;},f.prototype.writeUintBE=f.prototype.writeUIntBE=function(b,E,B,z){if(b=+b,E=E>>>0,B=B>>>0,!z){let Ke=Math.pow(2,8*B)-1;Re(this,b,E,B,Ke,0);}let te=B-1,ue=1;for(this[E+te]=b&255;--te>=0&&(ue*=256);)this[E+te]=b/ue&255;return E+B;},f.prototype.writeUint8=f.prototype.writeUInt8=function(b,E,B){return b=+b,E=E>>>0,B||Re(this,b,E,1,255,0),this[E]=b&255,E+1;},f.prototype.writeUint16LE=f.prototype.writeUInt16LE=function(b,E,B){return b=+b,E=E>>>0,B||Re(this,b,E,2,65535,0),this[E]=b&255,this[E+1]=b>>>8,E+2;},f.prototype.writeUint16BE=f.prototype.writeUInt16BE=function(b,E,B){return b=+b,E=E>>>0,B||Re(this,b,E,2,65535,0),this[E]=b>>>8,this[E+1]=b&255,E+2;},f.prototype.writeUint32LE=f.prototype.writeUInt32LE=function(b,E,B){return b=+b,E=E>>>0,B||Re(this,b,E,4,4294967295,0),this[E+3]=b>>>24,this[E+2]=b>>>16,this[E+1]=b>>>8,this[E]=b&255,E+4;},f.prototype.writeUint32BE=f.prototype.writeUInt32BE=function(b,E,B){return b=+b,E=E>>>0,B||Re(this,b,E,4,4294967295,0),this[E]=b>>>24,this[E+1]=b>>>16,this[E+2]=b>>>8,this[E+3]=b&255,E+4;};function Ge(L,b,E,B,z){qt(b,B,z,L,E,7);let te=Number(b&BigInt(4294967295));L[E++]=te,te=te>>8,L[E++]=te,te=te>>8,L[E++]=te,te=te>>8,L[E++]=te;let ue=Number(b>>BigInt(32)&BigInt(4294967295));return L[E++]=ue,ue=ue>>8,L[E++]=ue,ue=ue>>8,L[E++]=ue,ue=ue>>8,L[E++]=ue,E;}function $e(L,b,E,B,z){qt(b,B,z,L,E,7);let te=Number(b&BigInt(4294967295));L[E+7]=te,te=te>>8,L[E+6]=te,te=te>>8,L[E+5]=te,te=te>>8,L[E+4]=te;let ue=Number(b>>BigInt(32)&BigInt(4294967295));return L[E+3]=ue,ue=ue>>8,L[E+2]=ue,ue=ue>>8,L[E+1]=ue,ue=ue>>8,L[E]=ue,E+8;}f.prototype.writeBigUInt64LE=Ri(function(b,E=0){return Ge(this,b,E,BigInt(0),BigInt("0xffffffffffffffff"));}),f.prototype.writeBigUInt64BE=Ri(function(b,E=0){return $e(this,b,E,BigInt(0),BigInt("0xffffffffffffffff"));}),f.prototype.writeIntLE=function(b,E,B,z){if(b=+b,E=E>>>0,!z){let dt=Math.pow(2,8*B-1);Re(this,b,E,B,dt-1,-dt);}let te=0,ue=1,Ke=0;for(this[E]=b&255;++te<B&&(ue*=256);)b<0&&Ke===0&&this[E+te-1]!==0&&(Ke=1),this[E+te]=(b/ue>>0)-Ke&255;return E+B;},f.prototype.writeIntBE=function(b,E,B,z){if(b=+b,E=E>>>0,!z){let dt=Math.pow(2,8*B-1);Re(this,b,E,B,dt-1,-dt);}let te=B-1,ue=1,Ke=0;for(this[E+te]=b&255;--te>=0&&(ue*=256);)b<0&&Ke===0&&this[E+te+1]!==0&&(Ke=1),this[E+te]=(b/ue>>0)-Ke&255;return E+B;},f.prototype.writeInt8=function(b,E,B){return b=+b,E=E>>>0,B||Re(this,b,E,1,127,-128),b<0&&(b=255+b+1),this[E]=b&255,E+1;},f.prototype.writeInt16LE=function(b,E,B){return b=+b,E=E>>>0,B||Re(this,b,E,2,32767,-32768),this[E]=b&255,this[E+1]=b>>>8,E+2;},f.prototype.writeInt16BE=function(b,E,B){return b=+b,E=E>>>0,B||Re(this,b,E,2,32767,-32768),this[E]=b>>>8,this[E+1]=b&255,E+2;},f.prototype.writeInt32LE=function(b,E,B){return b=+b,E=E>>>0,B||Re(this,b,E,4,2147483647,-2147483648),this[E]=b&255,this[E+1]=b>>>8,this[E+2]=b>>>16,this[E+3]=b>>>24,E+4;},f.prototype.writeInt32BE=function(b,E,B){return b=+b,E=E>>>0,B||Re(this,b,E,4,2147483647,-2147483648),b<0&&(b=4294967295+b+1),this[E]=b>>>24,this[E+1]=b>>>16,this[E+2]=b>>>8,this[E+3]=b&255,E+4;},f.prototype.writeBigInt64LE=Ri(function(b,E=0){return Ge(this,b,E,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"));}),f.prototype.writeBigInt64BE=Ri(function(b,E=0){return $e(this,b,E,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"));});function lt(L,b,E,B,z,te){if(E+B>L.length)throw new RangeError("Index out of range");if(E<0)throw new RangeError("Index out of range");}function ft(L,b,E,B,z){return b=+b,E=E>>>0,z||lt(L,b,E,4),i.write(L,b,E,B,23,4),E+4;}f.prototype.writeFloatLE=function(b,E,B){return ft(this,b,E,!0,B);},f.prototype.writeFloatBE=function(b,E,B){return ft(this,b,E,!1,B);};function Ne(L,b,E,B,z){return b=+b,E=E>>>0,z||lt(L,b,E,8),i.write(L,b,E,B,52,8),E+8;}f.prototype.writeDoubleLE=function(b,E,B){return Ne(this,b,E,!0,B);},f.prototype.writeDoubleBE=function(b,E,B){return Ne(this,b,E,!1,B);},f.prototype.copy=function(b,E,B,z){if(!f.isBuffer(b))throw new TypeError("argument should be a Buffer");if(B||(B=0),!z&&z!==0&&(z=this.length),E>=b.length&&(E=b.length),E||(E=0),z>0&&z<B&&(z=B),z===B||b.length===0||this.length===0)return 0;if(E<0)throw new RangeError("targetStart out of bounds");if(B<0||B>=this.length)throw new RangeError("Index out of range");if(z<0)throw new RangeError("sourceEnd out of bounds");z>
254this.length&&(z=this.length),b.length-E<z-B&&(z=b.length-E+B);let te=z-B;return this===b&&typeof r.prototype.copyWithin=="function"?this.copyWithin(E,B,z):r.prototype.set.call(b,this.subarray(B,z),E),te;},f.prototype.fill=function(b,E,B,z){if(typeof b=="string"){if(typeof E=="string"?(z=E,E=0,B=this.length):typeof B=="string"&&(z=B,B=this.length),z!==void 0&&typeof z!="string")throw new TypeError("encoding must be a string");if(typeof z=="string"&&!f.isEncoding(z))throw new TypeError("Unknown encoding: "+z);if(b.length===1){let ue=b.charCodeAt(0);(z==="utf8"&&ue<128||z==="latin1")&&(b=ue);}}else typeof b=="number"?b=b&255:typeof b=="boolean"&&(b=Number(b));if(E<0||this.length<E||this.length<B)throw new RangeError("Out of range index");if(B<=E)return this;E=E>>>0,B=B===void 0?this.length:B>>>0,b||(b=0);let te;if(typeof b=="number")for(te=E;te<B;++te)this[te]=b;else{let ue=f.isBuffer(b)?b:f.from(b,z),Ke=ue.length;if(Ke===0)throw new TypeError('The value "'+b+'" is invalid for argument "value"');for(te=0;te<B-E;++te)this[te+E]=ue[te%Ke];}return this;};let Xe={};function tt(L,b,E){Xe[L]=class extends E{constructor(){super(),Object.defineProperty(this,"message",{value:b.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${L}]`,this.stack,delete this.name;}get code(){return L;}set code(z){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:z,writable:!0});}toString(){return`${this.name} [${L}]: ${this.message}`;}};}tt("ERR_BUFFER_OUT_OF_BOUNDS",function(L){return L?`${L} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds";},RangeError),tt("ERR_INVALID_ARG_TYPE",function(L,b){return`The "${L}" argument must be of type number. Received type ${typeof b}`;},TypeError),tt("ERR_OUT_OF_RANGE",function(L,b,E){let B=`The value of "${L}" is out of range.`,z=E;return Number.isInteger(E)&&Math.abs(E)>2**32?z=bt(String(E)):typeof E=="bigint"&&(z=String(E),(E>BigInt(2)**BigInt(32)||E<-(BigInt(2)**BigInt(32)))&&(z=bt(z)),z+="n"),B+=` It must be ${b}. Received ${z}`,B;},RangeError);function bt(L){let b="",E=L.length,B=L[0]==="-"?1:0;for(;E>=B+4;E-=3)b=`_${L.slice(E-3,E)}${b}`;return`${L.slice(0,E)}${b}`;}function Bt(L,b,E){Jt(b,"offset"),(L[b]===void 0||L[b+E]===void 0)&&Ut(b,L.length-(E+1));}function qt(L,b,E,B,z,te){if(L>E||L<b){let ue=typeof b=="bigint"?"n":"",Ke;throw te>3?b===0||b===BigInt(0)?Ke=`>= 0${ue} and < 2${ue} ** ${(te+1)*8}${ue}`:Ke=`>= -(2${ue} ** ${(te+1)*8-1}${ue}) and < 2 ** ${(te+1)*8-1}${ue}`:Ke=`>= ${b}${ue} and <= ${E}${ue}`,new Xe.ERR_OUT_OF_RANGE("value",Ke,L);}Bt(B,z,te);}function Jt(L,b){if(typeof L!="number")throw new Xe.ERR_INVALID_ARG_TYPE(b,"number",L);}function Ut(L,b,E){throw Math.floor(L)!==L?(Jt(L,E),new Xe.ERR_OUT_OF_RANGE(E||"offset","an integer",L)):b<0?new Xe.ERR_BUFFER_OUT_OF_BOUNDS():new Xe.ERR_OUT_OF_RANGE(E||"offset",`>= ${E?1:0} and <= ${b}`,L);}let ys=/[^+/0-9A-Za-z-_]/g;function $s(L){if(L=L.split("=")[0],L=L.trim().replace(ys,""),L.length<2)return"";for(;L.length%4!==0;)L=L+"=";return L;}function Ci(L,b){b=b||1/0;let E,B=L.length,z=null,te=[];for(let ue=0;ue<B;++ue){if(E=L.charCodeAt(ue),E>55295&&E<57344){if(!z){if(E>56319){(b-=3)>-1&&te.push(239,191,189);continue;}else if(ue+1===B){(b-=3)>-1&&te.push(239,191,189);continue;}z=E;continue;}if(E<56320){(b-=3)>-1&&te.push(239,191,189),z=E;continue;}E=(z-55296<<10|E-56320)+65536;}else z&&(b-=3)>-1&&te.push(239,191,189);if(z=null,E<128){if((b-=1)<0)break;te.push(E);}else if(E<2048){if((b-=2)<0)break;te.push(E>>6|192,E&63|128);}else if(E<65536){if((b-=3)<0)break;te.push(E>>12|224,E>>6&63|128,E&63|128);}else if(E<1114112){if((b-=4)<0)break;te.push(E>>18|240,E>>12&63|128,E>>6&63|128,E&63|128);}else throw new Error("Invalid code point");}return te;}function Gt(L){let b=[];for(let E=0;E<L.length;++E)b.push(L.charCodeAt(E)&255);return b;}function dn(L,b){let E,B,z,te=[];for(let ue=0;ue<L.length&&!((b-=2)<0);++ue)E=L.charCodeAt(ue),B=E>>8,z=E%256,te.push(z),te.push(B);return te;}function Gn(L){return t.toByteArray($s(L));}function _s(L,b,E,B){let z;for(z=0;z<B&&!(z+E>=b.length||z>=L.length);++z)b[z+E]=L[z];return z;}function ki(L,b){return L instanceof b||L!=null&&L.constructor!=null&&L.constructor.name!=null&&L.constructor.name===b.name;}function Ui(L){return L!==L;}let Pi=function(){let L="0123456789abcdef",b=new Array(256);for(let E=0;E<16;++E){let B=E*16;for(let z=0;z<16;++z)b[B+z]=L[E]+L[z];}return b;}();function Ri(L){return typeof BigInt>"u"?cn:L;}function cn(){throw new Error("BigInt not supported");}})(Qt);var Gx=Qt.Buffer;Qt.Blob;Qt.BlobOptions;Qt.Buffer;Qt.File;Qt.FileOptions;Qt.INSPECT_MAX_BYTES;Qt.SlowBuffer;Qt.TranscodeEncoding;Qt.atob;Qt.btoa;Qt.constants;Qt.isAscii;Qt.isUtf8;Qt.kMaxLength;Qt.kStringMaxLength;Qt.resolveObjectURL;Qt.transcode;var Wx=(0,an.default)("peertube:player:segment-validator"),qx=10,Kx=class{destroyed=!1;segmentJSONPromise;constructor(e){this.options=e;}validate(e,t,i,s=1){return Qe(this,null,function*(){if(this.destroyed)return!1;this.loadSha256SegmentsPromiseIfNeeded();let n=hC(e).split("/").pop(),r=(yield this.segmentJSONPromise)[n];if(!r&&s>qx)return nt.clientError(`Unknown segment name ${n} in segment validator`),!1;if(!r)return nt.info(`Refetching sha segments for ${n}`),yield wC(500),this.loadSha256SegmentsPromise(),this.validate(e,t,i,s+1);let a,l="";if(typeof r=="string"?a=r:(l=t.start+"-"+t.end,a=r[l]),a===void 0)return nt.clientError(`Unknown segment name ${n}/${l} in segment validator`),!1;Wx(`Validating ${n}`+(l?` range ${l}`:""));let c=yield this.sha256Hex(i);return c!==a?(nt.clientError(`Hashes does not correspond for segment ${n}/${l} (expected: ${a} instead of ${c})`),!1):!0;});}destroy(){this.destroyed=!0;}loadSha256SegmentsPromiseIfNeeded(){this.segmentJSONPromise||this.loadSha256SegmentsPromise();}loadSha256SegmentsPromise(){this.segmentJSONPromise=this.fetchSha256Segments();}fetchSha256Segments(){let e={};return Vh(this.options.serverUrl,this.options.segmentsSha256Url)&&(this.options.requiresPassword?e={"x-peertube-video-password":this.options.videoPassword()}:this.options.requiresUserAuth&&(e={Authorization:this.options.authorizationHeader()})),fetch(this.options.segmentsSha256Url,{headers:e}).then(t=>t.json()).catch(t=>(nt.clientError("Cannot get sha256 segments",t),{}));}sha256Hex(e){return Qe(this,null,function*(){if(e)return window.crypto.subtle?window.crypto.subtle.digest("SHA-256",e).then(t=>this.bufferToHex(t)):new(yield import("./chunk-NIGGLX5G.js").then(t=>Nl(t.default,1))).default.sha256().update(Gx.from(e)).digest("hex");});}bufferToHex(e){if(!e)return"";let t="",i="0123456789abcdef";return new Uint8Array(e).forEach(s=>{t+=i[s>>4]+i[s&15];}),t;}},Yx=(0,an.default)("peertube:player:hls"),Xx=class{constructor(e){this.options=e;}getPluginOptions(){return Qe(this,null,function*(){let e=this.options.hls.segmentsSha256Url;e||nt.info("No segmentsSha256Url found. Disabling P2P & redundancy.");let t=e?new Dx(this.options.hls.redundancyBaseUrls):null,i=e?new Kx({segmentsSha256Url:e,authorizationHeader:this.options.authorizationHeader,requiresUserAuth:this.options.requiresUserAuth,serverUrl:this.options.serverUrl,requiresPassword:this.options.requiresPassword,videoPassword:this.options.videoPassword}
254):null,s=yield this.options.pluginsManager.runHook("filter:internal.player.p2p-media-loader.options.result",this.getP2PMediaLoaderOptions({redundancyUrlManager:t,segmentValidator:i})),n={requiresUserAuth:this.options.requiresUserAuth,videoFileToken:this.options.videoFileToken,p2pEnabled:e&&this.options.p2pEnabled,redundancyUrlManager:t,type:"application/x-mpegURL",src:this.options.hls.playlistUrl,segmentValidator:i},r={hlsjsConfig:this.getHLSJSOptions(s),levelLabelHandler:(a,l)=>{let c=Math.min(a.height||0,a.width||0),u=this.options.hls.videoFiles.find(p=>p.resolution.id===c),f=TC({resolution:c,height:u?.height??a.height,width:u?.width??a.width});return l.localize(yy(f,u?.fps??a.frameRate));}};return Yx("Creating HLS player options",{hlsjs:r,p2pMediaLoader:n,loaderOptions:s}),{p2pMediaLoader:n,hlsjs:r};});}getP2PMediaLoaderOptions(e){let{redundancyUrlManager:t,segmentValidator:i}=e,s=!1;(navigator?.connection?.type==="cellular"||Hn.getItem("peertube-videojs-p2p-consume-only")==="true")&&(nt.info("We are on a cellular connection: disabling seeding."),s=!0);let n=this.options.hls.trackerAnnounce.filter(a=>a.startsWith("ws")),r=this.options.isLive?this.getP2PMediaLoaderLiveOptions():this.getP2PMediaLoaderVODOptions();return{loader:ze({announceTrackers:n,rtcConfig:kS(this.options.stunServers),httpRequestSetup:(a,l,c,u)=>{let{requiresUserAuth:f,requiresPassword:p}=this.options,g=t?t.buildUrl(a):a,v=new Headers();return u&&v.set("Range",`bytes=${u.start}-${u.end??""}`),Vh(this.options.serverUrl,g)&&(p?v.set("x-peertube-video-password",this.options.videoPassword()):f&&v.set("Authorization",this.options.authorizationHeader())),Promise.resolve(new Request(g,{headers:v,signal:c}));},validateP2PSegment:i?i.validate.bind(i):null,validateHTTPSegment:i?i.validate.bind(i):null,isP2PDisabled:!this.options.p2pEnabled,isP2PUploadDisabled:s,swarmId:this.options.hls.playlistUrl},r)};}getP2PMediaLoaderLiveOptions(){let e={highDemandTimeWindow:4};switch(this.options.liveOptions.latencyMode){case Gr.SMALL_LATENCY:return pt(ze({},e),{isP2PDisabled:!0});case Gr.HIGH_LATENCY:return e;default:return e;}}getP2PMediaLoaderVODOptions(){return{highDemandTimeWindow:15,segmentMemoryStorageLimit:1024};}getHLSJSOptions(e){let t=this.options.isLive?this.getHLSLiveOptions():this.getHLSVODOptions(),i=ze({capLevelToPlayerSize:!0,autoStartLoad:!1,startPosition:uC(this.options.startTime)?la(this.options.startTime):-1,durationPlaceholder:this.options.duration,p2pMediaLoaderOptions:e.loader,xhrSetup:(n,r)=>{let{requiresUserAuth:a,requiresPassword:l}=this.options;Vh(this.options.serverUrl,r)&&(l?n.setRequestHeader("x-peertube-video-password",this.options.videoPassword()):a&&n.setRequestHeader("Authorization",this.options.authorizationHeader()));}},t),s=YC();return s?pt(ze({},i),{abrEwmaDefaultEstimate:s*8,backBufferLength:90,startLevel:-1,testBandwidth:!1,debug:!1,enableWorker:!1}):i;}getHLSLiveOptions(){let e=this.options.liveOptions.latencyMode,t={[Gr.SMALL_LATENCY]:2,[Gr.DEFAULT]:5,[Gr.HIGH_LATENCY]:10};return{liveDvrEnabled:this.options.liveOptions.dvrEnabled,liveSyncDurationCount:t[e]??t[Gr.DEFAULT]};}getHLSVODOptions(){return{};}},Qx=class{constructor(e){this.options=e;}getPluginOptions(){let e=this.options.videoFileToken,t=this.options.hls?.videoFiles||[],i=this.options.webVideo.videoFiles||[];return i.length!==0&&i.some(s=>s.resolution.id!==qe.H_NOVIDEO)?{videoFileToken:e,videoFiles:i}:t.length!==0&&t.some(s=>s.resolution.id!==qe.H_NOVIDEO)?{videoFileToken:e,videoFiles:t}:{videoFileToken:e,videoFiles:i};}},Jx=X.default.getComponent("ClickableComponent"),Kb=class extends Jx{constructor(e,t){super(e,t);}createEl(){this.wrapper=super.createEl("div",{className:"vjs-playlist-button",tabIndex:-1});let e=super.createEl("div",{className:"vjs-playlist-icon",tabIndex:-1});return this.playlistInfoElement=super.createEl("div",{className:"vjs-playlist-info",tabIndex:-1}),this.wrapper.appendChild(e),this.wrapper.appendChild(this.playlistInfoElement),this.update(),this.wrapper;}update(){this.playlistInfoElement.innerText=this.options_.getCurrentPosition()+"/"+this.options_.playlist.videosLength,this.wrapper.title=this.player().localize("Playlist: {1}",[this.options_.playlist.displayName]);}
254handleClick(){this.options_.playlistMenu.open();}};X.default.registerComponent("PlaylistButton",Kb);var Zx=X.default.getComponent("Component"),Yb=class extends Zx{constructor(e,t){super(e,t),this.emitTapEvents(),this.element=t.element,this.clickHandler=()=>this.switchPlaylistItem(),this.keyDownHandler=i=>this.handleKeyDown(i),this.on(["click","tap"],this.clickHandler),this.on("keydown",this.keyDownHandler);}dispose(){this.off(["click","tap"],this.clickHandler),this.off("keydown",this.keyDownHandler),super.dispose();}createEl(){let e=super.createEl("li",{className:"vjs-playlist-menu-item"});this.options_.element.video||e.classList.add("vjs-disabled");let t=super.createEl("div",{className:"item-position-block"}),i=super.createEl("div",{className:"item-position",innerText:this.options_.element.position});return t.appendChild(i),e.appendChild(t),this.options_.element.video?this.buildAvailableVideo(e,t,this.options_):this.buildUnavailableVideo(e),e;}setSelected(e){e?this.addClass("vjs-selected"):this.removeClass("vjs-selected");}getElement(){return this.element;}buildAvailableVideo(e,t,i){let s=i.element,n=super.createEl("div",{className:"item-player"});t.appendChild(n);let r=super.createEl("img",{src:s.video.thumbnails.length!==0?md(s.video.thumbnails,80,"16:9").fileUrl:""}),a=super.createEl("div",{className:"info-block"}),l=super.createEl("div",{innerText:s.video.name,className:"title"}),c=super.createEl("div",{innerText:s.video.channel.displayName,className:"channel"});if(a.appendChild(l),a.appendChild(c),s.startTimestamp||s.stopTimestamp){let u="";s.startTimestamp&&(u+=Nn(s.startTimestamp)),s.stopTimestamp&&(u+=" - "+Nn(s.stopTimestamp));let f=super.createEl("div",{innerText:u,className:"timestamps"});a.append(f);}e.append(r),e.append(a);}buildUnavailableVideo(e){let t=super.createEl("div",{className:"item-unavailable",innerText:this.player().localize("Unavailable video")});e.appendChild(t);}handleKeyDown(e){(e.code==="Space"||e.code==="Enter")&&this.switchPlaylistItem();}switchPlaylistItem(){this.options_.onClicked();}};X.default.registerComponent("PlaylistMenuItem",Yb);var eL=X.default.getComponent("Component"),Xb=class extends eL{constructor(e,t){super(e,t),this.menuItems=[],this.userInactiveHandler=()=>{this.close();},this.onMouseEnter=()=>{this.player().off("userinactive",this.userInactiveHandler);},this.onMouseLeave=()=>{this.player().one("userinactive",this.userInactiveHandler);},this.onPlayerCick=i=>{let s=i.target;do{if(s.classList.contains("vjs-playlist-menu")||s.classList.contains("vjs-playlist-button"))return;s=s.parentElement;}while(s);this.close();},this.el().addEventListener("mouseenter",this.onMouseEnter),this.el().addEventListener("mouseleave",this.onMouseLeave),this.player().on("click",this.onPlayerCick);}dispose(){this.el().removeEventListener("mouseenter",this.onMouseEnter),this.el().removeEventListener("mouseleave",this.onMouseLeave),this.player()&&(this.player().off("userinactive",this.userInactiveHandler),this.player().off("click",this.onPlayerCick));for(let e of this.menuItems)e.dispose();super.dispose();}createEl(){this.menuItems=[];let e=super.createEl("div",{className:"vjs-playlist-menu",tabIndex:-1}),t=super.createEl("div",{className:"header"}),i=super.createEl("div"),s=super.createEl("div",{innerText:this.options_.playlist.displayName,className:"title"}),n=this.options_.playlist.videoChannel,r=super.createEl("div",{innerText:n?this.player().localize("By {1}",[n.displayName]):"",className:"channel"});i.appendChild(s),i.appendChild(r);let a=super.createEl("div",{className:"cross"});a.addEventListener("click",()=>this.close()),t.appendChild(i),t.appendChild(a);let l=super.createEl("ol");for(let c of this.options_.elements){let u=new Yb(this.player(),{element:c,onClicked:()=>this.onItemClicked(c)});l.appendChild(u.el()),this.menuItems.push(u);}return e.appendChild(t),e.appendChild(l),this.update(),e;}update(){this.updateSelected(this.options_.getCurrentPosition());}open(){this.player().addClass("playlist-menu-displayed");}close(){this.player().removeClass("playlist-menu-displayed");}updateSelected(e){for(let t of this.menuItems)t.setSelected(t.getElement().position===e);}onItemClicked(e){this.options_.onItemClicked(e);}};X.default.registerComponent("PlaylistMenu",Xb);var tL=X.default.getPlugin("plugin"),iL=class extends tL{constructor(e,t){super(e),this.player.addClass("vjs-playlist"),this.playlistMenu=new Xb(e,t),this.playlistButton=new Kb(e,pt(ze({},t),{playlistMenu:this.playlistMenu})),e.addChild(this.playlistMenu,t),e.addChild(this.playlistButton,t);}dispose(){this.player.removeClass("vjs-playlist"),this.playlistMenu.dispose(),this.playlistButton.dispose(),this.player.removeChild(this.playlistMenu),this.player.removeChild(this.playlistButton),super.dispose();}};X.default.registerPlugin("playlist",iL);var sL=X.default.getPlugin("plugin"),nL=class extends sL{constructor(e){super(e),this.resolutions=[],e.on("video-change",()=>{this.resolutions=[],this.trigger("resolutions-removed");});}add(e){for(let t of e)this.resolutions.push(t);this.currentSelection=this.getSelected(),this.sort(),this.trigger("resolutions-added");}remove(e){this.resolutions=this.resolutions.filter(t=>t.id!==e),this.trigger("resolutions-removed");}getResolutions(){return this.resolutions;}getSelected(){return this.resolutions.find(e=>e.selected);}getAutoResolutionChosen(){return this.resolutions.find(e=>e.id===this.autoResolutionChosenId);}select(e){let{id:t,autoResolutionChosenId:i,fireCallback:s}=e;if(!(this.currentSelection?.id===t&&this.autoResolutionChosenId===i)){i!==void 0&&(this.autoResolutionChosenId=i);for(let n of this.resolutions)n.selected=n.id===t,n.selected&&(this.currentSelection=n,s&&n.selectCallback());this.trigger("resolutions-changed");}}sort(){this.resolutions.sort((e,t)=>
254e.id===-1?1:t.id===-1||e.height>t.height?-1:e.height===t.height?0:1);}};X.default.registerPlugin("peertubeResolutions",nL);var rL=X.default.getComponent("Menu"),Qb=class extends rL{stepForward(){let e=0;this.focusedChild_!==void 0&&(e=this.focusedChild_+1),this.focus(e);}stepBack(){let e=0;this.focusedChild_!==void 0&&(e=this.focusedChild_-1),this.focus(e);}focus(e){e===void 0&&(this.focusedChild_=-1,e=0),this._focus(e);}_focus(e){let t=this.children().slice();if(t.length&&t[0].hasClass("vjs-menu-title")&&t.shift(),t.length>0){e<0?e=0:e>=t.length&&(e=t.length-1);let i=t[e].el();if(i.classList.contains("vjs-hidden"))return this.focusedChild_<e?e===t.length-1?void 0:this.focus(e+1):e===0?void 0:this.focus(e-1);this.focusedChild_=e,i.focus();}}};X.default.registerComponent("MenuFocusFixed",Qb);var oL=X.default.getComponent("MenuItem"),Jb=class extends oL{constructor(e,t){super(e,pt(ze({},t),{selectable:!0})),this.autoResolutionChosen="",this.resolutionId=t.resolutionId,this.label=t.label,this.updateSelectionHandler=()=>this.updateSelection(),e.peertubeResolutions().on("resolutions-changed",this.updateSelectionHandler);}dispose(){this.player().peertubeResolutions().off("resolutions-changed",this.updateSelectionHandler),super.dispose();}handleClick(e){if(super.handleClick(e),this.player().peertubeResolutions().select({id:this.resolutionId,fireCallback:!0}),this.resolutionId===-1){QC();return;}let t=this.player().peertubeResolutions().getResolutions().find(i=>i.id===this.resolutionId);t?.height!==void 0&&XC(t.height);}updateSelection(){let e=this.player().peertubeResolutions().getSelected();this.resolutionId===-1&&(this.autoResolutionChosen=this.player().peertubeResolutions().getAutoResolutionChosen()?.label),this.selected(this.resolutionId===e.id);}getLabel(){return this.resolutionId===-1?this.label+" <small>"+this.autoResolutionChosen+"</small>":this.label;}};X.default.registerComponent("ResolutionMenuItem",Jb);var aL=X.default.getComponent("Menu"),lL=X.default.getComponent("MenuButton"),dL=class extends lL{constructor(e,t){super(e,t),this.controlText("Quality"),e.peertubeResolutions().on("resolutions-added",()=>this.update()),e.peertubeResolutions().on("resolutions-removed",()=>this.update()),e.peertubeResolutions().on("resolutions-changed",()=>{setTimeout(()=>this.trigger("label-updated"));});}createEl(){let e=super.createEl();return this.labelEl_=X.default.dom.createEl("div",{className:"vjs-resolution-value"}),e.appendChild(this.labelEl_),e;}updateARIAAttributes(){this.el().setAttribute("aria-label","Quality");}createMenu(){let e=new aL(this.player_,{menuButton:this}),t=this.player().peertubeResolutions().getResolutions();for(let i of t){let s=i.label==="0p"?this.player().localize("Audio only"):i.label,n=new Jb(this.player_,{id:i.id+"",resolutionId:i.id,label:s,selected:i.selected});e.addItem(n);}return e;}update(){super.update(),this.trigger("resolution-menu-changed");}buildCSSClass(){return"vjs-resolution-button "+super.buildCSSClass();}buildWrapperCSSClass(){return"vjs-resolution-control "+super.buildWrapperCSSClass();}};X.default.registerComponent("ResolutionMenuButton",dL);var cL=X.default.getComponent("MenuItem"),Zb=class extends cL{menuLabel;videoFilter;constructor(e,t){super(e,pt(ze({},t),{selectable:!0})),this.videoFilter=t.videoFilter||"",this.menuLabel=t.menuLabel||"",this.player().on(`${this.videoFilter}-on`,()=>{this.selected(!0),this.trigger("selected-updated");}),this.player().on(`${this.videoFilter}-off`,()=>{this.selected(!1),this.trigger("selected-updated");});}handleClick(){this.isSelected_?this.player_.trigger(`${this.videoFilter}-off`):this.player_.trigger(`${this.videoFilter}-on`);}getLabel(){return this.menuLabel;}};X.default.registerComponent("VideoFilterMenuItem",Zb);var uL=X.default.getComponent("Menu"),hL=X.default.getComponent("MenuButton"),fL=class extends hL{constructor(e,t){super(e,t),this.controlText(this.player().localize("Video Filter"));}createMenu(){let e=new uL(this.player_,{menuButton:this}),t=new Zb(this.player_,{label:this.player().localize("Mirror Video"),menuLabel:this.player().localize("Mirror"),videoFilter:"video-flip-horizontally"});return t.on("selected-updated",()=>{this.trigger("label-updated");}),e.addItem(t),e;}buildCSSClass(){return"vjs-video-filter-button "+super.buildCSSClass();}buildWrapperCSSClass(){return"vjs-video-filter-control "+super.buildWrapperCSSClass();}};
254X.default.registerComponent("VideoFilterMenuButton",fL);var pL=X.default.getComponent("Component"),mL=class extends pL{constructor(e){super(e),this.hide();}createEl(){let e=this.player().id(),t="TTsettingsDialogLabel-"+e,i="TTsettingsDialogDescription-"+e;return super.createEl("div",{className:"vjs-settings-dialog vjs-modal-overlay",id:"vjs-settings-dialog-"+e,tabIndex:-1},{role:"dialog","aria-labelledby":t,"aria-describedby":i});}show(){this.player().addClass("vjs-settings-dialog-opened"),super.show();}hide(){this.player().removeClass("vjs-settings-dialog-opened"),super.hide();}};X.default.registerComponent("SettingsDialog",mL);var ly=(0,an.default)("peertube:player:settings"),dy=X.default.getComponent("MenuItem"),gL=X.default.getComponent("Component"),eT=class extends dy{constructor(e,t){super(e,t),this.settingsButton=t.menuButton,this.dialog=this.settingsButton.dialog,this.mainMenu=this.settingsButton.menu,this.panel=this.dialog.getChild("settingsPanel"),this.panelChild=this.panel.getChild("settingsPanelChild"),this.panelChildEl=this.panelChild.el(),this.size=null,this.menuToLoad="mainmenu";let i=Ly(t.entry),s=X.default.getComponent(i);if(!s)throw new Error(`Component ${i} does not exist`);this.subMenu=new s(this.player(),ze({},t));let n=this.subMenu.buildCSSClass().split(" ")[0];this.settingsSubMenuEl_.className+=" "+n,this.eventHandlers(),e.ready(()=>{setTimeout(()=>{this.player_&&(this.build(),i==="PlaybackRateMenuButton"&&(e.on("ratechange",this.submenuClickHandler),e.on("playbackrateschange",()=>{setTimeout(()=>this.rebuildAfterMenuChange());})),i==="CaptionsButton"&&(e.on("captions-changed",()=>{setTimeout(()=>this.rebuildAfterMenuChange());}),e.on("texttrackchange",this.submenuClickHandler)),i==="ResolutionMenuButton"&&this.subMenu.on("resolution-menu-changed",()=>{this.rebuildAfterMenuChange();}),this.reset());},0);});}dispose(){this.settingsSubMenuEl_.removeEventListener("transitionend",this.transitionEndHandler),super.dispose();}eventHandlers(){this.submenuClickHandler=this.onSubmenuClick.bind(this),this.transitionEndHandler=this.onTransitionEnd.bind(this);}onSubmenuClick(e){let t=null;if(e.type==="tap"?t=e.target:t=e.currentTarget||e.target,t?.classList.contains("vjs-back-button")){this.loadMainMenu();return;}setTimeout(()=>this.update(e),0),this.subMenu.menu.removeClass("vjs-hidden");}createEl(){let e=X.default.dom.createEl("li",{className:"vjs-menu-item",tabIndex:0});return this.settingsSubMenuTitleEl_=X.default.dom.createEl("div",{className:"vjs-settings-sub-menu-title"}),e.appendChild(this.settingsSubMenuTitleEl_),this.settingsSubMenuValueEl_=X.default.dom.createEl("div",{className:"vjs-settings-sub-menu-value"}),e.appendChild(this.settingsSubMenuValueEl_),this.settingsSubMenuEl_=X.default.dom.createEl("div",{className:"vjs-settings-sub-menu"}),e;}handleClick(e){this.menuToLoad="submenu",X.default.dom.removeClass(this.el(),"open"),super.handleClick(e),this.mainMenu.el().style.opacity="0",X.default.dom.hasClass(this.settingsSubMenuEl_,"vjs-hidden")?(X.default.dom.removeClass(this.settingsSubMenuEl_,"vjs-hidden"),setTimeout(()=>{this.settingsSubMenuEl_.style.opacity="1",this.settingsSubMenuEl_.style.marginRight="0px";},0),this.settingsButton.setDialogSize(this.size),this.subMenu.menu.focus()):X.default.dom.addClass(this.settingsSubMenuEl_,"vjs-hidden");}createBackButton(){let e=this.subMenu.menu.addChild("MenuItem",{},0);e.setAttribute("aria-label",this.player().localize("Go back")),e.addClass("vjs-back-button"),e.el().innerHTML=this.player().localize(this.subMenu.controlText());}onTransitionEnd(e){e.propertyName==="margin-right"&&this.menuToLoad==="mainmenu"&&(X.default.dom.addClass(this.settingsSubMenuEl_,"vjs-hidden"),this.settingsSubMenuEl_.style.opacity="0");}reset(){X.default.dom.addClass(this.settingsSubMenuEl_,"vjs-hidden"),this.settingsSubMenuEl_.style.opacity="0",this.setMargin();}loadMainMenu(){let e=this.mainMenu.el();this.menuToLoad="mainmenu",this.mainMenu.show(),e.style.opacity="0",this.settingsButton.setDialogSize([this.mainMenu.width(),this.mainMenu.height()]),setTimeout(()=>
254{this.setMargin(),e.style.opacity="1",this.mainMenu.focus();},0);}build(){this.subMenu.on("label-updated",()=>{this.update();}),this.settingsSubMenuTitleEl_.innerHTML=this.player().localize(this.subMenu.controlText()),this.settingsSubMenuEl_.appendChild(this.subMenu.menu.el()),this.panelChildEl.appendChild(this.settingsSubMenuEl_),this.update(),this.createBackButton(),this.setSize(),this.bindClickEvents(),this.bindKeyEvents(),this.settingsSubMenuEl_.addEventListener("transitionend",this.transitionEndHandler,!1);}update(e){if(this.subMenu.name()==="PlaybackRateMenuButton")this.settingsSubMenuValueEl_.innerHTML=this.subMenu.labelEl_.textContent;else{let i="";for(let s of this.subMenu.menu.children_){if(!(s instanceof dy))continue;let n=s;n.isSelected_&&(typeof n.getLabel=="function"?i+=n.getLabel():i+=this.player().localize(n.options_.label));}this.settingsSubMenuValueEl_.innerHTML=i;}let t=null;e?.type==="tap"?t=e.target:e&&(t=e.currentTarget),t&&!t.classList.contains("vjs-back-button")&&this.settingsButton.hideDialog();}bindClickEvents(){for(let e of this.subMenu.menu.children())e instanceof gL&&e.on(["tap","click"],this.submenuClickHandler);}bindKeyEvents(){this.subMenu.menu.on("escaped-key",()=>{this.trigger("escaped-key");}),this.subMenu.menu.on("arrow-left",()=>{ly("Detected arrow left on sub menu "+this.subMenu.name()),this.loadMainMenu();});}setSize(){this.dialog.removeClass("vjs-hidden"),X.default.dom.removeClass(this.settingsSubMenuEl_,"vjs-hidden"),this.size=this.settingsButton.getComponentSize(this.settingsSubMenuEl_),this.setMargin(),this.dialog.addClass("vjs-hidden"),X.default.dom.addClass(this.settingsSubMenuEl_,"vjs-hidden");}setMargin(){if(!this.size)return;let[e]=this.size;this.settingsSubMenuEl_.style.marginRight=`-${e}px`;}hideSubMenu(){this.el()&&X.default.dom.hasClass(this.el(),"open")&&(X.default.dom.addClass(this.settingsSubMenuEl_,"vjs-hidden"),X.default.dom.removeClass(this.el(),"open"));}rebuildAfterMenuChange(){ly("Rebuilding menu "+this.subMenu.name()+" after change"),this.settingsSubMenuEl_.innerHTML="",this.settingsSubMenuEl_.appendChild(this.subMenu.menu.el()),this.update(),this.createBackButton(),this.setSize(),this.bindClickEvents(),this.bindKeyEvents();}};X.default.registerComponent("SettingsMenuItem",eT);var vL=(0,an.default)("peertube:player:settings"),yL=X.default.getComponent("Button"),_L=X.default.getComponent("Component"),bL=class extends yL{constructor(e,t){super(e,t),this.settingsButtonOptions=t,this.controlText("Settings"),this.dialog=this.player().addChild("settingsDialog"),this.dialogEl=this.dialog.el(),this.menu=null,this.panel=this.dialog.addChild("settingsPanel"),this.panelChild=this.panel.addChild("settingsPanelChild"),this.addClass("vjs-settings"),this.setAttribute("aria-controls","vjs-settings-dialog-"+this.player().id()),this.addSettingsItemHandler=this.onAddSettingsItem.bind(this),this.disposeSettingsItemHandler=this.onDisposeSettingsItem.bind(this),this.documentClickHandler=this.onDocumentClick.bind(this),this.userInactiveHandler=this.onUserInactive.bind(this),this.buildMenu(),this.bindEvents(),this.player().one("play",()=>this.hideDialog());}onDocumentClick(e){let t=e.target;t?.classList?.contains("vjs-settings")||t?.parentElement?.classList?.contains("vjs-settings")||this.dialog.hasClass("vjs-hidden")||this.hideDialog();}onDisposeSettingsItem(e,t){if(t===void 0){let i=this.menu.children();for(;i.length>0;)i[0].dispose(),this.menu.removeChild(i[0]);this.addClass("vjs-hidden");}else{let i=this.menu.getChild(t);i&&(i.dispose(),this.menu.removeChild(i));}this.hideDialog(),this.settingsButtonOptions.entries.length===0&&this.addClass("vjs-hidden");}dispose(){document.removeEventListener("click",this.documentClickHandler),this.isInIframe()&&window.removeEventListener("blur",this.documentClickHandler),super.dispose();}onAddSettingsItem(e,t){let[i,s]=t;this.addMenuItem(i,s),this.removeClass("vjs-hidden");}onUserInactive(){this.dialog.hasClass("vjs-hidden")||this.hideDialog();}bindEvents(){document.addEventListener("click",this.documentClickHandler),this.isInIframe()&&window.addEventListener("blur",this.documentClickHandler),this.player().on("addsettingsitem",this.addSettingsItemHandler),this.player().on("disposesettingsitem",this.disposeSettingsItemHandler),this.player().on("userinactive",this.userInactiveHandler);}buildCSSClass(){return`vjs-icon-settings ${super.buildCSSClass()}`;}handleClick(){this.dialog.hasClass("vjs-hidden")?this.showDialog():this.hideDialog();}showDialog(){this.player().peertube().onMenuOpened(),this.menu.el().style.opacity="1",this.dialog.show(),this.el().setAttribute("aria-expanded","true"),this.setDialogSize(this.getComponentSize(this.menu)),this.menu.focus();}hideDialog(){this.player_.peertube().onMenuClosed(),this.dialog.hide(),this.el().setAttribute("aria-expanded","fal
254se"),this.setDialogSize(this.getComponentSize(this.menu)),this.menu.el().style.opacity="1",this.resetChildren();}getComponentSize(e){let t=null,i=null;if(e instanceof _L){let s=e.el();t=s.offsetWidth,i=s.offsetHeight;}else t=e.offsetWidth,i=e.offsetHeight;return[t,i];}setDialogSize([e,t]){if(typeof t!="number")return;let i=this.settingsButtonOptions.setup.maxHeightOffset,s=this.player().el().offsetHeight-i,n=this.panel.el();t>s?(t=s,e+=15,n.style.maxHeight=`${t}px`):n.style.maxHeight!==""&&(n.style.maxHeight=""),this.dialogEl.style.width=`${e}px`,this.dialogEl.style.height=`${t}px`;}buildMenu(){this.menu=new Qb(this.player()),this.menu.on("escaped-key",()=>{this.hideDialog(),this.focus();}),this.menu.on("arrow-right",(t,i)=>{vL("Detected arrow right on menu item",i),i.click();}),this.menu.addClass("vjs-main-menu");let e=this.settingsButtonOptions.entries;if(e.length===0){this.addClass("vjs-hidden"),this.panelChild.addChild(this.menu);return;}for(let t of e)this.addMenuItem(t,this.settingsButtonOptions);this.panelChild.addChild(this.menu);}addMenuItem(e,t){let i=function(){X.default.dom.hasClass(this.el_,"open")?X.default.dom.removeClass(this.el_,"open"):X.default.dom.addClass(this.el_,"open");};t.name=Ly(e);let s=Object.assign({},t,{entry:e,menuButton:this}),n=new eT(this.player(),s);this.menu.addChild(n),n.on("click",()=>this.hideChildren()),n.on("click",i),n.on("escaped-key",()=>{this.hideDialog(),this.focus();});}resetChildren(){for(let e of this.menu.children())e.reset();}hideChildren(){for(let e of this.menu.children())e.hideSubMenu();}isInIframe(){return window.self!==window.top;}};X.default.registerComponent("SettingsButton",bL);var TL=X.default.getComponent("Component"),EL=class extends TL{createEl(){return super.createEl("div",{className:"vjs-settings-panel",tabIndex:-1});}};X.default.registerComponent("SettingsPanel",EL);var CL=X.default.getComponent("Component"),SL=class extends CL{createEl(){return super.createEl("div",{className:"vjs-settings-panel-child",tabIndex:-1});}};X.default.registerComponent("SettingsPanelChild",SL);var wL=X.default.getComponent("Component"),tT=class extends wL{constructor(e,t){super(e,t),this.metadataStore={},this.intervalMs=300,this.playerNetworkInfo={};}createEl(){this.containerEl=X.default.dom.createEl("div",{className:"vjs-stats-content"}),this.containerEl.style.display="none",this.infoListEl=X.default.dom.createEl("div",{className:"vjs-stats-list"});let e=X.default.dom.createEl("button",{className:"vjs-stats-close",tabindex:"0",title:"Close stats",innerText:"[x]"},{"aria-label":"Close stats"});return e.onclick=()=>this.hide(),this.containerEl.appendChild(e),this.containerEl.appendChild(this.infoListEl),this.populateInfoBlocks(),this.onNetworkInfoHandler=(t,i)=>{this.mode=i.source;let s=i.p2p,n=i.http;this.playerNetworkInfo.downloadSpeed=Ni((s?.downloadSpeed||0)+(n.downloadSpeed||0)).join(" "),this.playerNetworkInfo.uploadSpeed=Ni(s?.uploadSpeed||0).join(" "),this.playerNetworkInfo.totalDownloaded=Ni((s?.downloaded||0)+n.downloaded).join(" "),this.playerNetworkInfo.totalUploaded=Ni(s?.uploaded||0).join(" "),this.playerNetworkInfo.numPeers=s?.peersWithWebSeed,i.source==="p2p-media-loader"&&(this.playerNetworkInfo.averageBandwidth=Ni(i.bandwidthEstimate).join(" ")+"/s",this.playerNetworkInfo.downloadedFromServer=Ni(n.downloaded).join(" "),this.playerNetworkInfo.downloadedFromPeers=Ni(s?.downloaded||0).join(" "));},this.player().on("network-info",this.onNetworkInfoHandler),this.containerEl;}dispose(){this.updateInterval&&clearInterval(this.updateInterval),this.player().off("network-info",this.onNetworkInfoHandler),super.dispose();}toggle(){this.updateInterval?this.hide():this.show();}show(){this.containerEl.style.display="block",this.updateInterval=setInterval(()=>Qe(this,null,function*(){if(!(!this.player()||!this.mode))try{let e=this.mode==="p2p-media-loader"?this.buildHLSOptions():yield this.buildWebVideoOptions();if(!this.player())return;this.populateInfoValues(e);}catch(e){nt.error("Cannot update stats.",e),clearInterval(this.updateInterval);}}),this.intervalMs);}hide(){clearInterval(this.updateInterval),this.containerEl.style.display="none";}buildHLSOptions(){let e=this.player_.p2pMediaLoader(),t=e.getCurrentLevel(),i=t?.videoCodec||t?.audioCodec?`${t?.videoCodec||""} / ${t?.audioCodec||""}`:void 0,s=t?.height?`${t.height}p${t?.attrs["FRAME-RATE"]||""}`:void 0,n=this.timeRangesToString(this.player().buffered()),r,a,l;return this.options_.videoIsLive?(a=Nn(e.getLiveLatency()),l=Nn(e.getLiveLatencyFromEdge())):r=this.player().bufferedPercent(),{playerNetworkInfo:this.playerNetworkInfo,resolution:s,codecs:i,buffer:n,latency:a,latencyFromEdge:l,progress:r};}buildWebVideoOptions(){return Qe(this,null,function*(){let e=this.player_.webVideo().getCurrentVideoFile();this.metadataStore[e.fileUrl]||(this.metadataStore[e.fileUrl]=yield fetch(e.metadataUrl).then(l=>l.json()));let t=this.metadataStore[e.fileUrl],i="unknown",s="unknown";if(t?.streams?.[0]){let l=t.streams[0];i=l.color_space!=="unknown"?l.color_space:"bt709",s=l.codec_name||"avc1";}let n=e?.resolution.label+e?.fps,r=this.timeRangesToString(this.player_.buffered()),a=this.player_.bufferedPercent();return{playerNetworkInfo:this.playerNetworkInfo,progress:a,colorSpace:i,codecs:s,resolution:n,buffer:r};});}populateInfoBlocks(){this.playerMode=this.buildInfoRow(this.player().localize("Player mode")),this.uuid=this.buildInfoRow(this.player().localize("Video UUID")),this.viewport=this.buildInfoRow(this.player().localize("Viewport / Frames")),this.resolution=this.buildInfoRow(this.player().localize("Resolution")),this.volume=this.buildInfoRow(this.player().localize("Volume")),this.codecs=this.buildInfoRow(this.player().localize("Codecs")),this.color=this.buildInfoRow(this.player().localize("Color")),this.bufferProgress=this.buildInfoRow(this.player().localize("Buffer Progress")),this.bufferState=this.buildInfoRow(this.player().localize("Buffer State")),this.p2p=this.buildInfoRow(this.player().localize("P2P")),this.peers=this.buildInfoRow(this.player().localize("Peers")),this.connection=this.buildInfoRow(this.player().localize("Connection Speed")),this.network=this.buildInfoRow(this.player().localize("Network Activity")),this.transferred=this.buildInfoRow(this.player().localize("Total Transfered")),this.download=this.buildInfoRow(this.player().localize("Download Breakdown")),this.liveLatency=this.buildInfoRow(this.player().localize("Live Latency")),this.infoListEl.appendChild(this.playerMode.root),this.infoListEl.appendChild(this.uuid.root),this.infoListEl.appendChild(this.viewport.root),this.infoListEl.appendChild(this.resolution.root),this.infoListEl.appendChild(this.volume.root),this.infoListEl.appendChild(this.codecs.root),this.infoListEl.appendChild(this.color.root),this.infoListEl.appendChild(this.bufferProgress.root),this.infoListEl.appendChild(this.bufferState.root),this.infoListEl.appendChild(this.connection.root),this.infoListEl.appendChild(this.p2p.root),this.infoListEl.appendChild(this.peers.root),this.infoListEl.appendChild(this.network.root),this.infoListEl.appendChild(this.transferred.root),this.infoListEl.appendChild(this.download.root),this.infoListEl.appendChild(this.liveLatency.root);}populateInfoValues(e){let{playerNetworkInfo:t,progress:i,colorSpace:s,co
254decs:n,resolution:r,buffer:a,latency:l,latencyFromEdge:c}=e,{downloadedFromServer:u,downloadedFromPeers:f}=t,p=this.player(),g=p.getVideoPlaybackQuality(),v=`${Math.max(document.documentElement.clientWidth||0,window.innerWidth||0)}x${Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}*${(window.devicePixelRatio||1).toFixed(2)}`,{droppedVideoFrames:T,totalVideoFrames:y}=g,A=p.localize("{1} / {2} dropped of {3}",[v,T+"",y+""]),I=p.duration(),P=`${Math.round(p.volume()*100)}`;p.muted()&&(P+=p.localize(" (muted)"));let k=t.downloadSpeed?`${t.downloadSpeed} \u21D3 / ${t.uploadSpeed} \u21D1`:void 0,w=t.totalDownloaded?`${t.totalDownloaded} \u21D3`:"";t.totalUploaded&&(w+=`/ ${t.totalUploaded} \u21D1`);let R=t.downloadedFromServer?p.localize("{1} from servers \xB7 {2} from peers",[u,f]):void 0,x=i!==void 0?`${(i*100).toFixed(1)}% (${(i*I).toFixed(1)}s)`:void 0,D=this.options_.p2pEnabled&&this.mode==="p2p-media-loader";this.setInfoValue(this.playerMode,this.mode==="p2p-media-loader"?"P2P Media Loader (v2)":"Web Video"),this.setInfoValue(this.uuid,this.options_.videoUUID),this.setInfoValue(this.viewport,A),this.setInfoValue(this.resolution,r),this.setInfoValue(this.volume,P),this.setInfoValue(this.codecs,n),this.setInfoValue(this.color,s),this.setInfoValue(this.bufferProgress,x),this.setInfoValue(this.bufferState,a),this.setInfoValue(this.p2p,D?p.localize("enabled"):p.localize("disabled")),this.setInfoValue(this.peers,t.numPeers?t.numPeers+"":p.localize("no peers")),this.setInfoValue(this.connection,t.averageBandwidth),this.setInfoValue(this.network,k),this.setInfoValue(this.download,R),this.setInfoValue(this.transferred,w),l&&c&&this.setInfoValue(this.liveLatency,p.localize("{1} (from edge: {2})",[l,c]));}setInfoValue(e,t){if(!t){e.root.style.display="none";return;}e.root.style.display="block",e.value.innerText!==t&&(e.value.innerText=t);}buildInfoRow(e){let t=X.default.dom.createEl("div");t.style.display="none";let i=X.default.dom.createEl("div",{innerText:e}),s=X.default.dom.createEl("span");return t.appendChild(i),t.appendChild(s),{root:t,value:s};}timeRangesToString(e){let t="",i=0;if(e.length>10){let s=e.length-10;t+=this.player().localize("(skipped {1} buffers) ",[s+""]),i=s;}for(;i<e.length;){let s=Math.floor(e.start(i)),n=Math.floor(e.end(i));t+=`[${Nn(s)}, ${Nn(n)}] `,i++;}return t;}};X.default.registerComponent("StatsCard",tT);var AL=X.default.getPlugin("plugin"),IL=class extends AL{constructor(e,t){super(e),this.player.ready(()=>{e.addClass("vjs-stats-for-nerds");}),this.statsCard=new tT(e,t),e.addChild(this.statsCard);}dispose(){this.statsCard&&(this.statsCard.dispose(),this.player.removeChild(this.statsCard)),super.dispose();}show(){this.statsCard.show();}};X.default.registerPlugin("stats",IL);function kL(e){return` 255 <div class="vjs-upnext-top"> 256 <span class="vjs-upnext-headtext">${e.headText}</span> 257 <div class="vjs-upnext-title"></div> 258 </div> 259 <div class="vjs-upnext-autoplay-icon"> 260 <svg height="100%" version="1.1" viewbox="0 0 98 98" width="100%"> 261 <circle class="vjs-upnext-svg-autoplay-circle" cx="49" cy="49" fill="#000" fill-opacity="0.8" r="48"></circle> 262 <circle class="vjs-upnext-svg-autoplay-ring" cx="-49" cy="49" fill-opacity="0" r="46.5" 263 stroke="#FFFFFF" stroke-width="4" transform="rotate(-90)" 264 ></circle> 265 <polygon class="vjs-upnext-svg-autoplay-triangle" fill="#fff" points="32,27 72,49 32,71"></polygon></svg> 266 </div> 267 <span class="vjs-upnext-bottom"> 268 <span class="vjs-upnext-cancel"> 269 <button class="vjs-upnext-cancel-button" tabindex="0" aria-label="Cancel autoplay">${e.cancelText}</button> 270 </span> 271 <span class="vjs-upnext-suspended">${e.suspendedText}</span> 272 </span> 273 `;}var PL=X.default.getComponent("Component"),iT=class extends PL{constructor(e,t){super(e,t),this.dashOffsetTotal=586,this.dashOffsetStart=293,this.interval=50,this.upNextEvents=new X.default.EventTarget(),this.ticks=0,this.totalTicks=this.options_.timeout/this.interval,this.onEndedHandler=()=>{this.options_.isDisplayed()&&(e.addClass("vjs-upnext--showing"),this.showCard(i=>{e.removeClass("vjs-upnext--showing"),this.container.style.display="none",i||this.options_.next();}));},this.onPlayingHandler=()=>{this.upNextEvents.trigger("playing");},e.on(["auto-stopped","ended"],this.onEndedHandler),e.on("playing",this.onPlayingHandler);}dispose(){this.player()&&(this.onEndedHandler&&this.player().off(["auto-stopped","ended"],this.onEndedHandler),this.onPlayingHandler&&this.player().off("playing",this.onPlayingHandler)),this.timeout&&clearTimeout(this.timeout),super.dispose();}createEl(){let e=super.createEl("div",{className:"vjs-upnext-content",innerHTML:kL(this.options_)});return this.container=e,e.style.display="none",this.autoplayRing=e.getElementsByClassName("vjs-upnext-svg-autoplay-ring")[0],this.title=e.getElementsByClassName("vjs-upnext-title")[0],this.cancelButton=e.getElementsByClassName("vjs-upnext-cancel-button")[0],this.suspendedMessage=e.getElementsByClassName("vjs-upnext-suspended")[0],this.nextButton=e.getElementsByClassName("vjs-upnext-autoplay-icon")[0],this.cancelButton.onclick=()=>{this.upNextEvents.trigger("cancel");},this.nextButton.onclick=()=>{this.upNextEvents.trigger("next");},e;}showCard(e){if(this.autoplayRing.setAttribute("stroke-dasharray",`${this.dashOffsetStart}`),this.autoplayRing.setAttribute("stroke-dashoffset",`${-this.dashOffsetStart}`),this.title.innerText=this.options_.getTitle(),this.totalTicks===0)return e(!1);this.upNextEvents.one("cancel",()=>{clearTimeout(this.timeout),this.timeout=void 0,e(!0);}),this.upNextEvents.one("playing",()=>{clearTimeout(this.timeout),this.timeout=void 0,e(!0);}),this.upNextEvents.one("next",()=>{clearTimeout(this.timeout),this.timeout=void 0,e(!1);});let t=n=>{let r=Math.max(-this.dashOffsetTotal,-this.dashOffsetStart-n*this.dashOffsetTotal/2/100);this.autoplayRing.setAttribute("stroke-dashoffset",""+r);},i=()=>{t(this.ticks++*100/this.totalTicks);},s=()=>{this.options_.isSuspended()?(this.suspendedMessage.innerText=this.options_.suspendedText,t(0),this.ticks=0,this.timeout=setTimeout(s.bind(this),300)):this.ticks>=this.totalTicks?(clearTimeout(this.timeout),this.timeout=void 0,e(!1)):(this.suspendedMessage.innerText="",i(),this.timeout=setTimeout(s.bind(this),this.interval));};this.container.style.display="block",this.timeout=setTimeout(s.bind(this),this.interval);}};X.default.registerComponent("EndCard",iT);var RL=X.default.getPlugin("plugin"),xL=class extends RL{constructor(e,t){super(e);let i={next:t.next,getTitle:t.getTitle,timeout:t.timeout,cancelText:e.localize("Cancel"),headText:e.localize("Up Next"),suspendedText:e.localize("Autoplay is suspended"),isDisplayed:t.isDisplayed,isSuspended:t.isSuspended};this.player.ready(()=>{e.addClass("vjs-upnext");});let s=new iT(e,i);e.addChild(s),this.on("dispose",()=>s.dispose());}};X.default.registerPlugin("upnext",xL);var cy=(0,an.default)("peertube:player:web-video-plugin"),LL=X.default.getPlugin("plugin"),ML=class extends LL{constructor(e,t){super(e),this.videoFiles=t.videoFiles,this.videoFileToken=t.videoFileToken;let i=this.player.tech(!0)?.el();i&&i.setAttribute("crossorigin","anonymous");let s=this.pickInitialVideoFile();s&&this.updateVideoFile({videoFile:s,isUserResolutionChange:!1}),this.onLoadedMetadata=()=>{e.trigger("video-ratio-changed",{ratio:this.player.videoWidth()/this.player.videoHeight()});},e.on("loadedmetadata",this.onLoadedMetadata),e.ready(()=>
273{if(this.videoFiles.length===0){this.player.addClass("disabled");return;}this.buildQualities(),this.setupNetworkInfoInterval();});}dispose(){this.networkInfoInterval&&clearInterval(this.networkInfoInterval),this.onLoadedMetadata&&this.player.off("loadedmetadata",this.onLoadedMetadata),this.onErrorHandler&&this.player.off("error",this.onErrorHandler),this.onPlayHandler&&this.player.off("canplay",this.onPlayHandler),super.dispose();}getCurrentResolutionId(){return this.currentVideoFile?.resolution.id;}updateVideoFile(e){this.currentVideoFile=e.videoFile,cy("Updating web video file to "+this.currentVideoFile.fileUrl);let t=this.player.paused(),i=this.player.currentTime();this.onErrorHandler||(this.onErrorHandler=()=>this.player.peertube().displayFatalError(),this.player.one("error",this.onErrorHandler));let s=this.currentVideoFile.fileUrl;this.videoFileToken()&&(s=hy(s,{videoFileToken:this.videoFileToken()}));let n=this.player.autoplay();e.isUserResolutionChange&&(this.player.autoplay(!1),this.player.addClass("vjs-updating-resolution")),this.onPlayHandler&&this.player.off("canplay",this.onPlayHandler),this.onPlayHandler=()=>{this.player.currentTime(i),this.player.trigger("resolution-change",{resolution:this.currentVideoFile?.resolution.id,initResolutionChange:!e.isUserResolutionChange}),e.isUserResolutionChange&&(this.player.trigger("web-video-source-change"),this.tryToPlay().then(()=>{t&&this.player.pause(),this.player.autoplay(n);}));},this.player.one("canplay",this.onPlayHandler),this.player.src(s),e.isUserResolutionChange&&this.player.preload("auto");}getCurrentVideoFile(){return this.currentVideoFile;}tryToPlay(){cy("Try to play manually the video");let e=this.player.play();if(e!==void 0)return e.catch(t=>{t.message.includes("The play() request was interrupted by a call to pause()")||(nt.warn(t),this.player.pause(),this.player.posterImage.show(),this.player.removeClass("vjs-has-autoplay"),this.player.removeClass("vjs-playing-audio-only-content"));}).finally(()=>{this.player.removeClass("vjs-updating-resolution");});}pickAverageVideoFile(){if(!this.videoFiles||this.videoFiles.length===0)return;if(this.videoFiles.length===1)return this.videoFiles[0];let e=this.videoFiles.filter(t=>t.resolution.id!==0);return e[Math.floor(e.length/2)];}pickInitialVideoFile(){let e=Sy();if(e===void 0)return this.pickAverageVideoFile();let t=[...this.videoFiles].sort((r,a)=>r.resolution.id-a.resolution.id),i=t.find(r=>r.resolution.id===e);if(i)return i;let s=t.find(r=>r.resolution.id>=e);if(s)return s;let n=[...t].reverse().find(r=>r.resolution.id<e);return n||this.pickAverageVideoFile();}buildQualities(){let e=this.videoFiles.map(t=>({id:t.resolution.id,label:this.player.localize(yy(t.resolution.label,t.fps)),height:t.resolution.id,selected:t.id===this.currentVideoFile?.id,selectCallback:()=>this.updateVideoFile({videoFile:t,isUserResolutionChange:!0})}));this.player.peertubeResolutions().add(e);}setupNetworkInfoInterval(){this.networkInfoInterval=setInterval(()=>{let e=this.player;if(e)return e.trigger("network-info",{source:"web-video",http:{downloaded:e.bufferedPercent()*this.currentVideoFile?.size}});},1e3);}};X.default.registerPlugin("webVideo",ML);var sT=X.default.getComponent("CaptionsButton");sT.prototype.controlText_="Subtitles/CC";sT.prototype.label_=" ";var OL=X.default.getComponent("PlaybackRateMenuButton");OL.prototype.controlText_="Speed";var uy=X.default.getComponent("PlayProgressBar");uy.prototype.options_.children.includes("timeTooltip")!==!0&&uy.prototype.options_.children.push("timeTooltip");var nT=class{pluginsManager;videojsDecodeErrors=0;player;currentLoadOptions;constructor(e){this.options=e,this.pluginsManager=e.pluginsManager;}unload(){this.player&&(this.disposeDynamicPluginsIfNeeded(),this.player.reset());}load(e){return Qe(this,null,function*(){this.currentLoadOptions=e,this.videojsDecodeErrors=0,this.setPoster([]),this.disposeDynamicPluginsIfNeeded(),yield this.buildPlayerIfNeeded();for(let t of["galaxy","lucide"])this.player.removeClass("vjs-peertube-theme-"+t);this.player.addClass("vjs-peertube-theme-"+e.theme),this.currentLoadOptions.mode==="p2p-media-loader"?yield this.loadP2PMediaLoader():this.loadWebVideo(),this.loadDynamicPlugins(),this.options.controlBar===!1?this.player.controlBar.hide():this.player.controlBar.show(),this.player.autoplay(this.getAutoPlayValue(this.currentLoadOptions.autoplay)),this.player.autoplay()||this.setPoster(e.thumbnails),this.player.trigger("video-change");});}getPlayer(){return this.player;}destroy(){this.player&&(this.disposeDynamicPluginsIfNeeded(),this.player.dis
273pose()),this.player=void 0,this.currentLoadOptions=void 0,this.pluginsManager=void 0;}setPoster(e){if(!this.player){let t=this.options.playerElement().clientWidth||this.getScreenWidth();this.options.playerElement().poster=md(e,t,"16:9")?.fileUrl||"";return;}if(this.player){let t=this.player.el().clientWidth||this.getScreenWidth();this.player.poster(md(e,t,"16:9")?.fileUrl||"");}this.options.playerElement().poster="";}enable(){this.player&&(this.player.el().style.pointerEvents="auto");}disable(){this.player&&(this.player.isFullscreen()&&this.player.exitFullscreen(),this.player.hasStarted(!1),this.player.removeClass("vjs-has-autoplay"),this.player.bigPlayButton.hide(),this.player.el().style.pointerEvents="none");}setCurrentTime(e){if(!this.player.hasStarted_){this.currentLoadOptions.startTime=e,this.player.play();return;}this.player.currentTime(e),this.player.userActive(!0);}loadP2PMediaLoader(){return Qe(this,null,function*(){let{hlsjs:e,p2pMediaLoader:t}=yield new Xx(ze(ze({},eu(this.options,["pluginsManager","serverUrl","authorizationHeader","stunServers"])),eu(this.currentLoadOptions,["videoPassword","requiresUserAuth","videoFileToken","requiresPassword","isLive","p2pEnabled","liveOptions","hls","duration"]))).getPluginOptions();this.player.hlsjs(e),this.player.p2pMediaLoader(t);});}loadWebVideo(){let e=new Qx(eu(this.currentLoadOptions,["videoFileToken","webVideo","hls"]));this.player.webVideo(e.getPluginOptions());}buildPlayerIfNeeded(){return Qe(this,null,function*(){if(this.player)return;yield SC.loadLocaleInVideoJS(this.options.serverUrl,this.options.language,X.default);let e=yield this.pluginsManager.runHook("filter:internal.player.videojs.options.result",this.getVideojsOptions());this.player=(0,X.default)(this.options.playerElement(),e),this.player.ready(()=>{let t=!1,i=()=>{t||(t=!0,this.currentLoadOptions.mode==="p2p-media-loader"?this.tryToRecoverHLSError(this.player.error()):this.maybeFallbackToWebVideo());};this.player.on("video-change",()=>t=!1),this.player.on("error",()=>i()),this.player.on("network-info",(s,n)=>{n.source!=="p2p-media-loader"||isNaN(n.bandwidthEstimate)||KC(Math.floor(n.bandwidthEstimate));}),this.player.contextMenu(this.getContextMenuOptions()),this.displayNotificationWhenOffline();});});}disposeDynamicPluginsIfNeeded(){this.player&&(this.player.usingPlugin("peertubeMobile")&&this.player.peertubeMobile().dispose(),this.player.usingPlugin("videoFlipHorizontallyPlugin")&&this.player.videoFlipHorizontallyPlugin().dispose(),this.player.usingPlugin("peerTubeHotkeysPlugin")&&this.player.peerTubeHotkeysPlugin().dispose(),this.player.usingPlugin("playlist")&&this.player.playlist().dispose(),this.player.usingPlugin("bezels")&&this.player.bezels().dispose(),this.player.usingPlugin("upnext")&&this.player.upnext().dispose(),this.player.usingPlugin("stats")&&this.player.stats().dispose(),this.player.usingPlugin("storyboard")&&this.player.storyboard().dispose(),this.player.usingPlugin("chapters")&&this.player.chapters().dispose(),this.player.usingPlugin("peertubeNSFW")&&this.player.peertubeNSFW().dispose(),this.player.usingPlugin("peertubeDock")&&this.player.peertubeDock().dispose(),this.player.usingPlugin("p2pMediaLoader")&&this.player.p2pMediaLoader().dispose(),this.player.usingPlugin("hlsjs")&&this.player.hlsjs().dispose(),this.player.usingPlugin("webVideo")&&this.player.webVideo().dispose());}loadDynamicPlugins(){Dd()&&this.player.peertubeMobile(),this.player.bezels(),this.player.stats({videoUUID:this.currentLoadOptions.videoUUID,videoIsLive:this.currentLoadOptions.isLive,mode:this.currentLoadOptions.mode,p2pEnabled:this.currentLoadOptions.p2pEnabled}),this.player.videoFlipHorizontallyPlugin(),this.options.enableHotkeys===!0&&this.player.peerTubeHotkeysPlugin({isLive:this.currentLoadOptions.isLive,liveDvrEnabled:this.currentLoadOptions.liveOptions?.dvrEnabled===!0}),this.currentLoadOptions.playlist&&this.player.playlist(this.currentLoadOptions.playlist),this.currentLoadOptions.upnext&&this.player.upnext({timeout:this.currentLoadOptions.upnext.timeout,getTitle:()=>this.currentLoadOptions.nextVideo.getVideoTitle(),next:()=>this.currentLoadOptions.nextVideo.handler(),isDisplayed:()=>this.currentLoadOptions.nextVideo.enabled&&this.currentLoadOptions.upnext.isEnabled(),isSuspended:()=>this.currentLoadOptions.upnext.isSuspended(this.player)}),this.currentLoadOptions.storyboard&&this.player.storyboard(this.currentLoadOptions.storyboard),this.currentLoadOptions.videoChapters&&this.player.chapters({chapters:this.currentLoadOptions.videoChapters}),this.currentLoadOptions.dock&&this.player.peertubeDock(this.currentLoadOptions.dock),this.currentLoadOptions.nsfwWarning&&this.player.peertubeNSFW(this.currentLoadOptions.nsfwWarning);}tryToRecoverHLSError(e){return Qe(this,null,function*(){if(e.code===MediaError.MEDIA_ERR_DECODE){if(this.videojsDecodeErrors===0&&this.options.errorNotifier(this.player.localize("The video failed to play, will try to fast forward.")),this.videojsDecodeErrors===20){this.maybeFallbackToWebVideo();return;}nt.info("Fast forwarding HLS to recover from an error.",{err:e,videoShortUUID:this.currentLoadOptions.videoShortUUID,currentTime:this.player.currentTime(),resolution:this.player.videoHeight()}),this.videojsDecodeErrors++,yield this.load(pt(ze({},this.currentLoadOptions),{mode:"p2p-media-loader",startTime:this.player.currentTime()+2,autoplay:!0}));}else this.maybeFallbackToWebVideo();});}maybeFallbackToWebVideo(){return Qe(this,null,function*(){if(this.currentLoadOptions.mode==="web-video"){this.player.peertube().displayFatalError();return;}nt.info("Fallback to web-video."),yield this.load(pt(ze({},this.currentLoadOptions),{mode:"web-video",startTime:this.player.currentTime(),autoplay:!0}));});}getVideojsOptions(){let e={preloadTextTracks:!1,nativeTextTracks:!1},t=()=>
273{let n=this.options.playerElement().clientWidth||this.getScreenWidth();return md(this.currentLoadOptions.thumbnails,n,"16:9")?.fileUrl||"";},i={peertube:{hasAutoplay:()=>this.getAutoPlayValue(this.currentLoadOptions.autoplay),videoViewUrl:()=>this.currentLoadOptions.videoViewUrl,videoViewIntervalMs:this.options.videoViewIntervalMs,authorizationHeader:this.options.authorizationHeader,videoDuration:()=>this.currentLoadOptions.duration,startTime:()=>this.currentLoadOptions.startTime,stopTime:()=>this.currentLoadOptions.stopTime,videoCaptions:()=>this.currentLoadOptions.videoCaptions,isLive:()=>this.currentLoadOptions.isLive,liveDvrEnabled:()=>this.currentLoadOptions.liveOptions?.dvrEnabled===!0,videoUUID:()=>this.currentLoadOptions.videoUUID,subtitle:()=>this.currentLoadOptions.subtitle,videoRatio:()=>this.currentLoadOptions.videoRatio,poster:()=>t(),playbackRate:this.options.playbackRate,autoPlayerRatio:this.options.autoPlayerRatio},metrics:{mode:()=>this.currentLoadOptions.mode,metricsUrl:()=>this.options.metricsUrl,metricsInterval:()=>this.options.metricsInterval,videoUUID:()=>this.currentLoadOptions.videoUUID}},s=new Ox(pt(ze({},this.options),{videoShortUUID:()=>this.currentLoadOptions.videoShortUUID,p2pEnabled:()=>this.currentLoadOptions.p2pEnabled,nextVideo:()=>this.currentLoadOptions.nextVideo,previousVideo:()=>this.currentLoadOptions.previousVideo}));return{html5:e,textTrackSettings:!1,controls:this.options.controls!==void 0?this.options.controls:!0,loop:this.options.loop!==void 0?this.options.loop:!1,muted:this.options.muted!==void 0?this.options.muted:void 0,autoplay:this.getAutoPlayValue(this.currentLoadOptions.autoplay),poster:t(),preload:"none",inactivityTimeout:this.options.inactivityTimeout,playbackRates:[.25,.5,.75,1,1.25,1.5,1.75,2,2.5,3],plugins:i,controlBar:{children:s.getChildrenOptions()},language:this.options.language&&!gy(this.options.language)?this.options.language:void 0,enableSmoothSeeking:!0};}getAutoPlayValue(e){return e!==!0?!1:this.currentLoadOptions.forceAutoplay?"any":"play";}displayNotificationWhenOffline(){let e=document.createElement("div");e.classList.add("vjs-peertube-offline-notification"),e.innerText=this.player.localize("You seem to be offline and the video may not work");let t=!1,i=()=>{t&&(this.player.el().removeChild(e),t=!1,nt.info("The browser is online"));},s=()=>{t||(this.player.el().appendChild(e),t=!0,nt.info("The browser is offline"));};window.addEventListener("online",i),window.addEventListener("offline",s),this.player.on("dispose",()=>{window.removeEventListener("online",i),window.removeEventListener("offline",s);});}getContextMenuOptions(){return{content:()=>{let t=this,i=this.player,s=t.currentLoadOptions.videoShortUUID,n=i.options_.loop,r=[{icon:"repeat",label:i.localize("Play in loop")+(n?'<span class="vjs-icon-tick-white"></span>':""),listener:function(){i.options_.loop=!n;}},{label:i.localize("Copy the video URL"),listener:function(){tu(ih({shortUUID:s}),i.el());}},{label:i.localize("Copy the video URL at the current time"),listener:function(){tu(fy({url:ih({shortUUID:s}),startTime:i.currentTime()}),i.el());}},{icon:"code",label:i.localize("Copy embed code"),listener:()=>{tu(AC({embedUrl:t.currentLoadOptions.embedUrl,embedTitle:t.currentLoadOptions.embedTitle}),i.el());}}];return r.push({icon:"info",label:i.localize("Stats for nerds"),listener:()=>{i.stats().show();}}),r.map(a=>pt(ze({},a),{label:`<span class="vjs-icon-${a.icon||"link-2"}"></span>`+a.label}));}};}getScreenWidth(){return window.innerWidth||screen.availWidth||560;}},_f=X.default;var uT=Mp(Rm());var rT=(()=>{let t=class t{};xe(t,"\u0275fac",function(n){return new(n||t)();}),xe(t,"\u0275cmp",mt({type:t,selectors:[["my-player-styles"]],decls:0,vars:0,template:function(n,r){},styles:[`.vjs-svg-icon{display:inline-block;background-repeat:no-repeat;background-position:center;fill:currentColor;height:1.8em;width:1.8em}.vjs-svg-icon:before{content:none!important}.vjs-svg-icon:hover,.vjs-control:focus .vjs-svg-icon{filter:drop-shadow(0 0 .25em #fff)}.vjs-modal-dialog .vjs-modal-dialog-content,.video-js .vjs-modal-dialog,.vjs-button>.vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{position:absolute;top:0;left:0;width:100%;height:100%}.vjs-button>.vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{text-align:center}@font-face{font-family:VideoJS;src:url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAABTsAAsAAAAAIpAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAAPgAAAFZRiV32Y21hcAAAAYQAAAEJAAAD5p42+VxnbHlmAAACkAAADtIAABckI4l972hlYWQAABFkAAAAKwAAADYsvIjpaGhlYQAAEZAAAAAdAAAAJA+RCL1obXR4AAARsAAAABcAAAC8Q2YAAGxvY2EAABHIAAAAYAAAAGB7CIGGbWF4cAAAEigAAAAfAAAAIAFAAI9uYW1lAAASSAAAASUAAAIK1cf1oHBvc3QAABNwAAABfAAAAnXdFqh1eJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYGR7yDiBgZWBgaWQ5RkDA8MvCM0cwxDOeI6BgYmBlZkBKwhIc01hcPjI+FGPHcRdyA4RZgQRADaGCyYAAHic7dPXbcMwAEXRK1vuvffem749XAbKV3bjBA6fXsaIgMMLEWoQJaAEFKNnlELyQ4K27zib5PNF6vl8yld+TKr5kH0+cUw0xv00Hwvx2DResUyFKrV4XoMmLdp06NKjz4AhI8ZMmDJjzoIlK9Zs2LJjz4EjJ85cuHLjziPe/0UWL17mf2tqKLz/9jK9f8tXpGCoRdPKhtS0RqFkWvVQNtSKoVYNtWaoddPXEBqG2jQ9XWgZattQO4baNdSeofYNdWCoQ0MdGerYUCeGOjXUmaHODXVhqEtDXRnq2lA3hro11J2h7g31YKhHQz0Z6tlQL4Z6NdSbod4N9WGoT9MfHF6Gmhn
273ZLxyDcRMAAAB4nJ1YC1hU17U+a5/HMA4iA3NmVBDmoQwP5TFnHlFeA4gYiUFRQINoSCBAyK3G2yi+0aipYtFcHYo2xsb4NiY3+VrNxSaX5uvt495ozNdoYoxmem2/L8HGpLc+InB279pnhlGr5mvL4eyz99nrrL32eu1/DQcc/okdYgdHOA6MQKp4r9gx0EcMHMezOalVasW5BM7NcXoSb9fFgE6KtSSBxWz1FYDPG+vMBGcKb9cebu2VS5s2aaTkCvRSf6C7Y+Ppibm5E09v7IDs2/3uZQtbD0zIyppwoHXh/93ukmyYgdePNRp65p5v+3v/9otQl2O7wP34cT88p8Md2YxpYLQZoRcy6FlSBRnwnGAe6BPMSCZo+7NJVqS0cE4uHendzhSnbPH6TDqL1+Nme5LZXkCHnGyoH0kne30WH+gswhm3q+pt/mTas9NLS64GnjmSlTPw0wVQT/ewRaBgxtydy3cuUB9/6SW+vb5yRvr+t0eOfPKJZ/9t3+4tL7xj32Xd3thCxi+ge6ifdsAN+l5+wi5HQ/cCoeull1AszS7CUfEcJzK7sKWJAdJhCd0sPM4+EY7QDm5ov08hXRQXE5bf6PV5Q5+IjW7X7Nku92Ask4l2hCRRD6TPqISiCJeQna3SCFwrhrNzXHzo4yFevBwxpzxk8WCIIfkvVEKVy32SbT8n68gzgaslpaiO2zIGIyuSb7RNf9HSuN26y/7OC1tgEmpiyA6aD4qcgTOiLThwGG0eB694FI8NHLLN6OBlRVaMxNAFS4JdXUG6mW8PwpKuYLCLXKGbu8iwYNdgO06Sn3Th+/vyZAxs8Ro30DjHe9gy8Fywi24OMm7Qyzh3MTZVOMYhLBnoC+J79lpTUyQmorjhnMwlcQ5uPEYGpDjsOkkH49BjQLQBqs3jFtFdJNlksYmoQFDArLh8Xh+Qd6Ghcsb6FUuehDi+U/lqD71K/qiegeV1imcwjl7ExwiSrf4BZyCujV6cVcFo6VX+G9IcPyFjJnUufbU/jzrL1X99as36reXl8K32nFaOr+E8jWJEcJ55DpMVfSMe95/AJaOsGBH2GJCNpiRQbK4C8BjdmQA22QY2j03Em13i2YHqtNLU1NI04Yj2HJgA6fQc6VPNpA/D+Ryks554NnVy2mB72uRUfPLsqR4N0LOBQKArwJYO+5W2fgZX8oC1HR6HjNaQTVIG2FPwnTcXXGZZfNB7TE6pTKZUwaw91XWLAoFFGcnB5PHjsckgBjbWutrL+0h5Y1xw3DRGDumsnXb3MJwXrJIN5U7m0rgJ3yG5w4he5ckFG4pmNEkOm0/xOO4r4yL87wqtQM+hiJIVp+6iG2wPBKD35ElGkDx+UfC2v1mFG1o+M3AjNFty8biKMXwzyxnZLds8wYD2BxmCPHAldPOeLsy/0BugftYhVYFAhO8SqQ0j3oK7dHJZnI/jxmUS4onlxskSF8thmvNZjIrRZwEPxr0lBuLRuz3oy/FOHCsxwOPYh2M+e9u3J5pgPYz9gp6G7C9m0A11F9ddqKMfV+4sbq45/YspOysXvT+3pdFdYNg2fHbW8Dz301MqDVuGrz0Fuh0YMW8mddrpqzST7rV9BcvqPoNvadRndWp0p8HvbiqrFj5yFQ/vNFSXDpxpLEFWp+DcrF3FT1afWshFcmCfeAMjEvO65i0Y6XijQfSRPWx3TV/Df7Km3E1l+kLt56s/rwVzuRusNMhudznkwdLaS+QNdeal2jDPP4l9qHc98vTYZOSkxzD+njBWVWjFPKgipx6DkWvXQiW8OYcewVHE5yukinDMcfGgc0opDltYKDxIGBedkzc6jSfE7tlvESCDFUw0Hx0opS+U0lHCxNottbNWSxX9zZVvEhKWUSyBpaXwBc2a98M6UqPeXAs/GDon8Ax7hsthO8cM5HU7Ad0UvRR9lHmtyQKZ4MAe814X5h9MSUkQmhf96eVJ6p90OjIiqSIjvykvr2l5U55O/fPQKD+jIomYpNyGJQ25uQ2kIikRfAmuBHCPsWqkSDEqgZ5KDI2sifS/R43MbZg0idFHbCPNxXxZws1ACVE6hAhOdJwRkJLFBLPZpRGYJ50pko6XzMkgmSx40ljik6AQcKhFnLcQE6rF7PXFe1Ocoj0T3AXgSgJTDIhHRfHlYZKuSzc6uievOJGXY+i5GJkkTp7UM3y0LqATDbtFcbdBxO7o4T25JYlEjoH0uynUh8rapkxp62QN70svSF+hT4gGPlovlmcm/ComLi7mV4kTykV9NFWjE/QrwgQ4uIcAP0rQF4VZYRP2o3PhHHzfPMJj9Ir+uzKUlrH49ntT18AVvj1sc3YGjUT/Mt2Dxawa8ArcA7bCQIpvfwAYu22vEG/No/5RvPdA7g+AelLrPwzy+LtkLPhnpIxH14m4EYq8eeMHbPEPNm6G7Nv9B4jcFPZ8bJj0SEjP3MPgQdKTqqEoy2v6G32P/Y6dxOv04AxnoAeq+GILvUavtYCBXm+BaIhuodcfrN5B/V2EYMCPh+SxavjGyPwV0x4CJgUPGT0mQaODGBACIJZGsMXwAD0LGXx7l3CdAcKMIKI+f5CepWeD0BvyU/GcdBxPF8SwejC6LGZmAURFdsSWKR5HyHld2kbdIZO1Ixx+bnnzU7n5+blPNV9jnUDWhP2tC68tbN3PVIldsQPxSAcSpjOav7Q05uXn5zW2LLvDXn9B6syscPy9iDLEMmSrJz6nYuWMipukjM0AH8JkGS+XFyMRkzSCH7KD/hwm172SAyZYumHlefr5AddrtA0O0TnwaVZxcRY9Bfukn9Gf05N1r9DV9MoBsJ1f+ZrqUvtPHizJAntWybv7hmqLt6QLuK6ZS9Fqi1jO5rDoWPZXXII5Tgajg53cIXCjDCGIcYrRIY2n6+mXOa/W0bdhau3ryiEYe2FV/5oeaIYK/5w5frCyll6/cYO8DiNhw6t1MBWmznt91QX62UF1N7l0eHBZTRGpKaqpKVIPF9UcIzmReud9TSY75+K899GHbBu6wjoR7RKKZVYiYxSPf5/2wJT5e3NAhmUbVn5KLx1Ujg0+BGvpAIh0DezInTkzF37KVocxrKU3r1+XLtAe2lO3l66kfQfB/unKY+q8N375Ru8bc4pJXfEcESU95q+p8ZNZRTWH1d9FzvUdYXk5rLkcdkEisoKKVHQW/b3GEx6tPaYcoJfOr9wAbSBnv1IHpep0OExr4LPMkpJM+j7sly7UHkOzXjoAZljHCGiyegtNlwljM0v+c19ET9Pvst09a2Mtgcf5/ZSzYO5h1156+eyydfAsxGa9XAuF6vzjh6CssLq6ECysperXX0sX5h5ZdpZe3guxsGIPEtHk/aqXX1hVqP5HYVVVISkrrNqvXorIc+5Ou91Hnr/LcD2afi6eX7UBloOcs7cOpqgGaNfs1g7bNbs9z6wASaylN69d0/TFTIz6Ws8+oGV3mE2612wRTHKcVUbhjKadebloMc+dyXgMVtVK6BwMB/+mVW09igdRBWaRtNQX59d/VD//xdQ0TCiYNj1KT9sq6Wdu5WTbqk3qDXyDaLa1fv621LS01G3z61sD6lH8lAxDLicV921s6Bf92JOYvzNYCL1khbqBXEFUzC521N5NyzNaQIWhjyFyDoBIVrAjmv2UEaLlI+c6zw1jmVIPLLLZZUTj6GxGHW+mq1tgHXR2D85p4Q934+jLbtjVLcyCdS10NVzpHqxp4Q/hK7WopY/NRGx9HGsPGdFjOjcpjBnGYMVqY/4eqT5khWEHWUup2A/pTw7pdWgsWft7ETUERL96nRg0HNFPmCYba6pylECaExX89A9WLUOVB4oKLu/o1oqSYHCgLzBUlAz8hNFDRpeSU1XT+LRmDUgPaKbYdHDn9suF/tu13nHJij0N97LfS0QmqONuyONk7zvUI6Qa0pF9f2+oABL92AT6e0U//z9YqAiWtJLU1JK0gS+1aacwamiNqK067u9ZQ8f1d4qLodMzz3uL89Z68V/Hnr++hXWUuHgw8dfi972PeTyPefu3aNNucemQ74qFuIaJnVkOu4Q+yjuwmmC1FqZpl1i4uzoPxjkpPf3Xv545tl26Rr+dOvUd+omqJzch9dOeU7f10Y64nMcKK137DccIZq2WdXtdZjbEoLSzHwiMtrjYLDxpHQW8gjMX6XFYAE2zSWVD04EGYSs9MbO6sEo20BMEAB4mpvSypsKjZ4Stgzb+c3A9/MQT2+vrBy+qvyFxLUtLlSRF/Ri2wjfZ2dus2Q8lXx4608/jnqK5OOap6NY2PSjYYnECCjiEeLJll/pbmqfeIK+ps3+MxrlEhqmTPipVP7kqlF4VhpEb6r+Q7YOJg38kJ9SHBf3NBl6+9YchfbUjb5ahLSzUM3kPHmwFAsZ5rpai0S7E5xWzZ1j+fW7zsUWP2g5NXTw52ySCTrgG0+lbw60l2Y/CB185CoA8NK+tbRKxfjy6pm5hzQRRR+cMqv1Jbiw6STivtEvt3DRcy0QEh92JlUGo2PG4tSKHl00YD6xc8CK+YPYyy3io2lN8BcSjKRzrIV6ypOAobqxViJPaT9M9Hy5szY33mp7OX/Zu89L/7Ww5vqY2Y8b0pKgoiUhG5cPDPzq8qTV/WkzUOIvXVVA96kmjcBrr3HrYC/Wn+fYP6Z7T1rqy3zknbvqma/FvVk96fNXGkuaXrdHW5JGSxZT/2I/O73v+yNWafMdzc5NdxYurHs6h86e01sLKLz9EBrg+x36rxAaED7hRnAMx7Vzu+9wabh3zG8XLQjx0ablUJzmxdErxYT3kzQSd0SSafVqF5P
273Xgpp0OyYJ1EyNHpGUZmvK575ySzd85JSqF7IBzSAbMM04+MbE58xF3/njXOGecSaermlw2y9PsSQdytLJVr8t+wg+rR8cZYoeNxVIzNdk3Bngi8U5LAlgTFoQnzJCa5EsCgYhCaGL+qPj7TdhG31p9tej3R04N//PXxNwJvyUqwaJqRPJY98TJ5TPndmflRAkAhBfe46sfKW5wizSge08Xb7Ca/GUVs55trngkKkrUS2WPzKttaaqq+idmahugkY+W6fN0I6i3gPt/x88U4wAAeJxjYGRgYADiGU9YXsXz23xl4GZnAIFH7fO+IdMc/WBxDgYmEAUASbMKwAB4nGNgZGBgZwABjj4Ghv//OfoZGBlQgT4ARicDZAAAAHicY2BgYGAfxJijD8Fmu4EqBwCSpgKpAAAAAAAADgBoAH4AzADgAQIBQgFsAZgB7gIuAooC0AL8A2IDjAOoA+AEMASwBNoFCAVaBcAGCAYuBnAGrAb2B04HigfSCCoIcAiGCJwIyAkkCVYJiAmsCfIKIApWCsQLknicY2BkYGDQZ2hmYGcAASYg5gJCBob/YD4DABqrAdAAeJxdkE1qg0AYhl8Tk9AIoVDaVSmzahcF87PMARLIMoFAl0ZHY1BHdBJIT9AT9AQ9RQ9Qeqy+yteNMzDzfM+88w0K4BY/cNAMB6N2bUaPPBLukybCLvleeAAPj8JD+hfhMV7hC3u4wxs7OO4NzQSZcI/8Ltwnfwi75E/hAR7wJTyk/xYeY49fYQ/PztM+jbTZ7LY6OWdBJdX/pqs6NYWa+zMxa13oKrA6Uoerqi/JwtpYxZXJ1coUVmeZUWVlTjq0/tHacjmdxuL90OR8O0UEDYMNdtiSEpz5XQGqzlm30kzUdAYFFOb8R7NOZk0q2lwAyz1i7oAr1xoXvrOgtYhZx8wY5KRV269JZ5yGpmzPTjQhvY9je6vEElPOuJP3mWKnP5M3V+YAAAB4nG2ReVPbMBDF/ULi2EkDBFqO3gdHLxUzDB9IkdexBllydRD49ihO3Ckz7B/a31utZnafkkGyiXnyclxhgB0MMUKKMTLkmGCKV5hhF3vYxxwHOMRrvMERjnGCU7zFO7zHB3zEJ3zGF3zFN5zhHBe4xHf8wE/8wm8w/MEVimTYKv44XR9MSCsUjVoeHE3vjQoNsSZ4mmxZmVWPjSz7jlou6/0qKOWEJdKMtCe793/hQfqxa6XWZHMXFl56RS4TvPXSaDeoy0zUUZB109KstDK8lHo5q6Qi1hcOnqkImubPS6aqRq7mlnaEWabub4iYblba3SRmgldS0+FWdhNtt04F14JUaqkl7tcpOpJtErvNt3Bd9HRT5JWxK25Ldjvp6br4hzfFiIdSmlzTg2fSUzNrLd1LE1ynxq4OVaVoKLjzJ60UPtj1RKzHzsbjly6inVnFBS2MucviPncU7Rr7lfTxRepDs1A2j3ZHRc7PuzFYSfE3ZOd4kjwBy227hA==) format("woff");font-weight:400;font-style:normal}.vjs-icon-play,.video-js .vjs-play-control .vjs-icon-placeholder,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-play:before,.video-js .vjs-play-control .vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{content:"\\f101"}.vjs-icon-play-circle{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-play-circle:before{content:"\\f102"}.vjs-icon-pause,.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-pause:before,.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before{content:"\\f103"}.vjs-icon-volume-mute,.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-volume-mute:before,.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before{content:"\\f104"}.vjs-icon-volume-low,.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-volume-low:before,.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before{content:"\\f105"}.vjs-icon-volume-mid,.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-volume-mid:before,.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before{content:"\\f106"}.vjs-icon-volume-high,.video-js .vjs-mute-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-volume-high:before,.video-js .vjs-mute-control .vjs-icon-placeholder:before{content:"\\f107"}.vjs-icon-fullscreen-enter,.video-js .vjs-fullscreen-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-fullscreen-enter:before,.video-js .vjs-fullscreen-control .vjs-icon-placeholder:before{content:"\\f108"}.vjs-icon-fullscreen-exit,.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-fullscreen-exit:before,.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before{content:"\\f109"}.vjs-icon-spinner{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-spinner:before{content:"\\f10a"}.vjs-icon-subtitles,.video-js .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js .vjs-subtitles-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-subtitles:before,.video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js .vjs-subtitles-button .vjs-icon-placeholder:before{content:"\\f10b"}.vjs-icon-captions,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js .vjs-captions-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-captions:before,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js .vjs-captions-button .vjs-icon-placeholder:before{content:"\\f10c"}.vjs-icon-hd{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-hd:before{content:"\\f10d"}.vjs-icon-chapters,.video-js .vjs-chapters-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-chapters:before,.video-js .vjs-chapters-button .vjs-icon-placeholder:before{content:"\\f10e"}.vjs-icon-downloading{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-downloading:before{content:"\\f10f"}.vjs-icon-file-download{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-file-download:before{content:"\\f110"}.vjs-icon-file-download-done{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-file-download-done:before{content:"\\f111"}.vjs-icon-file-download-off{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-file-download-off:before{content:"\\f112"}
273.vjs-icon-share{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-share:before{content:"\\f113"}.vjs-icon-cog{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-cog:before{content:"\\f114"}.vjs-icon-square{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-square:before{content:"\\f115"}.vjs-icon-circle,.vjs-seek-to-live-control .vjs-icon-placeholder,.video-js .vjs-volume-level,.video-js .vjs-play-progress{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-circle:before,.vjs-seek-to-live-control .vjs-icon-placeholder:before,.video-js .vjs-volume-level:before,.video-js .vjs-play-progress:before{content:"\\f116"}.vjs-icon-circle-outline{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-circle-outline:before{content:"\\f117"}.vjs-icon-circle-inner-circle{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-circle-inner-circle:before{content:"\\f118"}.vjs-icon-cancel,.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-cancel:before,.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before{content:"\\f119"}.vjs-icon-repeat{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-repeat:before{content:"\\f11a"}.vjs-icon-replay,.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-replay:before,.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before{content:"\\f11b"}.vjs-icon-replay-5,.video-js .vjs-skip-backward-5 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-replay-5:before,.video-js .vjs-skip-backward-5 .vjs-icon-placeholder:before{content:"\\f11c"}.vjs-icon-replay-10,.video-js .vjs-skip-backward-10 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-replay-10:before,.video-js .vjs-skip-backward-10 .vjs-icon-placeholder:before{content:"\\f11d"}.vjs-icon-replay-30,.video-js .vjs-skip-backward-30 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-replay-30:before,.video-js .vjs-skip-backward-30 .vjs-icon-placeholder:before{content:"\\f11e"}.vjs-icon-forward-5,.video-js .vjs-skip-forward-5 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-forward-5:before,.video-js .vjs-skip-forward-5 .vjs-icon-placeholder:before{content:"\\f11f"}.vjs-icon-forward-10,.video-js .vjs-skip-forward-10 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-forward-10:before,.video-js .vjs-skip-forward-10 .vjs-icon-placeholder:before{content:"\\f120"}.vjs-icon-forward-30,.video-js .vjs-skip-forward-30 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-forward-30:before,.video-js .vjs-skip-forward-30 .vjs-icon-placeholder:before{content:"\\f121"}.vjs-icon-audio,.video-js .vjs-audio-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-audio:before,.video-js .vjs-audio-button .vjs-icon-placeholder:before{content:"\\f122"}.vjs-icon-next-item{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-next-item:before{content:"\\f123"}.vjs-icon-previous-item{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-previous-item:before{content:"\\f124"}.vjs-icon-shuffle{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-shuffle:before{content:"\\f125"}.vjs-icon-cast{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-cast:before{content:"\\f126"}.vjs-icon-picture-in-picture-enter,.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-picture-in-picture-enter:before,.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder:before{content:"\\f127"}.vjs-icon-picture-in-picture-exit,.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-picture-in-picture-exit:before,.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder:before{content:"\\f128"}.vjs-icon-facebook{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-facebook:before{content:"\\f129"}.vjs-icon-linkedin{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-linkedin:before{content:"\\f12a"}.vjs-icon-twitter{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-twitter:before{content:"\\f12b"}.vjs-icon-tumblr{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-tumblr:before{content:"\\f12c"}.vjs-icon-pinterest{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-pinterest:before{content:"\\f12d"}.vjs-icon-audio-description,.video-js .vjs-descriptions-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-audio-description:before,.video-js .vjs-descriptions-button .vjs-icon-placeholder:before{content:"\\f12e"}.video-js{display:inline-block;vertical-align:top;box-sizing:border-box;color:#fff;background-color:#000;position:relative;padding:0;font-size:10px;line-height:1;font-weight:400;font-style:normal;font-family:Arial,Helvetica,sans-serif;word-break:initial}.video-js:-moz-full-screen{position:absolute}.video-js:-webkit-full-screen{width:100%!important;height:100%!important}.video-js[tabindex="-1"]{outline:none}.video-js *,.video-js *:before,.video-js *:after{box-sizing:inherit}.video-js ul{font-family:inherit;font-size:inherit;line-height:inherit;list-style-position:outside;margin:0}.video-js.vjs-fluid,.video-js.vjs-16-9,.video-js.vjs-4-3,.video-js.vjs-9-16,.video-js.vjs-1-1{width:100%;max-width:100%}.video-js.vjs-fluid:not(.vjs-audio-only-mode),.video-js.vjs-16-9:not(.vjs-audio-only-mode),.video-js.vjs-4-3:not(.vjs-audio-only-mode),.video-js.vjs-9-16:not(.vjs-audio-only-mode),.video-js.vjs-1-1:not(.vjs-audio-only-mode){height:0}.video-js.vjs-16-9:not(.vjs-audio-only-mode){padding-top:56.25%}.video-js.vjs-4-3:not(.vjs-audio-only-mode){padding-top:75%}.video-js.vjs-9-16:not(.vjs-audio-only-mode){padding-top:177.7777777778%}.video-js.vjs-1-1:not(.vjs-audio-only-mode){padding-top:100%}.video-js.vjs-fill:not(.vjs-audio-only-mode){width:100%;height:100%}.video-js .vjs-tech{position:absolute;top:0;left:0;width:100%;height:100%}.video-js.vjs-audio-only-mode .vjs-tech{display:none}body.vjs-full-window,body.vjs-pip-window{padding:0;margin:0;height:100%}.vjs-full-window .video-js.vjs-fullscreen,body.vjs-pip-window .video-js{position:fixed;overflow:hidden;z-index:1000;left:0;top:0;bottom:0;right:0}.video-js.vjs-fullscreen:not(.vjs-ios-native-fs),body.vjs-pip-window .video-js{width:100%!important;height:100%!important;padding-top:0!important;display:block}.video-js.vjs-fullscreen.vjs-user-inactive{cursor:none}.vjs-pip-container .vjs-pip-text{position:absolute;bottom:10%;font-size:2em;background-color:#000000b3;padding:.5em;text-align:center;width:100%}.vjs-layout-tiny.vjs-pip-container .vjs-pip-text,.vjs-layout-x-small.vjs-pip-container .vjs-pip-text,.vjs-layout-small.vjs-pip-container .vjs-pip-text{bottom:0;font-size:1.4em}.vjs-hidden{display:none!important}.vjs-disabled{opacity:.5;cursor:default}.video-js .vjs-offscreen{height:1px;left:-9999px;position:absolute;top:0;width:1px}.vjs-lock-showing{display:block!important;opacity:1!important;visibility:visible!important}.vjs-no-js{padding:20px;color:#fff;background-color:#000;font-size:18px;font-family:Arial,Helvetica,sans-serif;text-align:center;width:300px;height:150px;margin:0 auto}.vjs-no-js a,.vjs-no-js a:visited{color:#66a8cc}.video-js .vjs-big-play-button{font-size:3em;line-height:1.5em;height:1.63332em;width:3em;display:block;position:absolute;top:50%;left:50%;padding:0;margin-top:-.81666em;margin-left:-1.5em;cursor:pointer;opacity:1;border:.06666em solid #fff;background-color:#2b333f;background-color:#2b333fb3;border-radius:.3em;transition:all .4s}.vjs-big-play-button .vjs-svg-icon{width:1em;height:1em;position:absolute;top:50%;left:50%;line-height:1;transform:translate(-50%,-50%)}.video-js:hover .vjs-big-play-button,.video-js .vjs-big-play-button:focus{border-color:#fff;background-color:#73859f;background-color:#73859f80;transition:all 0s}.vjs-controls-disabled .vjs-big-play-button,.vjs-has-started .vjs-big-play-button,.vjs-using-native-control
273s .vjs-big-play-button,.vjs-error .vjs-big-play-button{display:none}.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause:not(.vjs-seeking,.vjs-scrubbing,.vjs-error) .vjs-big-play-button{display:block}.video-js button{background:none;border:none;color:inherit;display:inline-block;font-size:inherit;line-height:inherit;text-transform:none;text-decoration:none;transition:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.video-js.vjs-spatial-navigation-enabled .vjs-button:focus{outline:.0625em solid white;box-shadow:none}.vjs-control .vjs-button{width:100%;height:100%}.video-js .vjs-control.vjs-close-button{cursor:pointer;height:3em;position:absolute;right:0;top:.5em;z-index:2}.video-js .vjs-modal-dialog{background:#000c;background:linear-gradient(180deg,#000c,#fff0);overflow:auto}.video-js .vjs-modal-dialog>*{box-sizing:border-box}.vjs-modal-dialog .vjs-modal-dialog-content{font-size:1.2em;line-height:1.5;padding:20px 24px;z-index:1}.vjs-menu-button{cursor:pointer}.vjs-menu-button.vjs-disabled{cursor:default}.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu{display:none}.vjs-menu .vjs-menu-content{display:block;padding:0;margin:0;font-family:Arial,Helvetica,sans-serif;overflow:auto}.vjs-menu .vjs-menu-content>*{box-sizing:border-box}.vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu{display:none}.vjs-menu li{display:flex;justify-content:center;list-style:none;margin:0;padding:.2em 0;line-height:1.4em;font-size:1.2em;text-align:center;text-transform:lowercase}.vjs-menu li.vjs-menu-item:focus,.vjs-menu li.vjs-menu-item:hover,.js-focus-visible .vjs-menu li.vjs-menu-item:hover{background-color:#73859f;background-color:#73859f80}.vjs-menu li.vjs-selected,.vjs-menu li.vjs-selected:focus,.vjs-menu li.vjs-selected:hover,.js-focus-visible .vjs-menu li.vjs-selected:hover{background-color:#fff;color:#2b333f}.vjs-menu li.vjs-selected .vjs-svg-icon,.vjs-menu li.vjs-selected:focus .vjs-svg-icon,.vjs-menu li.vjs-selected:hover .vjs-svg-icon,.js-focus-visible .vjs-menu li.vjs-selected:hover .vjs-svg-icon{fill:#000}.video-js .vjs-menu *:not(.vjs-selected):focus:not(:focus-visible),.js-focus-visible .vjs-menu *:not(.vjs-selected):focus:not(.focus-visible){background:none}.vjs-menu li.vjs-menu-title{text-align:center;text-transform:uppercase;font-size:1em;line-height:2em;padding:0;margin:0 0 .3em;font-weight:700;cursor:default}.vjs-menu-button-popup .vjs-menu{display:none;position:absolute;bottom:0;width:10em;left:-3em;height:0em;margin-bottom:1.5em;border-top-color:#2b333fb3}.vjs-pip-window .vjs-menu-button-popup .vjs-menu{left:unset;right:1em}.vjs-menu-button-popup .vjs-menu .vjs-menu-content{background-color:#2b333f;background-color:#2b333fb3;position:absolute;width:100%;bottom:1.5em;max-height:15em}.vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:5em}.vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:10em}.vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:14em}.vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:25em}.vjs-workinghover .vjs-menu-button-popup.vjs-hover .vjs-menu,.vjs-menu-button-popup .vjs-menu.vjs-lock-showing{display:block}.video-js .vjs-menu-button-inline{transition:all .4s;overflow:hidden}.video-js .vjs-menu-button-inline:before{width:2.222222222em}.video-js .vjs-menu-button-inline:hover,.video-js .vjs-menu-button-inline:focus,.video-js .vjs-menu-button-inline.vjs-slider-active{width:12em}.vjs-menu-button-inline .vjs-menu{opacity:0;height:100%;width:auto;position:absolute;left:4em;top:0;padding:0;margin:0;transition:all .4s}.vjs-menu-button-inline:hover .vjs-menu,.vjs-menu-button-inline:focus .vjs-menu,.vjs-menu-button-inline.vjs-slider-active .vjs-menu{display:block;opacity:1}.vjs-menu-button-inline .vjs-menu-content{width:auto;height:100%;margin:0;overflow:hidden}.video-js .vjs-control-bar{display:none;width:100%;position:absolute;bottom:0;left:0;right:0;height:3em;background-color:#2b333f;background-color:#2b333fb3}.video-js.vjs-spatial-navigation-enabled .vjs-control-bar{gap:1px}
273.video-js:not(.vjs-controls-disabled,.vjs-using-native-controls,.vjs-error) .vjs-control-bar.vjs-lock-showing{display:flex!important}.vjs-has-started .vjs-control-bar,.vjs-audio-only-mode .vjs-control-bar{display:flex;visibility:visible;opacity:1;transition:visibility .1s,opacity .1s}.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{visibility:visible;opacity:0;pointer-events:none;transition:visibility 1s,opacity 1s}.vjs-controls-disabled .vjs-control-bar,.vjs-using-native-controls .vjs-control-bar,.vjs-error .vjs-control-bar{display:none!important}.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar,.vjs-audio-only-mode.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{opacity:1;visibility:visible;pointer-events:auto}.video-js .vjs-control{position:relative;text-align:center;margin:0;padding:0;height:100%;width:4em;flex:none}.video-js .vjs-control.vjs-visible-text{width:auto;padding-left:1em;padding-right:1em}.vjs-button>.vjs-icon-placeholder:before{font-size:1.8em;line-height:1.67}.vjs-button>.vjs-icon-placeholder{display:block}.vjs-button>.vjs-svg-icon{display:inline-block}.video-js .vjs-control:focus:before,.video-js .vjs-control:hover:before,.video-js .vjs-control:focus{text-shadow:0em 0em 1em white}.video-js *:not(.vjs-visible-text)>.vjs-control-text{border:0;clip:rect(0 0 0 0);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.video-js .vjs-custom-control-spacer{display:none}.video-js .vjs-progress-control{cursor:pointer;flex:auto;display:flex;align-items:center;min-width:4em;touch-action:none}.video-js .vjs-progress-control.disabled{cursor:default}.vjs-live .vjs-progress-control{display:none}.vjs-liveui .vjs-progress-control{display:flex;align-items:center}.video-js .vjs-progress-holder{flex:auto;transition:all .2s;height:.3em}.video-js .vjs-progress-control .vjs-progress-holder{margin:0 10px}.video-js .vjs-progress-control:hover .vjs-progress-holder,.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-progress-holder{font-size:1.6666666667em}.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled{font-size:1em}.video-js .vjs-progress-holder .vjs-play-progress,.video-js .vjs-progress-holder .vjs-load-progress,.video-js .vjs-progress-holder .vjs-load-progress div{position:absolute;display:block;height:100%;margin:0;padding:0;width:0}.video-js .vjs-play-progress{background-color:#fff}.video-js .vjs-play-progress:before{font-size:.9em;position:absolute;right:-.5em;line-height:.35em;z-index:1}.vjs-svg-icons-enabled .vjs-play-progress:before{content:none!important}.vjs-play-progress .vjs-svg-icon{position:absolute;top:-.35em;right:-.4em;width:.9em;height:.9em;pointer-events:none;line-height:.15em;z-index:1}.video-js .vjs-load-progress{background:#73859f80}.video-js .vjs-load-progress div{background:#73859fbf}.video-js .vjs-time-tooltip{background-color:#fff;background-color:#fffc;border-radius:.3em;color:#000;float:right;font-family:Arial,Helvetica,sans-serif;font-size:1em;padding:6px 8px 8px;pointer-events:none;position:absolute;top:-3.4em;visibility:hidden;z-index:1}.video-js .vjs-progress-holder:focus .vjs-time-tooltip{display:none}.video-js .vjs-progress-control:hover .vjs-time-tooltip,.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip,.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-time-tooltip{display:block;font-size:.6em;visibility:visible}.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip{font-size:1em}.video-js .vjs-progress-control .vjs-mouse-display{display:none;position:absolute;width:1px;height:100%;background-color:#000;z-index:1}.video-js .vjs-progress-control:hover .vjs-mouse-display,.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-mouse-display{display:block}.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display,.video-js.vjs-touch-enabled:not(.vjs-scrubbing) .vjs-progress-control .vjs-mouse-display{visibility:hidden;opacity:0;transition:visibility 1s,opacity 1s}.vjs-mouse-display .vjs-time-tooltip{color:#fff;background-color:#000;background-color:#000c}.video-js .vjs-slider{position:relative;cursor:pointer;padding:0;margin:0 .45em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:#73859f;background-color:#73859f80}.video-js .vjs-slider.disabled{cursor:default}.video-js .vjs-slider:focus{text-shadow:0em 0em 1em white;box-shadow:0 0 1em #fff}.video-js.vjs-spatial-navigation-enabled .vjs-slider:focus{outline:.0625em solid white}.video-js .vjs-mute-control{cursor:pointer;flex:none}.video-js .vjs-volume-control{cursor:pointer;margin-right:1em;display:flex}.video-js .vjs-volume-control.vjs-volume-horizontal{width:5em}.video-js .vjs-volume-panel .vjs-volume-control{visibility:visible;opacity:0;width:1px;height:1px;margin-left:-1px}.video-js .vjs-volume-panel{transition:width 1s}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control,.video-js .vjs-volume-panel:active .vjs-volume-control,.video-js .vjs-volume-panel:focus .vjs-volume-control,.video-js .vjs-volume-panel .vjs-volume-control:active,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active{visibility:visible;opacity:1;position:relative;transition:visibility .1s,opacity .1s,height .1s,width .1s,left 0s,top 0s}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal{width:5em;height:3em;margin-right:0}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical{left
273:-3.5em;transition:left 0s}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active{width:10em;transition:width .1s}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only{width:4em}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical{height:8em;width:3em;left:-3000em;transition:visibility 1s,opacity 1s,height 1s 1s,width 1s 1s,left 1s 1s,top 1s 1s}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal{transition:visibility 1s,opacity 1s,height 1s 1s,width 1s,left 1s 1s,top 1s 1s}.video-js .vjs-volume-panel{display:flex}.video-js .vjs-volume-bar{margin:1.35em .45em}.vjs-volume-bar.vjs-slider-horizontal{width:5em;height:.3em}.vjs-volume-bar.vjs-slider-vertical{width:.3em;height:5em;margin:1.35em auto}.video-js .vjs-volume-level{position:absolute;bottom:0;left:0;background-color:#fff}.video-js .vjs-volume-level:before{position:absolute;font-size:.9em;z-index:1}.vjs-slider-vertical .vjs-volume-level{width:.3em}.vjs-slider-vertical .vjs-volume-level:before{top:-.5em;left:-.3em;z-index:1}.vjs-svg-icons-enabled .vjs-volume-level:before{content:none}.vjs-volume-level .vjs-svg-icon{position:absolute;width:.9em;height:.9em;pointer-events:none;z-index:1}.vjs-slider-horizontal .vjs-volume-level{height:.3em}.vjs-slider-horizontal .vjs-volume-level:before{line-height:.35em;right:-.5em}.vjs-slider-horizontal .vjs-volume-level .vjs-svg-icon{right:-.3em;transform:translateY(-50%)}.vjs-slider-vertical .vjs-volume-level .vjs-svg-icon{top:-.55em;transform:translate(-50%)}.video-js .vjs-volume-panel.vjs-volume-panel-vertical{width:4em}.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level{height:100%}.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level{width:100%}.video-js .vjs-volume-vertical{width:3em;height:8em;bottom:8em;background-color:#2b333f;background-color:#2b333fb3}.video-js .vjs-volume-horizontal .vjs-menu{left:-2em}.video-js .vjs-volume-tooltip{background-color:#fff;background-color:#fffc;border-radius:.3em;color:#000;float:right;font-family:Arial,Helvetica,sans-serif;font-size:1em;padding:6px 8px 8px;pointer-events:none;position:absolute;top:-3.4em;visibility:hidden;z-index:1}.video-js .vjs-volume-control:hover .vjs-volume-tooltip,.video-js .vjs-volume-control:hover .vjs-progress-holder:focus .vjs-volume-tooltip{display:block;font-size:1em;visibility:visible}.video-js .vjs-volume-vertical:hover .vjs-volume-tooltip,.video-js .vjs-volume-vertical:hover .vjs-progress-holder:focus .vjs-volume-tooltip{left:1em;top:-12px}.video-js .vjs-volume-control.disabled:hover .vjs-volume-tooltip{font-size:1em}.video-js .vjs-volume-control .vjs-mouse-display{display:none;position:absolute;width:100%;height:1px;background-color:#000;z-index:1}.video-js .vjs-volume-horizontal .vjs-mouse-display{width:1px;height:100%}.video-js .vjs-volume-control:hover .vjs-mouse-display{display:block}.video-js.vjs-user-inactive .vjs-volume-control .vjs-mouse-display{visibility:hidden;opacity:0;transition:visibility 1s,opacity 1s}.vjs-mouse-display .vjs-volume-tooltip{color:#fff;background-color:#000;background-color:#000c}.vjs-poster{display:inline-block;vertical-align:middle;cursor:pointer;margin:0;padding:0;position:absolute;top:0;right:0;bottom:0;left:0;height:100%}.vjs-has-started .vjs-poster,.vjs-using-native-controls .vjs-poster{display:none}.vjs-audio.vjs-has-started .vjs-poster,.vjs-has-started.vjs-audio-poster-mode .vjs-poster,.vjs-pip-container.vjs-has-started .vjs-poster{display:block}.vjs-poster img{width:100%;height:100%;object-fit:contain}.video-js .vjs-live-control{display:flex;align-items:flex-start;flex:auto;font-size:1em;line-height:3em}.video-js:not(.vjs-live) .vjs-live-control,.video-js.vjs-liveui .vjs-live-control{display:none}.video-js .vjs-seek-to-live-control{align-items:center;cursor:pointer;flex:none;display:inline-flex;height:100%;padding-left:.5em;padding-right:.5em;font-size:1em;line-height:3em;width:auto;min-width:4em}.video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control,.video-js:not(.vjs-live) .vjs-seek-to-live-control{display:none}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge{cursor:auto}.vjs-seek-to-live-control .vjs-icon-placeholder{margin-right:.5em;color:#888}.vjs-svg-icons-enabled .vjs-seek-to-live-control{line-height:0}.vjs-seek-to-live-control .vjs-svg-icon{width:1em;height:1em;pointer-events:none;fill:#888}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder{color:red}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-svg-icon{fill:red}.video-js .vjs-time-control{flex:none;font-size:1em;line-height:3em;min-width:2em;width:auto;padding-left:1em;padding-right:1em}.vjs-live .vjs-time-control,.vjs-live .vjs-time-divider,.video-js .vjs-current-time,.video-js .vjs-duration{dis
273play:none}.vjs-time-divider{display:none;line-height:3em}.vjs-normalise-time-controls:not(.vjs-live) .vjs-time-control{display:flex}.video-js .vjs-play-control{cursor:pointer}.video-js .vjs-play-control .vjs-icon-placeholder{flex:none}.vjs-text-track-display{position:absolute;bottom:3em;left:0;right:0;top:0;pointer-events:none}.vjs-error .vjs-text-track-display{display:none}.video-js.vjs-controls-disabled .vjs-text-track-display,.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display{bottom:1em}.video-js .vjs-text-track{font-size:1.4em;text-align:center;margin-bottom:.1em}.vjs-subtitles{color:#fff}.vjs-captions{color:#fc6}.vjs-tt-cue{display:block}video::-webkit-media-text-track-display{transform:translateY(-3em)}.video-js.vjs-controls-disabled video::-webkit-media-text-track-display,.video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display{transform:translateY(-1.5em)}.video-js.vjs-force-center-align-cues .vjs-text-track-cue{text-align:center!important;width:80%!important}@supports not (inset: 10px){.video-js .vjs-text-track-display>div{top:0;right:0;bottom:0;left:0}}.video-js .vjs-picture-in-picture-control{cursor:pointer;flex:none}.video-js.vjs-audio-only-mode .vjs-picture-in-picture-control,.vjs-pip-window .vjs-picture-in-picture-control{display:none}.video-js .vjs-fullscreen-control{cursor:pointer;flex:none}.video-js.vjs-audio-only-mode .vjs-fullscreen-control,.vjs-pip-window .vjs-fullscreen-control{display:none}.vjs-playback-rate>.vjs-menu-button,.vjs-playback-rate .vjs-playback-rate-value{position:absolute;top:0;left:0;width:100%;height:100%}.vjs-playback-rate .vjs-playback-rate-value{pointer-events:none;font-size:1.5em;line-height:2;text-align:center}.vjs-playback-rate .vjs-menu{width:4em;left:0}.vjs-error .vjs-error-display .vjs-modal-dialog-content{font-size:1.4em;text-align:center}.vjs-loading-spinner{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.85;text-align:left;border:.6em solid rgba(43,51,63,.7);box-sizing:border-box;background-clip:padding-box;width:5em;height:5em;border-radius:50%;visibility:hidden}.vjs-seeking .vjs-loading-spinner,.vjs-waiting .vjs-loading-spinner{display:flex;justify-content:center;align-items:center;animation:vjs-spinner-show 0s linear .3s forwards}.vjs-error .vjs-loading-spinner{display:none}.vjs-loading-spinner:before,.vjs-loading-spinner:after{content:"";position:absolute;box-sizing:inherit;width:inherit;height:inherit;border-radius:inherit;opacity:1;border:inherit;border-color:transparent;border-top-color:#fff}.vjs-seeking .vjs-loading-spinner:before,.vjs-seeking .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:after{animation:vjs-spinner-spin 1.1s cubic-bezier(.6,.2,0,.8) infinite,vjs-spinner-fade 1.1s linear infinite}.vjs-seeking .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:before{border-top-color:#fff}.vjs-seeking .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:after{border-top-color:#fff;animation-delay:.44s}@keyframes vjs-spinner-show{to{visibility:visible}}@keyframes vjs-spinner-spin{to{transform:rotate(360deg)}}@keyframes vjs-spinner-fade{0%{border-top-color:#73859f}20%{border-top-color:#73859f}35%{border-top-color:#fff}60%{border-top-color:#73859f}to{border-top-color:#73859f}}.video-js.vjs-audio-only-mode .vjs-captions-button{display:none}.vjs-chapters-button .vjs-menu ul{width:24em}.video-js.vjs-audio-only-mode .vjs-descriptions-button{display:none}.vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-svg-icon{width:1.5em;height:1.5em}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder{vertical-align:middle;display:inline-block;margin-bottom:-.1em}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{font-family:VideoJS;content:"\\f10c";font-size:1.5em;line-height:inherit}.video-js.vjs-audio-only-mode .vjs-subs-caps-button{display:none}.video-js .vjs-audio-button+.vjs-menu .vjs-descriptions-menu-item .vjs-menu-item-text .vjs-icon-placeholder,.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder{vertical-align:middle;display:inline-block;margin-bottom:-.1em}.video-js .vjs-audio-button+.vjs-menu .vjs-descriptions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before,.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{font-family:VideoJS;content:" \\f12e";font-size:1.5em;line-height:inherit}.video-js.vjs-layout-small .vjs-current-time,.video-js.vjs-layout-small .vjs-time-divider,.video-js.vjs-layout-small .vjs-duration,.video-js.vjs-layout-small .vjs-remaining-time,.video-js.vjs-layout-small .vjs-playback-rate,.video-js.vjs-layout-small .vjs-volume-control,.video-js.vjs-layout-x-small .vjs-current-time,.video-js.vjs-layout-x-small .vjs-time-divider,.video-js.vjs-layout-x-small .vjs-duration,.video-js.vjs-layout-x-small .vjs-remaining-time,.video-js.vjs-layout-x-small .vjs-playback-rate,.video-js.vjs-layout-x-small .vjs-volume-control,.video-js.vjs-layout-tiny .vjs-current-time,.video-js.vjs-layout-tiny .vjs-time-divider,.video-js.vjs-layout-tiny .vjs-duration,.video-js.vjs-layout-tiny .vjs-remaining-time,.video-js.vjs-layout-tiny .vjs-playback-rate,.video-js.vjs-layout-tiny .vjs-volume-control{display:none}.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover{width:auto;width:initial}.video-js.vjs-layout-x-small .vjs-progress-control,.video-js.vjs-layout-tiny .vjs-progress-control{display:none}.video-js.vjs-layout-x-small .vjs-custom-control-spacer{flex:auto;display:block}.vjs-modal-dialog.vjs-text-track-settings{background-color:#2b333f;background-color:#2b333fbf;color:#fff;height:70%}.vjs-spatial-navigation-enabled .vjs-modal-dialog.vjs-text-track-settings{height:80%}.vjs-error .vjs-text-track-settings{display:none}.vjs-text-track-settings .vjs-modal-dialog-content{display:table}.vjs-text-track-settings .vjs-track-settings-colors,.vjs-text-track-settings .vjs-track-settings-font,.vjs-text-track-settings .vjs-track-settings-controls{display:table-cell}.vjs-text-track-settings .vjs-track-settings-controls{text-align:right;vertical-align:bottom}@supports (display: grid){.vjs-text-track-settings .vjs-modal-dialog-content{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;padding:20px 24px 0}.vjs-track-settings-controls .vjs-default-button{margin-bottom:20px}.vjs-text-track-settings .vjs-track-settings-controls{grid-column:1/-1}.vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content{grid-template-columns:1fr}}.vjs-text-track-settings select{font-size:inherit}.vjs-track-setting>select{margin-right:1em;margin-bottom:.5em}.vjs-text-track-settings fieldset{margin:10px;border:none}
273.vjs-text-track-settings fieldset span{display:inline-block;padding:0 .6em .8em}.vjs-text-track-settings fieldset span>select{max-width:7.3em}.vjs-text-track-settings legend{color:#fff;font-weight:700;font-size:1.2em}.vjs-text-track-settings .vjs-label{margin:0 .5em .5em 0}.vjs-track-settings-controls button:focus,.vjs-track-settings-controls button:active{outline-style:solid;outline-width:medium;background-image:linear-gradient(0deg,#fff 88%,#73859f)}.vjs-track-settings-controls button:hover{color:#2b333fbf}.vjs-track-settings-controls button{background-color:#fff;background-image:linear-gradient(-180deg,#fff 88%,#73859f);color:#2b333f;cursor:pointer;border-radius:2px}.vjs-track-settings-controls .vjs-default-button{margin-right:1em}.vjs-title-bar{background:#000000e6;background:linear-gradient(180deg,#000000e6,#000000b3 60%,#0000);font-size:1.2em;line-height:1.5;transition:opacity .1s;padding:.666em 1.333em 4em;pointer-events:none;position:absolute;top:0;width:100%}.vjs-error .vjs-title-bar{display:none}.vjs-title-bar-title,.vjs-title-bar-description{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vjs-title-bar-title{font-weight:700;margin-bottom:.333em}.vjs-playing.vjs-user-inactive .vjs-title-bar{opacity:0;transition:opacity 1s}.video-js .vjs-skip-forward-5,.video-js .vjs-skip-forward-10,.video-js .vjs-skip-forward-30,.video-js .vjs-skip-backward-5,.video-js .vjs-skip-backward-10,.video-js .vjs-skip-backward-30{cursor:pointer}.video-js .vjs-transient-button{position:absolute;height:3em;display:flex;align-items:center;justify-content:center;background-color:#32323280;cursor:pointer;opacity:1;transition:opacity 1s}.video-js:not(.vjs-has-started) .vjs-transient-button{display:none}.video-js.not-hover .vjs-transient-button:not(.force-display),.video-js.vjs-user-inactive .vjs-transient-button:not(.force-display){opacity:0}.video-js .vjs-transient-button span{padding:0 .5em}.video-js .vjs-transient-button.vjs-left{left:1em}.video-js .vjs-transient-button.vjs-right{right:1em}.video-js .vjs-transient-button.vjs-top{top:1em}.video-js .vjs-transient-button.vjs-near-top{top:4em}.video-js .vjs-transient-button.vjs-bottom{bottom:4em}.video-js .vjs-transient-button:hover{background-color:#323232e6}@media print{.video-js>*:not(.vjs-tech):not(.vjs-poster){visibility:hidden}}.vjs-resize-manager{position:absolute;top:0;left:0;width:100%;height:100%;border:none;z-index:-1000}.js-focus-visible .video-js *:focus:not(.focus-visible){outline:none}.video-js *:focus:not(:focus-visible){outline:none}body{--pt-player-overlay-bg: rgba(0, 0, 0, .6);--pt-player-overlay-bg-hover: rgba(255, 255, 255, .15);--pt-player-big-play-background-color: rgba(0, 0, 0, .8)}@supports (-moz-orient: block){body{--pt-player-overlay-bg: #000}}.video-js.vjs-peertube-skin{font-size:13px;color:var(--pt-player-fg)}.video-js.vjs-peertube-skin.disabled{cursor:default;pointer-events:none}.video-js.vjs-peertube-skin.disabled .vjs-big-play-button{display:none!important}.video-js.vjs-peertube-skin .vjs-audio-button{display:none}.video-js.vjs-peertube-skin .vjs-big-play-button{--big-play-button-size: 90px;--big-play-button-icon-size: 45px;font-size:unset;outline:0;border:0;width:calc(var(--big-play-button-size));height:calc(var(--big-play-button-size));margin-top:calc(var(--big-play-button-size) / 2 * -1);line-height:1;background-color:var(--pt-player-big-play-bg);border-radius:100%;transition:.2s background-color;margin-inline-start:calc(var(--big-play-button-size) / 2 * -1)}.video-js.vjs-peertube-skin .vjs-big-play-button::-moz-focus-inner{border:0;padding:0}.video-js.vjs-peertube-skin .vjs-big-play-button:focus-visible,.video-js.vjs-peertube-skin .vjs-big-play-button:hover{background-color:var(--primary)}.video-js.vjs-peertube-skin .vjs-big-play-button .vjs-icon-placeholder{position:relative;left:2px}.video-js.vjs-peertube-skin .vjs-big-play-button .vjs-icon-placeholder{display:inline-block;width:var(--big-play-button-icon-size);height:var(--big-play-button-icon-size);vertical-align:middle;mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%20viewBox='0%200%20460.114%20460.114'%3e%3cpath%20fill='%23fff'%20d='M393.538%20203.629%20102.5
27357%205.543a31.97%2031.97%200%200%200-32.94-1.832%2031.97%2031.97%200%200%200-17.022%2028.26v396.173a31.97%2031.97%200%200%200%2049.962%2026.428l290.981-198.087a31.97%2031.97%200%200%200%200-52.856'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%20viewBox='0%200%20460.114%20460.114'%3e%3cpath%20fill='%23fff'%20d='M393.538%20203.629%20102.557%205.543a31.97%2031.97%200%200%200-32.94-1.832%2031.97%2031.97%200%200%200-17.022%2028.26v396.173a31.97%2031.97%200%200%200%2049.962%2026.428l290.981-198.087a31.97%2031.97%200%200%200%200-52.856'/%3e%3c/svg%3e");mask-size:cover;-webkit-mask-size:cover;background-color:currentColor}.video-js.vjs-peertube-skin .vjs-big-play-button .vjs-icon-placeholder:before{content:""}.video-js.vjs-peertube-skin.vjs-playing-audio-only-content .vjs-poster{display:block;visibility:visible}.video-js.vjs-peertube-skin.vjs-playing-audio-only-content .vjs-control-bar{opacity:1}.video-js.vjs-peertube-skin.vjs-has-autoplay:not(.vjs-has-started) .vjs-poster,.video-js.vjs-peertube-skin.vjs-updating-resolution .vjs-poster{display:none!important}.video-js.vjs-peertube-skin.vjs-has-autoplay .vjs-big-play-button,.video-js.vjs-peertube-skin.vjs-updating-resolution .vjs-big-play-button{display:none!important}.video-js.vjs-peertube-skin .vjs-poster{outline:0;background-size:cover;overflow:hidden}.video-js.vjs-peertube-skin .vjs-poster img{object-fit:contain;width:calc(100% + 2px);height:calc(100% + 2px)}.video-js.vjs-peertube-skin.vjs-audio-poster-mode .vjs-poster{cursor:default}.video-js.vjs-peertube-skin.vjs-theater-enabled .vjs-theater-control{width:30px}.video-js.vjs-peertube-skin.vjs-theater-enabled .vjs-theater-control .vjs-icon-placeholder{transform:scale(.8)}.video-js.vjs-peertube-skin.vjs-fullscreen .vjs-theater-control,.vjs-error-display{display:none}.vjs-custom-error-display{font-family:Source Sans Pro,sans-serif}.vjs-custom-error-display .error-details{margin-top:.5rem}.vjs-modal-dialog-content{padding-top:0!important;display:flex;align-items:center}.vjs-error:not(.vjs-error-display-enabled) .vjs-custom-error-display{display:none}.vjs-error:not(.vjs-error-display-enabled) .vjs-loading-spinner{display:block}.vjs-error.vjs-error-display-enabled .vjs-custom-error-display{display:block}.video-js.vjs-peertube-theme-galaxy .vjs-big-play-button{border:2px solid #fff}.video-js.vjs-peertube-theme-galaxy.vjs-size-570 .vjs-big-play-button{--big-play-button-size: 78px;--big-play-button-icon-size: 32px;border-width:3px}.video-js.vjs-peertube-theme-galaxy.vjs-size-350 .vjs-big-play-button{--big-play-button-size: 46px;--big-play-button-icon-size: 20px;border-width:2px}.video-js.vjs-peertube-theme-galaxy.vjs-size-350 .vjs-big-play-button .vjs-icon-placeholder{left:1px}.video-js.vjs-peertube-theme-lucide{font-family:Roboto,helvetica neue,segoe ui,arial,sans-serif}.video-js.vjs-peertube-theme-lucide .vjs-big-play-button{--big-play-button-icon-size: 50px;color:#ffffffe6}.video-js.vjs-peertube-theme-lucide.vjs-size-570 .vjs-big-play-button{--big-play-button-size: 78px;--big-play-button-icon-size: 32px}.video-js.vjs-peertube-theme-lucide.vjs-size-350 .vjs-big-play-button{--big-play-button-size: 46px;--big-play-button-icon-size: 20px}.video-js.vjs-peertube-skin .peertube-dock{--dock-avatar-size: 48px;transition:opacity .1s;display:flex;align-items:center;pointer-events:none;position:absolute;top:0;left:0;width:100%;padding:20px;background:linear-gradient(to bottom,#141414b3 0,#14141400);padding-inline-end:calc(1.5rem + 3vw)}@media(min-width:1200px){.video-js.vjs-peertube-skin .peertube-dock{padding-inline-end:3.75rem}}.video-js.vjs-peertube-skin .peertube-dock-avatar{border-radius:50%;margin-right:10px;min-width:var(--dock-avatar-size);min-height:var(--dock-avatar-size);max-height:var(--dock-avatar-size)}.video-js.vjs-peertube-skin .peertube-dock-title-description{min-width:0}.video-js.vjs-peertube-skin .peertube-dock-title{font-weight:600;letter-spacing:1px;line-height:normal;min-width:0;margin:0;font-size:23px}.video-js.vjs-peertube-skin .peertube-dock-title,.video-js.vjs-peertube-skin .peertube-dock-description{text-shadow:0 1px 3px rgba(0,0,0,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-js.vjs-peertube-skin .peertube-dock-title+.peertube-dock-description{margin-top:3px}.video-js.vjs-peertube-skin .peertube-dock-description{font-size:11px;line-height:1.5}.video-js.vjs-peertube-skin.vjs-playing.vjs-user-inactive .peertube-dock{opacity:0;transition:opacity 1s}.video-js.vjs-peertube-skin.vjs-size-750 .peertube-dock-avatar{--dock-avatar-size: 40px}.video-js.vjs-peertube-skin.vjs-size-750 .peertube-dock-title{font-size:16px}.video-js.vjs-peertube-skin.vjs-size-750 .peertube-dock-description{font-size:9px}.video-js.vjs-peertube-skin.vjs-size-570 .peertube-dock-avatar{--dock-avatar-size: 35px}.video-js.vjs-peertube-skin.vjs-size-570 .peertube-dock-title{font-size:14px}.video-js.vjs-peertube-skin.vjs-size-350 .peertube-dock-avatar{--dock-avatar-size: 30px}.video-js.vjs-peertube-skin.vjs-size-350 .peertube-dock-title{font-size:13px}.vjs-peertube-skin.has-chapter .vjs-time-tooltip{white-space:pre;line-height:1.5;padding-top:4px;padding-bottom:4px;top:-4.9em}.vjs-chapter-marker{position:absolute;top:-3px;height:9px;width:9px;border-radius:9px;margin-left:-4.5px;background-color:#fff;cursor:pointer;transition:transform 50ms ease-in-out,border-color 50ms ease-in-out;border:2px solid transparent;z-index:101}.vjs-chapter-marker:hover{transform:scale(1.5);border-color:var(--primary)}.video-js.vjs-peertube-skin .vjs-control-bar{--first-last-element-margin: 10px;--icon-size: 26px;--control-bar-height: 38px;--control-bar-font-size: 14px;--button-width: 34px;--button-implicit-padding-x: calc((var(--button-width) - var(--icon-size)) / 2);--peertube-link-max-width: 150px;z-index:100;height:var(--control-bar-height);text-shadow:0 0 2px rgba(0,0,0,.5);transition:visibility .3s,opacity .3s!important}.video-js.vjs-peertube-skin .vjs-control-bar>
273button:not(.vjs-hidden):first-child,.video-js.vjs-peertube-skin .vjs-control-bar>button.vjs-hidden:first-child+button:not(.vjs-hidden){margin-inline-start:var(--first-last-element-margin)}.video-js.vjs-peertube-skin .vjs-control-bar>button:not(.vjs-hidden):first-child.vjs-play-control,.video-js.vjs-peertube-skin .vjs-control-bar>button.vjs-hidden:first-child+button:not(.vjs-hidden).vjs-play-control{margin-inline-start:calc(var(--first-last-element-margin) - 4px)}.video-js.vjs-peertube-skin .vjs-control-bar>button:last-child{margin-inline-end:var(--first-last-element-margin)}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-progress-control,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-next-video,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-previous-video,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-play-control,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-playback-rate,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-mute-control,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-resolution-control,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-fullscreen-control,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube-link,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-theater-control,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-caption-toggle-control,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-settings{color:var(--pt-player-fg);transition:opacity .1s}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-progress-control:not(.vjs-disabled),.video-js.vjs-peertube-skin .vjs-control-bar .vjs-next-video:not(.vjs-disabled),.video-js.vjs-peertube-skin .vjs-control-bar .vjs-previous-video:not(.vjs-disabled),.video-js.vjs-peertube-skin .vjs-control-bar .vjs-play-control:not(.vjs-disabled),.video-js.vjs-peertube-skin .vjs-control-bar .vjs-playback-rate:not(.vjs-disabled),.video-js.vjs-peertube-skin .vjs-control-bar .vjs-mute-control:not(.vjs-disabled),.video-js.vjs-peertube-skin .vjs-control-bar .vjs-resolution-control:not(.vjs-disabled),.video-js.vjs-peertube-skin .vjs-control-bar .vjs-fullscreen-control:not(.vjs-disabled),.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube-link:not(.vjs-disabled),.video-js.vjs-peertube-skin .vjs-control-bar .vjs-theater-control:not(.vjs-disabled),.video-js.vjs-peertube-skin .vjs-control-bar .vjs-caption-toggle-control:not(.vjs-disabled),.video-js.vjs-peertube-skin .vjs-control-bar .vjs-settings:not(.vjs-disabled){opacity:.9}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-progress-control:not(.vjs-disabled):hover,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-next-video:not(.vjs-disabled):hover,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-previous-video:not(.vjs-disabled):hover,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-play-control:not(.vjs-disabled):hover,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-playback-rate:not(.vjs-disabled):hover,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-mute-control:not(.vjs-disabled):hover,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-resolution-control:not(.vjs-disabled):hover,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-fullscreen-control:not(.vjs-disabled):hover,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube-link:not(.vjs-disabled):hover,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-theater-control:not(.vjs-disabled):hover,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-caption-toggle-control:not(.vjs-disabled):hover,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-settings:not(.vjs-disabled):hover{opacity:1}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-next-video .vjs-icon-placeholder,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-previous-video .vjs-icon-placeholder{display:inline-block;width:15px;height:15px;vertical-align:middle;mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='currentColor'%20d='m0%2024%2017-12L0%200ZM20%200v24h4V0Z'%20style='stroke-width:1.99998'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='currentColor'%20d='m0%2024%2017-12L0%200ZM20%200v24h4
273V0Z'%20style='stroke-width:1.99998'/%3e%3c/svg%3e");mask-size:cover;-webkit-mask-size:cover;background-color:currentColor}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-next-video .vjs-icon-placeholder:before,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-previous-video .vjs-icon-placeholder:before{content:""}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-previous-video .vjs-icon-placeholder{transform:rotate(180deg)}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-panel,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-mute-control{width:var(--button-width)}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-panel{transition:none}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-vertical,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-vertical,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical{left:calc(var(--button-width) * -1)}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-bar.vjs-slider-vertical{margin:1em auto}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-bar.vjs-slider-vertical .vjs-volume-level:before{left:-.35em}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-vertical{z-index:120;background-color:var(--pt-player-overlay-bg);border-radius:10px;bottom:6.75em;height:7em;width:var(--button-width);font-size:var(--control-bar-font-size)}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-current-time,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-duration,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube{color:var(--pt-player-fg);opacity:.9}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-time-control{line-height:var(--control-bar-height)}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-time-control.vjs-current-time{font-size:var(--control-bar-font-size);display:inline-block;padding:0;margin-inline-start:var(--button-implicit-padding-x)}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-time-control.vjs-current-time .vjs-current-time-display:after{content:"/";margin-inline-start:.125rem;margin-inline-end:.0625rem;margin-top:0;margin-bottom:0}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-time-control.vjs-duration{font-size:var(--control-bar-font-size);display:inline-block;padding:0;margin-inline-end:var(--button-implicit-padding-x)}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-time-control.vjs-duration .vjs-duration-display{line-height:calc(var(--control-bar-height) - 1px)}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-time-control.vjs-remaining-time{display:none}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-pt-live-control{width:auto;opacity:.9;font-size:var(--control-bar-font-size);margin-inline-end:auto}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-pt-live-control:not(.synced-with-live-edge){cursor:pointer}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-pt-live-control:not(.synced-with-live-edge):hover{opacity:1}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-pt-live-control .vjs-live-display{white-space:nowrap}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-settings{cursor:pointer;width:var(--button-width)}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-settings:focus:not(:focus-visible){outline:none!important}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-settings .vjs-icon-placeholder{display:inline-block;width:calc(var(--icon-size) - 4px);height:calc(var(--icon-size) - 4px);vertical-align:middle;mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%3e%3cpath%20fill='none'%20stroke='%23fff'%20stroke-linejoin='round'%20stroke-width='2'%20d='M7.209%204.38A9%209%200%200%201%2010%203.223V2a1%201%200%200%201%201.01-1h1.98c.558%200%201.01.444%201.01%201v1.223a9%209%200%200%201%202.791%201.157l.866-.865a1%201%200%200%201%201.42.006l1.402%201.401c.394.394.4%201.028.006%201.421l-.865.866A9%209%200%200%201%2020.777%2010H22a1%201%200%200%201%201%201.01v1.98c0%20.558-.444%201.01-1%201.01h-1.223a9%209%200%200%201-1.157%202.791l.865.866a1%201%200%200%201-.006%201.42l-1.401%201.402c-.394.394-1.
273028.4-1.421.006l-.866-.865A9%209%200%200%201%2014%2020.777V22a1%201%200%200%201-1.01%201h-1.98c-.558%200-1.01-.444-1.01-1v-1.223a9%209%200%200%201-2.791-1.157l-.866.865a1%201%200%200%201-1.42-.006L3.52%2019.078a1%201%200%200%201-.006-1.421l.865-.866A9%209%200%200%201%203.223%2014H2a1%201%200%200%201-1-1.01v-1.98c0-.558.444-1.01%201-1.01h1.223A9%209%200%200%201%204.38%207.209l-.865-.866a1%201%200%200%201%20.006-1.42L4.922%203.52a1%201%200%200%201%201.421-.006zM12%2016a4%204%200%201%200%200-8%204%204%200%200%200%200%208Z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%3e%3cpath%20fill='none'%20stroke='%23fff'%20stroke-linejoin='round'%20stroke-width='2'%20d='M7.209%204.38A9%209%200%200%201%2010%203.223V2a1%201%200%200%201%201.01-1h1.98c.558%200%201.01.444%201.01%201v1.223a9%209%200%200%201%202.791%201.157l.866-.865a1%201%200%200%201%201.42.006l1.402%201.401c.394.394.4%201.028.006%201.421l-.865.866A9%209%200%200%201%2020.777%2010H22a1%201%200%200%201%201%201.01v1.98c0%20.558-.444%201.01-1%201.01h-1.223a9%209%200%200%201-1.157%202.791l.865.866a1%201%200%200%201-.006%201.42l-1.401%201.402c-.394.394-1.028.4-1.421.006l-.866-.865A9%209%200%200%201%2014%2020.777V22a1%201%200%200%201-1.01%201h-1.98c-.558%200-1.01-.444-1.01-1v-1.223a9%209%200%200%201-2.791-1.157l-.866.865a1%201%200%200%201-1.42-.006L3.52%2019.078a1%201%200%200%201-.006-1.421l.865-.866A9%209%200%200%201%203.223%2014H2a1%201%200%200%201-1-1.01v-1.98c0-.558.444-1.01%201-1.01h1.223A9%209%200%200%201%204.38%207.209l-.865-.866a1%201%200%200%201%20.006-1.42L4.922%203.52a1%201%200%200%201%201.421-.006zM12%2016a4%204%200%201%200%200-8%204%204%200%200%200%200%208Z'/%3e%3c/svg%3e");mask-size:cover;-webkit-mask-size:cover;background-color:currentColor}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-settings .vjs-icon-placeholder:before{content:""}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-fullscreen-control{width:var(--button-width);margin-inline-start:2px}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-fullscreen-control:focus:not(:focus-visible){outline:none!important}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-fullscreen-control .vjs-icon-placeholder{display:inline-block;width:var(--icon-size);height:var(--icon-size);vertical-align:middle;mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%3e%3cg%20fill='none'%20fill-rule='evenodd'%20stroke='%23fff'%20stroke-width='2'%3e%3crect%20width='22'%20height='16'%20x='1'%20y='4'%20rx='1'/%3e%3cpath%20stroke-linecap='round'%20stroke-linejoin='round'%20d='M20%2010V7h-3M7%2017H4v-3m16%200v3h-3M7%207H4v3'/%3e%3c/g%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%3e%3cg%20fill='none'%20fill-rule='evenodd'%20stroke='%23fff'%20stroke-width='2'%3e%3crect%20width='22'%20height='16'%20x='1'%20y='4'%20rx='1'/%3e%3cpath%20stroke-linecap='round'%20stroke-linejoin='round'%20d='M20%2010V7h-3M7%2017H4v-3m16%200v3h-3M7%207H4v3'/%3e%3c/g%3e%3c/svg%3e");mask-size:cover;-webkit-mask-size:cover;background-color:currentColor}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-fullscreen-control .vjs-icon-placeholder:before{content:""}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube-link{text-decoration:none;line-height:var(--control-bar-height);padding:0 5px;max-width:var(--peertube-link-max-width);font-size:var(--control-bar-font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube-link:focus:not(:focus-visible){outline:none!important}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube-link,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube-link:hover,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube-link:focus,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube-link:active{text-decoration:none}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube-link:focus:not(:focus-visible){outline:none}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-caption-toggle-control{display:none}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-theater-control{width:var(--button-width);
273cursor:pointer}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-theater-control:focus:not(:focus-visible){outline:none!important}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-theater-control .vjs-icon-placeholder{display:inline-block;width:calc(var(--icon-size) - 4px);height:calc(var(--icon-size) - 4px);vertical-align:middle;mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%3e%3cpath%20fill='none'%20stroke='%23fff'%20stroke-width='2'%20d='M1%206h22v12H1z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%3e%3cpath%20fill='none'%20stroke='%23fff'%20stroke-width='2'%20d='M1%206h22v12H1z'/%3e%3c/svg%3e");mask-size:cover;-webkit-mask-size:cover;background-color:currentColor}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-theater-control .vjs-icon-placeholder:before{content:""}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-theater-control .vjs-icon-placeholder{transition:transform .2s ease}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-progress-control:hover .vjs-slider,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-progress-control .vjs-slider.vjs-sliding{height:5px}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-progress-control:hover .vjs-slider .vjs-play-progress:before,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-progress-control .vjs-slider.vjs-sliding .vjs-play-progress:before{opacity:1}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-progress-control:hover .vjs-slider .vjs-chapter-marker,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-progress-control .vjs-slider.vjs-sliding .vjs-chapter-marker{top:-2px}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-slider{background-color:#fff3;min-width:0}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-slider .vjs-play-progress{background:var(--pt-player-fg)}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-slider .vjs-play-progress:before{opacity:0;transition:opacity .1s ease;font-size:15px;z-index:3}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-slider .vjs-play-progress .vjs-time-tooltip{display:none}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-slider .vjs-load-progress,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-slider .vjs-load-progress div{background:#fff3}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-caption-toggle-control{width:var(--button-width)}.vjs-peertube-skin.vjs-has-captions .vjs-caption-toggle-control{display:block!important}.vjs-peertube-skin.vjs-fullscreen .vjs-control-bar{--peertube-link-max-width: 200px}.vjs-peertube-skin.vjs-live.vjs-live-dvr .vjs-control-bar .vjs-progress-control{display:flex}.video-js.vjs-peertube-theme-galaxy.vjs-has-started .vjs-play-control.vjs-playing{animation:remove-pause-button .25s ease}.video-js.vjs-peertube-theme-galaxy.vjs-has-started .vjs-play-control.vjs-paused{animation:add-play-button .25s ease}@keyframes remove-pause-button{0%{transform:rotate(90deg)}to{transform:rotate(0)}}@keyframes add-play-button{0%{transform:rotate(-90deg)}to{transform:rotate(0)}}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar{background:linear-gradient(#0003,#0009);box-shadow:0 -15px 40px 10px #0003}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-progress-control{position:absolute;top:-18px;z-index:100;width:calc(100% - 20px);height:20px;align-items:flex-end;margin-inline-start:.625rem}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-progress-control .vjs-slider{margin:0 0 3px;height:3px}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-play-control{cursor:pointer;width:var(--button-width)}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-play-control:focus:not(:focus-visible){outline:none!important}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-play-control .vjs-icon-placeholder:before{font-size:34px;line-height:var(--control-bar-height)}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-current-time{margin-inline-start:.5rem!important}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-pt-live-control{margin:auto 10px;padding:5px 7px;border-radius:3px;height:fit-content;font-weight:700;max-width:fit-content;line-height:normal;position:relative;width:auto;margin-inline-end:auto}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-pt-live-control.synced-with-live-edge{background:#d7281c}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-pt-live-control:not(.synced-with-live-edge){background:#80807f}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-peertube{line-height:var(--control-bar-height);text-align:end;overflow:hidden;font-size:var(--control-bar-font-size);margin-inline-start:auto;margin-inline-end:.375rem}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-peertube .vjs-peertube-displayed{display:block}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-peertube .vjs-peertube-hidden{display:none}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-peertube .download-speed-number,.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-peertube .upload-speed-number,.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-peertube .peers-number,.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-peertube .http-fallback{font-weight:600}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-peertube .download-speed-text,.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-peertube .upload-speed-text,.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-peertube .peers-text,.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-peertube .http-fallback{margin-inline-end:.9375rem}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-peertube .icon{display:inline-block;width:15px;height:15px;background-size:contain;vertical-align:middle;background-repeat:no-repeat;position:relative;top:-1px;margin-inline-end:.125rem}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-peertube .icon.icon-download{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%3e%3cg%20fill='none'%20fill-rule='evenodd'%20stroke='%23fff'%20stroke-linecap='round'%20stroke-width='2'%3e%3cpath%20d='M12%2
27303v17'/%3e%3cpath%20stroke-linejoin='round'%20d='m20%2013-8%208-8-8'/%3e%3c/g%3e%3c/svg%3e")}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-peertube .icon.icon-upload{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%3e%3cg%20fill='none'%20fill-rule='evenodd'%20stroke='%23fff'%20stroke-linecap='round'%20stroke-width='2'%3e%3cpath%20d='M12%204v17'/%3e%3cpath%20stroke-linejoin='round'%20d='m20%2011-8-8-8%208'/%3e%3c/g%3e%3c/svg%3e")}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-mute-control{padding:0}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-mute-control:focus:not(:focus-visible){outline:none!important}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-mute-control:not(.vjs-vol-0) .vjs-icon-placeholder{display:inline-block;width:var(--icon-size);height:var(--icon-size);vertical-align:middle;mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%3e%3cg%20fill='none'%20fill-rule='evenodd'%20stroke='%23fff'%20stroke-linecap='round'%20stroke-width='2'%3e%3cpath%20stroke-linejoin='round'%20d='M2%208.997C2%208.447%202.443%208%203.01%208H6l6-4v16l-6-4H3.01C2.451%2016%202%2015.547%202%2015.003z'/%3e%3cpath%20d='M16%208s2%201.5%202%204-2%204-2%204'/%3e%3cpath%20d='M16.073%2020C19.31%2018.97%2022%2015.577%2022%2012c0-3.564-2.71-6.959-5.927-8'/%3e%3c/g%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%3e%3cg%20fill='none'%20fill-rule='evenodd'%20stroke='%23fff'%20stroke-linecap='round'%20stroke-width='2'%3e%3cpath%20stroke-linejoin='round'%20d='M2%208.997C2%208.447%202.443%208%203.01%208H6l6-4v16l-6-4H3.01C2.451%2016%202%2015.547%202%2015.003z'/%3e%3cpath%20d='M16%208s2%201.5%202%204-2%204-2%204'/%3e%3cpath%20d='M16.073%2020C19.31%2018.97%2022%2015.577%2022%2012c0-3.564-2.71-6.959-5.927-8'/%3e%3c/g%3e%3c/svg%3e");mask-size:cover;-webkit-mask-size:cover;background-color:currentColor}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-mute-control:not(.vjs-vol-0) .vjs-icon-placeholder:before{content:""}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder{display:inline-block;width:var(--icon-size);height:var(--icon-size);vertical-align:middle;mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%3e%3cg%20fill='none'%20fill-rule='evenodd'%20stroke='%23fff'%20stroke-linecap='round'%20stroke-width='2'%3e%3cpath%20stroke-linejoin='round'%20d='M2%208.997C2%208.447%202.443%208%203.01%208H6l6-4v16l-6-4H3.01C2.451%2016%202%2015.547%202%2015.003z'/%3e%3cpath%20d='m16%2015%206-6m.025%206L16%209'/%3e%3c/g%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%3e%3cg%20fill='none'%20fill-rule='evenodd'%20stroke='%23fff'%20stroke-linecap='round'%20stroke-width='2'%3e%3cpath%20stroke-linejoin='round'%20d='M2%208.997C2%208.447%202.443%208%203.01%208H6l6-4v16l-6-4H3.01C2.451%2016%202%2015.547%202%2015.003z'/%3e%3cpath%20d='m16%2015%206-6m.025%206L16%209'/%3e%3c/g%3e%3c/svg%3e");mask-size:cover;-webkit-mask-size:cover;background-color:currentColor}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before{content:""}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-caption-toggle-control,.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-caption-toggle-control:hover{opacity:.5!important}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-caption-toggle-control.enabled,.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-caption-toggle-control.enabled:hover{opacity:.9!important}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-caption-toggle-control:focus{text-shadow:none}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-caption-toggle-control>.vjs-icon-placeholder:before{font-size:2.3em;line-height:38px}.video-js.vjs-peertube-theme-galaxy .vjs-control-bar .vjs-peertube-link{font-weight:600}.video-js.vjs-peertube-theme-lucide .vjs-control-bar{--first-last-element-margin: 1rem;--control-bar-height: 3.5rem;--icon-size: 1.375rem;--button-width: 2.25rem;font-family:Roboto,helvetica neue,segoe ui,arial,sans-serif;background:linear-gradient(to bottom,#0000,#000)}.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-play-control{width:var(--button-width)}.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-play-control:not(.vjs-paused) .vjs-icon-placeholder{display:inline-block;width:var(--icon-size);height:var(--icon-size);vertical-align:middle;mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.5'%20class='lucide%20lucide-pause-icon%20lucide-pause'%20viewBox='0%200%2024%2024'%3e%3crect%20width='5'%20height='18'%20x='14'%20y='3'%20rx='1'/%3e%3crect%20width='5'%20height='18'%20x='5'%20y='3'%20rx='1'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.5'%20class='lucide%20lucide-pause-icon%20lucide-pause'%20viewBox='0%200%2024%2024'%3e%3crect%20width='5'%20height='18'%20x='14'%20y='3'%20rx='1'/%3e%3crect%20width='5'%20height='18'%20x='5'%20y='3'%20rx='1'/%3e%3c/svg%3e");mask-size:cover;-webkit-mask-size:cover;background-color:currentColor}.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-play-control:not(.vjs-paused) .vjs-icon-placeholder:before{content:""}.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-play-control.vjs-paused:not(.vjs-ended) .vjs-icon-placeholder{display:inline-block;width:var(--icon-size);height:var(--icon-size);vertical-align:middle;mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.5'%20class='lucide%20lucide-play-icon%20lucide-play'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M5%205a2%202%200%200%201%203.008-1.728l11.997%206.998a2%202%200%200%201%20.003%203.458l-12%207A2%202%200%200%201%205%2019z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.5'%20class='lucide%20lucide-play-icon%20lucide-play'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M5%205a2%202%200%200%201%203.008-1.728l11.997%206.998a2%202%200%200%201%20.003%203.458l-12%207A2%202%200%200%201%205%2019z'/%3e%3c/svg%3e");mask-size:cover;-webkit-mask-size:cover;background-color:currentColor}.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-play-control.vjs-paused:not(.vjs-ended) .vjs-icon-placeholder:before{content:""}.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-play-control.vjs-paused.vjs-ended .vjs-icon-placeholder{display:inline-block;width:var(--icon-size);height:var(--icon-size);vertical-align:middle;mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='currentColor'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-rotate-ccw-icon%20lucide-rotate-ccw'%3e%3cpath%20d='M3%2012a9%209%200%201%200%209-9%209.75%209.75%200%200%200-6.74%202.74L3%208'/%3e%3cpath%20d='M3%203v5
273h5'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='currentColor'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='lucide%20lucide-rotate-ccw-icon%20lucide-rotate-ccw'%3e%3cpath%20d='M3%2012a9%209%200%201%200%209-9%209.75%209.75%200%200%200-6.74%202.74L3%208'/%3e%3cpath%20d='M3%203v5h5'/%3e%3c/svg%3e");mask-size:cover;-webkit-mask-size:cover;background-color:currentColor}.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-play-control.vjs-paused.vjs-ended .vjs-icon-placeholder:before{content:""}.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-peertube{display:none}.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-settings .vjs-icon-placeholder{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.5'%20class='lucide%20lucide-settings-icon%20lucide-settings'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M9.671%204.136a2.34%202.34%200%200%201%204.659%200%202.34%202.34%200%200%200%203.319%201.915%202.34%202.34%200%200%201%202.33%204.033%202.34%202.34%200%200%200%200%203.831%202.34%202.34%200%200%201-2.33%204.033%202.34%202.34%200%200%200-3.319%201.915%202.34%202.34%200%200%201-4.659%200%202.34%202.34%200%200%200-3.32-1.915%202.34%202.34%200%200%201-2.33-4.033%202.34%202.34%200%200%200%200-3.831A2.34%202.34%200%200%201%206.35%206.051a2.34%202.34%200%200%200%203.319-1.915'/%3e%3ccircle%20cx='12'%20cy='12'%20r='3'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.5'%20class='lucide%20lucide-settings-icon%20lucide-settings'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M9.671%204.136a2.34%202.34%200%200%201%204.659%200%202.34%202.34%200%200%200%203.319%201.915%202.34%202.34%200%200%201%202.33%204.033%202.34%202.34%200%200%200%200%203.831%202.34%202.34%200%200%201-2.33%204.033%202.34%202.34%200%200%200-3.319%201.915%202.34%202.34%200%200%201-4.659%200%202.34%202.34%200%200%200-3.32-1.915%202.34%202.34%200%200%201-2.33-4.033%202.34%202.34%200%200%200%200-3.831A2.34%202.34%200%200%201%206.35%206.051a2.34%202.34%200%200%200%203.319-1.915'/%3e%3ccircle%20cx='12'%20cy='12'%20r='3'/%3e%3c/svg%3e");width:var(--icon-size);height:var(--icon-size)}.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-fullscreen-control .vjs-icon-placeholder{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.5'%20class='lucide%20lucide-maximize2-icon%20lucide-maximize-2'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M15%203h6v6M21%203l-7%207M3%2021l7-7M9%2021H3v-6'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.5'%20class='lucide%20lucide-maximize2-icon%20lucide-maximize-2'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M15%203h6v6M21%203l-7%207M3%2021l7-7M9%2021H3v-6'/%3e%3c/svg%3e");width:var(--icon-size);height:var(--icon-size)}.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-caption-toggle-control:not(.enabled) .vjs-icon-placeholder{display:inline-block;width:var(--icon-size);height:var(--icon-size);vertical-align:middle;mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.5'%20class='lucide%20lucide-closed-caption-icon%20lucide-closed-caption'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M10%209.17a3%203%200%201%200%200%205.66M17%209.17a3%203%200%201%200%200%205.66'/%3e%3crect%20width='20'%20height='14'%20x='2'%20y='5'%20rx='2'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.5'%20class='lucide%20lucide-closed-caption-icon%20lucide-closed-caption'%2
2730viewBox='0%200%2024%2024'%3e%3cpath%20d='M10%209.17a3%203%200%201%200%200%205.66M17%209.17a3%203%200%201%200%200%205.66'/%3e%3crect%20width='20'%20height='14'%20x='2'%20y='5'%20rx='2'/%3e%3c/svg%3e");mask-size:cover;-webkit-mask-size:cover;background-color:currentColor}.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-caption-toggle-control:not(.enabled) .vjs-icon-placeholder:before{content:""}.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-caption-toggle-control.enabled .vjs-icon-placeholder{display:inline-block;width:var(--icon-size);height:var(--icon-size);vertical-align:middle;mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3e%3cmask%20id='a'%3e%3crect%20width='20'%20height='14'%20x='2'%20y='5'%20fill='%23fff'%20stroke='%23fff'%20stroke-width='2'%20rx='2'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2'%20d='M10%209.17a3%203%200%201%200%200%205.66M17%209.17a3%203%200%201%200%200%205.66'/%3e%3c/mask%3e%3crect%20width='20'%20height='14'%20x='2'%20y='5'%20fill='currentColor'%20stroke='currentColor'%20mask='url(%23a)'%20rx='2'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3e%3cmask%20id='a'%3e%3crect%20width='20'%20height='14'%20x='2'%20y='5'%20fill='%23fff'%20stroke='%23fff'%20stroke-width='2'%20rx='2'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2'%20d='M10%209.17a3%203%200%201%200%200%205.66M17%209.17a3%203%200%201%200%200%205.66'/%3e%3c/mask%3e%3crect%20width='20'%20height='14'%20x='2'%20y='5'%20fill='currentColor'%20stroke='currentColor'%20mask='url(%23a)'%20rx='2'/%3e%3c/svg%3e");mask-size:cover;-webkit-mask-size:cover;background-color:currentColor}.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-caption-toggle-control.enabled .vjs-icon-placeholder:before{content:""}.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-mute-control .vjs-icon-placeholder{display:inline-block;width:var(--icon-size);height:var(--icon-size);vertical-align:middle;mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.5'%20class='lucide%20lucide-volume2-icon%20lucide-volume-2'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M11%204.702a.705.705%200%200%200-1.203-.498L6.413%207.587A1.4%201.4%200%200%201%205.416%208H3a1%201%200%200%200-1%201v6a1%201%200%200%200%201%201h2.416a1.4%201.4%200%200%201%20.997.413l3.383%203.384A.705.705%200%200%200%2011%2019.298zM16%209a5%205%200%200%201%200%206M19.364%2018.364a9%209%200%200%200%200-12.728'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.5'%20class='lucide%20lucide-volume2-icon%20lucide-volume-2'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M11%204.702a.705.705%200%200%200-1.203-.498L6.413%207.587A1.4%201.4%200%200%201%205.416%208H3a1%201%200%200%200-1%201v6a1%201%200%200%200%201%201h2.416a1.4%201.4%200%200%201%20.997.413l3.383%203.384A.705.705%200%200%200%2011%2019.298zM16%209a5%205%200%200%201%200%206M19.364%2018.364a9%209%200%200%200%200-12.728'/%3e%3c/svg%3e");mask-size:cover;-webkit-mask-size:cover;background-color:currentColor}.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-mute-control .vjs-icon-placeholder:before{content:""}.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.5'%20class='lucide%20lucide-volume1-icon%20lucide-volume-1'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M11%204.702a.705.705%200%200%200-1.203-.498L6.413%207.587A1.4%201.4%200%200%201%205.416%208H3a1%201%200%200%200-1%201v6a1%201%200%200%200%201%201h2.416a1.4%201.4%200%200%201%20.997.413l3.383
273%203.384A.705.705%200%200%200%2011%2019.298zM16%209a5%205%200%200%201%200%206'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.5'%20class='lucide%20lucide-volume1-icon%20lucide-volume-1'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M11%204.702a.705.705%200%200%200-1.203-.498L6.413%207.587A1.4%201.4%200%200%201%205.416%208H3a1%201%200%200%200-1%201v6a1%201%200%200%200%201%201h2.416a1.4%201.4%200%200%201%20.997.413l3.383%203.384A.705.705%200%200%200%2011%2019.298zM16%209a5%205%200%200%201%200%206'/%3e%3c/svg%3e");width:var(--icon-size);height:var(--icon-size)}.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.5'%20class='lucide%20lucide-volume-icon%20lucide-volume'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M11%204.702a.705.705%200%200%200-1.203-.498L6.413%207.587A1.4%201.4%200%200%201%205.416%208H3a1%201%200%200%200-1%201v6a1%201%200%200%200%201%201h2.416a1.4%201.4%200%200%201%20.997.413l3.383%203.384A.705.705%200%200%200%2011%2019.298z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.5'%20class='lucide%20lucide-volume-icon%20lucide-volume'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M11%204.702a.705.705%200%200%200-1.203-.498L6.413%207.587A1.4%201.4%200%200%201%205.416%208H3a1%201%200%200%200-1%201v6a1%201%200%200%200%201%201h2.416a1.4%201.4%200%200%201%20.997.413l3.383%203.384A.705.705%200%200%200%2011%2019.298z'/%3e%3c/svg%3e");width:var(--icon-size);height:var(--icon-size)}.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.5'%20class='lucide%20lucide-volume-off-icon%20lucide-volume-off'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M16%209a5%205%200%200%201%20.95%202.293M19.364%205.636a9%209%200%200%201%201.889%209.96M2%202l20%2020M7%207l-.587.587A1.4%201.4%200%200%201%205.416%208H3a1%201%200%200%200-1%201v6a1%201%200%200%200%201%201h2.416a1.4%201.4%200%200%201%20.997.413l3.383%203.384A.705.705%200%200%200%2011%2019.298V11M9.828%204.172A.686.686%200%200%201%2011%204.657v.686'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.5'%20class='lucide%20lucide-volume-off-icon%20lucide-volume-off'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M16%209a5%205%200%200%201%20.95%202.293M19.364%205.636a9%209%200%200%201%201.889%209.96M2%202l20%2020M7%207l-.587.587A1.4%201.4%200%200%201%205.416%208H3a1%201%200%200%200-1%201v6a1%201%200%200%200%201%201h2.416a1.4%201.4%200%200%201%20.997.413l3.383%203.384A.705.705%200%200%200%2011%2019.298V11M9.828%204.172A.686.686%200%200%201%2011%204.657v.686'/%3e%3c/svg%3e");width:var(--icon-size);height:var(--icon-size)}.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-progress-control .vjs-slider,.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-progress-control .vjs-load-progress,.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-progress-control .vjs-play-progress{border-radius:8px}.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-next-video .vjs-icon-placeholder,.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-previous-video .vjs-icon-placeholder{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.5'%20class='lucide%20lucide-skip-forward-icon%20lucide-skip-forward'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M21%204v16M6.029%204.285A2%202%200%200%200%203%206v12a2%202%200%200%200%203.029%201.715l9.997-5.998a2%202%200%200%200%20.003-3.432z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.5'%20class='lucide%20lucide-skip-forward-icon%20lucide-skip-forward'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M21%204v16M6.029%204.285A2%202%200%200%200%203%206v12a2%202%200%200%200%203.029%201.715l9.997-5.998a2%202%200%200%200%20.003-3.432z'/%3e%3c/svg%3e");width:var(--icon-size);height:var(--icon-size)}.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-pt-live-control{margin:auto var(--button-implicit-padding-x);line-height:var(--control-bar-height);margin-inline-end:auto}.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-pt-live-control .vjs-live-display:before{width:8px;height:8px;border-radius:8px;content:"";display:inline-block;position:relative;top:-1px;margin-inline-end:.3125rem}.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-pt-live-control.synced-with-live-edge .vjs-live-display:before{background:#e1002d}.video-js.vjs-peertube-theme-lucide .vjs-control-bar .vjs-pt-live-control:not(.synced-with-live-edge) .vjs-live-display:before{background:#80807f}.video-js.vjs-peertube-theme-lucide.vjs-live:not(.vjs-live-dvr) .vjs-progress-control{display:flex;visibility:hidden}.video-js.vjs-peertube-theme-lucide.vjs-fullscreen .vjs-control-bar{--control-bar-height: 60px;--icon-size: 1.625rem;--button-width: 2.5rem;--control-bar-font-size: 1rem}.video-js.vjs-peertube-theme-lucide.vjs-fullscreen .vjs-control-bar .vjs-fullscreen-control .vjs-icon-placeholder{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.5'%20class='lucide%20lucide-minimize2-icon%20lucide-minimize-2'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='m14%2010%207-7M20%2010h-6V4M3%2021l7-7M4%2014h6v6'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.5'%20class='lucide%20lucide-minimize2-icon%20lucide-minimize-2'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='m14%2010%207-7M20%2010h-6V4M3%2021l7-7M4%2014h6v6'/%3e%3c/svg%3e");width:var(--icon-size);height:var(--icon-size)}.video-js.vjs-peertube-theme-lucide.vjs-size-570 .vjs-control-bar{--first-last-element-margin: 10px}.video-js.vjs-peertube-skin.vjs-size-750 .vjs-control-bar .vjs-theater-control{display:none}.video-js.vjs-peertube-skin.vjs-size-570 .vjs-control-bar .vjs-mute-control{margin-inline-start:.25rem;margin-inline-end:.25rem;margin-top:0;margin-bottom:0}.video-js.vjs-peertube-skin.vjs-size-570 .vjs-control-bar .vjs-peertube{padding:0!important}.video-js.vjs-peertube-skin.vjs-size-570 .vjs-control-bar .vjs-peertube .vjs-peertube-displayed,.video-js.vjs-peertube-skin.vjs-size-570 .vjs-control-bar .vjs-peertube .icon,.video-js.vjs-peertube-skin.vjs-size-570 .vjs-control-bar .vjs-peertube .download-speed-text,.video-js.vjs-peertube-skin.vjs-size-570 .vjs-control-bar .vjs-peertube .upload-speed-text{display:none!important}.video-js.vjs-peertube-skin.vjs-size-570 .vjs-control-bar .vjs-peertube-link{max-width:100px}.video-js.vjs-peertube-skin.vjs-size-570 .vjs-control-bar.vjs-live:not(.vjs-live-dvr) .vjs-duration{dis
273play:none!important}.video-js.vjs-peertube-skin.vjs-size-570 .vjs-control-bar.vjs-live:not(.vjs-live-dvr) .vjs-peertube{display:none!important}.video-js.vjs-peertube-skin.vjs-size-350 .vjs-control-bar{--first-last-element-margin: 7px}.video-js.vjs-peertube-skin.vjs-size-350 .vjs-control-bar .vjs-next-video,.video-js.vjs-peertube-skin.vjs-size-350 .vjs-control-bar .vjs-previous-video,.video-js.vjs-peertube-skin.vjs-size-350 .vjs-control-bar .vjs-peertube-link{display:none!important}.video-js.vjs-peertube-skin.vjs-size-350 .vjs-control-bar .vjs-play-control{width:30px;margin-inline-start:0}.video-js.vjs-peertube-skin.vjs-size-350 .vjs-control-bar.vjs-live:not(.vjs-live-dvr) .vjs-current-time{display:none!important}html[dir=rtl] .video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical{left:auto;right:-3000em}.video-js.vjs-peertube-skin.vjs-is-mobile .vjs-mouse-display{display:none!important}.video-js.vjs-peertube-skin.vjs-is-mobile .vjs-storyboard-sprite-placeholder{display:none}.video-js.vjs-peertube-skin.vjs-is-mobile .vjs-progress-control .vjs-sliding .vjs-time-tooltip,.video-js.vjs-peertube-skin.vjs-is-mobile .vjs-progress-control .vjs-sliding .vjs-storyboard-sprite-placeholder{display:block!important;visibility:visible!important}.video-js.vjs-peertube-skin.vjs-is-mobile .vjs-progress-control .vjs-sliding .vjs-time-tooltip{color:#fff;background-color:#000c}.video-js.vjs-peertube-skin.vjs-is-mobile .vjs-control-bar .vjs-progress-control .vjs-slider .vjs-play-progress:before{margin-top:-1px;opacity:1}.vjs-mobile-buttons-overlay{display:none;position:absolute;background-color:#0006;width:100%;height:100%;top:0}.vjs-mobile-buttons-overlay .vjs-user-active:not(.vjs-force-inactive),.vjs-mobile-buttons-overlay .vjs-paused{display:block}.vjs-mobile-buttons-overlay .main-button,.vjs-mobile-buttons-overlay .rewind-button,.vjs-mobile-buttons-overlay .forward-button{width:fit-content;height:fit-content;position:relative;top:calc(50% - 10px);transform:translateY(-50%);-webkit-user-select:none;user-select:none}.vjs-mobile-buttons-overlay .main-button,.vjs-mobile-buttons-overlay .rewind-button .icon,.vjs-mobile-buttons-overlay .forward-button .icon{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-mobile-buttons-overlay .main-button{font-size:5em;margin:auto}.vjs-mobile-buttons-overlay .rewind-button,.vjs-mobile-buttons-overlay .forward-button{margin:0 10px;position:absolute;text-align:center}.vjs-mobile-buttons-overlay .rewind-button .icon,.vjs-mobile-buttons-overlay .forward-button .icon{opacity:0;animation:fadeInAndOut .75s linear infinite}.vjs-mobile-buttons-overlay .rewind-button .icon:before,.vjs-mobile-buttons-overlay .forward-button .icon:before{font-size:20px;content:"\\f101";display:inline-block;width:16px}.vjs-mobile-buttons-overlay .forward-button{right:5px}.vjs-mobile-buttons-overlay .forward-button .icon:before{margin-left:-2px}.vjs-mobile-buttons-overlay .forward-button .icon:nth-child(2){animation-delay:.25s}.vjs-mobile-buttons-overlay .forward-button .icon:nth-child(3){animation-delay:.5s}.vjs-mobile-buttons-overlay .rewind-button{left:5px}.vjs-mobile-buttons-overlay .rewind-button .icon:before{margin-right:-2px;transform:scaleX(-1)}.vjs-mobile-buttons-overlay .rewind-button .icon:nth-child(1){animation-delay:.5s}.vjs-mobile-buttons-overlay .rewind-button .icon:nth-child(2){animation-delay:.25s}.vjs-paused .main-button:before{content:"\\f101"}.vjs-playing .main-button:before{content:"\\f103"}.vjs-ended .main-button:before{content:"\\f11b"}.vjs-can-play.vjs-has-started.vjs-user-active:not(.vjs-force-inactive) .vjs-mobile-buttons-overlay,.vjs-can-play.vjs-has-started.vjs-paused .vjs-mobile-buttons-overlay{display:block}.vjs-can-play.vjs-has-started.vjs-scrubbing .vjs-mobile-buttons-overlay,.vjs-can-play.vjs-has-started.vjs-mobile-sliding .vjs-mobile-buttons-overlay,.vjs-can-play.vjs-has-started.vjs-seeking .main-button,.vjs-can-play.vjs-has-started.vjs-waiting .main-button,.vjs-can-play.vjs-has-started.vjs-mobile-sliding .main-button,.vjs-can-play.vjs-has-started.vjs-fast-seeking .main-button,.vjs-force-inactive .vjs-control-bar,.vjs-fast-seeking .vjs-control-bar{display:none}@keyframes fadeInAndOut{0%,20%{opacity:0}
27360%,70%{opacity:1}to{opacity:0}}.video-js.vjs-peertube-skin{--nsfw-info-margin-x: 20px;--nsfw-info-margin-y: 20px;--nsfw-font-size: 13px}.video-js.vjs-peertube-skin.vjs-size-570{--nsfw-info-margin-x: 10px;--nsfw-info-margin-y: 10px}.video-js.vjs-peertube-skin button:not(.vjs-disabled){cursor:pointer}.video-js.vjs-peertube-skin .nsfw-info,.video-js.vjs-peertube-skin .nsfw-details{width:100%;width:fit-content;background-color:var(--pt-player-overlay-secondary-bg);color:var(--pt-player-overlay-secondary-fg);max-width:calc(40% - 2 * var(--nsfw-info-margin-x));padding:1rem}.video-js.vjs-peertube-skin .nsfw-info{position:absolute;top:var(--nsfw-info-margin-y);right:var(--nsfw-info-margin-x);max-height:calc(100% - 2 * var(--nsfw-info-margin-y));font-size:var(--nsfw-font-size);border-radius:4px;overflow:auto}.video-js.vjs-peertube-skin .nsfw-info strong{display:block}.video-js.vjs-peertube-skin .nsfw-info button{margin-top:.75rem;padding:0;text-decoration:underline}.video-js.vjs-peertube-skin .nsfw-info button:hover{opacity:.8}.video-js.vjs-peertube-skin .nsfw-info button:after{bottom:.15em;border-style:solid;border-width:2px 2px 0 0;content:"";display:inline-block;transform:rotate(-45deg);height:8px;width:8px;position:relative}.video-js.vjs-peertube-skin .nsfw-info button:after{transform:rotate(135deg)}.video-js.vjs-peertube-skin .nsfw-info button:after{margin-inline-start:.3125rem}.video-js.vjs-peertube-skin.peertube-dock .nsfw-info{top:unset;bottom:var(--nsfw-info-margin-y);max-width:90%}.video-js.vjs-peertube-skin .nsfw-details-container{background-color:#0009;position:absolute;top:0;right:0;z-index:1000;width:100%;height:100%}.video-js.vjs-peertube-skin .nsfw-details{margin-left:auto;height:100%}.video-js.vjs-peertube-skin .nsfw-details .nsfw-details-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.5;height:100%}.video-js.vjs-peertube-skin .nsfw-details .nsfw-details-flags+.nsfw-details-summary{margin-top:1rem}.video-js.vjs-peertube-skin .nsfw-details .nsfw-details-close{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2'%20class='feather%20feather-x'%3e%3cpath%20d='M18%206%206%2018M6%206l12%2012'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2'%20class='feather%20feather-x'%3e%3cpath%20d='M18%206%206%2018M6%206l12%2012'/%3e%3c/svg%3e");mask-size:cover;-webkit-mask-size:cover;width:20px;height:20px;background-color:var(--pt-player-overlay-secondary-fg);display:block;margin-inline-start:auto}.video-js.vjs-peertube-skin .nsfw-details .nsfw-details-close:hover{opacity:.8}.video-js .vjs-contextmenu-ui-menu{position:absolute;background-color:var(--pt-player-overlay-bg);padding:8px 0;border-radius:4px;width:350px;z-index:105}.video-js .vjs-contextmenu-ui-menu .vjs-menu-content{opacity:.9;color:var(--pt-player-fg);font-size:13px!important;font-weight:600}.video-js .vjs-contextmenu-ui-menu .vjs-menu-item{cursor:pointer;font-size:1em;padding:8px 16px;text-transform:none;justify-content:flex-start;text-align:start}.video-js .vjs-contextmenu-ui-menu .vjs-menu-item:hover{background-color:var(--pt-player-overlay-bg-hover)}.video-js .vjs-contextmenu-ui-menu .vjs-menu-item [class^=vjs-icon-]{display:inline-flex;position:relative;top:2px;cursor:pointer;width:14px;height:14px;background-color:#fff;-webkit-mask-size:cover;mask-size:cover;margin-inline-end:.8rem!important}.video-js .vjs-contextmenu-ui-menu .vjs-menu-item [class^=vjs-icon-][class$=-link-2]{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='3'%20class='feather%20feather-link-2'%3e%3cpath%20d='M15%207h3a5%205%200%200%201%205%205%205%205%200%200%201-5%205h-3m-6%200H6a5%205%200%200%201-5-5%205%205%200%200%201%205-5h3m-1%205h8'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='3'%20class='feather%20feather-link-2'%3e%3cpath%20d='M15%207h3a5%205%200%200%201%205%205%205%205%200%200%201-5%205h-3m-6%200H6a5%205%200%200%201-5-5%205%205%200%200%201%205-5h3m-1%205h8'/%3e%3c/svg%3e")}.video-js .vjs-contextmenu-ui-menu .vjs-menu-item [class^=vjs-icon-][class$=-repeat]{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='3'%20class='feather%20feather-repeat'%3e%3cpath%20d='m17%201%204%2
27304-4%204'/%3e%3cpath%20d='M3%2011V9a4%204%200%200%201%204-4h14M7%2023l-4-4%204-4'/%3e%3cpath%20d='M21%2013v2a4%204%200%200%201-4%204H3'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='3'%20class='feather%20feather-repeat'%3e%3cpath%20d='m17%201%204%204-4%204'/%3e%3cpath%20d='M3%2011V9a4%204%200%200%201%204-4h14M7%2023l-4-4%204-4'/%3e%3cpath%20d='M21%2013v2a4%204%200%200%201-4%204H3'/%3e%3c/svg%3e")}.video-js .vjs-contextmenu-ui-menu .vjs-menu-item [class^=vjs-icon-][class$=-code]{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='3'%20class='feather%20feather-code'%3e%3cpath%20d='m16%2018%206-6-6-6M8%206l-6%206%206%206'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='3'%20class='feather%20feather-code'%3e%3cpath%20d='m16%2018%206-6-6-6M8%206l-6%206%206%206'/%3e%3c/svg%3e")}.video-js .vjs-contextmenu-ui-menu .vjs-menu-item [class^=vjs-icon-][class$=-tick-white]{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%3e%3cpath%20fill='none'%20stroke='%23fff'%20stroke-linecap='round'%20stroke-width='2'%20d='M21%206%209%2018m-5-5%205%205'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%3e%3cpath%20fill='none'%20stroke='%23fff'%20stroke-linecap='round'%20stroke-width='2'%20d='M21%206%209%2018m-5-5%205%205'/%3e%3c/svg%3e")}.video-js .vjs-contextmenu-ui-menu .vjs-menu-item [class^=vjs-icon-][class$=-info]{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='3'%20class='feather%20feather-info'%3e%3ccircle%20cx='12'%20cy='12'%20r='10'/%3e%3cpath%20d='M12%2016v-4m0-4h.01'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='3'%20class='feather%20feather-info'%3e%3ccircle%20cx='12'%20cy='12'%20r='10'/%3e%3cpath%20d='M12%2016v-4m0-4h.01'/%3e%3c/svg%3e")}.video-js .vjs-contextmenu-ui-menu .vjs-menu-item [class^=vjs-icon-][class$=-tick-white]{float:right;margin:0!important}.video-js .vjs-settings-sub-menu-title{text-transform:initial}.video-js .vjs-settings-dialog{position:absolute;right:.5em;bottom:4em;color:var(--pt-player-fg);margin:0 auto;font-size:13px!important;z-index:100;border-radius:10px;background-color:var(--pt-player-overlay-bg);width:auto;overflow:hidden;transition:width .15s ease-out,height .15s ease-out}.video-js .vjs-settings-dialog .vjs-settings-sub-menu-value,.video-js .vjs-settings-dialog .vjs-settings-sub-menu-title{display:table-cell;padding:0 5px;text-transform:capitalize}.video-js .vjs-settings-dialog .vjs-settings-sub-menu-title{font-weight:600}.video-js .vjs-settings-dialog .vjs-settings-sub-menu-value{width:100%;text-align:end}.video-js .vjs-settings-dialog .vjs-settings-sub-menu-value small{font-size:.85em;opacity:.8}.video-js .vjs-settings-dialog .vjs-settings-panel{position:absolute;overflow-y:auto;overflow-x:hidden}@supports (inset-inline-end: 0){.video-js .vjs-settings-dialog .vjs-settings-panel{inset-inline-end:0}}@supports not (inset-inline-end: 0){.video-js .vjs-settings-dialog .vjs-settings-panel{right:0}}.video-js .vjs-settings-dialog .vjs-settings-panel-child{display:flex;align-items:flex-start;white-space:nowrap}.video-js .vjs-settings-dialog .vjs-settings-panel-child:focus,.video-js .vjs-settings-dialog .vjs-settings-panel-child:active{outline:none}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-menu{flex:1;
273min-width:200px;padding:5px 0}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-menu,.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu{transition:all .15s ease-out}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-menu .vjs-menu-item,.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu-item{font-size:1em;text-transform:initial}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-menu .vjs-menu-item:hover,.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu-item:hover{cursor:pointer;background-color:var(--pt-player-overlay-bg-hover)}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-menu .vjs-menu-item.disabled,.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu-item.disabled{opacity:.5;cursor:default!important;background-color:inherit!important}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-menu .vjs-menu-item{padding:8px 16px}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-menu .vjs-settings-sub-menu-value:after{left:0;border-style:solid;border-width:2px 2px 0 0;content:"";display:inline-block;transform:rotate(-45deg);height:9px;width:9px;position:relative}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-menu .vjs-settings-sub-menu-value:after{transform:rotate(45deg)}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-menu .vjs-settings-sub-menu-value:after{margin-inline-start:.3125rem}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu{min-width:80px}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu-item{outline:0;font-weight:600;justify-content:flex-end;padding:8px 15px}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu-item.vjs-back-button{padding:12px 15px;margin-bottom:5px;border-bottom:1px solid #808080;justify-content:flex-start;align-items:center}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu-item.vjs-back-button:before{top:-1px;left:.25em;border-style:solid;border-width:2px 2px 0 0;content:"";display:inline-block;transform:rotate(-45deg);height:9px;width:9px;position:relative}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu-item.vjs-back-button:before{transform:rotate(-135deg)}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu-item.vjs-back-button:before{margin-inline-end:.625rem}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu-item.vjs-selected{background-color:inherit;color:inherit;position:relative}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu-item.vjs-selected:focus{background-color:#73859f80}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu-item.vjs-selected:before{position:absolute;content:" ";margin-top:1px;background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%3e%3cpath%20fill='none'%20stroke='%23fff'%20stroke-linecap='round'%20stroke-width='2'%20d='M21%206%209%2018m-5-5%205%205'/%3e%3c/svg%3e");display:inline-block;background-repeat:no-repeat;background-size:contain;width:15px;height:15px;vertical-align:middle;cursor:pointer}@supports (inset-inline-start: 15px){.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu-item.vjs-selected:before{inset-inline-start:15px}}@supports not (inset-inline-start: 15px){.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu-item.vjs-selected:before{left:15px}}.video-js .vjs-settings-dialog .vjs-settings-panel-child>
273.vjs-settings-sub-menu.vjs-captions-button{min-width:200px}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu.vjs-captions-button .vjs-menu-item{text-align:start}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu.vjs-captions-button .vjs-menu-item .vjs-menu-item-text{text-transform:capitalize;margin-inline-start:calc(1.28125rem + .375vw)}@media(min-width:1200px){.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu.vjs-captions-button .vjs-menu-item .vjs-menu-item-text{margin-inline-start:1.5625rem}}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu.vjs-resolution-button .vjs-menu-item-text,.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu.vjs-video-filter-button .vjs-menu-item-text{margin-inline-start:calc(1.28125rem + .375vw)}@media(min-width:1200px){.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu.vjs-resolution-button .vjs-menu-item-text,.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu.vjs-video-filter-button .vjs-menu-item-text{margin-inline-start:1.5625rem}}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu{width:inherit}:root[dir=rtl] .vjs-back-button:before{transform:rotate(45deg)!important}.vjs-loading-spinner{--spinner-size: 6em;border:0;transform:none;opacity:1}.vjs-loading-spinner:before,.vjs-loading-spinner:after{display:none!important}.vjs-loading-spinner{font-size:10px;width:var(--spinner-size);height:var(--spinner-size);top:calc(50% - var(--spinner-size) / 2);left:calc(50% - var(--spinner-size) / 2);border-radius:50%;border-top:4px solid var(--pt-player-fg);border-right:4px solid transparent;box-sizing:border-box;animation:.3s ease-out 1.1s forwards vjs-spinner-show,rotation 1s infinite linear!important}@keyframes vjs-spinner-show{0%{opacity:0}1%{visibility:visible;opacity:0}to{visibility:visible;opacity:1}}@keyframes rotation{0%{border-top-color:#fff;transform:rotate(0)}50%{border-top-color:#ccc}to{border-top-color:#fff;transform:rotate(360deg)}}.video-js .vjs-upnext-content{transition:opacity .1s;font-size:1.8em;pointer-events:auto;position:absolute;top:0;bottom:0;background:#0009;width:100%}.video-js .vjs-upnext-top{margin:0 auto 60px;width:100%;position:absolute;bottom:50%}.video-js .vjs-upnext-bottom{margin:52px auto 0;width:100%;position:absolute;top:50%}.video-js .vjs-upnext-suspended,.video-js .vjs-upnext-cancel{display:block;float:none;text-align:center}.video-js .vjs-upnext-suspended{font-size:50%;margin-top:1rem}.video-js .vjs-upnext-headtext{display:block;font-size:14px;text-align:center;padding-bottom:7px}.video-js .vjs-upnext-title{display:block;padding:10px 10px 2px;text-align:center;font-size:22px;font-weight:600;overflow:hidden;white-space:nowrap;word-wrap:normal;text-overflow:ellipsis}.video-js .vjs-upnext-cancel-button{cursor:pointer;display:inline-block;float:none;padding:10px!important;font-size:16px!important;border:0}.video-js .vjs-upnext-cancel-button,.video-js .vjs-upnext-cancel-button:focus{outline:0}.video-js .vjs-upnext-cancel-button:hover{background-color:#ffffff40;border-radius:2px}.video-js.vjs-no-flex .vjs-upnext-content{padding-bottom:1em}.video-js .vjs-upnext-autoplay-icon{transition:stroke-dasharray .1s cubic-bezier(.4,0,1,1);position:absolute;top:50%;left:50%;width:98px;height:98px;margin:-49px 0 0 -49px;cursor:pointer}.video-js.vjs-upnext--showing .vjs-control-bar{z-index:1}@keyframes bezels-fadeout{0%{opacity:1}to{opacity:0;transform:scale(2)}}.vjs-bezel{position:absolute;left:50%;top:50%;width:52px;height:52px;z-index:19;margin-top:-26px;background:#00000080;border-radius:26px;animation:bezels-fadeout .5s linear 1 normal forwards;pointer-events:none;margin-inline-start:calc(-1.2875rem - .45vw)}@media(min-width:1200px){.vjs-bezel{margin-inline-start:-1.625rem}}.vjs-bezel-icon{width:36px;height:36px;margin:8px}.vjs-bezel-icon svg .vjs-svg-fill{fill:#fff}.vjs-playlist-menu{position:absolute;height:100%;width:350px;background:#000c!important;z-index:101;transition:right .2s;overflow-y:scroll;line-height:normal;right:-350px}.vjs-playlist-menu ol{padding:0;margin:0}.vjs-playlist-menu .header{border-bottom:1px solid #e9eff6;padding:20px 10px;display:flex;justify-content:space-between}.vjs-playlist-menu .header .title{font-size:14px;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vjs-playlist-menu .header .channel{font-size:11px;color:#bfbfbf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vjs-playlist-menu .header .cross{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2'%20class='feather%20feather-x'%3e%3cpath%20d='M18%206%206%2018M6%206l12%2012'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2'%20class='feather%20feather-x'%3e%3cpath%20d='M18%206%206%2018M6%206l12%2012'/%3e%3c/svg%3e");mask-size:cover;-webkit-mask-size:cover;cursor:pointer;width:20px;height:20px;background-color:#fff}.playlist-menu-displayed .vjs-playlist-menu{right:0;display:block}.playlist-menu-displayed .vjs-playlist-button{display:none}@media screen and (max-width:350px){.vjs-playlist-menu{width:100%;min-width:unset;display:none}.playlist-menu-displayed .vjs-playlist-menu{display:block}}.vjs-playlist-button{font-size:16px;position:absolute;right:0;top:0;z-index:100;padding:20px;cursor:pointer}.vjs-playlist-icon{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%3e%3cpath%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.8'%20d='M8.7%204.8h13.2m-19.8%200h.55M8.7%2019.2h13.2m-19.8%200h.55M8.7%2012h13.2M2.1%2012h.55'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%3e%3cpath%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='1.8'%20d='M8.7%204.8h13.2m-19.8%200h.55M8.7%2019.2h13.2m-19.8%200h.55M8.7%2012h13.2M2.1%2012h.55'/%3e%3c/svg%3e");mask-size:cover;-webkit-mask-size:cover;width:22px;height:22px;background-color:#fff;margin-bottom:3px}.vjs-playing.vjs-user-inactive .vjs-playlist-button{opacity:0;transition:opacity 1s}.vjs-playing.vjs-no-flex.vjs-user-inactive .vjs-playlist-button{display:none}.vjs-playlist-menu-item{display:flex;padding:10px 0;height:60px}.vjs-playlist-menu-item:not(.vjs-disabled){cursor:pointer}.vjs-playlist-menu-item .item-position-block{position:relative;display:flex;align-items:center;justify-content:center;width:30px;flex-shrink:0}
273.vjs-playlist-menu-item .item-unavailable{position:relative;display:flex;align-items:center;justify-content:center}.vjs-playlist-menu-item .item-player{display:none;width:0;height:0;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.5);border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:20px solid #F4F4F5}.vjs-playlist-menu-item.vjs-selected{background-color:#9696964d}.vjs-playlist-menu-item.vjs-selected .item-position{display:none}.vjs-playlist-menu-item.vjs-selected .item-player{display:block}.vjs-playlist-menu-item:hover:not(.vjs-disabled){background-color:#96969633}.vjs-playlist-menu-item img{width:80px;height:40px}.vjs-playlist-menu-item .info-block{margin:0 10px;min-width:1px}.vjs-playlist-menu-item .info-block .title{font-size:13px;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vjs-playlist-menu-item .info-block .channel,.vjs-playlist-menu-item .info-block .timestamps{font-size:11px;color:#bfbfbf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vjs-playlist-menu-item .info-block .timestamps{font-size:10px;margin-top:3px}.video-js .vjs-stats-content{transition:opacity .1s;position:absolute;background-color:#0009;padding:5px 0;border-radius:4px;width:420px;min-width:27em;max-width:calc(100vw - 20px);left:10px;top:10px;z-index:64;font-size:12px;line-height:1.2}.video-js .vjs-stats-close{cursor:pointer;position:absolute;right:3px;top:3px;padding:0}.video-js .vjs-stats-list>div>div{display:inline-block;font-weight:600;padding:0 .5em;text-align:end;min-width:11.5em;white-space:nowrap}.vjs-peertube-offline-notification{position:absolute;top:0;left:0;right:0;height:40px;color:pvar(--on-primary);background-color:pvar(--primary-50);text-align:center;z-index:1;display:flex;justify-content:center;align-items:center}.video-js .vjs-progress-holder .vjs-storyboard-sprite-placeholder{display:none}.video-js .vjs-progress-control:hover .vjs-storyboard-sprite-placeholder,.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-storyboard-sprite-placeholder{display:block;font-size:.6em;visibility:visible}.video-js.vjs-settings-dialog-opened .vjs-storyboard-sprite-placeholder,.video-js.vjs-settings-dialog-opened .vjs-time-tooltip,.video-js.vjs-settings-dialog-opened .vjs-mouse-display{display:none!important}.vjs-video-flip-horizontally video,.vjs-video-flip-horizontally .vjs-poster img{transform:scaleX(-1)} 274/*# sourceMappingURL=player-styles.component-XB44MAD6.css.map */ 275`],encapsulation:2}));let e=t;return e;})();var oT=(()=>{let t=class t{htmlRenderer=be(Um);transform(s,n=!1){return this.htmlRenderer.convertToBr(s,n);}};xe(t,"\u0275fac",function(n){return new(n||t)();}),xe(t,"\u0275pipe",qp({name:"nl2br",type:t,pure:!0}));let e=t;return e;})();var aT=Mp(Rm());var DL=["settingsPanel"];function jL(e,t){e&1&&(Y(0,"div"),Se(1,3),W());}function NL(e,t){if(e&1){let i=ct();Y(0,"div",20),De("keyup.enter",function(n){let r=ke(i).$implicit,a=se();return Pe(a.onSegmentClick(n,r));})("click",function(n){let r=ke(i).$implicit,a=se();return Pe(a.onSegmentClick(n,r));}),Y(1,"strong",21),Ve(2),W(),Be(3,"span",22),Zi(4,"nl2br"),W();}if(e&2){let i=t.$implicit,s=se();Te("ngClass",s.getSegmentClasses(i)),Q(2),ot(i.startFormatted),Q(),Te("innerHTML",yn(4,3,i.text,!0),Cs);}}var FL=(0,aT.default)("peertube:watch:VideoTranscriptionComponent"),lT=(()=>{let t=class t{notifier=be(_i);captionService=be(Ll);settingsPanel=Mt("settingsPanel");video=Ue(void 0);captions=Ue(void 0);currentTime=Ue(void 0);segmentClicked=ht();closeTranscription=ht();currentCaption;segments=[];activeSegment;search="";currentLanguage;languagesOptions=[];isSettingsPanelCollapsed;settingsPanelShown;segmentsStore=[];searchSubject=new el();clickout(s){this.settingsPanelShown&&(this.settingsPanel()?.nativeElement.contains(s.target)||(this.isSettingsPanelCollapsed=!0));}ngOnInit(){this.searchSubject.asObservable().pipe(Bp(100),Up()).subscribe(s=>this.filterSegments(s));}ngOnChanges(s){if(s.video||s.captions){this.load();return;}s.currentTime&&this.findActiveSegment();}getSegmentClasses(s){return{active:this.activeSegment===s,["segment-"+s.start]:!0};}updateCurrentCaption(){this.currentCaption=this.captions().find(s=>s.language.id===this.currentLanguage),this.parseCurrentCaption();}load(){this.search="",this.segmentsStore=[],this.segments=[],this.activeSegment=void 0,this.currentCaption=void 0,this.isSettingsPanelCollapsed=!0,this.settingsPanelShown=!1,this.languagesOptions=[];let s=this.captions(),n=this.video();!n||!s||s.length===0||(this.currentLanguage=s.some(r=>r.language.id===this.video().language.id)?n.language.id:s[0].language.id,this.languagesOptions=s.map(r=>({id:r.language.id,label:r.automaticallyGenerated?""+r.language.label+" (automatically generated)":r.language.label})),this.updateCurrentCaption());}parseCurrentCaption(){this.captionService.getCaptionContent({fileUrl:this.currentCaption.fileUrl}).subscribe({next:s=>{try{let n=Tg(s).entries;this.segmentsStore=n.map(({from:r,to:a,text:l})=>{let c=Math.round(r/1e3),u=Math.round(a/1e3);return{start:c,startFormatted:Tm(c),end:u,text:l};}),this.segments=this.segmentsStore;}catch(n){this.notifier.error("Cannot load transcript: "+n.message+"");}},error:s=>this.notifier.handleError(s)});}onSearchChange(s){let n=s.target;this.searchSubject.next(n.value);}
275onSegmentClick(s,n){s.preventDefault(),this.segmentClicked.emit(n.start);}filterSegments(s){this.search=s;let n=s.toLocaleLowerCase();this.segments=this.segmentsStore.filter(r=>r.text.toLocaleLowerCase().includes(n));}findActiveSegment(){let s=this.activeSegment;this.activeSegment=void 0;let n=this.currentTime();if(!isNaN(n)){for(let r=this.segmentsStore.length-1;r>=0;r--){let a=this.segmentsStore[r];if(a.start<=n){this.activeSegment=a;break;}}s!==this.activeSegment&&setTimeout(()=>{let r=document.querySelector(".segment-"+this.activeSegment.start);if(!r)return;let a=document.querySelector(".widget-root");vl(r,a)||(a.scrollTop=r.offsetTop,FL(`Set transcription segment ${this.activeSegment.start} in viewport`));});}}};xe(t,"\u0275fac",function(n){return new(n||t)();}),xe(t,"\u0275cmp",mt({type:t,selectors:[["my-video-transcription"]],viewQuery:function(n,r){n&1&&vi(r.settingsPanel,DL,5),n&2&&yi();},hostBindings:function(n,r){n&1&&De("click",function(l){return r.clickout(l);},Wp);},inputs:{video:[1,"video"],captions:[1,"captions"],currentTime:[1,"currentTime"]},outputs:{segmentClicked:"segmentClicked",closeTranscription:"closeTranscription"},features:[Zt],decls:23,vars:5,consts:()=>{let s;s="Settings";let n;n="Close transcription widget";let r;r="Search transcript";let a;a="Jump to this segment";let l;l="Transcription";let c;c="Language";let u;return u="No results for your search",[["settingsPanel","","settingsPanelCollapse","ngbCollapse"],l,c,u,[1,"widget-root"],[1,"widget-header","d-flex","justify-content-between"],[1,"widget-title"],["title",s,"aria-controls","video-transcription-settings-panel",1,"border-0","p-0","me-3","settings-button",3,"click"],["iconName","filter"],["title",n,1,"border-0","p-0",3,"click"],["iconName","cross"],[1,"widget-content"],[1,"widget-content-padded"],["id","video-transcription-settings-panel",1,"settings-panel",3,"shown","hidden","ngbCollapse"],[1,"card"],[1,"card-body"],["for","transcription-language"],["inputId","transcription-language",3,"ngModelChange","items","ngModel"],["type","text","name","search-transcript","placeholder",r,1,"mb-3",3,"input"],["role","button","tabindex","0","title",a,1,"segment","widget-content-padded","pt-1","pb-1",3,"ngClass"],["role","button","tabindex","0","title",a,1,"segment","widget-content-padded","pt-1","pb-1",3,"keyup.enter","click","ngClass"],[1,"segment-start","me-2"],[1,"segment-text","fs-7",3,"innerHTML"]];},template:function(n,r){if(n&1){let a=ct();Y(0,"div",4)(1,"div",5)(2,"div",6),Se(3,1),W(),Y(4,"div")(5,"button",7),De("click",function(){return r.isSettingsPanelCollapsed=!r.isSettingsPanelCollapsed;}),Be(6,"my-global-icon",8),W(),Y(7,"button",9),De("click",function(){return r.closeTranscription.emit();}),Be(8,"my-global-icon",10),W()()(),Y(9,"div",11)(10,"div",12)(11,"div",13,0),De("shown",function(){return r.settingsPanelShown=!0;})("hidden",function(){return r.settingsPanelShown=!1;}),Y(14,"div",14)(15,"div",15)(16,"label",16),Se(17,2),W(),Y(18,"my-select-options",17),al("ngModelChange",function(c){return ke(a),ol(r.currentLanguage,c)||(r.currentLanguage=c),Pe(c);}),De("ngModelChange",function(){return r.updateCurrentCaption();}),W()()()(),Y(19,"input",18),De("input",function(c){return r.onSearchChange(c);}),W(),we(20,jL,2,0,"div"),W(),di(21,NL,5,6,"div",19,li),W()();}n&2&&(Q(5),Hs("aria-expanded",!r.isSettingsPanelCollapsed),Q(6),Te("ngbCollapse",r.isSettingsPanelCollapsed),Q(7),Te("items",r.languagesOptions),rl("ngModel",r.currentLanguage),Q(2),Ae(r.search&&r.segments.length===0?20:-1),Q(),ci(r.segments));},dependencies:[ei,bi,wm,Fr,Nr,fl,Gm,oT],styles:[`.widget-root[_ngcontent-%COMP%]{position:relative;
275min-width:200px;width:25vw;max-width:470px;height:66vh;background-color:var(--bg);overflow-y:auto;border-bottom:1px solid var(--bg-secondary-400)}.widget-root[_ngcontent-%COMP%] .widget-header[_ngcontent-%COMP%]{background-color:var(--bg-secondary-400);padding:1rem 2rem}.widget-root[_ngcontent-%COMP%] .widget-content-padded[_ngcontent-%COMP%]{padding:0 2rem}.widget-root[_ngcontent-%COMP%] .widget-title[_ngcontent-%COMP%]{font-size:18px;font-weight:600}.widget-root[_ngcontent-%COMP%] .widget-title[_ngcontent-%COMP%] .pt-badge[_ngcontent-%COMP%]{margin-inline-start:.3125rem}.widget-root[_ngcontent-%COMP%] .widget-content[_ngcontent-%COMP%]{padding-top:.5rem;padding-bottom:.5rem} 276/*# sourceMappingURL=player-widget.component-5KSXO4TU.css.map */`,`.segment.active[_ngcontent-%COMP%], .segment[_ngcontent-%COMP%]:hover{background:var(--bg-secondary-400)}input[type=text][_ngcontent-%COMP%]{font-size:16px;padding:var(--input-y-padding) var(--input-x-padding);width:100%;max-width:100%;color:var(--input-fg);background-color:var(--input-bg);border:var(--input-border-width) solid var(--input-border-color);border-radius:var(--input-border-radius);line-height:24px}input[type=text][_ngcontent-%COMP%]::placeholder{color:var(--input-placeholder-color);font-size:var(--input-placeholder-font-size)}input[type=text][readonly][_ngcontent-%COMP%]{color:var(--fg-300)}input[type=text][_ngcontent-%COMP%]:focus, input[type=text][_ngcontent-%COMP%]:focus-visible{box-shadow:0 0 0 .2rem var(--fg-100);outline:0}input[type=text][disabled][_ngcontent-%COMP%]{color:var(--fg-300);opacity:.8}@media screen and (max-width: calc(100% + 40px)){input[type=text][_ngcontent-%COMP%]{width:100%}}.settings-button[_ngcontent-%COMP%] my-global-icon[_ngcontent-%COMP%]{display:inline-block;width:18px;height:18px;line-height:18px}.settings-panel[_ngcontent-%COMP%]{position:absolute;width:100%;padding:0 1.5rem;left:0;right:0} 277/*# sourceMappingURL=video-transcription.component-3433WN2R.css.map */`]}));let e=t;return e;})();var dT=e=>({active:e});function BL(e,t){e&1&&(Y(0,"span",7),Se(1,0),W());}function UL(e,t){e&1&&(Y(0,"span",8),Se(1,1),W());}function VL(e,t){e&1&&(Y(0,"span",9),Se(1,2),W());}function $L(e,t){if(e&1){let i=ct();Y(0,"div",18)(1,"my-video-playlist-element-miniature",19),De("elementRemoved",function(n){ke(i);let r=se(2);return Pe(r.onElementRemoved(n));}),W()();}if(e&2){let i=t.$implicit,s=se(2);Te("ngClass","element-"+i.position),Q(),Te("playlistElement",i)("playlist",s.playlist())("owned",s.isPlaylistOwned())("playing",s.currentPlaylistPosition===i.position)("accountLink",!1)("position",i.position);}}function HL(e,t){if(e&1){let i=ct();Y(0,"div",4),De("nearOfBottom",function(){ke(i);let n=se();return Pe(n.onPlaylistVideosNearOfBottom());}),Y(1,"div",5)(2,"div",6),Ve(3),we(4,BL,2,0,"span",7),we(5,UL,2,0,"span",8),we(6,VL,2,0,"span",9),W(),Y(7,"div",10)(8,"div",11),Ve(9),W(),Y(10,"div",12)(11,"span"),Ve(12),W(),Y(13,"span"),Ve(14),W()()(),Y(15,"div",13)(16,"button",14),De("click",function(){ke(i);let n=se();return Pe(n.switchAutoPlayNextVideoPlaylist());}),Be(17,"my-global-icon",15),W(),Y(18,"button",16),De("click",function(){ke(i);let n=se();return Pe(n.switchLoopPlaylist());}),Be(19,"my-global-icon",17),W()()(),di(20,$L,2,7,"div",18,li),W();}if(e&2){let i=se();Te("onItself",!0),Q(3),Mi(" ",i.playlist().displayName," "),Q(),Ae(i.isUnlistedPlaylist()?4:-1),Q(),Ae(i.isPrivatePlaylist()?5:-1),Q(),Ae(i.isPublicPlaylist()?6:-1),Q(3),ot(i.playlist().ownerBy),Q(3),ot(i.currentPlaylistPosition),Q(2),ot(i.playlistPagination.totalItems),Q(2),Te("ngClass",st(14,dT,i.autoPlayNextVideoPlaylist))("ngbTooltip",i.autoPlayNextVideoPlaylistSwitchText)("ariaLabel",i.autoPlayNextVideoPlaylistSwitchText),Q(2),Te("ngClass",st(16,dT,i.loopPlaylist))("ngbTooltip",i.loopPlaylistSwitchText)("ariaLabel",i.loopPlaylistSwitchText),Q(2),ci(i.playlistElements);}}var cT=(()=>{let t=class t{hooks=be(Cn);userService=be(es);auth=be(Ss);notifier=be(_i);videoPlaylist=be(Rl);sessionStorage=be(jm);router=be(ul);playlist=Ue(void 0);videoFound=ht();noVideoFound=ht();playlistElements=[];playlistPagination={currentPage:1,itemsPerPage:30,totalItems:null};autoPlayNextVideoPlaylist;autoPlayNextVideoPlaylistSwitchText="";loopPlaylist;loopPlaylistSwitchText="";noPlaylistVideos=!1;currentPlaylistPosition;constructor(){this.userService.getAnonymousOrLoggedUser().subscribe(s=>this.autoPlayNextVideoPlaylist=s.autoPlayNextVideoPlaylist),this.setAutoPlayNextVideoPlaylistSwitchText(),this.loopPlaylist=Pm(this.sessionStorage.getItem(t.SESSION_STORAGE_LOOP_PLAYLIST),!1),this.setLoopPlaylistSwitchText();}onPlaylistVideosNearOfBottom(s){this.playlistPagination.totalItems<=this.playlistPagination.currentPage*this.playlistPagination.itemsPerPage||(this.playlistPagination.currentPage+=1,this.loadPlaylistElements({playlist:this.playlist(),redirectToFirst:!1,position:s}));}onElementRemoved(s){this.playlistElements=this.playlistElements.filter(n=>
277n.id!==s.id),Dm(this.playlistPagination);}isPlaylistOwned(){let s=this.playlist();return s.isLocal===!0&&this.auth.isLoggedIn()&&s.ownerAccount.name===this.auth.getUser().username;}isUnlistedPlaylist(){return this.playlist().privacy.id===ml.UNLISTED;}isPrivatePlaylist(){return this.playlist().privacy.id===ml.PRIVATE;}isPublicPlaylist(){return this.playlist().privacy.id===ml.PUBLIC;}loadPlaylistElements(s){let{playlist:n,redirectToFirst:r=!1,reset:a=!1,position:l}=s;this.hooks.wrapObsFun(this.videoPlaylist.getPlaylistVideos.bind(this.videoPlaylist),{videoPlaylistId:n.uuid,componentPagination:this.playlistPagination},"video-watch","filter:api.video-watch.video-playlist-elements.get.params","filter:api.video-watch.video-playlist-elements.get.result").subscribe(({total:u,data:f})=>{a&&(this.playlistElements=[]),this.playlistElements=this.playlistElements.concat(f),this.playlistPagination.totalItems=u;let p=this.playlistElements.find(g=>!!g.video);if(!p){this.noPlaylistVideos=!0,this.noVideoFound.emit();return;}if(l&&this.updatePlaylistIndex(l),r){let g={queryParams:{start:p.startTimestamp,stop:p.stopTimestamp,playlistPosition:p.position},replaceUrl:!0};this.router.navigate([],g);}});}updatePlaylistIndex(s){if(!(this.playlistElements.length===0||!s)){s<0&&(s=this.playlist().videosLength+s+1);for(let n of this.playlistElements)if(n.video&&n.position>=s){this.currentPlaylistPosition=n.position,this.videoFound.emit(n.video.uuid),setTimeout(()=>{let r=document.querySelector(".element-"+this.currentPlaylistPosition),a=document.querySelector(".playlist");vl(r,a)||(a.scrollTop=r.offsetTop);});return;}this.onPlaylistVideosNearOfBottom(s);}}hasPreviousVideo(){return!!this.getPreviousVideo();}getPreviousVideo(){return this.findPlaylistVideo(this.currentPlaylistPosition-1,"previous");}hasNextVideo(){return!!this.getNextVideo();}getNextVideo(){return this.findPlaylistVideo(this.currentPlaylistPosition+1,"next");}navigateToPreviousPlaylistVideo(){let s=this.findPlaylistVideo(this.currentPlaylistPosition-1,"previous");if(!s)return;let n=s.startTimestamp,r=s.stopTimestamp;this.router.navigate([],{queryParams:{playlistPosition:s.position,start:n,stop:r}});}findPlaylistVideo(s,n){if(n==="next"&&s>this.playlistPagination.totalItems||n==="previous"&&s<1){if(!this.loopPlaylist)return;s=n==="previous"?this.playlistPagination.totalItems:1;}let r=this.playlistElements.find(l=>l.position===s);if(r?.video)return r;let a=n==="previous"?s-1:s+1;return this.findPlaylistVideo(a,n);}navigateToNextPlaylistVideo(){let s=this.findPlaylistVideo(this.currentPlaylistPosition+1,"next");if(!s)return;let n=s.startTimestamp,r=s.stopTimestamp;this.router.navigate([],{queryParams:{playlistPosition:s.position,start:n,stop:r}});}switchAutoPlayNextVideoPlaylist(){this.autoPlayNextVideoPlaylist=!this.autoPlayNextVideoPlaylist,this.setAutoPlayNextVideoPlaylistSwitchText();let s={autoPlayNextVideoPlaylist:this.autoPlayNextVideoPlaylist};this.auth.isLoggedIn()?this.userService.updateMyProfile(s).subscribe({next:()=>{this.auth.refreshUserInformation();},error:n=>this.notifier.handleError(n)}):this.userService.updateMyAnonymousProfile(s);}switchLoopPlaylist(){this.loopPlaylist=!this.loopPlaylist,this.setLoopPlaylistSwitchText(),_m.setItem(t.SESSION_STORAGE_LOOP_PLAYLIST,this.loopPlaylist.toString());}setAutoPlayNextVideoPlaylistSwitchText(){this.autoPlayNextVideoPlaylistSwitchText=this.autoPlayNextVideoPlaylist?"Stop autoplaying next video":"Autoplay next video";}setLoopPlaylistSwitchText(){this.loopPlaylistSwitchText=this.loopPlaylist?"Stop looping playlist videos":"Loop playlist videos";}};xe(t,"SESSION_STORAGE_LOOP_PLAYLIST","loop_playlist"),xe(t,"\u0275fac",function(n){return new(n||t)();}),xe(t,"\u0275cmp",mt({type:t,selectors:[["my-video-watch-playlist"]],inputs:{playlist:[1,"playlist"]},outputs:{videoFound:"videoFound",noVideoFound:"noVideoFound"},decls:1,vars:1,consts:()=>{let s;s="Unlisted";let n;n="Private";let r;return r="Public",[s,n,r,["myInfiniteScroller","",1,"widget-root","playlist",3,"onItself"],["myInfiniteScroller","",1,"widget-root","playlist",3,"nearOfBottom","onItself"],[1,"widget-header","playlist-info"],[1,"widget-title","playlist-display-name"],[1,"pt-badge","badge-warning"],[1,"pt-badge","badge-danger"],[1,"pt-badge","badge-info"],[1,"playlist-by-index"],[1,"playlist-by"],[1,"playlist-index"],[1,"playlist-control
277s"],["placement","bottom auto","container","body",1,"border-0","p-0","me-2",3,"click","ngClass","ngbTooltip","ariaLabel"],["iconName","videos"],["placement","bottom auto","container","body",1,"border-0","p-0",3,"click","ngClass","ngbTooltip","ariaLabel"],["iconName","repeat"],[3,"ngClass"],[3,"elementRemoved","playlistElement","playlist","owned","playing","accountLink","position"]];},template:function(n,r){n&1&&we(0,HL,22,18,"div",3),n&2&&Ae(r.playlist()&&(r.currentPlaylistPosition||r.noPlaylistVideos)?0:-1);},dependencies:[kl,ei,Tn,bi,yg],styles:[`.widget-root[_ngcontent-%COMP%]{position:relative;min-width:200px;width:25vw;max-width:470px;height:66vh;background-color:var(--bg);overflow-y:auto;border-bottom:1px solid var(--bg-secondary-400)}.widget-root[_ngcontent-%COMP%] .widget-header[_ngcontent-%COMP%]{background-color:var(--bg-secondary-400);padding:1rem 2rem}.widget-root[_ngcontent-%COMP%] .widget-content-padded[_ngcontent-%COMP%]{padding:0 2rem}.widget-root[_ngcontent-%COMP%] .widget-title[_ngcontent-%COMP%]{font-size:18px;font-weight:600}.widget-root[_ngcontent-%COMP%] .widget-title[_ngcontent-%COMP%] .pt-badge[_ngcontent-%COMP%]{margin-inline-start:.3125rem}.widget-root[_ngcontent-%COMP%] .widget-content[_ngcontent-%COMP%]{padding-top:.5rem;padding-bottom:.5rem} 278/*# sourceMappingURL=player-widget.component-5KSXO4TU.css.map */`,`.playlist[_ngcontent-%COMP%] .playlist-by-index[_ngcontent-%COMP%]{color:var(--fg-300);display:flex}.playlist[_ngcontent-%COMP%] .playlist-by-index[_ngcontent-%COMP%] .playlist-by[_ngcontent-%COMP%]{margin-inline-end:.3125rem}.playlist[_ngcontent-%COMP%] .playlist-by-index[_ngcontent-%COMP%] .playlist-index[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child:after{content:"/";margin:0 3px}.playlist[_ngcontent-%COMP%] .playlist-controls[_ngcontent-%COMP%]{display:flex;margin:10px 0}.playlist[_ngcontent-%COMP%] .playlist-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:not(.active){opacity:.5}.playlist[_ngcontent-%COMP%] my-video-playlist-element-miniature[_ngcontent-%COMP%] .video .position{margin-inline-end:0}.playlist[_ngcontent-%COMP%] my-video-playlist-element-miniature[_ngcontent-%COMP%] .video .video-info .video-info-name{font-size:15px}.playlist[_ngcontent-%COMP%] my-video-playlist-element-miniature[_ngcontent-%COMP%] my-video-thumbnail .video-thumbnail{width:90px;height:50px}.playlist[_ngcontent-%COMP%] my-video-playlist-element-miniature[_ngcontent-%COMP%] .fake-thumbnail{width:90px;height:50px} 279/*# sourceMappingURL=video-watch-playlist.component-BXPBYSVB.css.map */`]}));let e=t;return e;})();var zL=["videoWatchPlaylist"],GL=["subscribeButton"],WL=["playerElement"],qL=e=>({"theater-enabled":e}),KL=e=>[e],YL=e=>["/c",e],hT=e=>["/a",e];function XL(e,t){e&1&&(Y(0,"div",11),cs(1),Se(2,3),us(),Be(3,"br"),cs(4),Se(5,4),us(),W());}function QL(e,t){if(e&1){let i=ct();Y(0,"my-video-transcription",21),De("segmentClicked",function(n){ke(i);let r=se();return Pe(r.handleTimestampClicked(n));})("closeTranscription",function(){ke(i);let n=se();return Pe(n.transcriptionWidgetOpened=!1);}),W();}if(e&2){let i=se();Te("video",i.video)("captions",i.videoCaptions)("currentTime",i.getCurrentTime());}}function JL(e,t){if(e&1&&(Y(0,"a",40),Ve(1),W(),Y(2,"a",41)(3,"span"),Se(4,6),W()()),e&2){let i=se(2);Te("routerLink",st(4,YL,i.video.byVideoChannel)),Q(),ot(i.video.channel.displayName),Q(),Te("routerLink",st(6,hT,i.video.byAccount)),Q(2),Vi(i.video.byAccount),$i(4);}}function ZL(e,t){if(e&1&&(Y(0,"a",35)(1,"span"),Se(2,7),W()()),e&2){let i=se(2);Te("routerLink",st(2,hT,i.video.byAccount)),Q(2),Vi(i.video.byAccount),$i(2);}}function eM(e,t){if(e&1){let i=ct();Y(0,"div",19)(1,"div",22)(2,"div",23)(3,"div")(4,"div",24)(5,"h1",25),Ve(6),W(),Y(7,"div",26)(8,"div",27),cs(9),Qp(10,5),Be(11,"my-date-toggle",28),Jp(),us(),Ve(12," \u2022 "),Be(13,"my-video-views-counter",29),W(),Y(14,"my-action-buttons",30),De("showTranscriptionWidget",function(){ke(i);let n=se();return Pe(n.transcriptionWidgetOpened=!0);})("hideTranscriptionWidget",function(){ke(i);let n=se();return Pe(n.transcriptionWidgetOpened=!1);}),W()()(),Y(15,"div",31)(16,"div",32),Be(17,"my-account-on-channel-avatar",33),Y(18,"div",34),we(19,JL,5,8)(20,ZL,3,4,"a",35),W()(),Be(21,"my-subscribe-button",36,2),W()()(),Y(23,"my-video-description",37),De("timestampClicked",function(n){ke(i);let r=se();return Pe(r.handleTimestampClicked(n));}
279),W(),Be(24,"my-video-attributes",20),Y(25,"my-video-comments",38),De("timestampClicked",function(n){ke(i);let r=se();return Pe(r.handleTimestampClicked(n));}),W()(),Y(26,"my-recommended-videos",39),De("gotRecommendations",function(n){ke(i);let r=se();return Pe(r.onRecommendations(n));}),W()();}if(e&2){let i=se();Q(6),ot(i.video.name),Q(5),Te("date",i.video.publishedAt),Q(2),Te("isLive",i.video.isLive)("viewers",i.video.viewers)("views",i.video.views),Q(),Te("video",i.video)("videoPassword",i.videoPassword)("videoCaptions",i.videoCaptions)("isUserLoggedIn",i.isUserLoggedIn())("isUserOwner",i.isUserOwner())("transcriptionWidgetOpened",i.transcriptionWidgetOpened)("playlist",i.playlist)("currentTime",i.getCurrentTime())("currentPlaylistPosition",i.getCurrentPlaylistPosition()),Q(3),Te("account",i.video.account)("channel",i.video.channel)("internalHref",i.getAccountOrChannelRouterLink())("showChannel",!i.isChannelDisplayNameGeneric()),Q(2),Ae(i.isChannelDisplayNameGeneric()?20:19),Q(2),Te("videoChannels",st(28,KL,i.video.channel)),Q(2),Te("video",i.video),Q(),Te("video",i.video),Q(),Te("video",i.video)("videoPassword",i.videoPassword)("user",i.authUser),Q(),Te("displayAsRow",i.displayOtherVideosAsRow())("currentVideo",i.video)("playlist",i.playlist);}}function tM(e,t){if(e&1&&Be(0,"my-privacy-concerns",20),e&2){let i=se();Te("video",i.video);}}var iM=(0,uT.default)("peertube:watch:VideoWatchComponent"),bf=(()=>{let t=class t{route=be(cl);router=be(ul);videoService=be(Hr);playlistService=be(Rl);liveVideoService=be(Dl);confirmService=be(Sl);authService=be(Ss);userService=be(es);serverService=be($r);restExtractor=be(Mm);notifier=be(_i);zone=be(Hp);videoCaptionService=be(Ll);videoChapterService=be(bg);playerSettingsService=be(Ml);hotkeysService=be(wl);hooks=be(Cn);pluginService=be(Il);peertubeSocket=be(Bm);screenService=be(En);videoFileTokenService=be(sg);location=be(nm);metaService=be(Fm);localeId=be(dl);videoWatchPlaylist=Mt("videoWatchPlaylist");subscribeButton=Mt("subscribeButton");playerElement=Mt("playerElement");peertubePlayer;theaterEnabled=!1;video=null;videoCaptions=[];videoChapters=[];liveVideo;videoPassword;storyboards=[];playerSettings;playlistPosition;playlist=null;remoteServerDown=!1;noPlaylistVideoFound=!1;transcriptionWidgetOpened=!1;nextRecommendedVideoId="";nextRecommendedVideoTitle="";videoFileToken;currentTime;paramsSub;queryParamsSub;configSub;liveVideosSub;serverConfig;hotkeys=[];onPlayerTimeUpdate=()=>{let s=this.peertubePlayer?.getPlayer();if(!s)return;let n=Math.floor(s.currentTime());(!this.currentTime||Math.abs(n-this.currentTime)>=1)&&(iM("Updating current time to "+n),this.zone.run(()=>this.currentTime=n));};onPlayerEnded=()=>{this.zone.run(()=>this.endLive());};onPlayerTheaterChange=(s,n)=>{this.zone.run(()=>this.theaterEnabled=n);};get authUser(){return this.authService.getUser();}get anonymousUser(){return this.userService.getAnonymousUser();}ngOnInit(){return Qe(this,null,function*(){this.serverConfig=this.serverService.getHTMLConfig(),this.loadRouteParam
279s(),this.loadRouteQuery(),this.theaterEnabled=$h(),this.hooks.runAction("action:video-watch.init","video-watch"),setTimeout(wy,1500);let s=yield this.hooks.wrapFun(this.buildPeerTubePlayerConstructorOptions.bind(this),{urlOptions:this.getUrlOptions()},"video-watch","filter:internal.video-watch.player.build-options.params","filter:internal.video-watch.player.build-options.result");this.peertubePlayer=new nT(s);});}ngOnDestroy(){this.unbindPlayerEventListeners(),this.peertubePlayer&&this.peertubePlayer.destroy(),this.paramsSub&&this.paramsSub.unsubscribe(),this.queryParamsSub&&this.queryParamsSub.unsubscribe(),this.configSub&&this.configSub.unsubscribe(),this.liveVideosSub&&this.liveVideosSub.unsubscribe(),this.video?.isLive&&this.peertubeSocket.unsubscribeLiveVideos(this.video.id),this.hotkeysService.remove(this.hotkeys),this.metaService.revertMetaTags();}getCurrentTime(){return this.currentTime;}getCurrentPlaylistPosition(){return this.videoWatchPlaylist().currentPlaylistPosition;}onRecommendations(s){if(s.length===0)return;let n=s[0];this.nextRecommendedVideoId=n.shortUUID,this.nextRecommendedVideoTitle=n.name;}handleTimestampClicked(s){!this.peertubePlayer||this.video.isLive||!this.peertubePlayer.getPlayer()||(this.peertubePlayer.setCurrentTime(s),Em());}onPlaylistVideoFound(s){this.loadVideo({videoId:s,forceAutoplay:!1});}onPlaylistNoVideoFound(){this.noPlaylistVideoFound=!0;}isUserLoggedIn(){return this.authService.isLoggedIn();}isUserOwner(){return this.video.isLocal===!0&&this.video.account.name===this.authUser?.username;}isChannelDisplayNameGeneric(){return[`Main ${this.video.channel.ownerAccount.name} channel`,`Default ${this.video.channel.ownerAccount.name} channel`].includes(this.video.channel.displayName);}getAccountOrChannelRouterLink(){return this.isChannelDisplayNameGeneric()?`/a/${this.video.byAccount}`:`/c/${this.video.byVideoChannel}`;}displayOtherVideosAsRow(){return this.screenService.getWindowInnerWidth()<=1100;}
279loadRouteParams(){this.paramsSub=this.route.params.subscribe(s=>{let n=s.videoId;if(n)return this.loadVideo({videoId:n,forceAutoplay:!1});let r=s.playlistId;if(r)return this.loadPlaylist(r);});}loadRouteQuery(){this.queryParamsSub=this.route.queryParams.subscribe(s=>{if(!this.parsePlaylistPosition(s))return;this.videoWatchPlaylist().updatePlaylistIndex(this.playlistPosition);let n=s.start;this.peertubePlayer?.getPlayer()&&n&&this.peertubePlayer.setCurrentTime(parseInt(n,10));});}parsePlaylistPosition(s){let n=s.playlistPosition;return n?(this.playlistPosition=n==="last"?-1:parseInt(n+"",10),isNaN(this.playlistPosition)&&(Vr.error(`playlistPosition query param '${n}' was parsed as NaN, defaulting to 1.`),this.playlistPosition=1),!0):!1;}loadVideo(s){let{videoId:n,liveRefresh:r,forceAutoplay:a,videoPassword:l}=s;if(!r&&this.isSameElement(this.video,n))return;let u=this.hooks.wrapObsFun(this.videoService.getVideo.bind(this.videoService),{videoId:n,videoPassword:l},"video-watch","filter:api.video-watch.video.get.params","filter:api.video-watch.video.get.result").pipe(gn(f=>f.isLive?this.liveVideoService.getVideoLive(f.uuid,l).pipe(ir(p=>({live:p,video:f}))):$o({video:f,live:void 0})),gn(({video:f,live:p})=>Lm(f)?this.videoFileTokenService.getVideoFileToken({videoUUID:f.uuid,videoPassword:l}).pipe(ir(({token:g})=>({video:f,live:p,videoFileToken:g}))):$o({video:f,live:p,videoFileToken:void 0})));Fp([u,this.videoCaptionService.listCaptions(n,l),this.videoChapterService.getChapters({videoId:n,videoPassword:l}),this.videoService.getStoryboards(n,l),this.playerSettingsService.getVideoSettings({videoId:n,videoPassword:l,raw:!1}),this.userService.getAnonymousOrLoggedUser()]).subscribe({next:([{video:f,live:p,videoFileToken:g},v,T,y,A,I])=>{this.onVideoFetched({video:f,live:p,videoCaptions:v.data,videoChapters:T.chapters,storyboards:y,videoFileToken:g,videoPassword:l,playerSettings:A,loggedInOrAnonymousUser:I,forceAutoplay:a}).catch(P=>{this.handleGlobalError(P);});},error:f=>Qe(this,null,function*(){if(f.body.code===_n.VIDEO_REQUIRES_PASSWORD||f.body.code===_n.INCORRECT_VIDEO_PASSWORD){let{confirmed:p,password:g}=yield this.handleVideoPasswordError(f);if(p===!1)return this.location.back();this.loadVideo(pt(ze({},s),{videoPassword:g}));}else this.handleRequestError(f);})});}loadPlaylist(s){this.isSameElement(this.playlist,s)||(this.playlistPosition=void 0,this.noPlaylistVideoFound=!1,this.playlistService.getVideoPlaylist(s).subscribe({next:n=>{this.playlist=n,this.parsePlaylistPosition(this.route.snapshot.queryParams),this.videoWatchPlaylist().loadPlaylistElements({playlist:n,redirectToFirst:!this.playlistPosition,position:this.playlistPosition,reset:!0});},error:n=>this.handleRequestError(n)}));}isSameElement(s,n){return s?s.id+""===n||s.uuid===n||s.shortUUID===n:!1;}handleRequestError(s){return Qe(this,null,function*(){let n=s.body;if(n?.code===_n.DOES_NOT_RESPECT_FOLLOW_CONSTRAINTS&&n.originUrl){let r=n.originUrl+(window.location.search??"");if((yield this.confirmService.confirm("This video is not available on "+this.serverConfig.instance.name+". Do you want to be redirected on the origin platform: <a href=\""+r+"\">"+r+"</a>?","Redirection"))===!0)return window.location.href=r;}return this.restExtractor.redirectTo404IfNotFound(s,"video",[pl.BAD_REQUEST_400,pl.FORBIDDEN_403,pl.NOT_FOUND_404]).subscribe({next:()=>{},error:r=>this.notifier.handleError(r)});});}handleGlobalError(s){if(typeof s=="string"){this.notifier.error(s);return;}return this.notifier.handleError(s);}handleVideoPasswordError(s){let n;return s.body.code===_n.VIDEO_REQUIRES_PASSWORD?n=!1:s.body.code===_n.INCORRECT_VIDEO_PASSWORD&&(this.videoPassword=void 0,n=!0),this.confirmService.confirmWithPassword({message:"You need a password to watch this video",title:"This video is password protected",errorMessage:n?"Incorrect password, please enter a correct password":""});}onVideoFetched(s){return Qe(this,null,function*(){let{video:n,live:r,videoCaptions:a,videoChapters:l,storyboards:c,videoFileToken:u,videoPassword:f,playerSettings:p,loggedInOrAnonymousUser:g,forceAutoplay:v}=s;if(this.subscribeToLiveEventsIfNeeded(this.video,n),this.video=n,this.videoCaptions=a,this.videoChapters=l,this.liveVideo=r,this.videoFileToken=u,this.videoPassword=f,this.storyboards=c,this.playerSettings=p,this.remoteServerDown=!1,this.currentTime=void 0,this.transcriptionWidgetOpened&&this.videoCaptions.length===0&&(this.transcriptionWidgetOpened=!1),this.video.isNSFWHiddenForUser(g,this.serverConfig)&&(yield this.confirmService.confirm("This video contains sensitive content. Are you sure you want to display the video page?","Sensitive video",{confirmButtonText:"Display the page",cancelButtonText:"Quit that page",moreInfo:n.nsfwSummary?{title:"Learn more",content:n.nsfwSummary}:void 0}))===!1)return this.location.back();this.buildHotkeysHelp(n),this.setMetaTags(n),this.loadPlayer({loggedInOrAnonymousUser:g,forceAutoplay:v}).catch(y=>Vr.error("Cannot build the player",y));let T={videojs:_f,video:this.video,playlist:this.playlist};this.hooks.runAction("action:video-watch.video.loaded","video-watch",T);});}loadPlayer(s){return Qe(this,null,function*(){let{loggedInOrAnonymousUser:n,forceAutoplay:r}=s,a=this.video.state.id;if(a===bn.LIVE_ENDED||a===bn.WAITING_FOR_LIVE){this.updatePlayerOnNoLive({hasPlayed:!1}
279);return;}this.peertubePlayer?.enable();let l={video:this.video,videoCaptions:this.videoCaptions,videoChapters:this.videoChapters,storyboards:this.storyboards,liveVideo:this.liveVideo,videoFileToken:this.videoFileToken,videoPassword:this.videoPassword,playerSettings:this.playerSettings,urlOptions:this.getUrlOptions(),loggedInOrAnonymousUser:n,forceAutoplay:r,user:this.authUser},c=yield this.hooks.wrapFun(this.buildPeerTubePlayerLoadOptions.bind(this),l,"video-watch","filter:internal.video-watch.player.load-options.params","filter:internal.video-watch.player.load-options.result");this.zone.runOutsideAngular(()=>Qe(this,null,function*(){yield this.peertubePlayer.load(c);let u=this.peertubePlayer.getPlayer();this.bindPlayerEventListeners(u,this.video.isLive),this.hooks.runAction("action:video-watch.player.loaded","video-watch",{player:u,playlist:this.playlist,playlistPosition:this.playlistPosition,videojs:_f,video:this.video});}));});}bindPlayerEventListeners(s,n){this.unbindPlayerEventListeners(s),s.on("timeupdate",this.onPlayerTimeUpdate),s.on("theater-change",this.onPlayerTheaterChange),n&&s.one("ended",this.onPlayerEnded);}unbindPlayerEventListeners(s){let n=s??this.peertubePlayer?.getPlayer();n&&(n.off("timeupdate",this.onPlayerTimeUpdate),n.off("theater-change",this.onPlayerTheaterChange),n.off("ended",this.onPlayerEnded));}hasNextVideo(){return this.playlist?this.videoWatchPlaylist().hasNextVideo():!0;}getNextVideoTitle(){return this.playlist?this.videoWatchPlaylist().getNextVideo()?.video?.name||"":this.nextRecommendedVideoTitle;}playNextVideoInAngularZone(){this.zone.run(()=>{if(this.playlist){this.videoWatchPlaylist().navigateToNextPlaylistVideo();return;}this.nextRecommendedVideoId&&this.router.navigate(["/w",this.nextRecommendedVideoId]);});}isAutoplay(s,n){if(this.route.snapshot.params.threadId||s.isNSFWHiddenOrWarned(n,this.serverConfig))return!1;if(n)return n.autoPlayVideo;throw new Error("Cannot guess autoplay because user and anonymousUser are not defined");}buildPeerTubePlayerConstructorOptions(s){let{urlOptions:n}=s;return{playerElement:()=>this.playerElement().nativeElement,enableHotkeys:!0,inactivityTimeout:2500,theaterButton:!0,controls:n.controls,controlBar:n.controlBar,muted:n.muted,loop:n.loop,playbackRate:n.playbackRate!==void 0&&!isNaN(parseFloat(n.playbackRate+""))?parseFloat(n.playbackRate+""):void 0,instanceName:this.serverConfig.instance.name,language:this.localeId,metricsUrl:this.serverConfig.openTelemetry.metrics.enabled?bm.apiUrl+"/api/v1/metrics/playback":null,metricsInterval:this.serverConfig.openTelemetry.metrics.playbackStatsInterval,videoViewIntervalMs:this.isUserLoggedIn()?this.serverConfig.views.videos.watchingInterval.users:this.serverConfig.views.videos.watchingInterval.anonymous,authorizationHeader:()=>this.authService.getRequestHeaderValue(),serverUrl:Sm(),stunServers:this.serverConfig.webrtc.stunServers,errorNotifier:r=>this.notifier.error(r),peertubeLink:()=>!1,pluginsManager:this.pluginService.getPluginsManager(),autoPlayerRatio:{cssRatioVariable:"--co-player-ratio",cssPlayerPortraitModeVariable:"--co-player-portrait-mode"}};}buildPeerTubePlayerLoadOptions(s){let{video:n,liveVideo:r,videoCaptions:a,videoChapters:l,storyboards:c,videoFileToken:u,videoPassword:f,urlOptions:p,loggedInOrAnonymousUser:g,forceAutoplay:v,playerSettings:T}=s,y;p.playerMode?p.playerMode==="p2p-media-loader"?y="p2p-media-loader":y="web-video":n.hasHlsPlaylist()?y="p2p-media-loader":y="web-video";let A;if(n.hasHlsPlaylist()){let x=n.getHlsPlaylist();A={playlistUrl:x.playlistUrl,segmentsSha256Url:x.segmentsSha256Url,redundancyBaseUrls:x.redundancies.map(D=>D.baseUrl),trackerAnnounce:n.trackerUrls,videoFiles:x.files};}let P=(()=>{if(n.isLive)return;let x=p.startTime!==void 0,D=n.userHistory&&(!this.playlist||p.resume!==void 0),O=sc(n.uuid);if(x)return mm(p.startTime);let V=0;return D&&(V=n.userHistory.currentTime),O&&(V=O.duration),n.duration-V<=1&&(V=0),V;})(),k=a.map(x=>({label:x.language.label,language:x.language.id,automaticallyGenerated:x.automaticallyGenerated,src:x.fileUrl})),w=c.length!==0?{url:c[0].fileUrl,height:c[0].spriteHeight,width:c[0].spriteWidth,interval:c[0].spriteDuration}:void 0,R=n.isLive?{latencyMode:r.latencyMode,dvrEnabled:r.dvrWindow>0}:void 0;return{mode:y,theme:p.playerTheme||T.theme,autoplay:this.isAutoplay(n,g),forceAutoplay:v,duration:n.duration,p2pEnabled:Cl(n,this.serverConfig,g.p2pEnabled),startTime:P,stopTime:p.stopTime,subtitle:p.subtitle,embedUrl:n.embedUrl,embedTitle:n.name,isLive:n.isLive,liveOptions:R,videoViewUrl:this.videoService.getVideoViewUrl(n.uuid),videoFileToken:()=>u,requiresUserAuth:xm(n,f),requiresPassword:n.privacy.id===Ur.PASSWORD_PROTECTED&&!n.canBypassPassword(this.authUser),videoPassword:()=>f,thumbnails:n.isNSFWBlurForUser(g,this.serverConfig)?null:n.thumbnails,nsfwWarning:n.isNSFWHiddenOrWarned(g,this.serverConfig)?{flags:n.nsfwFlags,summary:n.nsfwSummary}:void 0,videoCaptions:k,videoChapters:l,storyboard:w,videoShortUUID:n.shortUUID,videoUUID:n.uuid,videoRatio:n.aspectRatio,previousVideo:{enabled:this.playlist&&this.videoWatchPlaylist().hasPreviousVideo(),handler:this.playlist?()=>this.zone.run(()=>this.videoWatchPlaylist().navigateToPreviousPlaylistVideo()):void 0,displayControlBarButton:!!this.playlist},nextVideo:{enabled:this.hasNextVideo(),handler:()=>this.playNextVideoInAngularZone(),getVideoTitle:()=>this.getNextVideoTitle(),displayControlBarButton:this.hasNextVideo()},upnext:{isEnabled:()=>this.playlist?g?.autoPlayNextVideoPlaylist:g?.autoPlayNextVideo,isSuspended:x=>
279!Cm(x.el(),80),timeout:this.playlist?0:5e3},hls:A,webVideo:{videoFiles:n.files}};}subscribeToLiveEventsIfNeeded(s,n){return Qe(this,null,function*(){s&&s.id!==n.id&&this.peertubeSocket.unsubscribeLiveVideos(s.id),n.isLive&&(this.liveVideosSub||(this.liveVideosSub=this.buildLiveEventsSubscription()),yield this.peertubeSocket.subscribeToLiveVideosSocket(n.id));});}buildLiveEventsSubscription(){return this.peertubeSocket.getLiveVideosObservable().subscribe(({type:s,payload:n})=>{if(s==="state-change")return this.handleLiveStateChange(n.state);if(s==="views-change")return this.handleLiveViewsChange(n.viewers);if(s==="force-end")return this.endLive();});}handleLiveStateChange(s){if(s!==bn.PUBLISHED)return;Vr.info("Loading video after live update.");let n=this.video.uuid;this.loadVideo({videoId:n,forceAutoplay:!0,liveRefresh:!0});}handleLiveViewsChange(s){if(!this.video){Vr.error("Cannot update video live views because video is no defined.");return;}Vr.info("Updating live views."),this.video.viewers=s;}updatePlayerOnNoLive({hasPlayed:s}){this.peertubePlayer.unload(),this.peertubePlayer.disable(),(s||!this.video.isNSFWBlurForUser(this.authUser||this.anonymousUser,this.serverConfig))&&this.peertubePlayer.setPoster(this.video.thumbnails);}buildHotkeysHelp(s){this.hotkeys.length!==0&&this.hotkeysService.remove(this.hotkeys),this.hotkeys=[new ti("f",n=>n,"Enter/exit fullscreen"),new ti("space",n=>n,"Play/Pause the video"),new ti("m",n=>n,"Mute/unmute the video"),new ti("up",n=>n,"Increase the volume"),new ti("down",n=>n,"Decrease the volume"),new ti("t",n=>(this.theaterEnabled=!this.theaterEnabled,!1),"Toggle theater mode")],s.isLive||(this.hotkeys=this.hotkeys.concat([new ti("0-9",n=>n,"Skip to a percentage of the video: 0 is 0% and 9 is 90%"),new ti("right",n=>n,"Seek the video forward"),new ti("left",n=>n,"Seek the video backward"),new ti(">",n=>n,"Increase playback rate"),new ti("<",n=>n,"Decrease playback rate"),new ti(",",n=>n,"Navigate in the video to the previous frame"),new ti(".",n=>n,"Navigate in the video to the next frame")])),this.isUserLoggedIn()&&(this.hotkeys=this.hotkeys.concat([new ti("shift+s",()=>{let n=this.subscribeButton();return n.isSubscribedToAll()?n.unsubscribe():n.subscribe(),!1;},"Subscribe to the account")])),this.hotkeysService.add(this.hotkeys);}setMetaTags(s){if(this.metaService.setTitle(s.name),this.metaService.setDescription(s.description),this.playlist?.isLocal){this.metaService.setRSSFeeds(vm({url:Zc(),playlist:this.playlist,titles:{instanceVideosFeed:""+this.serverConfig.instance.name+" - Videos feed",playlistPodcastFeed:""+this.playlist.displayName+" - Podcast feed"}}));return;}this.metaService.setRSSFeeds(gm({url:Zc(),video:pt(ze({},s),{privacy:s.privacy.id}),titles:{instanceVideosFeed:""+this.serverConfig.instance.name+" - Videos feed",videoCommentsFeed:""+s.name+" - Comments feed"}}));}getUrlOptions(){let s=this.route.snapshot.queryParams;return{resume:s.resume,startTime:s.start,stopTime:s.stop,muted:gl(s.muted),loop:gl(s.loop),subtitle:s.subtitle,playerMode:s.mode,playerTheme:s.playerTheme,playbackRate:s.playbackRate,controlBar:gl(s.controlBar),peertubeLink:!1};}endLive(){this.video.isLive&&(this.video.state.id=bn.LIVE_ENDED,this.updatePlayerOnNoLive({hasPlayed:!0}));}};xe(t,"\u0275fac",function(n){return new(n||t)();}),xe(t,"\u0275cmp",mt({type:t,selectors:[["my-video-watch"]],viewQuery:function(n,r){n&1&&vi(r.videoWatchPlaylist,zL,5)(r.subscribeButton,GL,5)(r.playerElement,WL,5),n&2&&yi(3);},decls:16,vars:13,consts:()=>{let s;s="Sorry, but this video did not load because the remote instance did not respond.";let n;n="Please try refreshing the page, or try again later.";let r;r="Account page";let a;a="Published "+"\uFFFD#11\uFFFD"+""+"\uFFFD/#11\uFFFD"+"";let l;l="Go to the channel page";let c;c="Go to the account page";let u;u="By "+"\uFFFD0\uFFFD"+"";let f;return f=""+"\uFFFD0\uFFFD"+"",[["playerElement",""],["videoWatchPlaylist",""],["subscribeButton",""],s,n,a,u,f,[1,"root",3,"ngClass","hidden"],[1,"margin-content","player-margin-content"],["id","video-wrapper"],[1,"remote-server-down"],["id","videojs-wrapper"],["playsinline","true",1,"video-js","vjs-peertube-skin"],[1,"player-widget-component"],[3,"noVideoFound","videoFound","playlist","hidden"],[3,"video","captions","currentTime"],["pluginId","player-next"],[1,"d-block","mt-2",3,"video","user","noPlaylistVideoFound"],[1,"margin-content","video-bottom"],[3,"video"],[3,"segmentClicked","closeTranscription","video","captions","currentTime"],[1,"video-info"],[1,"video-info-first-row"],[1,"d-flex","justify-content-between","flex-direction-column"],[1,"video-info-name"],[1,"video-info-first-row-bottom"],[1,"video-info-date-views"],[3,"date"],[3,"isLive","viewers","views"],[3,"showTranscriptionWidget","hideTranscriptionWidget","video","videoPassword","videoCaptions","isUserLoggedIn","isUserOwner","transcriptionWidgetOpened","playlist","currentTime","currentPlaylistPosition"],[1,"pt-3","border-top","video-info-channel","d-flex"],[1,"video-info-channel-left","d-flex"],[3,"account","channel","internalHref","showChannel"],[1,"video-info-channel-left-links","ms-1"],["title",r,1,"single-link",3,"routerLink"],["size","small",3,"videoChannels"],[3,"timestampClicked","video"],[1,"border-top","pt-3",3,"timestampClicked","video","videoPassword","user"],[3,"gotRecommendations","displayAsRow","currentVideo","playlist"],["title",l,3,"routerLink"],["title",c,3,"routerLink"]];},template:function(n,r){n&1&&(Y(0,"div",8)(1,"div",9)(2,"div",10),we(3,XL,6,0,"div",11),Y(4,"div",12),Be(5,"video",13,0),W(),Y(7,"div",14)(8,"my-video-watch-playlist",15,1),De("noVideoFound",function(){return r.onPlaylistNoVideoFound();})("videoFound",function(l){return r.onPlaylistVideoFound(l);}),W(),we(10,QL,1,3,"my-video-transcription",16),W(),Be(11,"my-plugin-placeholder",17),W(),Be(12,"my-video-alert",18),W(),we(13,eM,27,30,"div",19),we(14,tM,1,1,"my-privacy-concerns",20),W(),Be(15,"my-player-styles")),n&2&&(Te("ngClass",st(11,qL,r.theaterEnabled))("hidden",!r.playlist&&!r.video),Q(3),Ae(r.remoteServerDown?3:-1),Q(5),Te("playlist",r.playlist)("hidden",r.transcriptionWidgetOpened),Q(2),Ae(r.transcriptionWidgetOpened?10:-1),Q(2),Te("video",r.video)("user",r.authUser)("noPlaylistVideoFound",r.noPlaylistVideoFound),Q(),Ae(r.video?13:-1),Q(),Ae(r.video?14:-1));},dependencies:[am,ei,cT,gg,Ng,Xm,Qm,Ig,$m,jr,mg,Bg,Fg,Dg,Ug,jg,rT,lT],styles:[`.blocked-label[_ngcontent-%COMP%]{font-weight:600}.placeholder-image[_ngcontent-%COMP%]{height:100%;max-width:100%;object-fit:contain}.flex-direction-column[_ngcontent-%COMP%]{flex-direction:column}
279.root.theater-enabled[_ngcontent-%COMP%] #video-wrapper[_ngcontent-%COMP%]{flex-direction:column;justify-content:center}.root.theater-enabled[_ngcontent-%COMP%] #video-wrapper[_ngcontent-%COMP%] #videojs-wrapper[_ngcontent-%COMP%]{width:100%;height:calc(100vh - var(--header-height) - 115px)}.root.theater-enabled[_ngcontent-%COMP%] #video-wrapper[_ngcontent-%COMP%] .video-js{--co-player-height: calc(100vh - var(--header-height) - 115px)}.root.theater-enabled[_ngcontent-%COMP%] #video-wrapper[_ngcontent-%COMP%] .player-widget-component[_ngcontent-%COMP%] .widget-root{width:100%!important;height:auto!important;max-height:300px!important;max-width:initial;border-bottom:1px solid var(--bg-secondary-400)!important}#video-wrapper[_ngcontent-%COMP%]{background-color:#000;display:flex;justify-content:center;border-radius:5px}#video-wrapper[_ngcontent-%COMP%] #videojs-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:center;flex-grow:1;height:66vh}#video-wrapper[_ngcontent-%COMP%] .video-js{--co-player-height: 66vh;--co-player-portrait-mode: 0;--co-player-ratio: 1.7777777778;width:100%;height:var(--co-player-height);max-width:calc(var(--co-player-height) * var(--co-player-ratio))}#video-wrapper[_ngcontent-%COMP%] .video-js video{outline:0;position:relative!important}.remote-server-down[_ngcontent-%COMP%]{color:#fff;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;background-color:#141313;width:100%;font-size:24px;height:500px}@media screen and (max-width:1000px){.remote-server-down[_ngcontent-%COMP%]{font-size:20px}}@media screen and (max-width:600px){.remote-server-down[_ngcontent-%COMP%]{font-size:16px}}#video-not-found[_ngcontent-%COMP%]{height:300px;line-height:300px;margin-top:50px;text-align:center;font-weight:600}.video-bottom[_ngcontent-%COMP%]{display:flex;margin-top:1.5rem}.video-info[_ngcontent-%COMP%]{flex-grow:1;min-width:1px;max-width:100%}.video-info-first-row[_ngcontent-%COMP%]{display:flex}.video-info-first-row[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child{flex-grow:1}.video-info-name[_ngcontent-%COMP%]{min-height:40px;font-size:27px;font-weight:600;flex-grow:1;word-break:break-word;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;margin-inline-end:calc(1.3125rem + .75vw)}@media(min-width:1200px){.video-info-name[_ngcontent-%COMP%]{margin-inline-end:1.875rem}}.video-info-first-row-bottom[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;width:100%;gap:.5rem;margin-bottom:1rem;flex-direction:column}.video-info-date-views[_ngcontent-%COMP%]{font-size:14px;margin-inline-end:.625rem}.video-info-channel[_ngcontent-%COMP%]{font-weight:600}.video-info-channel[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--fg)}.video-info-channel[_ngcontent-%COMP%] a[_ngcontent-%COMP%], .video-info-channel[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover, .video-info-channel[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:focus, .video-info-channel[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:active{text-decoration:none}.video-info-channel[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:focus:not(:focus-visible){outline:none}.video-info-channel[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{word-break:break-word;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.video-info-channel[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{opacity:.8}.video-info-channel-left[_ngcontent-%COMP%]{flex-grow:1}.video-info-channel-left[_ngcontent-%COMP%] .video-info-channel-left-links[_ngcontent-%COMP%]{display:flex;flex-direction:column;position:relative;line-height:1.37}.video-info-channel-left[_ngcontent-%COMP%] .video-info-channel-left-links[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:nth-of-type(2){font-weight:400;font-size:90%}.video-info-channel-left[_ngcontent-%COMP%] .video-info-channel-left-links[_ngcontent-%COMP%] a.single-link[_ngcontent-%COMP%]{margin-top:7px}my-subscribe-button[_ngcontent-%COMP%]{margin-inline-start:.3125rem}my-video-attributes[_ngcontent-%COMP%]{display:block;margin-bottom:15px;margin-inline-start:calc(1.4rem + 1.8vw)}@media(min-width:1200px){my-video-attributes[_ngcontent-%COMP%]{margin-inline-start:2.75rem}}my-action-buttons[_ngcontent-%COMP%]{display:block;width:max-content;margin-inline-start:auto;margin-inline-end:0}my-recommended-videos[_ngcontent-%COMP%]{display:block;min-width:250px;padding-inline-start:.9375rem}
279my-video-comments[_ngcontent-%COMP%]{display:inline-block;width:100%;margin-bottom:20px}@media screen and (max-width:1100px){#video-wrapper[_ngcontent-%COMP%]{flex-direction:column;justify-content:center}#video-wrapper[_ngcontent-%COMP%] .player-widget-component[_ngcontent-%COMP%] .widget-root{width:100%!important;height:auto!important;max-height:300px!important;max-width:initial;border-bottom:1px solid var(--bg-secondary-400)!important}.video-bottom[_ngcontent-%COMP%]{flex-direction:column}my-recommended-videos[_ngcontent-%COMP%]{padding-inline-start:0}}@media screen and (max-width:600px){#videojs-wrapper[_ngcontent-%COMP%]{height:initial!important}#videojs-wrapper[_ngcontent-%COMP%] .remote-server-down[_ngcontent-%COMP%], #videojs-wrapper[_ngcontent-%COMP%] .video-js{--co-player-portrait-mode: 1;--co-player-height: calc(100vw / var(--co-player-ratio)) !important;max-height:calc(100vh - var(--header-height) - 50px)}.video-bottom[_ngcontent-%COMP%]{margin-top:20px!important;padding-bottom:20px!important}.video-info[_ngcontent-%COMP%]{padding:0}.video-info-name[_ngcontent-%COMP%]{font-size:20px;height:auto}}@media screen and (max-width:500px){.margin-content.player-margin-content[_ngcontent-%COMP%]{margin:0!important}.video-info-name[_ngcontent-%COMP%]{font-size:18px}.video-info-date-views[_ngcontent-%COMP%]{font-size:14px}}#video-wrapper[_ngcontent-%COMP%] .video-js.vjs-fullscreen{max-width:unset} 280/*# sourceMappingURL=video-watch.component-PYS74WYI.css.map */`]}));let e=t;return e;})();var UF=[{path:"",providers:[Cg,fg,Jm,ig,Dl,zr,Hl,xl,eg,cg,dg,jl,Ml],children:[{path:"p/:playlistId",component:bf},{path:":videoId/comments/:commentId",redirectTo:":videoId"},{path:":videoId",component:bf}]}];export{UF as default};/**i18n:347eeb695970c32bc275618edc2e751c67145d9fc3012e70543c114a99b9e016*///# sourceMappingURL=chunk-Q7XIALLZ.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.