@flowplayer/player 3.26.0 → 3.27.0-rc.1

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/flowplayer.css +1 -1
  5. package/index.d.ts +5 -0
  6. package/package.json +1 -1
  7. package/plugins/ads.d.ts +5 -0
  8. package/plugins/ads.js +1 -1
  9. package/plugins/airplay.d.ts +5 -0
  10. package/plugins/analytics.d.ts +5 -0
  11. package/plugins/analytics.js +1 -1
  12. package/plugins/asel.d.ts +5 -0
  13. package/plugins/audio.d.ts +5 -0
  14. package/plugins/chapters.d.ts +5 -0
  15. package/plugins/chromecast.d.ts +5 -0
  16. package/plugins/comscore.d.ts +5 -0
  17. package/plugins/consent.d.ts +5 -0
  18. package/plugins/context-menu.d.ts +5 -0
  19. package/plugins/cuepoints.d.ts +5 -0
  20. package/plugins/dash.d.ts +5 -0
  21. package/plugins/drm.d.ts +5 -0
  22. package/plugins/endscreen.d.ts +5 -0
  23. package/plugins/fas.d.ts +5 -0
  24. package/plugins/float-on-scroll.d.ts +5 -0
  25. package/plugins/ga4.d.ts +5 -0
  26. package/plugins/gemius.d.ts +5 -0
  27. package/plugins/google-analytics.d.ts +5 -0
  28. package/plugins/hls.d.ts +5 -0
  29. package/plugins/id3.d.ts +5 -0
  30. package/plugins/iframe.d.ts +5 -0
  31. package/plugins/keyboard.d.ts +5 -0
  32. package/plugins/media-session.d.ts +5 -0
  33. package/plugins/message.d.ts +5 -0
  34. package/plugins/ovp.d.ts +5 -0
  35. package/plugins/playlist.d.ts +5 -0
  36. package/plugins/preview.d.ts +5 -0
  37. package/plugins/qsel.d.ts +5 -0
  38. package/plugins/qul.d.ts +5 -0
  39. package/plugins/rts.d.ts +6 -0
  40. package/plugins/rts.js +8 -8
  41. package/plugins/share.d.ts +5 -0
  42. package/plugins/speed.d.ts +5 -0
  43. package/plugins/ssai.d.ts +5 -0
  44. package/plugins/ssai.js +1 -1
  45. package/plugins/subtitles.d.ts +5 -0
  46. package/plugins/thumbnails.d.ts +5 -0
  47. package/plugins/tizen.d.ts +5 -0
  48. package/plugins/vtsel.d.ts +5 -0
  49. package/plugins/webos.d.ts +5 -0
  50. package/util/loader.d.ts +5 -0
