@flowplayer/player 3.30.0-rc → 3.30.1-rc

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.
Files changed (50) hide show
  1. package/core.js +1 -1
  2. package/default.js +1 -1
  3. package/embed.js +2 -2
  4. package/index.d.ts +17 -0
  5. package/package.json +1 -1
  6. package/plugins/ads.d.ts +17 -0
  7. package/plugins/ads.js +1 -1
  8. package/plugins/airplay.d.ts +17 -0
  9. package/plugins/analytics.d.ts +17 -0
  10. package/plugins/analytics.js +1 -1
  11. package/plugins/asel.d.ts +17 -0
  12. package/plugins/audio.d.ts +17 -0
  13. package/plugins/chapters.d.ts +17 -0
  14. package/plugins/chromecast.d.ts +17 -0
  15. package/plugins/comscore.d.ts +17 -0
  16. package/plugins/consent.d.ts +17 -0
  17. package/plugins/context-menu.d.ts +17 -0
  18. package/plugins/cuepoints.d.ts +17 -0
  19. package/plugins/dash.d.ts +17 -0
  20. package/plugins/drm.d.ts +17 -0
  21. package/plugins/endscreen.d.ts +17 -0
  22. package/plugins/fas.d.ts +17 -0
  23. package/plugins/float-on-scroll.d.ts +17 -0
  24. package/plugins/ga4.d.ts +17 -0
  25. package/plugins/gemius.d.ts +17 -0
  26. package/plugins/google-analytics.d.ts +17 -0
  27. package/plugins/hls.d.ts +17 -0
  28. package/plugins/hls.js +1 -1
  29. package/plugins/id3.d.ts +17 -0
  30. package/plugins/iframe.d.ts +17 -0
  31. package/plugins/keyboard.d.ts +17 -0
  32. package/plugins/media-session.d.ts +17 -0
  33. package/plugins/message.d.ts +17 -0
  34. package/plugins/ovp.d.ts +17 -0
  35. package/plugins/playlist.d.ts +17 -0
  36. package/plugins/preview.d.ts +17 -0
  37. package/plugins/qsel.d.ts +17 -0
  38. package/plugins/qul.d.ts +17 -0
  39. package/plugins/rts.d.ts +17 -0
  40. package/plugins/rts.js +3 -3
  41. package/plugins/share.d.ts +17 -0
  42. package/plugins/speed.d.ts +17 -0
  43. package/plugins/ssai.d.ts +17 -0
  44. package/plugins/ssai.js +1 -1
  45. package/plugins/subtitles.d.ts +17 -0
  46. package/plugins/thumbnails.d.ts +17 -0
  47. package/plugins/tizen.d.ts +17 -0
  48. package/plugins/vtsel.d.ts +17 -0
  49. package/plugins/webos.d.ts +17 -0
  50. package/util/loader.d.ts +17 -0
@@ -390,6 +390,10 @@ declare type ExtractPureAPI<T> = T extends PlayerWith<infer PureAPI> ? PureAPI :
390
390
 
391
391
  declare type ExtractSrcExtension<PluginBareConfig> = Get<PluginBareConfig, "src"> extends UnsafeSource<infer SrcMixinType> ? SrcMixinType : never;
392
392
 
