boss-web-player-sdk 1.1.40 → 1.1.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/core.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./src-CifLE2C5.cjs");exports.AnalyticsModule=e.AnalyticsModule,exports.BasePlayerPlugin=class{player;install(e){this.player=e,this.onInstall()}destroy(){this.onDestroy()}onDestroy(){}},exports.CastingModule=e.CastingModule,exports.ChaptersModule=e.ChaptersModule,exports.DRMModule=e.DRMModule,exports.FirebaseAnalyticsProvider=e.FirebaseAnalyticsProvider,exports.KeyMomentsModule=e.KeyMomentsModule,exports.SubtitlesModule=e.SubtitlesModule,exports.ThumbnailsModule=e.ThumbnailsModule,exports.VideoPlayerSDK=e.VideoPlayerSDK;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/src-CifLE2C5.cjs");exports.AnalyticsModule=e.AnalyticsModule,exports.BasePlayerPlugin=class{player;install(e){this.player=e,this.onInstall()}destroy(){this.onDestroy()}onDestroy(){}},exports.CastingModule=e.CastingModule,exports.ChaptersModule=e.ChaptersModule,exports.DRMModule=e.DRMModule,exports.FirebaseAnalyticsProvider=e.FirebaseAnalyticsProvider,exports.KeyMomentsModule=e.KeyMomentsModule,exports.SubtitlesModule=e.SubtitlesModule,exports.ThumbnailsModule=e.ThumbnailsModule,exports.VideoPlayerSDK=e.VideoPlayerSDK;
package/dist/core.d.ts CHANGED
@@ -36,7 +36,7 @@ export declare interface AnalyticsEvent {
36
36
  isAutoSwitch?: boolean;
37
37
  }
38
38
 
39
- export declare class AnalyticsModule {
39
+ export declare class AnalyticsModule implements IAnalyticsModule {
40
40
  private callback?;
41
41
  private heartbeatInterval?;
42
42
  private watchProgressTimer?;
@@ -107,7 +107,7 @@ export declare abstract class BasePlayerPlugin implements PlayerPlugin {
107
107
  protected onDestroy(): void;
108
108
  }
109
109
 
110
- export declare class CastingModule {
110
+ export declare class CastingModule implements ICastingModule {
111
111
  private isCasting;
112
112
  private castDeviceName;
113
113
  private onCastStateChangeCallback?;
@@ -157,7 +157,7 @@ export declare interface Chapter {
157
157
  description?: string;
158
158
  }
159
159
 
160
- export declare class ChaptersModule extends KeyMomentsModule {
160
+ export declare class ChaptersModule extends KeyMomentsModule implements IChaptersModule {
161
161
  }
162
162
 
163
163
  export declare interface DRMConfig {
@@ -170,7 +170,7 @@ export declare interface DRMConfig {
170
170
  watermarkText?: string;
171
171
  }
172
172
 
173
- export declare class DRMModule {
173
+ export declare class DRMModule implements IDRMModule {
174
174
  private config?;
175
175
  private watermarkElement?;
176
176
  private floatInterval?;
@@ -215,9 +215,108 @@ export declare interface FirebaseConfig {
215
215
  measurementId?: string;
216
216
  }
217
217
 
218
+ declare interface IAnalyticsModule {
219
+ getSessionSnapshot(): AnalyticsSessionSnapshot;
220
+ registerCallback(callback: AnalyticsCallback): void;
221
+ setAdBreaks(adBreaks: Array<{
222
+ startTime: number;
223
+ endTime: number;
224
+ }>): void;
225
+ track(eventType: AnalyticsEvent['eventType'], videoEl: HTMLVideoElement, extra?: Partial<AnalyticsEvent>): void;
226
+ startHeartbeat(videoEl: HTMLVideoElement, getExtra: () => Partial<AnalyticsEvent>, watchProgressInterval?: number): void;
227
+ stopHeartbeat(): void;
228
+ setBuffering(isBuffering: boolean, videoEl: HTMLVideoElement, getExtra: () => Partial<AnalyticsEvent>): void;
229
+ setAdBreak(inAdBreak: boolean, videoEl: HTMLVideoElement): void;
230
+ }
231
+
232
+ declare interface ICastingModule {
233
+ getCastingState(): {
234
+ isCasting: boolean;
235
+ deviceName: string;
236
+ };
237
+ getRemoteState(): RemoteCastState | null;
238
+ isSessionActive(): boolean;
239
+ getReceiverContentId(): string | null;
240
+ loadMedia(src: string, currentTime: number, title?: string): Promise<boolean>;
241
+ syncMedia(src: string, currentTime: number, title?: string): Promise<boolean>;
242
+ requestSession(currentSrc: string, currentTime: number, title?: string): Promise<void>;
243
+ stopCasting(): void;
244
+ destroy(): void;
245
+ remotePlayPause(): void;
246
+ remoteSeek(time: number): void;
247
+ remoteSetVolume(volume: number): void;
248
+ remoteSetMute(muted: boolean): void;
249
+ onCastStateChange(callback: (isCasting: boolean, deviceName: string) => void): void;
250
+ onRemoteStateChange(callback: (state: RemoteCastState) => void): void;
251
+ requestAirPlaySession(videoElement: HTMLVideoElement): void;
252
+ stopAirPlay(videoElement: HTMLVideoElement): void;
253
+ isAirPlayAvailable(): boolean;
254
+ }
255
+
256
+ declare interface IChaptersModule extends IKeyMomentsModule {
257
+ }
258
+
259
+ declare interface IDRMModule {
260
+ validateDomain(currentDomain: string): boolean;
261
+ getAuthToken(): string | undefined;
262
+ getAuthHeader(): string | undefined;
263
+ getRequestHeaders(): Record<string, string>;
264
+ setupWatermark(container: HTMLElement): void;
265
+ removeWatermark(): void;
266
+ isDRMProtected(): boolean;
267
+ getDRMDetails(): {
268
+ widevine: string | null;
269
+ playready: string | null;
270
+ fairplay: string | null;
271
+ authTokenPresent: boolean;
272
+ allowedDomains: string[];
273
+ };
274
+ }
275
+
276
+ declare interface IKeyMomentsModule {
277
+ setKeyMoments(keyMoments: KeyMoment[]): void;
278
+ getKeyMoments(): KeyMoment[];
279
+ getCurrentMoment(currentTime: number): {
280
+ keyMoment: KeyMoment | null;
281
+ index: number;
282
+ };
283
+ updateTime(currentTime: number): void;
284
+ onMomentChange(callback: (keyMoment: KeyMoment | null, index: number) => void): void;
285
+ setChapters(chapters: KeyMoment[]): void;
286
+ getChapters(): KeyMoment[];
287
+ getCurrentChapter(currentTime: number): {
288
+ chapter: KeyMoment | null;
289
+ index: number;
290
+ };
291
+ onChapterChange(callback: (chapter: KeyMoment | null, index: number) => void): void;
292
+ }
293
+
294
+ declare interface ISubtitlesModule {
295
+ getTracks(): SubtitleTrack[];
296
+ getActiveTrackId(): string;
297
+ setHlsTracks(hlsTracks: SubtitleTrack[]): void;
298
+ addTrack(track: SubtitleTrack): void;
299
+ onTrackSwitch(callback: (track: SubtitleTrack | null) => void): void;
300
+ setCustomSubtitleText(text: string): void;
301
+ setActiveTrack(trackId: string): Promise<void>;
302
+ updateTime(currentTime: number): void;
303
+ onSubtitleChange(callback: (text: string) => void): void;
304
+ }
305
+
306
+ declare interface IThumbnailsModule {
307
+ getThumbnail(time: number): {
308
+ url: string;
309
+ x: number;
310
+ y: number;
311
+ width: number;
312
+ height: number;
313
+ } | null;
314
+ hasThumbnails(): boolean;
315
+ }
316
+
218
317
  export declare type KeyMoment = Chapter;
219
318
 
220
- export declare class KeyMomentsModule {
319
+ export declare class KeyMomentsModule implements IKeyMomentsModule {
221
320
  private keyMoments;
222
321
  private currentMomentIndex;
223
322
  private onMomentChangeCallback?;
@@ -274,7 +373,7 @@ declare interface RemoteCastState {
274
373
  isMuted: boolean;
275
374
  }
276
375
 
277
- export declare class SubtitlesModule {
376
+ export declare class SubtitlesModule implements ISubtitlesModule {
278
377
  private tracks;
279
378
  private activeTrackId;
280
379
  private currentCues;
@@ -322,7 +421,7 @@ export declare interface ThumbnailConfig {
322
421
  totalCount: number;
323
422
  }
324
423
 
325
- export declare class ThumbnailsModule {
424
+ export declare class ThumbnailsModule implements IThumbnailsModule {
326
425
  private config?;
327
426
  constructor(config?: ThumbnailConfig);
328
427
  getThumbnail(time: number): {
@@ -342,13 +441,13 @@ export declare class VideoPlayerSDK {
342
441
  private dashInstance;
343
442
  private activeQuality;
344
443
  private qualityLevels;
345
- analytics: AnalyticsModule;
346
- keyMoments: KeyMomentsModule;
347
- chapters: ChaptersModule;
348
- subtitles: SubtitlesModule;
349
- drm: DRMModule;
350
- casting: CastingModule;
351
- thumbnails: ThumbnailsModule;
444
+ analytics: IAnalyticsModule;
445
+ keyMoments: IKeyMomentsModule;
446
+ chapters: IChaptersModule;
447
+ subtitles: ISubtitlesModule;
448
+ drm: IDRMModule;
449
+ casting: ICastingModule;
450
+ thumbnails: IThumbnailsModule;
352
451
  private hlsSubtitleCues;
353
452
  private hlsActiveSubtitleKey;
354
453
  private audioTrackList;
package/dist/core.js CHANGED
@@ -1 +1 @@
1
- import{a as s,c as a,i as r,l as t,n as o,o as l,r as e,s as i,t as n}from"./src-ChMUr4mo.js";var y=class{player;install(s){this.player=s,this.onInstall()}destroy(){this.onDestroy()}onDestroy(){}};export{t as AnalyticsModule,y as BasePlayerPlugin,e as CastingModule,l as ChaptersModule,r as DRMModule,a as FirebaseAnalyticsProvider,i as KeyMomentsModule,s as SubtitlesModule,o as ThumbnailsModule,n as VideoPlayerSDK};
1
+ import{a as s,c as a,i as r,l as t,n as o,o as l,r as n,s as e,t as i}from"./chunks/src-ChMUr4mo.js";var y=class{player;install(s){this.player=s,this.onInstall()}destroy(){this.onDestroy()}onDestroy(){}};export{t as AnalyticsModule,y as BasePlayerPlugin,n as CastingModule,l as ChaptersModule,r as DRMModule,a as FirebaseAnalyticsProvider,e as KeyMomentsModule,s as SubtitlesModule,o as ThumbnailsModule,i as VideoPlayerSDK};
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var e=Object.create,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,i=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty;const a=require("./src-CifLE2C5.cjs");let o=require("react");var c,l;l=null!=(c=o)?e(i(c)):{},o=((e,i,a,o)=>{if(i&&"object"==typeof i||"function"==typeof i)for(var c,l=n(i),u=0,d=l.length;u<d;u++)c=l[u],s.call(e,c)||void 0===c||t(e,c,{get:(e=>i[e]).bind(null,c),enumerable:!(o=r(i,c))||o.enumerable});return e})(t(l,"default",{value:c,enumerable:!0}),c);let u=require("react-dom"),d=require("react/jsx-runtime"),m=require("react-dom/client");var p=(...e)=>e.filter((e,t,r)=>Boolean(e)&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),h=e=>{const t=(e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase()))(e);return t.charAt(0).toUpperCase()+t.slice(1)},f={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},k=e=>{for(const t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1},b=(0,o.createContext)({}),y=(0,o.forwardRef)(({color:e,size:t,strokeWidth:r,absoluteStrokeWidth:n,className:i="",children:s,iconNode:a,...c},l)=>{const{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:m=!1,color:h="currentColor",className:y=""}=(0,o.useContext)(b)??{},g=n??m?24*Number(r??d)/Number(t??u):r??d;return(0,o.createElement)("svg",{ref:l,...f,width:t??u??f.width,height:t??u??f.height,stroke:e??h,strokeWidth:g,className:p("lucide",y,i),...!s&&!k(c)&&{"aria-hidden":"true"},...c},[...a.map(([e,t])=>(0,o.createElement)(e,t)),...Array.isArray(s)?s:[s]])}),g=(e,t)=>{const r=(0,o.forwardRef)(({className:r,...n},i)=>{return(0,o.createElement)(y,{ref:i,iconNode:t,className:p(`lucide-${s=h(e),s.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,r),...n});var s});return r.displayName=h(e),r},v=g("airplay",[["path",{d:"M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1",key:"ns4c3b"}],["path",{d:"m12 15 5 6H7Z",key:"14qnn2"}]]),x=g("captions",[["rect",{width:"18",height:"14",x:"3",y:"5",rx:"2",ry:"2",key:"12ruh7"}],["path",{d:"M7 15h4M15 15h2M7 11h2M13 11h4",key:"1ueiar"}]]),T=g("cast",[["path",{d:"M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6",key:"3zrzxg"}],["path",{d:"M2 12a9 9 0 0 1 8 8",key:"g6cvee"}],["path",{d:"M2 16a5 5 0 0 1 4 4",key:"1y1dii"}],["line",{x1:"2",x2:"2.01",y1:"20",y2:"20",key:"xu2jvo"}]]),w=g("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),j=g("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),S=g("cloud-off",[["path",{d:"M10.94 5.274A7 7 0 0 1 15.71 10h1.79a4.5 4.5 0 0 1 4.222 6.057",key:"1uxyv8"}],["path",{d:"M18.796 18.81A4.5 4.5 0 0 1 17.5 19H9A7 7 0 0 1 5.79 5.78",key:"99tcn7"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),E=g("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]),N=g("gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]),C=g("languages",[["path",{d:"m5 8 6 6",key:"1wu5hv"}],["path",{d:"m4 14 6-6 2-3",key:"1k1g8d"}],["path",{d:"M2 5h12",key:"or177f"}],["path",{d:"M7 2h1",key:"1t2jsx"}],["path",{d:"m22 22-5-10-5 10",key:"don7ne"}],["path",{d:"M14 18h6",key:"1m8k6r"}]]),M=g("list-video",[["path",{d:"M21 5H3",key:"1fi0y6"}],["path",{d:"M10 12H3",key:"1ulcyk"}],["path",{d:"M10 19H3",key:"108z41"}],["path",{d:"M15 12.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z",key:"ms4nik"}]]),R=g("maximize",[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]]),A=g("minimize",[["path",{d:"M8 3v3a2 2 0 0 1-2 2H3",key:"hohbtr"}],["path",{d:"M21 8h-3a2 2 0 0 1-2-2V3",key:"5jw1f3"}],["path",{d:"M3 16h3a2 2 0 0 1 2 2v3",key:"198tvr"}],["path",{d:"M16 21v-3a2 2 0 0 1 2-2h3",key:"ph8mxp"}]]),P=g("pause",[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]]),I=g("picture-in-picture",[["path",{d:"M2 10h6V4",key:"zwrco"}],["path",{d:"m2 4 6 6",key:"ug085t"}],["path",{d:"M21 10V7a2 2 0 0 0-2-2h-7",key:"git5jr"}],["path",{d:"M3 14v2a2 2 0 0 0 2 2h3",key:"1f7fh3"}],["rect",{x:"12",y:"14",width:"10",height:"7",rx:"1",key:"1wjs3o"}]]),D=g("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]),$=g("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]),L=g("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]),_=g("skip-forward",[["path",{d:"M21 4v16",key:"7j8fe9"}],["path",{d:"M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z",key:"zs4d6"}]]),z=g("volume-1",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}]]),F=g("volume-2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]),V=g("volume-x",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["line",{x1:"22",x2:"16",y1:"9",y2:"15",key:"1ewh16"}],["line",{x1:"16",x2:"22",y1:"9",y2:"15",key:"5ykzw1"}]]),q=g("volume",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}]]);function B({offline:e=!1,title:t=(e?"No Internet Connection":"Something Went Wrong"),subtitle:r=(e?"Please check your network connection and try again.":"We encountered an error while playing this video.\nPlease try again."),onRetry:n,icon:i=(e?(0,d.jsx)(S,{size:36,color:"rgba(255,255,255,0.85)"}):void 0)}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{style:{width:80,height:80,borderRadius:"50%",background:"rgba(255,255,255,0.08)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:i??(0,d.jsxs)("svg",{width:"36",height:"36",viewBox:"0 0 24 24",fill:"none",stroke:"rgba(255,255,255,0.85)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("path",{d:"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"}),(0,d.jsx)("line",{x1:"12",y1:"9",x2:"12",y2:"13"}),(0,d.jsx)("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"})]})}),(0,d.jsxs)("div",{style:{textAlign:"center",padding:"0 24px"},children:[(0,d.jsx)("p",{style:{color:"#ffffff",fontSize:22,fontWeight:700,margin:"0 0 8px",letterSpacing:"-0.2px"},children:t}),(0,d.jsx)("p",{style:{color:"rgba(255,255,255,0.5)",fontSize:14,margin:0,lineHeight:1.6,whiteSpace:"pre-line"},children:r})]}),(0,d.jsxs)("button",{onClick:n,style:{display:"flex",alignItems:"center",gap:10,background:"#ffffff",color:"#09090e",border:"none",borderRadius:10,padding:"14px 32px",fontSize:16,fontWeight:700,cursor:"pointer",letterSpacing:"-0.1px"},children:[(0,d.jsx)($,{size:20,strokeWidth:2.5}),"Retry Now"]})]})}var O=!1,U=e=>{if(!e||e.length<10)return null;if(73!==e[0]||68!==e[1]||51!==e[2])return null;const t=e[3],r=(127&e[6])<<21|(127&e[7])<<14|(127&e[8])<<7|127&e[9],n=Math.min(10+r,e.length);let i=10;for(;i+10<=n;){const r=String.fromCharCode(e[i],e[i+1],e[i+2],e[i+3]),s=t>=4?(127&e[i+4])<<21|(127&e[i+5])<<14|(127&e[i+6])<<7|127&e[i+7]:e[i+4]<<24|e[i+5]<<16|e[i+6]<<8|e[i+7];if(s<=0||i+10+s>n)break;if("TIT2"===r){const t=e[i+10],r=e.slice(i+11,i+10+s),n=(1===t||2===t?new TextDecoder("utf-16").decode(r):new TextDecoder(3===t?"utf-8":"latin1").decode(r)).replace(/\0/g,"").trim();if(n)return n}i+=10+s}return null},K=({size:e=20})=>(0,d.jsxs)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("rect",{x:"2",y:"5",width:"20",height:"14",rx:"3"}),(0,d.jsx)("path",{d:"M7 9v6M7 12h3M10 9v6"}),(0,d.jsx)("path",{d:"M14 9h1.5a3 3 0 0 1 0 6H14z"})]}),H=({size:e=20})=>(0,d.jsxs)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("rect",{x:"2",y:"5",width:"20",height:"14",rx:"3"}),(0,d.jsx)("path",{d:"M7 9v6M7 12h3M10 9v6"}),(0,d.jsx)("path",{d:"M14 9h1.5a3 3 0 0 1 0 6H14z"})]}),W=e=>{const t=e.replace("#","");return 6===t.length?`${parseInt(t.substring(0,2),16)}, ${parseInt(t.substring(2,4),16)}, ${parseInt(t.substring(4,6),16)}`:3===t.length?`${parseInt(t[0]+t[0],16)}, ${parseInt(t[1]+t[1],16)}, ${parseInt(t[2]+t[2],16)}`:"99, 102, 241"},X={en:"English",eng:"English",fr:"French",fre:"French",fra:"French",es:"Spanish",spa:"Spanish",de:"German",ger:"German",deu:"German",it:"Italian",ita:"Italian",pt:"Portuguese",por:"Portuguese",ja:"Japanese",zh:"Chinese",ko:"Korean",ru:"Russian",ar:"Arabic",hi:"Hindi",ta:"Tamil",tam:"Tamil"},Q=e=>{if(!e)return null;const t=e.trim().toLowerCase(),r=t.match(/^(en|eng|fr|fre|fra|es|spa|de|ger|deu|it|ita|pt|por|ja|zh|ko|ru|ar|hi|ta|tam)/);if(r&&X[r[0]])return X[r[0]];for(const[n,i]of Object.entries(X))if(t.includes(n))return i;return/english|anglais|ingles/i.test(t)?"English":/french|français/i.test(t)?"French":/spanish|español/i.test(t)?"Spanish":/german|deutsch/i.test(t)?"German":/italian|italiano/i.test(t)?"Italian":/portuguese|português/i.test(t)?"Portuguese":/japanese|nihongo/i.test(t)?"Japanese":/chinese|中文/i.test(t)?"Chinese":/korean|한국어/i.test(t)?"Korean":/tamil|தமிழ்/i.test(t)?"Tamil":/russian|русский/i.test(t)?"Russian":/arabic|العربية/i.test(t)?"Arabic":/hindi|हिन्दी/i.test(t)?"Hindi":null},J=e=>{if(e.lang){const t=Q(e.lang);if(t)return t}if(e.label){const t=e.label.trim(),r=t.split(/[#\d\.\s\-_/|:]+/).filter(Boolean);for(let e=r.length-1;e>=0;e-=1){const t=Q(r[e]);if(t)return t}const n=t.replace(/^[#\d\.\s]+/,"").trim();return Q(n)||n}return"Unknown"},G=e=>{const t=new Set;return e.filter(e=>{const r=`${J(e).toLowerCase()}|${(e.lang||"").trim().toLowerCase()}`;return!t.has(r)&&(t.add(r),!0)})},Y=e=>{const t=(e??"").split(":").map(Number);return 3600*(t[0]||0)+60*(t[1]||0)+(t[2]||0)},Z=e=>{if(!e)return!1;try{const{protocol:t}=new URL(e,window.location.href);return"http:"===t||"https:"===t}catch{return!1}},ee=e=>{if("number"==typeof e)return Number.isFinite(e)&&e>=0?e:null;if("string"!=typeof e)return null;const t=e.trim();if(!t)return null;if(/^\d+:\d{1,2}:\d{1,2}(\.\d+)?$/.test(t))return Y(t);const r=Number(t);return Number.isFinite(r)&&r>=0?r:null},te=[0,250,500,750,1e3,1500,2e3,3e3,5e3,8e3],re=new Set,ne=(e,t,r)=>{const n=t.reduce((e,t)=>t.startTime<=1&&!r.has(t.startTime)?Math.max(e,t.endTime):e,0);return n>0&&e<n||t.some(t=>e>=t.startTime&&e<t.endTime&&!r.has(t.startTime))},ie=2e3;function se(e,t,r,n=!1,i){let s,a=!1,o=null,c=!1,l=!1;const u=()=>{c||l||(c=!0,i?.())},d=i=>{s=setTimeout(()=>{a||fetch(e).then(e=>e.json()).then(e=>{if(a)return;const s=t(e);if(null!==s){l=!0;const e=JSON.stringify(s);if(e!==o&&(o=e,r(s)),!n)return}else u();i+1<te.length&&d(i+1)}).catch(()=>{a||(u(),i+1<te.length&&d(i+1))})},te[i])};return d(0),()=>{a=!0,s&&clearTimeout(s)}}var ae=({src:e,autoplay:t=!1,muted:r=!1,chapters:n=[],keyMoments:i,subtitles:s=[],watermark:c,themeColor:l="#6366f1",drmConfig:m,firebaseConfig:p,videoId:h,onAnalyticsEvent:f,onAdBreakChange:k,onKeyMomentsLoaded:b,enableControls:y=!0,enableChromecast:g,enableKeyMoments:S,enableSubtitles:X,enableQuality:Q,enablePlaybackSpeed:te,enablePiP:ae,enableFullscreen:oe=!0,autoFullscreen:ce=!1,watchProgressInterval:le=30,subtitleStyle:ue={},resolvedEntitlement:de,licenseKey:me,title:pe,chaptersDisplayMode:he="strip",volumeControlType:fe="slider",urlTransformer:ke,pauseAdOnTabSwitch:be=!0,enableSkipAd:ye=!1,skipAdAfterSeconds:ge=5,overlayAdUrl:ve,adTrackingUrl:xe,sources:Te,activeSourceIndex:we=0,onSourceChange:je,initialTime:Se,onTimeUpdate:Ee,introStartTime:Ne,introEndTime:Ce,hasNextEpisode:Me,outroStartTime:Re,nextEpisodeLabel:Ae="Next Episode",onNextEpisode:Pe,nextEpisodeAutoAdvanceSeconds:Ie=5,nextEpisodeThumbnailUrl:De})=>{const $e=ke??(e=>e),Le=(0,o.useRef)(null),_e=(0,o.useRef)(null),ze=(0,o.useRef)(!1),Fe=(0,o.useRef)(null),Ve=(0,o.useRef)(0),qe=(0,o.useRef)(null),Be=(0,o.useRef)(null),Oe=(0,o.useRef)(null),Ue=(0,o.useRef)(null),Ke=(0,o.useRef)(!1),He=(0,o.useRef)(!1),We=(0,o.useRef)(null),Xe=(0,o.useRef)(null),Qe=(0,o.useRef)(null),Je=(0,o.useRef)(null),Ge=(0,o.useRef)(()=>{}),Ye=(0,o.useRef)(null),Ze=(0,o.useRef)(!1),et=(0,o.useRef)(null),tt=e=>{const t=et.current;if(!t)return!0;const r=t.getContext("2d");if(!r)return!0;if(r.clearRect(0,0,t.width,t.height),!e||!e.videoWidth||!e.videoHeight)return!0;try{if("function"==typeof r.getImageData){const t=document.createElement("canvas");t.width=16,t.height=9;const r=t.getContext("2d");if(r&&"function"==typeof r.getImageData){r.drawImage(e,0,0,t.width,t.height);const n=r.getImageData(0,0,t.width,t.height).data;let i=!0;for(let e=4;e<n.length;e+=4)if(Math.abs(n[e]-n[0])>8||Math.abs(n[e+1]-n[1])>8||Math.abs(n[e+2]-n[2])>8){i=!1;break}if(i)return!1}}return t.width=e.videoWidth,t.height=e.videoHeight,r.drawImage(e,0,0,t.width,t.height),!0}catch(n){return r.clearRect(0,0,t.width,t.height),!1}},rt=(0,o.useRef)(!0),nt=(0,o.useRef)(0),it=(0,o.useRef)(null),st=()=>{nt.current+=1,it.current&&(window.clearTimeout(it.current),it.current=null)},at=(0,o.useRef)(null),ot=e=>{e&&null===at.current&&(at.current=e.muted,e.muted=!0)},ct=e=>{null!==at.current&&(e&&(e.muted=at.current),at.current=null)},lt=(0,o.useRef)(null),ut=(0,o.useRef)(!1),dt=(0,o.useRef)(null),[mt,pt]=(0,o.useState)(null),ht=(0,o.useRef)(null),ft=(0,o.useRef)(null),kt=(0,o.useRef)(null),bt=(0,o.useRef)(null),yt=(0,o.useRef)(null),gt=(0,o.useRef)(Te),vt=(0,o.useRef)(je),xt=(0,o.useRef)(!1),Tt=(0,o.useRef)(null),wt=(0,o.useRef)(null),jt=(0,o.useRef)(null),St=(0,o.useRef)(null),Et=(0,o.useRef)(0),Nt=(0,o.useRef)(null),Ct=(0,o.useRef)(!1),[Mt,Rt]=(0,o.useState)(!1),At=(0,o.useRef)(!1),Pt=(0,o.useRef)(null),[It,Dt]=(0,o.useState)(null);(0,o.useEffect)(()=>{if("undefined"==typeof window||O)return;const e=window.requestAnimationFrame(()=>{const e=Le.current;if(!e)return;const t=window.getComputedStyle(e);"hidden"!==t.overflow&&"0px"===t.borderTopLeftRadius&&(O=!0)});return()=>window.cancelAnimationFrame(e)},[]),(0,o.useEffect)(()=>{const e=Le.current;if(!e)return;const t=new ResizeObserver(e=>{for(const t of e)Rt(t.contentRect.width<=768)});return t.observe(e),Rt(e.getBoundingClientRect().width<=768),()=>t.disconnect()},[]);const[$t,Lt]=(0,o.useState)(null),_t=(0,o.useRef)(null),[zt,Ft]=(0,o.useState)(!1),Vt=de??null,qt=null!=Vt,Bt=Vt?.features??{},Ot=!!qt&&Boolean(Bt.drm_protection&&!me),Ut={enableSubtitles:qt?Boolean(Bt.subtitle_support):"boolean"!=typeof X||X,enableChromecast:qt?Boolean(Bt.chromecast):"boolean"!=typeof g||g,enableKeyMoments:qt?Boolean(Bt.key_moments):"boolean"!=typeof S||S,enableQuality:qt?Boolean(Bt.multiple_resolution):"boolean"!=typeof Q||Q,enablePlaybackSpeed:qt?Boolean(Bt.playback_speed):"boolean"!=typeof te||te,enablePiP:qt?Boolean(Bt.picture_in_picture):"boolean"!=typeof ae||ae,allowAirplay:!!qt&&Boolean(Bt.airplay),allowMultipleAudio:!qt||Boolean(Bt.multiple_audio),m3u8_playback:!qt||Boolean(Bt.m3u8_playback),drm_protection:!!qt&&Boolean(Bt.drm_protection)},[Kt,Ht]=(0,o.useState)(!1),[Wt,Xt]=(0,o.useState)("undefined"!=typeof navigator&&!navigator.onLine),[Qt,Jt]=(0,o.useState)(!1),[Gt,Yt]=(0,o.useState)(0),[Zt,er]=(0,o.useState)(!1),[tr,rr]=(0,o.useState)(0),[nr,ir]=(0,o.useState)(0),[sr,ar]=(0,o.useState)(1),[or,cr]=(0,o.useState)(!1),[lr,ur]=(0,o.useState)(!1),dr=(0,o.useRef)(!1),mr=(0,o.useRef)(null),pr=(0,o.useRef)(0),hr=(0,o.useCallback)(()=>{if(!dr.current||Ze.current)return null!==mr.current&&(window.clearTimeout(mr.current),mr.current=null),void ur(!1);if(null!==mr.current)return;const e=Math.max(400,pr.current-Date.now());mr.current=window.setTimeout(()=>{mr.current=null,dr.current&&!Ze.current&&(Date.now()<pr.current?hr():ur(!0))},e)},[]);(0,o.useEffect)(()=>()=>{null!==mr.current&&window.clearTimeout(mr.current)},[]);const fr=(0,o.useCallback)(e=>{dr.current=e,hr()},[hr]);(0,o.useEffect)(()=>{const e=()=>Xt(!1),t=()=>Xt(!0);return window.addEventListener("online",e),window.addEventListener("offline",t),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",t)}},[]);const kr=(0,o.useCallback)(()=>{Jt(!1),Ht(!0),fr(!1),wt.current=null,jt.current&&(window.clearTimeout(jt.current),jt.current=null),Tt.current&&(Tt.current.style.opacity="0")},[fr]),br=(0,o.useCallback)(()=>{Ht(!1),Jt(!1),fr(!0),null!==ft.current&&Tt.current&&(Tt.current.style.opacity="1"),Yt(e=>e+1)},[fr]);(0,o.useEffect)(()=>{if(Kt||!Wt||!lr&&!Qt)return;const e=window.setTimeout(()=>{if(null===ft.current&&$t){const e=$t.getCurrentTime();Number.isFinite(e)&&e>0&&(ft.current=e)}kr()},1e4);return()=>window.clearTimeout(e)},[Wt,lr,Qt,Kt,$t,kr]),(0,o.useEffect)(()=>{if(Kt||Wt||!lr)return;const e=window.setTimeout(()=>{if(null===ft.current&&$t){const e=$t.getCurrentTime();Number.isFinite(e)&&e>0&&(ft.current=e)}kr()},3e4);return()=>window.clearTimeout(e)},[Wt,lr,Kt,$t,kr]),(0,o.useEffect)(()=>{!Wt&&Qt&&br()},[Wt,Qt,br]);const[yr,gr]=(0,o.useState)(!1),[vr,xr]=(0,o.useState)(!1),[Tr,wr]=(0,o.useState)(!1),jr=Mt||(yr||vr)&&Tr,[Sr,Er]=(0,o.useState)(!1),[Nr,Cr]=(0,o.useState)(null),[Mr,Rr]=(0,o.useState)(!1),[Ar,Pr]=(0,o.useState)([]),Ir=(0,o.useRef)([]),Dr=(0,o.useRef)(new Set),[$r,Lr]=(0,o.useState)(!1),_r=(0,o.useRef)(!1),zr=Te&&Te.length>0?Te.map(e=>e.url).join("|"):e,[Fr,Vr]=(0,o.useState)(new Set),[qr,Br]=(0,o.useState)(zr),Or=(0,o.useRef)(null),Ur=(0,o.useRef)(!1),Kr=(0,o.useRef)(null);qr!==zr&&(Br(zr),Vr(new Set),Dr.current=new Set,Or.current=null,Ur.current=!1);const Hr=(0,o.useRef)(null),Wr=(0,o.useRef)(!1),[Xr,Qr]=(0,o.useState)([]),[Jr,Gr]=(0,o.useState)(null),Yr=(0,o.useRef)([]),Zr=(0,o.useRef)(null),en=(0,o.useRef)(new Set),[tn,rn]=(0,o.useState)([]),nn=(0,o.useRef)([]),[sn,an]=(0,o.useState)(!1),on=(0,o.useRef)(!1),cn=(0,o.useCallback)(()=>{on.current||(on.current=!0,an(!0))},[]),[ln,un]=(0,o.useState)(!1),dn=(0,o.useRef)(!1),mn=(0,o.useCallback)(()=>{dn.current||(dn.current=!0,un(!0))},[]),[pn,hn]=(0,o.useState)(!1),fn=(0,o.useRef)(!1),[kn,bn]=(0,o.useState)(!1),[yn,gn]=(0,o.useState)(!1),vn=(0,o.useRef)(null),[xn,Tn]=(0,o.useState)({w:0,h:0}),[wn,jn]=(0,o.useState)(null),[Sn,En]=(0,o.useState)([]),[Nn,Cn]=(0,o.useState)(0),Mn=(0,o.useRef)(0),Rn=(0,o.useRef)(0),An=e=>{const t=nn.current.find(t=>e>=t.startTimeSeconds&&e<t.endTimeSeconds);if(t)return{start:t.startTimeSeconds,end:t.endTimeSeconds};const r=Ir.current.find(t=>e>=t.startTime&&e<t.endTime);return r?{start:r.startTime,end:r.endTime}:null},[Pn,In]=(0,o.useState)(null),[Dn,$n]=(0,o.useState)(null),Ln=(0,o.useRef)(null);(0,o.useEffect)(()=>{Ln.current=Pn},[Pn]);const _n=(0,o.useMemo)(()=>Ar.reduce((e,t)=>e+(t.endTime-t.startTime),0),[Ar]),zn=nr>0?nr:Pn?Dn?.duration??0:0,Fn=zn>0?Math.max(0,zn-_n):0,Vn=Ar.length>0&&Fn>0?Fn:zn,qn=(0,o.useCallback)(e=>{let t=e;for(const r of Ar)e>=r.endTime?t-=r.endTime-r.startTime:e>=r.startTime&&(t-=e-r.startTime);return Math.max(0,t)},[Ar]),Bn=(0,o.useCallback)(e=>{const t=[...Ar].sort((e,t)=>e.startTime-t.startTime);let r=e;for(const n of t)r>n.startTime&&(r+=n.endTime-n.startTime);return r},[Ar]),On=(0,o.useCallback)(e=>e.startTime>.1&&e.endTime<nr-.1,[nr]),[Un,Kn]=(0,o.useState)([]),[Hn,Wn]=(0,o.useState)({id:-1,height:0,width:0,bitrate:0,label:"Auto"}),[Xn,Qn]=(0,o.useState)(""),[Jn,Gn]=(0,o.useState)("off"),[Yn,Zn]=(0,o.useState)(G(s)),[ei,ti]=(0,o.useState)([]),[ri,ni]=(0,o.useState)(0);(0,o.useEffect)(()=>{if($t){const e=$t.subtitles.getTracks();Zn(G([...s,...e.filter(e=>!s.some(t=>t.id===e.id))]))}else Zn(G(s))},[s.map(e=>e.id).join(","),$t]);const[ii,si]=(0,o.useState)({chapter:null,index:-1}),[ai,oi]=(0,o.useState)(i||n||[]),[ci,li]=(0,o.useState)("none"),[ui,di]=(0,o.useState)(1),[mi,pi]=(0,o.useState)(!1),[hi,fi]=(0,o.useState)({}),[ki,bi]=(0,o.useState)(""),[yi,gi]=(0,o.useState)(null),vi=(0,o.useRef)(!1),xi=JSON.stringify(ai.map(e=>({title:e.title,startTime:e.startTime})));(0,o.useEffect)(()=>{oi(i||n||[])},[(i||n||[]).map(e=>`${e.startTime}:${e.title}`).join(",")]),(0,o.useEffect)(()=>{if(!e||!ai||0===ai.length)return;fi({});const t=document.createElement("video");t.muted=!0,t.preload="metadata",t.crossOrigin="anonymous",t.style.cssText="position:fixed;top:0;left:0;width:10px;height:10px;opacity:0.01;pointer-events:none;z-index:-9999;",document.body.appendChild(t);let r=null;const n=e.includes(".m3u8"),i=document.createElement("canvas");i.width=160,i.height=90;const s=i.getContext("2d");let o=0,c=!1;const l=()=>{if(o>=ai.length)return void p();const e=ai[o].startTime;t.currentTime=0===e?.01:e},u=()=>{if(s&&t.readyState>=2){s.drawImage(t,0,0,i.width,i.height);const e=i.toDataURL("image/jpeg",.8);fi(t=>({...t,[o]:e})),o++,l()}else setTimeout(u,100)},d=()=>{c||(c=!0,l())};t.addEventListener("seeked",u),t.addEventListener("canplay",d),n&&a.Hls.isSupported()?(r=new a.Hls({enableWorker:!1,maxBufferLength:5,xhrSetup:(e,t)=>{const r=m?.authToken;try{const n=$e(t),i=new URL(n,window.location.origin);r&&i.searchParams.set("token",r),e.open("GET",i.toString(),!0)}catch(n){}}}),r.loadSource($e(e)),r.attachMedia(t)):t.src=e,t.readyState>=2&&d();const p=()=>{t.removeEventListener("seeked",u),t.removeEventListener("canplay",d),r&&r.destroy(),document.body.contains(t)&&document.body.removeChild(t)};return p},[e,xi]);const Ti=(0,o.useRef)(!1),wi=e=>null!==ft.current?ft.current:!xt.current&&(Se??0)>0?Se:e.getCurrentTime(),[ji,Si]=(0,o.useState)(!1),[Ei,Ni]=(0,o.useState)(!1),[Ci,Mi]=(0,o.useState)(null),[Ri,Ai]=(0,o.useState)(null),[Pi,Ii]=(0,o.useState)(0),[Di,$i]=(0,o.useState)(0),[Li,_i]=(0,o.useState)(null),[zi,Fi]=(0,o.useState)(null),[Vi,qi]=(0,o.useState)(null);(0,o.useEffect)(()=>{if(Je.current&&!Je.current.querySelector("google-cast-launcher")){const e=document.createElement("google-cast-launcher");e.style.cursor="pointer",e.style.width="100%",e.style.height="100%",e.style.display="block",Je.current.appendChild(e)}},[]),(0,o.useEffect)(()=>{if(!$t)return Si(!1),Ni(!1),void Mi(null);const e=e=>Si(e),t=()=>{const e=$t.getVideoElement(),t=Boolean(e?.webkitCurrentPlaybackTargetIsWireless);Ni(t),Mi(t?e.webkitCurrentPlaybackTargetName||"AirPlay device":null)};e($t.casting.isAirPlayAvailable()),t();const r=$t.getVideoElement(),n=t=>{e("available"===t.availability)},i=()=>{t()};return"webkitShowPlaybackTargetPicker"in r&&(r.addEventListener("webkitplaybacktargetavailabilitychanged",n),r.addEventListener("webkitcurrentplaybacktargetiswirelesschanged",i)),()=>{"webkitShowPlaybackTargetPicker"in r&&(r.removeEventListener("webkitplaybacktargetavailabilitychanged",n),r.removeEventListener("webkitcurrentplaybacktargetiswirelesschanged",i))}},[$t]);const[Bi,Oi]=(0,o.useState)(""),[Ui,Ki]=(0,o.useState)(!1),[Hi,Wi]=(0,o.useState)(!1),[Xi,Qi]=(0,o.useState)(!1),Ji=(0,o.useRef)(!1),Gi=(0,o.useRef)(null),Yi=(0,o.useRef)(!1),Zi=(0,o.useRef)(!1),es=(0,o.useRef)(null),ts=(0,o.useRef)("none"),rs=(0,o.useRef)(s),ns=()=>{Ki(!0),Gi.current&&window.clearTimeout(Gi.current);const e=At.current?3500:1e4;Gi.current=window.setTimeout(()=>{Yi.current&&"none"===ts.current&&Ki(!1)},e)},is=()=>{if(dn.current&&_r.current){if(Ln.current||Zi.current||!ne(Rn.current,Ir.current,Dr.current))es.current=null;else{const e=Date.now();if(null===es.current&&(es.current=e),e-es.current<2500)return}ns()}},[ss,as]=(0,o.useState)(!1);(0,o.useEffect)(()=>{as(!Pn&&!Hi&&ne(tr,Ar,Dr.current))},[tr,Ar,Hi,Pn]),(0,o.useEffect)(()=>{if(!ln||!$r||ss)return Gi.current&&(window.clearTimeout(Gi.current),Gi.current=null),void Ki(!1);y&&ns()},[Hi,ln,$r,ss,y]);const os=(0,o.useCallback)(e=>{bt.current&&(clearTimeout(bt.current),bt.current=null);const t=gt.current,r=t?.[e]?.label??"This format",n=t?.[0]?.label??"default";yt.current=null,gi(`${r} isn't supported on this device. Switched to ${n}.`),window.setTimeout(()=>gi(null),4e3),vt.current?.(0)},[]);(0,o.useEffect)(()=>{if(!Le.current)return;Tt.current&&null===ft.current&&Se&&Se>0&&(Tt.current.style.opacity="1");const t=document.createElement("video");t.muted=!0,t.preload="metadata",t.crossOrigin="anonymous",t.style.cssText="display:none;position:absolute;pointer-events:none;",document.body.appendChild(t),Be.current=t;const n=e.includes(".m3u8");if(n&&a.Hls.isSupported()){const r=new a.Hls({enableWorker:!1,maxBufferLength:5,xhrSetup:(e,t)=>{const r=m?.authToken;try{const n=$e(t),i=new URL(n,window.location.origin);r&&i.searchParams.set("token",r),e.open("GET",i.toString(),!0)}catch(n){}}});r.loadSource($e(e)),r.attachMedia(t),Oe.current=r,r.on(a.Hls.Events.MANIFEST_LOADED,(e,t)=>{if(pe)return;const r=(e=>{const t=e.match(/#EXT-X-TITLE:(.+)/);if(t?.[1]?.trim())return t[1].trim();const r=e.match(/#EXT-X-SESSION-DATA:[^\n]*DATA-ID="[^"]*title[^"]*"[^\n]*VALUE="([^"]+)"/i);return r?.[1]?.trim()?r[1].trim():null})(t?.networkDetails?.responseText??"");r&&Oi(r)}),r.on(a.Hls.Events.FRAG_PARSING_METADATA,(e,t)=>{if(!pe&&!Bi)for(const r of t?.samples??[]){const e=U(r.data);if(e){Oi(e);break}}})}else n&&t.canPlayType("application/vnd.apple.mpegurl"),t.src=e;let i;if(t.addEventListener("seeked",()=>{const e=qe.current;if(!e)return;const r=e.getContext("2d");r&&t.readyState>=2&&(r.drawImage(t,0,0,e.width,e.height),_i(e.toDataURL("image/jpeg",.82)))}),p){const e=new a.FirebaseAnalyticsProvider(p);_e.current=e,i=e.createCallback()}if(Ot){if(Nt.current){const e=Nt.current;Nt.current=null,Cr(null),Er(!1),e.close()}return void(Ct.current=!1)}const o=new a.VideoPlayerSDK({container:Le.current,src:e,videoId:h,autoplay:!1,muted:r,keyMoments:ai,subtitles:s,drm:{watermarkText:c,allowedDomains:["localhost","127.0.0.1",window.location.hostname],...m},analyticsCallback:e=>{if(e.sessionId&&(null===Or.current?Or.current=e.sessionId:e.sessionId!==Or.current&&(e={...e,sessionId:Or.current})),"session_start"===e.eventType){if(Ur.current)return;Ur.current=!0}i?.(e),f&&f(e)},analyticsSessionSeed:Kr.current?.key===zr?Kr.current.snapshot:void 0,watchProgressInterval:1e3*le,themeColor:l,urlTransformer:ke}),u=Nt.current;if(u)if(u.closed)Nt.current=null,Cr(null),Er(!1);else{const e=o.getVideoElement();e.classList.add("gb-pip-video"),u.document.body.insertBefore(e,u.document.body.firstChild)}if(Ct.current){Ct.current=!1;const e=o.getVideoElement(),t=()=>{e.requestPictureInPicture?.().catch(()=>{})};e.readyState>=1?t():e.addEventListener("loadedmetadata",t,{once:!0})}o.on("keymomentsloaded",e=>{oi(e),b&&b(e)}),o.on("chaptersloaded",e=>{oi(e),b&&b(e)}),o.on("play",()=>{er(!0),Rr(!1),v(o.getCurrentTime(),!1)}),o.on("pause",()=>{er(!1),v(o.getCurrentTime(),!0)}),o.on("ended",()=>{er(!1),Rr(!0)});const d=()=>{Ze.current||(rt.current=tt(o.getVideoElement())),st(),Ze.current=!0,hr(),Ye.current&&rt.current&&(Ye.current.style.transition="none",Ye.current.style.opacity="1"),ot(o.getVideoElement())},y=()=>{const e=o.getVideoElement(),t=nt.current,r=()=>{t===nt.current&&(it.current&&(window.clearTimeout(it.current),it.current=null),Ze.current=!1,Ye.current&&(Ye.current.style.transition="opacity 180ms ease-out",Ye.current.style.opacity="0"),ct(e),pr.current=Date.now()+1e3,hr())},n=e?.requestVideoFrameCallback;if("function"==typeof n){n.call(e,()=>r());const i=n=>{it.current=window.setTimeout(()=>{(dr.current||e.seeking||e.readyState<2)&&n+ie<8e3&&t===nt.current?i(n+ie):r()},ie)};return void i(0)}requestAnimationFrame(()=>requestAnimationFrame(r))},g=(e,t=!1)=>{He.current=!0;const r=t?e+.5:dt.current??e+.5;t||(dt.current=null),ut.current=t,We.current=r,Xe.current=o.getCurrentTime(),d(),o.seek(r);const n=o.getVideoElement();if(n){const e=()=>{n.removeEventListener("seeked",e),Qe.current&&(window.clearTimeout(Qe.current),Qe.current=null),He.current=!1,We.current=null,Xe.current=null;const t=ut.current;ut.current=!1,(t||null===dt.current)&&y(),t||null!==dt.current||pt(null)};n.addEventListener("seeked",e)}Qe.current&&window.clearTimeout(Qe.current),Qe.current=window.setTimeout(()=>{He.current=!1,We.current=null,Xe.current=null,Qe.current=null,ut.current=!1,pt(null),y()},3e3)};lt.current=g;const v=(e,t)=>{if(!("mediaSession"in navigator)||!navigator.mediaSession.setPositionState)return;navigator.mediaSession.playbackState=t?"paused":"playing";const r=o.getDuration(),n=Ir.current.find(t=>e>=t.startTime&&e<t.endTime);if(n){const t=n.endTime-n.startTime,r=Math.max(0,e-n.startTime);if(t>0)try{navigator.mediaSession.setPositionState({duration:t,playbackRate:1,position:Math.min(r,t)})}catch(i){}}else{const t=Ir.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),n=r>0?Math.max(0,r-t):0;let s=e;for(const r of Ir.current)e>=r.endTime?s-=r.endTime-r.startTime:e>=r.startTime&&(s-=e-r.startTime);s=Math.max(0,s);const a=Ir.current.length>0&&n>0?n:r;if(a>0)try{navigator.mediaSession.setPositionState({duration:a,playbackRate:1,position:Math.min(s,a)})}catch(i){}}};if(o.on("timeupdate",e=>{if(!He.current&&null===wt.current){const t=Ir.current.find(t=>Dr.current.has(t.startTime)&&e>=t.startTime-.5&&e<t.endTime);if(t)return void g(t.endTime);null!==dt.current&&Ir.current.find(t=>e>=t.endTime-.5&&e<t.endTime)&&d()}if(He.current&&null!==We.current){const t=We.current;if(!(null!==Xe.current&&t<Xe.current?e<=t+2&&e>=t-2:e>=t-2))return;{He.current=!1,We.current=null,Xe.current=null,Qe.current&&(window.clearTimeout(Qe.current),Qe.current=null);const t=Ir.current.some(t=>e>=t.startTime&&e<t.endTime),r=ut.current;ut.current=!1,(r||!t&&null===dt.current)&&y(),t||null!==dt.current||pt(null)}}rr(e),Et.current=e;const t=o.getDuration();if(ir(t),null!==wt.current&&e>=wt.current-2){const t=Ir.current.find(t=>Dr.current.has(t.startTime)&&e>=t.startTime&&e<t.endTime);t&&g(t.endTime);const r=Ir.current.some(t=>e>=t.startTime&&e<t.endTime&&!Dr.current.has(t.startTime));Zi.current&&!r||(wt.current=null,jt.current&&(window.clearTimeout(jt.current),jt.current=null),requestAnimationFrame(()=>{requestAnimationFrame(()=>{Tt.current&&(Tt.current.style.opacity="0")})}))}if(!xt.current&&dn.current&&_r.current&&null===ft.current&&Se&&Se>0&&t>0&&Se<t){xt.current=!0;const t=Ir.current.find(e=>Se>=e.startTime&&Se<e.endTime),r=t?t.startTime:Se,n=Ir.current.find(t=>e>=t.startTime&&e<t.endTime&&!Dr.current.has(t.startTime));n&&r>n.endTime?(St.current=null,dt.current=r,Tt.current&&(Tt.current.style.opacity="0")):(St.current=t?null:Se,wt.current=r,o.seek(r),jt.current&&window.clearTimeout(jt.current),jt.current=window.setTimeout(()=>{wt.current=null,jt.current=null,Tt.current&&(Tt.current.style.opacity="0")},4e3))}if(Ee?.(e),Yr.current.length>0)if(Zr.current){const t=Zr.current;(e>=t.startTimeSeconds+t.durationSeconds||e<t.startTimeSeconds)&&(Gr(null),Zr.current=null)}else{const t=Yr.current.find(t=>e>=t.startTimeSeconds&&e<t.startTimeSeconds+t.durationSeconds&&!en.current.has(t.availId));t&&(Gr(t),Zr.current=t,t.impressionBeacons.forEach(e=>{fetch(e,{mode:"no-cors"}).catch(()=>{})}))}const r=o.keyMoments.getCurrentMoment(e);si({chapter:r.keyMoment,index:r.index}),v(e,o.getVideoElement().paused)}),o.on("qualitylevels",e=>{Kn(e);const t=kt.current;if(!t)return;const r=null!==t.qualityHeight?e.find(e=>e.height===t.qualityHeight):void 0;r?(o.setQuality(r.id),Wn(r)):Wn({id:-1,height:0,width:0,bitrate:0,label:"Auto"})}),o.on("qualitychange",e=>{Wn(e)}),o.on("buffering",e=>{if(fr(e),!e){bt.current&&(clearTimeout(bt.current),bt.current=null),yt.current=null;const e=kt.current;if(e&&(kt.current=null,1!==e.playbackRate&&o.setPlaybackRate(e.playbackRate),o.setVolume(e.volume),o.setMute(e.muted)),null!==ft.current){const e=ft.current;ft.current=null,xt.current=!0,wt.current=e,jt.current&&window.clearTimeout(jt.current),jt.current=window.setTimeout(()=>{wt.current=null,jt.current=null,Tt.current&&(Tt.current.style.opacity="0")},4e3),o.seek(e)}}}),o.on("adbreakchange",e=>{if(o.analytics.setAdBreak(e,o.getVideoElement()),k&&k(e),e){const e=o.getCurrentTime(),t=Ir.current.find(t=>e>=t.startTime&&e<t.endTime);if(Ji.current=!1,Qi(!1),t&&Dr.current.has(t.startTime))return d(),void(He.current||g(t.endTime));t&&(Hr.current=t.startTime),jn(t??null),Wi(!0),li("none"),y()}else{const e=Hr.current;if(Hr.current=null,jn(null),null!==e){const t=Ir.current.find(t=>t.startTime===e);t&&o.getCurrentTime()>=t.endTime-1.5&&(Dr.current.add(e),Vr(new Set(Dr.current)))}if(Wi(!1),null!==dt.current){const e=dt.current;dt.current=null,He.current=!0,We.current=e,Xe.current=o.getCurrentTime(),d(),o.seek(e),Qe.current&&window.clearTimeout(Qe.current),Qe.current=window.setTimeout(()=>{He.current=!1,We.current=null,Xe.current=null,Qe.current=null,y()},3e3)}}}),o.on("adbreaksloaded",e=>{Ir.current=e,e.length>0&&(_r.current=!0),Pr(e),mn();const t=St.current;if(null===t)return;St.current=null;const r=e.find(e=>t>=e.startTime&&t<e.endTime);if(!r||Dr.current.has(r.startTime))return;const n=o.getCurrentTime();n<r.startTime||n>=r.endTime||(Tt.current&&(Tt.current.style.opacity="1"),wt.current=r.startTime,jt.current&&window.clearTimeout(jt.current),jt.current=window.setTimeout(()=>{wt.current=null,jt.current=null,Tt.current&&(Tt.current.style.opacity="0")},4e3),o.seek(r.startTime))}),o.on("volumechange",e=>{ar(e.volume),null===at.current&&cr(e.muted)}),o.on("pipchange",e=>{Er(e)}),o.on("error",()=>{if(null===ft.current){const e=o.getCurrentTime();Number.isFinite(e)&&e>0&&(ft.current=e)}if("undefined"!=typeof navigator&&!navigator.onLine)return Jt(!0),void fr(!0);kr()}),o.on("unsupportedcodec",()=>{const e=yt.current;e&&0!==e.targetIdx&&(gt.current?.length??0)>1&&os(e.targetIdx)}),o.subtitles.onSubtitleChange(e=>{Qn(e)}),o.on("subtitlesloaded",e=>{if(!Ut.enableSubtitles)return;Zn(G([...e]));const t=kt.current;if(t){const r="off"===t.subtitleId?"off":e.find(e=>e.id===t.subtitleId)?.id??(t.subtitleLang?e.find(e=>e.lang===t.subtitleLang)?.id:void 0);if(r)return o.subtitles.setActiveTrack(r),void Gn(r)}const r=e.find(e=>e.isDefault);r&&(o.subtitles.setActiveTrack(r.id),Gn(r.id))}),o.on("audiotracksloaded",e=>{ti(e);const t=kt.current,r=t?e.find(e=>t.audioLang&&e.lang===t.audioLang)??e.find(e=>t.audioLabel&&e.label===t.audioLabel):void 0;if(r)return o.setAudioTrack(r.id),void ni(r.id);ni(e[0]?.id??0)}),o.on("audiotrackchange",e=>{ni(e)}),o.casting.onCastStateChange((t,r)=>{if(t)Ti.current=o.isMuted(),o.pause(),o.getVideoElement().muted=!0,In(r),o.casting.syncMedia(e,wi(o),pe),o.analytics.track("cast_start",o.getVideoElement());else{const e=o.casting.getRemoteState();e&&e.currentTime>0&&(He.current=!0,We.current=e.currentTime,Xe.current=o.getCurrentTime(),o.seek(e.currentTime),Qe.current&&window.clearTimeout(Qe.current),Qe.current=window.setTimeout(()=>{He.current=!1,We.current=null,Xe.current=null,Qe.current=null},3e3));const t=o.getVideoElement();t.muted=Ti.current,In(null),$n(null),o.analytics.track("cast_stop",t)}}),o.casting.onRemoteStateChange(e=>{$n(e)}),ar(o.getVolume()),cr(o.isMuted()),"mediaSession"in navigator)try{navigator.mediaSession.setActionHandler("seekto",e=>{if(null==e.seekTime||Zi.current||Ji.current)return;let t=e.seekTime;for(const r of Ir.current)t>=r.startTime&&(t+=r.endTime-r.startTime);ht.current?.(t)});const e=(e,t)=>{if(Zi.current||Ji.current)return;const r=t&&t>0?t:10,n=o.getCurrentTime();let i=n;for(const s of Ir.current)n>=s.endTime?i-=s.endTime-s.startTime:n>=s.startTime&&(i-=n-s.startTime);if(e){const e=Ir.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),t=Math.max(0,o.getDuration()-e);let n=Math.min(t,i+r);for(const r of Ir.current)n>=r.startTime&&(n+=r.endTime-r.startTime);ht.current?.(n,{eventType:"fast_forward",skipSeconds:r})}else{let e=Math.max(0,i-r);for(const t of Ir.current)e>=t.startTime&&(e+=t.endTime-t.startTime);ht.current?.(e,{eventType:"fast_backward",skipSeconds:r})}};navigator.mediaSession.setActionHandler("seekforward",t=>e(!0,t.seekOffset??void 0)),navigator.mediaSession.setActionHandler("seekbackward",t=>e(!1,t.seekOffset??void 0))}catch(E){}const x=o.getVideoElement(),T=()=>{if(document.pictureInPictureElement!==x&&"picture-in-picture"!==x.webkitPresentationMode)return;if(He.current||null!==wt.current||null!==ft.current)return;const e=x.currentTime,t=Et.current;Math.abs(e-t)<.5||(Zi.current?x.currentTime=t:(x.currentTime=t,ht.current?.(e)))};x.addEventListener("seeking",T),_t.current=o,Lt(o);const w=yt.current;w&&0!==w.targetIdx&&(bt.current&&clearTimeout(bt.current),bt.current=setTimeout(()=>{bt.current=null,o.getBufferedRanges().some(e=>e.end>e.start)||os(w.targetIdx)},1e4)),null!==ft.current&&(jt.current&&window.clearTimeout(jt.current),jt.current=window.setTimeout(()=>{jt.current=null,wt.current=null,Tt.current&&(Tt.current.style.opacity="0"),fr(!1)},12e3)),ce&&!ze.current&&Le.current&&(ze.current=!0,Le.current.requestFullscreen().catch(()=>{ze.current=!1}));const j=()=>{const e=document,t=!(!document.fullscreenElement&&!e.webkitFullscreenElement);gr(t),t||xr(!1);const r=o.getVideoElement();o.analytics.track(t?"fullscreen_enter":"fullscreen_exit",r)};document.addEventListener("fullscreenchange",j),document.addEventListener("webkitfullscreenchange",j);const S=e=>{const t=document.activeElement;if(!t||"INPUT"!==t.tagName&&"TEXTAREA"!==t.tagName&&"true"!==t.getAttribute("contenteditable")&&"slider"!==t.getAttribute("role")){switch(e.key.toLowerCase()){case" ":case"k":if(e.preventDefault(),o.getVideoElement().paused)o.play();else{o.pause();try{const e=o.getVideoElement();e&&!e.paused&&e.pause()}catch(e){}if(Be.current&&!Be.current.paused)try{Be.current.pause()}catch(e){}}break;case"arrowleft":case"j":if(e.preventDefault(),!Zi.current){const e=o.getCurrentTime();let t=e;for(const n of Ir.current)e>=n.endTime?t-=n.endTime-n.startTime:e>=n.startTime&&(t-=e-n.startTime);let r=Math.max(0,t-10);for(const n of Ir.current)r>=n.startTime&&(r+=n.endTime-n.startTime);ht.current?.(r,{eventType:"fast_backward",skipSeconds:10})}break;case"arrowright":case"l":if(e.preventDefault(),!Zi.current){const e=o.getCurrentTime(),t=Ir.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),r=Math.max(0,o.getDuration()-t);let n=e;for(const s of Ir.current)e>=s.endTime?n-=s.endTime-s.startTime:e>=s.startTime&&(n-=e-s.startTime);let i=Math.min(r,n+10);for(const s of Ir.current)i>=s.startTime&&(i+=s.endTime-s.startTime);ht.current?.(i,{eventType:"fast_forward",skipSeconds:10})}break;case"arrowup":e.preventDefault(),o.setVolume(o.getVolume()+.1);break;case"arrowdown":e.preventDefault(),o.setVolume(o.getVolume()-.1);break;case"m":e.preventDefault(),o.setMute(!o.isMuted());break;case"f":e.preventDefault(),Ge.current();break;case"p":e.preventDefault(),Zi.current||o.togglePictureInPicture();break;case"c":if(e.preventDefault(),Ut.enableSubtitles&&!Zi.current)if("off"!==o.subtitles.getActiveTrackId())o.subtitles.setActiveTrack("off"),Gn("off");else{const e=rs.current;e&&e.length>0&&(o.subtitles.setActiveTrack(e[0].id),Gn(e[0].id))}break;default:return}is()}};return document.addEventListener("keydown",S),is(),()=>{if(Kr.current={key:zr,snapshot:o.analytics.getSessionSnapshot()},Ct.current=!Nt.current&&document.pictureInPictureElement===x,o.destroy(),_e.current?.destroy(),_e.current=null,document.body.style.overflow="",document.body.style.touchAction="",document.removeEventListener("fullscreenchange",j),document.removeEventListener("webkitfullscreenchange",j),document.removeEventListener("keydown",S),Gi.current&&window.clearTimeout(Gi.current),Qe.current&&(window.clearTimeout(Qe.current),Qe.current=null),bt.current&&(clearTimeout(bt.current),bt.current=null),st(),Ze.current=!1,Ye.current&&(Ye.current.style.opacity="0"),hr(),x.removeEventListener("seeking",T),"mediaSession"in navigator){try{navigator.mediaSession.setActionHandler("seekto",null)}catch(E){}try{navigator.mediaSession.setActionHandler("seekforward",null)}catch(E){}try{navigator.mediaSession.setActionHandler("seekbackward",null)}catch(E){}}Oe.current&&(Oe.current.destroy(),Oe.current=null),Be.current&&(document.body.removeChild(Be.current),Be.current=null),xt.current=!1,wt.current=null,jt.current&&(window.clearTimeout(jt.current),jt.current=null)}},[e,c,Gt]),(0,o.useEffect)(()=>{if($t){$t.keyMoments.setKeyMoments(ai);const e=Le.current?.querySelector("video");if(e){const t=$t.keyMoments.getCurrentMoment(e.currentTime);si({chapter:t.keyMoment,index:t.index})}}},[xi,$t]),(0,o.useEffect)(()=>{const e=e=>{"none"!==ci&&(e.target.closest(".sdk-menu-container")||li("none"))};return document.addEventListener("click",e),()=>{document.removeEventListener("click",e)}},[ci]),(0,o.useEffect)(()=>{Yi.current=Zt},[Zt]),(0,o.useEffect)(()=>{Zi.current=Hi},[Hi]),(0,o.useEffect)(()=>{Ji.current=Xi},[Xi]);const cs=null!==(0,o.useMemo)(()=>{if(!Pn||!Dn)return null;const e=Dn.currentTime;return Ar.find(t=>e>=t.startTime&&e<t.endTime)??null},[Pn,Dn,Ar]),ls=(0,o.useRef)(!1);(0,o.useEffect)(()=>{ls.current=cs},[cs]);const us=(0,o.useRef)(null),ds=(0,o.useRef)(null),ms=(0,o.useRef)(null);(0,o.useEffect)(()=>{if(!Pn||!Dn||!$t)return ds.current=null,void(ms.current=null);const e=Dn.currentTime,t=ds.current;if(ds.current=e,null===t)return;for(const i of Ir.current)t>=i.startTime&&t<i.endTime&&e>=i.endTime&&!Dr.current.has(i.startTime)&&(Dr.current.add(i.startTime),Vr(new Set(Dr.current)));const r=us.current;if(r&&e>=r.breakEnd)return us.current=null,ms.current=null,void $t.casting.remoteSeek(r.target);const n=Ir.current.find(t=>e>=t.startTime&&e<t.endTime&&Dr.current.has(t.startTime));n?ms.current!==n.startTime&&(ms.current=n.startTime,$t.casting.remoteSeek(n.endTime+.5)):ms.current=null},[Pn,Dn,$t]),(0,o.useEffect)(()=>{Pn||(us.current=null,ms.current=null)},[Pn]),(0,o.useEffect)(()=>{if(!$t||!Pn)return;const e=$t.getVideoElement?.();if(!e)return;const t=()=>{e.paused||e.pause()};return t(),e.addEventListener("play",t),()=>e.removeEventListener("play",t)},[$t,Pn]);const ps=Hi||Xi||cs;(0,o.useEffect)(()=>{Nt.current=Nr},[Nr]),(0,o.useEffect)(()=>{ts.current=ci},[ci]),(0,o.useEffect)(()=>{if(!Hi||!$t)return;let e=0,t=$t.getCurrentTime(),r=performance.now();const n=()=>{const i=$t.getVideoElement?.(),s=$t.getCurrentTime(),a=performance.now();let o;if(s!==t)t=s,r=a,o=s;else if(!i||i.paused||i.ended)o=t;else{const e=i.playbackRate||1;o=t+(a-r)/1e3*e}const c=An(s);if(c){const e=Math.min(o,s+.4,c.end),t=Math.min(100,Math.max(0,(e-c.start)/(c.end-c.start)*100));(Le.current?.querySelectorAll(".sdk-ad-progress-fill"))?.forEach(e=>{e.style.width=`${t}%`})}e=requestAnimationFrame(n)};return e=requestAnimationFrame(n),()=>cancelAnimationFrame(e)},[Hi,$t]),(0,o.useEffect)(()=>{rs.current=Yn},[Yn]),(0,o.useEffect)(()=>{At.current=Mt},[Mt]),(0,o.useEffect)(()=>{Ir.current=Ar},[Ar]),(0,o.useEffect)(()=>{Yr.current=Xr},[Xr]),(0,o.useEffect)(()=>{Zr.current=Jr},[Jr]),(0,o.useEffect)(()=>{nn.current=tn},[tn]),(0,o.useEffect)(()=>{Rn.current=tr},[tr]),(0,o.useEffect)(()=>{gt.current=Te},[Te]),(0,o.useEffect)(()=>{const e=vn.current;if(!Hi||!e||"undefined"==typeof ResizeObserver)return;const t=()=>{const t=e.getBoundingClientRect();Tn(e=>e.w===t.width&&e.h===t.height?e:{w:t.width,h:t.height})};t();const r=new ResizeObserver(t);return r.observe(e),()=>r.disconnect()},[Hi,tn]),(0,o.useEffect)(()=>{vt.current=je},[je]),(0,o.useEffect)(()=>{Hr.current=null,jn(null),Wr.current=!1,dt.current=null,pt(null),St.current=null,Gr(null),Zr.current=null,en.current=new Set,Ht(!1),Jt(!1)},[e]),(0,o.useEffect)(()=>{Ft(!1)},[e]),(0,o.useEffect)(()=>{$t&&Pn&&e&&$t.casting.syncMedia(e,wi($t),pe)},[$t,Pn,e,pe]),(0,o.useEffect)(()=>{Pn&&(Tt.current&&(Tt.current.style.opacity="0"),wt.current=null,fr(!1))},[Pn,e,$t]),(0,o.useEffect)(()=>{gn(!1),on.current=!1,an(!1),dn.current=!1,un(!1)},[e]),(0,o.useEffect)(()=>{if(!$t)return;const e=$t.getVideoElement();if(e&&e.readyState>=1)return void Ft(!0);const t=()=>Ft(!0);return $t.on("qualitylevels",t),e?.addEventListener("loadedmetadata",t),()=>{$t.off("qualitylevels",t),e?.removeEventListener("loadedmetadata",t)}},[$t]),(0,o.useEffect)(()=>{if(!$t)return;const e=$t.getVideoElement(),t=()=>{gn(!0);const e=$t.getDuration();Number.isFinite(e)&&e>0&&ir(e)};return e&&e.readyState>=1&&t(),e?.addEventListener("loadedmetadata",t),e?.addEventListener("durationchange",t),()=>{e?.removeEventListener("loadedmetadata",t),e?.removeEventListener("durationchange",t)}},[$t,e]),(0,o.useEffect)(()=>{yn&&sn&&mn()},[yn,sn,mn]),(0,o.useEffect)(()=>{const e=window.setTimeout(mn,1e4);return()=>window.clearTimeout(e)},[e,mn]),(0,o.useEffect)(()=>{_r.current=$r},[$r]),(0,o.useEffect)(()=>{Lr(!1),_r.current=!1;const e=()=>{_r.current=!0,Lr(!0)},t=xe?null:e;t&&($t?.hasAdBreakDiscoverySettled()?e():$t?.on("adbreakdiscoverysettled",t));const r=window.setTimeout(e,5e3);return()=>{window.clearTimeout(r),t&&$t?.off("adbreakdiscoverysettled",t)}},[xe,e,$t]),(0,o.useEffect)(()=>{Ar.length>0&&(_r.current=!0,Lr(!0))},[Ar]),(0,o.useEffect)(()=>{if(Qr([]),ve&&zt)return se(ve,e=>{const t=new Set,r=[];for(const i of e.nonLinearAvails??[]){if(t.has(i.availId))continue;t.add(i.availId);const e=i.nonLinearAdsList?.[0],s=e?.nonLinearAdList?.[0];if(!s?.staticResource)continue;const a=(e?.trackingEvents??[]).filter(e=>"impression"===e.eventType).flatMap(e=>e.beaconUrls??[]);let o={};try{o=JSON.parse(s.adParameters??"{}")}catch(n){}const c=o.position??"bottom_center";r.push({availId:i.availId,startTimeSeconds:Y(i.startTime??""),durationSeconds:Y(s.minSuggestedDuration??"00:00:15"),imageUrl:s.staticResource,imageWidth:parseInt(s.width??"320",10),imageHeight:parseInt(s.height??"50",10),title:s.adTitle??"",clickThrough:Z(s.clickThrough)?s.clickThrough:"",clickTrackingUrl:s.clickTracking??"",impressionBeacons:a,position:c,dismissible:!0===o.dismissible})}return r.length>0?r:null},Qr)},[ve,e,zt]),(0,o.useEffect)(()=>{rn([]),En([]),Mn.current=0},[e]),(0,o.useEffect)(()=>{if(!xe)return void cn();const e=window.setTimeout(cn,2500);return()=>window.clearTimeout(e)},[xe,e,cn]),(0,o.useEffect)(()=>{if(xe)return se(xe,e=>{const t=[],r=[];for(const n of e.avails??[]){const e=n.ads??[];if(0===e.length)continue;const i=n.startTimeInSeconds??e[0].startTimeInSeconds??0,s=e[e.length-1],a=(s?.startTimeInSeconds??i)+(s?.durationInSeconds??0);r.push({startTime:i,endTime:null!=n.durationInSeconds?i+n.durationInSeconds:Math.max(a,i)}),e.forEach((r,n)=>{const i=ee(r?.skipOffset),s=null!==i;let a={};try{a=JSON.parse(r?.adParameters??"{}")}catch(d){}const o=(r?.trackingEvents??[]).filter(e=>"clickTracking"===e.eventType).flatMap(e=>e.beaconUrls??[]),c=a.ctaText&&Z(a.redirectUrl)?{text:a.ctaText,url:a.redirectUrl,title:a.title||void 0,description:a.description||void 0,clickTrackingBeacons:o}:null,l=r.startTimeInSeconds??0,u=r.durationInSeconds??0;t.push({startTimeSeconds:l,endTimeSeconds:l+u,durationSeconds:u,skippable:s,skipOffsetSeconds:i??0,cta:c,podIndex:n,podTotal:e.length})})}return t.length>0?{pods:t,breaks:r}:null},({pods:e,breaks:t})=>{rn(e),En(t)},!0,cn)},[xe,e,Nn,cn]),(0,o.useEffect)(()=>{if(!xe||!Hi)return;const e=setInterval(()=>{const e=Rn.current;nn.current.some(t=>e>=t.startTimeSeconds&&e<t.endTimeSeconds)||Mn.current>=8||(Mn.current+=1,Cn(e=>e+1))},700);return()=>clearInterval(e)},[xe,Hi]),(0,o.useEffect)(()=>{$t&&0!==Sn.length&&($t.setAdBreaks(Sn),cn())},[$t,Sn,cn]),(0,o.useEffect)(()=>{$t&&$t.setRetiredAdBreaks([...Fr])},[$t,Fr]),(0,o.useEffect)(()=>{if(!xe||tn.length>0)return void hn(!0);hn(!1);const e=window.setTimeout(()=>hn(!0),3e3);return()=>window.clearTimeout(e)},[xe,e,tn]),(0,o.useEffect)(()=>{fn.current=!1,bn(!1)},[e,Gt]),(0,o.useEffect)(()=>{$t&&t&&pn&&!fn.current&&(Pn||(fn.current=!0,$t.play()))},[$t,t,pn,Pn]),(0,o.useEffect)(()=>{if(!$t)return;const e=$t.getVideoElement();if(!e)return;let t=e.currentTime;const r=window.setInterval(()=>{if(!dr.current)return void(t=e.currentTime);if(null!==yt.current||null!==ft.current)return;const r=e.currentTime,n=r>t+.01;t=r,!n||e.paused||e.seeking||fr(!1)},350);return()=>window.clearInterval(r)},[$t,fr]),(0,o.useEffect)(()=>{$t&&kn&&pn&&(bn(!1),fn.current=!0,$t.play())},[$t,kn,pn]),(0,o.useEffect)(()=>{if(!$t)return;const e=()=>{document.hidden?be&&Zi.current&&Yi.current&&($t.pause(),Wr.current=!0):Wr.current&&($t.play(),Wr.current=!1)};return document.addEventListener("visibilitychange",e),()=>{document.removeEventListener("visibilitychange",e)}},[$t,be]);const hs=()=>{ce&&!ze.current&&Le.current&&(ze.current=!0,Le.current.requestFullscreen().catch(()=>{}))},fs=()=>{if(!$t)return;const e=$t.getVideoElement();if((ft.current??Se??e?.currentTime??0)<1&&(e?.currentTime??0)<1&&!pn&&xe)return bn(!0),void fr(!0);fn.current=!0,$t.play()},ks=()=>{if($t){if(Pn)return $t.casting.remotePlayPause(),void is();if(kn)return bn(!1),fn.current=!0,fr(!1),void is();if(Mr)ys(0),hs(),fs(),Rr(!1);else if(Zt){$t.pause();try{const e=$t.getVideoElement?.();e&&!e.paused&&e.pause()}catch(e){}if(Le.current&&Le.current.querySelectorAll("video").forEach(t=>{try{t.pause()}catch(e){}}),Be.current&&!Be.current.paused)try{Be.current.pause()}catch(e){}}else hs(),fs();is()}},bs=e=>{if(!$t||ps)return;Ke.current=!0,qi((e=>{if(!Fe.current||!$t||0===Vn)return 0;const t=Fe.current.getBoundingClientRect();return Bn(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*Vn)})(e));const t=e=>{if(!Ke.current||!Fe.current)return;const t=Fe.current.getBoundingClientRect(),r=Bn(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*Vn);qi(r),Ai(e.clientX-t.left),$i(r),Be.current&&(Be.current.currentTime=r),is()},r=e=>{if(Ke.current=!1,Fe.current){const t=Fe.current.getBoundingClientRect();ys(Bn(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*Vn))}qi(null),Ai(null),_i(null),Fi(null),document.removeEventListener("mousemove",t),document.removeEventListener("mouseup",r)};document.addEventListener("mousemove",t),document.addEventListener("mouseup",r)},ys=(e,t)=>{if(!$t)return;if(ls.current)return;if(St.current=null,Pn){const t=Dn?.currentTime??0;if(e>t&&Ir.current.length>0){const r=Ir.current.filter(r=>r.startTime<e&&r.endTime>t&&!Dr.current.has(r.startTime)).sort((e,t)=>e.startTime-t.startTime);if(r.length>0){const n=r[r.length-1];return us.current={target:e,breakEnd:n.endTime},void $t.casting.remoteSeek(Math.max(n.startTime,t))}}us.current=null;const r=Ir.current.find(t=>Dr.current.has(t.startTime)&&e>=t.startTime-.5&&e<t.endTime+2);return void $t.casting.remoteSeek(r?Math.max(e,r.endTime+.5):e)}const r=Math.max(0,nr>0?Math.min(e,nr):e);if(t){const{eventType:e,...r}=t;$t.attributeNextSeek(e,r)}const n=$t.getCurrentTime();if(r>n&&Ir.current.length>0){const e=Ir.current.filter(e=>e.startTime<r&&e.endTime>n&&!Dr.current.has(e.startTime)).sort((e,t)=>e.startTime-t.startTime);if(e.length>0){dt.current=r,pt(r);const t=e[e.length-1],i=Math.max(t.startTime,n);He.current=!0,We.current=i,Xe.current=n,rr(i),Ji.current=!0,Qi(!0);const s=tt($t.getVideoElement());return rt.current=s,st(),Ye.current&&s&&(Ye.current.style.transition="none",Ye.current.style.opacity="1"),ot($t.getVideoElement()),$t.seek(i),Qe.current&&window.clearTimeout(Qe.current),void(Qe.current=window.setTimeout(()=>{He.current=!1,Ji.current=!1,Qi(!1),We.current=null,Xe.current=null,Qe.current=null,st(),Ze.current=!1,Ye.current&&(Ye.current.style.opacity="0"),ct($t.getVideoElement())},3e3))}}dt.current=null,pt(null);const i=Ir.current.find(e=>Dr.current.has(e.startTime)&&r>=e.startTime-.5&&r<e.endTime+2);if(i&&r<i.endTime&&lt.current)return void lt.current(i.endTime);const s=i?Math.max(r,i.endTime+.5):r;He.current=!0,We.current=s,Xe.current=n,rr(s),st(),Ze.current=!1,Ye.current&&(Ye.current.style.opacity="0"),ct($t.getVideoElement()),$t.seek(s),Qe.current&&window.clearTimeout(Qe.current),Qe.current=window.setTimeout(()=>{He.current=!1,We.current=null,Xe.current=null,Qe.current=null,st(),Ze.current=!1,Ye.current&&(Ye.current.style.opacity="0")},3e3)};ht.current=ys;const gs=()=>{if(!$t)return;if(Pn)return void $t.casting.remoteSetMute(!Dn?.isMuted);const e=!or;$t.setMute(e),cr(e)},vs=e=>{$t&&($t.setPlaybackRate(e),di(e),li("none"),bi("Playback speed: "+(1===e?"Normal":`${e}x`)))},xs=e=>{if(!$t)return;$t.setQuality(e);const t=Un.find(t=>t.id===e);t&&(Wn(t),bi(`Quality: ${t.label}`)),li("none")},Ts=e=>{if($t)if($t.subtitles.setActiveTrack(e),Gn(e),li("none"),"off"===e)bi("Captions off");else{const t=Yn.find(t=>t.id===e);bi(`Captions: ${t?J(t):"on"}`)}},ws=e=>{if($t){if(bt.current&&(clearTimeout(bt.current),bt.current=null),gi(null),Pn||(Tt.current&&(Tt.current.style.opacity="1"),fr(!0)),null===yt.current){ft.current=Pn?Dn?.currentTime??$t.getCurrentTime():$t.getCurrentTime();const e=Yn.find(e=>e.id===Jn),t=ei.find(e=>e.id===ri);kt.current={playbackRate:ui,volume:sr,muted:or,subtitleId:Jn,subtitleLang:e?.lang??null,audioLang:t&&0!==ri?t.lang:null,audioLabel:t&&0!==ri?t.label:null,qualityHeight:-1!==Hn.id?Hn.height:null}}yt.current={targetIdx:e},li("none"),bi(`Source: ${Te?.[e]?.label??""}`),je?.(e)}},js=(e,t)=>{ys(e,{eventType:"key_moments",momentTitle:t?.title??"",momentTime:e}),li("none")},Ss=(0,o.useCallback)(()=>{if(!Nt.current)return;const e=_t.current?.getVideoElement?.();e&&Le.current&&e.ownerDocument!==document&&(e.classList.remove("gb-pip-video"),e.style.objectFit="",Le.current.insertBefore(e,Le.current.firstChild)),Nt.current=null,Cr(null),Er(!1)},[]);(0,o.useEffect)(()=>()=>{const e=Nt.current;Nt.current=null,e?.close()},[]);const Es=async()=>{if(!$t)return;const e=window.documentPictureInPicture;if(e)if(Nt.current)Nt.current.close();else try{const t=$t.getVideoElement(),r=t.videoWidth&&t.videoHeight?t.videoWidth/t.videoHeight:16/9,n=360,i=await e.requestWindow({width:n,height:Math.round(n/r)}),s=i.document.createElement("style");s.textContent="\n html, body { margin: 0; padding: 0; height: 100%; background: #000; overflow: hidden; }\n * { box-sizing: border-box; }\n .gb-pip-video { width: 100%; height: 100%; object-fit: contain; display: block; background: #000; }\n .gb-pip-overlay {\n position: absolute; inset: 0; z-index: 2;\n display: flex; flex-direction: column; justify-content: space-between;\n font-family: system-ui, -apple-system, sans-serif; color: #fff;\n opacity: 0; transition: opacity 0.15s ease;\n background: linear-gradient(to bottom, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0) 25%, rgba(0,0,0,0) 65%, rgba(0,0,0,0.55) 100%);\n }\n .gb-pip-overlay:hover, .gb-pip-overlay.gb-pip-paused { opacity: 1; }\n .gb-pip-center {\n flex: 1; display: flex; align-items: center; justify-content: center; gap: 28px;\n }\n .gb-pip-btn {\n background: rgba(0,0,0,0.35); border: none; color: #fff; border-radius: 50%;\n width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;\n cursor: pointer; padding: 0;\n }\n .gb-pip-btn:hover { background: rgba(0,0,0,0.55); }\n .gb-pip-btn.gb-pip-play { width: 56px; height: 56px; }\n .gb-pip-bottom { padding: 6px 10px 8px; display: flex; flex-direction: column; gap: 4px; }\n .gb-pip-progress { position: relative; height: 4px; border-radius: 2px; background: rgba(255,255,255,0.3); cursor: pointer; }\n .gb-pip-progress-fill { position: absolute; inset: 0; width: 0%; border-radius: 2px; background: #fff; }\n .gb-pip-time { font-size: 11px; font-variant-numeric: tabular-nums; opacity: 0.9; }\n",i.document.head.appendChild(s),t.classList.add("gb-pip-video"),i.document.body.appendChild(t),i.addEventListener("pagehide",()=>Ss(),{once:!0}),Nt.current=i,Cr(i),Er(!0)}catch(t){}else $t.togglePictureInPicture()},Ns=e=>{if(ps)return;const t=e.currentTarget.getBoundingClientRect();ys(Bn(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*Vn))},Cs=()=>{if(!Le.current)return;const e=Le.current,t=document,r=e,n=()=>{xr(!0),gr(!0),document.body.style.overflow="hidden",document.body.style.touchAction="none",$t?.analytics.track("fullscreen_enter",$t.getVideoElement())};if(document.fullscreenElement||t.webkitFullscreenElement||vr)wr(!1),document.fullscreenElement?document.exitFullscreen():t.webkitFullscreenElement?t.webkitExitFullscreen?.():(xr(!1),gr(!1),document.body.style.overflow="",document.body.style.touchAction="",$t?.analytics.track("fullscreen_exit",$t.getVideoElement()));else{wr(At.current);const t=e.requestFullscreen?.bind(e)??r.webkitRequestFullscreen?.bind(r);t?t().catch(n):n()}};(0,o.useEffect)(()=>{Ge.current=Cs});const Ms=()=>{if(!Hi)return;const e=Ar.find(e=>tr>=e.startTime&&tr<e.endTime),t=tn.find(e=>tr>=e.startTimeSeconds&&tr<e.endTimeSeconds);if(t){const r=t.podIndex>=t.podTotal-1;return void lt.current?.(r?e?.endTime??t.endTimeSeconds:t.endTimeSeconds,!r)}e&&lt.current?.(e.endTime)},Rs=Pn?Dn?.currentTime??tr:tr,As=qn(Rs),Ps=ne(Rs,Ar,re),Is=!Kt&&!Ot&&ln&&$r&&!Hi&&!Xi&&!cs&&!Ps&&(Ce??0)>(Ne??0)&&As>=(Ne??0)&&As<=(Ce??0),[Ds,$s]=(0,o.useState)(!1),[Ls,_s]=(0,o.useState)(0),zs=(0,o.useRef)(!1),Fs=(0,o.useRef)(null),Vs=(0,o.useRef)(!1),qs=(0,o.useCallback)(()=>{if(!Vs.current){if(Vs.current=!0,null!=Fs.current&&(window.clearTimeout(Fs.current),Fs.current=null),$s(!1),$t)try{$t.pause()}catch(e){}dr.current=!0,null!==mr.current&&(window.clearTimeout(mr.current),mr.current=null),ur(!0),Pe?.()}},[Pe,$t]);(0,o.useEffect)(()=>{Vs.current=!1},[e,we]),(0,o.useEffect)(()=>{if(Kt||Ot||Hi||Xi||!Me||!Re||Re<=0)return $s(!1),_s(0),zs.current=!1,void(null!=Fs.current&&window.clearTimeout(Fs.current));Fn>0&&As>=Re&&!zs.current&&($s(!0),_s(0),zs.current=!0,Fs.current=window.setTimeout(()=>{qs()},1e3*Ie)),As<Re&&zs.current&&($s(!1),_s(0),zs.current=!1,null!=Fs.current&&window.clearTimeout(Fs.current))},[As,Fn,Re,Me,qs,Ie,Kt,Ot,Hi,Xi]),(0,o.useEffect)(()=>{if(!Ds)return;_s(0);const e=Math.max(100,1e3*Ie),t=Date.now();let r;const n=()=>{const i=Date.now()-t,s=Math.min(1,i/e);_s(s),s<1&&(r=window.setTimeout(n,100))};return n(),()=>{null!=r&&window.clearTimeout(r)}},[Ds,Ie]),(0,o.useEffect)(()=>()=>{null!=Fs.current&&window.clearTimeout(Fs.current)},[]);const Bs=()=>{$t&&(Pn?$t.casting.stopCasting():$t.casting.requestSession(e,wi($t),pe))},Os=()=>{if(!$t)return;const e=$t.getVideoElement();Ei?$t.casting.stopAirPlay(e):("function"==typeof e.webkitShowPlaybackTargetPicker||$t.casting.isAirPlayAvailable())&&$t.casting.requestAirPlaySession(e)},Us=e=>{if(!Fe.current||0===Vn||!$t||ps)return;const t=Fe.current.getBoundingClientRect();Ve.current=t.width,Ii(Math.max(96,Math.min(e.clientX-t.left,t.width-96)));const r=Bn(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*Vn);Ai(e.clientX-t.left),$i(r),Ue.current&&window.clearTimeout(Ue.current),Ue.current=window.setTimeout(()=>{Be.current&&(Be.current.currentTime=r)},100),Fi($t.keyMoments.getCurrentMoment(r).keyMoment)},Ks=e=>{if(!$t||ps||0===Vn)return;e.preventDefault(),Ke.current=!0,qi((e=>{if(!Fe.current||0===Vn)return 0;const t=Fe.current.getBoundingClientRect();return Bn(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*Vn)})(e.touches[0]));const t=e=>{if(!Ke.current||!Fe.current)return;const t=e.touches[0],r=Fe.current.getBoundingClientRect(),n=Bn(Math.max(0,Math.min(1,(t.clientX-r.left)/r.width))*Vn);qi(n),$i(n),is()},r=e=>{if(Ke.current=!1,Fe.current&&e.changedTouches[0]){const t=e.changedTouches[0],r=Fe.current.getBoundingClientRect();ys(Bn(Math.max(0,Math.min(1,(t.clientX-r.left)/r.width))*Vn))}qi(null),document.removeEventListener("touchmove",t),document.removeEventListener("touchend",r)};document.addEventListener("touchmove",t,{passive:!1}),document.addEventListener("touchend",r)},Hs=()=>{Ai(null),_i(null),Fi(null),Ue.current&&window.clearTimeout(Ue.current)},Ws=e=>{if(isNaN(e)||e<0)return"00:00";const t=Math.floor(e),r=Math.floor(t/3600),n=Math.floor(t%3600/60),i=t%60,s=e=>String(e).padStart(2,"0");return r>0?`${s(r)}:${s(n)}:${s(i)}`:`${s(n)}:${s(i)}`};(0,o.useEffect)(()=>{vi.current&&bi(Zt?"Playing":"Paused")},[Zt]),(0,o.useEffect)(()=>{vi.current&&bi(or?"Muted":"Unmuted")},[or]),(0,o.useEffect)(()=>{vi.current=!0},[]),(0,o.useEffect)(()=>{const e=e=>{"Escape"===e.key&&"none"!==ts.current&&(e.preventDefault(),li("none"))};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[]);const Xs=Pn?!(Dn?.isPaused??1):Zt||kn,Qs=Pn?Dn?.currentTime??0:tr,Js=null!==Vi?Vi:mt??tr,Gs=Pn?Vn>0?Vn:qn(Dn?.duration??0):Vn,Ys=qn(Pn?Qs:Js),Zs=Pn?Dn?.volumeLevel??1:sr,ea=Pn?Dn?.isMuted??!1:or,ta=(0,o.useCallback)(e=>{if(ps)return;if(e.target.closest(".sdk-mobile-ctrl"))return;const t=Date.now(),r=Le.current?.getBoundingClientRect(),n=e.clientX-(r?.left??0),i=Pt.current;if(i&&t-i.time<300){Pt.current=null;const e=n<(r?.width??0)/2,t=e?-10:10;ys(Bn(Math.max(0,Math.min(Vn,qn(Qs)+t))),{eventType:e?"fast_backward":"fast_forward",skipSeconds:10}),Dt(e?"left":"right"),window.setTimeout(()=>Dt(null),700),is()}else Pt.current={time:t,x:n},Ui?(Ki(!1),Gi.current&&window.clearTimeout(Gi.current)):is()},[ps,Vn,qn,Qs,Bn,ys,Ui]),ra=()=>ea||0===Zs?(0,d.jsx)(V,{size:18}):Zs<.3?(0,d.jsx)(q,{size:18}):Zs<.7?(0,d.jsx)(z,{size:18}):(0,d.jsx)(F,{size:18}),na=e=>t=>{"Enter"===t.key||" "===t.key?(t.preventDefault(),e()):"Escape"===t.key&&(t.preventDefault(),li("none"))},ia=e=>t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),e())},sa=e=>{if(!ps)if("ArrowLeft"===e.key||"ArrowRight"===e.key){e.preventDefault();const t="ArrowLeft"===e.key?-5:5;ys(Bn(Math.max(0,Math.min(Vn,qn(Qs)+t))))}else"Home"===e.key?(e.preventDefault(),ys(Bn(0))):"End"===e.key&&(e.preventDefault(),ys(Bn(Vn)))},aa=e=>{li(ci===e?"none":e)},oa=(0,o.useCallback)(e=>{if(!e)return;e.style.left="";const t=Le.current;if(!t)return;const r=e.getBoundingClientRect(),n=t.getBoundingClientRect(),i=r.right-(n.right-8),s=n.left+8-r.left;i>0?e.style.left=`calc(50% - ${Math.ceil(i)}px)`:s>0&&(e.style.left=`calc(50% + ${Math.ceil(s)}px)`)},[]);return(0,d.jsxs)("div",{ref:Le,role:"region","aria-label":pe||Bi?`${pe||Bi} video player`:"Video player",className:`sdk-player-container ${Ui?"controls-active":""} ${vr?"sdk-fs-simulated":""}`,onMouseMove:()=>{is()},onTouchStart:jr?void 0:is,onMouseLeave:()=>{},style:{border:vr?"none":"1px solid rgba(255, 255, 255, 0.08)","--sdk-theme-color":l,"--sdk-theme-color-rgb":W(l)},children:[(0,d.jsx)("canvas",{ref:qe,width:160,height:90,style:{display:"none",position:"absolute",pointerEvents:"none"},"aria-hidden":"true"}),(0,d.jsx)("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:"sdk-sr-only",children:ki}),(0,d.jsx)("div",{ref:Ye,style:{opacity:0,position:"absolute",inset:0,background:"#000",zIndex:100,pointerEvents:"none",willChange:"opacity"},"aria-hidden":"true",children:(0,d.jsx)("canvas",{ref:et,className:"sdk-ad-cover-frame",style:{width:"100%",height:"100%",objectFit:"contain",display:"block"},"aria-hidden":"true"})}),Nr&&(0,d.jsxs)("div",{className:"sdk-pip-placeholder","aria-hidden":"true",children:[(0,d.jsx)(I,{size:32,"aria-hidden":"true"}),(0,d.jsx)("span",{children:"Playing in Picture-in-Picture"})]}),(0,d.jsx)("div",{ref:Tt,style:{opacity:Se&&Se>0?1:0,position:"absolute",inset:0,background:"#000",zIndex:100,pointerEvents:"none",willChange:"opacity"},"aria-hidden":"true"}),(0,d.jsx)("div",{className:"sdk-spinner-overlay "+(lr?"active":""),"aria-hidden":"true",children:(0,d.jsx)("div",{className:"sdk-spinner"})}),Kt&&(0,d.jsx)("div",{className:"sdk-error-overlay",style:{position:"absolute",inset:0,zIndex:50,background:"rgba(9,9,14,0.96)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:20,padding:"0 24px"},children:(0,d.jsx)(B,{offline:Wt,onRetry:br})}),yi&&(0,d.jsx)("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, calc(-50% + 70px))",background:"rgba(0,0,0,0.82)",color:"#fff",fontSize:13,fontWeight:500,padding:"8px 16px",borderRadius:8,zIndex:102,pointerEvents:"none",maxWidth:"85%",textAlign:"center",backdropFilter:"blur(8px)",border:"1px solid rgba(255,255,255,0.12)"},children:yi}),Ut.enableSubtitles&&!Hi&&Xn&&"off"!==Jn&&(0,d.jsx)("div",{className:"sdk-subtitles-overlay",children:(0,d.jsx)("span",{className:"sdk-subtitles-text",style:{fontSize:"small"===ue.size?"14px":"large"===ue.size?"24px":"18px",color:ue.color??"#ffffff",background:"none"===ue.background?"transparent":"solid"===ue.background?"rgba(0, 0, 0, 0.92)":"rgba(15, 23, 42, 0.78)",border:"none"===ue.background?"none":"1px solid rgba(255,255,255,0.08)",backdropFilter:"none"===ue.background?"none":"blur(8px)"},dangerouslySetInnerHTML:{__html:Xn}})}),Jr&&(0,d.jsxs)("div",{className:`sdk-overlay-ad sdk-overlay-ad--${Jr.position}`,role:"complementary","aria-label":"Advertisement",children:[(0,d.jsxs)("div",{className:"sdk-overlay-ad-topbar",children:[(0,d.jsx)("span",{className:"sdk-overlay-ad-label",children:"Ad"}),Jr.dismissible&&(0,d.jsx)("button",{className:"sdk-overlay-ad-close",onClick:()=>{Zr.current&&en.current.add(Zr.current.availId),Gr(null),Zr.current=null},"aria-label":"Close advertisement",children:"✕"})]}),(0,d.jsx)("img",{src:Jr.imageUrl,width:Jr.imageWidth,height:Jr.imageHeight,alt:Jr.title||"Advertisement",className:"sdk-overlay-ad-img",onClick:()=>{return(e=Jr).clickTrackingUrl&&fetch(e.clickTrackingUrl,{mode:"no-cors"}).catch(()=>{}),void(e.clickThrough&&window.open(e.clickThrough,"_blank","noopener,noreferrer"));var e}})]}),Hi&&(()=>{const e=wn&&tr<wn.startTime?wn.startTime:tr,t=tn.find(t=>e>=t.startTimeSeconds&&e<t.endTimeSeconds),r=Ar.find(t=>e>=t.startTime&&e<t.endTime)??wn,n=t?Math.max(0,t.endTimeSeconds-e):r?Math.max(0,r.endTime-e):0,i=t?e-t.startTimeSeconds:r?e-r.startTime:0,s=!!t&&t.podTotal>1,a=t?t.skippable:ye,o=t?t.skipOffsetSeconds:ge,c=a&&i>=o,l=Math.ceil(o-i),u=i+n,m=u>0?Math.min(1,Math.max(0,i/u)):0,p=2.5,{w:h,h:f}=xn,k=Math.max(0,h-p),b=Math.max(0,f-p),y=Math.min(20.75,b/2),g=Math.max(0,k-2*y),v=Math.max(0,b-2*y),x=`M${1.25+y+g/2},1.25h${g/2}a${y},${y} 0 0 1 ${y},${y}v${v}a${y},${y} 0 0 1 ${-y},${y}h${-g}a${y},${y} 0 0 1 ${-y},${-y}v${-v}a${y},${y} 0 0 1 ${y},${-y}h${g/2}`,T=2*g+2*v+2*Math.PI*y;return(0,d.jsxs)(d.Fragment,{children:[(!xe||!!t)&&(0,d.jsxs)("div",{ref:vn,className:"sdk-ad-countdown",role:"timer","aria-label":s?`Advertisement ${t.podIndex+1} of ${t.podTotal} — ${Ws(n)} remaining`:`Advertisement — ${Ws(n)} remaining`,"aria-live":"off",children:[h>0&&f>0&&(0,d.jsxs)("svg",{className:"sdk-ad-countdown-border",width:h,height:f,viewBox:`0 0 ${h} ${f}`,"aria-hidden":"true",children:[(0,d.jsx)("path",{className:"sdk-ad-countdown-border-track",d:x,strokeWidth:p}),(0,d.jsx)("path",{className:"sdk-ad-countdown-border-fill",d:x,strokeWidth:p,strokeDasharray:T,strokeDashoffset:T*(1-m)})]}),(0,d.jsx)("span",{className:"sdk-ad-countdown-badge","aria-hidden":"true",children:"Ad"}),s&&(0,d.jsxs)("span",{className:"sdk-ad-countdown-count","aria-hidden":"true",children:[t.podIndex+1," of ",t.podTotal]}),(0,d.jsx)("span",{className:"sdk-ad-countdown-sep","aria-hidden":"true"}),(0,d.jsx)("span",{className:"sdk-ad-countdown-time","aria-hidden":"true",children:Ws(n)})]}),a&&(0,d.jsx)("button",{className:"sdk-skip-ad-btn "+(c?"sdk-skip-ad-btn--ready":""),onClick:c?Ms:void 0,disabled:!c,"aria-label":c?"Skip advertisement":`Skip advertisement available in ${l} seconds`,"aria-disabled":!c,children:c?"Skip Ad ›":`Skip in ${l}s`}),t?.cta&&(()=>{const e=t.cta,r=(0,d.jsxs)("button",{className:"sdk-ad-cta-btn",onClick:()=>(e=>{e.clickTrackingBeacons.forEach(e=>{fetch(e,{mode:"no-cors"}).catch(()=>{})}),window.open(e.url,"_blank","noopener,noreferrer")})(e),"aria-label":`${e.text} — opens advertiser site in a new tab`,children:[(0,d.jsx)("span",{className:"sdk-ad-cta-btn-text",children:e.text}),(0,d.jsx)(E,{size:15,"aria-hidden":"true"})]});return(0,d.jsx)("div",{className:"sdk-ad-cta",role:"complementary","aria-label":"Advertisement call to action",children:e.title?(0,d.jsxs)("div",{className:"sdk-ad-cta-card",children:[(0,d.jsxs)("div",{className:"sdk-ad-cta-info",children:[(0,d.jsx)("div",{className:"sdk-ad-cta-title",children:e.title}),e.description&&(0,d.jsx)("div",{className:"sdk-ad-cta-desc",children:e.description})]}),r]}):r})})()]})})(),Is&&(0,d.jsx)("button",{className:"sdk-skip-ad-btn sdk-skip-ad-btn--ready sdk-skip-intro-btn",onClick:()=>{null!=Ce&&ys(Bn(Ce),{eventType:"key_moments",momentTitle:"Skip Intro",momentTime:Ce})},"aria-label":"Skip intro",children:"Skip Intro ›"}),Ds&&!Hi&&!Xi&&(0,d.jsxs)("button",{type:"button",className:"sdk-next-episode-wrapper",onClick:e=>{e.stopPropagation(),qs()},"aria-label":`Play next episode now — ${Ae}`,children:[De&&(0,d.jsx)("img",{className:"sdk-next-episode-thumb",src:De,alt:"","aria-hidden":"true"}),(0,d.jsxs)("span",{className:"sdk-next-episode-chip",children:[(0,d.jsx)("span",{className:"sdk-next-episode-progress-fill","aria-hidden":"true",style:{transform:`scaleX(${Ls})`}}),(0,d.jsxs)("span",{className:"sdk-next-episode-content",children:[(0,d.jsx)("svg",{className:"sdk-next-episode-icon",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:(0,d.jsx)("path",{d:"M7 6v12l10-6-10-6z",fill:"currentColor"})}),(0,d.jsx)("span",{className:"sdk-next-episode-label",children:Ae})]})]})]}),Ot&&(0,d.jsx)("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",background:"rgba(0,0,0,0.72)",color:"#fff",zIndex:60},children:(0,d.jsxs)("div",{style:{maxWidth:480,textAlign:"center",padding:24},children:[(0,d.jsx)("h3",{style:{margin:"0 0 8px"},children:"Playback restricted"}),(0,d.jsx)("p",{style:{margin:0},children:"Your account is missing a required license key. Please contact your administrator."})]})}),(Pn||Ei)&&(0,d.jsx)("div",{className:"sdk-cast-bg"}),jr&&(0,d.jsxs)("div",{className:"sdk-mobile-overlay "+(Ui?"active":""),onClick:ta,children:[It&&(0,d.jsx)("div",{className:`sdk-mobile-doubletap ${It}`,children:(0,d.jsxs)("div",{className:"sdk-mobile-doubletap-icon",children:["left"===It?(0,d.jsx)($,{size:26}):(0,d.jsx)(L,{size:26}),(0,d.jsx)("span",{className:"sdk-mobile-doubletap-label",children:"10s"})]})}),y&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"sdk-mobile-header sdk-mobile-ctrl",children:[(0,d.jsxs)("div",{className:"sdk-mobile-header-left",children:[(yr||vr)&&(0,d.jsx)("button",{className:"sdk-mobile-back-btn",onClick:Cs,"aria-label":"Exit fullscreen",children:(0,d.jsx)(j,{size:22,"aria-hidden":"true"})}),(pe||Bi)&&(0,d.jsx)("div",{className:"sdk-mobile-title",children:pe||Bi})]}),(0,d.jsxs)("div",{className:"sdk-mobile-header-actions",children:[Ut.enablePiP&&(0,d.jsx)("button",{className:"sdk-mobile-hdr-btn",onClick:()=>{Hi||Es()},style:{color:Sr?l:""},"aria-label":Sr?"Exit picture-in-picture":"Enter picture-in-picture","aria-pressed":Sr,children:(0,d.jsx)(I,{size:20,"aria-hidden":"true"})}),Ut.enableChromecast&&!Hi&&(0,d.jsx)("button",{className:"sdk-mobile-hdr-btn",onClick:Bs,"data-tooltip":Pn?`Casting to ${Pn} — tap to disconnect`:"Cast to device","aria-label":Pn?`Stop casting to ${Pn}`:"Cast to device","aria-pressed":!!Pn,style:{color:Pn?"#3b82f6":""},children:(0,d.jsx)(T,{size:20,fill:Pn?"currentColor":"none","aria-hidden":"true"})}),Ut.allowAirplay&&ji&&(0,d.jsx)("button",{className:"sdk-mobile-hdr-btn",onClick:Os,"aria-label":Ei?`Stop AirPlay to ${Ci||"device"}`:"AirPlay to device","aria-pressed":Ei,style:{color:Ei?l:""},children:(0,d.jsx)(v,{size:20,"aria-hidden":"true"})})]})]}),(0,d.jsxs)("div",{className:"sdk-mobile-center-controls sdk-mobile-ctrl",children:[!ps&&(0,d.jsxs)("button",{className:"sdk-mobile-seek-btn",onClick:()=>ys(Bn(Math.max(0,qn(Qs)-10)),{eventType:"fast_backward",skipSeconds:10}),"aria-label":"Rewind 10 seconds",children:[(0,d.jsx)($,{size:22,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"sdk-mobile-seek-label","aria-hidden":"true",children:"10"})]}),(0,d.jsx)("button",{className:"sdk-mobile-play-btn",onClick:ks,"aria-label":Mr?"Replay":Xs?"Pause":"Play",children:Mr?(0,d.jsx)($,{size:38,"aria-hidden":"true"}):Xs?(0,d.jsx)(P,{size:38,fill:"currentColor","aria-hidden":"true"}):(0,d.jsx)(D,{size:38,fill:"currentColor",style:{marginLeft:"3px"},"aria-hidden":"true"})}),!ps&&(0,d.jsxs)("button",{className:"sdk-mobile-seek-btn",onClick:()=>ys(Bn(Math.min(Vn,qn(Qs)+10)),{eventType:"fast_forward",skipSeconds:10}),"aria-label":"Skip forward 10 seconds",children:[(0,d.jsx)(L,{size:22,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"sdk-mobile-seek-label","aria-hidden":"true",children:"10"})]})]}),(0,d.jsxs)("div",{className:"sdk-mobile-bottom-bar sdk-mobile-ctrl",children:[Ut.enableKeyMoments&&mi&&ai.length>0&&(0,d.jsx)("div",{className:"sdk-mobile-chapters-scroll",children:ai.map((e,t)=>{const r=ii.index===t;return(0,d.jsxs)("div",{role:"button",tabIndex:0,className:"sdk-mobile-chapter-card"+(r?" active":""),style:{borderColor:r?l:void 0},"aria-label":`${e.title}, ${Ws(e.startTime)}${r?", current chapter":""}`,"aria-current":r?"true":void 0,onClick:()=>{js(e.startTime,e)},onKeyDown:ia(()=>js(e.startTime,e)),children:[(0,d.jsxs)("div",{className:"sdk-mobile-chapter-thumb",children:[hi[t]||e.thumbnail?(0,d.jsx)("img",{src:hi[t]||e.thumbnail,alt:"","aria-hidden":"true",style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}}):(0,d.jsx)(M,{size:16,"aria-hidden":"true",style:{color:r?l:"rgba(255,255,255,0.3)"}}),(0,d.jsx)("span",{className:"sdk-mobile-chapter-time-badge","aria-hidden":"true",children:Ws(e.startTime)})]}),(0,d.jsx)("div",{className:"sdk-mobile-chapter-title",style:{color:r?l:void 0},children:e.title})]},t)})}),(0,d.jsx)("div",{ref:Fe,role:ps?void 0:"slider","aria-label":ps?void 0:"Seek","aria-valuemin":ps?void 0:0,"aria-valuemax":ps?void 0:Math.round(Gs),"aria-valuenow":ps?void 0:Math.round(Ys),"aria-valuetext":ps?void 0:`${Ws(Ys)} of ${Ws(Gs)}`,tabIndex:ps?void 0:0,className:"sdk-seekbar-container sdk-mobile-seekbar"+(Hi||cs?" sdk-ad-mode":""),onMouseDown:ps?void 0:bs,onMouseMove:ps?void 0:Us,onMouseLeave:ps?void 0:Hs,onTouchStart:ps?void 0:Ks,onKeyDown:ps?void 0:sa,style:{pointerEvents:ps?"none":void 0,touchAction:"none"},children:Hi?(0,d.jsx)("div",{className:"sdk-ad-progress-fill",style:{width:(()=>{const e=$t?$t.getCurrentTime():tr,t=An(e);return t?`${Math.min(100,Math.max(0,(e-t.start)/(t.end-t.start)*100))}%`:"0%"})()}}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"sdk-seekbar-buffered",style:{width:(nr?($t&&$t.getBufferedRanges()[0]?.end||0)/nr*100:0)+"%"}}),Vn>0&&Ar.filter(e=>!Fr.has(e.startTime)&&On(e)).map((e,t)=>(0,d.jsx)("div",{className:"sdk-seekbar-adbreak",style:{left:qn(e.startTime)/Vn*100+"%",width:"3px"}},t)),(0,d.jsx)("div",{className:"sdk-seekbar-progress",style:{width:(Gs>0?Ys/Gs*100:0)+"%",background:"#ffffff",boxShadow:"none"},children:(0,d.jsx)("div",{className:"sdk-seekbar-handle",style:{opacity:1,transform:"scale(1)"}})}),Ut.enableKeyMoments&&ai.map((e,t)=>0===Vn?null:(0,d.jsx)("div",{className:"sdk-seekbar-chapter-marker sdk-desktop-chapter-dot",style:{left:qn(e.startTime)/Vn*100+"%"}},t))]})}),(0,d.jsxs)("div",{className:"sdk-mobile-controls-row",children:[!Hi&&(0,d.jsx)("span",{className:"sdk-time-display",children:`${Ws(Ys)} / ${Ws(Gs)}`}),(0,d.jsxs)("div",{className:"sdk-mobile-bottom-icons",children:[Me&&Pe&&!Hi&&!Xi&&(0,d.jsx)("button",{className:"sdk-mobile-icon-btn sdk-next-episode-btn",onClick:()=>{qs()},"aria-label":Ae,children:(0,d.jsx)(_,{size:18,fill:"currentColor","aria-hidden":"true"})}),Ut.enableKeyMoments&&ai.length>0&&!Hi&&(0,d.jsx)("button",{className:"sdk-mobile-icon-btn"+(mi?" active":""),onClick:()=>{pi(!mi)},"aria-label":mi?"Hide chapters":"Show chapters","aria-pressed":mi,children:(0,d.jsx)(M,{size:18,"aria-hidden":"true"})}),Ut.enableSubtitles&&!Hi&&Yn.some(e=>!e.isNative)&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-mobile-icon-btn"+("off"!==Jn?" active":""),onClick:()=>{aa("subtitles")},"aria-label":"Captions","aria-haspopup":"listbox","aria-expanded":"subtitles"===ci,children:(0,d.jsx)(x,{size:18,"aria-hidden":"true"})}),"subtitles"===ci&&(0,d.jsxs)("div",{ref:oa,className:"sdk-dropup-menu",role:"listbox","aria-label":"Captions",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Subtitles"}),(0,d.jsxs)("div",{role:"option","aria-selected":"off"===Jn,tabIndex:0,className:"sdk-dropup-item "+("off"===Jn?"active":""),onClick:()=>Ts("off"),onKeyDown:na(()=>Ts("off")),children:[(0,d.jsx)("span",{children:"Off"}),"off"===Jn&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]}),Yn.map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":Jn===e.id,tabIndex:0,className:"sdk-dropup-item "+(Jn===e.id?"active":""),onClick:()=>Ts(e.id),onKeyDown:na(()=>Ts(e.id)),children:[(0,d.jsx)("span",{children:J(e)}),Jn===e.id&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e.id))]})]}),Ut.allowMultipleAudio&&ei.length>1&&!Hi&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-mobile-icon-btn"+("audio"===ci?" active":""),onClick:()=>{aa("audio")},"aria-label":"Audio track","aria-haspopup":"listbox","aria-expanded":"audio"===ci,children:(0,d.jsx)(C,{size:18,"aria-hidden":"true"})}),"audio"===ci&&(0,d.jsxs)("div",{ref:oa,className:"sdk-dropup-menu",role:"listbox","aria-label":"Audio track",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Audio Track"}),ei.map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":ri===e.id,tabIndex:0,className:"sdk-dropup-item "+(ri===e.id?"active":""),onClick:()=>{$t?.setAudioTrack(e.id),ni(e.id),li("none"),bi(`Audio: ${J(e)}`)},onKeyDown:na(()=>{$t?.setAudioTrack(e.id),ni(e.id),li("none"),bi(`Audio: ${J(e)}`)}),children:[(0,d.jsx)("span",{children:J(e)}),ri===e.id&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e.id))]})]}),Ut.enablePlaybackSpeed&&!Hi&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-mobile-icon-btn"+("speed"===ci?" active":""),onClick:()=>{aa("speed")},"aria-label":"Playback speed","aria-haspopup":"listbox","aria-expanded":"speed"===ci,children:(0,d.jsx)(N,{size:18,"aria-hidden":"true"})}),"speed"===ci&&(0,d.jsxs)("div",{ref:oa,className:"sdk-dropup-menu",role:"listbox","aria-label":"Playback speed",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Speed"}),[.5,.75,1,1.25,1.5,2].map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":ui===e,tabIndex:0,className:"sdk-dropup-item "+(ui===e?"active":""),onClick:()=>vs(e),onKeyDown:na(()=>vs(e)),children:[(0,d.jsx)("span",{children:1===e?"Normal":`${e}x`}),ui===e&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e))]})]}),Ut.enableQuality&&!Hi&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-mobile-icon-btn"+(-1!==Hn.id?" active":""),onClick:()=>{aa("quality")},"aria-label":"Video quality","aria-haspopup":"listbox","aria-expanded":"quality"===ci,children:(0,d.jsx)(K,{size:18,"aria-hidden":"true"})}),"quality"===ci&&(0,d.jsxs)("div",{ref:oa,className:"sdk-dropup-menu large",role:"listbox","aria-label":"Video quality",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Quality"}),Un.map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":Hn.id===e.id,tabIndex:0,className:"sdk-dropup-item "+(Hn.id===e.id?"active":""),onClick:()=>xs(e.id),onKeyDown:na(()=>xs(e.id)),children:[(0,d.jsx)("span",{children:e.label}),Hn.id===e.id&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e.id))]})]}),Te&&Te.length>1&&!Hi&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-mobile-icon-btn"+("sources"===ci?" active":""),onClick:()=>{aa("sources")},"aria-label":"Select source","aria-haspopup":"listbox","aria-expanded":"sources"===ci,children:(0,d.jsx)(H,{size:18,"aria-hidden":"true"})}),"sources"===ci&&(0,d.jsxs)("div",{ref:oa,className:"sdk-dropup-menu",role:"listbox","aria-label":"Select source",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Source"}),Te.map((e,t)=>(0,d.jsxs)("div",{role:"option","aria-selected":we===t,tabIndex:0,className:"sdk-dropup-item "+(we===t?"active":""),onClick:()=>ws(t),onKeyDown:na(()=>ws(t)),children:[(0,d.jsx)("span",{children:e.label}),we===t&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},t))]})]}),(0,d.jsx)("button",{className:"sdk-mobile-icon-btn",onClick:Cs,"aria-label":yr||vr?"Exit fullscreen":"Enter fullscreen","aria-pressed":yr||vr,children:yr?(0,d.jsx)(A,{size:18,"aria-hidden":"true"}):(0,d.jsx)(R,{size:18,"aria-hidden":"true"})})]})]})]})]})]}),!jr&&(0,d.jsxs)("div",{className:"sdk-controls-overlay",onClick:e=>{Hi||e.target.closest(".sdk-desktop-header")||e.target.closest(".sdk-desktop-center-controls")||e.target.closest(".sdk-desktop-bottom")||ks()},children:[(0,d.jsxs)("div",{className:"sdk-desktop-header",children:[(0,d.jsxs)("div",{className:"sdk-desktop-header-left",children:[(yr||vr)&&(0,d.jsx)("button",{className:"sdk-desktop-back-btn",onClick:e=>{e.stopPropagation(),Cs()},"aria-label":"Exit fullscreen",children:(0,d.jsx)(j,{size:22,"aria-hidden":"true"})}),(pe||Bi)&&(0,d.jsx)("span",{className:"sdk-desktop-title",children:pe||Bi})]}),(0,d.jsxs)("div",{className:"sdk-desktop-header-right",children:[Ut.enableChromecast&&!Hi&&(0,d.jsx)("button",{className:"sdk-desktop-hdr-btn",onClick:e=>{e.stopPropagation(),Bs()},"data-tooltip":Pn?`Casting to ${Pn} — click to disconnect`:"Cast to device","aria-label":Pn?`Stop casting to ${Pn}`:"Cast to device","aria-pressed":!!Pn,style:{color:Pn?"#3b82f6":""},children:(0,d.jsx)(T,{size:20,fill:Pn?"currentColor":"none","aria-hidden":"true"})}),Pn&&(0,d.jsxs)("span",{className:"sdk-cast-indicator","aria-hidden":"true",children:[(0,d.jsx)(T,{size:10,fill:"currentColor","aria-hidden":"true"}),Pn]}),Ut.allowAirplay&&ji&&(0,d.jsx)("button",{className:"sdk-desktop-hdr-btn",onClick:e=>{e.stopPropagation(),Os()},"data-tooltip":Ei?`AirPlay to ${Ci||"device"} — click to disconnect`:"AirPlay to device","aria-label":Ei?`Stop AirPlay to ${Ci||"device"}`:"AirPlay to device","aria-pressed":Ei,style:{color:Ei?l:""},children:(0,d.jsx)(v,{size:20,"aria-hidden":"true"})})]})]}),y&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"sdk-desktop-center-controls",style:{pointerEvents:"none"},children:[!ps&&(0,d.jsx)("button",{className:"sdk-desktop-seek-btn",style:{pointerEvents:"auto"},onClick:e=>{e.stopPropagation(),ys(Bn(Math.max(0,qn(Qs)-10)),{eventType:"fast_backward",skipSeconds:10})},"aria-label":"Rewind 10 seconds",children:(0,d.jsxs)("div",{style:{position:"relative",display:"flex",alignItems:"center",justifyContent:"center"},children:[(0,d.jsx)($,{size:30,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"sdk-desktop-seek-label","aria-hidden":"true",children:"10"})]})}),(0,d.jsx)("button",{className:"sdk-desktop-play-btn",style:{pointerEvents:"auto"},onClick:e=>{e.stopPropagation(),ks()},"aria-label":Mr?"Replay":Xs?"Pause":"Play",children:Mr?(0,d.jsx)($,{size:38,"aria-hidden":"true"}):Xs?(0,d.jsx)(P,{size:38,fill:"currentColor","aria-hidden":"true"}):(0,d.jsx)(D,{size:38,fill:"currentColor",style:{marginLeft:"4px"},"aria-hidden":"true"})}),!ps&&(0,d.jsx)("button",{className:"sdk-desktop-seek-btn",style:{pointerEvents:"auto"},onClick:e=>{e.stopPropagation(),ys(Bn(Math.min(Vn,qn(Qs)+10)),{eventType:"fast_forward",skipSeconds:10})},"aria-label":"Skip forward 10 seconds",children:(0,d.jsxs)("div",{style:{position:"relative",display:"flex",alignItems:"center",justifyContent:"center"},children:[(0,d.jsx)(L,{size:30,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"sdk-desktop-seek-label","aria-hidden":"true",children:"10"})]})})]}),Ut.enableKeyMoments&&mi&&ai.length>0&&"panel"===he&&(0,d.jsxs)("div",{className:"sdk-chapters-panel",onClick:e=>e.stopPropagation(),children:[(0,d.jsx)("div",{className:"sdk-chapters-panel-header",children:(0,d.jsx)("span",{className:"sdk-chapters-panel-title",children:"Chapters"})}),(0,d.jsx)("div",{className:"sdk-chapters-panel-list",children:ai.map((e,t)=>{const r=ii.index===t;return(0,d.jsxs)("div",{role:"button",tabIndex:0,className:"sdk-chapters-panel-item"+(r?" active":""),"aria-label":`${e.title}, ${Ws(e.startTime)}${r?", current chapter":""}`,"aria-current":r?"true":void 0,onClick:()=>js(e.startTime,e),onKeyDown:ia(()=>js(e.startTime,e)),children:[(0,d.jsx)("div",{className:"sdk-chapters-panel-thumb",children:hi[t]||e.thumbnail?(0,d.jsx)("img",{src:hi[t]||e.thumbnail,alt:"","aria-hidden":"true",style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}}):(0,d.jsx)(M,{size:18,"aria-hidden":"true",style:{color:"rgba(255,255,255,0.3)"}})}),(0,d.jsxs)("div",{className:"sdk-chapters-panel-info",children:[(0,d.jsx)("div",{className:"sdk-chapters-panel-item-title",children:e.title}),e.description&&(0,d.jsx)("div",{className:"sdk-chapters-panel-item-desc",children:e.description}),(0,d.jsx)("div",{className:"sdk-chapters-panel-item-time","aria-hidden":"true",children:Ws(e.startTime)})]})]},t)})})]}),(0,d.jsxs)("div",{className:"sdk-desktop-bottom",children:[Ut.enableKeyMoments&&mi&&ai.length>0&&"strip"===he&&(0,d.jsx)("div",{className:"sdk-desktop-chapters-strip",children:ai.map((e,t)=>{const r=ii.index===t;return(0,d.jsxs)("div",{role:"button",tabIndex:0,className:"sdk-desktop-chapter-card"+(r?" active":""),"aria-label":`${e.title}, ${Ws(e.startTime)}${r?", current chapter":""}`,"aria-current":r?"true":void 0,onClick:t=>{t.stopPropagation(),js(e.startTime,e)},onKeyDown:ia(()=>js(e.startTime,e)),children:[(0,d.jsx)("div",{className:"sdk-desktop-chapter-thumb",children:hi[t]||e.thumbnail?(0,d.jsx)("img",{src:hi[t]||e.thumbnail,alt:"","aria-hidden":"true",style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}}):(0,d.jsx)(M,{size:18,"aria-hidden":"true",style:{color:"rgba(255,255,255,0.35)"}})}),(0,d.jsx)("div",{className:"sdk-desktop-chapter-title",children:e.title}),(0,d.jsx)("div",{className:"sdk-desktop-chapter-time","aria-hidden":"true",children:Ws(e.startTime)})]},t)})}),(0,d.jsx)("div",{ref:Fe,role:ps?void 0:"slider","aria-label":ps?void 0:"Seek","aria-valuemin":ps?void 0:0,"aria-valuemax":ps?void 0:Math.round(Gs),"aria-valuenow":ps?void 0:Math.round(Ys),"aria-valuetext":ps?void 0:`${Ws(Ys)} of ${Ws(Gs)}`,tabIndex:ps?void 0:0,className:"sdk-seekbar-container sdk-desktop-seekbar"+(Hi||cs?" sdk-ad-mode":""),onMouseDown:ps?void 0:bs,onMouseMove:ps?void 0:Us,onMouseLeave:ps?void 0:Hs,onTouchStart:ps?void 0:Ks,onKeyDown:ps?void 0:sa,style:{pointerEvents:ps?"none":void 0},children:Hi?(0,d.jsx)("div",{className:"sdk-ad-progress-fill",style:{width:(()=>{const e=$t?$t.getCurrentTime():tr,t=An(e);return t?`${Math.min(100,Math.max(0,(e-t.start)/(t.end-t.start)*100))}%`:"0%"})()}}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"sdk-seekbar-buffered",style:{width:(nr?($t&&$t.getBufferedRanges()[0]?.end||0)/nr*100:0)+"%"}}),Vn>0&&Ar.filter(e=>!Fr.has(e.startTime)&&On(e)).map((e,t)=>(0,d.jsx)("div",{className:"sdk-seekbar-adbreak",style:{left:qn(e.startTime)/Vn*100+"%",width:"3px"}},t)),(0,d.jsx)("div",{className:"sdk-seekbar-progress",style:{width:(Gs>0?Ys/Gs*100:0)+"%",background:"#ffffff",boxShadow:"none"},children:(0,d.jsx)("div",{className:"sdk-seekbar-handle"})}),Ut.enableKeyMoments&&ai.map((e,t)=>0===Vn?null:(0,d.jsx)("div",{className:"sdk-seekbar-chapter-marker sdk-desktop-chapter-dot",style:{left:qn(e.startTime)/Vn*100+"%"}},t)),null!==Ri&&Li&&(0,d.jsxs)("div",{className:"sdk-thumbnail-tooltip",style:{left:`${Pi}px`},children:[!Ds&&(0,d.jsx)("div",{className:"sdk-thumbnail-preview",children:(0,d.jsx)("img",{src:Li,alt:"preview",style:{width:"100%",height:"100%",objectFit:"cover",borderRadius:"8px",display:"block"}})}),zi&&(0,d.jsx)("div",{className:"sdk-thumbnail-chapter-name",children:zi.title}),(0,d.jsx)("div",{className:"sdk-thumbnail-time-label",children:Ws(qn(Di))})]})]})}),(0,d.jsxs)("div",{className:"sdk-desktop-controls-row",children:[(0,d.jsxs)("div",{className:"sdk-desktop-left-controls",children:[!Hi&&(0,d.jsx)("div",{className:"sdk-time-display",children:`${Ws(Ys)} / ${Ws(Gs)}`}),"slider"===fe&&(0,d.jsxs)("div",{className:"sdk-volume-control",children:[(0,d.jsx)("button",{className:"sdk-desktop-icon-btn",onClick:e=>{e.stopPropagation(),gs()},"data-tooltip":ea?"Unmute":"Mute","aria-label":ea?"Unmute":"Mute","aria-pressed":ea,children:ra()}),(0,d.jsx)("input",{type:"range",className:"sdk-volume-slider",min:0,max:1,step:.02,value:ea?0:Zs,"aria-label":"Volume","aria-valuetext":ea?"Muted":`${Math.round(100*Zs)}%`,style:{"--vol-pct":Math.round(100*(ea?0:Zs))},onChange:e=>{const t=parseFloat(e.target.value);Pn?($t?.casting.remoteSetVolume(t),t>0&&$t?.casting.remoteSetMute(!1)):($t?.setVolume(t),t>0&&or&&$t?.setMute(!1))},onClick:e=>e.stopPropagation()})]})]}),(0,d.jsxs)("div",{className:"sdk-desktop-right-icons",children:[Me&&Pe&&!Hi&&!Xi&&(0,d.jsx)("button",{className:"sdk-desktop-icon-btn sdk-next-episode-btn",onClick:e=>{e.stopPropagation(),qs()},"data-tooltip":Ae,"aria-label":Ae,children:(0,d.jsx)(_,{size:20,fill:"currentColor","aria-hidden":"true"})}),Ut.enableKeyMoments&&ai.length>0&&!Hi&&(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+(mi?" active":""),onClick:e=>{e.stopPropagation(),pi(!mi)},"data-tooltip":"Key Moments","aria-label":mi?"Hide chapters":"Show chapters","aria-pressed":mi,children:(0,d.jsx)(M,{size:20,"aria-hidden":"true"})}),Ut.enableSubtitles&&!Hi&&Yn.some(e=>!e.isNative)&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+("off"!==Jn?" active":""),onClick:e=>{e.stopPropagation(),aa("subtitles")},"data-tooltip":"Captions","aria-label":"Captions","aria-haspopup":"listbox","aria-expanded":"subtitles"===ci,children:(0,d.jsx)(x,{size:20,"aria-hidden":"true"})}),"subtitles"===ci&&(0,d.jsxs)("div",{ref:oa,className:"sdk-dropup-menu",role:"listbox","aria-label":"Captions",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Subtitles"}),(0,d.jsxs)("div",{role:"option","aria-selected":"off"===Jn,tabIndex:0,className:"sdk-dropup-item "+("off"===Jn?"active":""),onClick:()=>Ts("off"),onKeyDown:na(()=>Ts("off")),children:[(0,d.jsx)("span",{children:"Off"}),"off"===Jn&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]}),Yn.map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":Jn===e.id,tabIndex:0,className:"sdk-dropup-item "+(Jn===e.id?"active":""),onClick:()=>Ts(e.id),onKeyDown:na(()=>Ts(e.id)),children:[(0,d.jsx)("span",{children:J(e)}),Jn===e.id&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e.id))]})]}),Ut.allowMultipleAudio&&ei.length>1&&!Hi&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+("audio"===ci?" active":""),onClick:e=>{e.stopPropagation(),aa("audio")},"data-tooltip":"Audio Track","aria-label":"Audio track","aria-haspopup":"listbox","aria-expanded":"audio"===ci,children:(0,d.jsx)(C,{size:20,"aria-hidden":"true"})}),"audio"===ci&&(0,d.jsxs)("div",{ref:oa,className:"sdk-dropup-menu",role:"listbox","aria-label":"Audio track",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Audio Track"}),ei.map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":ri===e.id,tabIndex:0,className:"sdk-dropup-item "+(ri===e.id?"active":""),onClick:()=>{$t?.setAudioTrack(e.id),ni(e.id),li("none"),bi(`Audio: ${J(e)}`)},onKeyDown:na(()=>{$t?.setAudioTrack(e.id),ni(e.id),li("none"),bi(`Audio: ${J(e)}`)}),children:[(0,d.jsx)("span",{children:J(e)}),ri===e.id&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e.id))]})]}),Ut.enablePlaybackSpeed&&!Hi&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+("speed"===ci?" active":""),onClick:e=>{e.stopPropagation(),aa("speed")},"data-tooltip":"Playback Speed","aria-label":"Playback speed","aria-haspopup":"listbox","aria-expanded":"speed"===ci,children:(0,d.jsx)(N,{size:20,"aria-hidden":"true"})}),"speed"===ci&&(0,d.jsxs)("div",{ref:oa,className:"sdk-dropup-menu",role:"listbox","aria-label":"Playback speed",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Speed"}),[.5,.75,1,1.25,1.5,2].map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":ui===e,tabIndex:0,className:"sdk-dropup-item "+(ui===e?"active":""),onClick:()=>vs(e),onKeyDown:na(()=>vs(e)),children:[(0,d.jsx)("span",{children:1===e?"Normal":`${e}x`}),ui===e&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e))]})]}),Ut.enableQuality&&!Hi&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+(-1!==Hn.id?" active":""),onClick:e=>{e.stopPropagation(),aa("quality")},"data-tooltip":"Quality","aria-label":"Video quality","aria-haspopup":"listbox","aria-expanded":"quality"===ci,children:(0,d.jsx)(K,{size:20,"aria-hidden":"true"})}),"quality"===ci&&(0,d.jsxs)("div",{ref:oa,className:"sdk-dropup-menu large",role:"listbox","aria-label":"Video quality",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Quality"}),Un.map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":Hn.id===e.id,tabIndex:0,className:"sdk-dropup-item "+(Hn.id===e.id?"active":""),onClick:()=>xs(e.id),onKeyDown:na(()=>xs(e.id)),children:[(0,d.jsx)("span",{children:e.label}),Hn.id===e.id&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e.id))]})]}),Te&&Te.length>1&&!Hi&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+("sources"===ci?" active":""),onClick:e=>{e.stopPropagation(),aa("sources")},"data-tooltip":"Select Source","aria-label":"Select source","aria-haspopup":"listbox","aria-expanded":"sources"===ci,children:(0,d.jsx)(H,{size:20,"aria-hidden":"true"})}),"sources"===ci&&(0,d.jsxs)("div",{ref:oa,className:"sdk-dropup-menu",role:"listbox","aria-label":"Select source",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Source"}),Te.map((e,t)=>(0,d.jsxs)("div",{role:"option","aria-selected":we===t,tabIndex:0,className:"sdk-dropup-item "+(we===t?"active":""),onClick:()=>ws(t),onKeyDown:na(()=>ws(t)),children:[(0,d.jsx)("span",{children:e.label}),we===t&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},t))]})]}),Ut.enablePiP&&!Hi&&(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+(Sr?" active":""),onClick:e=>{e.stopPropagation(),Es()},"data-tooltip":"Picture-in-Picture","aria-label":Sr?"Exit picture-in-picture":"Enter picture-in-picture","aria-pressed":Sr,children:(0,d.jsx)(I,{size:20,"aria-hidden":"true"})}),"button"===fe&&(0,d.jsx)("button",{className:"sdk-desktop-icon-btn",onClick:e=>{e.stopPropagation(),gs()},"data-tooltip":ea?"Unmute":"Mute","aria-label":ea?"Unmute":"Mute","aria-pressed":ea,children:ra()}),oe&&(0,d.jsx)("button",{className:"sdk-desktop-icon-btn",onClick:e=>{e.stopPropagation(),Cs()},"data-tooltip":yr||vr?"Exit fullscreen":"Fullscreen","aria-label":yr||vr?"Exit fullscreen":"Enter fullscreen","aria-pressed":yr||vr,children:yr?(0,d.jsx)(A,{size:20,"aria-hidden":"true"}):(0,d.jsx)(R,{size:20,"aria-hidden":"true"})})]})]})]})]})]}),Nr&&(()=>{const e=Ar.find(e=>Qs>=e.startTime&&Qs<e.endTime),t=e?e.endTime-e.startTime:Vn,r=e?Math.max(0,Qs-e.startTime):qn(Qs);return(0,u.createPortal)((0,d.jsxs)("div",{className:"gb-pip-overlay"+(Xs?"":" gb-pip-paused"),children:[(0,d.jsx)("div",{}),(0,d.jsxs)("div",{className:"gb-pip-center",children:[(0,d.jsx)("button",{className:"gb-pip-btn",onClick:()=>ys(Bn(Math.max(0,qn(Qs)-10)),{eventType:"fast_backward",skipSeconds:10}),"aria-label":"Rewind 10 seconds",disabled:ps,children:(0,d.jsx)($,{size:20,"aria-hidden":"true"})}),(0,d.jsx)("button",{className:"gb-pip-btn gb-pip-play",onClick:ks,"aria-label":Mr?"Replay":Xs?"Pause":"Play",children:Mr?(0,d.jsx)($,{size:24,"aria-hidden":"true"}):Xs?(0,d.jsx)(P,{size:24,"aria-hidden":"true"}):(0,d.jsx)(D,{size:24,"aria-hidden":"true",style:{marginLeft:2}})}),(0,d.jsx)("button",{className:"gb-pip-btn",onClick:()=>ys(Bn(Math.min(Vn,qn(Qs)+10)),{eventType:"fast_forward",skipSeconds:10}),"aria-label":"Skip forward 10 seconds",disabled:ps,children:(0,d.jsx)(L,{size:20,"aria-hidden":"true"})})]}),(0,d.jsxs)("div",{className:"gb-pip-bottom",children:[(0,d.jsx)("div",{className:"gb-pip-progress",onClick:Ns,children:(0,d.jsx)("div",{className:"gb-pip-progress-fill",style:{width:(t?r/t*100:0)+"%"}})}),(0,d.jsxs)("div",{className:"gb-pip-time",children:[Ws(r)," / ",Ws(t)]})]})]}),Nr.document.body)})()]})},oe="https://dev-api.go-boss.com";function ce(e){return{"x-player-key":e,"Content-Type":"application/json"}}async function le(e,t=oe,r={}){const n=await fetch(`${t}/api/player/sdk/init`,{method:"POST",headers:ce(e),body:JSON.stringify({videoUrl:r.videoUrl})});if(!n.ok)throw new Error(`SDK init failed: ${n.status}`);return await n.json()}async function ue(e,t,r=oe){const{sessionId:n,videoId:i,videoTitle:s,videoUrl:a,contentDurationSec:o}=t,c=await fetch(`${r}/api/player/sdk/session/start`,{method:"POST",headers:ce(e),body:JSON.stringify({sessionId:n,videoId:i,videoTitle:s,videoUrl:a,contentDurationSec:"number"==typeof o&&Number.isFinite(o)&&o>0?o:void 0})});if(!c.ok)throw new Error(`Session start failed: ${c.status}`)}async function de(e,t,r,n,i=oe){const s={sessionId:t,currentTime:r,duration:n},a=await fetch(`${i}/api/player/sdk/session/heartbeat`,{method:"POST",headers:ce(e),body:JSON.stringify(s)});if(!a.ok)throw new Error(`Heartbeat failed: ${a.status}`)}async function me(e,t,r=0,n=0,i=oe){const s=await fetch(`${i}/api/player/sdk/session/end`,{method:"POST",headers:ce(e),body:JSON.stringify({sessionId:t,currentTime:r,duration:n})});if(!s.ok)throw new Error(`Session end failed: ${s.status}`)}async function pe(e,t,r=oe){const n=await fetch(`${r}/api/player/sdk/events`,{method:"POST",headers:ce(e),body:JSON.stringify(t)});if(!n.ok)throw new Error(`Event ${t.eventType} failed: ${n.status}`)}function he(){if("undefined"!=typeof screen)return screen.orientation?.type??void 0}var fe=class{constructor(){this.autoplay=!1,this.keyMoments=[],this.isPlaybackActive=!1,this.hasFinished=!1,this.hasDismissed=!1,this.lastCurrentTime=0,this.lastDuration=0,this.lastWatchDuration=0,this.prevSpeed=1,this.pendingSeek=null}setDelegate(e){this.delegate=e}setAutoplay(e){this.autoplay=e}setKeyMoments(e){this.keyMoments=e}handleAnalyticsEvent(e){switch("number"!=typeof e.currentTime||Number.isNaN(e.currentTime)||(this.lastCurrentTime=e.currentTime),"number"!=typeof e.duration||Number.isNaN(e.duration)||(this.lastDuration=e.duration),"number"==typeof e.totalWatchTime&&(this.lastWatchDuration=e.totalWatchTime),e.eventType){case"play":this.isPlaybackActive?this.call("playerDidResumePlaying",e.currentTime):(this.isPlaybackActive=!0,this.hasFinished=!1,this.call("playerDidStartPlaying",e.currentTime,this.autoplay));break;case"pause":e.duration>0&&e.currentTime>=e.duration-.25||this.call("playerDidPause",e.currentTime);break;case"ended":this.isPlaybackActive=!1,this.hasFinished=!0,this.call("playerDidFinishPlaying",e.currentTime,e.totalWatchTime??this.lastWatchDuration);break;case"seek":this.beginSeek(e.seekFrom??this.lastCurrentTime,e.seekTo??e.currentTime);break;case"fast_forward":this.beginSeek(Math.max(0,e.currentTime-(e.skipSeconds??10)),e.currentTime);break;case"fast_backward":this.beginSeek(e.currentTime+(e.skipSeconds??10),e.currentTime);break;case"buffering_start":this.call("playerDidStartBuffering",e.currentTime);break;case"buffering_end":this.call("playerDidFinishBuffering",e.currentTime);break;case"quality_change":{const t=e.rendition;t&&t!==this.prevQuality&&(this.call("playerDidChangeQuality",this.prevQuality,t,e.isAutoSwitch??!1),this.prevQuality=t);break}case"subtitle_change":if(!1===e.subtitleEnabled)this.call("playerDidDisableSubtitle",this.prevSubtitle),this.prevSubtitle=void 0;else{const t=e.subtitleLanguage??"";this.call("playerDidChangeSubtitle",this.prevSubtitle,t),this.prevSubtitle=t}break;case"audio_track_change":{const t=e.audioTrack??"";this.call("playerDidChangeAudioTrack",this.prevAudioTrack,t),this.prevAudioTrack=t;break}case"speed_change":{const t=e.speed??1;t!==this.prevSpeed&&(this.call("playerDidChangePlaybackSpeed",this.prevSpeed,t),this.prevSpeed=t);break}case"fullscreen_enter":this.call("playerDidEnterFullscreen",he());break;case"fullscreen_exit":this.call("playerDidExitFullscreen",he());break;case"key_moments":{const t=e.momentTitle??"",r=e.momentTime??e.currentTime,n=this.keyMoments,i=n.findIndex(e=>t&&e.title===t||e.startTime===r),s=i>=0?n[i]:void 0;this.call("playerDidSelectKeyMoment",i>=0?String(i):void 0,s?.title??t,s?.startTime??r,s?.endTime??r);break}case"pip_toggle":(e.pipState?"entered"===e.pipState:"entered"===e.errorMessage)?this.call("playerDidEnterPictureInPicture",e.currentTime):this.call("playerDidExitPictureInPicture",e.currentTime);break;case"error":this.call("playerDidEncounterPlaybackError",null!=e.errorCode?String(e.errorCode):"PLAYER_ERROR",e.errorMessage??"Unknown player error",e.isRecoverable??!1);break;case"network_error":this.call("playerDidEncounterNetworkError",e.errorCode??0,e.errorMessage??"Network error",e.isRecoverable??!1)}}handleTimeUpdate(e){if(this.lastCurrentTime=e,this.pendingSeek){const{fromTime:t,startedWallMs:r}=this.pendingSeek;this.pendingSeek=null,this.call("playerDidFinishSeeking",t,e,(Date.now()-r)/1e3)}this.call("playerDidUpdateCurrentTime",e,this.lastDuration)}notifyDismissed(){this.hasDismissed||!this.isPlaybackActive||this.hasFinished||(this.hasDismissed=!0,this.call("playerDidDismiss",this.lastCurrentTime,this.lastWatchDuration))}beginSeek(e,t){this.pendingSeek?this.pendingSeek.toTime=t:(this.pendingSeek={fromTime:e,toTime:t,startedWallMs:Date.now()},this.call("playerDidStartSeeking",e))}call(e,...t){const r=this.delegate,n=r?.[e];if("function"==typeof n)try{n.apply(r,t)}catch(i){}}},ke={subtitles:"subtitle_support",ads:"ad_support",chapterMarkers:"key_moments",playbackSpeed:"playback_speed",airplay:"airplay",chromecast:"chromecast",pictureInPicture:"picture_in_picture",multipleResolution:"multiple_resolution",multipleAudio:"multiple_audio",drmProtection:"drm_protection",screenRecordingPrevention:"screen_recording_prevention",signalStrength:"signal_strength"};function be(e){const t={m3u8_playback:!0,subtitle_support:!1,playback_speed:!1,airplay:!1,chromecast:!1,picture_in_picture:!1,multiple_resolution:!1,multiple_audio:!1,key_moments:!1,drm_protection:!1,screen_recording_prevention:!1,signal_strength:!1,ad_support:!1};for(const[r,n]of Object.entries(ke))r in e&&(t[n]=e[r]);return t}function ye({playerKey:e,src:t,subtitles:r,licenseKey:n,themeColor:i="#6366f1",firebaseConfig:s,proxyDomains:a,apiBaseUrl:c,adTrackingUrl:l,overlayAdUrl:u,videoId:m,title:p,watermark:h,autoplay:f=!1,muted:k=!1,autoFullscreen:b=!1,enableControls:y=!0,enableSkipAd:g,skipAdAfterSeconds:v,chaptersDisplayMode:x="strip",volumeControlType:T="slider",subtitleStyle:w,drmConfig:j,onAnalyticsEvent:S,delegate:E,onKeyMomentsLoaded:N,initialTime:C,onTimeUpdate:M,introStartTime:R,introEndTime:A,hasNextEpisode:P,outroStartTime:I,nextEpisodeLabel:D,onNextEpisode:$,nextEpisodeAutoAdvanceSeconds:L,nextEpisodeThumbnailUrl:_}){const[z,F]=(0,o.useState)([]),[V,q]=(0,o.useState)(0),[O]=(0,o.useState)(()=>new fe);(0,o.useEffect)(()=>{O.setDelegate(E),O.setAutoplay(f)},[O,E,f]),(0,o.useEffect)(()=>()=>O.notifyDismissed(),[O]);const U=Array.isArray(t)?t:[{label:"Default",url:t}],K=U[V]?.url??U[0]?.url??"",[H,W]=(0,o.useState)("loading"),[X,Q]=(0,o.useState)(null),[J,G]=(0,o.useState)(0),[Y,Z]=(0,o.useState)("network"),ee=(0,o.useRef)(null),te=(0,o.useRef)(!1),re=(0,o.useRef)(""),ne=(0,o.useRef)(!1),ie=(0,o.useRef)(!1),se=(0,o.useRef)(void 0),he=(0,o.useRef)(!1),ke=(0,o.useRef)(3e4),ye=(0,o.useRef)(null),ge=(0,o.useRef)(0),ve=(0,o.useRef)(null),xe=(0,o.useRef)({currentTime:0,duration:0}),Te=(0,o.useRef)(()=>{}),we=K.split("/").filter(Boolean),je=m||(we[we.length-1]??"").replace(/\.m3u8.*$/,"")||"video",Se=(0,o.useRef)(K);(0,o.useEffect)(()=>{Se.current=K},[K]);const Ee=(0,o.useCallback)(()=>function(e){if(!e)return e=>e;const t=[];for(const r of e.split(",")){const[e,n]=r.split("=");e?.trim()&&n?.trim()&&t.push({domain:e.trim(),proxyPath:n.trim()})}return e=>{for(const{domain:r,proxyPath:n}of t)if(e.includes(r))try{const t=new URL(e);return`${n}${t.pathname}${t.search}`}catch{return e.replace(`https://${r}`,n)}return e}}(a),[a])(),Ne=function(e){const t=e.replace("#","");return 6!==t.length?"99, 102, 241":`${parseInt(t.substring(0,2),16)}, ${parseInt(t.substring(2,4),16)}, ${parseInt(t.substring(4,6),16)}`}(i);(0,o.useEffect)(()=>{document.documentElement.style.setProperty("--accent-indigo",i),document.documentElement.style.setProperty("--accent-indigo-rgb",Ne)},[i,Ne]),(0,o.useEffect)(()=>{let t=!1;return le(e,c,{videoUrl:Se.current}).then(e=>{if(t)return;ee.current=e;const{features:r,planTier:n,heartbeatIntervalSeconds:i}=e.result.data;ke.current="number"==typeof i&&i>0?1e3*i:3e4;const s={package:n,is_active:!0,features:be(r),limits:{streaming_minutes:0}};Q(s),W("ready")}).catch(e=>{if(t)return;const r=e.message??"";Z(/init failed: 4\d\d/.test(r)?"auth":"network"),W("error")}),()=>{t=!0,ye.current&&(clearTimeout(ye.current),ye.current=null),ge.current=0,ve.current=null,W("loading"),Q(null),ne.current=!1,re.current="",ie.current=!1,se.current=void 0}},[e,c,J]);const Ce=(0,o.useCallback)(()=>{ye.current&&(clearTimeout(ye.current),ye.current=null,null!==ve.current&&(ge.current+=Date.now()-ve.current,ve.current=null))},[]),Me=(0,o.useCallback)(()=>{ye.current&&(clearTimeout(ye.current),ye.current=null),ge.current=0,ve.current=null},[]),Re=(0,o.useCallback)(()=>{if(ye.current||!re.current)return;ve.current=Date.now();const t=ke.current-ge.current;ye.current=setTimeout(()=>{ye.current=null,ge.current=0,ve.current=null;const{currentTime:t,duration:r}=xe.current;de(e,re.current,t,r,c).catch(e=>{}),Te.current()},t)},[e,c]);(0,o.useEffect)(()=>{Te.current=Re},[Re]);const Ae=(0,o.useRef)(!0);(0,o.useEffect)(()=>{Ae.current?Ae.current=!1:(he.current=!0,se.current=void 0,Ce())},[V,Ce]),(0,o.useEffect)(()=>{const t=()=>{if(O.notifyDismissed(),!re.current)return;ie.current=!0,Me();const{currentTime:t,duration:r}=xe.current;!function(e,t,r=0,n=0,i=oe){fetch(`${i}/api/player/sdk/session/end`,{method:"POST",headers:ce(e),body:JSON.stringify({sessionId:t,currentTime:r,duration:n}),keepalive:!0})}(e,re.current,t,r,c)};return window.addEventListener("beforeunload",t),()=>{window.removeEventListener("beforeunload",t),Me()}},[e,c,Me,O]);const Pe=(0,o.useCallback)(t=>{const r=t;if(void 0!==t.currentTime&&(xe.current={currentTime:t.currentTime,duration:t.duration}),"session_start"!==t.eventType||ne.current||(ne.current=!0,ie.current=!1,re.current="string"==typeof r.sessionId?r.sessionId:"",ue(e,{sessionId:re.current,videoId:je,videoTitle:p,videoUrl:Se.current,contentDurationSec:t.duration},c).catch(e=>{}),te.current||Re()),"play"!==t.eventType||!ne.current||te.current||he.current||Re(),"pause"===t.eventType&&Ce(),"buffering_start"===t.eventType&&Ce(),"buffering_end"===t.eventType&&ne.current&&!te.current&&(he.current=!1,Re()),"ended"===t.eventType&&(Me(),re.current)){ie.current=!0;const{currentTime:t,duration:r}=xe.current;me(e,re.current,t,r,c).catch(e=>{})}if(ne.current&&re.current&&!ie.current){const r=function(e,t){switch(e.eventType){case"pause":return{eventType:"pause",extras:{}};case"seek":return{eventType:"seek",extras:{seekFrom:e.seekFrom??0,seekTo:e.seekTo??e.currentTime??0}};case"mute":return{eventType:"mute",extras:{isMuted:e.isMuted??!0}};case"fast_forward":return{eventType:"fast_forward",extras:{skipSeconds:e.skipSeconds??10}};case"fast_backward":return{eventType:"fast_backward",extras:{skipSeconds:e.skipSeconds??10}};case"key_moments":return{eventType:"key_moments",extras:{momentTitle:e.momentTitle??"",momentTime:e.momentTime??0}};case"buffering_start":return{eventType:"buffering_start",extras:{bufferingCount:e.bufferingCount??0}};case"buffering_end":return{eventType:"buffering_end",extras:{}};case"quality_change":return t&&e.rendition&&t!==e.rendition?{eventType:"quality_change",extras:{from:t,to:e.rendition}}:null;case"speed_change":return{eventType:"speed_change",extras:{speed:e.speed??1}};case"subtitle_change":return!1===e.subtitleEnabled?{eventType:"subtitle_disable",extras:{enabled:!1}}:{eventType:"subtitle_change",extras:{language:e.subtitleLanguage??"",enabled:!0}};case"audio_track_change":return{eventType:"audio_track_change",extras:{track:e.audioTrack??""}};case"pip_toggle":return{eventType:"pip_toggle",extras:{enabled:"entered"===e.errorMessage}};case"fullscreen_enter":return{eventType:"fullscreen_toggle",extras:{enabled:!0}};case"fullscreen_exit":return{eventType:"fullscreen_toggle",extras:{enabled:!1}};case"error":return{eventType:"player_error",extras:{code:null!=e.errorCode?String(e.errorCode):"PLAYER_ERROR",message:e.errorMessage??"Unknown player error"}};case"network_error":return{eventType:"network_error",extras:{code:e.errorCode?String(e.errorCode):"NETWORK_ERROR",message:e.errorMessage??"Network error"}};default:return null}}(t,se.current);r&&pe(e,{eventType:r.eventType,sessionId:re.current,currentTime:t.currentTime??0,videoId:je,videoTitle:p,...r.extras},c).catch(e=>{})}"quality_change"===t.eventType&&t.rendition&&(se.current=t.rendition),O.handleAnalyticsEvent(t),S?.(t)},[e,c,je,p,Re,Ce,Me,S,O]),Ie=(0,o.useCallback)(e=>{te.current=e,e?Ce():ne.current&&Re()},[Ce,Re]),De=(0,o.useCallback)(e=>{O.setKeyMoments(e),F(e),N?.(e)},[N,O]),$e=(0,o.useCallback)(e=>{O.handleTimeUpdate(e),M?.(e)},[M,O]);if("loading"===H)return(0,d.jsxs)("div",{style:{width:"100%",aspectRatio:"16 / 9",background:"#000",borderRadius:8,display:"flex",alignItems:"center",justifyContent:"center"},children:[(0,d.jsx)("style",{children:"@keyframes boss-sdk-spin{to{transform:rotate(360deg)}}"}),(0,d.jsx)("div",{style:{width:60,height:60,borderRadius:"50%",border:`4px solid rgba(${Ne}, 0.1)`,borderLeftColor:i,borderRightColor:`rgba(${Ne}, 0.2)`,filter:`drop-shadow(0 0 10px rgba(${Ne}, 0.5))`,animation:"boss-sdk-spin 1s linear infinite"}})]});if("error"===H){const e="auth"===Y;return(0,d.jsx)("div",{style:{width:"100%",aspectRatio:"16 / 9",background:"#09090e",borderRadius:8,display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column",gap:20},children:(0,d.jsx)(B,{title:e?"Invalid Player Key":"Something Went Wrong",subtitle:e?"Your player key is invalid or expired.\nPlease check your configuration.":"We encountered an error while connecting.\nPlease try again.",onRetry:()=>G(e=>e+1)})})}return(0,d.jsx)(ae,{src:K,sources:U,activeSourceIndex:V,onSourceChange:e=>q(e),subtitles:r,keyMoments:z,themeColor:i,firebaseConfig:s,resolvedEntitlement:X,licenseKey:n,title:p,watermark:h,autoplay:f,muted:k,autoFullscreen:b,enableControls:y,enableSkipAd:g,skipAdAfterSeconds:v,chaptersDisplayMode:x,volumeControlType:T,subtitleStyle:w,drmConfig:j,overlayAdUrl:u,adTrackingUrl:l,videoId:je,urlTransformer:Ee,onAnalyticsEvent:Pe,onAdBreakChange:Ie,onKeyMomentsLoaded:De,initialTime:C,onTimeUpdate:$e,introStartTime:R,introEndTime:A,hasNextEpisode:P,outroStartTime:I,nextEpisodeLabel:D,onNextEpisode:$,nextEpisodeAutoAdvanceSeconds:L,nextEpisodeThumbnailUrl:_})}exports.BossVideoPlayer=ye,exports.ErrorScreen=B,exports.FirebaseAnalyticsProvider=a.FirebaseAnalyticsProvider,exports.VideoPlayerSDK=a.VideoPlayerSDK,exports.WebVideoPlayer=ae,exports.createPlayer=function(e,t){const r=(0,m.createRoot)(e);let n=t;return r.render((0,o.createElement)(ye,n)),{update(e){n={...n,...e},r.render((0,o.createElement)(ye,n))},destroy(){r.unmount()}}},exports.endSession=me,exports.initSdk=le,exports.sendEvent=pe,exports.sendHeartbeat=de,exports.startSession=ue;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var e=Object.create,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,i=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty;const a=require("./chunks/src-CifLE2C5.cjs");let o=require("react");var c,l;l=null!=(c=o)?e(i(c)):{},o=((e,i,a,o)=>{if(i&&"object"==typeof i||"function"==typeof i)for(var c,l=n(i),u=0,d=l.length;u<d;u++)c=l[u],s.call(e,c)||void 0===c||t(e,c,{get:(e=>i[e]).bind(null,c),enumerable:!(o=r(i,c))||o.enumerable});return e})(t(l,"default",{value:c,enumerable:!0}),c);let u=require("react-dom"),d=require("react/jsx-runtime"),m=require("react-dom/client");var p=(...e)=>e.filter((e,t,r)=>Boolean(e)&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),h=e=>{const t=(e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase()))(e);return t.charAt(0).toUpperCase()+t.slice(1)},f={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},k=e=>{for(const t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1},b=(0,o.createContext)({}),y=(0,o.forwardRef)(({color:e,size:t,strokeWidth:r,absoluteStrokeWidth:n,className:i="",children:s,iconNode:a,...c},l)=>{const{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:m=!1,color:h="currentColor",className:y=""}=(0,o.useContext)(b)??{},g=n??m?24*Number(r??d)/Number(t??u):r??d;return(0,o.createElement)("svg",{ref:l,...f,width:t??u??f.width,height:t??u??f.height,stroke:e??h,strokeWidth:g,className:p("lucide",y,i),...!s&&!k(c)&&{"aria-hidden":"true"},...c},[...a.map(([e,t])=>(0,o.createElement)(e,t)),...Array.isArray(s)?s:[s]])}),g=(e,t)=>{const r=(0,o.forwardRef)(({className:r,...n},i)=>{return(0,o.createElement)(y,{ref:i,iconNode:t,className:p(`lucide-${s=h(e),s.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,r),...n});var s});return r.displayName=h(e),r},v=g("airplay",[["path",{d:"M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1",key:"ns4c3b"}],["path",{d:"m12 15 5 6H7Z",key:"14qnn2"}]]),x=g("captions",[["rect",{width:"18",height:"14",x:"3",y:"5",rx:"2",ry:"2",key:"12ruh7"}],["path",{d:"M7 15h4M15 15h2M7 11h2M13 11h4",key:"1ueiar"}]]),T=g("cast",[["path",{d:"M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6",key:"3zrzxg"}],["path",{d:"M2 12a9 9 0 0 1 8 8",key:"g6cvee"}],["path",{d:"M2 16a5 5 0 0 1 4 4",key:"1y1dii"}],["line",{x1:"2",x2:"2.01",y1:"20",y2:"20",key:"xu2jvo"}]]),w=g("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),j=g("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),S=g("cloud-off",[["path",{d:"M10.94 5.274A7 7 0 0 1 15.71 10h1.79a4.5 4.5 0 0 1 4.222 6.057",key:"1uxyv8"}],["path",{d:"M18.796 18.81A4.5 4.5 0 0 1 17.5 19H9A7 7 0 0 1 5.79 5.78",key:"99tcn7"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),E=g("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]),N=g("gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]),C=g("languages",[["path",{d:"m5 8 6 6",key:"1wu5hv"}],["path",{d:"m4 14 6-6 2-3",key:"1k1g8d"}],["path",{d:"M2 5h12",key:"or177f"}],["path",{d:"M7 2h1",key:"1t2jsx"}],["path",{d:"m22 22-5-10-5 10",key:"don7ne"}],["path",{d:"M14 18h6",key:"1m8k6r"}]]),M=g("list-video",[["path",{d:"M21 5H3",key:"1fi0y6"}],["path",{d:"M10 12H3",key:"1ulcyk"}],["path",{d:"M10 19H3",key:"108z41"}],["path",{d:"M15 12.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z",key:"ms4nik"}]]),R=g("maximize",[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]]),A=g("minimize",[["path",{d:"M8 3v3a2 2 0 0 1-2 2H3",key:"hohbtr"}],["path",{d:"M21 8h-3a2 2 0 0 1-2-2V3",key:"5jw1f3"}],["path",{d:"M3 16h3a2 2 0 0 1 2 2v3",key:"198tvr"}],["path",{d:"M16 21v-3a2 2 0 0 1 2-2h3",key:"ph8mxp"}]]),P=g("pause",[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]]),I=g("picture-in-picture",[["path",{d:"M2 10h6V4",key:"zwrco"}],["path",{d:"m2 4 6 6",key:"ug085t"}],["path",{d:"M21 10V7a2 2 0 0 0-2-2h-7",key:"git5jr"}],["path",{d:"M3 14v2a2 2 0 0 0 2 2h3",key:"1f7fh3"}],["rect",{x:"12",y:"14",width:"10",height:"7",rx:"1",key:"1wjs3o"}]]),D=g("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]),$=g("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]),L=g("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]),_=g("skip-forward",[["path",{d:"M21 4v16",key:"7j8fe9"}],["path",{d:"M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z",key:"zs4d6"}]]),z=g("volume-1",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}]]),F=g("volume-2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]),V=g("volume-x",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["line",{x1:"22",x2:"16",y1:"9",y2:"15",key:"1ewh16"}],["line",{x1:"16",x2:"22",y1:"9",y2:"15",key:"5ykzw1"}]]),q=g("volume",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}]]);function B({offline:e=!1,title:t=(e?"No Internet Connection":"Something Went Wrong"),subtitle:r=(e?"Please check your network connection and try again.":"We encountered an error while playing this video.\nPlease try again."),onRetry:n,icon:i=(e?(0,d.jsx)(S,{size:36,color:"rgba(255,255,255,0.85)"}):void 0)}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{style:{width:80,height:80,borderRadius:"50%",background:"rgba(255,255,255,0.08)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:i??(0,d.jsxs)("svg",{width:"36",height:"36",viewBox:"0 0 24 24",fill:"none",stroke:"rgba(255,255,255,0.85)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("path",{d:"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"}),(0,d.jsx)("line",{x1:"12",y1:"9",x2:"12",y2:"13"}),(0,d.jsx)("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"})]})}),(0,d.jsxs)("div",{style:{textAlign:"center",padding:"0 24px"},children:[(0,d.jsx)("p",{style:{color:"#ffffff",fontSize:22,fontWeight:700,margin:"0 0 8px",letterSpacing:"-0.2px"},children:t}),(0,d.jsx)("p",{style:{color:"rgba(255,255,255,0.5)",fontSize:14,margin:0,lineHeight:1.6,whiteSpace:"pre-line"},children:r})]}),(0,d.jsxs)("button",{onClick:n,style:{display:"flex",alignItems:"center",gap:10,background:"#ffffff",color:"#09090e",border:"none",borderRadius:10,padding:"14px 32px",fontSize:16,fontWeight:700,cursor:"pointer",letterSpacing:"-0.1px"},children:[(0,d.jsx)($,{size:20,strokeWidth:2.5}),"Retry Now"]})]})}var O=!1,U=e=>{if(!e||e.length<10)return null;if(73!==e[0]||68!==e[1]||51!==e[2])return null;const t=e[3],r=(127&e[6])<<21|(127&e[7])<<14|(127&e[8])<<7|127&e[9],n=Math.min(10+r,e.length);let i=10;for(;i+10<=n;){const r=String.fromCharCode(e[i],e[i+1],e[i+2],e[i+3]),s=t>=4?(127&e[i+4])<<21|(127&e[i+5])<<14|(127&e[i+6])<<7|127&e[i+7]:e[i+4]<<24|e[i+5]<<16|e[i+6]<<8|e[i+7];if(s<=0||i+10+s>n)break;if("TIT2"===r){const t=e[i+10],r=e.slice(i+11,i+10+s),n=(1===t||2===t?new TextDecoder("utf-16").decode(r):new TextDecoder(3===t?"utf-8":"latin1").decode(r)).replace(/\0/g,"").trim();if(n)return n}i+=10+s}return null},K=({size:e=20})=>(0,d.jsxs)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("rect",{x:"2",y:"5",width:"20",height:"14",rx:"3"}),(0,d.jsx)("path",{d:"M7 9v6M7 12h3M10 9v6"}),(0,d.jsx)("path",{d:"M14 9h1.5a3 3 0 0 1 0 6H14z"})]}),H=({size:e=20})=>(0,d.jsxs)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("rect",{x:"2",y:"5",width:"20",height:"14",rx:"3"}),(0,d.jsx)("path",{d:"M7 9v6M7 12h3M10 9v6"}),(0,d.jsx)("path",{d:"M14 9h1.5a3 3 0 0 1 0 6H14z"})]}),W=e=>{const t=e.replace("#","");return 6===t.length?`${parseInt(t.substring(0,2),16)}, ${parseInt(t.substring(2,4),16)}, ${parseInt(t.substring(4,6),16)}`:3===t.length?`${parseInt(t[0]+t[0],16)}, ${parseInt(t[1]+t[1],16)}, ${parseInt(t[2]+t[2],16)}`:"99, 102, 241"},X={en:"English",eng:"English",fr:"French",fre:"French",fra:"French",es:"Spanish",spa:"Spanish",de:"German",ger:"German",deu:"German",it:"Italian",ita:"Italian",pt:"Portuguese",por:"Portuguese",ja:"Japanese",zh:"Chinese",ko:"Korean",ru:"Russian",ar:"Arabic",hi:"Hindi",ta:"Tamil",tam:"Tamil"},Q=e=>{if(!e)return null;const t=e.trim().toLowerCase(),r=t.match(/^(en|eng|fr|fre|fra|es|spa|de|ger|deu|it|ita|pt|por|ja|zh|ko|ru|ar|hi|ta|tam)/);if(r&&X[r[0]])return X[r[0]];for(const[n,i]of Object.entries(X))if(t.includes(n))return i;return/english|anglais|ingles/i.test(t)?"English":/french|français/i.test(t)?"French":/spanish|español/i.test(t)?"Spanish":/german|deutsch/i.test(t)?"German":/italian|italiano/i.test(t)?"Italian":/portuguese|português/i.test(t)?"Portuguese":/japanese|nihongo/i.test(t)?"Japanese":/chinese|中文/i.test(t)?"Chinese":/korean|한국어/i.test(t)?"Korean":/tamil|தமிழ்/i.test(t)?"Tamil":/russian|русский/i.test(t)?"Russian":/arabic|العربية/i.test(t)?"Arabic":/hindi|हिन्दी/i.test(t)?"Hindi":null},J=e=>{if(e.lang){const t=Q(e.lang);if(t)return t}if(e.label){const t=e.label.trim(),r=t.split(/[#\d\.\s\-_/|:]+/).filter(Boolean);for(let e=r.length-1;e>=0;e-=1){const t=Q(r[e]);if(t)return t}const n=t.replace(/^[#\d\.\s]+/,"").trim();return Q(n)||n}return"Unknown"},G=e=>{const t=new Set;return e.filter(e=>{const r=`${J(e).toLowerCase()}|${(e.lang||"").trim().toLowerCase()}`;return!t.has(r)&&(t.add(r),!0)})},Y=e=>{const t=(e??"").split(":").map(Number);return 3600*(t[0]||0)+60*(t[1]||0)+(t[2]||0)},Z=e=>{if(!e)return!1;try{const{protocol:t}=new URL(e,window.location.href);return"http:"===t||"https:"===t}catch{return!1}},ee=e=>{if("number"==typeof e)return Number.isFinite(e)&&e>=0?e:null;if("string"!=typeof e)return null;const t=e.trim();if(!t)return null;if(/^\d+:\d{1,2}:\d{1,2}(\.\d+)?$/.test(t))return Y(t);const r=Number(t);return Number.isFinite(r)&&r>=0?r:null},te=[0,250,500,750,1e3,1500,2e3,3e3,5e3,8e3],re=new Set,ne=(e,t,r)=>{const n=t.reduce((e,t)=>t.startTime<=1&&!r.has(t.startTime)?Math.max(e,t.endTime):e,0);return n>0&&e<n||t.some(t=>e>=t.startTime&&e<t.endTime&&!r.has(t.startTime))},ie=2e3;function se(e,t,r,n=!1,i){let s,a=!1,o=null,c=!1,l=!1;const u=()=>{c||l||(c=!0,i?.())},d=i=>{s=setTimeout(()=>{a||fetch(e).then(e=>e.json()).then(e=>{if(a)return;const s=t(e);if(null!==s){l=!0;const e=JSON.stringify(s);if(e!==o&&(o=e,r(s)),!n)return}else u();i+1<te.length&&d(i+1)}).catch(()=>{a||(u(),i+1<te.length&&d(i+1))})},te[i])};return d(0),()=>{a=!0,s&&clearTimeout(s)}}var ae=({src:e,autoplay:t=!1,muted:r=!1,chapters:n=[],keyMoments:i,subtitles:s=[],watermark:c,themeColor:l="#6366f1",drmConfig:m,firebaseConfig:p,videoId:h,onAnalyticsEvent:f,onAdBreakChange:k,onKeyMomentsLoaded:b,enableControls:y=!0,enableChromecast:g,enableKeyMoments:S,enableSubtitles:X,enableQuality:Q,enablePlaybackSpeed:te,enablePiP:ae,enableFullscreen:oe=!0,autoFullscreen:ce=!1,watchProgressInterval:le=30,subtitleStyle:ue={},resolvedEntitlement:de,licenseKey:me,title:pe,chaptersDisplayMode:he="strip",volumeControlType:fe="slider",urlTransformer:ke,pauseAdOnTabSwitch:be=!0,enableSkipAd:ye=!1,skipAdAfterSeconds:ge=5,overlayAdUrl:ve,adTrackingUrl:xe,sources:Te,activeSourceIndex:we=0,onSourceChange:je,initialTime:Se,onTimeUpdate:Ee,introStartTime:Ne,introEndTime:Ce,hasNextEpisode:Me,outroStartTime:Re,nextEpisodeLabel:Ae="Next Episode",onNextEpisode:Pe,nextEpisodeAutoAdvanceSeconds:Ie=5,nextEpisodeThumbnailUrl:De})=>{const $e=ke??(e=>e),Le=(0,o.useRef)(null),_e=(0,o.useRef)(null),ze=(0,o.useRef)(!1),Fe=(0,o.useRef)(null),Ve=(0,o.useRef)(0),qe=(0,o.useRef)(null),Be=(0,o.useRef)(null),Oe=(0,o.useRef)(null),Ue=(0,o.useRef)(null),Ke=(0,o.useRef)(!1),He=(0,o.useRef)(!1),We=(0,o.useRef)(null),Xe=(0,o.useRef)(null),Qe=(0,o.useRef)(null),Je=(0,o.useRef)(null),Ge=(0,o.useRef)(()=>{}),Ye=(0,o.useRef)(null),Ze=(0,o.useRef)(!1),et=(0,o.useRef)(null),tt=e=>{const t=et.current;if(!t)return!0;const r=t.getContext("2d");if(!r)return!0;if(r.clearRect(0,0,t.width,t.height),!e||!e.videoWidth||!e.videoHeight)return!0;try{if("function"==typeof r.getImageData){const t=document.createElement("canvas");t.width=16,t.height=9;const r=t.getContext("2d");if(r&&"function"==typeof r.getImageData){r.drawImage(e,0,0,t.width,t.height);const n=r.getImageData(0,0,t.width,t.height).data;let i=!0;for(let e=4;e<n.length;e+=4)if(Math.abs(n[e]-n[0])>8||Math.abs(n[e+1]-n[1])>8||Math.abs(n[e+2]-n[2])>8){i=!1;break}if(i)return!1}}return t.width=e.videoWidth,t.height=e.videoHeight,r.drawImage(e,0,0,t.width,t.height),!0}catch(n){return r.clearRect(0,0,t.width,t.height),!1}},rt=(0,o.useRef)(!0),nt=(0,o.useRef)(0),it=(0,o.useRef)(null),st=()=>{nt.current+=1,it.current&&(window.clearTimeout(it.current),it.current=null)},at=(0,o.useRef)(null),ot=e=>{e&&null===at.current&&(at.current=e.muted,e.muted=!0)},ct=e=>{null!==at.current&&(e&&(e.muted=at.current),at.current=null)},lt=(0,o.useRef)(null),ut=(0,o.useRef)(!1),dt=(0,o.useRef)(null),[mt,pt]=(0,o.useState)(null),ht=(0,o.useRef)(null),ft=(0,o.useRef)(null),kt=(0,o.useRef)(null),bt=(0,o.useRef)(null),yt=(0,o.useRef)(null),gt=(0,o.useRef)(Te),vt=(0,o.useRef)(je),xt=(0,o.useRef)(!1),Tt=(0,o.useRef)(null),wt=(0,o.useRef)(null),jt=(0,o.useRef)(null),St=(0,o.useRef)(null),Et=(0,o.useRef)(0),Nt=(0,o.useRef)(null),Ct=(0,o.useRef)(!1),[Mt,Rt]=(0,o.useState)(!1),At=(0,o.useRef)(!1),Pt=(0,o.useRef)(null),[It,Dt]=(0,o.useState)(null);(0,o.useEffect)(()=>{if("undefined"==typeof window||O)return;const e=window.requestAnimationFrame(()=>{const e=Le.current;if(!e)return;const t=window.getComputedStyle(e);"hidden"!==t.overflow&&"0px"===t.borderTopLeftRadius&&(O=!0)});return()=>window.cancelAnimationFrame(e)},[]),(0,o.useEffect)(()=>{const e=Le.current;if(!e)return;const t=new ResizeObserver(e=>{for(const t of e)Rt(t.contentRect.width<=768)});return t.observe(e),Rt(e.getBoundingClientRect().width<=768),()=>t.disconnect()},[]);const[$t,Lt]=(0,o.useState)(null),_t=(0,o.useRef)(null),[zt,Ft]=(0,o.useState)(!1),Vt=de??null,qt=null!=Vt,Bt=Vt?.features??{},Ot=!!qt&&Boolean(Bt.drm_protection&&!me),Ut={enableSubtitles:qt?Boolean(Bt.subtitle_support):"boolean"!=typeof X||X,enableChromecast:qt?Boolean(Bt.chromecast):"boolean"!=typeof g||g,enableKeyMoments:qt?Boolean(Bt.key_moments):"boolean"!=typeof S||S,enableQuality:qt?Boolean(Bt.multiple_resolution):"boolean"!=typeof Q||Q,enablePlaybackSpeed:qt?Boolean(Bt.playback_speed):"boolean"!=typeof te||te,enablePiP:qt?Boolean(Bt.picture_in_picture):"boolean"!=typeof ae||ae,allowAirplay:!!qt&&Boolean(Bt.airplay),allowMultipleAudio:!qt||Boolean(Bt.multiple_audio),m3u8_playback:!qt||Boolean(Bt.m3u8_playback),drm_protection:!!qt&&Boolean(Bt.drm_protection)},[Kt,Ht]=(0,o.useState)(!1),[Wt,Xt]=(0,o.useState)("undefined"!=typeof navigator&&!navigator.onLine),[Qt,Jt]=(0,o.useState)(!1),[Gt,Yt]=(0,o.useState)(0),[Zt,er]=(0,o.useState)(!1),[tr,rr]=(0,o.useState)(0),[nr,ir]=(0,o.useState)(0),[sr,ar]=(0,o.useState)(1),[or,cr]=(0,o.useState)(!1),[lr,ur]=(0,o.useState)(!1),dr=(0,o.useRef)(!1),mr=(0,o.useRef)(null),pr=(0,o.useRef)(0),hr=(0,o.useCallback)(()=>{if(!dr.current||Ze.current)return null!==mr.current&&(window.clearTimeout(mr.current),mr.current=null),void ur(!1);if(null!==mr.current)return;const e=Math.max(400,pr.current-Date.now());mr.current=window.setTimeout(()=>{mr.current=null,dr.current&&!Ze.current&&(Date.now()<pr.current?hr():ur(!0))},e)},[]);(0,o.useEffect)(()=>()=>{null!==mr.current&&window.clearTimeout(mr.current)},[]);const fr=(0,o.useCallback)(e=>{dr.current=e,hr()},[hr]);(0,o.useEffect)(()=>{const e=()=>Xt(!1),t=()=>Xt(!0);return window.addEventListener("online",e),window.addEventListener("offline",t),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",t)}},[]);const kr=(0,o.useCallback)(()=>{Jt(!1),Ht(!0),fr(!1),wt.current=null,jt.current&&(window.clearTimeout(jt.current),jt.current=null),Tt.current&&(Tt.current.style.opacity="0")},[fr]),br=(0,o.useCallback)(()=>{Ht(!1),Jt(!1),fr(!0),null!==ft.current&&Tt.current&&(Tt.current.style.opacity="1"),Yt(e=>e+1)},[fr]);(0,o.useEffect)(()=>{if(Kt||!Wt||!lr&&!Qt)return;const e=window.setTimeout(()=>{if(null===ft.current&&$t){const e=$t.getCurrentTime();Number.isFinite(e)&&e>0&&(ft.current=e)}kr()},1e4);return()=>window.clearTimeout(e)},[Wt,lr,Qt,Kt,$t,kr]),(0,o.useEffect)(()=>{if(Kt||Wt||!lr)return;const e=window.setTimeout(()=>{if(null===ft.current&&$t){const e=$t.getCurrentTime();Number.isFinite(e)&&e>0&&(ft.current=e)}kr()},3e4);return()=>window.clearTimeout(e)},[Wt,lr,Kt,$t,kr]),(0,o.useEffect)(()=>{!Wt&&Qt&&br()},[Wt,Qt,br]);const[yr,gr]=(0,o.useState)(!1),[vr,xr]=(0,o.useState)(!1),[Tr,wr]=(0,o.useState)(!1),jr=Mt||(yr||vr)&&Tr,[Sr,Er]=(0,o.useState)(!1),[Nr,Cr]=(0,o.useState)(null),[Mr,Rr]=(0,o.useState)(!1),[Ar,Pr]=(0,o.useState)([]),Ir=(0,o.useRef)([]),Dr=(0,o.useRef)(new Set),[$r,Lr]=(0,o.useState)(!1),_r=(0,o.useRef)(!1),zr=Te&&Te.length>0?Te.map(e=>e.url).join("|"):e,[Fr,Vr]=(0,o.useState)(new Set),[qr,Br]=(0,o.useState)(zr),Or=(0,o.useRef)(null),Ur=(0,o.useRef)(!1),Kr=(0,o.useRef)(null);qr!==zr&&(Br(zr),Vr(new Set),Dr.current=new Set,Or.current=null,Ur.current=!1);const Hr=(0,o.useRef)(null),Wr=(0,o.useRef)(!1),[Xr,Qr]=(0,o.useState)([]),[Jr,Gr]=(0,o.useState)(null),Yr=(0,o.useRef)([]),Zr=(0,o.useRef)(null),en=(0,o.useRef)(new Set),[tn,rn]=(0,o.useState)([]),nn=(0,o.useRef)([]),[sn,an]=(0,o.useState)(!1),on=(0,o.useRef)(!1),cn=(0,o.useCallback)(()=>{on.current||(on.current=!0,an(!0))},[]),[ln,un]=(0,o.useState)(!1),dn=(0,o.useRef)(!1),mn=(0,o.useCallback)(()=>{dn.current||(dn.current=!0,un(!0))},[]),[pn,hn]=(0,o.useState)(!1),fn=(0,o.useRef)(!1),[kn,bn]=(0,o.useState)(!1),[yn,gn]=(0,o.useState)(!1),vn=(0,o.useRef)(null),[xn,Tn]=(0,o.useState)({w:0,h:0}),[wn,jn]=(0,o.useState)(null),[Sn,En]=(0,o.useState)([]),[Nn,Cn]=(0,o.useState)(0),Mn=(0,o.useRef)(0),Rn=(0,o.useRef)(0),An=e=>{const t=nn.current.find(t=>e>=t.startTimeSeconds&&e<t.endTimeSeconds);if(t)return{start:t.startTimeSeconds,end:t.endTimeSeconds};const r=Ir.current.find(t=>e>=t.startTime&&e<t.endTime);return r?{start:r.startTime,end:r.endTime}:null},[Pn,In]=(0,o.useState)(null),[Dn,$n]=(0,o.useState)(null),Ln=(0,o.useRef)(null);(0,o.useEffect)(()=>{Ln.current=Pn},[Pn]);const _n=(0,o.useMemo)(()=>Ar.reduce((e,t)=>e+(t.endTime-t.startTime),0),[Ar]),zn=nr>0?nr:Pn?Dn?.duration??0:0,Fn=zn>0?Math.max(0,zn-_n):0,Vn=Ar.length>0&&Fn>0?Fn:zn,qn=(0,o.useCallback)(e=>{let t=e;for(const r of Ar)e>=r.endTime?t-=r.endTime-r.startTime:e>=r.startTime&&(t-=e-r.startTime);return Math.max(0,t)},[Ar]),Bn=(0,o.useCallback)(e=>{const t=[...Ar].sort((e,t)=>e.startTime-t.startTime);let r=e;for(const n of t)r>n.startTime&&(r+=n.endTime-n.startTime);return r},[Ar]),On=(0,o.useCallback)(e=>e.startTime>.1&&e.endTime<nr-.1,[nr]),[Un,Kn]=(0,o.useState)([]),[Hn,Wn]=(0,o.useState)({id:-1,height:0,width:0,bitrate:0,label:"Auto"}),[Xn,Qn]=(0,o.useState)(""),[Jn,Gn]=(0,o.useState)("off"),[Yn,Zn]=(0,o.useState)(G(s)),[ei,ti]=(0,o.useState)([]),[ri,ni]=(0,o.useState)(0);(0,o.useEffect)(()=>{if($t){const e=$t.subtitles.getTracks();Zn(G([...s,...e.filter(e=>!s.some(t=>t.id===e.id))]))}else Zn(G(s))},[s.map(e=>e.id).join(","),$t]);const[ii,si]=(0,o.useState)({chapter:null,index:-1}),[ai,oi]=(0,o.useState)(i||n||[]),[ci,li]=(0,o.useState)("none"),[ui,di]=(0,o.useState)(1),[mi,pi]=(0,o.useState)(!1),[hi,fi]=(0,o.useState)({}),[ki,bi]=(0,o.useState)(""),[yi,gi]=(0,o.useState)(null),vi=(0,o.useRef)(!1),xi=JSON.stringify(ai.map(e=>({title:e.title,startTime:e.startTime})));(0,o.useEffect)(()=>{oi(i||n||[])},[(i||n||[]).map(e=>`${e.startTime}:${e.title}`).join(",")]),(0,o.useEffect)(()=>{if(!e||!ai||0===ai.length)return;fi({});const t=document.createElement("video");t.muted=!0,t.preload="metadata",t.crossOrigin="anonymous",t.style.cssText="position:fixed;top:0;left:0;width:10px;height:10px;opacity:0.01;pointer-events:none;z-index:-9999;",document.body.appendChild(t);let r=null;const n=e.includes(".m3u8"),i=document.createElement("canvas");i.width=160,i.height=90;const s=i.getContext("2d");let o=0,c=!1;const l=()=>{if(o>=ai.length)return void p();const e=ai[o].startTime;t.currentTime=0===e?.01:e},u=()=>{if(s&&t.readyState>=2){s.drawImage(t,0,0,i.width,i.height);const e=i.toDataURL("image/jpeg",.8);fi(t=>({...t,[o]:e})),o++,l()}else setTimeout(u,100)},d=()=>{c||(c=!0,l())};t.addEventListener("seeked",u),t.addEventListener("canplay",d),n&&a.Hls.isSupported()?(r=new a.Hls({enableWorker:!1,maxBufferLength:5,xhrSetup:(e,t)=>{const r=m?.authToken;try{const n=$e(t),i=new URL(n,window.location.origin);r&&i.searchParams.set("token",r),e.open("GET",i.toString(),!0)}catch(n){}}}),r.loadSource($e(e)),r.attachMedia(t)):t.src=e,t.readyState>=2&&d();const p=()=>{t.removeEventListener("seeked",u),t.removeEventListener("canplay",d),r&&r.destroy(),document.body.contains(t)&&document.body.removeChild(t)};return p},[e,xi]);const Ti=(0,o.useRef)(!1),wi=e=>null!==ft.current?ft.current:!xt.current&&(Se??0)>0?Se:e.getCurrentTime(),[ji,Si]=(0,o.useState)(!1),[Ei,Ni]=(0,o.useState)(!1),[Ci,Mi]=(0,o.useState)(null),[Ri,Ai]=(0,o.useState)(null),[Pi,Ii]=(0,o.useState)(0),[Di,$i]=(0,o.useState)(0),[Li,_i]=(0,o.useState)(null),[zi,Fi]=(0,o.useState)(null),[Vi,qi]=(0,o.useState)(null);(0,o.useEffect)(()=>{if(Je.current&&!Je.current.querySelector("google-cast-launcher")){const e=document.createElement("google-cast-launcher");e.style.cursor="pointer",e.style.width="100%",e.style.height="100%",e.style.display="block",Je.current.appendChild(e)}},[]),(0,o.useEffect)(()=>{if(!$t)return Si(!1),Ni(!1),void Mi(null);const e=e=>Si(e),t=()=>{const e=$t.getVideoElement(),t=Boolean(e?.webkitCurrentPlaybackTargetIsWireless);Ni(t),Mi(t?e.webkitCurrentPlaybackTargetName||"AirPlay device":null)};e($t.casting.isAirPlayAvailable()),t();const r=$t.getVideoElement(),n=t=>{e("available"===t.availability)},i=()=>{t()};return"webkitShowPlaybackTargetPicker"in r&&(r.addEventListener("webkitplaybacktargetavailabilitychanged",n),r.addEventListener("webkitcurrentplaybacktargetiswirelesschanged",i)),()=>{"webkitShowPlaybackTargetPicker"in r&&(r.removeEventListener("webkitplaybacktargetavailabilitychanged",n),r.removeEventListener("webkitcurrentplaybacktargetiswirelesschanged",i))}},[$t]);const[Bi,Oi]=(0,o.useState)(""),[Ui,Ki]=(0,o.useState)(!1),[Hi,Wi]=(0,o.useState)(!1),[Xi,Qi]=(0,o.useState)(!1),Ji=(0,o.useRef)(!1),Gi=(0,o.useRef)(null),Yi=(0,o.useRef)(!1),Zi=(0,o.useRef)(!1),es=(0,o.useRef)(null),ts=(0,o.useRef)("none"),rs=(0,o.useRef)(s),ns=()=>{Ki(!0),Gi.current&&window.clearTimeout(Gi.current);const e=At.current?3500:1e4;Gi.current=window.setTimeout(()=>{Yi.current&&"none"===ts.current&&Ki(!1)},e)},is=()=>{if(dn.current&&_r.current){if(Ln.current||Zi.current||!ne(Rn.current,Ir.current,Dr.current))es.current=null;else{const e=Date.now();if(null===es.current&&(es.current=e),e-es.current<2500)return}ns()}},[ss,as]=(0,o.useState)(!1);(0,o.useEffect)(()=>{as(!Pn&&!Hi&&ne(tr,Ar,Dr.current))},[tr,Ar,Hi,Pn]),(0,o.useEffect)(()=>{if(!ln||!$r||ss)return Gi.current&&(window.clearTimeout(Gi.current),Gi.current=null),void Ki(!1);y&&ns()},[Hi,ln,$r,ss,y]);const os=(0,o.useCallback)(e=>{bt.current&&(clearTimeout(bt.current),bt.current=null);const t=gt.current,r=t?.[e]?.label??"This format",n=t?.[0]?.label??"default";yt.current=null,gi(`${r} isn't supported on this device. Switched to ${n}.`),window.setTimeout(()=>gi(null),4e3),vt.current?.(0)},[]);(0,o.useEffect)(()=>{if(!Le.current)return;Tt.current&&null===ft.current&&Se&&Se>0&&(Tt.current.style.opacity="1");const t=document.createElement("video");t.muted=!0,t.preload="metadata",t.crossOrigin="anonymous",t.style.cssText="display:none;position:absolute;pointer-events:none;",document.body.appendChild(t),Be.current=t;const n=e.includes(".m3u8");if(n&&a.Hls.isSupported()){const r=new a.Hls({enableWorker:!1,maxBufferLength:5,xhrSetup:(e,t)=>{const r=m?.authToken;try{const n=$e(t),i=new URL(n,window.location.origin);r&&i.searchParams.set("token",r),e.open("GET",i.toString(),!0)}catch(n){}}});r.loadSource($e(e)),r.attachMedia(t),Oe.current=r,r.on(a.Hls.Events.MANIFEST_LOADED,(e,t)=>{if(pe)return;const r=(e=>{const t=e.match(/#EXT-X-TITLE:(.+)/);if(t?.[1]?.trim())return t[1].trim();const r=e.match(/#EXT-X-SESSION-DATA:[^\n]*DATA-ID="[^"]*title[^"]*"[^\n]*VALUE="([^"]+)"/i);return r?.[1]?.trim()?r[1].trim():null})(t?.networkDetails?.responseText??"");r&&Oi(r)}),r.on(a.Hls.Events.FRAG_PARSING_METADATA,(e,t)=>{if(!pe&&!Bi)for(const r of t?.samples??[]){const e=U(r.data);if(e){Oi(e);break}}})}else n&&t.canPlayType("application/vnd.apple.mpegurl"),t.src=e;let i;if(t.addEventListener("seeked",()=>{const e=qe.current;if(!e)return;const r=e.getContext("2d");r&&t.readyState>=2&&(r.drawImage(t,0,0,e.width,e.height),_i(e.toDataURL("image/jpeg",.82)))}),p){const e=new a.FirebaseAnalyticsProvider(p);_e.current=e,i=e.createCallback()}if(Ot){if(Nt.current){const e=Nt.current;Nt.current=null,Cr(null),Er(!1),e.close()}return void(Ct.current=!1)}const o=new a.VideoPlayerSDK({container:Le.current,src:e,videoId:h,autoplay:!1,muted:r,keyMoments:ai,subtitles:s,drm:{watermarkText:c,allowedDomains:["localhost","127.0.0.1",window.location.hostname],...m},analyticsCallback:e=>{if(e.sessionId&&(null===Or.current?Or.current=e.sessionId:e.sessionId!==Or.current&&(e={...e,sessionId:Or.current})),"session_start"===e.eventType){if(Ur.current)return;Ur.current=!0}i?.(e),f&&f(e)},analyticsSessionSeed:Kr.current?.key===zr?Kr.current.snapshot:void 0,watchProgressInterval:1e3*le,themeColor:l,urlTransformer:ke}),u=Nt.current;if(u)if(u.closed)Nt.current=null,Cr(null),Er(!1);else{const e=o.getVideoElement();e.classList.add("gb-pip-video"),u.document.body.insertBefore(e,u.document.body.firstChild)}if(Ct.current){Ct.current=!1;const e=o.getVideoElement(),t=()=>{e.requestPictureInPicture?.().catch(()=>{})};e.readyState>=1?t():e.addEventListener("loadedmetadata",t,{once:!0})}o.on("keymomentsloaded",e=>{oi(e),b&&b(e)}),o.on("chaptersloaded",e=>{oi(e),b&&b(e)}),o.on("play",()=>{er(!0),Rr(!1),v(o.getCurrentTime(),!1)}),o.on("pause",()=>{er(!1),v(o.getCurrentTime(),!0)}),o.on("ended",()=>{er(!1),Rr(!0)});const d=()=>{Ze.current||(rt.current=tt(o.getVideoElement())),st(),Ze.current=!0,hr(),Ye.current&&rt.current&&(Ye.current.style.transition="none",Ye.current.style.opacity="1"),ot(o.getVideoElement())},y=()=>{const e=o.getVideoElement(),t=nt.current,r=()=>{t===nt.current&&(it.current&&(window.clearTimeout(it.current),it.current=null),Ze.current=!1,Ye.current&&(Ye.current.style.transition="opacity 180ms ease-out",Ye.current.style.opacity="0"),ct(e),pr.current=Date.now()+1e3,hr())},n=e?.requestVideoFrameCallback;if("function"==typeof n){n.call(e,()=>r());const i=n=>{it.current=window.setTimeout(()=>{(dr.current||e.seeking||e.readyState<2)&&n+ie<8e3&&t===nt.current?i(n+ie):r()},ie)};return void i(0)}requestAnimationFrame(()=>requestAnimationFrame(r))},g=(e,t=!1)=>{He.current=!0;const r=t?e+.5:dt.current??e+.5;t||(dt.current=null),ut.current=t,We.current=r,Xe.current=o.getCurrentTime(),d(),o.seek(r);const n=o.getVideoElement();if(n){const e=()=>{n.removeEventListener("seeked",e),Qe.current&&(window.clearTimeout(Qe.current),Qe.current=null),He.current=!1,We.current=null,Xe.current=null;const t=ut.current;ut.current=!1,(t||null===dt.current)&&y(),t||null!==dt.current||pt(null)};n.addEventListener("seeked",e)}Qe.current&&window.clearTimeout(Qe.current),Qe.current=window.setTimeout(()=>{He.current=!1,We.current=null,Xe.current=null,Qe.current=null,ut.current=!1,pt(null),y()},3e3)};lt.current=g;const v=(e,t)=>{if(!("mediaSession"in navigator)||!navigator.mediaSession.setPositionState)return;navigator.mediaSession.playbackState=t?"paused":"playing";const r=o.getDuration(),n=Ir.current.find(t=>e>=t.startTime&&e<t.endTime);if(n){const t=n.endTime-n.startTime,r=Math.max(0,e-n.startTime);if(t>0)try{navigator.mediaSession.setPositionState({duration:t,playbackRate:1,position:Math.min(r,t)})}catch(i){}}else{const t=Ir.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),n=r>0?Math.max(0,r-t):0;let s=e;for(const r of Ir.current)e>=r.endTime?s-=r.endTime-r.startTime:e>=r.startTime&&(s-=e-r.startTime);s=Math.max(0,s);const a=Ir.current.length>0&&n>0?n:r;if(a>0)try{navigator.mediaSession.setPositionState({duration:a,playbackRate:1,position:Math.min(s,a)})}catch(i){}}};if(o.on("timeupdate",e=>{if(!He.current&&null===wt.current){const t=Ir.current.find(t=>Dr.current.has(t.startTime)&&e>=t.startTime-.5&&e<t.endTime);if(t)return void g(t.endTime);null!==dt.current&&Ir.current.find(t=>e>=t.endTime-.5&&e<t.endTime)&&d()}if(He.current&&null!==We.current){const t=We.current;if(!(null!==Xe.current&&t<Xe.current?e<=t+2&&e>=t-2:e>=t-2))return;{He.current=!1,We.current=null,Xe.current=null,Qe.current&&(window.clearTimeout(Qe.current),Qe.current=null);const t=Ir.current.some(t=>e>=t.startTime&&e<t.endTime),r=ut.current;ut.current=!1,(r||!t&&null===dt.current)&&y(),t||null!==dt.current||pt(null)}}rr(e),Et.current=e;const t=o.getDuration();if(ir(t),null!==wt.current&&e>=wt.current-2){const t=Ir.current.find(t=>Dr.current.has(t.startTime)&&e>=t.startTime&&e<t.endTime);t&&g(t.endTime);const r=Ir.current.some(t=>e>=t.startTime&&e<t.endTime&&!Dr.current.has(t.startTime));Zi.current&&!r||(wt.current=null,jt.current&&(window.clearTimeout(jt.current),jt.current=null),requestAnimationFrame(()=>{requestAnimationFrame(()=>{Tt.current&&(Tt.current.style.opacity="0")})}))}if(!xt.current&&dn.current&&_r.current&&null===ft.current&&Se&&Se>0&&t>0&&Se<t){xt.current=!0;const t=Ir.current.find(e=>Se>=e.startTime&&Se<e.endTime),r=t?t.startTime:Se,n=Ir.current.find(t=>e>=t.startTime&&e<t.endTime&&!Dr.current.has(t.startTime));n&&r>n.endTime?(St.current=null,dt.current=r,Tt.current&&(Tt.current.style.opacity="0")):(St.current=t?null:Se,wt.current=r,o.seek(r),jt.current&&window.clearTimeout(jt.current),jt.current=window.setTimeout(()=>{wt.current=null,jt.current=null,Tt.current&&(Tt.current.style.opacity="0")},4e3))}if(Ee?.(e),Yr.current.length>0)if(Zr.current){const t=Zr.current;(e>=t.startTimeSeconds+t.durationSeconds||e<t.startTimeSeconds)&&(Gr(null),Zr.current=null)}else{const t=Yr.current.find(t=>e>=t.startTimeSeconds&&e<t.startTimeSeconds+t.durationSeconds&&!en.current.has(t.availId));t&&(Gr(t),Zr.current=t,t.impressionBeacons.forEach(e=>{fetch(e,{mode:"no-cors"}).catch(()=>{})}))}const r=o.keyMoments.getCurrentMoment(e);si({chapter:r.keyMoment,index:r.index}),v(e,o.getVideoElement().paused)}),o.on("qualitylevels",e=>{Kn(e);const t=kt.current;if(!t)return;const r=null!==t.qualityHeight?e.find(e=>e.height===t.qualityHeight):void 0;r?(o.setQuality(r.id),Wn(r)):Wn({id:-1,height:0,width:0,bitrate:0,label:"Auto"})}),o.on("qualitychange",e=>{Wn(e)}),o.on("buffering",e=>{if(fr(e),!e){bt.current&&(clearTimeout(bt.current),bt.current=null),yt.current=null;const e=kt.current;if(e&&(kt.current=null,1!==e.playbackRate&&o.setPlaybackRate(e.playbackRate),o.setVolume(e.volume),o.setMute(e.muted)),null!==ft.current){const e=ft.current;ft.current=null,xt.current=!0,wt.current=e,jt.current&&window.clearTimeout(jt.current),jt.current=window.setTimeout(()=>{wt.current=null,jt.current=null,Tt.current&&(Tt.current.style.opacity="0")},4e3),o.seek(e)}}}),o.on("adbreakchange",e=>{if(o.analytics.setAdBreak(e,o.getVideoElement()),k&&k(e),e){const e=o.getCurrentTime(),t=Ir.current.find(t=>e>=t.startTime&&e<t.endTime);if(Ji.current=!1,Qi(!1),t&&Dr.current.has(t.startTime))return d(),void(He.current||g(t.endTime));t&&(Hr.current=t.startTime),jn(t??null),Wi(!0),li("none"),y()}else{const e=Hr.current;if(Hr.current=null,jn(null),null!==e){const t=Ir.current.find(t=>t.startTime===e);t&&o.getCurrentTime()>=t.endTime-1.5&&(Dr.current.add(e),Vr(new Set(Dr.current)))}if(Wi(!1),null!==dt.current){const e=dt.current;dt.current=null,He.current=!0,We.current=e,Xe.current=o.getCurrentTime(),d(),o.seek(e),Qe.current&&window.clearTimeout(Qe.current),Qe.current=window.setTimeout(()=>{He.current=!1,We.current=null,Xe.current=null,Qe.current=null,y()},3e3)}}}),o.on("adbreaksloaded",e=>{Ir.current=e,e.length>0&&(_r.current=!0),Pr(e),mn();const t=St.current;if(null===t)return;St.current=null;const r=e.find(e=>t>=e.startTime&&t<e.endTime);if(!r||Dr.current.has(r.startTime))return;const n=o.getCurrentTime();n<r.startTime||n>=r.endTime||(Tt.current&&(Tt.current.style.opacity="1"),wt.current=r.startTime,jt.current&&window.clearTimeout(jt.current),jt.current=window.setTimeout(()=>{wt.current=null,jt.current=null,Tt.current&&(Tt.current.style.opacity="0")},4e3),o.seek(r.startTime))}),o.on("volumechange",e=>{ar(e.volume),null===at.current&&cr(e.muted)}),o.on("pipchange",e=>{Er(e)}),o.on("error",()=>{if(null===ft.current){const e=o.getCurrentTime();Number.isFinite(e)&&e>0&&(ft.current=e)}if("undefined"!=typeof navigator&&!navigator.onLine)return Jt(!0),void fr(!0);kr()}),o.on("unsupportedcodec",()=>{const e=yt.current;e&&0!==e.targetIdx&&(gt.current?.length??0)>1&&os(e.targetIdx)}),o.subtitles.onSubtitleChange(e=>{Qn(e)}),o.on("subtitlesloaded",e=>{if(!Ut.enableSubtitles)return;Zn(G([...e]));const t=kt.current;if(t){const r="off"===t.subtitleId?"off":e.find(e=>e.id===t.subtitleId)?.id??(t.subtitleLang?e.find(e=>e.lang===t.subtitleLang)?.id:void 0);if(r)return o.subtitles.setActiveTrack(r),void Gn(r)}const r=e.find(e=>e.isDefault);r&&(o.subtitles.setActiveTrack(r.id),Gn(r.id))}),o.on("audiotracksloaded",e=>{ti(e);const t=kt.current,r=t?e.find(e=>t.audioLang&&e.lang===t.audioLang)??e.find(e=>t.audioLabel&&e.label===t.audioLabel):void 0;if(r)return o.setAudioTrack(r.id),void ni(r.id);ni(e[0]?.id??0)}),o.on("audiotrackchange",e=>{ni(e)}),o.casting.onCastStateChange((t,r)=>{if(t)Ti.current=o.isMuted(),o.pause(),o.getVideoElement().muted=!0,In(r),o.casting.syncMedia(e,wi(o),pe),o.analytics.track("cast_start",o.getVideoElement());else{const e=o.casting.getRemoteState();e&&e.currentTime>0&&(He.current=!0,We.current=e.currentTime,Xe.current=o.getCurrentTime(),o.seek(e.currentTime),Qe.current&&window.clearTimeout(Qe.current),Qe.current=window.setTimeout(()=>{He.current=!1,We.current=null,Xe.current=null,Qe.current=null},3e3));const t=o.getVideoElement();t.muted=Ti.current,In(null),$n(null),o.analytics.track("cast_stop",t)}}),o.casting.onRemoteStateChange(e=>{$n(e)}),ar(o.getVolume()),cr(o.isMuted()),"mediaSession"in navigator)try{navigator.mediaSession.setActionHandler("seekto",e=>{if(null==e.seekTime||Zi.current||Ji.current)return;let t=e.seekTime;for(const r of Ir.current)t>=r.startTime&&(t+=r.endTime-r.startTime);ht.current?.(t)});const e=(e,t)=>{if(Zi.current||Ji.current)return;const r=t&&t>0?t:10,n=o.getCurrentTime();let i=n;for(const s of Ir.current)n>=s.endTime?i-=s.endTime-s.startTime:n>=s.startTime&&(i-=n-s.startTime);if(e){const e=Ir.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),t=Math.max(0,o.getDuration()-e);let n=Math.min(t,i+r);for(const r of Ir.current)n>=r.startTime&&(n+=r.endTime-r.startTime);ht.current?.(n,{eventType:"fast_forward",skipSeconds:r})}else{let e=Math.max(0,i-r);for(const t of Ir.current)e>=t.startTime&&(e+=t.endTime-t.startTime);ht.current?.(e,{eventType:"fast_backward",skipSeconds:r})}};navigator.mediaSession.setActionHandler("seekforward",t=>e(!0,t.seekOffset??void 0)),navigator.mediaSession.setActionHandler("seekbackward",t=>e(!1,t.seekOffset??void 0))}catch(E){}const x=o.getVideoElement(),T=()=>{if(document.pictureInPictureElement!==x&&"picture-in-picture"!==x.webkitPresentationMode)return;if(He.current||null!==wt.current||null!==ft.current)return;const e=x.currentTime,t=Et.current;Math.abs(e-t)<.5||(Zi.current?x.currentTime=t:(x.currentTime=t,ht.current?.(e)))};x.addEventListener("seeking",T),_t.current=o,Lt(o);const w=yt.current;w&&0!==w.targetIdx&&(bt.current&&clearTimeout(bt.current),bt.current=setTimeout(()=>{bt.current=null,o.getBufferedRanges().some(e=>e.end>e.start)||os(w.targetIdx)},1e4)),null!==ft.current&&(jt.current&&window.clearTimeout(jt.current),jt.current=window.setTimeout(()=>{jt.current=null,wt.current=null,Tt.current&&(Tt.current.style.opacity="0"),fr(!1)},12e3)),ce&&!ze.current&&Le.current&&(ze.current=!0,Le.current.requestFullscreen().catch(()=>{ze.current=!1}));const j=()=>{const e=document,t=!(!document.fullscreenElement&&!e.webkitFullscreenElement);gr(t),t||xr(!1);const r=o.getVideoElement();o.analytics.track(t?"fullscreen_enter":"fullscreen_exit",r)};document.addEventListener("fullscreenchange",j),document.addEventListener("webkitfullscreenchange",j);const S=e=>{const t=document.activeElement;if(!t||"INPUT"!==t.tagName&&"TEXTAREA"!==t.tagName&&"true"!==t.getAttribute("contenteditable")&&"slider"!==t.getAttribute("role")){switch(e.key.toLowerCase()){case" ":case"k":if(e.preventDefault(),o.getVideoElement().paused)o.play();else{o.pause();try{const e=o.getVideoElement();e&&!e.paused&&e.pause()}catch(e){}if(Be.current&&!Be.current.paused)try{Be.current.pause()}catch(e){}}break;case"arrowleft":case"j":if(e.preventDefault(),!Zi.current){const e=o.getCurrentTime();let t=e;for(const n of Ir.current)e>=n.endTime?t-=n.endTime-n.startTime:e>=n.startTime&&(t-=e-n.startTime);let r=Math.max(0,t-10);for(const n of Ir.current)r>=n.startTime&&(r+=n.endTime-n.startTime);ht.current?.(r,{eventType:"fast_backward",skipSeconds:10})}break;case"arrowright":case"l":if(e.preventDefault(),!Zi.current){const e=o.getCurrentTime(),t=Ir.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),r=Math.max(0,o.getDuration()-t);let n=e;for(const s of Ir.current)e>=s.endTime?n-=s.endTime-s.startTime:e>=s.startTime&&(n-=e-s.startTime);let i=Math.min(r,n+10);for(const s of Ir.current)i>=s.startTime&&(i+=s.endTime-s.startTime);ht.current?.(i,{eventType:"fast_forward",skipSeconds:10})}break;case"arrowup":e.preventDefault(),o.setVolume(o.getVolume()+.1);break;case"arrowdown":e.preventDefault(),o.setVolume(o.getVolume()-.1);break;case"m":e.preventDefault(),o.setMute(!o.isMuted());break;case"f":e.preventDefault(),Ge.current();break;case"p":e.preventDefault(),Zi.current||o.togglePictureInPicture();break;case"c":if(e.preventDefault(),Ut.enableSubtitles&&!Zi.current)if("off"!==o.subtitles.getActiveTrackId())o.subtitles.setActiveTrack("off"),Gn("off");else{const e=rs.current;e&&e.length>0&&(o.subtitles.setActiveTrack(e[0].id),Gn(e[0].id))}break;default:return}is()}};return document.addEventListener("keydown",S),is(),()=>{if(Kr.current={key:zr,snapshot:o.analytics.getSessionSnapshot()},Ct.current=!Nt.current&&document.pictureInPictureElement===x,o.destroy(),_e.current?.destroy(),_e.current=null,document.body.style.overflow="",document.body.style.touchAction="",document.removeEventListener("fullscreenchange",j),document.removeEventListener("webkitfullscreenchange",j),document.removeEventListener("keydown",S),Gi.current&&window.clearTimeout(Gi.current),Qe.current&&(window.clearTimeout(Qe.current),Qe.current=null),bt.current&&(clearTimeout(bt.current),bt.current=null),st(),Ze.current=!1,Ye.current&&(Ye.current.style.opacity="0"),hr(),x.removeEventListener("seeking",T),"mediaSession"in navigator){try{navigator.mediaSession.setActionHandler("seekto",null)}catch(E){}try{navigator.mediaSession.setActionHandler("seekforward",null)}catch(E){}try{navigator.mediaSession.setActionHandler("seekbackward",null)}catch(E){}}Oe.current&&(Oe.current.destroy(),Oe.current=null),Be.current&&(document.body.removeChild(Be.current),Be.current=null),xt.current=!1,wt.current=null,jt.current&&(window.clearTimeout(jt.current),jt.current=null)}},[e,c,Gt]),(0,o.useEffect)(()=>{if($t){$t.keyMoments.setKeyMoments(ai);const e=Le.current?.querySelector("video");if(e){const t=$t.keyMoments.getCurrentMoment(e.currentTime);si({chapter:t.keyMoment,index:t.index})}}},[xi,$t]),(0,o.useEffect)(()=>{const e=e=>{"none"!==ci&&(e.target.closest(".sdk-menu-container")||li("none"))};return document.addEventListener("click",e),()=>{document.removeEventListener("click",e)}},[ci]),(0,o.useEffect)(()=>{Yi.current=Zt},[Zt]),(0,o.useEffect)(()=>{Zi.current=Hi},[Hi]),(0,o.useEffect)(()=>{Ji.current=Xi},[Xi]);const cs=null!==(0,o.useMemo)(()=>{if(!Pn||!Dn)return null;const e=Dn.currentTime;return Ar.find(t=>e>=t.startTime&&e<t.endTime)??null},[Pn,Dn,Ar]),ls=(0,o.useRef)(!1);(0,o.useEffect)(()=>{ls.current=cs},[cs]);const us=(0,o.useRef)(null),ds=(0,o.useRef)(null),ms=(0,o.useRef)(null);(0,o.useEffect)(()=>{if(!Pn||!Dn||!$t)return ds.current=null,void(ms.current=null);const e=Dn.currentTime,t=ds.current;if(ds.current=e,null===t)return;for(const i of Ir.current)t>=i.startTime&&t<i.endTime&&e>=i.endTime&&!Dr.current.has(i.startTime)&&(Dr.current.add(i.startTime),Vr(new Set(Dr.current)));const r=us.current;if(r&&e>=r.breakEnd)return us.current=null,ms.current=null,void $t.casting.remoteSeek(r.target);const n=Ir.current.find(t=>e>=t.startTime&&e<t.endTime&&Dr.current.has(t.startTime));n?ms.current!==n.startTime&&(ms.current=n.startTime,$t.casting.remoteSeek(n.endTime+.5)):ms.current=null},[Pn,Dn,$t]),(0,o.useEffect)(()=>{Pn||(us.current=null,ms.current=null)},[Pn]),(0,o.useEffect)(()=>{if(!$t||!Pn)return;const e=$t.getVideoElement?.();if(!e)return;const t=()=>{e.paused||e.pause()};return t(),e.addEventListener("play",t),()=>e.removeEventListener("play",t)},[$t,Pn]);const ps=Hi||Xi||cs;(0,o.useEffect)(()=>{Nt.current=Nr},[Nr]),(0,o.useEffect)(()=>{ts.current=ci},[ci]),(0,o.useEffect)(()=>{if(!Hi||!$t)return;let e=0,t=$t.getCurrentTime(),r=performance.now();const n=()=>{const i=$t.getVideoElement?.(),s=$t.getCurrentTime(),a=performance.now();let o;if(s!==t)t=s,r=a,o=s;else if(!i||i.paused||i.ended)o=t;else{const e=i.playbackRate||1;o=t+(a-r)/1e3*e}const c=An(s);if(c){const e=Math.min(o,s+.4,c.end),t=Math.min(100,Math.max(0,(e-c.start)/(c.end-c.start)*100));(Le.current?.querySelectorAll(".sdk-ad-progress-fill"))?.forEach(e=>{e.style.width=`${t}%`})}e=requestAnimationFrame(n)};return e=requestAnimationFrame(n),()=>cancelAnimationFrame(e)},[Hi,$t]),(0,o.useEffect)(()=>{rs.current=Yn},[Yn]),(0,o.useEffect)(()=>{At.current=Mt},[Mt]),(0,o.useEffect)(()=>{Ir.current=Ar},[Ar]),(0,o.useEffect)(()=>{Yr.current=Xr},[Xr]),(0,o.useEffect)(()=>{Zr.current=Jr},[Jr]),(0,o.useEffect)(()=>{nn.current=tn},[tn]),(0,o.useEffect)(()=>{Rn.current=tr},[tr]),(0,o.useEffect)(()=>{gt.current=Te},[Te]),(0,o.useEffect)(()=>{const e=vn.current;if(!Hi||!e||"undefined"==typeof ResizeObserver)return;const t=()=>{const t=e.getBoundingClientRect();Tn(e=>e.w===t.width&&e.h===t.height?e:{w:t.width,h:t.height})};t();const r=new ResizeObserver(t);return r.observe(e),()=>r.disconnect()},[Hi,tn]),(0,o.useEffect)(()=>{vt.current=je},[je]),(0,o.useEffect)(()=>{Hr.current=null,jn(null),Wr.current=!1,dt.current=null,pt(null),St.current=null,Gr(null),Zr.current=null,en.current=new Set,Ht(!1),Jt(!1)},[e]),(0,o.useEffect)(()=>{Ft(!1)},[e]),(0,o.useEffect)(()=>{$t&&Pn&&e&&$t.casting.syncMedia(e,wi($t),pe)},[$t,Pn,e,pe]),(0,o.useEffect)(()=>{Pn&&(Tt.current&&(Tt.current.style.opacity="0"),wt.current=null,fr(!1))},[Pn,e,$t]),(0,o.useEffect)(()=>{gn(!1),on.current=!1,an(!1),dn.current=!1,un(!1)},[e]),(0,o.useEffect)(()=>{if(!$t)return;const e=$t.getVideoElement();if(e&&e.readyState>=1)return void Ft(!0);const t=()=>Ft(!0);return $t.on("qualitylevels",t),e?.addEventListener("loadedmetadata",t),()=>{$t.off("qualitylevels",t),e?.removeEventListener("loadedmetadata",t)}},[$t]),(0,o.useEffect)(()=>{if(!$t)return;const e=$t.getVideoElement(),t=()=>{gn(!0);const e=$t.getDuration();Number.isFinite(e)&&e>0&&ir(e)};return e&&e.readyState>=1&&t(),e?.addEventListener("loadedmetadata",t),e?.addEventListener("durationchange",t),()=>{e?.removeEventListener("loadedmetadata",t),e?.removeEventListener("durationchange",t)}},[$t,e]),(0,o.useEffect)(()=>{yn&&sn&&mn()},[yn,sn,mn]),(0,o.useEffect)(()=>{const e=window.setTimeout(mn,1e4);return()=>window.clearTimeout(e)},[e,mn]),(0,o.useEffect)(()=>{_r.current=$r},[$r]),(0,o.useEffect)(()=>{Lr(!1),_r.current=!1;const e=()=>{_r.current=!0,Lr(!0)},t=xe?null:e;t&&($t?.hasAdBreakDiscoverySettled()?e():$t?.on("adbreakdiscoverysettled",t));const r=window.setTimeout(e,5e3);return()=>{window.clearTimeout(r),t&&$t?.off("adbreakdiscoverysettled",t)}},[xe,e,$t]),(0,o.useEffect)(()=>{Ar.length>0&&(_r.current=!0,Lr(!0))},[Ar]),(0,o.useEffect)(()=>{if(Qr([]),ve&&zt)return se(ve,e=>{const t=new Set,r=[];for(const i of e.nonLinearAvails??[]){if(t.has(i.availId))continue;t.add(i.availId);const e=i.nonLinearAdsList?.[0],s=e?.nonLinearAdList?.[0];if(!s?.staticResource)continue;const a=(e?.trackingEvents??[]).filter(e=>"impression"===e.eventType).flatMap(e=>e.beaconUrls??[]);let o={};try{o=JSON.parse(s.adParameters??"{}")}catch(n){}const c=o.position??"bottom_center";r.push({availId:i.availId,startTimeSeconds:Y(i.startTime??""),durationSeconds:Y(s.minSuggestedDuration??"00:00:15"),imageUrl:s.staticResource,imageWidth:parseInt(s.width??"320",10),imageHeight:parseInt(s.height??"50",10),title:s.adTitle??"",clickThrough:Z(s.clickThrough)?s.clickThrough:"",clickTrackingUrl:s.clickTracking??"",impressionBeacons:a,position:c,dismissible:!0===o.dismissible})}return r.length>0?r:null},Qr)},[ve,e,zt]),(0,o.useEffect)(()=>{rn([]),En([]),Mn.current=0},[e]),(0,o.useEffect)(()=>{if(!xe)return void cn();const e=window.setTimeout(cn,2500);return()=>window.clearTimeout(e)},[xe,e,cn]),(0,o.useEffect)(()=>{if(xe)return se(xe,e=>{const t=[],r=[];for(const n of e.avails??[]){const e=n.ads??[];if(0===e.length)continue;const i=n.startTimeInSeconds??e[0].startTimeInSeconds??0,s=e[e.length-1],a=(s?.startTimeInSeconds??i)+(s?.durationInSeconds??0);r.push({startTime:i,endTime:null!=n.durationInSeconds?i+n.durationInSeconds:Math.max(a,i)}),e.forEach((r,n)=>{const i=ee(r?.skipOffset),s=null!==i;let a={};try{a=JSON.parse(r?.adParameters??"{}")}catch(d){}const o=(r?.trackingEvents??[]).filter(e=>"clickTracking"===e.eventType).flatMap(e=>e.beaconUrls??[]),c=a.ctaText&&Z(a.redirectUrl)?{text:a.ctaText,url:a.redirectUrl,title:a.title||void 0,description:a.description||void 0,clickTrackingBeacons:o}:null,l=r.startTimeInSeconds??0,u=r.durationInSeconds??0;t.push({startTimeSeconds:l,endTimeSeconds:l+u,durationSeconds:u,skippable:s,skipOffsetSeconds:i??0,cta:c,podIndex:n,podTotal:e.length})})}return t.length>0?{pods:t,breaks:r}:null},({pods:e,breaks:t})=>{rn(e),En(t)},!0,cn)},[xe,e,Nn,cn]),(0,o.useEffect)(()=>{if(!xe||!Hi)return;const e=setInterval(()=>{const e=Rn.current;nn.current.some(t=>e>=t.startTimeSeconds&&e<t.endTimeSeconds)||Mn.current>=8||(Mn.current+=1,Cn(e=>e+1))},700);return()=>clearInterval(e)},[xe,Hi]),(0,o.useEffect)(()=>{$t&&0!==Sn.length&&($t.setAdBreaks(Sn),cn())},[$t,Sn,cn]),(0,o.useEffect)(()=>{$t&&$t.setRetiredAdBreaks([...Fr])},[$t,Fr]),(0,o.useEffect)(()=>{if(!xe||tn.length>0)return void hn(!0);hn(!1);const e=window.setTimeout(()=>hn(!0),3e3);return()=>window.clearTimeout(e)},[xe,e,tn]),(0,o.useEffect)(()=>{fn.current=!1,bn(!1)},[e,Gt]),(0,o.useEffect)(()=>{$t&&t&&pn&&!fn.current&&(Pn||(fn.current=!0,$t.play()))},[$t,t,pn,Pn]),(0,o.useEffect)(()=>{if(!$t)return;const e=$t.getVideoElement();if(!e)return;let t=e.currentTime;const r=window.setInterval(()=>{if(!dr.current)return void(t=e.currentTime);if(null!==yt.current||null!==ft.current)return;const r=e.currentTime,n=r>t+.01;t=r,!n||e.paused||e.seeking||fr(!1)},350);return()=>window.clearInterval(r)},[$t,fr]),(0,o.useEffect)(()=>{$t&&kn&&pn&&(bn(!1),fn.current=!0,$t.play())},[$t,kn,pn]),(0,o.useEffect)(()=>{if(!$t)return;const e=()=>{document.hidden?be&&Zi.current&&Yi.current&&($t.pause(),Wr.current=!0):Wr.current&&($t.play(),Wr.current=!1)};return document.addEventListener("visibilitychange",e),()=>{document.removeEventListener("visibilitychange",e)}},[$t,be]);const hs=()=>{ce&&!ze.current&&Le.current&&(ze.current=!0,Le.current.requestFullscreen().catch(()=>{}))},fs=()=>{if(!$t)return;const e=$t.getVideoElement();if((ft.current??Se??e?.currentTime??0)<1&&(e?.currentTime??0)<1&&!pn&&xe)return bn(!0),void fr(!0);fn.current=!0,$t.play()},ks=()=>{if($t){if(Pn)return $t.casting.remotePlayPause(),void is();if(kn)return bn(!1),fn.current=!0,fr(!1),void is();if(Mr)ys(0),hs(),fs(),Rr(!1);else if(Zt){$t.pause();try{const e=$t.getVideoElement?.();e&&!e.paused&&e.pause()}catch(e){}if(Le.current&&Le.current.querySelectorAll("video").forEach(t=>{try{t.pause()}catch(e){}}),Be.current&&!Be.current.paused)try{Be.current.pause()}catch(e){}}else hs(),fs();is()}},bs=e=>{if(!$t||ps)return;Ke.current=!0,qi((e=>{if(!Fe.current||!$t||0===Vn)return 0;const t=Fe.current.getBoundingClientRect();return Bn(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*Vn)})(e));const t=e=>{if(!Ke.current||!Fe.current)return;const t=Fe.current.getBoundingClientRect(),r=Bn(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*Vn);qi(r),Ai(e.clientX-t.left),$i(r),Be.current&&(Be.current.currentTime=r),is()},r=e=>{if(Ke.current=!1,Fe.current){const t=Fe.current.getBoundingClientRect();ys(Bn(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*Vn))}qi(null),Ai(null),_i(null),Fi(null),document.removeEventListener("mousemove",t),document.removeEventListener("mouseup",r)};document.addEventListener("mousemove",t),document.addEventListener("mouseup",r)},ys=(e,t)=>{if(!$t)return;if(ls.current)return;if(St.current=null,Pn){const t=Dn?.currentTime??0;if(e>t&&Ir.current.length>0){const r=Ir.current.filter(r=>r.startTime<e&&r.endTime>t&&!Dr.current.has(r.startTime)).sort((e,t)=>e.startTime-t.startTime);if(r.length>0){const n=r[r.length-1];return us.current={target:e,breakEnd:n.endTime},void $t.casting.remoteSeek(Math.max(n.startTime,t))}}us.current=null;const r=Ir.current.find(t=>Dr.current.has(t.startTime)&&e>=t.startTime-.5&&e<t.endTime+2);return void $t.casting.remoteSeek(r?Math.max(e,r.endTime+.5):e)}const r=Math.max(0,nr>0?Math.min(e,nr):e);if(t){const{eventType:e,...r}=t;$t.attributeNextSeek(e,r)}const n=$t.getCurrentTime();if(r>n&&Ir.current.length>0){const e=Ir.current.filter(e=>e.startTime<r&&e.endTime>n&&!Dr.current.has(e.startTime)).sort((e,t)=>e.startTime-t.startTime);if(e.length>0){dt.current=r,pt(r);const t=e[e.length-1],i=Math.max(t.startTime,n);He.current=!0,We.current=i,Xe.current=n,rr(i),Ji.current=!0,Qi(!0);const s=tt($t.getVideoElement());return rt.current=s,st(),Ye.current&&s&&(Ye.current.style.transition="none",Ye.current.style.opacity="1"),ot($t.getVideoElement()),$t.seek(i),Qe.current&&window.clearTimeout(Qe.current),void(Qe.current=window.setTimeout(()=>{He.current=!1,Ji.current=!1,Qi(!1),We.current=null,Xe.current=null,Qe.current=null,st(),Ze.current=!1,Ye.current&&(Ye.current.style.opacity="0"),ct($t.getVideoElement())},3e3))}}dt.current=null,pt(null);const i=Ir.current.find(e=>Dr.current.has(e.startTime)&&r>=e.startTime-.5&&r<e.endTime+2);if(i&&r<i.endTime&&lt.current)return void lt.current(i.endTime);const s=i?Math.max(r,i.endTime+.5):r;He.current=!0,We.current=s,Xe.current=n,rr(s),st(),Ze.current=!1,Ye.current&&(Ye.current.style.opacity="0"),ct($t.getVideoElement()),$t.seek(s),Qe.current&&window.clearTimeout(Qe.current),Qe.current=window.setTimeout(()=>{He.current=!1,We.current=null,Xe.current=null,Qe.current=null,st(),Ze.current=!1,Ye.current&&(Ye.current.style.opacity="0")},3e3)};ht.current=ys;const gs=()=>{if(!$t)return;if(Pn)return void $t.casting.remoteSetMute(!Dn?.isMuted);const e=!or;$t.setMute(e),cr(e)},vs=e=>{$t&&($t.setPlaybackRate(e),di(e),li("none"),bi("Playback speed: "+(1===e?"Normal":`${e}x`)))},xs=e=>{if(!$t)return;$t.setQuality(e);const t=Un.find(t=>t.id===e);t&&(Wn(t),bi(`Quality: ${t.label}`)),li("none")},Ts=e=>{if($t)if($t.subtitles.setActiveTrack(e),Gn(e),li("none"),"off"===e)bi("Captions off");else{const t=Yn.find(t=>t.id===e);bi(`Captions: ${t?J(t):"on"}`)}},ws=e=>{if($t){if(bt.current&&(clearTimeout(bt.current),bt.current=null),gi(null),Pn||(Tt.current&&(Tt.current.style.opacity="1"),fr(!0)),null===yt.current){ft.current=Pn?Dn?.currentTime??$t.getCurrentTime():$t.getCurrentTime();const e=Yn.find(e=>e.id===Jn),t=ei.find(e=>e.id===ri);kt.current={playbackRate:ui,volume:sr,muted:or,subtitleId:Jn,subtitleLang:e?.lang??null,audioLang:t&&0!==ri?t.lang:null,audioLabel:t&&0!==ri?t.label:null,qualityHeight:-1!==Hn.id?Hn.height:null}}yt.current={targetIdx:e},li("none"),bi(`Source: ${Te?.[e]?.label??""}`),je?.(e)}},js=(e,t)=>{ys(e,{eventType:"key_moments",momentTitle:t?.title??"",momentTime:e}),li("none")},Ss=(0,o.useCallback)(()=>{if(!Nt.current)return;const e=_t.current?.getVideoElement?.();e&&Le.current&&e.ownerDocument!==document&&(e.classList.remove("gb-pip-video"),e.style.objectFit="",Le.current.insertBefore(e,Le.current.firstChild)),Nt.current=null,Cr(null),Er(!1)},[]);(0,o.useEffect)(()=>()=>{const e=Nt.current;Nt.current=null,e?.close()},[]);const Es=async()=>{if(!$t)return;const e=window.documentPictureInPicture;if(e)if(Nt.current)Nt.current.close();else try{const t=$t.getVideoElement(),r=t.videoWidth&&t.videoHeight?t.videoWidth/t.videoHeight:16/9,n=360,i=await e.requestWindow({width:n,height:Math.round(n/r)}),s=i.document.createElement("style");s.textContent="\n html, body { margin: 0; padding: 0; height: 100%; background: #000; overflow: hidden; }\n * { box-sizing: border-box; }\n .gb-pip-video { width: 100%; height: 100%; object-fit: contain; display: block; background: #000; }\n .gb-pip-overlay {\n position: absolute; inset: 0; z-index: 2;\n display: flex; flex-direction: column; justify-content: space-between;\n font-family: system-ui, -apple-system, sans-serif; color: #fff;\n opacity: 0; transition: opacity 0.15s ease;\n background: linear-gradient(to bottom, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0) 25%, rgba(0,0,0,0) 65%, rgba(0,0,0,0.55) 100%);\n }\n .gb-pip-overlay:hover, .gb-pip-overlay.gb-pip-paused { opacity: 1; }\n .gb-pip-center {\n flex: 1; display: flex; align-items: center; justify-content: center; gap: 28px;\n }\n .gb-pip-btn {\n background: rgba(0,0,0,0.35); border: none; color: #fff; border-radius: 50%;\n width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;\n cursor: pointer; padding: 0;\n }\n .gb-pip-btn:hover { background: rgba(0,0,0,0.55); }\n .gb-pip-btn.gb-pip-play { width: 56px; height: 56px; }\n .gb-pip-bottom { padding: 6px 10px 8px; display: flex; flex-direction: column; gap: 4px; }\n .gb-pip-progress { position: relative; height: 4px; border-radius: 2px; background: rgba(255,255,255,0.3); cursor: pointer; }\n .gb-pip-progress-fill { position: absolute; inset: 0; width: 0%; border-radius: 2px; background: #fff; }\n .gb-pip-time { font-size: 11px; font-variant-numeric: tabular-nums; opacity: 0.9; }\n",i.document.head.appendChild(s),t.classList.add("gb-pip-video"),i.document.body.appendChild(t),i.addEventListener("pagehide",()=>Ss(),{once:!0}),Nt.current=i,Cr(i),Er(!0)}catch(t){}else $t.togglePictureInPicture()},Ns=e=>{if(ps)return;const t=e.currentTarget.getBoundingClientRect();ys(Bn(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*Vn))},Cs=()=>{if(!Le.current)return;const e=Le.current,t=document,r=e,n=()=>{xr(!0),gr(!0),document.body.style.overflow="hidden",document.body.style.touchAction="none",$t?.analytics.track("fullscreen_enter",$t.getVideoElement())};if(document.fullscreenElement||t.webkitFullscreenElement||vr)wr(!1),document.fullscreenElement?document.exitFullscreen():t.webkitFullscreenElement?t.webkitExitFullscreen?.():(xr(!1),gr(!1),document.body.style.overflow="",document.body.style.touchAction="",$t?.analytics.track("fullscreen_exit",$t.getVideoElement()));else{wr(At.current);const t=e.requestFullscreen?.bind(e)??r.webkitRequestFullscreen?.bind(r);t?t().catch(n):n()}};(0,o.useEffect)(()=>{Ge.current=Cs});const Ms=()=>{if(!Hi)return;const e=Ar.find(e=>tr>=e.startTime&&tr<e.endTime),t=tn.find(e=>tr>=e.startTimeSeconds&&tr<e.endTimeSeconds);if(t){const r=t.podIndex>=t.podTotal-1;return void lt.current?.(r?e?.endTime??t.endTimeSeconds:t.endTimeSeconds,!r)}e&&lt.current?.(e.endTime)},Rs=Pn?Dn?.currentTime??tr:tr,As=qn(Rs),Ps=ne(Rs,Ar,re),Is=!Kt&&!Ot&&ln&&$r&&!Hi&&!Xi&&!cs&&!Ps&&(Ce??0)>(Ne??0)&&As>=(Ne??0)&&As<=(Ce??0),[Ds,$s]=(0,o.useState)(!1),[Ls,_s]=(0,o.useState)(0),zs=(0,o.useRef)(!1),Fs=(0,o.useRef)(null),Vs=(0,o.useRef)(!1),qs=(0,o.useCallback)(()=>{if(!Vs.current){if(Vs.current=!0,null!=Fs.current&&(window.clearTimeout(Fs.current),Fs.current=null),$s(!1),$t)try{$t.pause()}catch(e){}dr.current=!0,null!==mr.current&&(window.clearTimeout(mr.current),mr.current=null),ur(!0),Pe?.()}},[Pe,$t]);(0,o.useEffect)(()=>{Vs.current=!1},[e,we]),(0,o.useEffect)(()=>{if(Kt||Ot||Hi||Xi||!Me||!Re||Re<=0)return $s(!1),_s(0),zs.current=!1,void(null!=Fs.current&&window.clearTimeout(Fs.current));Fn>0&&As>=Re&&!zs.current&&($s(!0),_s(0),zs.current=!0,Fs.current=window.setTimeout(()=>{qs()},1e3*Ie)),As<Re&&zs.current&&($s(!1),_s(0),zs.current=!1,null!=Fs.current&&window.clearTimeout(Fs.current))},[As,Fn,Re,Me,qs,Ie,Kt,Ot,Hi,Xi]),(0,o.useEffect)(()=>{if(!Ds)return;_s(0);const e=Math.max(100,1e3*Ie),t=Date.now();let r;const n=()=>{const i=Date.now()-t,s=Math.min(1,i/e);_s(s),s<1&&(r=window.setTimeout(n,100))};return n(),()=>{null!=r&&window.clearTimeout(r)}},[Ds,Ie]),(0,o.useEffect)(()=>()=>{null!=Fs.current&&window.clearTimeout(Fs.current)},[]);const Bs=()=>{$t&&(Pn?$t.casting.stopCasting():$t.casting.requestSession(e,wi($t),pe))},Os=()=>{if(!$t)return;const e=$t.getVideoElement();Ei?$t.casting.stopAirPlay(e):("function"==typeof e.webkitShowPlaybackTargetPicker||$t.casting.isAirPlayAvailable())&&$t.casting.requestAirPlaySession(e)},Us=e=>{if(!Fe.current||0===Vn||!$t||ps)return;const t=Fe.current.getBoundingClientRect();Ve.current=t.width,Ii(Math.max(96,Math.min(e.clientX-t.left,t.width-96)));const r=Bn(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*Vn);Ai(e.clientX-t.left),$i(r),Ue.current&&window.clearTimeout(Ue.current),Ue.current=window.setTimeout(()=>{Be.current&&(Be.current.currentTime=r)},100),Fi($t.keyMoments.getCurrentMoment(r).keyMoment)},Ks=e=>{if(!$t||ps||0===Vn)return;e.preventDefault(),Ke.current=!0,qi((e=>{if(!Fe.current||0===Vn)return 0;const t=Fe.current.getBoundingClientRect();return Bn(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*Vn)})(e.touches[0]));const t=e=>{if(!Ke.current||!Fe.current)return;const t=e.touches[0],r=Fe.current.getBoundingClientRect(),n=Bn(Math.max(0,Math.min(1,(t.clientX-r.left)/r.width))*Vn);qi(n),$i(n),is()},r=e=>{if(Ke.current=!1,Fe.current&&e.changedTouches[0]){const t=e.changedTouches[0],r=Fe.current.getBoundingClientRect();ys(Bn(Math.max(0,Math.min(1,(t.clientX-r.left)/r.width))*Vn))}qi(null),document.removeEventListener("touchmove",t),document.removeEventListener("touchend",r)};document.addEventListener("touchmove",t,{passive:!1}),document.addEventListener("touchend",r)},Hs=()=>{Ai(null),_i(null),Fi(null),Ue.current&&window.clearTimeout(Ue.current)},Ws=e=>{if(isNaN(e)||e<0)return"00:00";const t=Math.floor(e),r=Math.floor(t/3600),n=Math.floor(t%3600/60),i=t%60,s=e=>String(e).padStart(2,"0");return r>0?`${s(r)}:${s(n)}:${s(i)}`:`${s(n)}:${s(i)}`};(0,o.useEffect)(()=>{vi.current&&bi(Zt?"Playing":"Paused")},[Zt]),(0,o.useEffect)(()=>{vi.current&&bi(or?"Muted":"Unmuted")},[or]),(0,o.useEffect)(()=>{vi.current=!0},[]),(0,o.useEffect)(()=>{const e=e=>{"Escape"===e.key&&"none"!==ts.current&&(e.preventDefault(),li("none"))};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[]);const Xs=Pn?!(Dn?.isPaused??1):Zt||kn,Qs=Pn?Dn?.currentTime??0:tr,Js=null!==Vi?Vi:mt??tr,Gs=Pn?Vn>0?Vn:qn(Dn?.duration??0):Vn,Ys=qn(Pn?Qs:Js),Zs=Pn?Dn?.volumeLevel??1:sr,ea=Pn?Dn?.isMuted??!1:or,ta=(0,o.useCallback)(e=>{if(ps)return;if(e.target.closest(".sdk-mobile-ctrl"))return;const t=Date.now(),r=Le.current?.getBoundingClientRect(),n=e.clientX-(r?.left??0),i=Pt.current;if(i&&t-i.time<300){Pt.current=null;const e=n<(r?.width??0)/2,t=e?-10:10;ys(Bn(Math.max(0,Math.min(Vn,qn(Qs)+t))),{eventType:e?"fast_backward":"fast_forward",skipSeconds:10}),Dt(e?"left":"right"),window.setTimeout(()=>Dt(null),700),is()}else Pt.current={time:t,x:n},Ui?(Ki(!1),Gi.current&&window.clearTimeout(Gi.current)):is()},[ps,Vn,qn,Qs,Bn,ys,Ui]),ra=()=>ea||0===Zs?(0,d.jsx)(V,{size:18}):Zs<.3?(0,d.jsx)(q,{size:18}):Zs<.7?(0,d.jsx)(z,{size:18}):(0,d.jsx)(F,{size:18}),na=e=>t=>{"Enter"===t.key||" "===t.key?(t.preventDefault(),e()):"Escape"===t.key&&(t.preventDefault(),li("none"))},ia=e=>t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),e())},sa=e=>{if(!ps)if("ArrowLeft"===e.key||"ArrowRight"===e.key){e.preventDefault();const t="ArrowLeft"===e.key?-5:5;ys(Bn(Math.max(0,Math.min(Vn,qn(Qs)+t))))}else"Home"===e.key?(e.preventDefault(),ys(Bn(0))):"End"===e.key&&(e.preventDefault(),ys(Bn(Vn)))},aa=e=>{li(ci===e?"none":e)},oa=(0,o.useCallback)(e=>{if(!e)return;e.style.left="";const t=Le.current;if(!t)return;const r=e.getBoundingClientRect(),n=t.getBoundingClientRect(),i=r.right-(n.right-8),s=n.left+8-r.left;i>0?e.style.left=`calc(50% - ${Math.ceil(i)}px)`:s>0&&(e.style.left=`calc(50% + ${Math.ceil(s)}px)`)},[]);return(0,d.jsxs)("div",{ref:Le,role:"region","aria-label":pe||Bi?`${pe||Bi} video player`:"Video player",className:`sdk-player-container ${Ui?"controls-active":""} ${vr?"sdk-fs-simulated":""}`,onMouseMove:()=>{is()},onTouchStart:jr?void 0:is,onMouseLeave:()=>{},style:{border:vr?"none":"1px solid rgba(255, 255, 255, 0.08)","--sdk-theme-color":l,"--sdk-theme-color-rgb":W(l)},children:[(0,d.jsx)("canvas",{ref:qe,width:160,height:90,style:{display:"none",position:"absolute",pointerEvents:"none"},"aria-hidden":"true"}),(0,d.jsx)("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:"sdk-sr-only",children:ki}),(0,d.jsx)("div",{ref:Ye,style:{opacity:0,position:"absolute",inset:0,background:"#000",zIndex:100,pointerEvents:"none",willChange:"opacity"},"aria-hidden":"true",children:(0,d.jsx)("canvas",{ref:et,className:"sdk-ad-cover-frame",style:{width:"100%",height:"100%",objectFit:"contain",display:"block"},"aria-hidden":"true"})}),Nr&&(0,d.jsxs)("div",{className:"sdk-pip-placeholder","aria-hidden":"true",children:[(0,d.jsx)(I,{size:32,"aria-hidden":"true"}),(0,d.jsx)("span",{children:"Playing in Picture-in-Picture"})]}),(0,d.jsx)("div",{ref:Tt,style:{opacity:Se&&Se>0?1:0,position:"absolute",inset:0,background:"#000",zIndex:100,pointerEvents:"none",willChange:"opacity"},"aria-hidden":"true"}),(0,d.jsx)("div",{className:"sdk-spinner-overlay "+(lr?"active":""),"aria-hidden":"true",children:(0,d.jsx)("div",{className:"sdk-spinner"})}),Kt&&(0,d.jsx)("div",{className:"sdk-error-overlay",style:{position:"absolute",inset:0,zIndex:50,background:"rgba(9,9,14,0.96)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:20,padding:"0 24px"},children:(0,d.jsx)(B,{offline:Wt,onRetry:br})}),yi&&(0,d.jsx)("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, calc(-50% + 70px))",background:"rgba(0,0,0,0.82)",color:"#fff",fontSize:13,fontWeight:500,padding:"8px 16px",borderRadius:8,zIndex:102,pointerEvents:"none",maxWidth:"85%",textAlign:"center",backdropFilter:"blur(8px)",border:"1px solid rgba(255,255,255,0.12)"},children:yi}),Ut.enableSubtitles&&!Hi&&Xn&&"off"!==Jn&&(0,d.jsx)("div",{className:"sdk-subtitles-overlay",children:(0,d.jsx)("span",{className:"sdk-subtitles-text",style:{fontSize:"small"===ue.size?"14px":"large"===ue.size?"24px":"18px",color:ue.color??"#ffffff",background:"none"===ue.background?"transparent":"solid"===ue.background?"rgba(0, 0, 0, 0.92)":"rgba(15, 23, 42, 0.78)",border:"none"===ue.background?"none":"1px solid rgba(255,255,255,0.08)",backdropFilter:"none"===ue.background?"none":"blur(8px)"},dangerouslySetInnerHTML:{__html:Xn}})}),Jr&&(0,d.jsxs)("div",{className:`sdk-overlay-ad sdk-overlay-ad--${Jr.position}`,role:"complementary","aria-label":"Advertisement",children:[(0,d.jsxs)("div",{className:"sdk-overlay-ad-topbar",children:[(0,d.jsx)("span",{className:"sdk-overlay-ad-label",children:"Ad"}),Jr.dismissible&&(0,d.jsx)("button",{className:"sdk-overlay-ad-close",onClick:()=>{Zr.current&&en.current.add(Zr.current.availId),Gr(null),Zr.current=null},"aria-label":"Close advertisement",children:"✕"})]}),(0,d.jsx)("img",{src:Jr.imageUrl,width:Jr.imageWidth,height:Jr.imageHeight,alt:Jr.title||"Advertisement",className:"sdk-overlay-ad-img",onClick:()=>{return(e=Jr).clickTrackingUrl&&fetch(e.clickTrackingUrl,{mode:"no-cors"}).catch(()=>{}),void(e.clickThrough&&window.open(e.clickThrough,"_blank","noopener,noreferrer"));var e}})]}),Hi&&(()=>{const e=wn&&tr<wn.startTime?wn.startTime:tr,t=tn.find(t=>e>=t.startTimeSeconds&&e<t.endTimeSeconds),r=Ar.find(t=>e>=t.startTime&&e<t.endTime)??wn,n=t?Math.max(0,t.endTimeSeconds-e):r?Math.max(0,r.endTime-e):0,i=t?e-t.startTimeSeconds:r?e-r.startTime:0,s=!!t&&t.podTotal>1,a=t?t.skippable:ye,o=t?t.skipOffsetSeconds:ge,c=a&&i>=o,l=Math.ceil(o-i),u=i+n,m=u>0?Math.min(1,Math.max(0,i/u)):0,p=2.5,{w:h,h:f}=xn,k=Math.max(0,h-p),b=Math.max(0,f-p),y=Math.min(20.75,b/2),g=Math.max(0,k-2*y),v=Math.max(0,b-2*y),x=`M${1.25+y+g/2},1.25h${g/2}a${y},${y} 0 0 1 ${y},${y}v${v}a${y},${y} 0 0 1 ${-y},${y}h${-g}a${y},${y} 0 0 1 ${-y},${-y}v${-v}a${y},${y} 0 0 1 ${y},${-y}h${g/2}`,T=2*g+2*v+2*Math.PI*y;return(0,d.jsxs)(d.Fragment,{children:[(!xe||!!t)&&(0,d.jsxs)("div",{ref:vn,className:"sdk-ad-countdown",role:"timer","aria-label":s?`Advertisement ${t.podIndex+1} of ${t.podTotal} — ${Ws(n)} remaining`:`Advertisement — ${Ws(n)} remaining`,"aria-live":"off",children:[h>0&&f>0&&(0,d.jsxs)("svg",{className:"sdk-ad-countdown-border",width:h,height:f,viewBox:`0 0 ${h} ${f}`,"aria-hidden":"true",children:[(0,d.jsx)("path",{className:"sdk-ad-countdown-border-track",d:x,strokeWidth:p}),(0,d.jsx)("path",{className:"sdk-ad-countdown-border-fill",d:x,strokeWidth:p,strokeDasharray:T,strokeDashoffset:T*(1-m)})]}),(0,d.jsx)("span",{className:"sdk-ad-countdown-badge","aria-hidden":"true",children:"Ad"}),s&&(0,d.jsxs)("span",{className:"sdk-ad-countdown-count","aria-hidden":"true",children:[t.podIndex+1," of ",t.podTotal]}),(0,d.jsx)("span",{className:"sdk-ad-countdown-sep","aria-hidden":"true"}),(0,d.jsx)("span",{className:"sdk-ad-countdown-time","aria-hidden":"true",children:Ws(n)})]}),a&&(0,d.jsx)("button",{className:"sdk-skip-ad-btn "+(c?"sdk-skip-ad-btn--ready":""),onClick:c?Ms:void 0,disabled:!c,"aria-label":c?"Skip advertisement":`Skip advertisement available in ${l} seconds`,"aria-disabled":!c,children:c?"Skip Ad ›":`Skip in ${l}s`}),t?.cta&&(()=>{const e=t.cta,r=(0,d.jsxs)("button",{className:"sdk-ad-cta-btn",onClick:()=>(e=>{e.clickTrackingBeacons.forEach(e=>{fetch(e,{mode:"no-cors"}).catch(()=>{})}),window.open(e.url,"_blank","noopener,noreferrer")})(e),"aria-label":`${e.text} — opens advertiser site in a new tab`,children:[(0,d.jsx)("span",{className:"sdk-ad-cta-btn-text",children:e.text}),(0,d.jsx)(E,{size:15,"aria-hidden":"true"})]});return(0,d.jsx)("div",{className:"sdk-ad-cta",role:"complementary","aria-label":"Advertisement call to action",children:e.title?(0,d.jsxs)("div",{className:"sdk-ad-cta-card",children:[(0,d.jsxs)("div",{className:"sdk-ad-cta-info",children:[(0,d.jsx)("div",{className:"sdk-ad-cta-title",children:e.title}),e.description&&(0,d.jsx)("div",{className:"sdk-ad-cta-desc",children:e.description})]}),r]}):r})})()]})})(),Is&&(0,d.jsx)("button",{className:"sdk-skip-ad-btn sdk-skip-ad-btn--ready sdk-skip-intro-btn",onClick:()=>{null!=Ce&&ys(Bn(Ce),{eventType:"key_moments",momentTitle:"Skip Intro",momentTime:Ce})},"aria-label":"Skip intro",children:"Skip Intro ›"}),Ds&&!Hi&&!Xi&&(0,d.jsxs)("button",{type:"button",className:"sdk-next-episode-wrapper",onClick:e=>{e.stopPropagation(),qs()},"aria-label":`Play next episode now — ${Ae}`,children:[De&&(0,d.jsx)("img",{className:"sdk-next-episode-thumb",src:De,alt:"","aria-hidden":"true"}),(0,d.jsxs)("span",{className:"sdk-next-episode-chip",children:[(0,d.jsx)("span",{className:"sdk-next-episode-progress-fill","aria-hidden":"true",style:{transform:`scaleX(${Ls})`}}),(0,d.jsxs)("span",{className:"sdk-next-episode-content",children:[(0,d.jsx)("svg",{className:"sdk-next-episode-icon",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:(0,d.jsx)("path",{d:"M7 6v12l10-6-10-6z",fill:"currentColor"})}),(0,d.jsx)("span",{className:"sdk-next-episode-label",children:Ae})]})]})]}),Ot&&(0,d.jsx)("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",background:"rgba(0,0,0,0.72)",color:"#fff",zIndex:60},children:(0,d.jsxs)("div",{style:{maxWidth:480,textAlign:"center",padding:24},children:[(0,d.jsx)("h3",{style:{margin:"0 0 8px"},children:"Playback restricted"}),(0,d.jsx)("p",{style:{margin:0},children:"Your account is missing a required license key. Please contact your administrator."})]})}),(Pn||Ei)&&(0,d.jsx)("div",{className:"sdk-cast-bg"}),jr&&(0,d.jsxs)("div",{className:"sdk-mobile-overlay "+(Ui?"active":""),onClick:ta,children:[It&&(0,d.jsx)("div",{className:`sdk-mobile-doubletap ${It}`,children:(0,d.jsxs)("div",{className:"sdk-mobile-doubletap-icon",children:["left"===It?(0,d.jsx)($,{size:26}):(0,d.jsx)(L,{size:26}),(0,d.jsx)("span",{className:"sdk-mobile-doubletap-label",children:"10s"})]})}),y&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"sdk-mobile-header sdk-mobile-ctrl",children:[(0,d.jsxs)("div",{className:"sdk-mobile-header-left",children:[(yr||vr)&&(0,d.jsx)("button",{className:"sdk-mobile-back-btn",onClick:Cs,"aria-label":"Exit fullscreen",children:(0,d.jsx)(j,{size:22,"aria-hidden":"true"})}),(pe||Bi)&&(0,d.jsx)("div",{className:"sdk-mobile-title",children:pe||Bi})]}),(0,d.jsxs)("div",{className:"sdk-mobile-header-actions",children:[Ut.enablePiP&&(0,d.jsx)("button",{className:"sdk-mobile-hdr-btn",onClick:()=>{Hi||Es()},style:{color:Sr?l:""},"aria-label":Sr?"Exit picture-in-picture":"Enter picture-in-picture","aria-pressed":Sr,children:(0,d.jsx)(I,{size:20,"aria-hidden":"true"})}),Ut.enableChromecast&&!Hi&&(0,d.jsx)("button",{className:"sdk-mobile-hdr-btn",onClick:Bs,"data-tooltip":Pn?`Casting to ${Pn} — tap to disconnect`:"Cast to device","aria-label":Pn?`Stop casting to ${Pn}`:"Cast to device","aria-pressed":!!Pn,style:{color:Pn?"#3b82f6":""},children:(0,d.jsx)(T,{size:20,fill:Pn?"currentColor":"none","aria-hidden":"true"})}),Ut.allowAirplay&&ji&&(0,d.jsx)("button",{className:"sdk-mobile-hdr-btn",onClick:Os,"aria-label":Ei?`Stop AirPlay to ${Ci||"device"}`:"AirPlay to device","aria-pressed":Ei,style:{color:Ei?l:""},children:(0,d.jsx)(v,{size:20,"aria-hidden":"true"})})]})]}),(0,d.jsxs)("div",{className:"sdk-mobile-center-controls sdk-mobile-ctrl",children:[!ps&&(0,d.jsxs)("button",{className:"sdk-mobile-seek-btn",onClick:()=>ys(Bn(Math.max(0,qn(Qs)-10)),{eventType:"fast_backward",skipSeconds:10}),"aria-label":"Rewind 10 seconds",children:[(0,d.jsx)($,{size:22,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"sdk-mobile-seek-label","aria-hidden":"true",children:"10"})]}),(0,d.jsx)("button",{className:"sdk-mobile-play-btn",onClick:ks,"aria-label":Mr?"Replay":Xs?"Pause":"Play",children:Mr?(0,d.jsx)($,{size:38,"aria-hidden":"true"}):Xs?(0,d.jsx)(P,{size:38,fill:"currentColor","aria-hidden":"true"}):(0,d.jsx)(D,{size:38,fill:"currentColor",style:{marginLeft:"3px"},"aria-hidden":"true"})}),!ps&&(0,d.jsxs)("button",{className:"sdk-mobile-seek-btn",onClick:()=>ys(Bn(Math.min(Vn,qn(Qs)+10)),{eventType:"fast_forward",skipSeconds:10}),"aria-label":"Skip forward 10 seconds",children:[(0,d.jsx)(L,{size:22,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"sdk-mobile-seek-label","aria-hidden":"true",children:"10"})]})]}),(0,d.jsxs)("div",{className:"sdk-mobile-bottom-bar sdk-mobile-ctrl",children:[Ut.enableKeyMoments&&mi&&ai.length>0&&(0,d.jsx)("div",{className:"sdk-mobile-chapters-scroll",children:ai.map((e,t)=>{const r=ii.index===t;return(0,d.jsxs)("div",{role:"button",tabIndex:0,className:"sdk-mobile-chapter-card"+(r?" active":""),style:{borderColor:r?l:void 0},"aria-label":`${e.title}, ${Ws(e.startTime)}${r?", current chapter":""}`,"aria-current":r?"true":void 0,onClick:()=>{js(e.startTime,e)},onKeyDown:ia(()=>js(e.startTime,e)),children:[(0,d.jsxs)("div",{className:"sdk-mobile-chapter-thumb",children:[hi[t]||e.thumbnail?(0,d.jsx)("img",{src:hi[t]||e.thumbnail,alt:"","aria-hidden":"true",style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}}):(0,d.jsx)(M,{size:16,"aria-hidden":"true",style:{color:r?l:"rgba(255,255,255,0.3)"}}),(0,d.jsx)("span",{className:"sdk-mobile-chapter-time-badge","aria-hidden":"true",children:Ws(e.startTime)})]}),(0,d.jsx)("div",{className:"sdk-mobile-chapter-title",style:{color:r?l:void 0},children:e.title})]},t)})}),(0,d.jsx)("div",{ref:Fe,role:ps?void 0:"slider","aria-label":ps?void 0:"Seek","aria-valuemin":ps?void 0:0,"aria-valuemax":ps?void 0:Math.round(Gs),"aria-valuenow":ps?void 0:Math.round(Ys),"aria-valuetext":ps?void 0:`${Ws(Ys)} of ${Ws(Gs)}`,tabIndex:ps?void 0:0,className:"sdk-seekbar-container sdk-mobile-seekbar"+(Hi||cs?" sdk-ad-mode":""),onMouseDown:ps?void 0:bs,onMouseMove:ps?void 0:Us,onMouseLeave:ps?void 0:Hs,onTouchStart:ps?void 0:Ks,onKeyDown:ps?void 0:sa,style:{pointerEvents:ps?"none":void 0,touchAction:"none"},children:Hi?(0,d.jsx)("div",{className:"sdk-ad-progress-fill",style:{width:(()=>{const e=$t?$t.getCurrentTime():tr,t=An(e);return t?`${Math.min(100,Math.max(0,(e-t.start)/(t.end-t.start)*100))}%`:"0%"})()}}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"sdk-seekbar-buffered",style:{width:(nr?($t&&$t.getBufferedRanges()[0]?.end||0)/nr*100:0)+"%"}}),Vn>0&&Ar.filter(e=>!Fr.has(e.startTime)&&On(e)).map((e,t)=>(0,d.jsx)("div",{className:"sdk-seekbar-adbreak",style:{left:qn(e.startTime)/Vn*100+"%",width:"3px"}},t)),(0,d.jsx)("div",{className:"sdk-seekbar-progress",style:{width:(Gs>0?Ys/Gs*100:0)+"%",background:"#ffffff",boxShadow:"none"},children:(0,d.jsx)("div",{className:"sdk-seekbar-handle",style:{opacity:1,transform:"scale(1)"}})}),Ut.enableKeyMoments&&ai.map((e,t)=>0===Vn?null:(0,d.jsx)("div",{className:"sdk-seekbar-chapter-marker sdk-desktop-chapter-dot",style:{left:qn(e.startTime)/Vn*100+"%"}},t))]})}),(0,d.jsxs)("div",{className:"sdk-mobile-controls-row",children:[!Hi&&(0,d.jsx)("span",{className:"sdk-time-display",children:`${Ws(Ys)} / ${Ws(Gs)}`}),(0,d.jsxs)("div",{className:"sdk-mobile-bottom-icons",children:[Me&&Pe&&!Hi&&!Xi&&(0,d.jsx)("button",{className:"sdk-mobile-icon-btn sdk-next-episode-btn",onClick:()=>{qs()},"aria-label":Ae,children:(0,d.jsx)(_,{size:18,fill:"currentColor","aria-hidden":"true"})}),Ut.enableKeyMoments&&ai.length>0&&!Hi&&(0,d.jsx)("button",{className:"sdk-mobile-icon-btn"+(mi?" active":""),onClick:()=>{pi(!mi)},"aria-label":mi?"Hide chapters":"Show chapters","aria-pressed":mi,children:(0,d.jsx)(M,{size:18,"aria-hidden":"true"})}),Ut.enableSubtitles&&!Hi&&Yn.some(e=>!e.isNative)&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-mobile-icon-btn"+("off"!==Jn?" active":""),onClick:()=>{aa("subtitles")},"aria-label":"Captions","aria-haspopup":"listbox","aria-expanded":"subtitles"===ci,children:(0,d.jsx)(x,{size:18,"aria-hidden":"true"})}),"subtitles"===ci&&(0,d.jsxs)("div",{ref:oa,className:"sdk-dropup-menu",role:"listbox","aria-label":"Captions",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Subtitles"}),(0,d.jsxs)("div",{role:"option","aria-selected":"off"===Jn,tabIndex:0,className:"sdk-dropup-item "+("off"===Jn?"active":""),onClick:()=>Ts("off"),onKeyDown:na(()=>Ts("off")),children:[(0,d.jsx)("span",{children:"Off"}),"off"===Jn&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]}),Yn.map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":Jn===e.id,tabIndex:0,className:"sdk-dropup-item "+(Jn===e.id?"active":""),onClick:()=>Ts(e.id),onKeyDown:na(()=>Ts(e.id)),children:[(0,d.jsx)("span",{children:J(e)}),Jn===e.id&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e.id))]})]}),Ut.allowMultipleAudio&&ei.length>1&&!Hi&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-mobile-icon-btn"+("audio"===ci?" active":""),onClick:()=>{aa("audio")},"aria-label":"Audio track","aria-haspopup":"listbox","aria-expanded":"audio"===ci,children:(0,d.jsx)(C,{size:18,"aria-hidden":"true"})}),"audio"===ci&&(0,d.jsxs)("div",{ref:oa,className:"sdk-dropup-menu",role:"listbox","aria-label":"Audio track",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Audio Track"}),ei.map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":ri===e.id,tabIndex:0,className:"sdk-dropup-item "+(ri===e.id?"active":""),onClick:()=>{$t?.setAudioTrack(e.id),ni(e.id),li("none"),bi(`Audio: ${J(e)}`)},onKeyDown:na(()=>{$t?.setAudioTrack(e.id),ni(e.id),li("none"),bi(`Audio: ${J(e)}`)}),children:[(0,d.jsx)("span",{children:J(e)}),ri===e.id&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e.id))]})]}),Ut.enablePlaybackSpeed&&!Hi&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-mobile-icon-btn"+("speed"===ci?" active":""),onClick:()=>{aa("speed")},"aria-label":"Playback speed","aria-haspopup":"listbox","aria-expanded":"speed"===ci,children:(0,d.jsx)(N,{size:18,"aria-hidden":"true"})}),"speed"===ci&&(0,d.jsxs)("div",{ref:oa,className:"sdk-dropup-menu",role:"listbox","aria-label":"Playback speed",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Speed"}),[.5,.75,1,1.25,1.5,2].map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":ui===e,tabIndex:0,className:"sdk-dropup-item "+(ui===e?"active":""),onClick:()=>vs(e),onKeyDown:na(()=>vs(e)),children:[(0,d.jsx)("span",{children:1===e?"Normal":`${e}x`}),ui===e&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e))]})]}),Ut.enableQuality&&!Hi&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-mobile-icon-btn"+(-1!==Hn.id?" active":""),onClick:()=>{aa("quality")},"aria-label":"Video quality","aria-haspopup":"listbox","aria-expanded":"quality"===ci,children:(0,d.jsx)(K,{size:18,"aria-hidden":"true"})}),"quality"===ci&&(0,d.jsxs)("div",{ref:oa,className:"sdk-dropup-menu large",role:"listbox","aria-label":"Video quality",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Quality"}),Un.map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":Hn.id===e.id,tabIndex:0,className:"sdk-dropup-item "+(Hn.id===e.id?"active":""),onClick:()=>xs(e.id),onKeyDown:na(()=>xs(e.id)),children:[(0,d.jsx)("span",{children:e.label}),Hn.id===e.id&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e.id))]})]}),Te&&Te.length>1&&!Hi&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-mobile-icon-btn"+("sources"===ci?" active":""),onClick:()=>{aa("sources")},"aria-label":"Select source","aria-haspopup":"listbox","aria-expanded":"sources"===ci,children:(0,d.jsx)(H,{size:18,"aria-hidden":"true"})}),"sources"===ci&&(0,d.jsxs)("div",{ref:oa,className:"sdk-dropup-menu",role:"listbox","aria-label":"Select source",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Source"}),Te.map((e,t)=>(0,d.jsxs)("div",{role:"option","aria-selected":we===t,tabIndex:0,className:"sdk-dropup-item "+(we===t?"active":""),onClick:()=>ws(t),onKeyDown:na(()=>ws(t)),children:[(0,d.jsx)("span",{children:e.label}),we===t&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},t))]})]}),(0,d.jsx)("button",{className:"sdk-mobile-icon-btn",onClick:Cs,"aria-label":yr||vr?"Exit fullscreen":"Enter fullscreen","aria-pressed":yr||vr,children:yr?(0,d.jsx)(A,{size:18,"aria-hidden":"true"}):(0,d.jsx)(R,{size:18,"aria-hidden":"true"})})]})]})]})]})]}),!jr&&(0,d.jsxs)("div",{className:"sdk-controls-overlay",onClick:e=>{Hi||e.target.closest(".sdk-desktop-header")||e.target.closest(".sdk-desktop-center-controls")||e.target.closest(".sdk-desktop-bottom")||ks()},children:[(0,d.jsxs)("div",{className:"sdk-desktop-header",children:[(0,d.jsxs)("div",{className:"sdk-desktop-header-left",children:[(yr||vr)&&(0,d.jsx)("button",{className:"sdk-desktop-back-btn",onClick:e=>{e.stopPropagation(),Cs()},"aria-label":"Exit fullscreen",children:(0,d.jsx)(j,{size:22,"aria-hidden":"true"})}),(pe||Bi)&&(0,d.jsx)("span",{className:"sdk-desktop-title",children:pe||Bi})]}),(0,d.jsxs)("div",{className:"sdk-desktop-header-right",children:[Ut.enableChromecast&&!Hi&&(0,d.jsx)("button",{className:"sdk-desktop-hdr-btn",onClick:e=>{e.stopPropagation(),Bs()},"data-tooltip":Pn?`Casting to ${Pn} — click to disconnect`:"Cast to device","aria-label":Pn?`Stop casting to ${Pn}`:"Cast to device","aria-pressed":!!Pn,style:{color:Pn?"#3b82f6":""},children:(0,d.jsx)(T,{size:20,fill:Pn?"currentColor":"none","aria-hidden":"true"})}),Pn&&(0,d.jsxs)("span",{className:"sdk-cast-indicator","aria-hidden":"true",children:[(0,d.jsx)(T,{size:10,fill:"currentColor","aria-hidden":"true"}),Pn]}),Ut.allowAirplay&&ji&&(0,d.jsx)("button",{className:"sdk-desktop-hdr-btn",onClick:e=>{e.stopPropagation(),Os()},"data-tooltip":Ei?`AirPlay to ${Ci||"device"} — click to disconnect`:"AirPlay to device","aria-label":Ei?`Stop AirPlay to ${Ci||"device"}`:"AirPlay to device","aria-pressed":Ei,style:{color:Ei?l:""},children:(0,d.jsx)(v,{size:20,"aria-hidden":"true"})})]})]}),y&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"sdk-desktop-center-controls",style:{pointerEvents:"none"},children:[!ps&&(0,d.jsx)("button",{className:"sdk-desktop-seek-btn",style:{pointerEvents:"auto"},onClick:e=>{e.stopPropagation(),ys(Bn(Math.max(0,qn(Qs)-10)),{eventType:"fast_backward",skipSeconds:10})},"aria-label":"Rewind 10 seconds",children:(0,d.jsxs)("div",{style:{position:"relative",display:"flex",alignItems:"center",justifyContent:"center"},children:[(0,d.jsx)($,{size:30,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"sdk-desktop-seek-label","aria-hidden":"true",children:"10"})]})}),(0,d.jsx)("button",{className:"sdk-desktop-play-btn",style:{pointerEvents:"auto"},onClick:e=>{e.stopPropagation(),ks()},"aria-label":Mr?"Replay":Xs?"Pause":"Play",children:Mr?(0,d.jsx)($,{size:38,"aria-hidden":"true"}):Xs?(0,d.jsx)(P,{size:38,fill:"currentColor","aria-hidden":"true"}):(0,d.jsx)(D,{size:38,fill:"currentColor",style:{marginLeft:"4px"},"aria-hidden":"true"})}),!ps&&(0,d.jsx)("button",{className:"sdk-desktop-seek-btn",style:{pointerEvents:"auto"},onClick:e=>{e.stopPropagation(),ys(Bn(Math.min(Vn,qn(Qs)+10)),{eventType:"fast_forward",skipSeconds:10})},"aria-label":"Skip forward 10 seconds",children:(0,d.jsxs)("div",{style:{position:"relative",display:"flex",alignItems:"center",justifyContent:"center"},children:[(0,d.jsx)(L,{size:30,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"sdk-desktop-seek-label","aria-hidden":"true",children:"10"})]})})]}),Ut.enableKeyMoments&&mi&&ai.length>0&&"panel"===he&&(0,d.jsxs)("div",{className:"sdk-chapters-panel",onClick:e=>e.stopPropagation(),children:[(0,d.jsx)("div",{className:"sdk-chapters-panel-header",children:(0,d.jsx)("span",{className:"sdk-chapters-panel-title",children:"Chapters"})}),(0,d.jsx)("div",{className:"sdk-chapters-panel-list",children:ai.map((e,t)=>{const r=ii.index===t;return(0,d.jsxs)("div",{role:"button",tabIndex:0,className:"sdk-chapters-panel-item"+(r?" active":""),"aria-label":`${e.title}, ${Ws(e.startTime)}${r?", current chapter":""}`,"aria-current":r?"true":void 0,onClick:()=>js(e.startTime,e),onKeyDown:ia(()=>js(e.startTime,e)),children:[(0,d.jsx)("div",{className:"sdk-chapters-panel-thumb",children:hi[t]||e.thumbnail?(0,d.jsx)("img",{src:hi[t]||e.thumbnail,alt:"","aria-hidden":"true",style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}}):(0,d.jsx)(M,{size:18,"aria-hidden":"true",style:{color:"rgba(255,255,255,0.3)"}})}),(0,d.jsxs)("div",{className:"sdk-chapters-panel-info",children:[(0,d.jsx)("div",{className:"sdk-chapters-panel-item-title",children:e.title}),e.description&&(0,d.jsx)("div",{className:"sdk-chapters-panel-item-desc",children:e.description}),(0,d.jsx)("div",{className:"sdk-chapters-panel-item-time","aria-hidden":"true",children:Ws(e.startTime)})]})]},t)})})]}),(0,d.jsxs)("div",{className:"sdk-desktop-bottom",children:[Ut.enableKeyMoments&&mi&&ai.length>0&&"strip"===he&&(0,d.jsx)("div",{className:"sdk-desktop-chapters-strip",children:ai.map((e,t)=>{const r=ii.index===t;return(0,d.jsxs)("div",{role:"button",tabIndex:0,className:"sdk-desktop-chapter-card"+(r?" active":""),"aria-label":`${e.title}, ${Ws(e.startTime)}${r?", current chapter":""}`,"aria-current":r?"true":void 0,onClick:t=>{t.stopPropagation(),js(e.startTime,e)},onKeyDown:ia(()=>js(e.startTime,e)),children:[(0,d.jsx)("div",{className:"sdk-desktop-chapter-thumb",children:hi[t]||e.thumbnail?(0,d.jsx)("img",{src:hi[t]||e.thumbnail,alt:"","aria-hidden":"true",style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}}):(0,d.jsx)(M,{size:18,"aria-hidden":"true",style:{color:"rgba(255,255,255,0.35)"}})}),(0,d.jsx)("div",{className:"sdk-desktop-chapter-title",children:e.title}),(0,d.jsx)("div",{className:"sdk-desktop-chapter-time","aria-hidden":"true",children:Ws(e.startTime)})]},t)})}),(0,d.jsx)("div",{ref:Fe,role:ps?void 0:"slider","aria-label":ps?void 0:"Seek","aria-valuemin":ps?void 0:0,"aria-valuemax":ps?void 0:Math.round(Gs),"aria-valuenow":ps?void 0:Math.round(Ys),"aria-valuetext":ps?void 0:`${Ws(Ys)} of ${Ws(Gs)}`,tabIndex:ps?void 0:0,className:"sdk-seekbar-container sdk-desktop-seekbar"+(Hi||cs?" sdk-ad-mode":""),onMouseDown:ps?void 0:bs,onMouseMove:ps?void 0:Us,onMouseLeave:ps?void 0:Hs,onTouchStart:ps?void 0:Ks,onKeyDown:ps?void 0:sa,style:{pointerEvents:ps?"none":void 0},children:Hi?(0,d.jsx)("div",{className:"sdk-ad-progress-fill",style:{width:(()=>{const e=$t?$t.getCurrentTime():tr,t=An(e);return t?`${Math.min(100,Math.max(0,(e-t.start)/(t.end-t.start)*100))}%`:"0%"})()}}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"sdk-seekbar-buffered",style:{width:(nr?($t&&$t.getBufferedRanges()[0]?.end||0)/nr*100:0)+"%"}}),Vn>0&&Ar.filter(e=>!Fr.has(e.startTime)&&On(e)).map((e,t)=>(0,d.jsx)("div",{className:"sdk-seekbar-adbreak",style:{left:qn(e.startTime)/Vn*100+"%",width:"3px"}},t)),(0,d.jsx)("div",{className:"sdk-seekbar-progress",style:{width:(Gs>0?Ys/Gs*100:0)+"%",background:"#ffffff",boxShadow:"none"},children:(0,d.jsx)("div",{className:"sdk-seekbar-handle"})}),Ut.enableKeyMoments&&ai.map((e,t)=>0===Vn?null:(0,d.jsx)("div",{className:"sdk-seekbar-chapter-marker sdk-desktop-chapter-dot",style:{left:qn(e.startTime)/Vn*100+"%"}},t)),null!==Ri&&Li&&(0,d.jsxs)("div",{className:"sdk-thumbnail-tooltip",style:{left:`${Pi}px`},children:[!Ds&&(0,d.jsx)("div",{className:"sdk-thumbnail-preview",children:(0,d.jsx)("img",{src:Li,alt:"preview",style:{width:"100%",height:"100%",objectFit:"cover",borderRadius:"8px",display:"block"}})}),zi&&(0,d.jsx)("div",{className:"sdk-thumbnail-chapter-name",children:zi.title}),(0,d.jsx)("div",{className:"sdk-thumbnail-time-label",children:Ws(qn(Di))})]})]})}),(0,d.jsxs)("div",{className:"sdk-desktop-controls-row",children:[(0,d.jsxs)("div",{className:"sdk-desktop-left-controls",children:[!Hi&&(0,d.jsx)("div",{className:"sdk-time-display",children:`${Ws(Ys)} / ${Ws(Gs)}`}),"slider"===fe&&(0,d.jsxs)("div",{className:"sdk-volume-control",children:[(0,d.jsx)("button",{className:"sdk-desktop-icon-btn",onClick:e=>{e.stopPropagation(),gs()},"data-tooltip":ea?"Unmute":"Mute","aria-label":ea?"Unmute":"Mute","aria-pressed":ea,children:ra()}),(0,d.jsx)("input",{type:"range",className:"sdk-volume-slider",min:0,max:1,step:.02,value:ea?0:Zs,"aria-label":"Volume","aria-valuetext":ea?"Muted":`${Math.round(100*Zs)}%`,style:{"--vol-pct":Math.round(100*(ea?0:Zs))},onChange:e=>{const t=parseFloat(e.target.value);Pn?($t?.casting.remoteSetVolume(t),t>0&&$t?.casting.remoteSetMute(!1)):($t?.setVolume(t),t>0&&or&&$t?.setMute(!1))},onClick:e=>e.stopPropagation()})]})]}),(0,d.jsxs)("div",{className:"sdk-desktop-right-icons",children:[Me&&Pe&&!Hi&&!Xi&&(0,d.jsx)("button",{className:"sdk-desktop-icon-btn sdk-next-episode-btn",onClick:e=>{e.stopPropagation(),qs()},"data-tooltip":Ae,"aria-label":Ae,children:(0,d.jsx)(_,{size:20,fill:"currentColor","aria-hidden":"true"})}),Ut.enableKeyMoments&&ai.length>0&&!Hi&&(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+(mi?" active":""),onClick:e=>{e.stopPropagation(),pi(!mi)},"data-tooltip":"Key Moments","aria-label":mi?"Hide chapters":"Show chapters","aria-pressed":mi,children:(0,d.jsx)(M,{size:20,"aria-hidden":"true"})}),Ut.enableSubtitles&&!Hi&&Yn.some(e=>!e.isNative)&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+("off"!==Jn?" active":""),onClick:e=>{e.stopPropagation(),aa("subtitles")},"data-tooltip":"Captions","aria-label":"Captions","aria-haspopup":"listbox","aria-expanded":"subtitles"===ci,children:(0,d.jsx)(x,{size:20,"aria-hidden":"true"})}),"subtitles"===ci&&(0,d.jsxs)("div",{ref:oa,className:"sdk-dropup-menu",role:"listbox","aria-label":"Captions",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Subtitles"}),(0,d.jsxs)("div",{role:"option","aria-selected":"off"===Jn,tabIndex:0,className:"sdk-dropup-item "+("off"===Jn?"active":""),onClick:()=>Ts("off"),onKeyDown:na(()=>Ts("off")),children:[(0,d.jsx)("span",{children:"Off"}),"off"===Jn&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]}),Yn.map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":Jn===e.id,tabIndex:0,className:"sdk-dropup-item "+(Jn===e.id?"active":""),onClick:()=>Ts(e.id),onKeyDown:na(()=>Ts(e.id)),children:[(0,d.jsx)("span",{children:J(e)}),Jn===e.id&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e.id))]})]}),Ut.allowMultipleAudio&&ei.length>1&&!Hi&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+("audio"===ci?" active":""),onClick:e=>{e.stopPropagation(),aa("audio")},"data-tooltip":"Audio Track","aria-label":"Audio track","aria-haspopup":"listbox","aria-expanded":"audio"===ci,children:(0,d.jsx)(C,{size:20,"aria-hidden":"true"})}),"audio"===ci&&(0,d.jsxs)("div",{ref:oa,className:"sdk-dropup-menu",role:"listbox","aria-label":"Audio track",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Audio Track"}),ei.map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":ri===e.id,tabIndex:0,className:"sdk-dropup-item "+(ri===e.id?"active":""),onClick:()=>{$t?.setAudioTrack(e.id),ni(e.id),li("none"),bi(`Audio: ${J(e)}`)},onKeyDown:na(()=>{$t?.setAudioTrack(e.id),ni(e.id),li("none"),bi(`Audio: ${J(e)}`)}),children:[(0,d.jsx)("span",{children:J(e)}),ri===e.id&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e.id))]})]}),Ut.enablePlaybackSpeed&&!Hi&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+("speed"===ci?" active":""),onClick:e=>{e.stopPropagation(),aa("speed")},"data-tooltip":"Playback Speed","aria-label":"Playback speed","aria-haspopup":"listbox","aria-expanded":"speed"===ci,children:(0,d.jsx)(N,{size:20,"aria-hidden":"true"})}),"speed"===ci&&(0,d.jsxs)("div",{ref:oa,className:"sdk-dropup-menu",role:"listbox","aria-label":"Playback speed",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Speed"}),[.5,.75,1,1.25,1.5,2].map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":ui===e,tabIndex:0,className:"sdk-dropup-item "+(ui===e?"active":""),onClick:()=>vs(e),onKeyDown:na(()=>vs(e)),children:[(0,d.jsx)("span",{children:1===e?"Normal":`${e}x`}),ui===e&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e))]})]}),Ut.enableQuality&&!Hi&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+(-1!==Hn.id?" active":""),onClick:e=>{e.stopPropagation(),aa("quality")},"data-tooltip":"Quality","aria-label":"Video quality","aria-haspopup":"listbox","aria-expanded":"quality"===ci,children:(0,d.jsx)(K,{size:20,"aria-hidden":"true"})}),"quality"===ci&&(0,d.jsxs)("div",{ref:oa,className:"sdk-dropup-menu large",role:"listbox","aria-label":"Video quality",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Quality"}),Un.map(e=>(0,d.jsxs)("div",{role:"option","aria-selected":Hn.id===e.id,tabIndex:0,className:"sdk-dropup-item "+(Hn.id===e.id?"active":""),onClick:()=>xs(e.id),onKeyDown:na(()=>xs(e.id)),children:[(0,d.jsx)("span",{children:e.label}),Hn.id===e.id&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},e.id))]})]}),Te&&Te.length>1&&!Hi&&(0,d.jsxs)("div",{className:"sdk-menu-container",children:[(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+("sources"===ci?" active":""),onClick:e=>{e.stopPropagation(),aa("sources")},"data-tooltip":"Select Source","aria-label":"Select source","aria-haspopup":"listbox","aria-expanded":"sources"===ci,children:(0,d.jsx)(H,{size:20,"aria-hidden":"true"})}),"sources"===ci&&(0,d.jsxs)("div",{ref:oa,className:"sdk-dropup-menu",role:"listbox","aria-label":"Select source",children:[(0,d.jsx)("div",{className:"sdk-dropup-header","aria-hidden":"true",children:"Source"}),Te.map((e,t)=>(0,d.jsxs)("div",{role:"option","aria-selected":we===t,tabIndex:0,className:"sdk-dropup-item "+(we===t?"active":""),onClick:()=>ws(t),onKeyDown:na(()=>ws(t)),children:[(0,d.jsx)("span",{children:e.label}),we===t&&(0,d.jsx)(w,{size:12,"aria-hidden":"true"})]},t))]})]}),Ut.enablePiP&&!Hi&&(0,d.jsx)("button",{className:"sdk-desktop-icon-btn"+(Sr?" active":""),onClick:e=>{e.stopPropagation(),Es()},"data-tooltip":"Picture-in-Picture","aria-label":Sr?"Exit picture-in-picture":"Enter picture-in-picture","aria-pressed":Sr,children:(0,d.jsx)(I,{size:20,"aria-hidden":"true"})}),"button"===fe&&(0,d.jsx)("button",{className:"sdk-desktop-icon-btn",onClick:e=>{e.stopPropagation(),gs()},"data-tooltip":ea?"Unmute":"Mute","aria-label":ea?"Unmute":"Mute","aria-pressed":ea,children:ra()}),oe&&(0,d.jsx)("button",{className:"sdk-desktop-icon-btn",onClick:e=>{e.stopPropagation(),Cs()},"data-tooltip":yr||vr?"Exit fullscreen":"Fullscreen","aria-label":yr||vr?"Exit fullscreen":"Enter fullscreen","aria-pressed":yr||vr,children:yr?(0,d.jsx)(A,{size:20,"aria-hidden":"true"}):(0,d.jsx)(R,{size:20,"aria-hidden":"true"})})]})]})]})]})]}),Nr&&(()=>{const e=Ar.find(e=>Qs>=e.startTime&&Qs<e.endTime),t=e?e.endTime-e.startTime:Vn,r=e?Math.max(0,Qs-e.startTime):qn(Qs);return(0,u.createPortal)((0,d.jsxs)("div",{className:"gb-pip-overlay"+(Xs?"":" gb-pip-paused"),children:[(0,d.jsx)("div",{}),(0,d.jsxs)("div",{className:"gb-pip-center",children:[(0,d.jsx)("button",{className:"gb-pip-btn",onClick:()=>ys(Bn(Math.max(0,qn(Qs)-10)),{eventType:"fast_backward",skipSeconds:10}),"aria-label":"Rewind 10 seconds",disabled:ps,children:(0,d.jsx)($,{size:20,"aria-hidden":"true"})}),(0,d.jsx)("button",{className:"gb-pip-btn gb-pip-play",onClick:ks,"aria-label":Mr?"Replay":Xs?"Pause":"Play",children:Mr?(0,d.jsx)($,{size:24,"aria-hidden":"true"}):Xs?(0,d.jsx)(P,{size:24,"aria-hidden":"true"}):(0,d.jsx)(D,{size:24,"aria-hidden":"true",style:{marginLeft:2}})}),(0,d.jsx)("button",{className:"gb-pip-btn",onClick:()=>ys(Bn(Math.min(Vn,qn(Qs)+10)),{eventType:"fast_forward",skipSeconds:10}),"aria-label":"Skip forward 10 seconds",disabled:ps,children:(0,d.jsx)(L,{size:20,"aria-hidden":"true"})})]}),(0,d.jsxs)("div",{className:"gb-pip-bottom",children:[(0,d.jsx)("div",{className:"gb-pip-progress",onClick:Ns,children:(0,d.jsx)("div",{className:"gb-pip-progress-fill",style:{width:(t?r/t*100:0)+"%"}})}),(0,d.jsxs)("div",{className:"gb-pip-time",children:[Ws(r)," / ",Ws(t)]})]})]}),Nr.document.body)})()]})},oe="https://dev-api.go-boss.com";function ce(e){return{"x-player-key":e,"Content-Type":"application/json"}}async function le(e,t=oe,r={}){const n=await fetch(`${t}/api/player/sdk/init`,{method:"POST",headers:ce(e),body:JSON.stringify({videoUrl:r.videoUrl})});if(!n.ok)throw new Error(`SDK init failed: ${n.status}`);return await n.json()}async function ue(e,t,r=oe){const{sessionId:n,videoId:i,videoTitle:s,videoUrl:a,contentDurationSec:o}=t,c=await fetch(`${r}/api/player/sdk/session/start`,{method:"POST",headers:ce(e),body:JSON.stringify({sessionId:n,videoId:i,videoTitle:s,videoUrl:a,contentDurationSec:"number"==typeof o&&Number.isFinite(o)&&o>0?o:void 0})});if(!c.ok)throw new Error(`Session start failed: ${c.status}`)}async function de(e,t,r,n,i=oe){const s={sessionId:t,currentTime:r,duration:n},a=await fetch(`${i}/api/player/sdk/session/heartbeat`,{method:"POST",headers:ce(e),body:JSON.stringify(s)});if(!a.ok)throw new Error(`Heartbeat failed: ${a.status}`)}async function me(e,t,r=0,n=0,i=oe){const s=await fetch(`${i}/api/player/sdk/session/end`,{method:"POST",headers:ce(e),body:JSON.stringify({sessionId:t,currentTime:r,duration:n})});if(!s.ok)throw new Error(`Session end failed: ${s.status}`)}async function pe(e,t,r=oe){const n=await fetch(`${r}/api/player/sdk/events`,{method:"POST",headers:ce(e),body:JSON.stringify(t)});if(!n.ok)throw new Error(`Event ${t.eventType} failed: ${n.status}`)}function he(){if("undefined"!=typeof screen)return screen.orientation?.type??void 0}var fe=class{constructor(){this.autoplay=!1,this.keyMoments=[],this.isPlaybackActive=!1,this.hasFinished=!1,this.hasDismissed=!1,this.lastCurrentTime=0,this.lastDuration=0,this.lastWatchDuration=0,this.prevSpeed=1,this.pendingSeek=null}setDelegate(e){this.delegate=e}setAutoplay(e){this.autoplay=e}setKeyMoments(e){this.keyMoments=e}handleAnalyticsEvent(e){switch("number"!=typeof e.currentTime||Number.isNaN(e.currentTime)||(this.lastCurrentTime=e.currentTime),"number"!=typeof e.duration||Number.isNaN(e.duration)||(this.lastDuration=e.duration),"number"==typeof e.totalWatchTime&&(this.lastWatchDuration=e.totalWatchTime),e.eventType){case"play":this.isPlaybackActive?this.call("playerDidResumePlaying",e.currentTime):(this.isPlaybackActive=!0,this.hasFinished=!1,this.call("playerDidStartPlaying",e.currentTime,this.autoplay));break;case"pause":e.duration>0&&e.currentTime>=e.duration-.25||this.call("playerDidPause",e.currentTime);break;case"ended":this.isPlaybackActive=!1,this.hasFinished=!0,this.call("playerDidFinishPlaying",e.currentTime,e.totalWatchTime??this.lastWatchDuration);break;case"seek":this.beginSeek(e.seekFrom??this.lastCurrentTime,e.seekTo??e.currentTime);break;case"fast_forward":this.beginSeek(Math.max(0,e.currentTime-(e.skipSeconds??10)),e.currentTime);break;case"fast_backward":this.beginSeek(e.currentTime+(e.skipSeconds??10),e.currentTime);break;case"buffering_start":this.call("playerDidStartBuffering",e.currentTime);break;case"buffering_end":this.call("playerDidFinishBuffering",e.currentTime);break;case"quality_change":{const t=e.rendition;t&&t!==this.prevQuality&&(this.call("playerDidChangeQuality",this.prevQuality,t,e.isAutoSwitch??!1),this.prevQuality=t);break}case"subtitle_change":if(!1===e.subtitleEnabled)this.call("playerDidDisableSubtitle",this.prevSubtitle),this.prevSubtitle=void 0;else{const t=e.subtitleLanguage??"";this.call("playerDidChangeSubtitle",this.prevSubtitle,t),this.prevSubtitle=t}break;case"audio_track_change":{const t=e.audioTrack??"";this.call("playerDidChangeAudioTrack",this.prevAudioTrack,t),this.prevAudioTrack=t;break}case"speed_change":{const t=e.speed??1;t!==this.prevSpeed&&(this.call("playerDidChangePlaybackSpeed",this.prevSpeed,t),this.prevSpeed=t);break}case"fullscreen_enter":this.call("playerDidEnterFullscreen",he());break;case"fullscreen_exit":this.call("playerDidExitFullscreen",he());break;case"key_moments":{const t=e.momentTitle??"",r=e.momentTime??e.currentTime,n=this.keyMoments,i=n.findIndex(e=>t&&e.title===t||e.startTime===r),s=i>=0?n[i]:void 0;this.call("playerDidSelectKeyMoment",i>=0?String(i):void 0,s?.title??t,s?.startTime??r,s?.endTime??r);break}case"pip_toggle":(e.pipState?"entered"===e.pipState:"entered"===e.errorMessage)?this.call("playerDidEnterPictureInPicture",e.currentTime):this.call("playerDidExitPictureInPicture",e.currentTime);break;case"error":this.call("playerDidEncounterPlaybackError",null!=e.errorCode?String(e.errorCode):"PLAYER_ERROR",e.errorMessage??"Unknown player error",e.isRecoverable??!1);break;case"network_error":this.call("playerDidEncounterNetworkError",e.errorCode??0,e.errorMessage??"Network error",e.isRecoverable??!1)}}handleTimeUpdate(e){if(this.lastCurrentTime=e,this.pendingSeek){const{fromTime:t,startedWallMs:r}=this.pendingSeek;this.pendingSeek=null,this.call("playerDidFinishSeeking",t,e,(Date.now()-r)/1e3)}this.call("playerDidUpdateCurrentTime",e,this.lastDuration)}notifyDismissed(){this.hasDismissed||!this.isPlaybackActive||this.hasFinished||(this.hasDismissed=!0,this.call("playerDidDismiss",this.lastCurrentTime,this.lastWatchDuration))}beginSeek(e,t){this.pendingSeek?this.pendingSeek.toTime=t:(this.pendingSeek={fromTime:e,toTime:t,startedWallMs:Date.now()},this.call("playerDidStartSeeking",e))}call(e,...t){const r=this.delegate,n=r?.[e];if("function"==typeof n)try{n.apply(r,t)}catch(i){}}},ke={subtitles:"subtitle_support",ads:"ad_support",chapterMarkers:"key_moments",playbackSpeed:"playback_speed",airplay:"airplay",chromecast:"chromecast",pictureInPicture:"picture_in_picture",multipleResolution:"multiple_resolution",multipleAudio:"multiple_audio",drmProtection:"drm_protection",screenRecordingPrevention:"screen_recording_prevention",signalStrength:"signal_strength"};function be(e){const t={m3u8_playback:!0,subtitle_support:!1,playback_speed:!1,airplay:!1,chromecast:!1,picture_in_picture:!1,multiple_resolution:!1,multiple_audio:!1,key_moments:!1,drm_protection:!1,screen_recording_prevention:!1,signal_strength:!1,ad_support:!1};for(const[r,n]of Object.entries(ke))r in e&&(t[n]=e[r]);return t}function ye({playerKey:e,src:t,subtitles:r,licenseKey:n,themeColor:i="#6366f1",firebaseConfig:s,proxyDomains:a,apiBaseUrl:c,adTrackingUrl:l,overlayAdUrl:u,videoId:m,title:p,watermark:h,autoplay:f=!1,muted:k=!1,autoFullscreen:b=!1,enableControls:y=!0,enableSkipAd:g,skipAdAfterSeconds:v,chaptersDisplayMode:x="strip",volumeControlType:T="slider",subtitleStyle:w,drmConfig:j,onAnalyticsEvent:S,delegate:E,onKeyMomentsLoaded:N,initialTime:C,onTimeUpdate:M,introStartTime:R,introEndTime:A,hasNextEpisode:P,outroStartTime:I,nextEpisodeLabel:D,onNextEpisode:$,nextEpisodeAutoAdvanceSeconds:L,nextEpisodeThumbnailUrl:_}){const[z,F]=(0,o.useState)([]),[V,q]=(0,o.useState)(0),[O]=(0,o.useState)(()=>new fe);(0,o.useEffect)(()=>{O.setDelegate(E),O.setAutoplay(f)},[O,E,f]),(0,o.useEffect)(()=>()=>O.notifyDismissed(),[O]);const U=Array.isArray(t)?t:[{label:"Default",url:t}],K=U[V]?.url??U[0]?.url??"",[H,W]=(0,o.useState)("loading"),[X,Q]=(0,o.useState)(null),[J,G]=(0,o.useState)(0),[Y,Z]=(0,o.useState)("network"),ee=(0,o.useRef)(null),te=(0,o.useRef)(!1),re=(0,o.useRef)(""),ne=(0,o.useRef)(!1),ie=(0,o.useRef)(!1),se=(0,o.useRef)(void 0),he=(0,o.useRef)(!1),ke=(0,o.useRef)(3e4),ye=(0,o.useRef)(null),ge=(0,o.useRef)(0),ve=(0,o.useRef)(null),xe=(0,o.useRef)({currentTime:0,duration:0}),Te=(0,o.useRef)(()=>{}),we=K.split("/").filter(Boolean),je=m||(we[we.length-1]??"").replace(/\.m3u8.*$/,"")||"video",Se=(0,o.useRef)(K);(0,o.useEffect)(()=>{Se.current=K},[K]);const Ee=(0,o.useCallback)(()=>function(e){if(!e)return e=>e;const t=[];for(const r of e.split(",")){const[e,n]=r.split("=");e?.trim()&&n?.trim()&&t.push({domain:e.trim(),proxyPath:n.trim()})}return e=>{for(const{domain:r,proxyPath:n}of t)if(e.includes(r))try{const t=new URL(e);return`${n}${t.pathname}${t.search}`}catch{return e.replace(`https://${r}`,n)}return e}}(a),[a])(),Ne=function(e){const t=e.replace("#","");return 6!==t.length?"99, 102, 241":`${parseInt(t.substring(0,2),16)}, ${parseInt(t.substring(2,4),16)}, ${parseInt(t.substring(4,6),16)}`}(i);(0,o.useEffect)(()=>{document.documentElement.style.setProperty("--accent-indigo",i),document.documentElement.style.setProperty("--accent-indigo-rgb",Ne)},[i,Ne]),(0,o.useEffect)(()=>{let t=!1;return le(e,c,{videoUrl:Se.current}).then(e=>{if(t)return;ee.current=e;const{features:r,planTier:n,heartbeatIntervalSeconds:i}=e.result.data;ke.current="number"==typeof i&&i>0?1e3*i:3e4;const s={package:n,is_active:!0,features:be(r),limits:{streaming_minutes:0}};Q(s),W("ready")}).catch(e=>{if(t)return;const r=e.message??"";Z(/init failed: 4\d\d/.test(r)?"auth":"network"),W("error")}),()=>{t=!0,ye.current&&(clearTimeout(ye.current),ye.current=null),ge.current=0,ve.current=null,W("loading"),Q(null),ne.current=!1,re.current="",ie.current=!1,se.current=void 0}},[e,c,J]);const Ce=(0,o.useCallback)(()=>{ye.current&&(clearTimeout(ye.current),ye.current=null,null!==ve.current&&(ge.current+=Date.now()-ve.current,ve.current=null))},[]),Me=(0,o.useCallback)(()=>{ye.current&&(clearTimeout(ye.current),ye.current=null),ge.current=0,ve.current=null},[]),Re=(0,o.useCallback)(()=>{if(ye.current||!re.current)return;ve.current=Date.now();const t=ke.current-ge.current;ye.current=setTimeout(()=>{ye.current=null,ge.current=0,ve.current=null;const{currentTime:t,duration:r}=xe.current;de(e,re.current,t,r,c).catch(e=>{}),Te.current()},t)},[e,c]);(0,o.useEffect)(()=>{Te.current=Re},[Re]);const Ae=(0,o.useRef)(!0);(0,o.useEffect)(()=>{Ae.current?Ae.current=!1:(he.current=!0,se.current=void 0,Ce())},[V,Ce]),(0,o.useEffect)(()=>{const t=()=>{if(O.notifyDismissed(),!re.current)return;ie.current=!0,Me();const{currentTime:t,duration:r}=xe.current;!function(e,t,r=0,n=0,i=oe){fetch(`${i}/api/player/sdk/session/end`,{method:"POST",headers:ce(e),body:JSON.stringify({sessionId:t,currentTime:r,duration:n}),keepalive:!0})}(e,re.current,t,r,c)};return window.addEventListener("beforeunload",t),()=>{window.removeEventListener("beforeunload",t),Me()}},[e,c,Me,O]);const Pe=(0,o.useCallback)(t=>{const r=t;if(void 0!==t.currentTime&&(xe.current={currentTime:t.currentTime,duration:t.duration}),"session_start"!==t.eventType||ne.current||(ne.current=!0,ie.current=!1,re.current="string"==typeof r.sessionId?r.sessionId:"",ue(e,{sessionId:re.current,videoId:je,videoTitle:p,videoUrl:Se.current,contentDurationSec:t.duration},c).catch(e=>{}),te.current||Re()),"play"!==t.eventType||!ne.current||te.current||he.current||Re(),"pause"===t.eventType&&Ce(),"buffering_start"===t.eventType&&Ce(),"buffering_end"===t.eventType&&ne.current&&!te.current&&(he.current=!1,Re()),"ended"===t.eventType&&(Me(),re.current)){ie.current=!0;const{currentTime:t,duration:r}=xe.current;me(e,re.current,t,r,c).catch(e=>{})}if(ne.current&&re.current&&!ie.current){const r=function(e,t){switch(e.eventType){case"pause":return{eventType:"pause",extras:{}};case"seek":return{eventType:"seek",extras:{seekFrom:e.seekFrom??0,seekTo:e.seekTo??e.currentTime??0}};case"mute":return{eventType:"mute",extras:{isMuted:e.isMuted??!0}};case"fast_forward":return{eventType:"fast_forward",extras:{skipSeconds:e.skipSeconds??10}};case"fast_backward":return{eventType:"fast_backward",extras:{skipSeconds:e.skipSeconds??10}};case"key_moments":return{eventType:"key_moments",extras:{momentTitle:e.momentTitle??"",momentTime:e.momentTime??0}};case"buffering_start":return{eventType:"buffering_start",extras:{bufferingCount:e.bufferingCount??0}};case"buffering_end":return{eventType:"buffering_end",extras:{}};case"quality_change":return t&&e.rendition&&t!==e.rendition?{eventType:"quality_change",extras:{from:t,to:e.rendition}}:null;case"speed_change":return{eventType:"speed_change",extras:{speed:e.speed??1}};case"subtitle_change":return!1===e.subtitleEnabled?{eventType:"subtitle_disable",extras:{enabled:!1}}:{eventType:"subtitle_change",extras:{language:e.subtitleLanguage??"",enabled:!0}};case"audio_track_change":return{eventType:"audio_track_change",extras:{track:e.audioTrack??""}};case"pip_toggle":return{eventType:"pip_toggle",extras:{enabled:"entered"===e.errorMessage}};case"fullscreen_enter":return{eventType:"fullscreen_toggle",extras:{enabled:!0}};case"fullscreen_exit":return{eventType:"fullscreen_toggle",extras:{enabled:!1}};case"error":return{eventType:"player_error",extras:{code:null!=e.errorCode?String(e.errorCode):"PLAYER_ERROR",message:e.errorMessage??"Unknown player error"}};case"network_error":return{eventType:"network_error",extras:{code:e.errorCode?String(e.errorCode):"NETWORK_ERROR",message:e.errorMessage??"Network error"}};default:return null}}(t,se.current);r&&pe(e,{eventType:r.eventType,sessionId:re.current,currentTime:t.currentTime??0,videoId:je,videoTitle:p,...r.extras},c).catch(e=>{})}"quality_change"===t.eventType&&t.rendition&&(se.current=t.rendition),O.handleAnalyticsEvent(t),S?.(t)},[e,c,je,p,Re,Ce,Me,S,O]),Ie=(0,o.useCallback)(e=>{te.current=e,e?Ce():ne.current&&Re()},[Ce,Re]),De=(0,o.useCallback)(e=>{O.setKeyMoments(e),F(e),N?.(e)},[N,O]),$e=(0,o.useCallback)(e=>{O.handleTimeUpdate(e),M?.(e)},[M,O]);if("loading"===H)return(0,d.jsxs)("div",{style:{width:"100%",aspectRatio:"16 / 9",background:"#000",borderRadius:8,display:"flex",alignItems:"center",justifyContent:"center"},children:[(0,d.jsx)("style",{children:"@keyframes boss-sdk-spin{to{transform:rotate(360deg)}}"}),(0,d.jsx)("div",{style:{width:60,height:60,borderRadius:"50%",border:`4px solid rgba(${Ne}, 0.1)`,borderLeftColor:i,borderRightColor:`rgba(${Ne}, 0.2)`,filter:`drop-shadow(0 0 10px rgba(${Ne}, 0.5))`,animation:"boss-sdk-spin 1s linear infinite"}})]});if("error"===H){const e="auth"===Y;return(0,d.jsx)("div",{style:{width:"100%",aspectRatio:"16 / 9",background:"#09090e",borderRadius:8,display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column",gap:20},children:(0,d.jsx)(B,{title:e?"Invalid Player Key":"Something Went Wrong",subtitle:e?"Your player key is invalid or expired.\nPlease check your configuration.":"We encountered an error while connecting.\nPlease try again.",onRetry:()=>G(e=>e+1)})})}return(0,d.jsx)(ae,{src:K,sources:U,activeSourceIndex:V,onSourceChange:e=>q(e),subtitles:r,keyMoments:z,themeColor:i,firebaseConfig:s,resolvedEntitlement:X,licenseKey:n,title:p,watermark:h,autoplay:f,muted:k,autoFullscreen:b,enableControls:y,enableSkipAd:g,skipAdAfterSeconds:v,chaptersDisplayMode:x,volumeControlType:T,subtitleStyle:w,drmConfig:j,overlayAdUrl:u,adTrackingUrl:l,videoId:je,urlTransformer:Ee,onAnalyticsEvent:Pe,onAdBreakChange:Ie,onKeyMomentsLoaded:De,initialTime:C,onTimeUpdate:$e,introStartTime:R,introEndTime:A,hasNextEpisode:P,outroStartTime:I,nextEpisodeLabel:D,onNextEpisode:$,nextEpisodeAutoAdvanceSeconds:L,nextEpisodeThumbnailUrl:_})}exports.BossVideoPlayer=ye,exports.ErrorScreen=B,exports.FirebaseAnalyticsProvider=a.FirebaseAnalyticsProvider,exports.VideoPlayerSDK=a.VideoPlayerSDK,exports.WebVideoPlayer=ae,exports.createPlayer=function(e,t){const r=(0,m.createRoot)(e);let n=t;return r.render((0,o.createElement)(ye,n)),{update(e){n={...n,...e},r.render((0,o.createElement)(ye,n))},destroy(){r.unmount()}}},exports.endSession=me,exports.initSdk=le,exports.sendEvent=pe,exports.sendHeartbeat=de,exports.startSession=ue;
package/dist/index.d.ts CHANGED
@@ -40,56 +40,6 @@ export declare interface AnalyticsEvent {
40
40
  isAutoSwitch?: boolean;
41
41
  }
42
42
 
43
- declare class AnalyticsModule {
44
- private callback?;
45
- private heartbeatInterval?;
46
- private watchProgressTimer?;
47
- private isBuffering;
48
- private sessionId;
49
- private videoId;
50
- private deviceType;
51
- private networkType;
52
- private adBreaks;
53
- private isFirstPlay;
54
- private watchStartTime;
55
- private totalWatchTime;
56
- private streamingWindowStart;
57
- private streamingTime;
58
- private isInAdBreak;
59
- private adWatchWindowStart;
60
- private adWatchTime;
61
- private bufferingCount;
62
- private totalBufferingTime;
63
- private bufferingStartTime;
64
- private milestonesHit;
65
- private lastHeartbeatPosition;
66
- private lastHeartbeatAt;
67
- constructor(callback?: AnalyticsCallback, src?: string, seed?: AnalyticsSessionSnapshot, videoId?: string);
68
- getSessionSnapshot(): AnalyticsSessionSnapshot;
69
- registerCallback(callback: AnalyticsCallback): void;
70
- setAdBreaks(adBreaks: Array<{
71
- startTime: number;
72
- endTime: number;
73
- }>): void;
74
- private getTotalAdDuration;
75
- private getElapsedAdTime;
76
- track(eventType: AnalyticsEvent['eventType'], videoEl: HTMLVideoElement, extra?: Partial<AnalyticsEvent>): void;
77
- startHeartbeat(videoEl: HTMLVideoElement, getExtra: () => Partial<AnalyticsEvent>, watchProgressInterval?: number): void;
78
- stopHeartbeat(): void;
79
- setBuffering(isBuffering: boolean, videoEl: HTMLVideoElement, getExtra: () => Partial<AnalyticsEvent>): void;
80
- setAdBreak(inAdBreak: boolean, videoEl: HTMLVideoElement): void;
81
- private checkMilestones;
82
- private checkStall;
83
- private getTotalWatchTime;
84
- private getStreamingTime;
85
- private getAdWatchTime;
86
- private dispatchRaw;
87
- private generateSessionId;
88
- private extractVideoId;
89
- private getDeviceType;
90
- private getNetworkType;
91
- }
92
-
93
43
  declare interface AnalyticsSessionSnapshot {
94
44
  sessionId: string;
95
45
  sessionStartFired: boolean;
@@ -142,48 +92,6 @@ export declare interface BossVideoPlayerProps {
142
92
  nextEpisodeThumbnailUrl?: string;
143
93
  }
144
94
 
145
- declare class CastingModule {
146
- private isCasting;
147
- private castDeviceName;
148
- private onCastStateChangeCallback?;
149
- private onRemoteStateChangeCallback?;
150
- private castContext;
151
- private remotePlayer;
152
- private remotePlayerController;
153
- private attachedListeners;
154
- private destroyed;
155
- private apiReadyHook?;
156
- private announcedCasting?;
157
- private loadedSrc;
158
- private pendingSrc;
159
- constructor();
160
- private initCastApi;
161
- private addListener;
162
- private announceCastState;
163
- getCastingState(): {
164
- isCasting: boolean;
165
- deviceName: string;
166
- };
167
- getRemoteState(): RemoteCastState | null;
168
- private getContentType;
169
- isSessionActive(): boolean;
170
- getReceiverContentId(): string | null;
171
- loadMedia(src: string, currentTime: number, title?: string): Promise<boolean>;
172
- syncMedia(src: string, currentTime: number, title?: string): Promise<boolean>;
173
- requestSession(currentSrc: string, currentTime: number, title?: string): Promise<void>;
174
- stopCasting(): void;
175
- destroy(): void;
176
- remotePlayPause(): void;
177
- remoteSeek(time: number): void;
178
- remoteSetVolume(volume: number): void;
179
- remoteSetMute(muted: boolean): void;
180
- onCastStateChange(callback: (isCasting: boolean, deviceName: string) => void): void;
181
- onRemoteStateChange(callback: (state: RemoteCastState) => void): void;
182
- requestAirPlaySession(videoElement: HTMLVideoElement): void;
183
- stopAirPlay(videoElement: HTMLVideoElement): void;
184
- isAirPlayAvailable(): boolean;
185
- }
186
-
187
95
  export declare interface Chapter {
188
96
  title: string;
189
97
  startTime: number;
@@ -192,9 +100,6 @@ export declare interface Chapter {
192
100
  description?: string;
193
101
  }
194
102
 
195
- declare class ChaptersModule extends KeyMomentsModule {
196
- }
197
-
198
103
  export declare function createPlayer(container: HTMLElement, props: PlayerProps): PlayerInstance;
199
104
 
200
105
  export declare interface DRMConfig {
@@ -207,27 +112,6 @@ export declare interface DRMConfig {
207
112
  watermarkText?: string;
208
113
  }
209
114
 
210
- declare class DRMModule {
211
- private config?;
212
- private watermarkElement?;
213
- private floatInterval?;
214
- constructor(config?: DRMConfig);
215
- validateDomain(currentDomain: string): boolean;
216
- getAuthToken(): string | undefined;
217
- getAuthHeader(): string | undefined;
218
- getRequestHeaders(): Record<string, string>;
219
- setupWatermark(container: HTMLElement): void;
220
- removeWatermark(): void;
221
- isDRMProtected(): boolean;
222
- getDRMDetails(): {
223
- widevine: string | null;
224
- playready: string | null;
225
- fairplay: string | null;
226
- authTokenPresent: boolean;
227
- allowedDomains: string[];
228
- };
229
- }
230
-
231
115
  export declare function endSession(playerKey: string, sessionId: string, currentTime?: number, duration?: number, apiBase?: string): Promise<void>;
232
116
 
233
117
  export declare function ErrorScreen({ offline, title, subtitle, onRetry, icon, }: ErrorScreenProps): JSX.Element;
@@ -280,15 +164,65 @@ export declare interface FirebaseConfig {
280
164
  measurementId?: string;
281
165
  }
282
166
 
283
- export declare function initSdk(playerKey: string, apiBase?: string, options?: SdkInitOptions): Promise<SdkInitResponse>;
167
+ declare interface IAnalyticsModule {
168
+ getSessionSnapshot(): AnalyticsSessionSnapshot;
169
+ registerCallback(callback: AnalyticsCallback): void;
170
+ setAdBreaks(adBreaks: Array<{
171
+ startTime: number;
172
+ endTime: number;
173
+ }>): void;
174
+ track(eventType: AnalyticsEvent['eventType'], videoEl: HTMLVideoElement, extra?: Partial<AnalyticsEvent>): void;
175
+ startHeartbeat(videoEl: HTMLVideoElement, getExtra: () => Partial<AnalyticsEvent>, watchProgressInterval?: number): void;
176
+ stopHeartbeat(): void;
177
+ setBuffering(isBuffering: boolean, videoEl: HTMLVideoElement, getExtra: () => Partial<AnalyticsEvent>): void;
178
+ setAdBreak(inAdBreak: boolean, videoEl: HTMLVideoElement): void;
179
+ }
284
180
 
285
- export declare type KeyMoment = Chapter;
181
+ declare interface ICastingModule {
182
+ getCastingState(): {
183
+ isCasting: boolean;
184
+ deviceName: string;
185
+ };
186
+ getRemoteState(): RemoteCastState | null;
187
+ isSessionActive(): boolean;
188
+ getReceiverContentId(): string | null;
189
+ loadMedia(src: string, currentTime: number, title?: string): Promise<boolean>;
190
+ syncMedia(src: string, currentTime: number, title?: string): Promise<boolean>;
191
+ requestSession(currentSrc: string, currentTime: number, title?: string): Promise<void>;
192
+ stopCasting(): void;
193
+ destroy(): void;
194
+ remotePlayPause(): void;
195
+ remoteSeek(time: number): void;
196
+ remoteSetVolume(volume: number): void;
197
+ remoteSetMute(muted: boolean): void;
198
+ onCastStateChange(callback: (isCasting: boolean, deviceName: string) => void): void;
199
+ onRemoteStateChange(callback: (state: RemoteCastState) => void): void;
200
+ requestAirPlaySession(videoElement: HTMLVideoElement): void;
201
+ stopAirPlay(videoElement: HTMLVideoElement): void;
202
+ isAirPlayAvailable(): boolean;
203
+ }
204
+
205
+ declare interface IChaptersModule extends IKeyMomentsModule {
206
+ }
286
207
 
287
- declare class KeyMomentsModule {
288
- private keyMoments;
289
- private currentMomentIndex;
290
- private onMomentChangeCallback?;
291
- constructor(keyMoments?: KeyMoment[]);
208
+ declare interface IDRMModule {
209
+ validateDomain(currentDomain: string): boolean;
210
+ getAuthToken(): string | undefined;
211
+ getAuthHeader(): string | undefined;
212
+ getRequestHeaders(): Record<string, string>;
213
+ setupWatermark(container: HTMLElement): void;
214
+ removeWatermark(): void;
215
+ isDRMProtected(): boolean;
216
+ getDRMDetails(): {
217
+ widevine: string | null;
218
+ playready: string | null;
219
+ fairplay: string | null;
220
+ authTokenPresent: boolean;
221
+ allowedDomains: string[];
222
+ };
223
+ }
224
+
225
+ declare interface IKeyMomentsModule {
292
226
  setKeyMoments(keyMoments: KeyMoment[]): void;
293
227
  getKeyMoments(): KeyMoment[];
294
228
  getCurrentMoment(currentTime: number): {
@@ -306,6 +240,33 @@ declare class KeyMomentsModule {
306
240
  onChapterChange(callback: (chapter: KeyMoment | null, index: number) => void): void;
307
241
  }
308
242
 
243
+ export declare function initSdk(playerKey: string, apiBase?: string, options?: SdkInitOptions): Promise<SdkInitResponse>;
244
+
245
+ declare interface ISubtitlesModule {
246
+ getTracks(): SubtitleTrack[];
247
+ getActiveTrackId(): string;
248
+ setHlsTracks(hlsTracks: SubtitleTrack[]): void;
249
+ addTrack(track: SubtitleTrack): void;
250
+ onTrackSwitch(callback: (track: SubtitleTrack | null) => void): void;
251
+ setCustomSubtitleText(text: string): void;
252
+ setActiveTrack(trackId: string): Promise<void>;
253
+ updateTime(currentTime: number): void;
254
+ onSubtitleChange(callback: (text: string) => void): void;
255
+ }
256
+
257
+ declare interface IThumbnailsModule {
258
+ getThumbnail(time: number): {
259
+ url: string;
260
+ x: number;
261
+ y: number;
262
+ width: number;
263
+ height: number;
264
+ } | null;
265
+ hasThumbnails(): boolean;
266
+ }
267
+
268
+ export declare type KeyMoment = Chapter;
269
+
309
270
  export declare interface PlayerDelegate {
310
271
  playerDidStartPlaying?(startTime: number, autoplay: boolean): void;
311
272
  playerDidResumePlaying?(resumedAt: number): void;
@@ -429,27 +390,6 @@ export declare interface StartSessionOptions {
429
390
  contentDurationSec?: number;
430
391
  }
431
392
 
432
- declare class SubtitlesModule {
433
- private tracks;
434
- private activeTrackId;
435
- private currentCues;
436
- private activeText;
437
- private onSubtitleChangeCallback?;
438
- private onTrackSwitchCallback?;
439
- constructor(tracks?: SubtitleTrack[]);
440
- getTracks(): SubtitleTrack[];
441
- getActiveTrackId(): string;
442
- setHlsTracks(hlsTracks: SubtitleTrack[]): void;
443
- addTrack(track: SubtitleTrack): void;
444
- onTrackSwitch(callback: (track: SubtitleTrack | null) => void): void;
445
- setCustomSubtitleText(text: string): void;
446
- setActiveTrack(trackId: string): Promise<void>;
447
- updateTime(currentTime: number): void;
448
- private updateActiveText;
449
- onSubtitleChange(callback: (text: string) => void): void;
450
- private parseVttOrSrt;
451
- }
452
-
453
393
  export declare interface SubtitleStyle {
454
394
  size?: 'small' | 'medium' | 'large';
455
395
  background?: 'none' | 'dim' | 'solid';
@@ -489,19 +429,6 @@ export declare interface ThumbnailConfig {
489
429
  totalCount: number;
490
430
  }
491
431
 
492
- declare class ThumbnailsModule {
493
- private config?;
494
- constructor(config?: ThumbnailConfig);
495
- getThumbnail(time: number): {
496
- url: string;
497
- x: number;
498
- y: number;
499
- width: number;
500
- height: number;
501
- } | null;
502
- hasThumbnails(): boolean;
503
- }
504
-
505
432
  export declare class VideoPlayerSDK {
506
433
  private options;
507
434
  private videoElement;
@@ -509,13 +436,13 @@ export declare class VideoPlayerSDK {
509
436
  private dashInstance;
510
437
  private activeQuality;
511
438
  private qualityLevels;
512
- analytics: AnalyticsModule;
513
- keyMoments: KeyMomentsModule;
514
- chapters: ChaptersModule;
515
- subtitles: SubtitlesModule;
516
- drm: DRMModule;
517
- casting: CastingModule;
518
- thumbnails: ThumbnailsModule;
439
+ analytics: IAnalyticsModule;
440
+ keyMoments: IKeyMomentsModule;
441
+ chapters: IChaptersModule;
442
+ subtitles: ISubtitlesModule;
443
+ drm: IDRMModule;
444
+ casting: ICastingModule;
445
+ thumbnails: IThumbnailsModule;
519
446
  private hlsSubtitleCues;
520
447
  private hlsActiveSubtitleKey;
521
448
  private audioTrackList;
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import{c as e,t,u as r}from"./src-ChMUr4mo.js";import{createContext as n,createElement as i,forwardRef as a,useCallback as s,useContext as o,useEffect as l,useMemo as c,useRef as d,useState as u}from"react";import{createPortal as m}from"react-dom";import{Fragment as p,jsx as h,jsxs as k}from"react/jsx-runtime";import{createRoot as f}from"react-dom/client";var b=(...e)=>e.filter((e,t,r)=>Boolean(e)&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),y=e=>{const t=(e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase()))(e);return t.charAt(0).toUpperCase()+t.slice(1)},g={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},v=e=>{for(const t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1},T=n({}),w=a(({color:e,size:t,strokeWidth:r,absoluteStrokeWidth:n,className:a="",children:s,iconNode:l,...c},d)=>{const{size:u=24,strokeWidth:m=2,absoluteStrokeWidth:p=!1,color:h="currentColor",className:k=""}=o(T)??{},f=n??p?24*Number(r??m)/Number(t??u):r??m;return i("svg",{ref:d,...g,width:t??u??g.width,height:t??u??g.height,stroke:e??h,strokeWidth:f,className:b("lucide",k,a),...!s&&!v(c)&&{"aria-hidden":"true"},...c},[...l.map(([e,t])=>i(e,t)),...Array.isArray(s)?s:[s]])}),x=(e,t)=>{const r=a(({className:r,...n},a)=>{return i(w,{ref:a,iconNode:t,className:b(`lucide-${s=y(e),s.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,r),...n});var s});return r.displayName=y(e),r},S=x("airplay",[["path",{d:"M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1",key:"ns4c3b"}],["path",{d:"m12 15 5 6H7Z",key:"14qnn2"}]]),N=x("captions",[["rect",{width:"18",height:"14",x:"3",y:"5",rx:"2",ry:"2",key:"12ruh7"}],["path",{d:"M7 15h4M15 15h2M7 11h2M13 11h4",key:"1ueiar"}]]),M=x("cast",[["path",{d:"M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6",key:"3zrzxg"}],["path",{d:"M2 12a9 9 0 0 1 8 8",key:"g6cvee"}],["path",{d:"M2 16a5 5 0 0 1 4 4",key:"1y1dii"}],["line",{x1:"2",x2:"2.01",y1:"20",y2:"20",key:"xu2jvo"}]]),C=x("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),E=x("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),A=x("cloud-off",[["path",{d:"M10.94 5.274A7 7 0 0 1 15.71 10h1.79a4.5 4.5 0 0 1 4.222 6.057",key:"1uxyv8"}],["path",{d:"M18.796 18.81A4.5 4.5 0 0 1 17.5 19H9A7 7 0 0 1 5.79 5.78",key:"99tcn7"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),P=x("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]),I=x("gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]),$=x("languages",[["path",{d:"m5 8 6 6",key:"1wu5hv"}],["path",{d:"m4 14 6-6 2-3",key:"1k1g8d"}],["path",{d:"M2 5h12",key:"or177f"}],["path",{d:"M7 2h1",key:"1t2jsx"}],["path",{d:"m22 22-5-10-5 10",key:"don7ne"}],["path",{d:"M14 18h6",key:"1m8k6r"}]]),D=x("list-video",[["path",{d:"M21 5H3",key:"1fi0y6"}],["path",{d:"M10 12H3",key:"1ulcyk"}],["path",{d:"M10 19H3",key:"108z41"}],["path",{d:"M15 12.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z",key:"ms4nik"}]]),L=x("maximize",[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]]),_=x("minimize",[["path",{d:"M8 3v3a2 2 0 0 1-2 2H3",key:"hohbtr"}],["path",{d:"M21 8h-3a2 2 0 0 1-2-2V3",key:"5jw1f3"}],["path",{d:"M3 16h3a2 2 0 0 1 2 2v3",key:"198tvr"}],["path",{d:"M16 21v-3a2 2 0 0 1 2-2h3",key:"ph8mxp"}]]),z=x("pause",[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]]),R=x("picture-in-picture",[["path",{d:"M2 10h6V4",key:"zwrco"}],["path",{d:"m2 4 6 6",key:"ug085t"}],["path",{d:"M21 10V7a2 2 0 0 0-2-2h-7",key:"git5jr"}],["path",{d:"M3 14v2a2 2 0 0 0 2 2h3",key:"1f7fh3"}],["rect",{x:"12",y:"14",width:"10",height:"7",rx:"1",key:"1wjs3o"}]]),F=x("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]),V=x("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]),q=x("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]),B=x("skip-forward",[["path",{d:"M21 4v16",key:"7j8fe9"}],["path",{d:"M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z",key:"zs4d6"}]]),j=x("volume-1",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}]]),U=x("volume-2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]),W=x("volume-x",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["line",{x1:"22",x2:"16",y1:"9",y2:"15",key:"1ewh16"}],["line",{x1:"16",x2:"22",y1:"9",y2:"15",key:"5ykzw1"}]]),K=x("volume",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}]]);function H({offline:e=!1,title:t=(e?"No Internet Connection":"Something Went Wrong"),subtitle:r=(e?"Please check your network connection and try again.":"We encountered an error while playing this video.\nPlease try again."),onRetry:n,icon:i=(e?/* @__PURE__ */h(A,{size:36,color:"rgba(255,255,255,0.85)"}):void 0)}){/* @__PURE__ */
1
+ import{c as e,t,u as r}from"./chunks/src-ChMUr4mo.js";import{createContext as n,createElement as i,forwardRef as a,useCallback as s,useContext as o,useEffect as l,useMemo as c,useRef as d,useState as u}from"react";import{createPortal as m}from"react-dom";import{Fragment as p,jsx as h,jsxs as k}from"react/jsx-runtime";import{createRoot as f}from"react-dom/client";var b=(...e)=>e.filter((e,t,r)=>Boolean(e)&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),y=e=>{const t=(e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase()))(e);return t.charAt(0).toUpperCase()+t.slice(1)},g={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},v=e=>{for(const t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1},T=n({}),w=a(({color:e,size:t,strokeWidth:r,absoluteStrokeWidth:n,className:a="",children:s,iconNode:l,...c},d)=>{const{size:u=24,strokeWidth:m=2,absoluteStrokeWidth:p=!1,color:h="currentColor",className:k=""}=o(T)??{},f=n??p?24*Number(r??m)/Number(t??u):r??m;return i("svg",{ref:d,...g,width:t??u??g.width,height:t??u??g.height,stroke:e??h,strokeWidth:f,className:b("lucide",k,a),...!s&&!v(c)&&{"aria-hidden":"true"},...c},[...l.map(([e,t])=>i(e,t)),...Array.isArray(s)?s:[s]])}),x=(e,t)=>{const r=a(({className:r,...n},a)=>{return i(w,{ref:a,iconNode:t,className:b(`lucide-${s=y(e),s.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,r),...n});var s});return r.displayName=y(e),r},S=x("airplay",[["path",{d:"M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1",key:"ns4c3b"}],["path",{d:"m12 15 5 6H7Z",key:"14qnn2"}]]),N=x("captions",[["rect",{width:"18",height:"14",x:"3",y:"5",rx:"2",ry:"2",key:"12ruh7"}],["path",{d:"M7 15h4M15 15h2M7 11h2M13 11h4",key:"1ueiar"}]]),M=x("cast",[["path",{d:"M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6",key:"3zrzxg"}],["path",{d:"M2 12a9 9 0 0 1 8 8",key:"g6cvee"}],["path",{d:"M2 16a5 5 0 0 1 4 4",key:"1y1dii"}],["line",{x1:"2",x2:"2.01",y1:"20",y2:"20",key:"xu2jvo"}]]),C=x("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),E=x("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),A=x("cloud-off",[["path",{d:"M10.94 5.274A7 7 0 0 1 15.71 10h1.79a4.5 4.5 0 0 1 4.222 6.057",key:"1uxyv8"}],["path",{d:"M18.796 18.81A4.5 4.5 0 0 1 17.5 19H9A7 7 0 0 1 5.79 5.78",key:"99tcn7"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),P=x("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]),I=x("gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]),$=x("languages",[["path",{d:"m5 8 6 6",key:"1wu5hv"}],["path",{d:"m4 14 6-6 2-3",key:"1k1g8d"}],["path",{d:"M2 5h12",key:"or177f"}],["path",{d:"M7 2h1",key:"1t2jsx"}],["path",{d:"m22 22-5-10-5 10",key:"don7ne"}],["path",{d:"M14 18h6",key:"1m8k6r"}]]),D=x("list-video",[["path",{d:"M21 5H3",key:"1fi0y6"}],["path",{d:"M10 12H3",key:"1ulcyk"}],["path",{d:"M10 19H3",key:"108z41"}],["path",{d:"M15 12.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z",key:"ms4nik"}]]),L=x("maximize",[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]]),_=x("minimize",[["path",{d:"M8 3v3a2 2 0 0 1-2 2H3",key:"hohbtr"}],["path",{d:"M21 8h-3a2 2 0 0 1-2-2V3",key:"5jw1f3"}],["path",{d:"M3 16h3a2 2 0 0 1 2 2v3",key:"198tvr"}],["path",{d:"M16 21v-3a2 2 0 0 1 2-2h3",key:"ph8mxp"}]]),z=x("pause",[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]]),R=x("picture-in-picture",[["path",{d:"M2 10h6V4",key:"zwrco"}],["path",{d:"m2 4 6 6",key:"ug085t"}],["path",{d:"M21 10V7a2 2 0 0 0-2-2h-7",key:"git5jr"}],["path",{d:"M3 14v2a2 2 0 0 0 2 2h3",key:"1f7fh3"}],["rect",{x:"12",y:"14",width:"10",height:"7",rx:"1",key:"1wjs3o"}]]),F=x("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]),V=x("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]),q=x("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]),B=x("skip-forward",[["path",{d:"M21 4v16",key:"7j8fe9"}],["path",{d:"M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z",key:"zs4d6"}]]),j=x("volume-1",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}]]),U=x("volume-2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]),W=x("volume-x",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["line",{x1:"22",x2:"16",y1:"9",y2:"15",key:"1ewh16"}],["line",{x1:"16",x2:"22",y1:"9",y2:"15",key:"5ykzw1"}]]),K=x("volume",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}]]);function H({offline:e=!1,title:t=(e?"No Internet Connection":"Something Went Wrong"),subtitle:r=(e?"Please check your network connection and try again.":"We encountered an error while playing this video.\nPlease try again."),onRetry:n,icon:i=(e?/* @__PURE__ */h(A,{size:36,color:"rgba(255,255,255,0.85)"}):void 0)}){/* @__PURE__ */
2
2
  return k(p,{children:[
3
3
  /* @__PURE__ */h("div",{style:{width:80,height:80,borderRadius:"50%",background:"rgba(255,255,255,0.08)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:i??/* @__PURE__ */k("svg",{width:"36",height:"36",viewBox:"0 0 24 24",fill:"none",stroke:"rgba(255,255,255,0.85)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[
4
4
  /* @__PURE__ */h("path",{d:"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"}),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "boss-web-player-sdk",
3
- "version": "1.1.40",
3
+ "version": "1.1.41",
4
4
  "description": "Unified high-performance OTT web video player SDK supporting adaptive HLS/DASH streaming, secure token-based DRM protection, dynamic watermarking, captioning, and premium UI components.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",