@@ -117,6 +117,11 @@ declare interface Config {
117
117
  autopause?: boolean;
118
118
  rewind?: boolean;
119
119
  loop?: boolean;
120
+ /**
121
+ * an access token for the media
122
+ * @public
123
+ */
124
+ playback_token?: string;
120
125
  /* Excluded from this release type: seamless */
121
126
  retry?: boolean;
122
127
  autoplay?: Autoplay;
@@ -117,6 +117,11 @@ declare interface Config {
117
117
  autopause?: boolean;
118
118
  rewind?: boolean;
119
119
  loop?: boolean;
120
+ /**
121
+ * an access token for the media
122
+ * @public
123
+ */
124
+ playback_token?: string;
120
125
  /* Excluded from this release type: seamless */
121
126
  retry?: boolean;
122
127
  autoplay?: Autoplay;
package/plugins/ssai.d.ts CHANGED
@@ -158,6 +158,11 @@ declare interface Config {
158
158
  autopause?: boolean;
159
159
  rewind?: boolean;
160
160
  loop?: boolean;
161
+ /**
162
+ * an access token for the media
163
+ * @public
164
+ */
165
+ playback_token?: string;
161
166
  /* Excluded from this release type: seamless */
162
167
  retry?: boolean;
163
168
  autoplay?: Autoplay;
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 w=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 u}static get ENGINE_MAP(){return g}static get OS_MAP(){return m}static get PLATFORMS_MAP(){return p}}.parse(window.navigator.userAgent),{platform:S,os:_,browser:A}=w,M=e=>e&&e.toLowerCase();var T={rnd:Math.random().toString(36).substr(2,32),os:M(_.name+(_.versionName?" "+_.versionName:"")),device:M(S.type),browser:M(A.name),browser_version:(A&&A.version?A.version:"unknown").split(".").shift(),plugin_version:"3.26.0"};const E="https://fp-eu-w1-aai.flowplayer.com/in",k="POST",O=["ad-requested","ad-request-error","ad-request-completed","ad-completed","ad-started","ad-error","ad-skipped"],U=["event_type","ad_tag_id","media_id","player_id","site_id","sitegroup_id","rnd","os","device","browser","browser_version","plugin_version","player_version"],R=["vast_error","reason","request_load_time","ad_type","vast_ad_id"],P=c("ads/analytics"),C=RequestQueue.of(),F=(...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,F(e.metadata,t,{player_version:"3.26.0"})),e}constructor(e,t={}){this.emitter=e,this.metadata=F(T,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),P(this),this.wireup()}wireup(){this.events.forEach(e=>{this.emitter.on(e,t=>{const r=t.detail,s=F(this.metadata,{event_type:e},r),i=Analytics.pluck_valid_keys(this,s),n=Analytics.ensure_required_keys(this,i);if(P(`Event[${e}]`,{payload:i,observation:r}),n.length)return P(`Analytics.validate_metadata() failed for\n Event[${e}]\n missing keys: ${n}`,i);RequestQueue.rpush(C,[E,k,i])})})}destroy(){this.emitter=this.metadata=this.events=this.required_keys=this.optional_keys=this.valid_keys=void 0}}var D;function N(e,t){var r;switch(t){case D.Preroll:return 0;case D.Postroll:return-1;default:return null===(r=e.ssai)||void 0===r?void 0:r.provider.getContentCurrentTime(e)}}function B(e,t,r){var s,i,n,a;const o=null===(s=t.ssai)||void 0===s?void 0:s.provider.getAdType(),c=null===(a=null===(n=null===(i=t.ssai)||void 0===i?void 0:i.provider)||void 0===n?void 0:n.src)||void 0===a?void 0:a.analyticsId,d={ad_break_time:N(t,o),ad_muted:t.muted,event_type:e,is_ssai:!0};o&&Object.assign(d,{ad_type:o}),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 I(e,t){var r;e.setState("ssai-ad-active",!0);const s=null===(r=e.ssai)||void 0===r?void 0:r.state;s&&(s.adProgress={currentTime:0,duration:t},x(e,s))}function j(e,t){var r;const s=null===(r=e.ssai)||void 0===r?void 0:r.state;s&&(s.adProgress=t,x(e,s))}function q(e){if(!e.ssai)return;const t=e.ssai.state;e.setState("ssai-ad-active",!1),delete t.adProgress,void 0!==t.rate&&(e.playbackRate=t.rate,delete t.rate),"number"==typeof t.snapbackTime&&(s(e,t.snapbackTime),delete t.snapbackTime)}function x(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"}(D||(D={}));const L=navigator.languages||[navigator.language];const Q="flowplayer-ssai-ui";function V(e,t){const r=new google.ima.dai.api.UiSettings,s=e.opt("lang")||function(){try{return L.reduce((e,t)=>~t.indexOf("-")?e.concat(t,t.split("-")[0]):e.concat(t),[])}catch(e){return[]}}().find(e=>!e.includes("-"))||"en";r.setLocale(s);const i=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,Q),r);return i.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,s){var i;if((null===(i=e.ssai)||void 0===i?void 0:i.provider)!==s)return;switch(r.type){case google.ima.dai.api.StreamEvent.Type.STREAM_INITIALIZED:return async function(e,t,r,s){var i,n;const a=s.getStreamData().streamId;if(!a||!t.isPod)return;if(!t.isVod){const r=null===(i=t.src)||void 0===i?void 0:i.streamUrl;return r?(t.daiStream=t.buildPodStreamURL(r,a),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 o=null===(n=t.src)||void 0===n?void 0:n.requestStreamUrl;if(!o)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 o(r,a),r.loadStreamMetadata(),e.setSrc(t.daiStream)}catch(r){z(e,t)}}(e,s,t,r);case google.ima.dai.api.StreamEvent.Type.RESUMED:return B("ad-resumed",e,H(e,r,s));case google.ima.dai.api.StreamEvent.Type.PAUSED:return B("ad-paused",e,H(e,r,s));case google.ima.dai.api.StreamEvent.Type.COMPLETE:return B("ad-completed",e,H(e,r,s));case google.ima.dai.api.StreamEvent.Type.SKIPPED:return B("ad-skipped",e,H(e,r,s));case google.ima.dai.api.StreamEvent.Type.LOADED:return function(e,t,r){const s=r.getStreamData().url;if(!s||t.isPod&&!t.isVod)return;t.daiStream=s,e.setSrc(s)}(e,s,r);case google.ima.dai.api.StreamEvent.Type.STARTED:return s.currentAd=r.getAd(),B("ad-started",e,H(e,r,s));case google.ima.dai.api.StreamEvent.Type.AD_BREAK_STARTED:return I(e),B("ad-break-started",e,H(e,r,s));case google.ima.dai.api.StreamEvent.Type.AD_BREAK_ENDED:return B(a,e,H(e,r,s)),q(e),s.currentAd=void 0;case google.ima.dai.api.StreamEvent.Type.ERROR:return z(e,s,r);case google.ima.dai.api.StreamEvent.Type.AD_PROGRESS:{const t=H(e,r,s);return j(e,t),B("ad-progress",e,t)}case google.ima.dai.api.StreamEvent.Type.CLICK:(function(e,t){if(!e.paused)e.togglePlay(!1)})(e)}}(e,i,r,t)},!1),e.on("ssai:hls:metadata",r=>{var s,n;(null===(s=e.ssai)||void 0===s?void 0:s.provider)===t&&(null===(n=r.detail)||void 0===n||n.samples.forEach(e=>i.processMetadata("ID3",e.data,e.pts)))}),e.on("ssai:dash:metadata",r=>{var s;const n=r.detail;if(!n||(null===(s=e.ssai)||void 0===s?void 0:s.provider)!==t)return;const a=n.event.messageData,o=n.event.calculatedPresentationTime;i.processMetadata("urn:google:dai:2018",a,o)}),i}function H(e,t,r){const s=r.currentAd,i=Object.assign({},t.getStreamData().adProgressData);return s&&Object.assign(i,{vast_ad_id:s.getAdId()}),(null==s?void 0:s.getAdPodInfo())&&Object.assign(i,{position:s.getAdPodInfo().getAdPosition(),totals:s.getAdPodInfo().getTotalAds()}),i}function z(e,t,r){var s,i;if(null===(s=t.src)||void 0===s?void 0:s.backupStream)return e.setSrc(t.src.backupStream);e.emit("error",{message:(null===(i=null==r?void 0:r.getStreamData())||void 0===i?void 0:i.errorMessage)||"error loading stream"})}var W;!function(e){e.Preroll="preroll",e.Midroll="midroll",e.Postroll="postroll"}(W||(W={}));const G=c("ads/ima/sdk");var K;async function $(e,t){var r;const s=null===(r=null===window||void 0===window?void 0:window.google)||void 0===r?void 0:r.ima;if(t?null==s?void 0:s.dai:s)return void G(":noop");const i=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 s=document.querySelector(`script[src='${e}']`);if(s)return Y(s,t,r);s=document.createElement("script"),s.setAttribute("state",K.LOADING),Y(s,t,r),s.src=e,document.head.appendChild(s)})}(i),void G(":loaded")}catch(e){G(":error "+e.message,e)}}function Y(e,t,r){const s=e.getAttribute("state");if(s&&[K.ERROR,K.LOADED].includes(s))return t(void 0);e.addEventListener("load",()=>{e.setAttribute("state",K.LOADED),t(void 0)},{once:!0}),["error","abort"].forEach(t=>{e.addEventListener(t,()=>{e.setAttribute("state",K.ERROR),r("script failed to load")},{once:!0})})}!function(e){e.LOADING="loading",e.LOADED="loaded",e.ERROR="error"}(K||(K={}));class Dai{constructor(e){this.make_analytics(e)}async onload(e,t){var r,s;return await $(e,!0),(null===(s=null===(r=window.google)||void 0===r?void 0:r.ima)||void 0===s?void 0:s.dai)?((null==this?void 0:this.streamManager)||(this.streamManager=V(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:U,events:O,optional_keys:R});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={},s=e.value;r[s.key]=s.data,null===(t=this.streamManager)||void 0===t||t.onTimedMetadata(r)}getAdType(){if(this.currentAd)switch(this.currentAd.getAdPodInfo().getPodIndex()){case 0:return W.Preroll;case-1:return W.Postroll;case-2:return;default:return W.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 s=null===(r=null==this?void 0:this.streamManager)||void 0===r?void 0:r.previousCuePointForStreamTime(t);if(s&&!s.played)return s.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 Z=window.YospaceAdManagement||{AnalyticEventObserver:null};class EventObserver extends Z.AnalyticEventObserver{constructor(e){super(),this.video=e}onAdvertBreakStart(e){const t=e.getDuration();if(!e.isActive()&&t){const e=r(this.video);s(this.video,e+t/1e3)}I(this.video,e.getStart()),B("ad-break-started",this.video)}onAdvertBreakEnd(){q(this.video),B(a,this.video)}onAdvertStart(e){}onAdvertEnd(){}onTrackingEvent(e){}}function X(e,t){YospaceAdManagement.SessionVOD.create(e,t.ssai.properties,e=>{const s=e.getPayload();if(s.getSessionResult()===YospaceAdManagement.SessionResult.INITIALISED){t.ssai.session=s;const e=new EventObserver(t);s.addAnalyticObserver(e),t.setSrc({src:s.getPlaybackUrl()}),setInterval(()=>{const e=1e3*r(t);s.onPlayheadUpdate(e),function(e,t,r){const s=e.getCurrentAdBreak();if(!s)return;const i={currentTime:r-s.getStart(),duration:s.getDuration()};j(t,i),B("ad-progress",t,i)}(s,t,e)},250)}else console.warn("YoSpace Failed to initialise session. ResultCode = "+s.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 r(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 s(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 n(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&&X(t.src,e)}getContentCurrentTime(e){const t=r(e),s=e.ssai.session;return s?s.getContentPositionForPlayhead(1e3*t)/1e3:t}setContentCurrentTime(e,t){const r=e.ssai.session;if(!r)return s(e,t);return s(e,r.getPlayheadForContentPosition(1e3*t)/1e3)}getContentDuration(e){const t=e.ssai.session,r=n(e);return t?t.getContentPositionForPlayhead(t.getDuration())/1e3:r}getAdType(){}getPreviousActiveAdStart(e,t){const r=e.ssai.session;if(!r)return;const s=r.getAdBreaks();let i;const n=1e3*t;return s.forEach(e=>{void 0===i&&e.getStart()<n&&e.isActive()&&(i=e)}),void 0!==i?i.getStart()/1e3:void 0}}function J(e){var t;if((null===(t=this.player.ssai)||void 0===t?void 0:t.provider)===this)switch(e.type){case"playing":case"pause":return function(e){if(!e.player.hasState("ssai-ad-active"))return;return B(e.player.paused?"ad-paused":"ad-resumed",e.player)}(this);case"progress":return function(e){const t=e.player,r=t.hls;if(!r)return;if(t.hasState("ssai-ad-active"))return r.config.maxBufferLength=1;const s=t.currentTime;let i,n=0;for(;n<t.buffered.length;n++)if(t.buffered.start(n)-1<=s&&t.buffered.end(n)>=s){i=t.buffered.end(n);break}if(void 0===i)return;const a=e.getAdCues().find(e=>!e.played&&e.endTime>i&&e.startTime<=i);return r.config.maxBufferLength=a?1:30}(this);case"timeupdate":return function(e){if(!e.activeCue||!e.player.hasState("ssai-ad-active"))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},B("ad-progress",e.player,Object.assign(Object.assign({},e.ad),e.podInfo));if(e.podInfo.totals!==e.podInfo.position)return;B("ad-completed",e.player),B(a,e.player),q(e.player),e.activeCue.played=!0,e.activeCue=void 0}(this)}}Yospace.Type="yospace";var ee=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}(),s=Object.prototype.hasOwnProperty;t.arrayToObject=function(e,t){for(var r=t.plainObjects?Object.create(null):{},s=0;s<e.length;++s)void 0!==e[s]&&(r[s]=e[s]);return r},t.merge=function(e,r,i){if(!r)return e;if("object"!=typeof r){if(Array.isArray(e))e.push(r);else{if("object"!=typeof e)return[e,r];(i.plainObjects||i.allowPrototypes||!s.call(Object.prototype,r))&&(e[r]=!0)}return e}if("object"!=typeof e)return[e].concat(r);var n=e;return Array.isArray(e)&&!Array.isArray(r)&&(n=t.arrayToObject(e,i)),Object.keys(r).reduce((function(e,n){var a=r[n];return s.call(e,n)?e[n]=t.merge(e[n],a,i):e[n]=a,e}),n)},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),s="",i=0;i<t.length;++i){var n=t.charCodeAt(i);45===n||46===n||95===n||126===n||n>=48&&n<=57||n>=65&&n<=90||n>=97&&n<=122?s+=t.charAt(i):n<128?s+=r[n]:n<2048?s+=r[192|n>>6]+r[128|63&n]:n<55296||n>=57344?s+=r[224|n>>12]+r[128|n>>6&63]+r[128|63&n]:(i+=1,n=65536+((1023&n)<<10|1023&t.charCodeAt(i)),s+=r[240|n>>18]+r[128|n>>12&63]+r[128|n>>6&63]+r[128|63&n])}return s},t.compact=function(e,r){if("object"!=typeof e||null===e)return e;var s=r||[],i=s.indexOf(e);if(-1!==i)return s[i];if(s.push(e),Array.isArray(e)){for(var n=[],a=0;a<e.length;++a)e[a]&&"object"==typeof e[a]?n.push(t.compact(e[a],s)):void 0!==e[a]&&n.push(e[a]);return n}for(var o=Object.keys(e),c=0;c<o.length;++c){var d=o[c];e[d]=t.compact(e[d],s)}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))}})),te={brackets:function(e){return e+"[]"},indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},re={delimiter:"&",strictNullHandling:!1,skipNulls:!1,encode:!0,encoder:ee.encode},se=function e(t,r,s,i,n,a,o,c,d){var l=t;if("function"==typeof o)l=o(r,l);else if(l instanceof Date)l=l.toISOString();else if(null===l){if(i)return a?a(r):r;l=""}if("string"==typeof l||"number"==typeof l||"boolean"==typeof l||ee.isBuffer(l))return a?[a(r)+"="+a(l)]:[r+"="+String(l)];var u,p=[];if(void 0===l)return p;if(Array.isArray(o))u=o;else{var m=Object.keys(l);u=c?m.sort(c):m}for(var g=0;g<u.length;++g){var h=u[g];n&&null===l[h]||(p=Array.isArray(l)?p.concat(e(l[h],s(r,h),s,i,n,a,o,c,d)):p.concat(e(l[h],r+(d?"."+h:"["+h+"]"),s,i,n,a,o,c,d)))}return p},ie=Object.prototype.hasOwnProperty,ne={delimiter:"&",depth:5,arrayLimit:20,parameterLimit:1e3,strictNullHandling:!1,plainObjects:!1,allowPrototypes:!1,allowDots:!1,decoder:ee.decode},ae=function(e,t,r){if(e){var s=r.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,i=/(\[[^[\]]*])/g,n=/(\[[^[\]]*])/.exec(s),a=n?s.slice(0,n.index):s,o=[];if(a){if(!r.plainObjects&&ie.call(Object.prototype,a)&&!r.allowPrototypes)return;o.push(a)}for(var c=0;null!==(n=i.exec(s))&&c<r.depth;){if(c+=1,!r.plainObjects&&ie.call(Object.prototype,n[1].slice(1,-1))&&!r.allowPrototypes)return;o.push(n[1])}return n&&o.push("["+s.slice(n.index)+"]"),function e(t,r,s){if(!t.length)return r;var i,n=t.shift();if("[]"===n)i=(i=[]).concat(e(t,r,s));else{i=s.plainObjects?Object.create(null):{};var a="["===n.charAt(0)&&"]"===n.charAt(n.length-1)?n.slice(1,-1):n,o=parseInt(a,10);!isNaN(o)&&n!==a&&String(o)===a&&o>=0&&s.parseArrays&&o<=s.arrayLimit?(i=[])[o]=e(t,r,s):i[a]=e(t,r,s)}return i}(o,t,r)}},oe=function(e,t){var r,s,i=e,n=t||{},a=void 0===n.delimiter?re.delimiter:n.delimiter,o="boolean"==typeof n.strictNullHandling?n.strictNullHandling:re.strictNullHandling,c="boolean"==typeof n.skipNulls?n.skipNulls:re.skipNulls,d=("boolean"==typeof n.encode?n.encode:re.encode)?"function"==typeof n.encoder?n.encoder:re.encoder:null,l="function"==typeof n.sort?n.sort:null,u=void 0!==n.allowDots&&n.allowDots;if(null!==n.encoder&&void 0!==n.encoder&&"function"!=typeof n.encoder)throw new TypeError("Encoder has to be a function.");"function"==typeof n.filter?i=(s=n.filter)("",i):Array.isArray(n.filter)&&(r=s=n.filter);var p,m=[];if("object"!=typeof i||null===i)return"";p=n.arrayFormat in te?n.arrayFormat:"indices"in n?n.indices?"indices":"repeat":"indices";var g=te[p];r||(r=Object.keys(i)),l&&r.sort(l);for(var h=0;h<r.length;++h){var f=r[h];c&&null===i[f]||(m=m.concat(se(i[f],f,g,o,c,d,s,l,u)))}return m.join(a)},ce=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||ee.isRegExp(r.delimiter)?r.delimiter:ne.delimiter,r.depth="number"==typeof r.depth?r.depth:ne.depth,r.arrayLimit="number"==typeof r.arrayLimit?r.arrayLimit:ne.arrayLimit,r.parseArrays=!1!==r.parseArrays,r.decoder="function"==typeof r.decoder?r.decoder:ne.decoder,r.allowDots="boolean"==typeof r.allowDots?r.allowDots:ne.allowDots,r.plainObjects="boolean"==typeof r.plainObjects?r.plainObjects:ne.plainObjects,r.allowPrototypes="boolean"==typeof r.allowPrototypes?r.allowPrototypes:ne.allowPrototypes,r.parameterLimit="number"==typeof r.parameterLimit?r.parameterLimit:ne.parameterLimit,r.strictNullHandling="boolean"==typeof r.strictNullHandling?r.strictNullHandling:ne.strictNullHandling,""===e||null==e)return r.plainObjects?Object.create(null):{};for(var s="string"==typeof e?function(e,t){for(var r={},s=e.split(t.delimiter,t.parameterLimit===1/0?void 0:t.parameterLimit),i=0;i<s.length;++i){var n,a,o=s[i],c=-1===o.indexOf("]=")?o.indexOf("="):o.indexOf("]=")+1;-1===c?(n=t.decoder(o),a=t.strictNullHandling?null:""):(n=t.decoder(o.slice(0,c)),a=t.decoder(o.slice(c+1))),ie.call(r,n)?r[n]=[].concat(r[n]).concat(a):r[n]=a}return r}(e,r):e,i=r.plainObjects?Object.create(null):{},n=Object.keys(s),a=0;a<n.length;++a){var o=n[a],c=ae(o,s[o],r);i=ee.merge(i,c,r)}return ee.compact(i)};const de=c("fpads:macros"),le=/\[([\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((s,i)=>{const n=Macros.process_str(i,t,r,!0),a=e[i];return null===a?(s[n]=a,s):"object"==typeof a?(s[n]=Macros.process_obj(a,t,r),s):"string"==typeof a?(s[n]=Macros.process_str(a,t,r),s):(console.error(new Error(`${a} at ${i} not a handled Macro type`)),s)},{})}static process_str(e,t,r,s=!1){return e.replace(t.pattern,(e,t)=>{const i=Macros.normalize(t);if(!(i in r)||void 0===r[i])return e;const n=r[i],a=s?n:Macros.cast(n);return de("Macro.replace(raw: %s, macro: %s, value: %s)",s,t,a),a})}constructor(e={},t=le){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),[s,i]=e.split("?"),n=ce(i||"",{strictNullHandling:!0,decoder:e=>e}),a=oe(Macros.process_obj(n,this,r),{encode:!1,strictNullHandling:!0});return Macros.process_str(s,this,r,!0)+"?"+a}}function ue(e,t={width:0,height:0}){let r,s;try{const e=document.createElement("a");e.href=r=window.location!=window.parent.location?document.referrer:document.location.href,s=e.hostname}catch(e){console.error(e)}const{width:i,height:n}=t,{video_source:a}=e||{},o=function(){const e=window;return"object"==typeof e.__flowplayerAdParameters?e.__flowplayerAdParameters:{}}();return Object.assign({random:Date.now(),page_url:r,domain:s,player_width:i,player_height:n,video_url:a,videourl:a},o)}Macros.patterns={BRACKETS:le,CURLY:/\{([\s\S]+?)\}/g,UNDERSCORE:/__([\s\S]+?)__/g};class MediaTailor{constructor(e){this.ad={duration:0,currentTime:0},this.podInfo={totals:0,position:0},this.player=e,e.on(["timeupdate","progress","playing","pause"],J.bind(this))}onload(e,t){this.stream=this.compileMacros(e,t),e.setSrc(this.stream)}compileMacros(e,t){var r,s;const i=e.opts,n=ue(void 0,{width:e.clientWidth,height:e.clientHeight});(i.duration||(null===(r=i.metadata)||void 0===r?void 0:r.duration))&&Object.assign(n,{media_duration:i.duration||(null===(s=i.metadata)||void 0===s?void 0:s.duration)});return new Macros(Object.assign({referrer_url:document.referrer,autoplay:!!e.opts.autoplay},e.opts.metadata,t.parameters,n)).compile(t.stream)}onNewSrc(e,t){t.src!==this.stream&&(this.activeCue=void 0,e.ssai=void 0)}getPreviousActiveAdStart(e,t){const r=this.getAdCues(),s=r.slice().reverse().find(e=>e.endTime<t);if(!s||s.played)return;const i=r[r.indexOf(s)+1];return!i||t<i.startTime&&(t+.1<=i.startTime||i.played||e.paused)?this.findAdBreakStartCue(s).startTime:void 0}onId3(e){var t;if(e.played||e==this.activeCue)return;if("X-AD-CREATIVE-SIGNALING"!==(null===(t=e.value)||void 0===t?void 0:t.key))return;if(this.activeCue)return B("ad-completed",this.player),this.activeCue.played=!0,this.activeCue=e,++this.podInfo.position,B("ad-started",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,I(this.player),this.setPodInfo(e),B("ad-break-started",this.player),B("ad-started",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=D.Midroll:e.startTime<=1?this.ad_type=D.Preroll:Math.abs(t[r-1].endTime-this.player.duration)<=1?this.ad_type=D.Postroll:this.ad_type=D.Midroll}findAdBreakStartCue(e){const t=this.getAdCues().filter(t=>t.startTime<=e.startTime).reverse();let r=e,s=1;for(;s<t.length&&!(t[s-1].startTime-t[s].endTime>.1);)r=t[s],s++;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"X-AD-CREATIVE-SIGNALING"===(null===(t=e.value)||void 0===t?void 0:t.key)})}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 pe=(e,t)=>new(((e,t)=>{const r=e.get(t);if(!r)throw new Error(`no flowplayer component with the name ${t} exists`);const s=window.customElements.get(t);if(!s)throw new Error(`no default flowplayer component with the name ${t} exists`);const i=window.customElements.get(r);return"function"!=typeof i?s:i})(e._customElements,t))(e),me=(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.player.createComponents("flowplayer-ssai-indicator","flowplayer-ssai-timeline","flowplayer-ssai-controls"))}}class SSAITimeline extends FlowplayerComponent{constructor(e){super(e),this.className="fp-ssai-timeline";const t=document.createElement("div");t.className="fp-ssai-progress",this.append(t),this.player.on(a,()=>{t.classList.remove("go"),"--ssai-percent-complete --ssai-percent-previous".split(" ").forEach(e=>this.style.setProperty(e,"0"))}),this.player.on("ad-progress",e=>{var r,s;const i=null===(r=e.detail)||void 0===r?void 0:r.currentTime,n=null===(s=e.detail)||void 0===s?void 0:s.duration;if(void 0===n||void 0===i)return;const a=i/n*100,o=t.style.getPropertyValue("--ssai-percent-complete");t.classList.remove("go"),t.style.setProperty("--ssai-percent-previous",o),t.style.setProperty("--ssai-percent-complete",a.toFixed(3)),t.classList.add("go")})}}function ge(e){const t="number"==typeof e?e:parseInt(e,10);return(t>9?"":"0")+t}class SSAIControls extends FlowplayerComponent{constructor(e){super(e),this.className="fp-ssai-controls",this.createLeftZone(),this.createRightZone()}createRightZone(){const e=document.createElement("div");e.className="fp-ssai-right-zone",e.append(...this.player.createComponents("flowplayer-volume-control"),...this.fsIcons()),this.append(e)}createLeftZone(){const e=document.createElement("div");e.className="fp-ssai-left-zone",e.append(...this.player.createComponents("flowplayer-control-buttons"),this.remainingTimeComponent()),this.append(e)}fsIcons(){return this.player.createComponents("flowplayer-fullscreen-enter-icon","flowplayer-fullscreen-exit-icon").map(e=>(e.onclick=()=>this.player.toggleFullScreen(),e))}remainingTimeComponent(){const e=document.createElement("div");return e.className="fp-ssai-remaining",this.player.on("ad-progress",t=>{var r;const s=null===(r=t.detail)||void 0===r?void 0:r.remaining;void 0!==s&&(e.textContent=function(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 s=Math.floor(e/60);return e-=60*s,r>=1?(s-=60*r,t+r+":"+ge(s)+":"+ge(e)):t+ge(s)+":"+ge(e)}(s))}),e}}class SSAIAdIndicator extends FlowplayerComponent{constructor(e){super(e),this.className="fp-ssai-indicator",this.player.on("ad-started",e=>{var t,r;const s=null===(t=e.detail)||void 0===t?void 0:t.totals,i=null===(r=e.detail)||void 0===r?void 0:r.position;void 0!==s&&void 0!==i&&(this.textContent=`${this.player.i18n("ads.indicator","ADS")} ${i} / ${s}`)})}}var he,fe=Object.freeze({__proto__:null,ID3:"ID3"});const ve=((he=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",he.events=fe,he),ye=e(window,ve);var be;const we=((be=class Ssai{constructor(e,t){this.umd=e,this.providers=[],this.player=t,me(e,Q,SSAIAdUi),me(e,"flowplayer-ssai-timeline",SSAITimeline),me(e,"flowplayer-ssai-controls",SSAIControls),me(e,"flowplayer-ssai-indicator",SSAIAdIndicator)}init(e,t,i){const n=pe(i,Q);if(t.append(n),i.on(ye.events.ID3,({detail:e})=>{var t,r,s;const n=null==e?void 0:e.cue;n&&(null===(s=null===(t=i.ssai)||void 0===t?void 0:(r=t.provider).onId3)||void 0===s||s.call(r,n))}),i.on("seeked",()=>function(e){if(e.opt("live"))return;if(!e.ssai)return;const{provider:t,state:i}=e.ssai;if(i.snapback)return i.snapback=!1;const n=r(e),a=t.getPreviousActiveAdStart(e,n);void 0!==a&&(i.snapback=!0,i.snapbackTime=n,s(e,a))}(i)),i.on("src",e=>{var t,r,s;i.setState("ssai-ad-active",!1),null===(s=null===(r=null===(t=i.ssai)||void 0===t?void 0:t.provider)||void 0===r?void 0:r.onNewSrc)||void 0===s||s.call(r,i,e.detail)}),this.umd.extensions.find(e=>e.pluginName===ye.pluginName))return;new ye(this.umd,i).init(e,t,i)}onload(e,t,r,s){var i,n;null===(n=null===(i=r.ssai)||void 0===i?void 0:i.provider)||void 0===n||n.onload(r,s)}wants(e,t,r){return!!this.findProvider(t)}findProvider(e){let t=void 0;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",be.events=o,be);return e(window,we)}));
7
+ */const w=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 u}static get ENGINE_MAP(){return g}static get OS_MAP(){return m}static get PLATFORMS_MAP(){return p}}.parse(window.navigator.userAgent),{platform:S,os:_,browser:A}=w,M=e=>e&&e.toLowerCase();var T={rnd:Math.random().toString(36).substr(2,32),os:M(_.name+(_.versionName?" "+_.versionName:"")),device:M(S.type),browser:M(A.name),browser_version:(A&&A.version?A.version:"unknown").split(".").shift(),plugin_version:"3.27.0-rc.1"};const E="https://fp-eu-w1-aai.flowplayer.com/in",k="POST",O=["ad-requested","ad-request-error","ad-request-completed","ad-completed","ad-started","ad-error","ad-skipped"],U=["event_type","ad_tag_id","media_id","player_id","site_id","sitegroup_id","rnd","os","device","browser","browser_version","plugin_version","player_version"],P=["vast_error","reason","request_load_time","ad_type","vast_ad_id"],R=c("ads/analytics"),C=RequestQueue.of(),F=(...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,F(e.metadata,t,{player_version:"3.27.0-rc.1"})),e}constructor(e,t={}){this.emitter=e,this.metadata=F(T,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),R(this),this.wireup()}wireup(){this.events.forEach(e=>{this.emitter.on(e,t=>{const r=t.detail,s=F(this.metadata,{event_type:e},r),i=Analytics.pluck_valid_keys(this,s),n=Analytics.ensure_required_keys(this,i);if(R(`Event[${e}]`,{payload:i,observation:r}),n.length)return R(`Analytics.validate_metadata() failed for\n Event[${e}]\n missing keys: ${n}`,i);RequestQueue.rpush(C,[E,k,i])})})}destroy(){this.emitter=this.metadata=this.events=this.required_keys=this.optional_keys=this.valid_keys=void 0}}var D;function N(e,t){var r;switch(t){case D.Preroll:return 0;case D.Postroll:return-1;default:return null===(r=e.ssai)||void 0===r?void 0:r.provider.getContentCurrentTime(e)}}function B(e,t,r){var s,i,n,a;const o=null===(s=t.ssai)||void 0===s?void 0:s.provider.getAdType(),c=null===(a=null===(n=null===(i=t.ssai)||void 0===i?void 0:i.provider)||void 0===n?void 0:n.src)||void 0===a?void 0:a.analyticsId,d={ad_break_time:N(t,o),ad_muted:t.muted,event_type:e,is_ssai:!0};o&&Object.assign(d,{ad_type:o}),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 I(e,t){var r;e.setState("ssai-ad-active",!0);const s=null===(r=e.ssai)||void 0===r?void 0:r.state;s&&(s.adProgress={currentTime:0,duration:t},x(e,s))}function j(e,t){var r;const s=null===(r=e.ssai)||void 0===r?void 0:r.state;s&&(s.adProgress=t,x(e,s))}function q(e){if(!e.ssai)return;const t=e.ssai.state;e.setState("ssai-ad-active",!1),delete t.adProgress,void 0!==t.rate&&(e.playbackRate=t.rate,delete t.rate),"number"==typeof t.snapbackTime&&(s(e,t.snapbackTime),delete t.snapbackTime)}function x(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"}(D||(D={}));const L=navigator.languages||[navigator.language];const Q="flowplayer-ssai-ui";function V(e,t){const r=new google.ima.dai.api.UiSettings,s=e.opt("lang")||function(){try{return L.reduce((e,t)=>~t.indexOf("-")?e.concat(t,t.split("-")[0]):e.concat(t),[])}catch(e){return[]}}().find(e=>!e.includes("-"))||"en";r.setLocale(s);const i=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,Q),r);return i.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,s){var i;if((null===(i=e.ssai)||void 0===i?void 0:i.provider)!==s)return;switch(r.type){case google.ima.dai.api.StreamEvent.Type.STREAM_INITIALIZED:return async function(e,t,r,s){var i,n;const a=s.getStreamData().streamId;if(!a||!t.isPod)return;if(!t.isVod){const r=null===(i=t.src)||void 0===i?void 0:i.streamUrl;return r?(t.daiStream=t.buildPodStreamURL(r,a),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 o=null===(n=t.src)||void 0===n?void 0:n.requestStreamUrl;if(!o)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 o(r,a),r.loadStreamMetadata(),e.setSrc(t.daiStream)}catch(r){z(e,t)}}(e,s,t,r);case google.ima.dai.api.StreamEvent.Type.RESUMED:return B("ad-resumed",e,H(e,r,s));case google.ima.dai.api.StreamEvent.Type.PAUSED:return B("ad-paused",e,H(e,r,s));case google.ima.dai.api.StreamEvent.Type.COMPLETE:return B("ad-completed",e,H(e,r,s));case google.ima.dai.api.StreamEvent.Type.SKIPPED:return B("ad-skipped",e,H(e,r,s));case google.ima.dai.api.StreamEvent.Type.LOADED:return function(e,t,r){const s=r.getStreamData().url;if(!s||t.isPod&&!t.isVod)return;t.daiStream=s,e.setSrc(s)}(e,s,r);case google.ima.dai.api.StreamEvent.Type.STARTED:return s.currentAd=r.getAd(),B("ad-started",e,H(e,r,s));case google.ima.dai.api.StreamEvent.Type.AD_BREAK_STARTED:return I(e),B("ad-break-started",e,H(e,r,s));case google.ima.dai.api.StreamEvent.Type.AD_BREAK_ENDED:return B(a,e,H(e,r,s)),q(e),s.currentAd=void 0;case google.ima.dai.api.StreamEvent.Type.ERROR:return z(e,s,r);case google.ima.dai.api.StreamEvent.Type.AD_PROGRESS:{const t=H(e,r,s);return j(e,t),B("ad-progress",e,t)}case google.ima.dai.api.StreamEvent.Type.CLICK:(function(e,t){if(!e.paused)e.togglePlay(!1)})(e)}}(e,i,r,t)},!1),e.on("ssai:hls:metadata",r=>{var s,n;(null===(s=e.ssai)||void 0===s?void 0:s.provider)===t&&(null===(n=r.detail)||void 0===n||n.samples.forEach(e=>i.processMetadata("ID3",e.data,e.pts)))}),e.on("ssai:dash:metadata",r=>{var s;const n=r.detail;if(!n||(null===(s=e.ssai)||void 0===s?void 0:s.provider)!==t)return;const a=n.event.messageData,o=n.event.calculatedPresentationTime;i.processMetadata("urn:google:dai:2018",a,o)}),i}function H(e,t,r){const s=r.currentAd,i=Object.assign({},t.getStreamData().adProgressData);return s&&Object.assign(i,{vast_ad_id:s.getAdId()}),(null==s?void 0:s.getAdPodInfo())&&Object.assign(i,{position:s.getAdPodInfo().getAdPosition(),totals:s.getAdPodInfo().getTotalAds()}),i}function z(e,t,r){var s,i;if(null===(s=t.src)||void 0===s?void 0:s.backupStream)return e.setSrc(t.src.backupStream);e.emit("error",{message:(null===(i=null==r?void 0:r.getStreamData())||void 0===i?void 0:i.errorMessage)||"error loading stream"})}var W;!function(e){e.Preroll="preroll",e.Midroll="midroll",e.Postroll="postroll"}(W||(W={}));const G=c("ads/ima/sdk");var K;async function $(e,t){var r;const s=null===(r=null===window||void 0===window?void 0:window.google)||void 0===r?void 0:r.ima;if(t?null==s?void 0:s.dai:s)return void G(":noop");const i=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 s=document.querySelector(`script[src='${e}']`);if(s)return Y(s,t,r);s=document.createElement("script"),s.setAttribute("state",K.LOADING),Y(s,t,r),s.src=e,document.head.appendChild(s)})}(i),void G(":loaded")}catch(e){G(":error "+e.message,e)}}function Y(e,t,r){const s=e.getAttribute("state");if(s&&[K.ERROR,K.LOADED].includes(s))return t(void 0);e.addEventListener("load",()=>{e.setAttribute("state",K.LOADED),t(void 0)},{once:!0}),["error","abort"].forEach(t=>{e.addEventListener(t,()=>{e.setAttribute("state",K.ERROR),r("script failed to load")},{once:!0})})}!function(e){e.LOADING="loading",e.LOADED="loaded",e.ERROR="error"}(K||(K={}));class Dai{constructor(e){this.make_analytics(e)}async onload(e,t){var r,s;return await $(e,!0),(null===(s=null===(r=window.google)||void 0===r?void 0:r.ima)||void 0===s?void 0:s.dai)?((null==this?void 0:this.streamManager)||(this.streamManager=V(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:U,events:O,optional_keys:P});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={},s=e.value;r[s.key]=s.data,null===(t=this.streamManager)||void 0===t||t.onTimedMetadata(r)}getAdType(){if(this.currentAd)switch(this.currentAd.getAdPodInfo().getPodIndex()){case 0:return W.Preroll;case-1:return W.Postroll;case-2:return;default:return W.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 s=null===(r=null==this?void 0:this.streamManager)||void 0===r?void 0:r.previousCuePointForStreamTime(t);if(s&&!s.played)return s.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 X=window.YospaceAdManagement||{AnalyticEventObserver:null};class EventObserver extends X.AnalyticEventObserver{constructor(e){super(),this.video=e}onAdvertBreakStart(e){const t=e.getDuration();if(!e.isActive()&&t){const e=r(this.video);s(this.video,e+t/1e3)}I(this.video,e.getStart()),B("ad-break-started",this.video)}onAdvertBreakEnd(){q(this.video),B(a,this.video)}onAdvertStart(e){}onAdvertEnd(){}onTrackingEvent(e){}}function Z(e,t){YospaceAdManagement.SessionVOD.create(e,t.ssai.properties,e=>{const s=e.getPayload();if(s.getSessionResult()===YospaceAdManagement.SessionResult.INITIALISED){t.ssai.session=s;const e=new EventObserver(t);s.addAnalyticObserver(e),t.setSrc({src:s.getPlaybackUrl()}),setInterval(()=>{const e=1e3*r(t);s.onPlayheadUpdate(e),function(e,t,r){const s=e.getCurrentAdBreak();if(!s)return;const i={currentTime:r-s.getStart(),duration:s.getDuration()};j(t,i),B("ad-progress",t,i)}(s,t,e)},250)}else console.warn("YoSpace Failed to initialise session. ResultCode = "+s.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 r(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 s(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 n(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&&Z(t.src,e)}getContentCurrentTime(e){const t=r(e),s=e.ssai.session;return s?s.getContentPositionForPlayhead(1e3*t)/1e3:t}setContentCurrentTime(e,t){const r=e.ssai.session;if(!r)return s(e,t);return s(e,r.getPlayheadForContentPosition(1e3*t)/1e3)}getContentDuration(e){const t=e.ssai.session,r=n(e);return t?t.getContentPositionForPlayhead(t.getDuration())/1e3:r}getAdType(){}getPreviousActiveAdStart(e,t){const r=e.ssai.session;if(!r)return;const s=r.getAdBreaks();let i;const n=1e3*t;return s.forEach(e=>{void 0===i&&e.getStart()<n&&e.isActive()&&(i=e)}),void 0!==i?i.getStart()/1e3:void 0}}function J(e){var t;if((null===(t=this.player.ssai)||void 0===t?void 0:t.provider)===this)switch(e.type){case"playing":case"pause":return function(e){if(!e.player.hasState("ssai-ad-active"))return;return B(e.player.paused?"ad-paused":"ad-resumed",e.player)}(this);case"progress":return function(e){const t=e.player,r=t.hls;if(!r)return;if(t.hasState("ssai-ad-active"))return r.config.maxBufferLength=1;const s=t.currentTime;let i,n=0;for(;n<t.buffered.length;n++)if(t.buffered.start(n)-1<=s&&t.buffered.end(n)>=s){i=t.buffered.end(n);break}if(void 0===i)return;const a=e.getAdCues().find(e=>!e.played&&e.endTime>i&&e.startTime<=i);return r.config.maxBufferLength=a?1:30}(this);case"timeupdate":return function(e){if(!e.activeCue||!e.player.hasState("ssai-ad-active"))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},B("ad-progress",e.player,Object.assign(Object.assign({},e.ad),e.podInfo));if(e.podInfo.totals!==e.podInfo.position)return;ee(e)}(this);case"ended":return ee(this)}}function ee(e){e.activeCue&&e.player.hasState("ssai-ad-active")&&(B("ad-completed",e.player),B(a,e.player),q(e.player),e.activeCue.played=!0,e.activeCue=void 0)}Yospace.Type="yospace";var te=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}(),s=Object.prototype.hasOwnProperty;t.arrayToObject=function(e,t){for(var r=t.plainObjects?Object.create(null):{},s=0;s<e.length;++s)void 0!==e[s]&&(r[s]=e[s]);return r},t.merge=function(e,r,i){if(!r)return e;if("object"!=typeof r){if(Array.isArray(e))e.push(r);else{if("object"!=typeof e)return[e,r];(i.plainObjects||i.allowPrototypes||!s.call(Object.prototype,r))&&(e[r]=!0)}return e}if("object"!=typeof e)return[e].concat(r);var n=e;return Array.isArray(e)&&!Array.isArray(r)&&(n=t.arrayToObject(e,i)),Object.keys(r).reduce((function(e,n){var a=r[n];return s.call(e,n)?e[n]=t.merge(e[n],a,i):e[n]=a,e}),n)},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),s="",i=0;i<t.length;++i){var n=t.charCodeAt(i);45===n||46===n||95===n||126===n||n>=48&&n<=57||n>=65&&n<=90||n>=97&&n<=122?s+=t.charAt(i):n<128?s+=r[n]:n<2048?s+=r[192|n>>6]+r[128|63&n]:n<55296||n>=57344?s+=r[224|n>>12]+r[128|n>>6&63]+r[128|63&n]:(i+=1,n=65536+((1023&n)<<10|1023&t.charCodeAt(i)),s+=r[240|n>>18]+r[128|n>>12&63]+r[128|n>>6&63]+r[128|63&n])}return s},t.compact=function(e,r){if("object"!=typeof e||null===e)return e;var s=r||[],i=s.indexOf(e);if(-1!==i)return s[i];if(s.push(e),Array.isArray(e)){for(var n=[],a=0;a<e.length;++a)e[a]&&"object"==typeof e[a]?n.push(t.compact(e[a],s)):void 0!==e[a]&&n.push(e[a]);return n}for(var o=Object.keys(e),c=0;c<o.length;++c){var d=o[c];e[d]=t.compact(e[d],s)}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))}})),re={brackets:function(e){return e+"[]"},indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},se={delimiter:"&",strictNullHandling:!1,skipNulls:!1,encode:!0,encoder:te.encode},ie=function e(t,r,s,i,n,a,o,c,d){var l=t;if("function"==typeof o)l=o(r,l);else if(l instanceof Date)l=l.toISOString();else if(null===l){if(i)return a?a(r):r;l=""}if("string"==typeof l||"number"==typeof l||"boolean"==typeof l||te.isBuffer(l))return a?[a(r)+"="+a(l)]:[r+"="+String(l)];var u,p=[];if(void 0===l)return p;if(Array.isArray(o))u=o;else{var m=Object.keys(l);u=c?m.sort(c):m}for(var g=0;g<u.length;++g){var h=u[g];n&&null===l[h]||(p=Array.isArray(l)?p.concat(e(l[h],s(r,h),s,i,n,a,o,c,d)):p.concat(e(l[h],r+(d?"."+h:"["+h+"]"),s,i,n,a,o,c,d)))}return p},ne=Object.prototype.hasOwnProperty,ae={delimiter:"&",depth:5,arrayLimit:20,parameterLimit:1e3,strictNullHandling:!1,plainObjects:!1,allowPrototypes:!1,allowDots:!1,decoder:te.decode},oe=function(e,t,r){if(e){var s=r.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,i=/(\[[^[\]]*])/g,n=/(\[[^[\]]*])/.exec(s),a=n?s.slice(0,n.index):s,o=[];if(a){if(!r.plainObjects&&ne.call(Object.prototype,a)&&!r.allowPrototypes)return;o.push(a)}for(var c=0;null!==(n=i.exec(s))&&c<r.depth;){if(c+=1,!r.plainObjects&&ne.call(Object.prototype,n[1].slice(1,-1))&&!r.allowPrototypes)return;o.push(n[1])}return n&&o.push("["+s.slice(n.index)+"]"),function e(t,r,s){if(!t.length)return r;var i,n=t.shift();if("[]"===n)i=(i=[]).concat(e(t,r,s));else{i=s.plainObjects?Object.create(null):{};var a="["===n.charAt(0)&&"]"===n.charAt(n.length-1)?n.slice(1,-1):n,o=parseInt(a,10);!isNaN(o)&&n!==a&&String(o)===a&&o>=0&&s.parseArrays&&o<=s.arrayLimit?(i=[])[o]=e(t,r,s):i[a]=e(t,r,s)}return i}(o,t,r)}},ce=function(e,t){var r,s,i=e,n=t||{},a=void 0===n.delimiter?se.delimiter:n.delimiter,o="boolean"==typeof n.strictNullHandling?n.strictNullHandling:se.strictNullHandling,c="boolean"==typeof n.skipNulls?n.skipNulls:se.skipNulls,d=("boolean"==typeof n.encode?n.encode:se.encode)?"function"==typeof n.encoder?n.encoder:se.encoder:null,l="function"==typeof n.sort?n.sort:null,u=void 0!==n.allowDots&&n.allowDots;if(null!==n.encoder&&void 0!==n.encoder&&"function"!=typeof n.encoder)throw new TypeError("Encoder has to be a function.");"function"==typeof n.filter?i=(s=n.filter)("",i):Array.isArray(n.filter)&&(r=s=n.filter);var p,m=[];if("object"!=typeof i||null===i)return"";p=n.arrayFormat in re?n.arrayFormat:"indices"in n?n.indices?"indices":"repeat":"indices";var g=re[p];r||(r=Object.keys(i)),l&&r.sort(l);for(var h=0;h<r.length;++h){var f=r[h];c&&null===i[f]||(m=m.concat(ie(i[f],f,g,o,c,d,s,l,u)))}return m.join(a)},de=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||te.isRegExp(r.delimiter)?r.delimiter:ae.delimiter,r.depth="number"==typeof r.depth?r.depth:ae.depth,r.arrayLimit="number"==typeof r.arrayLimit?r.arrayLimit:ae.arrayLimit,r.parseArrays=!1!==r.parseArrays,r.decoder="function"==typeof r.decoder?r.decoder:ae.decoder,r.allowDots="boolean"==typeof r.allowDots?r.allowDots:ae.allowDots,r.plainObjects="boolean"==typeof r.plainObjects?r.plainObjects:ae.plainObjects,r.allowPrototypes="boolean"==typeof r.allowPrototypes?r.allowPrototypes:ae.allowPrototypes,r.parameterLimit="number"==typeof r.parameterLimit?r.parameterLimit:ae.parameterLimit,r.strictNullHandling="boolean"==typeof r.strictNullHandling?r.strictNullHandling:ae.strictNullHandling,""===e||null==e)return r.plainObjects?Object.create(null):{};for(var s="string"==typeof e?function(e,t){for(var r={},s=e.split(t.delimiter,t.parameterLimit===1/0?void 0:t.parameterLimit),i=0;i<s.length;++i){var n,a,o=s[i],c=-1===o.indexOf("]=")?o.indexOf("="):o.indexOf("]=")+1;-1===c?(n=t.decoder(o),a=t.strictNullHandling?null:""):(n=t.decoder(o.slice(0,c)),a=t.decoder(o.slice(c+1))),ne.call(r,n)?r[n]=[].concat(r[n]).concat(a):r[n]=a}return r}(e,r):e,i=r.plainObjects?Object.create(null):{},n=Object.keys(s),a=0;a<n.length;++a){var o=n[a],c=oe(o,s[o],r);i=te.merge(i,c,r)}return te.compact(i)};const le=c("fpads:macros"),ue=/\[([\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((s,i)=>{const n=Macros.process_str(i,t,r,!0),a=e[i];return null===a?(s[n]=a,s):"object"==typeof a?(s[n]=Macros.process_obj(a,t,r),s):"string"==typeof a?(s[n]=Macros.process_str(a,t,r),s):(console.error(new Error(`${a} at ${i} not a handled Macro type`)),s)},{})}static process_str(e,t,r,s=!1){return e.replace(t.pattern,(e,t)=>{const i=Macros.normalize(t);if(!(i in r)||void 0===r[i])return e;const n=r[i],a=s?n:Macros.cast(n);return le("Macro.replace(raw: %s, macro: %s, value: %s)",s,t,a),a})}constructor(e={},t=ue){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),[s,i]=e.split("?"),n=de(i||"",{strictNullHandling:!0,decoder:e=>e}),a=ce(Macros.process_obj(n,this,r),{encode:!1,strictNullHandling:!0});return Macros.process_str(s,this,r,!0)+"?"+a}}function pe(e,t={width:0,height:0}){let r,s;try{const e=document.createElement("a");e.href=r=window.location!=window.parent.location?document.referrer:document.location.href,s=e.hostname}catch(e){console.error(e)}const{width:i,height:n}=t,{video_source:a}=e||{},o=function(){const e=window;return"object"==typeof e.__flowplayerAdParameters?e.__flowplayerAdParameters:{}}();return Object.assign({random:Date.now(),page_url:r,domain:s,player_width:i,player_height:n,video_url:a,videourl:a},o)}Macros.patterns={BRACKETS:ue,CURLY:/\{([\s\S]+?)\}/g,UNDERSCORE:/__([\s\S]+?)__/g};class MediaTailor{constructor(e){this.ad={duration:0,currentTime:0},this.podInfo={totals:0,position:0},this.player=e,e.on(["timeupdate","progress","playing","pause","ended"],J.bind(this))}onload(e,t){this.stream=this.compileMacros(e,t),e.setSrc(this.stream)}compileMacros(e,t){var r,s;const i=e.opts,n=pe(void 0,{width:e.clientWidth,height:e.clientHeight});(i.duration||(null===(r=i.metadata)||void 0===r?void 0:r.duration))&&Object.assign(n,{media_duration:i.duration||(null===(s=i.metadata)||void 0===s?void 0:s.duration)});return new Macros(Object.assign({referrer_url:document.referrer,autoplay:!!e.opts.autoplay},e.opts.metadata,t.parameters,n)).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(),s=r.slice().reverse().find(e=>e.endTime<t);if(!s||s.played)return;const i=r[r.indexOf(s)+1];return!i||t<i.startTime&&(t+.1<=i.startTime||i.played||e.paused)?this.findAdBreakStartCue(s).startTime:void 0}onId3(e){var t;if(e.played||e==this.activeCue)return;if("X-AD-CREATIVE-SIGNALING"!==(null===(t=e.value)||void 0===t?void 0:t.key))return;if(this.activeCue)return B("ad-completed",this.player),this.activeCue.played=!0,this.activeCue=e,++this.podInfo.position,B("ad-started",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,I(this.player),this.setPodInfo(e),B("ad-break-started",this.player),B("ad-started",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=D.Midroll:e.startTime<=1?this.ad_type=D.Preroll:Math.abs(t[r-1].endTime-this.player.duration)<=1?this.ad_type=D.Postroll:this.ad_type=D.Midroll}findAdBreakStartCue(e){const t=this.getAdCues().filter(t=>t.startTime<=e.startTime).reverse();let r=e,s=1;for(;s<t.length&&!(t[s-1].startTime-t[s].endTime>.1);)r=t[s],s++;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"X-AD-CREATIVE-SIGNALING"===(null===(t=e.value)||void 0===t?void 0:t.key)})}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 me=(e,t)=>new(((e,t)=>{const r=e.get(t);if(!r)throw new Error(`no flowplayer component with the name ${t} exists`);const s=window.customElements.get(t);if(!s)throw new Error(`no default flowplayer component with the name ${t} exists`);const i=window.customElements.get(r);return"function"!=typeof i?s:i})(e._customElements,t))(e),ge=(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("flowplayer-ssai-controls","flowplayer-ssai-indicator"))}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(a,()=>{t.classList.remove("go"),"--ssai-percent-complete --ssai-percent-previous".split(" ").forEach(e=>this.style.setProperty(e,"0"))}),this.player.on("ad-progress",e=>{var r,s;const i=null===(r=e.detail)||void 0===r?void 0:r.currentTime,n=null===(s=e.detail)||void 0===s?void 0:s.duration;if(void 0===n||void 0===i)return;const a=i/n*100,o=t.style.getPropertyValue("--ssai-percent-complete");t.classList.remove("go"),t.style.setProperty("--ssai-percent-previous",o),t.style.setProperty("--ssai-percent-complete",a.toFixed(3)),t.classList.add("go")})}}function he(e){const t="number"==typeof e?e:parseInt(e,10);return(t>9?"":"0")+t}function fe(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 s=Math.floor(e/60);return e-=60*s,r>=1?(s-=60*r,t+r+":"+he(s)+":"+he(e)):t+he(s)+":"+he(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("ad-progress",e=>{const s=e.detail;s&&(t.textContent=fe(s.currentTime||0),r.textContent=fe(s.duration||0))}),this.append(...this.player.createComponents("flowplayer-control-buttons"),t,...this.player.createComponents("flowplayer-ssai-timeline"),r,...this.player.createComponents("flowplayer-volume-control"))}}class SSAIAdIndicator extends FlowplayerComponent{constructor(e){super(e),this.className="fp-ssai-indicator",this.player.on("ad-started",e=>{var t,r;const s=null===(t=e.detail)||void 0===t?void 0:t.totals,i=null===(r=e.detail)||void 0===r?void 0:r.position;void 0!==s&&void 0!==i&&(this.textContent=`${this.player.i18n("ads.indicator","ADS")} ${i} / ${s}`)})}}var ve,ye=Object.freeze({__proto__:null,ID3:"ID3"});const be=((ve=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",ve.events=ye,ve),we=e(window,be);var Se;const _e=((Se=class Ssai{constructor(e,t){this.umd=e,this.providers=[],this.player=t,ge(e,Q,SSAIAdUi),ge(e,"flowplayer-ssai-timeline",SSAITimeline),ge(e,"flowplayer-ssai-controls",SSAIControls),ge(e,"flowplayer-ssai-indicator",SSAIAdIndicator)}init(e,t,i){const n=me(i,Q);if(t.append(n),i.on(we.events.ID3,({detail:e})=>{var t,r,s;const n=null==e?void 0:e.cue;n&&(null===(s=null===(t=i.ssai)||void 0===t?void 0:(r=t.provider).onId3)||void 0===s||s.call(r,n))}),i.on("seeked",()=>function(e){if(e.opt("live"))return;if(!e.ssai)return;const{provider:t,state:i}=e.ssai;if(i.snapback)return i.snapback=!1;const n=r(e),a=t.getPreviousActiveAdStart(e,n);void 0!==a&&(i.snapback=!0,i.snapbackTime=n,s(e,a))}(i)),i.on("src",e=>{var t,r,s;i.setState("ssai-ad-active",!1),null===(s=null===(r=null===(t=i.ssai)||void 0===t?void 0:t.provider)||void 0===r?void 0:r.onNewSrc)||void 0===s||s.call(r,i,e.detail)}),this.umd.extensions.find(e=>e.pluginName===we.pluginName))return;new we(this.umd,i).init(e,t,i)}onload(e,t,r,s){var i,n;null===(n=null===(i=r.ssai)||void 0===i?void 0:i.provider)||void 0===n||n.onload(r,s)}wants(e,t,r){return!!this.findProvider(t)}findProvider(e){let t=void 0;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",Se.events=o,Se);return e(window,_e)}));
@@ -119,6 +119,11 @@ declare interface Config {
119
119
  autopause?: boolean;
120
120
  rewind?: boolean;
121
121
  loop?: boolean;
122
+ /**
123
+ * an access token for the media
124
+ * @public
125
+ */
126
+ playback_token?: string;
122
127
  /* Excluded from this release type: seamless */
123
128
  retry?: boolean;
124
129
  autoplay?: Autoplay;
@@ -117,6 +117,11 @@ declare interface Config {
117
117
  autopause?: boolean;
118
118
  rewind?: boolean;
119
119
  loop?: boolean;
120
+ /**
121
+ * an access token for the media
122
+ * @public
123
+ */
124
+ playback_token?: string;
120
125
  /* Excluded from this release type: seamless */
121
126
  retry?: boolean;
122
127
  autoplay?: Autoplay;
@@ -117,6 +117,11 @@ declare interface Config {
117
117
  autopause?: boolean;
118
118
  rewind?: boolean;
119
119
  loop?: boolean;
120
+ /**
121
+ * an access token for the media
122
+ * @public
123
+ */
124
+ playback_token?: string;
120
125
  /* Excluded from this release type: seamless */
121
126
  retry?: boolean;
122
127
  autoplay?: Autoplay;
@@ -117,6 +117,11 @@ declare interface Config {
117
117
  autopause?: boolean;
118
118
  rewind?: boolean;
119
119
  loop?: boolean;
120
+ /**
121
+ * an access token for the media
122
+ * @public
123
+ */
124
+ playback_token?: string;
120
125
  /* Excluded from this release type: seamless */
121
126
  retry?: boolean;
122
127
  autoplay?: Autoplay;
@@ -117,6 +117,11 @@ declare interface Config {
117
117
  autopause?: boolean;
118
118
  rewind?: boolean;
119
119
  loop?: boolean;
120
+ /**
121
+ * an access token for the media
122
+ * @public
123
+ */
124
+ playback_token?: string;
120
125
  /* Excluded from this release type: seamless */
121
126
  retry?: boolean;
122
127
  autoplay?: Autoplay;
package/util/loader.d.ts CHANGED
@@ -117,6 +117,11 @@ declare interface Config {
117
117
  autopause?: boolean;
118
118
  rewind?: boolean;
119
119
  loop?: boolean;
120
+ /**
121
+ * an access token for the media
122
+ * @public
123
+ */
124
+ playback_token?: string;
120
125
  /* Excluded from this release type: seamless */
121
126
  retry?: boolean;
122
127
  autoplay?: Autoplay;