393
+ declare const FEATURE_USAGE = "flowplayer:feature";
394
+
395
+ /* Excluded from this release type: FeatureUsageEventDetail */
396
+
393
397
  declare type FilterNewSourceTypes<PluginSrcs extends unknown[]> = {
394
398
  [Index in keyof PluginSrcs]: PluginSrcs[Index] extends {
395
399
  type: string;
@@ -1240,6 +1244,7 @@ declare type PlayerCustomEventsDetailMap = PlayerEmittableCustomEventsDetailMap
1240
1244
  /* Excluded from this release type: "seek:cancel" */
1241
1245
  /* Excluded from this release type: "plugin:registered" */
1242
1246
  /* Excluded from this release type: intersectionchange */
1247
+ /* Excluded from this release type: "flowplayer:feature" */
1243
1248
  /* Excluded from this release type: beforeplay */
1244
1249
  /* Excluded from this release type: beforepause */
1245
1250
  /* Excluded from this release type: state */
@@ -1317,6 +1322,7 @@ declare type PlayerCustomEventsOverloads = {
1317
1322
  /* Excluded from this release type: on */
1318
1323
  /* Excluded from this release type: on */
1319
1324
  /* Excluded from this release type: on */
1325
+ /* Excluded from this release type: on */
1320
1326
  /**
1321
1327
  * TODO: this is a workaround, since not all event overloads are typed. when all plugin work is finished, remove this
1322
1328
  * https://wowzamedia.jira.com/browse/PLAY-653
@@ -1648,6 +1654,13 @@ declare const RetryMap: {
1648
1654
 
1649
1655
  declare const RTL = "is-rtl";
1650
1656
 
1657
+ declare const SampleRate: {
1658
+ readonly None: 0;
1659
+ readonly Low: 0.1;
1660
+ readonly Medium: 0.01;
1661
+ readonly High: 0.001;
1662
+ };
1663
+
1651
1664
  /**
1652
1665
  * @public
1653
1666
  */
@@ -1913,6 +1926,8 @@ TOUCH_START = "touchstart";
1913
1926
 
1914
1927
  declare const TOUCHED = "is-touched";
1915
1928
 
1929
+ declare type TSampleRate = typeof SampleRate;
1930
+
1916
1931
  declare const TV = "is-tv";
1917
1932
 
1918
1933
  /**
@@ -1920,6 +1935,8 @@ declare const TV = "is-tv";
1920
1935
  */
1921
1936
  declare type UnsafeSource<SrcMixin = unknown> = SourceStr | SourceObj<SrcMixin> | Array<SourceStr | SourceObj<SrcMixin>>;
1922
1937
 
1938
+ declare type ValidSampleRates = TSampleRate[keyof TSampleRate];
1939
+
1923
1940
  /**
1924
1941
  * @public
1925
1942
  * emitted when a video track is selected
@@ -390,6 +390,10 @@ declare type ExtractPureAPI<T> = T extends PlayerWith<infer PureAPI> ? PureAPI :
390
390
 
391
391
  declare type ExtractSrcExtension<PluginBareConfig> = Get<PluginBareConfig, "src"> extends UnsafeSource<infer SrcMixinType> ? SrcMixinType : never;
392
392
 
393
+ declare const FEATURE_USAGE = "flowplayer:feature";
394
+
395
+ /* Excluded from this release type: FeatureUsageEventDetail */
396
+
393
397
  declare type FilterNewSourceTypes<PluginSrcs extends unknown[]> = {
394
398
  [Index in keyof PluginSrcs]: PluginSrcs[Index] extends {
395
399
  type: string;
@@ -1240,6 +1244,7 @@ declare type PlayerCustomEventsDetailMap = PlayerEmittableCustomEventsDetailMap
1240
1244
  /* Excluded from this release type: "seek:cancel" */
1241
1245
  /* Excluded from this release type: "plugin:registered" */
1242
1246
  /* Excluded from this release type: intersectionchange */
1247
+ /* Excluded from this release type: "flowplayer:feature" */
1243
1248
  /* Excluded from this release type: beforeplay */
1244
1249
  /* Excluded from this release type: beforepause */
1245
1250
  /* Excluded from this release type: state */
@@ -1317,6 +1322,7 @@ declare type PlayerCustomEventsOverloads = {
1317
1322
  /* Excluded from this release type: on */
1318
1323
  /* Excluded from this release type: on */
1319
1324
  /* Excluded from this release type: on */
1325
+ /* Excluded from this release type: on */
1320
1326
  /**
1321
1327
  * TODO: this is a workaround, since not all event overloads are typed. when all plugin work is finished, remove this
1322
1328
  * https://wowzamedia.jira.com/browse/PLAY-653
@@ -1648,6 +1654,13 @@ declare const RetryMap: {
1648
1654
 
1649
1655
  declare const RTL = "is-rtl";
1650
1656
 
1657
+ declare const SampleRate: {
1658
+ readonly None: 0;
1659
+ readonly Low: 0.1;
1660
+ readonly Medium: 0.01;
1661
+ readonly High: 0.001;
1662
+ };
1663
+
1651
1664
  /**
1652
1665
  * @public
1653
1666
  */
@@ -1905,6 +1918,8 @@ TOUCH_START = "touchstart";
1905
1918
 
1906
1919
  declare const TOUCHED = "is-touched";
1907
1920
 
1921
+ declare type TSampleRate = typeof SampleRate;
1922
+
1908
1923
  declare const TV = "is-tv";
1909
1924
 
1910
1925
  /**
@@ -1912,6 +1927,8 @@ declare const TV = "is-tv";
1912
1927
  */
1913
1928
  declare type UnsafeSource<SrcMixin = unknown> = SourceStr | SourceObj<SrcMixin> | Array<SourceStr | SourceObj<SrcMixin>>;
1914
1929
 
1930
+ declare type ValidSampleRates = TSampleRate[keyof TSampleRate];
1931
+
1915
1932
  /**
1916
1933
  * @public
1917
1934
  * emitted when a video track is selected
package/plugins/ssai.d.ts CHANGED
@@ -466,6 +466,10 @@ declare type ExtractPureAPI<T> = T extends PlayerWith<infer PureAPI> ? PureAPI :
466
466
 
467
467
  declare type ExtractSrcExtension<PluginBareConfig> = Get<PluginBareConfig, "src"> extends UnsafeSource<infer SrcMixinType> ? SrcMixinType : never;
468
468
 
469
+ declare const FEATURE_USAGE = "flowplayer:feature";
470
+
471
+ /* Excluded from this release type: FeatureUsageEventDetail */
472
+
469
473
  declare type FilterNewSourceTypes<PluginSrcs extends unknown[]> = {
470
474
  [Index in keyof PluginSrcs]: PluginSrcs[Index] extends {
471
475
  type: string;
@@ -1326,6 +1330,7 @@ declare type PlayerCustomEventsDetailMap = PlayerEmittableCustomEventsDetailMap
1326
1330
  /* Excluded from this release type: "seek:cancel" */
1327
1331
  /* Excluded from this release type: "plugin:registered" */
1328
1332
  /* Excluded from this release type: intersectionchange */
1333
+ /* Excluded from this release type: "flowplayer:feature" */
1329
1334
  /* Excluded from this release type: beforeplay */
1330
1335
  /* Excluded from this release type: beforepause */
1331
1336
  /* Excluded from this release type: state */
@@ -1403,6 +1408,7 @@ declare type PlayerCustomEventsOverloads = {
1403
1408
  /* Excluded from this release type: on */
1404
1409
  /* Excluded from this release type: on */
1405
1410
  /* Excluded from this release type: on */
1411
+ /* Excluded from this release type: on */
1406
1412
  /**
1407
1413
  * TODO: this is a workaround, since not all event overloads are typed. when all plugin work is finished, remove this
1408
1414
  * https://wowzamedia.jira.com/browse/PLAY-653
@@ -1740,6 +1746,13 @@ declare const RetryMap: {
1740
1746
 
1741
1747
  declare const RTL = "is-rtl";
1742
1748
 
1749
+ declare const SampleRate: {
1750
+ readonly None: 0;
1751
+ readonly Low: 0.1;
1752
+ readonly Medium: 0.01;
1753
+ readonly High: 0.001;
1754
+ };
1755
+
1743
1756
  /**
1744
1757
  * @public
1745
1758
  */
@@ -2217,6 +2230,8 @@ TOUCH_START = "touchstart";
2217
2230
 
2218
2231
  declare const TOUCHED = "is-touched";
2219
2232
 
2233
+ declare type TSampleRate = typeof SampleRate;
2234
+
2220
2235
  declare const TV = "is-tv";
2221
2236
 
2222
2237
  /**
@@ -2224,6 +2239,8 @@ declare const TV = "is-tv";
2224
2239
  */
2225
2240
  declare type UnsafeSource<SrcMixin = unknown> = SourceStr | SourceObj<SrcMixin> | Array<SourceStr | SourceObj<SrcMixin>>;
2226
2241
 
2242
+ declare type ValidSampleRates = TSampleRate[keyof TSampleRate];
2243
+
2227
2244
  /**
2228
2245
  * @public
2229
2246
  * emitted when a video track is selected
package/plugins/ssai.js CHANGED
@@ -4,4 +4,4 @@
4
4
  * https://github.com/lancedikson/bowser
5
5
  * MIT License | (c) Dustin Diaz 2012-2015
6
6
  * MIT License | (c) Denis Demchenko 2015-2019
7
- */const F=class Bowser{static getParser(e,t=!1){if("string"!=typeof e)throw new Error("UserAgent should be a string");return new Parser(e,t)}static parse(e){return new Parser(e).getResult()}static get BROWSER_MAP(){return E}static get ENGINE_MAP(){return T}static get OS_MAP(){return _}static get PLATFORMS_MAP(){return P}}.parse(window.navigator.userAgent),{platform:D,os:I,browser:L}=F,B=e=>e&&e.toLowerCase();var q={rnd:Math.random().toString(36).substr(2,32),os:B(I.name+(I.versionName?` ${I.versionName}`:"")),device:B(D.type),browser:B(L.name),browser_version:(L&&L.version?L.version:"unknown").split(".").shift(),plugin_version:"3.30.0-rc"};const x="https://fp-eu-w1-aai.flowplayer.com/in",j="POST",H=["ad-requested","ad-request-error","ad-request-completed","ad-completed","ad-started","ad-error","ad-skipped"],V=["event_type","ad_tag_id","media_id","player_id","site_id","sitegroup_id","rnd","os","device","browser","browser_version","plugin_version","player_version"],Q=["vast_error","reason","request_load_time","ad_type","vast_ad_id"],K=k("ads/analytics"),z=RequestQueue.of(),G=(...e)=>Object.assign({},...e);class Analytics{static of(e,t){return new Analytics(e,t)}static ensure_required_keys(e,t){return e.required_keys.filter(e=>!(e in t))}static pluck_valid_keys(e,t){return((e,...t)=>Object.keys(e).filter(e=>~t.indexOf(e)).reduce((t,r)=>Object.assign(t,{[r]:e[r]}),{}))(t,...e.valid_keys)}static mergeMetadata(e,t={}){return e.metadata=Analytics.pluck_valid_keys(e,G(e.metadata,t,{player_version:"3.30.0-rc"})),e}constructor(e,t={}){this.emitter=e,this.metadata=G(q,t.metadata||{}),this.emitter=e,this.events=t.events||[],this.required_keys=t.required_keys||[],this.optional_keys=t.optional_keys||[],this.valid_keys=this.required_keys.slice(0).concat(this.optional_keys),K(this),this.wireup()}wireup(){this.events.forEach(e=>{this.emitter.on(e,t=>{const r=t.detail,i=G(this.metadata,{event_type:e},r),s=Analytics.pluck_valid_keys(this,i),o=Analytics.ensure_required_keys(this,s);if(K(`Event[${e}]`,{payload:s,observation:r}),o.length)return K(`Analytics.validate_metadata() failed for\n Event[${e}]\n missing keys: ${o}`,s);RequestQueue.rpush(z,[x,j,s])})})}destroy(){const e=this;e.emitter=e.metadata=e.events=e.required_keys=e.optional_keys=e.valid_keys=void 0}}const W="ssai-ad-active";var $;function Y(e,t){var r;switch(t){case $.Preroll:return 0;case $.Postroll:return-1;default:return null===(r=e.ssai)||void 0===r?void 0:r.provider.getContentCurrentTime(e)}}function X(e,t,r){var i,s,o,n;const a=null===(i=t.ssai)||void 0===i?void 0:i.provider.getAdType(),c=null===(n=null===(o=null===(s=t.ssai)||void 0===s?void 0:s.provider)||void 0===o?void 0:o.src)||void 0===n?void 0:n.analyticsId,d={ad_break_time:Y(t,a),ad_muted:t.muted,event_type:e,is_ssai:!0};a&&Object.assign(d,{ad_type:a}),c&&Object.assign(d,{ad_tag_id:c}),r&&"duration"in r&&Object.assign(d,{ad_remaining_seconds:r.duration-r.currentTime,ad_duration_seconds:r.duration}),t.emit("health:record",{event:"ads/"+e,detail:d}),t.emit(e,Object.assign(d,r))}function Z(e,t){var r;e.setState(W,!0);const i=null===(r=e.ssai)||void 0===r?void 0:r.state;i&&(i.adProgress={currentTime:0,duration:t},te(e,i))}function J(e,t){var r;const i=null===(r=e.ssai)||void 0===r?void 0:r.state;i&&(i.adProgress=t,te(e,i))}function ee(e){if(!e.ssai)return;const t=e.ssai.state;e.setState(W,!1),delete t.adProgress,void 0!==t.rate&&(e.playbackRate=t.rate,delete t.rate),"number"==typeof t.snapbackTime&&(c(e,t.snapbackTime),delete t.snapbackTime)}function te(e,t){const r=e.playbackRate;1!==r&&(t.rate=r,e.playbackRate=1)}!function(e){e.Preroll="preroll",e.Midroll="midroll",e.Postroll="postroll"}($||($={}));const re=navigator.languages||[navigator.language];const ie="flowplayer-ssai-ui",se="flowplayer-ssai-controls",oe="flowplayer-ssai-timeline",ne="flowplayer-ssai-indicator",ae={Unknown:"00-00",MediaUnknown:"01-00",MediaUnavailable:"01-01",MediaUnsupportedVideoFormat:"01-02",MediaUnsupportedAudioFormat:"01-03",MediaBitrateExceeded:"01-04",MediaBufferOverread:"01-05",MediaIntegerOverflow:"01-06",MediaQuotaExceeded:"01-07",MediaInvalidCompositionDuration:"01-08",MediaInvalidCompositionSourceDuration:"01-09",MediaInvalidCompositionSourceStartTime:"01-10",MediaMalformedDepth:"01-11",PlaybackUnknown:"02-00",PlaybackVideoBufferUnderRun:"02-01",PlaybackAudioBufferUnderRun:"02-02",PlaybackVideoBufferingTimeout:"02-03",PlaybackAudioBufferingTimeout:"02-04",PlaybackManifestParseError:"02-05",PlaybackVideoDecodeError:"02-06",PlaybackAudioDecodeError:"02-07",PlaybackDroppedFramesExceeded:"02-08",PlaybackPlayheadExceedsDuration:"02-09",PlaybackUnsupportedDevice:"02-10",PlaybackManifestLoadError:"02-11",PlaybackManifestLoadTimeout:"02-12",PlaybackManifestParsingError:"02-13",PlaybackManifestIncompatibleCodecs:"02-14",PlaybackLevelEmptyError:"02-15",PlaybackLevelLoadError:"02-16",PlaybackLevelLoadTimeout:"02-17",PlaybackLevelSwitchError:"02-18",PlaybackAudioTrackLoadError:"02-19",PlaybackAudioTrackLoadTimeout:"02-20",PlaybackFragLoadError:"02-21",PlaybackFragLoadTimeout:"02-22",PlaybackFragDecryptError:"02-23",PlaybackFragParsingError:"02-24",PlaybackFragGap:"02-25",PlaybackRemuxAllocError:"02-26",PlaybackBufferAddCodecError:"02-27",PlaybackBufferIncompatibleCodecs:"02-28",PlaybackBufferAppendError:"02-29",PlaybackBufferStalledError:"02-30",PlaybackBufferFullError:"02-31",PlaybackBufferSeekOverHole:"02-32",PlaybackBufferNudgeOnStall:"02-33",PlaybackInternalException:"02-34",PlaybackInternalAborted:"02-35",PlaybackManifestLoaderFailure:"02-36",PlaybackSegmentBaseLoaderError:"02-37",PlaybackTimeSyncFailed:"02-38",PlaybackFragmentLoaderFailure:"02-39",PlaybackAppendError:"02-40",PlaybackRemoveError:"02-41",PlaybackDataUpdateFailed:"02-42",PlaybackManifestNoStreams:"02-43",PlaybackUnknownManifestType:"02-44",PlaybackDashInsufficientSegmentInfo:"02-45",PlaybackDashNoRepresentations:"02-46",PlaybackDashNoAdaptationSets:"02-47",PlaybackDashNoInitSegment:"02-48",PlaybackDashUnsupportedContainerFormat:"02-49",PlaybackDashKeySystemMismatch:"02-50",PlaybackMultipleKeyIDs:"02-51",PlaybackDashConflictingKeyIDs:"02-52",PlaybackRestrictedStreams:"02-53",PlaybackHlsMasterAndMediaTags:"02-54",PlaybackRepresentationIdConflict:"02-55",PlaybackHlsUnsupportedKeyFormats:"02-56",PlaybackManifestNoVariants:"02-57",PlaybackHlsUndeclaredVariables:"02-58",PlaybackAes128InvalidKeyLength:"02-59",PlaybackDashConflictingAes128Keys:"02-60",PlaybackDashUnsupportedAes128Encryption:"02-61",PlaybackManifestPatchMismatch:"02-62",PlaybackEmptyMediaPlaylist:"02-63",PlaybackNonContiguousCompositionTrack:"02-64",PlaybackDecoderNotFound:"02-65",PlaybackDecoderTemporarilyUnavailable:"02-66",PlaybackIncompatibleAsset:"02-67",PlaybackNoCompatibleExternalDisplay:"02-69",PlaybackOutOfMemory:"02-70",PlaybackToneMappingFailed:"02-71",PlaybackVideoCompositorFailed:"02-72",NetworkUnknown:"03-00",NetworkNoInternet:"03-01",NetworkRequestTimeout:"03-02",NetworkUnableToResolveHost:"03-03",NetworkResourceNotFound:"03-04",NetworkExpiredUrl:"03-05",NetworkUrlResolutionFailed:"03-06",NetworkDownloadErrorIdManifest:"03-07",NetworkDownloadErrorIdSidx:"03-08",NetworkDownloadErrorIdContent:"03-09",NetworkDownloadErrorIdInitialization:"03-10",NetworkDownloadErrorIdXlink:"03-11",NetworkHttpRequestFailed:"03-12",NetworkMaxRetriesExceeded:"03-13",NetworkSegmentMissing:"03-14",NetworkHttp400BadRequest:"03-400",NetworkHttp401Unauthorized:"03-401",NetworkHttp402PaymentRequired:"03-402",NetworkHttp403Forbidden:"03-403",NetworkHttp404NotFound:"03-404",NetworkHttp405MethodNotAllowed:"03-405",NetworkHttp406NotAcceptable:"03-406",NetworkHttp407ProxyAuthenticationRequired:"03-407",NetworkHttp408RequestTimeout:"03-408",NetworkHttp409Conflict:"03-409",NetworkHttp410Gone:"03-410",NetworkHttp411LengthRequired:"03-411",NetworkHttp412PreconditionFailed:"03-412",NetworkHttp413PayloadTooLarge:"03-413",NetworkHttp414URITooLong:"03-414",NetworkHttp415UnsupportedMediaType:"03-415",NetworkHttp416RangeNotSatisfiable:"03-416",NetworkHttp417ExpectationFailed:"03-417",NetworkHttp418ImATeapot:"03-418",NetworkHttp421MisdirectedRequest:"03-421",NetworkHttp422UnprocessableEntity:"03-422",NetworkHttp423Locked:"03-423",NetworkHttp424FailedDependency:"03-424",NetworkHttp425TooEarly:"03-425",NetworkHttp426UpgradeRequired:"03-426",NetworkHttp428PreconditionRequired:"03-428",NetworkHttp429TooManyRequests:"03-429",NetworkHttp431RequestHeaderFieldsTooLarge:"03-431",NetworkHttp451UnavailableForLegalReasons:"03-451",NetworkHttp500InternalServerError:"03-500",NetworkHttp501NotImplemented:"03-501",NetworkHttp502BadGateway:"03-502",NetworkHttp503ServiceUnavailable:"03-503",NetworkHttp504GatewayTimeout:"03-504",NetworkHttp505HTTPVersionNotSupported:"03-505",NetworkHttp506VariantAlsoNegotiates:"03-506",NetworkHttp507InsufficientStorage:"03-507",NetworkHttp508LoopDetected:"03-508",NetworkHttp510NotExtended:"03-510",NetworkHttp511NetworkAuthenticationRequired:"03-511",ContentProtectionUnknown:"04-00",ContentProtectionConcurrentStreamLimitExceeded:"04-01",ContentProtectionEntitlementRefused:"04-02",ContentProtectionLicenseExpired:"04-03",ContentProtectionBadLicenseRequest:"04-04",ContentProtectionLicenseServerTimeout:"04-05",ContentProtectionInsufficientHDCPSupport:"04-06",ContentProtectionGeoRestricted:"04-07",ContentProtectionParentalControlRestricted:"04-08",ContentProtectionCDNUnauthorized:"04-09",ContentProtectionInvalidAccessToken:"04-10",ContentProtectionKeySystemNoKeys:"04-11",ContentProtectionKeySystemNoAccess:"04-12",ContentProtectionKeySystemNoSession:"04-13",ContentProtectionKeySystemNoConfiguredLicense:"04-14",ContentProtectionKeySystemCertificateRequestFailed:"04-15",ContentProtectionKeySystemCertificateUpdateFailed:"04-16",ContentProtectionKeySystemSessionUpdateFailed:"04-17",ContentProtectionKeySystemStatusOutputRestricted:"04-18",ContentProtectionKeySystemStatusInternalError:"04-19",ContentProtectionKeyLoadError:"04-20",ContentProtectionKeyLoadTimeout:"04-21",ContentProtectionCapabilityMediaKeysError:"04-22",ContentProtectionManifestKeySystemUnknown:"04-23",ContentProtectionKeySystemUnavailable:"04-24",ContentProtectionCDMCreationFailed:"04-25",ContentProtectionCDMAttachFailed:"04-26",ContentProtectionCDMServerCertificateRejected:"04-27",ContentProtectionCDMSessionCreationFailed:"04-28",ContentProtectionCDMLicenseRequestFailed:"04-29",ContentProtectionCDMLicenseResponseRejected:"04-30",ContentProtectionManifestMissingDRMInfo:"04-31",ContentProtectionLicenseServerMissing:"04-32",ContentProtectionOfflineSessionRemoved:"04-33",ContentProtectionInitDataTransformationError:"04-34",ContentProtectionServerCertificateRequestFailed:"04-35",ContentProtectionInsufficientHDCPVersion:"04-36",ContentProtectionHDCPVersionCheckFailed:"04-37",AdsUnknown:"08-00",AdsVastParseError:"08-100",AdsInvalidVastSchema:"08-101",AdsVastVersionNotSupported:"08-102",AdsUnexpectedAdType:"08-200",AdsCreativeLinearityMismatch:"08-201",AdsCreativeDurationMismatch:"08-202",AdsCreativeSizeMismatch:"08-203",AdsWrapperVastError:"08-300",AdsVastResponseRedirectTimeout:"08-301",AdsWrapperLimitReached:"08-302",AdsVastResponseEmpty:"08-303",AdsLinearAdDisplayError:"08-400",AdsMediaFileNotFound:"08-401",AdsMediaFileUnavailable:"08-402",AdsUnsupportedMimeType:"08-403",AdsUnableToDisplayMediaFile:"08-405",AdsMezzanineFileMissing:"08-406",AdsMezzanineFileDownloaded:"08-407",AdsRejectedAd:"08-408",AdsInteractiveCreativeError:"08-409",AdsVerificationNodeExecutionError:"08-410",AdsNonLinearAdDisplayError:"08-500",AdsNonLinearAdSizeMismatch:"08-501",AdsNonLinearAdFetchError:"08-502",AdsNonLinearUnsupportedType:"08-503",AdsCompanionAdDisplayError:"08-600",AdsCompanionAdSizeMismatch:"08-601",AdsRequiredCompanionAdError:"08-602",AdsCompanionAdFetchError:"08-603",AdsUndefinedVastError:"08-900",AdsUnknownVpaidError:"08-901",AdsVastDocumentEmpty:"08-999"},ce=Object.fromEntries(Object.entries(ae).map(([e,t])=>[t,e])),de=[1e7]+""+-1e3+-4e3+-8e3+-1e11,le="off";class FlowplayerError extends Error{static getErrorKey(e){return e in ce?ce[e]:ce["00-00"]}constructor(e,t,r={}){super(e),this.message=e,this.flowplayerErrorCode=t,this.config=r,this.id="undefined"==typeof crypto?"":de.replace(/[018]/g,e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)),this.isFatal=!!r.isFatal,this.errorKey=FlowplayerError.getErrorKey(this.flowplayerErrorCode)||"unknown"}toJSON(){return{message:this.message,flowplayer_error_code:this.flowplayerErrorCode,id:this.id,root_error_id:this.config.rootErrorId,resource:this.config.resource,is_fatal:this.isFatal,is_retry:!!this.config.isRetry}}}function ue(e,t){const r=new google.ima.dai.api.UiSettings,i=e.opt("lang")||function(){try{return re.reduce((e,t)=>~t.indexOf("-")?e.concat(t,t.split("-")[0]):e.concat(t),[])}catch(e){return[]}}().find(e=>!e.includes("-"))||"en";r.setLocale(i);const s=new google.ima.dai.api.StreamManager(e,function(e,t){const r=e._customElements.get(t);return r&&e.root.querySelector(r)||void 0}(e,ie),r);return s.addEventListener([google.ima.dai.api.StreamEvent.Type.LOADED,google.ima.dai.api.StreamEvent.Type.ERROR,google.ima.dai.api.StreamEvent.Type.STREAM_INITIALIZED,google.ima.dai.api.StreamEvent.Type.AD_BREAK_STARTED,google.ima.dai.api.StreamEvent.Type.AD_PROGRESS,google.ima.dai.api.StreamEvent.Type.AD_BREAK_ENDED,google.ima.dai.api.StreamEvent.Type.RESUMED,google.ima.dai.api.StreamEvent.Type.PAUSED,google.ima.dai.api.StreamEvent.Type.STARTED,google.ima.dai.api.StreamEvent.Type.COMPLETE,google.ima.dai.api.StreamEvent.Type.SKIPPED,google.ima.dai.api.StreamEvent.Type.CLICK],r=>{!function(e,t,r,i){var s;if((null===(s=e.ssai)||void 0===s?void 0:s.provider)!==i)return;switch(r.type){case google.ima.dai.api.StreamEvent.Type.STREAM_INITIALIZED:return async function(e,t,r,i){var s,o;const n=i.getStreamData().streamId;if(!n||!t.isPod)return;if(!t.isVod){const r=null===(s=t.src)||void 0===s?void 0:s.streamUrl;return r?(t.daiStream=t.buildPodStreamURL(r,n),e.setSrc(t.daiStream)):console.error("streamUrl param is missing : https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/html5?service=pod#create_a_simple_video_player_2")}const a=null===(o=t.src)||void 0===o?void 0:o.requestStreamUrl;if(!a)return console.error("requestStreamUrl param is missing : https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/html5?service=pod#vod-pod-serving_1");try{t.daiStream=await a(r,n),r.loadStreamMetadata(),e.setSrc(t.daiStream)}catch(r){me(e,t,n)}}(e,i,t,r);case google.ima.dai.api.StreamEvent.Type.RESUMED:return X(h,e,pe(e,r,i));case google.ima.dai.api.StreamEvent.Type.PAUSED:return X(f,e,pe(e,r,i));case google.ima.dai.api.StreamEvent.Type.COMPLETE:return X(v,e,pe(e,r,i));case google.ima.dai.api.StreamEvent.Type.SKIPPED:return X(g,e,pe(e,r,i));case google.ima.dai.api.StreamEvent.Type.LOADED:return function(e,t,r){const i=r.getStreamData().url;if(!i||t.isPod&&!t.isVod)return;t.daiStream=i,e.setSrc(i)}(e,i,r);case google.ima.dai.api.StreamEvent.Type.STARTED:return i.currentAd=r.getAd(),X(y,e,pe(e,r,i));case google.ima.dai.api.StreamEvent.Type.AD_BREAK_STARTED:return Z(e),X(u,e,pe(e,r,i));case google.ima.dai.api.StreamEvent.Type.AD_BREAK_ENDED:return X(p,e,pe(e,r,i)),ee(e),i.currentAd=void 0;case google.ima.dai.api.StreamEvent.Type.ERROR:return me(e,i,r.getStreamData().url||"",r);case google.ima.dai.api.StreamEvent.Type.AD_PROGRESS:{const t=pe(e,r,i);return J(e,t),X(m,e,t)}case google.ima.dai.api.StreamEvent.Type.CLICK:(function(e){if(!e.paused)e.togglePlay(!1)})(e)}}(e,s,r,t)},!1),e.on(b,r=>{var i,o;(null===(i=e.ssai)||void 0===i?void 0:i.provider)===t&&(null===(o=r.detail)||void 0===o||o.samples.forEach(e=>s.processMetadata("ID3",e.data,e.pts)))}),e.on(w,r=>{var i;const o=r.detail;if(!o||(null===(i=e.ssai)||void 0===i?void 0:i.provider)!==t)return;const n=o.event.messageData,a=o.event.calculatedPresentationTime;s.processMetadata("urn:google:dai:2018",n,a)}),s}function pe(e,t,r){const i=r.currentAd,s=Object.assign({},t.getStreamData().adProgressData);return i&&Object.assign(s,{vast_ad_id:i.getAdId()}),(null==i?void 0:i.getAdPodInfo())&&Object.assign(s,{position:i.getAdPodInfo().getAdPosition(),totals:i.getAdPodInfo().getTotalAds()}),s}function me(e,t,r,i){var s,o,n,a,c;e.emit("flowplayer:error",{error:new FlowplayerError((null===(s=null==i?void 0:i.getStreamData())||void 0===s?void 0:s.errorMessage)||"error loading stream",ae.AdsUnknown,{isFatal:!0,showErrorUI:!(null===(o=t.src)||void 0===o?void 0:o.backupStream),resource:(null===(n=null==i?void 0:i.getStreamData())||void 0===n?void 0:n.url)||(null===(a=t.src)||void 0===a?void 0:a.contentSourceId)||r,retryOpts:{retry:le}})}),(null===(c=t.src)||void 0===c?void 0:c.backupStream)&&e.setSrc(t.src.backupStream)}var ge;!function(e){e.Preroll="preroll",e.Midroll="midroll",e.Postroll="postroll"}(ge||(ge={}));const fe=k("ads/ima/sdk");var he;async function ye(e,t){var r;const i=null===(r=null===window||void 0===window?void 0:window.google)||void 0===r?void 0:r.ima;if(t?null==i?void 0:i.dai:i)return void fe(":noop");const s=t?"https://imasdk.googleapis.com/js/sdkloader/ima3_dai.js":e._storage.getItem("ima/debug")?"https://imasdk.googleapis.com/js/sdkloader/ima3_debug.js":"https://imasdk.googleapis.com/js/sdkloader/ima3.js";try{return await async function(e){return new Promise((t,r)=>{let i=document.querySelector(`script[src='${e}']`);if(i)return ve(i,t,r);i=document.createElement("script"),i.setAttribute("state",he.LOADING),ve(i,t,r),i.src=e,document.head.appendChild(i)})}(s),void fe(":loaded")}catch(e){fe(`:error ${e.message}`,e)}}function ve(e,t,r){const i=e.getAttribute("state");if(i&&[he.ERROR,he.LOADED].includes(i))return t(void 0);e.addEventListener("load",()=>{e.setAttribute("state",he.LOADED),t(void 0)},{once:!0}),["error","abort"].forEach(t=>{e.addEventListener(t,()=>{e.setAttribute("state",he.ERROR),r("script failed to load")},{once:!0})})}!function(e){e.LOADING="loading",e.LOADED="loaded",e.ERROR="error"}(he||(he={}));class Dai{constructor(e){this.make_analytics(e)}async onload(e,t){var r,i;return await ye(e,!0),(null===(i=null===(r=window.google)||void 0===r?void 0:r.ima)||void 0===i?void 0:i.dai)?((null==this?void 0:this.streamManager)||(this.streamManager=ue(e,this)),this.src=t,this.isPod=!!t.customAssetKey||!!t.requestStreamUrl,this.isVod=!!t.contentSourceId||!!t.videoId||!!t.requestStreamUrl,this.isPod?this.requestPodStream(t):void this.requestStream(t)):(console.warn("google.ima.dai unavailable"),void(t.backupStream&&e.setSrc(t.backupStream)))}onNewSrc(e,t){var r;t.src!==this.daiStream&&(this.daiStream=void 0,e.ssai=void 0,null===(r=this.streamManager)||void 0===r||r.reset())}make_analytics(e){const t=Analytics.of(e,{required_keys:V,events:H,optional_keys:Q});e.on("config",()=>{var r;return Analytics.mergeMetadata(t,null===(r=e.opts)||void 0===r?void 0:r.metadata)})}onId3(e){var t;const r={},i=e.value;r[i.key]=i.data,null===(t=this.streamManager)||void 0===t||t.onTimedMetadata(r)}getAdType(){if(this.currentAd)switch(this.currentAd.getAdPodInfo().getPodIndex()){case 0:return ge.Preroll;case-1:return ge.Postroll;case-2:return;default:return ge.Midroll}}getContentCurrentTime(e){const t=e.currentTime;return this.streamManager?this.streamManager.contentTimeForStreamTime(t):t}setContentCurrentTime(e,t){}getContentDuration(e){const t=e.duration;return this.streamManager?this.streamManager.contentTimeForStreamTime(t):t}getPreviousActiveAdStart(e,t){var r;const i=null===(r=null==this?void 0:this.streamManager)||void 0===r?void 0:r.previousCuePointForStreamTime(t);if(i&&!i.played)return i.start}requestStream(e){var t;const r=this.isVod?new google.ima.dai.api.VODStreamRequest:new google.ima.dai.api.LiveStreamRequest;null===(t=this.streamManager)||void 0===t||t.requestStream(Object.assign(r,e))}requestPodStream(e){var t;const r=this.isVod?new google.ima.dai.api.PodVodStreamRequest:new google.ima.dai.api.PodStreamRequest;null===(t=this.streamManager)||void 0===t||t.requestStream(Object.assign(r,e))}buildPodStreamURL(e,t){return e.replace("[[STREAMID]]",t)}}Dai.Type="google/dai";const be=window.YospaceAdManagement||{AnalyticEventObserver:null};class EventObserver extends be.AnalyticEventObserver{constructor(e){super(),this.video=e}onAdvertBreakStart(e){const t=e.getDuration();if(!e.isActive()&&t){const e=a(this.video);c(this.video,e+t/1e3)}Z(this.video,e.getStart()),X(u,this.video)}onAdvertBreakEnd(){ee(this.video),X(p,this.video)}onAdvertStart(e){}onAdvertEnd(){}onTrackingEvent(e){}}function we(e,t){YospaceAdManagement.SessionVOD.create(e,t.ssai.properties,e=>{const r=e.getPayload();if(r.getSessionResult()===YospaceAdManagement.SessionResult.INITIALISED){t.ssai.session=r;const e=new EventObserver(t);r.addAnalyticObserver(e),t.setSrc({src:r.getPlaybackUrl()}),setInterval(()=>{const e=1e3*a(t);r.onPlayheadUpdate(e),function(e,t,r){const i=e.getCurrentAdBreak();if(!i)return;const s={currentTime:r-i.getStart(),duration:i.getDuration()};J(t,s),X(m,t,s)}(r,t,e)},250)}else console.warn("YoSpace Failed to initialise session. ResultCode = "+r.getResultCode())})}class Yospace{static exists(){return!!window.YospaceAdManagement}constructor(e){!function(e){Object.defineProperty(e,"currentTime",{get:function(){if(e.ssai){const t=e.ssai.state.adProgress;return t?t.currentTime:e.ssai.provider.getContentCurrentTime(e)}return a(e)},set:function(t){var r;if(e.ssai){if(e.ssai.state.adProgress)return;return null===(r=e.ssai.provider)||void 0===r?void 0:r.setContentCurrentTime(e,t)}return c(e,t)}}),Object.defineProperty(e,"duration",{get:function(){if(e.ssai){const t=e.ssai.state.adProgress;return t?t.duration:e.ssai.provider.getContentDuration(e)}return l(e)},set:function(){}})}(e)}onload(e,t){Object.assign(e.ssai,function(){const e=new YospaceAdManagement.SessionProperties;return e.setUserAgent(navigator.userAgent),{properties:e}}()),t&&t.src&&we(t.src,e)}getContentCurrentTime(e){const t=a(e),r=e.ssai.session;return r?r.getContentPositionForPlayhead(1e3*t)/1e3:t}setContentCurrentTime(e,t){const r=e.ssai.session;if(!r)return c(e,t);return c(e,r.getPlayheadForContentPosition(1e3*t)/1e3)}getContentDuration(e){const t=e.ssai.session,r=l(e);return t?t.getContentPositionForPlayhead(t.getDuration())/1e3:r}getAdType(){}getPreviousActiveAdStart(e,t){const r=e.ssai.session;if(!r)return;const i=r.getAdBreaks();let s;const o=1e3*t;return i.forEach(e=>{void 0===s&&e.getStart()<o&&e.isActive()&&(s=e)}),void 0!==s?s.getStart()/1e3:void 0}}function Se(e){var n;if((null===(n=this.player.ssai)||void 0===n?void 0:n.provider)===this)switch(e.type){case s:case i:return function(e){if(!e.player.hasState(W))return;return X(e.player.paused?f:h,e.player)}(this);case t:return function(e){const t=e.player,r=t.hls;if(!r)return;if(t.hasState(W))return r.config.maxBufferLength=1;const i=t.currentTime;let s,o=0;for(;o<t.buffered.length;o++)if(t.buffered.start(o)-1<=i&&t.buffered.end(o)>=i){s=t.buffered.end(o);break}if(void 0===s)return;const n=e.getAdCues().find(e=>!e.played&&e.endTime>s&&e.startTime<=s);return r.config.maxBufferLength=n?1:30}(this);case r:return function(e){if(!e.activeCue||!e.player.hasState(W))return;const t=e.player.currentTime;if(t<=e.activeCue.endTime)return e.ad={duration:e.activeCue.endTime-e.activeCue.startTime,currentTime:t-e.activeCue.startTime},X(m,e.player,Object.assign(Object.assign({},e.ad),e.podInfo));if(e.podInfo.totals!==e.podInfo.position)return;ke(e)}(this);case o:return ke(this)}}function ke(e){e.activeCue&&e.player.hasState(W)&&(X(v,e.player),X(p,e.player),ee(e.player),e.activeCue.played=!0,e.activeCue=void 0)}Yospace.Type="yospace";var Ae=function(e){var t={exports:{}};return e(t,t.exports),t.exports}(function(e,t){var r=function(){for(var e=new Array(256),t=0;t<256;++t)e[t]="%"+((t<16?"0":"")+t.toString(16)).toUpperCase();return e}(),i=Object.prototype.hasOwnProperty;t.arrayToObject=function(e,t){for(var r=t.plainObjects?Object.create(null):{},i=0;i<e.length;++i)void 0!==e[i]&&(r[i]=e[i]);return r},t.merge=function(e,r,s){if(!r)return e;if("object"!=typeof r){if(Array.isArray(e))e.push(r);else{if("object"!=typeof e)return[e,r];(s.plainObjects||s.allowPrototypes||!i.call(Object.prototype,r))&&(e[r]=!0)}return e}if("object"!=typeof e)return[e].concat(r);var o=e;return Array.isArray(e)&&!Array.isArray(r)&&(o=t.arrayToObject(e,s)),Object.keys(r).reduce(function(e,o){var n=r[o];return i.call(e,o)?e[o]=t.merge(e[o],n,s):e[o]=n,e},o)},t.decode=function(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(t){return e}},t.encode=function(e){if(0===e.length)return e;for(var t="string"==typeof e?e:String(e),i="",s=0;s<t.length;++s){var o=t.charCodeAt(s);45===o||46===o||95===o||126===o||o>=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122?i+=t.charAt(s):o<128?i+=r[o]:o<2048?i+=r[192|o>>6]+r[128|63&o]:o<55296||o>=57344?i+=r[224|o>>12]+r[128|o>>6&63]+r[128|63&o]:(s+=1,o=65536+((1023&o)<<10|1023&t.charCodeAt(s)),i+=r[240|o>>18]+r[128|o>>12&63]+r[128|o>>6&63]+r[128|63&o])}return i},t.compact=function(e,r){if("object"!=typeof e||null===e)return e;var i=r||[],s=i.indexOf(e);if(-1!==s)return i[s];if(i.push(e),Array.isArray(e)){for(var o=[],n=0;n<e.length;++n)e[n]&&"object"==typeof e[n]?o.push(t.compact(e[n],i)):void 0!==e[n]&&o.push(e[n]);return o}for(var a=Object.keys(e),c=0;c<a.length;++c){var d=a[c];e[d]=t.compact(e[d],i)}return e},t.isRegExp=function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},t.isBuffer=function(e){return null!=e&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))}}),Me={brackets:function(e){return e+"[]"},indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},Ee={delimiter:"&",strictNullHandling:!1,skipNulls:!1,encode:!0,encoder:Ae.encode},Pe=function e(t,r,i,s,o,n,a,c,d){var l=t;if("function"==typeof a)l=a(r,l);else if(l instanceof Date)l=l.toISOString();else if(null===l){if(s)return n?n(r):r;l=""}if("string"==typeof l||"number"==typeof l||"boolean"==typeof l||Ae.isBuffer(l))return n?[n(r)+"="+n(l)]:[r+"="+String(l)];var u,p=[];if(void 0===l)return p;if(Array.isArray(a))u=a;else{var m=Object.keys(l);u=c?m.sort(c):m}for(var g=0;g<u.length;++g){var f=u[g];o&&null===l[f]||(p=Array.isArray(l)?p.concat(e(l[f],i(r,f),i,s,o,n,a,c,d)):p.concat(e(l[f],r+(d?"."+f:"["+f+"]"),i,s,o,n,a,c,d)))}return p},_e=Object.prototype.hasOwnProperty,Te={delimiter:"&",depth:5,arrayLimit:20,parameterLimit:1e3,strictNullHandling:!1,plainObjects:!1,allowPrototypes:!1,allowDots:!1,decoder:Ae.decode},Ce=function e(t,r,i){if(!t.length)return r;var s,o=t.shift();if("[]"===o)s=(s=[]).concat(e(t,r,i));else{s=i.plainObjects?Object.create(null):{};var n="["===o.charAt(0)&&"]"===o.charAt(o.length-1)?o.slice(1,-1):o,a=parseInt(n,10);!isNaN(a)&&o!==n&&String(a)===n&&a>=0&&i.parseArrays&&a<=i.arrayLimit?(s=[])[a]=e(t,r,i):s[n]=e(t,r,i)}return s},Ue=function(e,t,r){if(e){var i=r.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,s=/(\[[^[\]]*])/g,o=/(\[[^[\]]*])/.exec(i),n=o?i.slice(0,o.index):i,a=[];if(n){if(!r.plainObjects&&_e.call(Object.prototype,n)&&!r.allowPrototypes)return;a.push(n)}for(var c=0;null!==(o=s.exec(i))&&c<r.depth;){if(c+=1,!r.plainObjects&&_e.call(Object.prototype,o[1].slice(1,-1))&&!r.allowPrototypes)return;a.push(o[1])}return o&&a.push("["+i.slice(o.index)+"]"),Ce(a,t,r)}},Re=function(e,t){var r,i,s=e,o=t||{},n=void 0===o.delimiter?Ee.delimiter:o.delimiter,a="boolean"==typeof o.strictNullHandling?o.strictNullHandling:Ee.strictNullHandling,c="boolean"==typeof o.skipNulls?o.skipNulls:Ee.skipNulls,d=("boolean"==typeof o.encode?o.encode:Ee.encode)?"function"==typeof o.encoder?o.encoder:Ee.encoder:null,l="function"==typeof o.sort?o.sort:null,u=void 0!==o.allowDots&&o.allowDots;if(null!==o.encoder&&void 0!==o.encoder&&"function"!=typeof o.encoder)throw new TypeError("Encoder has to be a function.");"function"==typeof o.filter?s=(i=o.filter)("",s):Array.isArray(o.filter)&&(r=i=o.filter);var p,m=[];if("object"!=typeof s||null===s)return"";p=o.arrayFormat in Me?o.arrayFormat:"indices"in o?o.indices?"indices":"repeat":"indices";var g=Me[p];r||(r=Object.keys(s)),l&&r.sort(l);for(var f=0;f<r.length;++f){var h=r[f];c&&null===s[h]||(m=m.concat(Pe(s[h],h,g,a,c,d,i,l,u)))}return m.join(n)},Ne=function(e,t){var r=t||{};if(null!==r.decoder&&void 0!==r.decoder&&"function"!=typeof r.decoder)throw new TypeError("Decoder has to be a function.");if(r.delimiter="string"==typeof r.delimiter||Ae.isRegExp(r.delimiter)?r.delimiter:Te.delimiter,r.depth="number"==typeof r.depth?r.depth:Te.depth,r.arrayLimit="number"==typeof r.arrayLimit?r.arrayLimit:Te.arrayLimit,r.parseArrays=!1!==r.parseArrays,r.decoder="function"==typeof r.decoder?r.decoder:Te.decoder,r.allowDots="boolean"==typeof r.allowDots?r.allowDots:Te.allowDots,r.plainObjects="boolean"==typeof r.plainObjects?r.plainObjects:Te.plainObjects,r.allowPrototypes="boolean"==typeof r.allowPrototypes?r.allowPrototypes:Te.allowPrototypes,r.parameterLimit="number"==typeof r.parameterLimit?r.parameterLimit:Te.parameterLimit,r.strictNullHandling="boolean"==typeof r.strictNullHandling?r.strictNullHandling:Te.strictNullHandling,""===e||null==e)return r.plainObjects?Object.create(null):{};for(var i="string"==typeof e?function(e,t){for(var r={},i=e.split(t.delimiter,t.parameterLimit===1/0?void 0:t.parameterLimit),s=0;s<i.length;++s){var o,n,a=i[s],c=-1===a.indexOf("]=")?a.indexOf("="):a.indexOf("]=")+1;-1===c?(o=t.decoder(a),n=t.strictNullHandling?null:""):(o=t.decoder(a.slice(0,c)),n=t.decoder(a.slice(c+1))),_e.call(r,o)?r[o]=[].concat(r[o]).concat(n):r[o]=n}return r}(e,r):e,s=r.plainObjects?Object.create(null):{},o=Object.keys(i),n=0;n<o.length;++n){var a=o[n],c=Ue(a,i[a],r);s=Ae.merge(s,c,r)}return Ae.compact(s)};const Oe=k("fpads:macros"),Fe=/\[([\s\S]+?)\]/g;class Macros{static run(e){try{return e()}catch(e){return void console.error(e)}}static merge(...e){return e.reduce((e,t)=>Object.assign(e,t),{})}static cast(e){return void 0===e?"":"function"==typeof e?encodeURIComponent(Macros.run(e)||""):"string"==typeof e?encodeURIComponent(e):"number"==typeof e||"boolean"==typeof e?e.toString():""}static normalize(e){return e.trim()}static process_obj(e,t,r){return Object.keys(e).reduce((i,s)=>{const o=Macros.process_str(s,t,r,!0),n=e[s];return null===n?(i[o]=n,i):"object"==typeof n?(i[o]=Macros.process_obj(n,t,r),i):"string"==typeof n?(i[o]=Macros.process_str(n,t,r),i):(console.error(new Error(`${n} at ${s} not a handled Macro type`)),i)},{})}static process_str(e,t,r,i=!1){return e.replace(t.pattern,(e,t)=>{const s=Macros.normalize(t);if(!(s in r)||void 0===r[s])return e;const o=r[s],n=i?o:Macros.cast(o);return Oe("Macro.replace(raw: %s, macro: %s, value: %s)",i,t,n),n})}constructor(e={},t=Fe){this.vars=e,this.pattern=t}fork(e={},t=this.pattern){const r=Macros.merge(this.vars,e);return new Macros(r,t)}compile(e,t={}){const r=Macros.merge(this.vars,t),[i,s]=e.split("?"),o=Ne(s||"",{strictNullHandling:!0,decoder:e=>e}),n=Re(Macros.process_obj(o,this,r),{encode:!1,strictNullHandling:!0});return Macros.process_str(i,this,r,!0)+"?"+n}}function De(e,t={width:0,height:0}){let r,i;try{const e=document.createElement("a");e.href=r=window.location!=window.parent.location?document.referrer:document.location.href,i=e.hostname}catch(e){console.error(e)}const{width:s,height:o}=t,{video_source:n}=e||{},a=function(){const e=window;return"object"==typeof e.__flowplayerAdParameters?e.__flowplayerAdParameters:{}}();return Object.assign({random:Date.now(),page_url:r,domain:i,player_width:s,player_height:o,video_url:n,videourl:n},a)}Macros.patterns={BRACKETS:Fe,CURLY:/\{([\s\S]+?)\}/g,UNDERSCORE:/__([\s\S]+?)__/g};const Ie="X-AD-CREATIVE-SIGNALING";class MediaTailor{constructor(e){this.ad={duration:0,currentTime:0},this.podInfo={totals:0,position:0},this.player=e,e.on([r,t,s,i,o],Se.bind(this))}onload(e,t){this.stream=this.compileMacros(e,t),e.setSrc(this.stream)}compileMacros(e,t){var r,i;const s=e.opts,o=De(void 0,{width:e.clientWidth,height:e.clientHeight});(s.duration||(null===(r=s.metadata)||void 0===r?void 0:r.duration))&&Object.assign(o,{media_duration:s.duration||(null===(i=s.metadata)||void 0===i?void 0:i.duration)});return new Macros(Object.assign({referrer_url:document.referrer,autoplay:!!e.opts.autoplay},e.opts.metadata,t.parameters,o)).compile(t.stream)}onNewSrc(e,t){t.src!==this.stream&&(this.activeCue=void 0,e.ssai=void 0)}getPreviousActiveAdStart(e,t){if(this.activeCue)return;const r=this.getAdCues(),i=r.slice().reverse().find(e=>e.endTime<t);if(!i||i.played)return;const s=r[r.indexOf(i)+1];return!s||t<s.startTime&&(t+.1<=s.startTime||s.played||e.paused)?this.findAdBreakStartCue(i).startTime:void 0}onId3(e){var t;if(e.played||e==this.activeCue)return;if((null===(t=e.value)||void 0===t?void 0:t.key)!==Ie)return;if(this.activeCue)return X(v,this.player),this.activeCue.played=!0,this.activeCue=e,++this.podInfo.position,X(y,this.player,Object.assign(Object.assign({},this.ad),this.podInfo));const r=this.findAdBreakStartCue(e);if(r!==e)return this.player.currentTime=r.startTime;Math.abs(e.startTime-this.player.currentTime)>1&&(this.player.currentTime=e.startTime),this.activeCue=e,Z(this.player),this.setPodInfo(e),X(u,this.player),X(y,this.player,Object.assign(Object.assign({},this.ad),this.podInfo))}setPodInfo(e){const t=this.getAdCues().filter(t=>t.startTime>=e.startTime);let r=1;for(;r<=t.length-1&&!(t[r].startTime-t[r-1].endTime>1);)r++;return this.podInfo={totals:r,position:1},this.player.hasState("is-live")?this.ad_type=$.Midroll:e.startTime<=1?this.ad_type=$.Preroll:Math.abs(t[r-1].endTime-this.player.duration)<=1?this.ad_type=$.Postroll:this.ad_type=$.Midroll}findAdBreakStartCue(e){const t=this.getAdCues().filter(t=>t.startTime<=e.startTime).reverse();let r=e,i=1;for(;i<t.length&&!(t[i-1].startTime-t[i].endTime>.1);)r=t[i],i++;return r}getAdCues(){var e;const t=(null===(e=Array.from(this.player.textTracks).find(e=>"metadata"===e.kind))||void 0===e?void 0:e.cues)||[];return Array.from(t).slice().filter(e=>{var t;return(null===(t=e.value)||void 0===t?void 0:t.key)===Ie})}getContentCurrentTime(e){if(!this.activeCue)return 0;let t=this.findAdBreakStartCue(this.activeCue).startTime;return this.getAdCues().filter(e=>e.endTime<t).forEach(e=>{t-=e.endTime-e.startTime}),t}getAdType(){return this.ad_type}getContentDuration(e){return 0}setContentCurrentTime(e,t){}}MediaTailor.Type="mediaTailor";const Le=(e,t)=>new(((e,t)=>{const r=e.get(t);if(!r)throw new Error(`no flowplayer component with the name ${t} exists`);const i=window.customElements.get(t);if(!i)throw new Error(`no default flowplayer component with the name ${t} exists`);const s=window.customElements.get(r);return"function"!=typeof s?i:s})(e._customElements,t))(e),Be=(e,t,r)=>{window.customElements.get(t)||window.customElements.define(t,r),e.customElements.get(t)||e.customElements.set(t,t)};class FlowplayerComponent extends HTMLElement{constructor(e){super(),this.player=e}}class SSAIAdUi extends FlowplayerComponent{constructor(e){super(e),this.className="fp-ssai-ui",this.append(...this.fsIcons(),...this.player.createComponents(se,ne))}fsIcons(){return this.player.createComponents("flowplayer-fullscreen-enter-icon","flowplayer-fullscreen-exit-icon").map(e=>(e.onclick=()=>this.player.toggleFullScreen(),e))}}class SSAITimeline extends FlowplayerComponent{constructor(e){super(e),this.className="fp-ssai-timeline";const t=document.createElement("div");t.className="fp-ssai-progress fp-color",this.append(t),this.player.on(p,()=>{t.classList.remove("go"),"--ssai-percent-complete --ssai-percent-previous".split(" ").forEach(e=>this.style.setProperty(e,"0"))}),this.player.on(m,e=>{var r,i;const s=null===(r=e.detail)||void 0===r?void 0:r.currentTime,o=null===(i=e.detail)||void 0===i?void 0:i.duration;if(void 0===o||void 0===s)return;const n=s/o*100,a=t.style.getPropertyValue("--ssai-percent-complete");t.classList.remove("go"),t.style.setProperty("--ssai-percent-previous",a),t.style.setProperty("--ssai-percent-complete",n.toFixed(3)),t.classList.add("go")})}}function qe(e){const t="number"==typeof e?e:parseInt(e,10);return(t>9?"":"0")+t}function xe(e){if(isNaN(e)||e>=Number.MAX_SAFE_INTEGER)return"";const t=e<0?"-":"";e=Math.round(Math.abs(e));const r=Math.floor(e/3600);let i=Math.floor(e/60);return e-=60*i,r>=1?(i-=60*r,t+r+":"+qe(i)+":"+qe(e)):t+qe(i)+":"+qe(e)}class SSAIControls extends FlowplayerComponent{constructor(e){super(e),this.className="fp-ssai-controls";const t=document.createElement("span");t.className="fp-ssai-elapsed";const r=document.createElement("span");r.className="fp-ssai-duration",this.player.on(m,e=>{const i=e.detail;i&&(t.textContent=xe(i.currentTime||0),r.textContent=xe(i.duration||0))}),this.append(...this.player.createComponents("flowplayer-control-buttons"),t,...this.player.createComponents(oe),r,...this.player.createComponents("flowplayer-volume-control"))}}class SSAIAdIndicator extends FlowplayerComponent{constructor(e){super(e),this.className="fp-ssai-indicator",this.player.on(y,e=>{var t,r;const i=null===(t=e.detail)||void 0===t?void 0:t.totals,s=null===(r=e.detail)||void 0===r?void 0:r.position;void 0!==i&&void 0!==s&&(this.textContent=`${this.player.i18n("ads.indicator","ADS")} ${s} / ${i}`)})}}var je,He=Object.freeze({__proto__:null,ID3:"ID3"});const Ve=((je=class ID3{init(e,t,r){r.textTracks.addEventListener("addtrack",({track:e})=>{if(e&&"metadata"===e.kind)return"id3"==e.id||"id3"==e.label||"com.apple.streaming"==e.inBandMetadataTrackDispatchType?function(e,t){t.mode="hidden",t.addEventListener("cuechange",async()=>{Array.from(t.activeCues||[]).forEach(async t=>{(function(e){return"object"==typeof e.value&&"string"==typeof e.value.key&&!!e.value.data})(t)&&e.emit("ID3",{cue:t})})})}(r,e):void 0})}}).pluginName="id3",je.events=He,je),Qe=e(window,Ve);var Ke;const ze=((Ke=class Ssai{constructor(e,t){this.umd=e,this.providers=[],this.player=t,Be(e,ie,SSAIAdUi),Be(e,oe,SSAITimeline),Be(e,se,SSAIControls),Be(e,ne,SSAIAdIndicator)}init(e,t,r){const i=Le(r,ie);if(t.append(i),r.on(Qe.events.ID3,({detail:e})=>{var t,i,s;const o=null==e?void 0:e.cue;o&&(null===(s=null===(t=r.ssai)||void 0===t?void 0:(i=t.provider).onId3)||void 0===s||s.call(i,o))}),r.on("seeked",()=>function(e){if(e.opt("live"))return;if(!e.ssai)return;const{provider:t,state:r}=e.ssai;if(r.snapback)return r.snapback=!1;const i=a(e),s=t.getPreviousActiveAdStart(e,i);void 0!==s&&(r.snapback=!0,r.snapbackTime=i,c(e,s))}(r)),r.on("src",e=>{var t,i,s;r.setState(W,!1),null===(s=null===(i=null===(t=r.ssai)||void 0===t?void 0:t.provider)||void 0===i?void 0:i.onNewSrc)||void 0===s||s.call(i,r,e.detail)}),this.umd.extensions.find(e=>e.pluginName===Qe.pluginName))return;new Qe(this.umd,r).init(e,t,r)}onload(e,t,r,i){var s,o;null===(o=null===(s=r.ssai)||void 0===s?void 0:s.provider)||void 0===o||o.onload(r,i)}wants(e,t,r){return!!this.findProvider(t)}findProvider(e){let t;switch(e.type){case MediaTailor.Type:t=this.providers.find(e=>e instanceof MediaTailor)||new MediaTailor(this.player);break;case Dai.Type:t=this.providers.find(e=>e instanceof Dai)||new Dai(this.player);break;case Yospace.Type:Yospace.exists()&&(t=this.providers.find(e=>e instanceof Yospace)||new Yospace(this.player))}return t&&(this.player.ssai={provider:t,state:{snapback:!1}},this.providers.includes(t)||this.providers.push(t)),t}}).pluginName="ssai",Ke.events=S,Ke);return e(window,ze)});
7
+ */const F=class Bowser{static getParser(e,t=!1){if("string"!=typeof e)throw new Error("UserAgent should be a string");return new Parser(e,t)}static parse(e){return new Parser(e).getResult()}static get BROWSER_MAP(){return E}static get ENGINE_MAP(){return T}static get OS_MAP(){return _}static get PLATFORMS_MAP(){return P}}.parse(window.navigator.userAgent),{platform:D,os:I,browser:L}=F,B=e=>e&&e.toLowerCase();var q={rnd:Math.random().toString(36).substr(2,32),os:B(I.name+(I.versionName?` ${I.versionName}`:"")),device:B(D.type),browser:B(L.name),browser_version:(L&&L.version?L.version:"unknown").split(".").shift(),plugin_version:"3.30.1-rc"};const x="https://fp-eu-w1-aai.flowplayer.com/in",j="POST",H=["ad-requested","ad-request-error","ad-request-completed","ad-completed","ad-started","ad-error","ad-skipped"],V=["event_type","ad_tag_id","media_id","player_id","site_id","sitegroup_id","rnd","os","device","browser","browser_version","plugin_version","player_version"],Q=["vast_error","reason","request_load_time","ad_type","vast_ad_id"],K=k("ads/analytics"),z=RequestQueue.of(),G=(...e)=>Object.assign({},...e);class Analytics{static of(e,t){return new Analytics(e,t)}static ensure_required_keys(e,t){return e.required_keys.filter(e=>!(e in t))}static pluck_valid_keys(e,t){return((e,...t)=>Object.keys(e).filter(e=>~t.indexOf(e)).reduce((t,r)=>Object.assign(t,{[r]:e[r]}),{}))(t,...e.valid_keys)}static mergeMetadata(e,t={}){return e.metadata=Analytics.pluck_valid_keys(e,G(e.metadata,t,{player_version:"3.30.1-rc"})),e}constructor(e,t={}){this.emitter=e,this.metadata=G(q,t.metadata||{}),this.emitter=e,this.events=t.events||[],this.required_keys=t.required_keys||[],this.optional_keys=t.optional_keys||[],this.valid_keys=this.required_keys.slice(0).concat(this.optional_keys),K(this),this.wireup()}wireup(){this.events.forEach(e=>{this.emitter.on(e,t=>{const r=t.detail,i=G(this.metadata,{event_type:e},r),s=Analytics.pluck_valid_keys(this,i),o=Analytics.ensure_required_keys(this,s);if(K(`Event[${e}]`,{payload:s,observation:r}),o.length)return K(`Analytics.validate_metadata() failed for\n Event[${e}]\n missing keys: ${o}`,s);RequestQueue.rpush(z,[x,j,s])})})}destroy(){const e=this;e.emitter=e.metadata=e.events=e.required_keys=e.optional_keys=e.valid_keys=void 0}}const W="ssai-ad-active";var $;function Y(e,t){var r;switch(t){case $.Preroll:return 0;case $.Postroll:return-1;default:return null===(r=e.ssai)||void 0===r?void 0:r.provider.getContentCurrentTime(e)}}function X(e,t,r){var i,s,o,n;const a=null===(i=t.ssai)||void 0===i?void 0:i.provider.getAdType(),c=null===(n=null===(o=null===(s=t.ssai)||void 0===s?void 0:s.provider)||void 0===o?void 0:o.src)||void 0===n?void 0:n.analyticsId,d={ad_break_time:Y(t,a),ad_muted:t.muted,event_type:e,is_ssai:!0};a&&Object.assign(d,{ad_type:a}),c&&Object.assign(d,{ad_tag_id:c}),r&&"duration"in r&&Object.assign(d,{ad_remaining_seconds:r.duration-r.currentTime,ad_duration_seconds:r.duration}),t.emit("health:record",{event:"ads/"+e,detail:d}),t.emit(e,Object.assign(d,r))}function Z(e,t){var r;e.setState(W,!0);const i=null===(r=e.ssai)||void 0===r?void 0:r.state;i&&(i.adProgress={currentTime:0,duration:t},te(e,i))}function J(e,t){var r;const i=null===(r=e.ssai)||void 0===r?void 0:r.state;i&&(i.adProgress=t,te(e,i))}function ee(e){if(!e.ssai)return;const t=e.ssai.state;e.setState(W,!1),delete t.adProgress,void 0!==t.rate&&(e.playbackRate=t.rate,delete t.rate),"number"==typeof t.snapbackTime&&(c(e,t.snapbackTime),delete t.snapbackTime)}function te(e,t){const r=e.playbackRate;1!==r&&(t.rate=r,e.playbackRate=1)}!function(e){e.Preroll="preroll",e.Midroll="midroll",e.Postroll="postroll"}($||($={}));const re=navigator.languages||[navigator.language];const ie="flowplayer-ssai-ui",se="flowplayer-ssai-controls",oe="flowplayer-ssai-timeline",ne="flowplayer-ssai-indicator",ae={Unknown:"00-00",MediaUnknown:"01-00",MediaUnavailable:"01-01",MediaUnsupportedVideoFormat:"01-02",MediaUnsupportedAudioFormat:"01-03",MediaBitrateExceeded:"01-04",MediaBufferOverread:"01-05",MediaIntegerOverflow:"01-06",MediaQuotaExceeded:"01-07",MediaInvalidCompositionDuration:"01-08",MediaInvalidCompositionSourceDuration:"01-09",MediaInvalidCompositionSourceStartTime:"01-10",MediaMalformedDepth:"01-11",PlaybackUnknown:"02-00",PlaybackVideoBufferUnderRun:"02-01",PlaybackAudioBufferUnderRun:"02-02",PlaybackVideoBufferingTimeout:"02-03",PlaybackAudioBufferingTimeout:"02-04",PlaybackManifestParseError:"02-05",PlaybackVideoDecodeError:"02-06",PlaybackAudioDecodeError:"02-07",PlaybackDroppedFramesExceeded:"02-08",PlaybackPlayheadExceedsDuration:"02-09",PlaybackUnsupportedDevice:"02-10",PlaybackManifestLoadError:"02-11",PlaybackManifestLoadTimeout:"02-12",PlaybackManifestParsingError:"02-13",PlaybackManifestIncompatibleCodecs:"02-14",PlaybackLevelEmptyError:"02-15",PlaybackLevelLoadError:"02-16",PlaybackLevelLoadTimeout:"02-17",PlaybackLevelSwitchError:"02-18",PlaybackAudioTrackLoadError:"02-19",PlaybackAudioTrackLoadTimeout:"02-20",PlaybackFragLoadError:"02-21",PlaybackFragLoadTimeout:"02-22",PlaybackFragDecryptError:"02-23",PlaybackFragParsingError:"02-24",PlaybackFragGap:"02-25",PlaybackRemuxAllocError:"02-26",PlaybackBufferAddCodecError:"02-27",PlaybackBufferIncompatibleCodecs:"02-28",PlaybackBufferAppendError:"02-29",PlaybackBufferStalledError:"02-30",PlaybackBufferFullError:"02-31",PlaybackBufferSeekOverHole:"02-32",PlaybackBufferNudgeOnStall:"02-33",PlaybackInternalException:"02-34",PlaybackInternalAborted:"02-35",PlaybackManifestLoaderFailure:"02-36",PlaybackSegmentBaseLoaderError:"02-37",PlaybackTimeSyncFailed:"02-38",PlaybackFragmentLoaderFailure:"02-39",PlaybackAppendError:"02-40",PlaybackRemoveError:"02-41",PlaybackDataUpdateFailed:"02-42",PlaybackManifestNoStreams:"02-43",PlaybackUnknownManifestType:"02-44",PlaybackDashInsufficientSegmentInfo:"02-45",PlaybackDashNoRepresentations:"02-46",PlaybackDashNoAdaptationSets:"02-47",PlaybackDashNoInitSegment:"02-48",PlaybackDashUnsupportedContainerFormat:"02-49",PlaybackDashKeySystemMismatch:"02-50",PlaybackMultipleKeyIDs:"02-51",PlaybackDashConflictingKeyIDs:"02-52",PlaybackRestrictedStreams:"02-53",PlaybackHlsMasterAndMediaTags:"02-54",PlaybackRepresentationIdConflict:"02-55",PlaybackHlsUnsupportedKeyFormats:"02-56",PlaybackManifestNoVariants:"02-57",PlaybackHlsUndeclaredVariables:"02-58",PlaybackAes128InvalidKeyLength:"02-59",PlaybackDashConflictingAes128Keys:"02-60",PlaybackDashUnsupportedAes128Encryption:"02-61",PlaybackManifestPatchMismatch:"02-62",PlaybackEmptyMediaPlaylist:"02-63",PlaybackNonContiguousCompositionTrack:"02-64",PlaybackDecoderNotFound:"02-65",PlaybackDecoderTemporarilyUnavailable:"02-66",PlaybackIncompatibleAsset:"02-67",PlaybackNoCompatibleExternalDisplay:"02-69",PlaybackOutOfMemory:"02-70",PlaybackToneMappingFailed:"02-71",PlaybackVideoCompositorFailed:"02-72",NetworkUnknown:"03-00",NetworkNoInternet:"03-01",NetworkRequestTimeout:"03-02",NetworkUnableToResolveHost:"03-03",NetworkResourceNotFound:"03-04",NetworkExpiredUrl:"03-05",NetworkUrlResolutionFailed:"03-06",NetworkDownloadErrorIdManifest:"03-07",NetworkDownloadErrorIdSidx:"03-08",NetworkDownloadErrorIdContent:"03-09",NetworkDownloadErrorIdInitialization:"03-10",NetworkDownloadErrorIdXlink:"03-11",NetworkHttpRequestFailed:"03-12",NetworkMaxRetriesExceeded:"03-13",NetworkSegmentMissing:"03-14",NetworkHttp400BadRequest:"03-400",NetworkHttp401Unauthorized:"03-401",NetworkHttp402PaymentRequired:"03-402",NetworkHttp403Forbidden:"03-403",NetworkHttp404NotFound:"03-404",NetworkHttp405MethodNotAllowed:"03-405",NetworkHttp406NotAcceptable:"03-406",NetworkHttp407ProxyAuthenticationRequired:"03-407",NetworkHttp408RequestTimeout:"03-408",NetworkHttp409Conflict:"03-409",NetworkHttp410Gone:"03-410",NetworkHttp411LengthRequired:"03-411",NetworkHttp412PreconditionFailed:"03-412",NetworkHttp413PayloadTooLarge:"03-413",NetworkHttp414URITooLong:"03-414",NetworkHttp415UnsupportedMediaType:"03-415",NetworkHttp416RangeNotSatisfiable:"03-416",NetworkHttp417ExpectationFailed:"03-417",NetworkHttp418ImATeapot:"03-418",NetworkHttp421MisdirectedRequest:"03-421",NetworkHttp422UnprocessableEntity:"03-422",NetworkHttp423Locked:"03-423",NetworkHttp424FailedDependency:"03-424",NetworkHttp425TooEarly:"03-425",NetworkHttp426UpgradeRequired:"03-426",NetworkHttp428PreconditionRequired:"03-428",NetworkHttp429TooManyRequests:"03-429",NetworkHttp431RequestHeaderFieldsTooLarge:"03-431",NetworkHttp451UnavailableForLegalReasons:"03-451",NetworkHttp500InternalServerError:"03-500",NetworkHttp501NotImplemented:"03-501",NetworkHttp502BadGateway:"03-502",NetworkHttp503ServiceUnavailable:"03-503",NetworkHttp504GatewayTimeout:"03-504",NetworkHttp505HTTPVersionNotSupported:"03-505",NetworkHttp506VariantAlsoNegotiates:"03-506",NetworkHttp507InsufficientStorage:"03-507",NetworkHttp508LoopDetected:"03-508",NetworkHttp510NotExtended:"03-510",NetworkHttp511NetworkAuthenticationRequired:"03-511",ContentProtectionUnknown:"04-00",ContentProtectionConcurrentStreamLimitExceeded:"04-01",ContentProtectionEntitlementRefused:"04-02",ContentProtectionLicenseExpired:"04-03",ContentProtectionBadLicenseRequest:"04-04",ContentProtectionLicenseServerTimeout:"04-05",ContentProtectionInsufficientHDCPSupport:"04-06",ContentProtectionGeoRestricted:"04-07",ContentProtectionParentalControlRestricted:"04-08",ContentProtectionCDNUnauthorized:"04-09",ContentProtectionInvalidAccessToken:"04-10",ContentProtectionKeySystemNoKeys:"04-11",ContentProtectionKeySystemNoAccess:"04-12",ContentProtectionKeySystemNoSession:"04-13",ContentProtectionKeySystemNoConfiguredLicense:"04-14",ContentProtectionKeySystemCertificateRequestFailed:"04-15",ContentProtectionKeySystemCertificateUpdateFailed:"04-16",ContentProtectionKeySystemSessionUpdateFailed:"04-17",ContentProtectionKeySystemStatusOutputRestricted:"04-18",ContentProtectionKeySystemStatusInternalError:"04-19",ContentProtectionKeyLoadError:"04-20",ContentProtectionKeyLoadTimeout:"04-21",ContentProtectionCapabilityMediaKeysError:"04-22",ContentProtectionManifestKeySystemUnknown:"04-23",ContentProtectionKeySystemUnavailable:"04-24",ContentProtectionCDMCreationFailed:"04-25",ContentProtectionCDMAttachFailed:"04-26",ContentProtectionCDMServerCertificateRejected:"04-27",ContentProtectionCDMSessionCreationFailed:"04-28",ContentProtectionCDMLicenseRequestFailed:"04-29",ContentProtectionCDMLicenseResponseRejected:"04-30",ContentProtectionManifestMissingDRMInfo:"04-31",ContentProtectionLicenseServerMissing:"04-32",ContentProtectionOfflineSessionRemoved:"04-33",ContentProtectionInitDataTransformationError:"04-34",ContentProtectionServerCertificateRequestFailed:"04-35",ContentProtectionInsufficientHDCPVersion:"04-36",ContentProtectionHDCPVersionCheckFailed:"04-37",AdsUnknown:"08-00",AdsVastParseError:"08-100",AdsInvalidVastSchema:"08-101",AdsVastVersionNotSupported:"08-102",AdsUnexpectedAdType:"08-200",AdsCreativeLinearityMismatch:"08-201",AdsCreativeDurationMismatch:"08-202",AdsCreativeSizeMismatch:"08-203",AdsWrapperVastError:"08-300",AdsVastResponseRedirectTimeout:"08-301",AdsWrapperLimitReached:"08-302",AdsVastResponseEmpty:"08-303",AdsLinearAdDisplayError:"08-400",AdsMediaFileNotFound:"08-401",AdsMediaFileUnavailable:"08-402",AdsUnsupportedMimeType:"08-403",AdsUnableToDisplayMediaFile:"08-405",AdsMezzanineFileMissing:"08-406",AdsMezzanineFileDownloaded:"08-407",AdsRejectedAd:"08-408",AdsInteractiveCreativeError:"08-409",AdsVerificationNodeExecutionError:"08-410",AdsNonLinearAdDisplayError:"08-500",AdsNonLinearAdSizeMismatch:"08-501",AdsNonLinearAdFetchError:"08-502",AdsNonLinearUnsupportedType:"08-503",AdsCompanionAdDisplayError:"08-600",AdsCompanionAdSizeMismatch:"08-601",AdsRequiredCompanionAdError:"08-602",AdsCompanionAdFetchError:"08-603",AdsUndefinedVastError:"08-900",AdsUnknownVpaidError:"08-901",AdsVastDocumentEmpty:"08-999"},ce=Object.fromEntries(Object.entries(ae).map(([e,t])=>[t,e])),de=[1e7]+""+-1e3+-4e3+-8e3+-1e11,le="off";class FlowplayerError extends Error{static getErrorKey(e){return e in ce?ce[e]:ce["00-00"]}constructor(e,t,r={}){super(e),this.message=e,this.flowplayerErrorCode=t,this.config=r,this.id="undefined"==typeof crypto?"":de.replace(/[018]/g,e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)),this.isFatal=!!r.isFatal,this.errorKey=FlowplayerError.getErrorKey(this.flowplayerErrorCode)||"unknown"}toJSON(){return{message:this.message,flowplayer_error_code:this.flowplayerErrorCode,id:this.id,root_error_id:this.config.rootErrorId,resource:this.config.resource,is_fatal:this.isFatal,is_retry:!!this.config.isRetry}}}function ue(e,t){const r=new google.ima.dai.api.UiSettings,i=e.opt("lang")||function(){try{return re.reduce((e,t)=>~t.indexOf("-")?e.concat(t,t.split("-")[0]):e.concat(t),[])}catch(e){return[]}}().find(e=>!e.includes("-"))||"en";r.setLocale(i);const s=new google.ima.dai.api.StreamManager(e,function(e,t){const r=e._customElements.get(t);return r&&e.root.querySelector(r)||void 0}(e,ie),r);return s.addEventListener([google.ima.dai.api.StreamEvent.Type.LOADED,google.ima.dai.api.StreamEvent.Type.ERROR,google.ima.dai.api.StreamEvent.Type.STREAM_INITIALIZED,google.ima.dai.api.StreamEvent.Type.AD_BREAK_STARTED,google.ima.dai.api.StreamEvent.Type.AD_PROGRESS,google.ima.dai.api.StreamEvent.Type.AD_BREAK_ENDED,google.ima.dai.api.StreamEvent.Type.RESUMED,google.ima.dai.api.StreamEvent.Type.PAUSED,google.ima.dai.api.StreamEvent.Type.STARTED,google.ima.dai.api.StreamEvent.Type.COMPLETE,google.ima.dai.api.StreamEvent.Type.SKIPPED,google.ima.dai.api.StreamEvent.Type.CLICK],r=>{!function(e,t,r,i){var s;if((null===(s=e.ssai)||void 0===s?void 0:s.provider)!==i)return;switch(r.type){case google.ima.dai.api.StreamEvent.Type.STREAM_INITIALIZED:return async function(e,t,r,i){var s,o;const n=i.getStreamData().streamId;if(!n||!t.isPod)return;if(!t.isVod){const r=null===(s=t.src)||void 0===s?void 0:s.streamUrl;return r?(t.daiStream=t.buildPodStreamURL(r,n),e.setSrc(t.daiStream)):console.error("streamUrl param is missing : https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/html5?service=pod#create_a_simple_video_player_2")}const a=null===(o=t.src)||void 0===o?void 0:o.requestStreamUrl;if(!a)return console.error("requestStreamUrl param is missing : https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/html5?service=pod#vod-pod-serving_1");try{t.daiStream=await a(r,n),r.loadStreamMetadata(),e.setSrc(t.daiStream)}catch(r){me(e,t,n)}}(e,i,t,r);case google.ima.dai.api.StreamEvent.Type.RESUMED:return X(h,e,pe(e,r,i));case google.ima.dai.api.StreamEvent.Type.PAUSED:return X(f,e,pe(e,r,i));case google.ima.dai.api.StreamEvent.Type.COMPLETE:return X(v,e,pe(e,r,i));case google.ima.dai.api.StreamEvent.Type.SKIPPED:return X(g,e,pe(e,r,i));case google.ima.dai.api.StreamEvent.Type.LOADED:return function(e,t,r){const i=r.getStreamData().url;if(!i||t.isPod&&!t.isVod)return;t.daiStream=i,e.setSrc(i)}(e,i,r);case google.ima.dai.api.StreamEvent.Type.STARTED:return i.currentAd=r.getAd(),X(y,e,pe(e,r,i));case google.ima.dai.api.StreamEvent.Type.AD_BREAK_STARTED:return Z(e),X(u,e,pe(e,r,i));case google.ima.dai.api.StreamEvent.Type.AD_BREAK_ENDED:return X(p,e,pe(e,r,i)),ee(e),i.currentAd=void 0;case google.ima.dai.api.StreamEvent.Type.ERROR:return me(e,i,r.getStreamData().url||"",r);case google.ima.dai.api.StreamEvent.Type.AD_PROGRESS:{const t=pe(e,r,i);return J(e,t),X(m,e,t)}case google.ima.dai.api.StreamEvent.Type.CLICK:(function(e){if(!e.paused)e.togglePlay(!1)})(e)}}(e,s,r,t)},!1),e.on(b,r=>{var i,o;(null===(i=e.ssai)||void 0===i?void 0:i.provider)===t&&(null===(o=r.detail)||void 0===o||o.samples.forEach(e=>s.processMetadata("ID3",e.data,e.pts)))}),e.on(w,r=>{var i;const o=r.detail;if(!o||(null===(i=e.ssai)||void 0===i?void 0:i.provider)!==t)return;const n=o.event.messageData,a=o.event.calculatedPresentationTime;s.processMetadata("urn:google:dai:2018",n,a)}),s}function pe(e,t,r){const i=r.currentAd,s=Object.assign({},t.getStreamData().adProgressData);return i&&Object.assign(s,{vast_ad_id:i.getAdId()}),(null==i?void 0:i.getAdPodInfo())&&Object.assign(s,{position:i.getAdPodInfo().getAdPosition(),totals:i.getAdPodInfo().getTotalAds()}),s}function me(e,t,r,i){var s,o,n,a,c;e.emit("flowplayer:error",{error:new FlowplayerError((null===(s=null==i?void 0:i.getStreamData())||void 0===s?void 0:s.errorMessage)||"error loading stream",ae.AdsUnknown,{isFatal:!0,showErrorUI:!(null===(o=t.src)||void 0===o?void 0:o.backupStream),resource:(null===(n=null==i?void 0:i.getStreamData())||void 0===n?void 0:n.url)||(null===(a=t.src)||void 0===a?void 0:a.contentSourceId)||r,retryOpts:{retry:le}})}),(null===(c=t.src)||void 0===c?void 0:c.backupStream)&&e.setSrc(t.src.backupStream)}var ge;!function(e){e.Preroll="preroll",e.Midroll="midroll",e.Postroll="postroll"}(ge||(ge={}));const fe=k("ads/ima/sdk");var he;async function ye(e,t){var r;const i=null===(r=null===window||void 0===window?void 0:window.google)||void 0===r?void 0:r.ima;if(t?null==i?void 0:i.dai:i)return void fe(":noop");const s=t?"https://imasdk.googleapis.com/js/sdkloader/ima3_dai.js":e._storage.getItem("ima/debug")?"https://imasdk.googleapis.com/js/sdkloader/ima3_debug.js":"https://imasdk.googleapis.com/js/sdkloader/ima3.js";try{return await async function(e){return new Promise((t,r)=>{let i=document.querySelector(`script[src='${e}']`);if(i)return ve(i,t,r);i=document.createElement("script"),i.setAttribute("state",he.LOADING),ve(i,t,r),i.src=e,document.head.appendChild(i)})}(s),void fe(":loaded")}catch(e){fe(`:error ${e.message}`,e)}}function ve(e,t,r){const i=e.getAttribute("state");if(i&&[he.ERROR,he.LOADED].includes(i))return t(void 0);e.addEventListener("load",()=>{e.setAttribute("state",he.LOADED),t(void 0)},{once:!0}),["error","abort"].forEach(t=>{e.addEventListener(t,()=>{e.setAttribute("state",he.ERROR),r("script failed to load")},{once:!0})})}!function(e){e.LOADING="loading",e.LOADED="loaded",e.ERROR="error"}(he||(he={}));class Dai{constructor(e){this.make_analytics(e)}async onload(e,t){var r,i;return await ye(e,!0),(null===(i=null===(r=window.google)||void 0===r?void 0:r.ima)||void 0===i?void 0:i.dai)?((null==this?void 0:this.streamManager)||(this.streamManager=ue(e,this)),this.src=t,this.isPod=!!t.customAssetKey||!!t.requestStreamUrl,this.isVod=!!t.contentSourceId||!!t.videoId||!!t.requestStreamUrl,this.isPod?this.requestPodStream(t):void this.requestStream(t)):(console.warn("google.ima.dai unavailable"),void(t.backupStream&&e.setSrc(t.backupStream)))}onNewSrc(e,t){var r;t.src!==this.daiStream&&(this.daiStream=void 0,e.ssai=void 0,null===(r=this.streamManager)||void 0===r||r.reset())}make_analytics(e){const t=Analytics.of(e,{required_keys:V,events:H,optional_keys:Q});e.on("config",()=>{var r;return Analytics.mergeMetadata(t,null===(r=e.opts)||void 0===r?void 0:r.metadata)})}onId3(e){var t;const r={},i=e.value;r[i.key]=i.data,null===(t=this.streamManager)||void 0===t||t.onTimedMetadata(r)}getAdType(){if(this.currentAd)switch(this.currentAd.getAdPodInfo().getPodIndex()){case 0:return ge.Preroll;case-1:return ge.Postroll;case-2:return;default:return ge.Midroll}}getContentCurrentTime(e){const t=e.currentTime;return this.streamManager?this.streamManager.contentTimeForStreamTime(t):t}setContentCurrentTime(e,t){}getContentDuration(e){const t=e.duration;return this.streamManager?this.streamManager.contentTimeForStreamTime(t):t}getPreviousActiveAdStart(e,t){var r;const i=null===(r=null==this?void 0:this.streamManager)||void 0===r?void 0:r.previousCuePointForStreamTime(t);if(i&&!i.played)return i.start}requestStream(e){var t;const r=this.isVod?new google.ima.dai.api.VODStreamRequest:new google.ima.dai.api.LiveStreamRequest;null===(t=this.streamManager)||void 0===t||t.requestStream(Object.assign(r,e))}requestPodStream(e){var t;const r=this.isVod?new google.ima.dai.api.PodVodStreamRequest:new google.ima.dai.api.PodStreamRequest;null===(t=this.streamManager)||void 0===t||t.requestStream(Object.assign(r,e))}buildPodStreamURL(e,t){return e.replace("[[STREAMID]]",t)}}Dai.Type="google/dai";const be=window.YospaceAdManagement||{AnalyticEventObserver:null};class EventObserver extends be.AnalyticEventObserver{constructor(e){super(),this.video=e}onAdvertBreakStart(e){const t=e.getDuration();if(!e.isActive()&&t){const e=a(this.video);c(this.video,e+t/1e3)}Z(this.video,e.getStart()),X(u,this.video)}onAdvertBreakEnd(){ee(this.video),X(p,this.video)}onAdvertStart(e){}onAdvertEnd(){}onTrackingEvent(e){}}function we(e,t){YospaceAdManagement.SessionVOD.create(e,t.ssai.properties,e=>{const r=e.getPayload();if(r.getSessionResult()===YospaceAdManagement.SessionResult.INITIALISED){t.ssai.session=r;const e=new EventObserver(t);r.addAnalyticObserver(e),t.setSrc({src:r.getPlaybackUrl()}),setInterval(()=>{const e=1e3*a(t);r.onPlayheadUpdate(e),function(e,t,r){const i=e.getCurrentAdBreak();if(!i)return;const s={currentTime:r-i.getStart(),duration:i.getDuration()};J(t,s),X(m,t,s)}(r,t,e)},250)}else console.warn("YoSpace Failed to initialise session. ResultCode = "+r.getResultCode())})}class Yospace{static exists(){return!!window.YospaceAdManagement}constructor(e){!function(e){Object.defineProperty(e,"currentTime",{get:function(){if(e.ssai){const t=e.ssai.state.adProgress;return t?t.currentTime:e.ssai.provider.getContentCurrentTime(e)}return a(e)},set:function(t){var r;if(e.ssai){if(e.ssai.state.adProgress)return;return null===(r=e.ssai.provider)||void 0===r?void 0:r.setContentCurrentTime(e,t)}return c(e,t)}}),Object.defineProperty(e,"duration",{get:function(){if(e.ssai){const t=e.ssai.state.adProgress;return t?t.duration:e.ssai.provider.getContentDuration(e)}return l(e)},set:function(){}})}(e)}onload(e,t){Object.assign(e.ssai,function(){const e=new YospaceAdManagement.SessionProperties;return e.setUserAgent(navigator.userAgent),{properties:e}}()),t&&t.src&&we(t.src,e)}getContentCurrentTime(e){const t=a(e),r=e.ssai.session;return r?r.getContentPositionForPlayhead(1e3*t)/1e3:t}setContentCurrentTime(e,t){const r=e.ssai.session;if(!r)return c(e,t);return c(e,r.getPlayheadForContentPosition(1e3*t)/1e3)}getContentDuration(e){const t=e.ssai.session,r=l(e);return t?t.getContentPositionForPlayhead(t.getDuration())/1e3:r}getAdType(){}getPreviousActiveAdStart(e,t){const r=e.ssai.session;if(!r)return;const i=r.getAdBreaks();let s;const o=1e3*t;return i.forEach(e=>{void 0===s&&e.getStart()<o&&e.isActive()&&(s=e)}),void 0!==s?s.getStart()/1e3:void 0}}function Se(e){var n;if((null===(n=this.player.ssai)||void 0===n?void 0:n.provider)===this)switch(e.type){case s:case i:return function(e){if(!e.player.hasState(W))return;return X(e.player.paused?f:h,e.player)}(this);case t:return function(e){const t=e.player,r=t.hls;if(!r)return;if(t.hasState(W))return r.config.maxBufferLength=1;const i=t.currentTime;let s,o=0;for(;o<t.buffered.length;o++)if(t.buffered.start(o)-1<=i&&t.buffered.end(o)>=i){s=t.buffered.end(o);break}if(void 0===s)return;const n=e.getAdCues().find(e=>!e.played&&e.endTime>s&&e.startTime<=s);return r.config.maxBufferLength=n?1:30}(this);case r:return function(e){if(!e.activeCue||!e.player.hasState(W))return;const t=e.player.currentTime;if(t<=e.activeCue.endTime)return e.ad={duration:e.activeCue.endTime-e.activeCue.startTime,currentTime:t-e.activeCue.startTime},X(m,e.player,Object.assign(Object.assign({},e.ad),e.podInfo));if(e.podInfo.totals!==e.podInfo.position)return;ke(e)}(this);case o:return ke(this)}}function ke(e){e.activeCue&&e.player.hasState(W)&&(X(v,e.player),X(p,e.player),ee(e.player),e.activeCue.played=!0,e.activeCue=void 0)}Yospace.Type="yospace";var Ae=function(e){var t={exports:{}};return e(t,t.exports),t.exports}(function(e,t){var r=function(){for(var e=new Array(256),t=0;t<256;++t)e[t]="%"+((t<16?"0":"")+t.toString(16)).toUpperCase();return e}(),i=Object.prototype.hasOwnProperty;t.arrayToObject=function(e,t){for(var r=t.plainObjects?Object.create(null):{},i=0;i<e.length;++i)void 0!==e[i]&&(r[i]=e[i]);return r},t.merge=function(e,r,s){if(!r)return e;if("object"!=typeof r){if(Array.isArray(e))e.push(r);else{if("object"!=typeof e)return[e,r];(s.plainObjects||s.allowPrototypes||!i.call(Object.prototype,r))&&(e[r]=!0)}return e}if("object"!=typeof e)return[e].concat(r);var o=e;return Array.isArray(e)&&!Array.isArray(r)&&(o=t.arrayToObject(e,s)),Object.keys(r).reduce(function(e,o){var n=r[o];return i.call(e,o)?e[o]=t.merge(e[o],n,s):e[o]=n,e},o)},t.decode=function(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(t){return e}},t.encode=function(e){if(0===e.length)return e;for(var t="string"==typeof e?e:String(e),i="",s=0;s<t.length;++s){var o=t.charCodeAt(s);45===o||46===o||95===o||126===o||o>=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122?i+=t.charAt(s):o<128?i+=r[o]:o<2048?i+=r[192|o>>6]+r[128|63&o]:o<55296||o>=57344?i+=r[224|o>>12]+r[128|o>>6&63]+r[128|63&o]:(s+=1,o=65536+((1023&o)<<10|1023&t.charCodeAt(s)),i+=r[240|o>>18]+r[128|o>>12&63]+r[128|o>>6&63]+r[128|63&o])}return i},t.compact=function(e,r){if("object"!=typeof e||null===e)return e;var i=r||[],s=i.indexOf(e);if(-1!==s)return i[s];if(i.push(e),Array.isArray(e)){for(var o=[],n=0;n<e.length;++n)e[n]&&"object"==typeof e[n]?o.push(t.compact(e[n],i)):void 0!==e[n]&&o.push(e[n]);return o}for(var a=Object.keys(e),c=0;c<a.length;++c){var d=a[c];e[d]=t.compact(e[d],i)}return e},t.isRegExp=function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},t.isBuffer=function(e){return null!=e&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))}}),Me={brackets:function(e){return e+"[]"},indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},Ee={delimiter:"&",strictNullHandling:!1,skipNulls:!1,encode:!0,encoder:Ae.encode},Pe=function e(t,r,i,s,o,n,a,c,d){var l=t;if("function"==typeof a)l=a(r,l);else if(l instanceof Date)l=l.toISOString();else if(null===l){if(s)return n?n(r):r;l=""}if("string"==typeof l||"number"==typeof l||"boolean"==typeof l||Ae.isBuffer(l))return n?[n(r)+"="+n(l)]:[r+"="+String(l)];var u,p=[];if(void 0===l)return p;if(Array.isArray(a))u=a;else{var m=Object.keys(l);u=c?m.sort(c):m}for(var g=0;g<u.length;++g){var f=u[g];o&&null===l[f]||(p=Array.isArray(l)?p.concat(e(l[f],i(r,f),i,s,o,n,a,c,d)):p.concat(e(l[f],r+(d?"."+f:"["+f+"]"),i,s,o,n,a,c,d)))}return p},_e=Object.prototype.hasOwnProperty,Te={delimiter:"&",depth:5,arrayLimit:20,parameterLimit:1e3,strictNullHandling:!1,plainObjects:!1,allowPrototypes:!1,allowDots:!1,decoder:Ae.decode},Ce=function e(t,r,i){if(!t.length)return r;var s,o=t.shift();if("[]"===o)s=(s=[]).concat(e(t,r,i));else{s=i.plainObjects?Object.create(null):{};var n="["===o.charAt(0)&&"]"===o.charAt(o.length-1)?o.slice(1,-1):o,a=parseInt(n,10);!isNaN(a)&&o!==n&&String(a)===n&&a>=0&&i.parseArrays&&a<=i.arrayLimit?(s=[])[a]=e(t,r,i):s[n]=e(t,r,i)}return s},Ue=function(e,t,r){if(e){var i=r.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,s=/(\[[^[\]]*])/g,o=/(\[[^[\]]*])/.exec(i),n=o?i.slice(0,o.index):i,a=[];if(n){if(!r.plainObjects&&_e.call(Object.prototype,n)&&!r.allowPrototypes)return;a.push(n)}for(var c=0;null!==(o=s.exec(i))&&c<r.depth;){if(c+=1,!r.plainObjects&&_e.call(Object.prototype,o[1].slice(1,-1))&&!r.allowPrototypes)return;a.push(o[1])}return o&&a.push("["+i.slice(o.index)+"]"),Ce(a,t,r)}},Re=function(e,t){var r,i,s=e,o=t||{},n=void 0===o.delimiter?Ee.delimiter:o.delimiter,a="boolean"==typeof o.strictNullHandling?o.strictNullHandling:Ee.strictNullHandling,c="boolean"==typeof o.skipNulls?o.skipNulls:Ee.skipNulls,d=("boolean"==typeof o.encode?o.encode:Ee.encode)?"function"==typeof o.encoder?o.encoder:Ee.encoder:null,l="function"==typeof o.sort?o.sort:null,u=void 0!==o.allowDots&&o.allowDots;if(null!==o.encoder&&void 0!==o.encoder&&"function"!=typeof o.encoder)throw new TypeError("Encoder has to be a function.");"function"==typeof o.filter?s=(i=o.filter)("",s):Array.isArray(o.filter)&&(r=i=o.filter);var p,m=[];if("object"!=typeof s||null===s)return"";p=o.arrayFormat in Me?o.arrayFormat:"indices"in o?o.indices?"indices":"repeat":"indices";var g=Me[p];r||(r=Object.keys(s)),l&&r.sort(l);for(var f=0;f<r.length;++f){var h=r[f];c&&null===s[h]||(m=m.concat(Pe(s[h],h,g,a,c,d,i,l,u)))}return m.join(n)},Ne=function(e,t){var r=t||{};if(null!==r.decoder&&void 0!==r.decoder&&"function"!=typeof r.decoder)throw new TypeError("Decoder has to be a function.");if(r.delimiter="string"==typeof r.delimiter||Ae.isRegExp(r.delimiter)?r.delimiter:Te.delimiter,r.depth="number"==typeof r.depth?r.depth:Te.depth,r.arrayLimit="number"==typeof r.arrayLimit?r.arrayLimit:Te.arrayLimit,r.parseArrays=!1!==r.parseArrays,r.decoder="function"==typeof r.decoder?r.decoder:Te.decoder,r.allowDots="boolean"==typeof r.allowDots?r.allowDots:Te.allowDots,r.plainObjects="boolean"==typeof r.plainObjects?r.plainObjects:Te.plainObjects,r.allowPrototypes="boolean"==typeof r.allowPrototypes?r.allowPrototypes:Te.allowPrototypes,r.parameterLimit="number"==typeof r.parameterLimit?r.parameterLimit:Te.parameterLimit,r.strictNullHandling="boolean"==typeof r.strictNullHandling?r.strictNullHandling:Te.strictNullHandling,""===e||null==e)return r.plainObjects?Object.create(null):{};for(var i="string"==typeof e?function(e,t){for(var r={},i=e.split(t.delimiter,t.parameterLimit===1/0?void 0:t.parameterLimit),s=0;s<i.length;++s){var o,n,a=i[s],c=-1===a.indexOf("]=")?a.indexOf("="):a.indexOf("]=")+1;-1===c?(o=t.decoder(a),n=t.strictNullHandling?null:""):(o=t.decoder(a.slice(0,c)),n=t.decoder(a.slice(c+1))),_e.call(r,o)?r[o]=[].concat(r[o]).concat(n):r[o]=n}return r}(e,r):e,s=r.plainObjects?Object.create(null):{},o=Object.keys(i),n=0;n<o.length;++n){var a=o[n],c=Ue(a,i[a],r);s=Ae.merge(s,c,r)}return Ae.compact(s)};const Oe=k("fpads:macros"),Fe=/\[([\s\S]+?)\]/g;class Macros{static run(e){try{return e()}catch(e){return void console.error(e)}}static merge(...e){return e.reduce((e,t)=>Object.assign(e,t),{})}static cast(e){return void 0===e?"":"function"==typeof e?encodeURIComponent(Macros.run(e)||""):"string"==typeof e?encodeURIComponent(e):"number"==typeof e||"boolean"==typeof e?e.toString():""}static normalize(e){return e.trim()}static process_obj(e,t,r){return Object.keys(e).reduce((i,s)=>{const o=Macros.process_str(s,t,r,!0),n=e[s];return null===n?(i[o]=n,i):"object"==typeof n?(i[o]=Macros.process_obj(n,t,r),i):"string"==typeof n?(i[o]=Macros.process_str(n,t,r),i):(console.error(new Error(`${n} at ${s} not a handled Macro type`)),i)},{})}static process_str(e,t,r,i=!1){return e.replace(t.pattern,(e,t)=>{const s=Macros.normalize(t);if(!(s in r)||void 0===r[s])return e;const o=r[s],n=i?o:Macros.cast(o);return Oe("Macro.replace(raw: %s, macro: %s, value: %s)",i,t,n),n})}constructor(e={},t=Fe){this.vars=e,this.pattern=t}fork(e={},t=this.pattern){const r=Macros.merge(this.vars,e);return new Macros(r,t)}compile(e,t={}){const r=Macros.merge(this.vars,t),[i,s]=e.split("?"),o=Ne(s||"",{strictNullHandling:!0,decoder:e=>e}),n=Re(Macros.process_obj(o,this,r),{encode:!1,strictNullHandling:!0});return Macros.process_str(i,this,r,!0)+"?"+n}}function De(e,t={width:0,height:0}){let r,i;try{const e=document.createElement("a");e.href=r=window.location!=window.parent.location?document.referrer:document.location.href,i=e.hostname}catch(e){console.error(e)}const{width:s,height:o}=t,{video_source:n}=e||{},a=function(){const e=window;return"object"==typeof e.__flowplayerAdParameters?e.__flowplayerAdParameters:{}}();return Object.assign({random:Date.now(),page_url:r,domain:i,player_width:s,player_height:o,video_url:n,videourl:n},a)}Macros.patterns={BRACKETS:Fe,CURLY:/\{([\s\S]+?)\}/g,UNDERSCORE:/__([\s\S]+?)__/g};const Ie="X-AD-CREATIVE-SIGNALING";class MediaTailor{constructor(e){this.ad={duration:0,currentTime:0},this.podInfo={totals:0,position:0},this.player=e,e.on([r,t,s,i,o],Se.bind(this))}onload(e,t){this.stream=this.compileMacros(e,t),e.setSrc(this.stream)}compileMacros(e,t){var r,i;const s=e.opts,o=De(void 0,{width:e.clientWidth,height:e.clientHeight});(s.duration||(null===(r=s.metadata)||void 0===r?void 0:r.duration))&&Object.assign(o,{media_duration:s.duration||(null===(i=s.metadata)||void 0===i?void 0:i.duration)});return new Macros(Object.assign({referrer_url:document.referrer,autoplay:!!e.opts.autoplay},e.opts.metadata,t.parameters,o)).compile(t.stream)}onNewSrc(e,t){t.src!==this.stream&&(this.activeCue=void 0,e.ssai=void 0)}getPreviousActiveAdStart(e,t){if(this.activeCue)return;const r=this.getAdCues(),i=r.slice().reverse().find(e=>e.endTime<t);if(!i||i.played)return;const s=r[r.indexOf(i)+1];return!s||t<s.startTime&&(t+.1<=s.startTime||s.played||e.paused)?this.findAdBreakStartCue(i).startTime:void 0}onId3(e){var t;if(e.played||e==this.activeCue)return;if((null===(t=e.value)||void 0===t?void 0:t.key)!==Ie)return;if(this.activeCue)return X(v,this.player),this.activeCue.played=!0,this.activeCue=e,++this.podInfo.position,X(y,this.player,Object.assign(Object.assign({},this.ad),this.podInfo));const r=this.findAdBreakStartCue(e);if(r!==e)return this.player.currentTime=r.startTime;Math.abs(e.startTime-this.player.currentTime)>1&&(this.player.currentTime=e.startTime),this.activeCue=e,Z(this.player),this.setPodInfo(e),X(u,this.player),X(y,this.player,Object.assign(Object.assign({},this.ad),this.podInfo))}setPodInfo(e){const t=this.getAdCues().filter(t=>t.startTime>=e.startTime);let r=1;for(;r<=t.length-1&&!(t[r].startTime-t[r-1].endTime>1);)r++;return this.podInfo={totals:r,position:1},this.player.hasState("is-live")?this.ad_type=$.Midroll:e.startTime<=1?this.ad_type=$.Preroll:Math.abs(t[r-1].endTime-this.player.duration)<=1?this.ad_type=$.Postroll:this.ad_type=$.Midroll}findAdBreakStartCue(e){const t=this.getAdCues().filter(t=>t.startTime<=e.startTime).reverse();let r=e,i=1;for(;i<t.length&&!(t[i-1].startTime-t[i].endTime>.1);)r=t[i],i++;return r}getAdCues(){var e;const t=(null===(e=Array.from(this.player.textTracks).find(e=>"metadata"===e.kind))||void 0===e?void 0:e.cues)||[];return Array.from(t).slice().filter(e=>{var t;return(null===(t=e.value)||void 0===t?void 0:t.key)===Ie})}getContentCurrentTime(e){if(!this.activeCue)return 0;let t=this.findAdBreakStartCue(this.activeCue).startTime;return this.getAdCues().filter(e=>e.endTime<t).forEach(e=>{t-=e.endTime-e.startTime}),t}getAdType(){return this.ad_type}getContentDuration(e){return 0}setContentCurrentTime(e,t){}}MediaTailor.Type="mediaTailor";const Le=(e,t)=>new(((e,t)=>{const r=e.get(t);if(!r)throw new Error(`no flowplayer component with the name ${t} exists`);const i=window.customElements.get(t);if(!i)throw new Error(`no default flowplayer component with the name ${t} exists`);const s=window.customElements.get(r);return"function"!=typeof s?i:s})(e._customElements,t))(e),Be=(e,t,r)=>{window.customElements.get(t)||window.customElements.define(t,r),e.customElements.get(t)||e.customElements.set(t,t)};class FlowplayerComponent extends HTMLElement{constructor(e){super(),this.player=e}}class SSAIAdUi extends FlowplayerComponent{constructor(e){super(e),this.className="fp-ssai-ui",this.append(...this.fsIcons(),...this.player.createComponents(se,ne))}fsIcons(){return this.player.createComponents("flowplayer-fullscreen-enter-icon","flowplayer-fullscreen-exit-icon").map(e=>(e.onclick=()=>this.player.toggleFullScreen(),e))}}class SSAITimeline extends FlowplayerComponent{constructor(e){super(e),this.className="fp-ssai-timeline";const t=document.createElement("div");t.className="fp-ssai-progress fp-color",this.append(t),this.player.on(p,()=>{t.classList.remove("go"),"--ssai-percent-complete --ssai-percent-previous".split(" ").forEach(e=>this.style.setProperty(e,"0"))}),this.player.on(m,e=>{var r,i;const s=null===(r=e.detail)||void 0===r?void 0:r.currentTime,o=null===(i=e.detail)||void 0===i?void 0:i.duration;if(void 0===o||void 0===s)return;const n=s/o*100,a=t.style.getPropertyValue("--ssai-percent-complete");t.classList.remove("go"),t.style.setProperty("--ssai-percent-previous",a),t.style.setProperty("--ssai-percent-complete",n.toFixed(3)),t.classList.add("go")})}}function qe(e){const t="number"==typeof e?e:parseInt(e,10);return(t>9?"":"0")+t}function xe(e){if(isNaN(e)||e>=Number.MAX_SAFE_INTEGER)return"";const t=e<0?"-":"";e=Math.round(Math.abs(e));const r=Math.floor(e/3600);let i=Math.floor(e/60);return e-=60*i,r>=1?(i-=60*r,t+r+":"+qe(i)+":"+qe(e)):t+qe(i)+":"+qe(e)}class SSAIControls extends FlowplayerComponent{constructor(e){super(e),this.className="fp-ssai-controls";const t=document.createElement("span");t.className="fp-ssai-elapsed";const r=document.createElement("span");r.className="fp-ssai-duration",this.player.on(m,e=>{const i=e.detail;i&&(t.textContent=xe(i.currentTime||0),r.textContent=xe(i.duration||0))}),this.append(...this.player.createComponents("flowplayer-control-buttons"),t,...this.player.createComponents(oe),r,...this.player.createComponents("flowplayer-volume-control"))}}class SSAIAdIndicator extends FlowplayerComponent{constructor(e){super(e),this.className="fp-ssai-indicator",this.player.on(y,e=>{var t,r;const i=null===(t=e.detail)||void 0===t?void 0:t.totals,s=null===(r=e.detail)||void 0===r?void 0:r.position;void 0!==i&&void 0!==s&&(this.textContent=`${this.player.i18n("ads.indicator","ADS")} ${s} / ${i}`)})}}var je,He=Object.freeze({__proto__:null,ID3:"ID3"});const Ve=((je=class ID3{init(e,t,r){r.textTracks.addEventListener("addtrack",({track:e})=>{if(e&&"metadata"===e.kind)return"id3"==e.id||"id3"==e.label||"com.apple.streaming"==e.inBandMetadataTrackDispatchType?function(e,t){t.mode="hidden",t.addEventListener("cuechange",async()=>{Array.from(t.activeCues||[]).forEach(async t=>{(function(e){return"object"==typeof e.value&&"string"==typeof e.value.key&&!!e.value.data})(t)&&e.emit("ID3",{cue:t})})})}(r,e):void 0})}}).pluginName="id3",je.events=He,je),Qe=e(window,Ve);var Ke;const ze=((Ke=class Ssai{constructor(e,t){this.umd=e,this.providers=[],this.player=t,Be(e,ie,SSAIAdUi),Be(e,oe,SSAITimeline),Be(e,se,SSAIControls),Be(e,ne,SSAIAdIndicator)}init(e,t,r){const i=Le(r,ie);if(t.append(i),r.on(Qe.events.ID3,({detail:e})=>{var t,i,s;const o=null==e?void 0:e.cue;o&&(null===(s=null===(t=r.ssai)||void 0===t?void 0:(i=t.provider).onId3)||void 0===s||s.call(i,o))}),r.on("seeked",()=>function(e){if(e.opt("live"))return;if(!e.ssai)return;const{provider:t,state:r}=e.ssai;if(r.snapback)return r.snapback=!1;const i=a(e),s=t.getPreviousActiveAdStart(e,i);void 0!==s&&(r.snapback=!0,r.snapbackTime=i,c(e,s))}(r)),r.on("src",e=>{var t,i,s;r.setState(W,!1),null===(s=null===(i=null===(t=r.ssai)||void 0===t?void 0:t.provider)||void 0===i?void 0:i.onNewSrc)||void 0===s||s.call(i,r,e.detail)}),this.umd.extensions.find(e=>e.pluginName===Qe.pluginName))return;new Qe(this.umd,r).init(e,t,r)}onload(e,t,r,i){var s,o;null===(o=null===(s=r.ssai)||void 0===s?void 0:s.provider)||void 0===o||o.onload(r,i)}wants(e,t,r){return!!this.findProvider(t)}findProvider(e){let t;switch(e.type){case MediaTailor.Type:t=this.providers.find(e=>e instanceof MediaTailor)||new MediaTailor(this.player);break;case Dai.Type:t=this.providers.find(e=>e instanceof Dai)||new Dai(this.player);break;case Yospace.Type:Yospace.exists()&&(t=this.providers.find(e=>e instanceof Yospace)||new Yospace(this.player))}return t&&(this.player.ssai={provider:t,state:{snapback:!1}},this.providers.includes(t)||this.providers.push(t)),t}}).pluginName="ssai",Ke.events=S,Ke);return e(window,ze)});
@@ -402,6 +402,10 @@ declare type ExtractPureAPI<T> = T extends PlayerWith<infer PureAPI> ? PureAPI :
402
402
 
403
403
  declare type ExtractSrcExtension<PluginBareConfig> = Get<PluginBareConfig, "src"> extends UnsafeSource<infer SrcMixinType> ? SrcMixinType : never;
404
404
 
405
+ declare const FEATURE_USAGE = "flowplayer:feature";
406
+
407
+ /* Excluded from this release type: FeatureUsageEventDetail */
408
+
405
409
  declare type FilterNewSourceTypes<PluginSrcs extends unknown[]> = {
406
410
  [Index in keyof PluginSrcs]: PluginSrcs[Index] extends {
407
411
  type: string;
@@ -1299,6 +1303,7 @@ declare type PlayerCustomEventsDetailMap = PlayerEmittableCustomEventsDetailMap
1299
1303
  /* Excluded from this release type: "seek:cancel" */
1300
1304
  /* Excluded from this release type: "plugin:registered" */
1301
1305
  /* Excluded from this release type: intersectionchange */
1306
+ /* Excluded from this release type: "flowplayer:feature" */
1302
1307
  /* Excluded from this release type: beforeplay */
1303
1308
  /* Excluded from this release type: beforepause */
1304
1309
  /* Excluded from this release type: state */
@@ -1376,6 +1381,7 @@ declare type PlayerCustomEventsOverloads = {
1376
1381
  /* Excluded from this release type: on */
1377
1382
  /* Excluded from this release type: on */
1378
1383
  /* Excluded from this release type: on */
1384
+ /* Excluded from this release type: on */
1379
1385
  /**
1380
1386
  * TODO: this is a workaround, since not all event overloads are typed. when all plugin work is finished, remove this
1381
1387
  * https://wowzamedia.jira.com/browse/PLAY-653
@@ -1707,6 +1713,13 @@ declare const RetryMap: {
1707
1713
 
1708
1714
  declare const RTL = "is-rtl";
1709
1715
 
1716
+ declare const SampleRate: {
1717
+ readonly None: 0;
1718
+ readonly Low: 0.1;
1719
+ readonly Medium: 0.01;
1720
+ readonly High: 0.001;
1721
+ };
1722
+
1710
1723
  /**
1711
1724
  * @public
1712
1725
  */
@@ -2049,6 +2062,8 @@ declare const TRACK_UPDATED = "tracks:text:updated";
2049
2062
  */
2050
2063
  declare const TRACKS = "subs:tracks";
2051
2064
 
2065
+ declare type TSampleRate = typeof SampleRate;
2066
+
2052
2067
  declare const TV = "is-tv";
2053
2068
 
2054
2069
  /**
@@ -2056,6 +2071,8 @@ declare const TV = "is-tv";
2056
2071
  */
2057
2072
  declare type UnsafeSource<SrcMixin = unknown> = SourceStr | SourceObj<SrcMixin> | Array<SourceStr | SourceObj<SrcMixin>>;
2058
2073
 
2074
+ declare type ValidSampleRates = TSampleRate[keyof TSampleRate];
2075
+
2059
2076
  /**
2060
2077
  * @public
2061
2078
  * emitted when a video track is selected
@@ -390,6 +390,10 @@ declare type ExtractPureAPI<T> = T extends PlayerWith<infer PureAPI> ? PureAPI :
390
390
 
391
391
  declare type ExtractSrcExtension<PluginBareConfig> = Get<PluginBareConfig, "src"> extends UnsafeSource<infer SrcMixinType> ? SrcMixinType : never;
392
392
 
393
+ declare const FEATURE_USAGE = "flowplayer:feature";
394
+
395
+ /* Excluded from this release type: FeatureUsageEventDetail */
396
+
393
397
  declare type FilterNewSourceTypes<PluginSrcs extends unknown[]> = {
394
398
  [Index in keyof PluginSrcs]: PluginSrcs[Index] extends {
395
399
  type: string;
@@ -1240,6 +1244,7 @@ declare type PlayerCustomEventsDetailMap = PlayerEmittableCustomEventsDetailMap
1240
1244
  /* Excluded from this release type: "seek:cancel" */
1241
1245
  /* Excluded from this release type: "plugin:registered" */
1242
1246
  /* Excluded from this release type: intersectionchange */
1247
+ /* Excluded from this release type: "flowplayer:feature" */
1243
1248
  /* Excluded from this release type: beforeplay */
1244
1249
  /* Excluded from this release type: beforepause */
1245
1250
  /* Excluded from this release type: state */
@@ -1317,6 +1322,7 @@ declare type PlayerCustomEventsOverloads = {
1317
1322
  /* Excluded from this release type: on */
1318
1323
  /* Excluded from this release type: on */
1319
1324
  /* Excluded from this release type: on */
1325
+ /* Excluded from this release type: on */
1320
1326
  /**
1321
1327
  * TODO: this is a workaround, since not all event overloads are typed. when all plugin work is finished, remove this
1322
1328
  * https://wowzamedia.jira.com/browse/PLAY-653
@@ -1648,6 +1654,13 @@ declare const RetryMap: {
1648
1654
 
1649
1655
  declare const RTL = "is-rtl";
1650
1656
 
1657
+ declare const SampleRate: {
1658
+ readonly None: 0;
1659
+ readonly Low: 0.1;
1660
+ readonly Medium: 0.01;
1661
+ readonly High: 0.001;
1662
+ };
1663
+
1651
1664
  /**
1652
1665
  * @public
1653
1666
  */
@@ -1896,6 +1909,8 @@ TOUCH_START = "touchstart";
1896
1909
 
1897
1910
  declare const TOUCHED = "is-touched";
1898
1911
 
1912
+ declare type TSampleRate = typeof SampleRate;
1913
+
1899
1914
  declare const TV = "is-tv";
1900
1915
 
1901
1916
  /**
@@ -1903,6 +1918,8 @@ declare const TV = "is-tv";
1903
1918
  */
1904
1919
  declare type UnsafeSource<SrcMixin = unknown> = SourceStr | SourceObj<SrcMixin> | Array<SourceStr | SourceObj<SrcMixin>>;
1905
1920
 
1921
+ declare type ValidSampleRates = TSampleRate[keyof TSampleRate];
1922
+
1906
1923
  /**
1907
1924
  * @public
1908
1925
  * emitted when a video track is selected
@@ -390,6 +390,10 @@ declare type ExtractPureAPI<T> = T extends PlayerWith<infer PureAPI> ? PureAPI :
390
390
 
391
391
  declare type ExtractSrcExtension<PluginBareConfig> = Get<PluginBareConfig, "src"> extends UnsafeSource<infer SrcMixinType> ? SrcMixinType : never;
392
392
 
393
+ declare const FEATURE_USAGE = "flowplayer:feature";
394
+
395
+ /* Excluded from this release type: FeatureUsageEventDetail */
396
+
393
397
  declare type FilterNewSourceTypes<PluginSrcs extends unknown[]> = {
394
398
  [Index in keyof PluginSrcs]: PluginSrcs[Index] extends {
395
399
  type: string;
@@ -1240,6 +1244,7 @@ declare type PlayerCustomEventsDetailMap = PlayerEmittableCustomEventsDetailMap
1240
1244
  /* Excluded from this release type: "seek:cancel" */
1241
1245
  /* Excluded from this release type: "plugin:registered" */
1242
1246
  /* Excluded from this release type: intersectionchange */
1247
+ /* Excluded from this release type: "flowplayer:feature" */
1243
1248
  /* Excluded from this release type: beforeplay */
1244
1249
  /* Excluded from this release type: beforepause */
1245
1250
  /* Excluded from this release type: state */
@@ -1317,6 +1322,7 @@ declare type PlayerCustomEventsOverloads = {
1317
1322
  /* Excluded from this release type: on */
1318
1323
  /* Excluded from this release type: on */
1319
1324
  /* Excluded from this release type: on */
1325
+ /* Excluded from this release type: on */
1320
1326
  /**
1321
1327
  * TODO: this is a workaround, since not all event overloads are typed. when all plugin work is finished, remove this
1322
1328
  * https://wowzamedia.jira.com/browse/PLAY-653
@@ -1648,6 +1654,13 @@ declare const RetryMap: {
1648
1654
 
1649
1655
  declare const RTL = "is-rtl";
1650
1656
 
1657
+ declare const SampleRate: {
1658
+ readonly None: 0;
1659
+ readonly Low: 0.1;
1660
+ readonly Medium: 0.01;
1661
+ readonly High: 0.001;
1662
+ };
1663
+
1651
1664
  /**
1652
1665
  * @public
1653
1666
  */
@@ -1884,6 +1897,8 @@ TOUCH_START = "touchstart";
1884
1897
 
1885
1898
  declare const TOUCHED = "is-touched";
1886
1899
 
1900
+ declare type TSampleRate = typeof SampleRate;
1901
+
1887
1902
  declare const TV = "is-tv";
1888
1903
 
1889
1904
  /**
@@ -1891,6 +1906,8 @@ declare const TV = "is-tv";
1891
1906
  */
1892
1907
  declare type UnsafeSource<SrcMixin = unknown> = SourceStr | SourceObj<SrcMixin> | Array<SourceStr | SourceObj<SrcMixin>>;
1893
1908
 
1909
+ declare type ValidSampleRates = TSampleRate[keyof TSampleRate];
1910
+
1894
1911
  /**
1895
1912
  * @public
1896
1913
  * emitted when a video track is selected
@@ -397,6 +397,10 @@ declare type ExtractPureAPI<T> = T extends PlayerWith<infer PureAPI> ? PureAPI :
397
397
 
398
398
  declare type ExtractSrcExtension<PluginBareConfig> = Get<PluginBareConfig, "src"> extends UnsafeSource<infer SrcMixinType> ? SrcMixinType : never;
399
399
 
400
+ declare const FEATURE_USAGE = "flowplayer:feature";
401
+
402
+ /* Excluded from this release type: FeatureUsageEventDetail */
403
+
400
404
  declare type FilterNewSourceTypes<PluginSrcs extends unknown[]> = {
401
405
  [Index in keyof PluginSrcs]: PluginSrcs[Index] extends {
402
406
  type: string;
@@ -1249,6 +1253,7 @@ declare type PlayerCustomEventsDetailMap = PlayerEmittableCustomEventsDetailMap
1249
1253
  /* Excluded from this release type: "seek:cancel" */
1250
1254
  /* Excluded from this release type: "plugin:registered" */
1251
1255
  /* Excluded from this release type: intersectionchange */
1256
+ /* Excluded from this release type: "flowplayer:feature" */
1252
1257
  /* Excluded from this release type: beforeplay */
1253
1258
  /* Excluded from this release type: beforepause */
1254
1259
  /* Excluded from this release type: state */
@@ -1326,6 +1331,7 @@ declare type PlayerCustomEventsOverloads = {
1326
1331
  /* Excluded from this release type: on */
1327
1332
  /* Excluded from this release type: on */
1328
1333
  /* Excluded from this release type: on */
1334
+ /* Excluded from this release type: on */
1329
1335
  /**
1330
1336
  * TODO: this is a workaround, since not all event overloads are typed. when all plugin work is finished, remove this
1331
1337
  * https://wowzamedia.jira.com/browse/PLAY-653
@@ -1657,6 +1663,13 @@ declare const RetryMap: {
1657
1663
 
1658
1664
  declare const RTL = "is-rtl";
1659
1665
 
1666
+ declare const SampleRate: {
1667
+ readonly None: 0;
1668
+ readonly Low: 0.1;
1669
+ readonly Medium: 0.01;
1670
+ readonly High: 0.001;
1671
+ };
1672
+
1660
1673
  /**
1661
1674
  * @public
1662
1675
  */
@@ -1885,6 +1898,8 @@ declare const TOUCHED = "is-touched";
1885
1898
 
1886
1899
  /* Excluded from this release type: TRACKS */
1887
1900
 
1901
+ declare type TSampleRate = typeof SampleRate;
1902
+
1888
1903
  declare const TV = "is-tv";
1889
1904
 
1890
1905
  /**
@@ -1892,6 +1907,8 @@ declare const TV = "is-tv";
1892
1907
  */
1893
1908
  declare type UnsafeSource<SrcMixin = unknown> = SourceStr | SourceObj<SrcMixin> | Array<SourceStr | SourceObj<SrcMixin>>;
1894
1909
 
1910
+ declare type ValidSampleRates = TSampleRate[keyof TSampleRate];
1911
+
1895
1912
  /**
1896
1913
  * @public
1897
1914
  * emitted when a video track is selected