cloudinary-video-player 2.6.0 → 2.6.1-edge.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 (92) hide show
  1. package/README.md +14 -16
  2. package/dist/adaptive-streaming.js +36927 -0
  3. package/dist/adaptive-streaming.min.js +3 -0
  4. package/dist/adaptive-streaming.min.js.LICENSE.txt +3 -0
  5. package/dist/chapters.js +1 -1
  6. package/dist/chapters.min.js +1 -1
  7. package/dist/cld-video-player.css +200 -11
  8. package/dist/cld-video-player.js +37548 -79684
  9. package/dist/cld-video-player.light.js +197 -662
  10. package/dist/cld-video-player.light.min.js +4 -3
  11. package/dist/cld-video-player.min.css +1 -1
  12. package/dist/cld-video-player.min.js +1 -1
  13. package/dist/cld-video-player.min.js.LICENSE.txt +16 -14
  14. package/dist/colors.js +86 -0
  15. package/dist/colors.min.js +2 -0
  16. package/dist/dash.js +62 -2
  17. package/dist/dash.min.js +1 -1
  18. package/dist/debug.js +140 -90
  19. package/dist/debug.min.js +1 -1
  20. package/dist/ima.js +66 -3
  21. package/dist/ima.min.js +1 -1
  22. package/dist/interaction-areas.js +87 -4
  23. package/dist/interaction-areas.min.js +1 -1
  24. package/dist/playlist.js +9 -9
  25. package/dist/playlist.min.js +1 -1
  26. package/dist/recommendations-overlay.js +7 -7
  27. package/dist/recommendations-overlay.min.js +1 -1
  28. package/dist/shoppable.js +7 -7
  29. package/dist/shoppable.min.js +1 -1
  30. package/dist/srt-text-tracks.js +208 -0
  31. package/dist/srt-text-tracks.min.js +2 -0
  32. package/dist/visual-search.js +4 -4
  33. package/dist/visual-search.min.js +1 -1
  34. package/lib/adaptive-streaming.js +3 -0
  35. package/lib/adaptive-streaming.js.LICENSE.txt +3 -0
  36. package/lib/all.js +1 -1
  37. package/lib/all.js.LICENSE.txt +18 -12
  38. package/lib/chapters.js +1 -1
  39. package/lib/cld-video-player.js +1 -1
  40. package/lib/cld-video-player.js.LICENSE.txt +16 -14
  41. package/lib/cld-video-player.min.css +2 -2
  42. package/lib/colors.js +2 -0
  43. package/lib/dash.js +1 -1
  44. package/lib/debug.js +1 -1
  45. package/lib/ima.js +1 -1
  46. package/lib/interaction-areas.js +1 -1
  47. package/lib/player.js +1 -1
  48. package/lib/player.js.LICENSE.txt +16 -14
  49. package/lib/playlist.js +1 -1
  50. package/lib/recommendations-overlay.js +1 -1
  51. package/lib/shoppable.js +1 -1
  52. package/lib/srt-text-tracks.js +2 -0
  53. package/lib/videoPlayer.js +1 -1
  54. package/lib/videoPlayer.js.LICENSE.txt +16 -14
  55. package/lib/visual-search.js +1 -1
  56. package/package.json +10 -23
  57. package/dist/chapters.light.js +0 -233
  58. package/dist/chapters.light.min.js +0 -2
  59. package/dist/cld-video-player.light.css +0 -2428
  60. package/dist/cld-video-player.light.min.css +0 -2
  61. package/dist/cld-video-player.light.min.js.LICENSE.txt +0 -21
  62. package/dist/dash.light.js +0 -70036
  63. package/dist/dash.light.min.js +0 -3
  64. package/dist/dash.light.min.js.LICENSE.txt +0 -1842
  65. package/dist/debug.light.js +0 -383
  66. package/dist/debug.light.min.js +0 -2
  67. package/dist/ima.light.js +0 -7110
  68. package/dist/ima.light.min.js +0 -2
  69. package/dist/interaction-areas.light.js +0 -646
  70. package/dist/interaction-areas.light.min.js +0 -2
  71. package/dist/node_modules_lodash_throttle_js.light.js +0 -449
  72. package/dist/playlist.light.js +0 -1788
  73. package/dist/playlist.light.min.js +0 -2
  74. package/dist/recommendations-overlay.light.js +0 -464
  75. package/dist/recommendations-overlay.light.min.js +0 -2
  76. package/dist/shoppable.light.js +0 -853
  77. package/dist/shoppable.light.min.js +0 -2
  78. package/dist/visual-search.light.js +0 -317
  79. package/dist/visual-search.light.min.js +0 -2
  80. package/lib/light/chapters.js +0 -2
  81. package/lib/light/cld-video-player.light.min.css +0 -21
  82. package/lib/light/dash.js +0 -3
  83. package/lib/light/dash.js.LICENSE.txt +0 -1842
  84. package/lib/light/debug.js +0 -2
  85. package/lib/light/ima.js +0 -2
  86. package/lib/light/index.js +0 -3
  87. package/lib/light/index.js.LICENSE.txt +0 -21
  88. package/lib/light/interaction-areas.js +0 -2
  89. package/lib/light/playlist.js +0 -2
  90. package/lib/light/recommendations-overlay.js +0 -2
  91. package/lib/light/shoppable.js +0 -2
  92. package/lib/light/visual-search.js +0 -2
@@ -1,2 +0,0 @@
1
- (self.cloudinaryVideoPlayerChunkLoading=self.cloudinaryVideoPlayerChunkLoading||[]).push([[330],{2650:(t,e,n)=>{"use strict";var i=n(6673),o=n.n(i),r=n(5204),s=n.n(r),a=n(7509),d=n.n(a),l="7.5.2";var A=function(t,e){e.isImmediatePropagationStopped=function(){return!0},e.cancelBubble=!0,e.isPropagationStopped=function(){return!0}},h=function(t,e,n){A(0,n),t.trigger({type:e+n.type,originalEvent:n})};function u(t){"playing"===t.type?function(t,e){t.ads.isInAdMode()&&(t.ads.isContentResuming()?t.ads._contentEnding&&h(t,"content",e):h(t,"ad",e))}(this,t):"ended"===t.type?function(t,e){t.ads.isInAdMode()?t.ads.isContentResuming()?(A(0,e),t.trigger("resumeended")):h(t,"ad",e):t.ads._contentHasEnded||t.ads.stitchedAds()||(h(t,"content",e),t.trigger("readyforpostroll"))}(this,t):"loadstart"===t.type||"loadeddata"===t.type||"loadedmetadata"===t.type?function(t,e){if(!("loadstart"===e.type&&!t.ads._hasThereBeenALoadStartDuringPlayerLife||"loadeddata"===e.type&&!t.ads._hasThereBeenALoadedData||"loadedmetadata"===e.type&&!t.ads._hasThereBeenALoadedMetaData))if(t.ads.inAdBreak())h(t,"ad",e);else{if(t.currentSrc()!==t.ads.contentSrc)return;h(t,"content",e)}}(this,t):"play"===t.type?function(t,e){t.ads.inAdBreak()?h(t,"ad",e):t.ads.isContentResuming()&&h(t,"content",e)}(this,t):this.ads.isInAdMode()&&(this.ads.isContentResuming()?h(this,"content",t):h(this,"ad",t))}function c(){return c=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},c.apply(this,arguments)}function p(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,g(t,e)}function g(t,e){return g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},g(t,e)}var y={},m=function(){!function(t){if(o().dom.isInFrame()&&"function"!=typeof s().__tcfapi){for(var e,n=s(),i={};n;){try{if(n.frames.__tcfapiLocator){e=n;break}}catch(t){}if(n===s().top)break;n=n.parent}if(!e)return;s().__tcfapi=function(t,n,o,r){var s=Math.random()+"",a={__tcfapiCall:{command:t,parameter:r,version:n,callId:s}};i[s]=o,e.postMessage(a,"*")},s().addEventListener("message",(function(t){var e={};try{e="string"==typeof t.data?JSON.parse(t.data):t.data}catch(t){}var n=e.__tcfapiReturn;n&&"function"==typeof i[n.callId]&&(i[n.callId](n.returnValue,n.success),i[n.callId]=null)}),!1)}}(),"function"==typeof s().__tcfapi&&s().__tcfapi("addEventListener",2,(function(t,e){e&&(y=t)}))},f="",v=function(t,e){if(void 0===e&&(e=s()),e.__uspapi)e.__uspapi("getUSPData",1,(function(e,n){var i=n?e.uspString:null;f=i,t(i)}));else{var n=function(t){for(var e=t.parent;e!==t.top;){try{if(e.frames&&e.frames.__uspapiLocator)return e}catch(t){}e=e.parent}try{if(t.top.frames&&t.top.frames.__uspapiLocator)return t.top}catch(t){}return null}(e);if(!n)return void t(null);var i=Math.random().toString(36).substring(2),o={__uspapiCall:{command:"getUSPData",version:1,callId:i}};e.addEventListener("message",(function n(o){if(o&&o.data&&o.data.__uspapiReturn&&o.data.__uspapiReturn.callId===i){e.removeEventListener("message",n,!1);var r=o.data.__uspapiReturn,s=r.returnValue,a=r.success?s.uspString:null;f=a,t(a)}}),!1),n.postMessage(o,"*")}},P={AdsBeforePrerollError:"ads-before-preroll-error",AdsPrerollError:"ads-preroll-error",AdsMidrollError:"ads-midroll-error",AdsPostrollError:"ads-postroll-error",AdsMacroReplacementFailed:"ads-macro-replacement-failed",AdsResumeContentFailed:"ads-resume-content-failed"},C=function(t,e){return e?encodeURIComponent(t):t},S=function(t,e){var n={};return["description","tags","reference_id","ad_keys"].forEach((function(i){t&&t[i]?n["{mediainfo."+i+"}"]=t[i]:e["{mediainfo."+i+"}"]?n["{mediainfo."+i+"}"]=e["{mediainfo."+i+"}"]:n["{mediainfo."+i+"}"]=""})),["custom_fields","customFields"].forEach((function(e){!function(t,e,n){if(t&&t[n])for(var i=t[n],o=Object.keys(i),r=0;r<o.length;r++)e["{mediainfo."+n+"."+o[r]+"}"]=i[o[r]]}(t,n,e)})),n},b=function(t,e,n,i,r){for(var s in void 0===i&&(i={}),e){var a=i.hasOwnProperty(s)?i[s]:s;if(a.startsWith("r:"))try{var d=new RegExp(a.slice(2),"g");t=t.replace(d,C(e[s],n))}catch(t){r.ads.error({errorType:P.AdsMacroReplacementFailed,macro:s,error:t}),o().log.warn('Unable to replace macro with regex "'+a+'". The provided regex may be invalid.')}else t=t.split(a).join(C(e[s],n))}return t};function k(t,e,n){void 0===e&&(e=!1),void 0===n&&(n={});var i=n.disableDefaultMacros||!1,r=n.macroNameOverrides||{};delete n.disableDefaultMacros,delete n.macroNameOverrides;var a=n;if(i)return b(t,a,e,r);var l,A,h,u=function(t){var e={},n=t.replace(/{([^}=]+)=([^}]*)}/g,(function(t,n,i){return e["{"+n+"}"]=i,"{"+n+"}"}));return{defaults:e,modifiedString:n}}(t),p=u.defaults,g=u.modifiedString;for(var m in t=g,c(a,{"{player.id}":(h=this).options_["data-player"]||h.id_,"{player.height}":h.currentHeight(),"{player.width}":h.currentWidth(),"{player.heightInt}":Math.round(h.currentHeight()),"{player.widthInt}":Math.round(h.currentWidth()),"{player.autoplay}":h.autoplay()?1:0,"{player.muted}":h.muted()?1:0,"{player.language}":h.language()||"","{mediainfo.id}":h.mediainfo?h.mediainfo.id:"","{mediainfo.name}":h.mediainfo?h.mediainfo.name:"","{mediainfo.duration}":h.mediainfo?h.mediainfo.duration:"","{player.duration}":h.duration(),"{player.durationInt}":Math.round(h.duration()),"{player.live}":h.duration()===1/0?1:0,"{player.pageUrl}":o().dom.isInFrame()?d().referrer:s().location.href,"{playlistinfo.id}":h.playlistinfo?h.playlistinfo.id:"","{playlistinfo.name}":h.playlistinfo?h.playlistinfo.name:"","{timestamp}":(new Date).getTime(),"{document.referrer}":d().referrer,"{window.location.href}":s().location.href,"{random}":Math.floor(1e12*Math.random())},S(this.mediainfo,p),(l=y,A={},Object.keys(l).forEach((function(t){A["{tcf."+t+"}"]=l[t]})),A["{tcf.gdprAppliesInt}"]=l.gdprApplies?1:0,A),{"{usp.uspString}":f},function(t,e,n){var i=new RegExp("{pageVariable\\.([^}]+)}","g"),r={},a=(t.match(i)||[]).concat(Object.keys(n).filter((function(e){return i.test(e)&&t.includes(n[e])})));if(a)return a.forEach((function(t){for(var n,i=t,a=t.slice(14,-1),d=a.split("."),l=s(),A=0;A<d.length;A++)if(A===d.length-1)n=l[d[A]];else if(void 0===(l=l[d[A]]))break;var h=typeof n;null===n?r[i]="null":void 0===n?e[i]?r[i]=e[i]:(o().log.warn('Page variable "'+a+'" not found'),r[i]=""):"string"!==h&&"number"!==h&&"boolean"!==h?(o().log.warn('Page variable "'+a+'" is not a supported type'),r[i]=""):r[i]=n})),r}(t,p,r)),t=b(t,a,e,r,this),p)t=t.replace(m,p[m]);return t}var E={processMetadataTracks:function(t,e){for(var n=t.textTracks(),i=function(n){"metadata"===n.kind&&(t.ads.cueTextTracks.setMetadataTrackMode(n),e(t,n))},o=0;o<n.length;o++)i(n[o]);n.addEventListener("addtrack",(function(t){i(t.track)}))},setMetadataTrackMode:function(t){},getSupportedAdCue:function(t,e){return e},isSupportedAdCue:function(t,e){return!0},getCueId:function(t,e){return e.id}},M=function(t,e){return void 0!==e&&t.ads.includedCues[e]},T=function(t,e){void 0!==e&&""!==e&&(t.ads.includedCues[e]=!0)};function L(){!1!==this.ads._shouldBlockPlay&&(this.paused()||(this.ads.debug("Playback was canceled by cancelContentPlay"),this.pause()),this.ads._cancelledPlay=!0)}E.processAdTrack=function(t,e,n,i){t.ads.includedCues={};for(var r=0;r<e.length;r++){var s=e[r],a=this.getSupportedAdCue(t,s);if(!this.isSupportedAdCue(t,s))return void o().log.warn("Skipping as this is not a supported ad cue.",s);var d=this.getCueId(t,s),l=s.startTime;if(M(t,d))return void o().log("Skipping ad already seen with ID "+d);i&&i(t,a,d,l),n(t,a,d,l),T(t,d)}};var w={},R=o();w.isMiddlewareMediatorSupported=function(){return!R.browser.IS_IOS&&!R.browser.IS_ANDROID&&!!(R.use&&R.middleware&&R.middleware.TERMINATOR)},w.playMiddleware=function(t){return{setSource:function(t,e){e(null,t)},callPlay:function(){if(t.ads&&!0===t.ads._shouldBlockPlay)return t.ads.debug("Using playMiddleware to block content playback"),t.ads._playBlocked=!0,R.middleware.TERMINATOR},play:function(e,n){t.ads&&t.ads._playBlocked&&e?(t.ads.debug("Play call to Tech was terminated."),t.trigger("play"),t.addClass("vjs-has-started"),t.ads._playBlocked=!1):n&&n.catch&&n.catch((function(e){"NotAllowedError"!==e.name||o().browser.IS_SAFARI||t.trigger("pause")}))}}},w.testHook=function(t){R=t};var D=w.playMiddleware,B=w.isMiddlewareMediatorSupported;var I={src:"data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAAAxJtZGF03ABMYXZjNjEuMy4xMDAAQiAIwRg4AAACrgYF//+q3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE2NCByMzEwOCAzMWUxOWY5IC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAyMyAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTMgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MzoweDExMyBtZT1oZXggc3VibWU9NyBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0xIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MSA4eDhkY3Q9MSBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0tMiB0aHJlYWRzPTcgbG9va2FoZWFkX3RocmVhZHM9MSBzbGljZWRfdGhyZWFkcz0wIG5yPTAgZGVjaW1hdGU9MSBpbnRlcmxhY2VkPTAgYmx1cmF5X2NvbXBhdD0wIGNvbnN0cmFpbmVkX2ludHJhPTAgYmZyYW1lcz0zIGJfcHlyYW1pZD0yIGJfYWRhcHQ9MSBiX2JpYXM9MCBkaXJlY3Q9MSB3ZWlnaHRiPTEgb3Blbl9nb3A9MCB3ZWlnaHRwPTIga2V5aW50PTI1MCBrZXlpbnRfbWluPTI1IHNjZW5lY3V0PTQwIGludHJhX3JlZnJlc2g9MCByY19sb29rYWhlYWQ9NDAgcmM9Y3JmIG1idHJlZT0xIGNyZj0yMy4wIHFjb21wPTAuNjAgcXBtaW49MCBxcG1heD02OSBxcHN0ZXA9NCBpcF9yYXRpbz0xLjQwIGFxPTE6MS4wMACAAAAAOWWIhAAn//71sXwKaunqigzoMi7hlyTJrrYi4m0AwABFxzcqWKGahTaoBcQAAMWK4AlcFlIICBeldSEQBGCMHAAABVNtb292AAAAbG12aGQAAAAAAAAAAAAAAAAAAAPoAAAAIgABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAACQXRyYWsAAABcdGtoZAAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAIgAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAABQAAAAPAAAAAAACRlZHRzAAAAHGVsc3QAAAAAAAAAAQAAACIAAAAAAAEAAAAAAbltZGlhAAAAIG1kaGQAAAAAAAAAAAAAAAAAADwAAAACAFXEAAAAAAAtaGRscgAAAAAAAAAAdmlkZQAAAAAAAAAAAAAAAFZpZGVvSGFuZGxlcgAAAAFkbWluZgAAABR2bWhkAAAAAQAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAABJHN0YmwAAADAc3RzZAAAAAAAAAABAAAAsGF2YzEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAABQADwAEgAAABIAAAAAAAAAAEUTGF2YzYxLjMuMTAwIGxpYngyNjQAAAAAAAAAAAAAAAAY//8AAAA2YXZjQwFkAA3/4QAZZ2QADazZQUH7ARAAAAMAEAAAAwPA8UKZYAEABmjr48siwP34+AAAAAAQcGFzcAAAAAEAAAABAAAAFGJ0cnQAAAAAAALAEAACwBAAAAAYc3R0cwAAAAAAAAABAAAAAQAAAgAAAAAcc3RzYwAAAAAAAAABAAAAAQAAAAEAAAABAAAAFHN0c3oAAAAAAAAC7wAAAAEAAAAUc3RjbwAAAAAAAAABAAAARQAAAj10cmFrAAAAXHRraGQAAAADAAAAAAAAAAAAAAACAAAAAAAAABgAAAAAAAAAAAAAAAEBAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAAXAAAEAAABAAAAAAG1bWRpYQAAACBtZGhkAAAAAAAAAAAAAAAAAACsRAAACABVxAAAAAAALWhkbHIAAAAAAAAAAHNvdW4AAAAAAAAAAAAAAABTb3VuZEhhbmRsZXIAAAABYG1pbmYAAAAQc21oZAAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAABJHN0YmwAAAB+c3RzZAAAAAAAAAABAAAAbm1wNGEAAAAAAAAAAQAAAAAAAAAAAAIAEAAAAACsRAAAAAAANmVzZHMAAAAAA4CAgCUAAgAEgICAF0AVAAAAAAH0AAAAEisFgICABRIQVuUABoCAgAECAAAAFGJ0cnQAAAAAAAH0AAAAEisAAAAYc3R0cwAAAAAAAAABAAAAAgAABAAAAAAcc3RzYwAAAAAAAAABAAAAAQAAAAEAAAABAAAAHHN0c3oAAAAAAAAAAAAAAAIAAAAVAAAABgAAABhzdGNvAAAAAAAAAAIAAAAwAAADNAAAABpzZ3BkAQAAAHJvbGwAAAACAAAAAf//AAAAHHNiZ3AAAAAAcm9sbAAAAAEAAAACAAAAAQAAAGF1ZHRhAAAAWW1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAAAAAAAAAALGlsc3QAAAAkqXRvbwAAABxkYXRhAAAAAQAAAABMYXZmNjEuMS4xMDA=",type:"video/mp4"},j=function(){function t(){}return t.getState=function(e){if(e)return t.states_&&t.states_[e]?t.states_[e]:void 0},t.registerState=function(e,n){if("string"!=typeof e||!e)throw new Error('Illegal state name, "'+e+'"; must be a non-empty string.');return t.states_||(t.states_={}),t.states_[e]=n,n},t}(),_=function(){function t(t){this.player=t}t._getName=function(){return"Anonymous State"};var e=t.prototype;return e.transitionTo=function(t){var e=this.player;this.cleanup(e);var n=new t(e);e.ads._state=n,e.ads.debug(this.constructor._getName()+" -> "+n.constructor._getName());for(var i=arguments.length,o=new Array(i>1?i-1:0),r=1;r<i;r++)o[r-1]=arguments[r];n.init.apply(n,[e].concat(o))},e.init=function(){},e.cleanup=function(){},e.onPlay=function(){},e.onPlaying=function(){},e.onEnded=function(){},e.onAdEnded=function(){},e.onAdsReady=function(){o().log.warn("Unexpected adsready event")},e.onAdsError=function(){},e.onAdsCanceled=function(){},e.onAdTimeout=function(){},e.onAdStarted=function(){},e.onAdSkipped=function(){},e.onContentChanged=function(){},e.onContentResumed=function(){},e.onReadyForPostroll=function(){o().log.warn("Unexpected readyforpostroll event")},e.onNoPreroll=function(){},e.onNoPostroll=function(){},e.startLinearAdMode=function(){o().log.warn("Unexpected startLinearAdMode invocation (State via "+this.constructor._getName()+")")},e.endLinearAdMode=function(){o().log.warn("Unexpected endLinearAdMode invocation (State via "+this.constructor._getName()+")")},e.skipLinearAdMode=function(){o().log.warn("Unexpected skipLinearAdMode invocation (State via "+this.constructor._getName()+")")},e.isAdState=function(){throw new Error("isAdState unimplemented for "+this.constructor._getName())},e.isWaitingForAdBreak=function(){return!1},e.isContentResuming=function(){return!1},e.inAdBreak=function(){return!1},e.handleEvent=function(t){var e=this.player;"play"===t?this.onPlay(e):"adsready"===t?this.onAdsReady(e):"adserror"===t?this.onAdsError(e):"adscanceled"===t?this.onAdsCanceled(e):"adtimeout"===t?this.onAdTimeout(e):"ads-ad-started"===t?this.onAdStarted(e):"ads-ad-skipped"===t?this.onAdSkipped(e):"contentchanged"===t?this.onContentChanged(e):"contentresumed"===t?this.onContentResumed(e):"readyforpostroll"===t?this.onReadyForPostroll(e):"playing"===t?this.onPlaying(e):"ended"===t?this.onEnded(e):"nopreroll"===t?this.onNoPreroll(e):"nopostroll"===t?this.onNoPostroll(e):"adended"===t&&this.onAdEnded(e)},t}();j.registerState("State",_);var W=function(t){function e(e){var n;return(n=t.call(this,e)||this).contentResuming=!1,n.waitingForAdBreak=!1,n}p(e,t);var n=e.prototype;return n.isAdState=function(){return!0},n.onPlaying=function(){var t=j.getState("ContentPlayback");this.contentResuming&&this.transitionTo(t)},n.onContentResumed=function(){var t=j.getState("ContentPlayback");this.contentResuming&&this.transitionTo(t)},n.isWaitingForAdBreak=function(){return this.waitingForAdBreak},n.isContentResuming=function(){return this.contentResuming},n.inAdBreak=function(){return!0===this.player.ads._inLinearAdMode},e}(_);j.registerState("AdState",W);var N=function(t){function e(){return t.apply(this,arguments)||this}p(e,t);var n=e.prototype;return n.isAdState=function(){return!1},n.onContentChanged=function(t){var e=j.getState("BeforePreroll"),n=j.getState("Preroll");t.ads.debug("Received contentchanged event (ContentState)"),t.paused()?this.transitionTo(e):(this.transitionTo(n,!1),t.pause(),t.ads._pausedOnContentupdate=!0)},e}(_);j.registerState("ContentState",N);var F,O=function(t){function e(){return t.apply(this,arguments)||this}p(e,t),e._getName=function(){return"AdsDone"};var n=e.prototype;return n.init=function(t){t.ads._contentHasEnded=!0,t.trigger("ended")},n.startLinearAdMode=function(){o().log.warn("Unexpected startLinearAdMode invocation (AdsDone)")},e}(j.getState("ContentState"));j.registerState("AdsDone",O);var U={start:function(t){t.ads.debug("Starting ad break"),t.ads._inLinearAdMode=!0,t.trigger("adstart"),t.ads.shouldTakeSnapshots()&&(t.ads.snapshot=function(t){var e;e=o().browser.IS_IOS&&t.ads.isLive(t)&&t.seekable().length>0?t.currentTime()-t.seekable().end(0):t.currentTime();var n=t.$(".vjs-tech"),i=t.textTracks?t.textTracks():[],r=[],s={ended:t.ended(),currentSrc:t.currentSrc(),sources:t.currentSources(),src:t.tech_.src(),currentTime:e,type:t.currentType()};n&&(s.style=n.getAttribute("style"));for(var a=0;a<i.length;a++){var d=i[a];r.push({track:d,mode:d.mode}),d.mode="disabled"}return s.suppressedTracks=r,s}(t)),t.ads.shouldPlayContentBehindAd(t)&&!t.ads.settings.stitchedAds&&(t.ads.preAdVolume_=t.volume(),t.volume(0)),t.addClass("vjs-ad-playing"),t.hasClass("vjs-live")&&t.removeClass("vjs-live"),t.ads.removeNativePoster(),t.ads.preAdPlaybackRate_=t.playbackRate(),t.playbackRate(1),t.controlBar&&t.controlBar.playbackRateMenuButton&&t.controlBar.playbackRateMenuButton.playbackRateSupported&&!t.controlBar.playbackRateMenuButton.hasClass("vjs-hidden")?(t.controlBar.playbackRateMenuButton.hide(),t.ads.showPlaybackMenuOnAdEnd_=!0):t.ads.showPlaybackMenuOnAdEnd_=!1},end:function(t,e){t.ads.debug("Ending ad break"),void 0===e&&(e=function(){}),t.ads.adType=null,t.ads._inLinearAdMode=!1,t.trigger("adend"),t.removeClass("vjs-ad-playing"),t.ads.isLive(t)&&t.addClass("vjs-live"),t.ads.shouldTakeSnapshots()?function(t,e){var n=t.ads.snapshot;if(void 0===e&&(e=function(){}),!0===t.ads.disableNextSnapshotRestore)return t.ads.disableNextSnapshotRestore=!1,delete t.ads.snapshot,void e();var i,r=t.$(".vjs-tech"),s=20,a=n.suppressedTracks,d=function(){for(var t=0;t<a.length;t++)(i=a[t]).track.mode=i.mode},l=function(){var e;if(o().browser.IS_IOS&&t.ads.isLive(t)){if(n.currentTime<0&&(e=t.seekable().length>0?t.seekable().end(0)+n.currentTime:t.currentTime(),t.currentTime(e)),t.paused()){var i=t.play();i&&i.catch&&i.catch((function(t){o().log.warn("Play promise rejected in IOS snapshot resume",t)}))}}else if(n.ended)t.currentTime(t.duration());else{t.currentTime(n.currentTime);var r=t.play();r&&r.catch&&r.catch((function(t){o().log.warn("Play promise rejected in snapshot resume",t)}))}t.ads.shouldRemoveAutoplay_&&(t.autoplay(!1),t.ads.shouldRemoveAutoplay_=!1)},A=function e(){if(t.off("contentcanplay",e),F&&t.clearTimeout(F),(r=t.el().querySelector(".vjs-tech")).readyState>1)return l();if(void 0===r.seekable)return l();if(r.seekable.length>0)return l();if(s--)t.setTimeout(e,50);else try{l()}catch(e){t.ads.error({errorType:P.AdsResumeContentFailed,error:e}),o().log.warn("Failed to resume the content after an advertisement",e)}};if("style"in n&&r.setAttribute("style",n.style||""),t.ads.videoElementRecycled())t.one("resumeended",(function(){delete t.ads.snapshot,e()})),t.one("contentloadedmetadata",d),o().browser.IS_IOS&&!t.autoplay()&&"function"==typeof t.techCall_&&(t.techCall_("setAutoplay",!0),t.ads.shouldRemoveAutoplay_=!0),t.src(n.sources),t.one("contentcanplay",A),F=t.setTimeout(A,2e3);else{if(d(),!t.ended()){var h=t.play();h&&h.catch&&h.catch((function(t){o().log.warn("Play promise rejected in snapshot restore",t)}))}delete t.ads.snapshot,e()}}(t,e):(t.ads.preAdVolume_&&t.volume(t.ads.preAdVolume_),e()),t.playbackRate(t.ads.preAdPlaybackRate_),t.ads.showPlaybackMenuOnAdEnd_&&t.controlBar.playbackRateMenuButton.show()}},V=function(t){function e(){return t.apply(this,arguments)||this}p(e,t),e._getName=function(){return"Preroll"};var n=e.prototype;return n.init=function(t,e,n){if(this.waitingForAdBreak=!0,t.addClass("vjs-ad-loading"),n||t.ads.nopreroll_)return this.resumeAfterNoPreroll(t);var i=t.ads.settings.timeout;"number"==typeof t.ads.settings.prerollTimeout&&(i=t.ads.settings.prerollTimeout),this._timeout=t.setTimeout((function(){t.trigger("adtimeout")}),i),e?this.handleAdsReady():this.adsReady=!1},n.onAdsReady=function(t){t.ads.inAdBreak()?o().log.warn("Unexpected adsready event (Preroll)"):(t.ads.debug("Received adsready event (Preroll)"),this.handleAdsReady())},n.handleAdsReady=function(){this.adsReady=!0,this.readyForPreroll()},n.afterLoadStart=function(t){var e=this.player;e.ads._hasThereBeenALoadStartDuringPlayerLife?t():(e.ads.debug("Waiting for loadstart..."),e.one("loadstart",(function(){e.ads.debug("Received loadstart event"),t()})))},n.noPreroll=function(){var t=this;this.afterLoadStart((function(){t.player.ads.debug("Skipping prerolls due to nopreroll event (Preroll)"),t.resumeAfterNoPreroll(t.player)}))},n.readyForPreroll=function(){var t=this.player;this.afterLoadStart((function(){t.ads.debug("Triggered readyforpreroll event (Preroll)"),t.trigger("readyforpreroll")}))},n.onAdsCanceled=function(t){var e=this;t.ads.debug("adscanceled (Preroll)"),this.afterLoadStart((function(){e.resumeAfterNoPreroll(t)}))},n.onAdsError=function(t){var e=this;o().log("adserror (Preroll)"),t.ads.error({errorType:P.AdsPrerollError}),this.inAdBreak()?t.ads.endLinearAdMode():this.afterLoadStart((function(){e.resumeAfterNoPreroll(t)}))},n.startLinearAdMode=function(){var t=this.player;!this.adsReady||t.ads.inAdBreak()||this.isContentResuming()?o().log.warn("Unexpected startLinearAdMode invocation (Preroll)"):(this.clearTimeout(t),t.ads.adType="preroll",this.waitingForAdBreak=!1,U.start(t),t.ads._shouldBlockPlay=!1)},n.onAdStarted=function(t){t.removeClass("vjs-ad-loading")},n.endLinearAdMode=function(){var t=this.player;this.inAdBreak()&&(t.removeClass("vjs-ad-loading"),t.addClass("vjs-ad-content-resuming"),this.contentResuming=!0,U.end(t))},n.skipLinearAdMode=function(){var t=this,e=this.player;e.ads.inAdBreak()||this.isContentResuming()?o().log.warn("Unexpected skipLinearAdMode invocation"):this.afterLoadStart((function(){e.trigger("adskip"),e.ads.debug("skipLinearAdMode (Preroll)"),t.resumeAfterNoPreroll(e)}))},n.onAdTimeout=function(t){var e=this;this.afterLoadStart((function(){t.ads.debug("adtimeout (Preroll)"),e.resumeAfterNoPreroll(t)}))},n.onNoPreroll=function(t){t.ads.inAdBreak()||this.isContentResuming()?o().log.warn("Unexpected nopreroll event (Preroll)"):this.noPreroll()},n.resumeAfterNoPreroll=function(t){if(this.contentResuming=!0,t.ads._shouldBlockPlay=!1,this.cleanupPartial(t),t.ads._playRequested||t.ads._pausedOnContentupdate)if(t.paused()){t.ads.debug("resumeAfterNoPreroll: attempting to resume playback (Preroll)");var e=t.play();e&&e.then&&e.then(null,(function(t){}))}else t.ads.debug("resumeAfterNoPreroll: already playing (Preroll)"),t.trigger("play"),t.trigger("playing")},n.cleanup=function(t){t.ads._hasThereBeenALoadStartDuringPlayerLife||o().log.warn("Leaving Preroll state before loadstart event can cause issues."),this.cleanupPartial(t)},n.cleanupPartial=function(t){t.removeClass("vjs-ad-loading"),t.removeClass("vjs-ad-content-resuming"),this.clearTimeout(t)},n.clearTimeout=function(t){t.clearTimeout(this._timeout),this._timeout=null},e}(j.getState("AdState"));j.registerState("Preroll",V);var H=function(t){function e(){return t.apply(this,arguments)||this}p(e,t),e._getName=function(){return"BeforePreroll"};var n=e.prototype;return n.init=function(t){this.adsReady=!1,this.shouldResumeToContent=!1,t.ads._shouldBlockPlay=!t.ads.settings.allowVjsAutoplay||!t.autoplay()},n.onAdsReady=function(t){t.ads.debug("Received adsready event (BeforePreroll)"),this.adsReady=!0},n.onPlay=function(t){var e=j.getState("Preroll");t.ads.debug("Received play event (BeforePreroll)"),this.transitionTo(e,this.adsReady,this.shouldResumeToContent)},n.onAdsCanceled=function(t){t.ads.debug("adscanceled (BeforePreroll)"),this.shouldResumeToContent=!0},n.onAdsError=function(){this.player.ads.debug("adserror (BeforePreroll)"),this.player.ads.error({errorType:P.AdsBeforePrerollError}),this.shouldResumeToContent=!0},n.onNoPreroll=function(){this.player.ads.debug("Skipping prerolls due to nopreroll event (BeforePreroll)"),this.shouldResumeToContent=!0},n.skipLinearAdMode=function(){var t=this.player;t.trigger("adskip"),t.ads.debug("skipLinearAdMode (BeforePreroll)"),this.shouldResumeToContent=!0},n.onContentChanged=function(){this.init(this.player)},e}(j.getState("ContentState"));j.registerState("BeforePreroll",H);var x=function(t){function e(){return t.apply(this,arguments)||this}p(e,t),e._getName=function(){return"Midroll"};var n=e.prototype;return n.init=function(t){t.ads.adType="midroll",U.start(t),t.addClass("vjs-ad-loading")},n.onAdStarted=function(t){t.removeClass("vjs-ad-loading")},n.endLinearAdMode=function(){var t=this.player;this.inAdBreak()&&(this.contentResuming=!0,t.addClass("vjs-ad-content-resuming"),t.removeClass("vjs-ad-loading"),U.end(t))},n.onAdsError=function(t){t.ads.error({errorType:P.AdsMidrollError}),this.inAdBreak()&&t.ads.endLinearAdMode()},n.cleanup=function(t){t.removeClass("vjs-ad-loading"),t.removeClass("vjs-ad-content-resuming")},e}(j.getState("AdState"));j.registerState("Midroll",x);var Z=function(t){function e(){return t.apply(this,arguments)||this}p(e,t),e._getName=function(){return"Postroll"};var n=e.prototype;return n.init=function(t){if(this.waitingForAdBreak=!0,t.ads._contentEnding=!0,t.ads.nopostroll_){this.resumeContent(t);var e=j.getState("AdsDone");this.transitionTo(e)}else{t.addClass("vjs-ad-loading");var n=t.ads.settings.timeout;"number"==typeof t.ads.settings.postrollTimeout&&(n=t.ads.settings.postrollTimeout),this._postrollTimeout=t.setTimeout((function(){t.trigger("adtimeout")}),n)}},n.startLinearAdMode=function(){var t=this.player;t.ads.inAdBreak()||this.isContentResuming()?o().log.warn("Unexpected startLinearAdMode invocation (Postroll)"):(t.ads.adType="postroll",t.clearTimeout(this._postrollTimeout),this.waitingForAdBreak=!1,U.start(t))},n.onAdStarted=function(t){t.removeClass("vjs-ad-loading")},n.endLinearAdMode=function(){var t=this,e=this.player,n=j.getState("AdsDone");this.inAdBreak()&&(e.removeClass("vjs-ad-loading"),this.resumeContent(e),U.end(e,(function(){t.transitionTo(n)})))},n.skipLinearAdMode=function(){var t=this.player;t.ads.inAdBreak()||this.isContentResuming()?o().log.warn("Unexpected skipLinearAdMode invocation"):(t.ads.debug("Postroll abort (skipLinearAdMode)"),t.trigger("adskip"),this.abort(t))},n.onAdTimeout=function(t){t.ads.debug("Postroll abort (adtimeout)"),this.abort(t)},n.onAdsError=function(t){t.ads.debug("Postroll abort (adserror)"),t.ads.error({errorType:P.AdsPostrollError}),t.ads.inAdBreak()?t.ads.endLinearAdMode():this.abort(t)},n.onContentChanged=function(t){if(this.isContentResuming()){var e=j.getState("BeforePreroll");this.transitionTo(e)}else if(!this.inAdBreak()){var n=j.getState("Preroll");this.transitionTo(n)}},n.onNoPostroll=function(t){this.isContentResuming()||this.inAdBreak()?o().log.warn("Unexpected nopostroll event (Postroll)"):this.abort(t)},n.resumeContent=function(t){this.contentResuming=!0,t.addClass("vjs-ad-content-resuming")},n.abort=function(t){var e=j.getState("AdsDone");this.resumeContent(t),t.removeClass("vjs-ad-loading"),this.transitionTo(e)},n.cleanup=function(t){t.removeClass("vjs-ad-content-resuming"),t.clearTimeout(this._postrollTimeout),t.ads._contentEnding=!1},e}(j.getState("AdState"));j.registerState("Postroll",Z);var G=function(t){function e(){return t.apply(this,arguments)||this}p(e,t),e._getName=function(){return"ContentPlayback"};var n=e.prototype;return n.init=function(t){t.ads._shouldBlockPlay=!1},n.onAdsReady=function(t){t.ads.debug("Received adsready event (ContentPlayback)"),t.ads.nopreroll_||(t.ads.debug("Triggered readyforpreroll event (ContentPlayback)"),t.trigger("readyforpreroll"))},n.onReadyForPostroll=function(t){var e=j.getState("Postroll");t.ads.debug("Received readyforpostroll event"),this.transitionTo(e)},n.startLinearAdMode=function(){var t=j.getState("Midroll");this.transitionTo(t)},e}(j.getState("ContentState"));j.registerState("ContentPlayback",G);var z=function(t){function e(){return t.apply(this,arguments)||this}p(e,t),e._getName=function(){return"StitchedContentPlayback"};var n=e.prototype;return n.init=function(){this.player.ads._shouldBlockPlay=!1},n.onContentChanged=function(){this.player.ads.debug("Received contentchanged event ("+this.constructor._getName()+")")},n.startLinearAdMode=function(){var t=j.getState("StitchedAdRoll");this.transitionTo(t)},e}(j.getState("ContentState"));j.registerState("StitchedContentPlayback",z);var Y=function(t){function e(){return t.apply(this,arguments)||this}p(e,t),e._getName=function(){return"StitchedAdRoll"};var n=e.prototype;return n.init=function(){this.waitingForAdBreak=!1,this.contentResuming=!1,this.player.ads.adType="stitched",U.start(this.player)},n.onPlaying=function(){},n.onContentResumed=function(){},n.onAdEnded=function(){this.endLinearAdMode(),this.player.trigger("ended")},n.endLinearAdMode=function(){var t=j.getState("StitchedContentPlayback");U.end(this.player),this.transitionTo(t)},e}(j.getState("AdState"));j.registerState("StitchedAdRoll",Y);var Q=function(t){function e(){return t.apply(this,arguments)||this}p(e,t),e._getName=function(){return"OutstreamPending"};var n=e.prototype;return n.init=function(t){this.adsReady=!1},n.onPlay=function(t){var e=j.getState("OutstreamPlayback");t.ads.debug("Received play event (OutstreamPending)"),this.transitionTo(e,this.adsReady)},n.onAdsReady=function(t){t.ads.debug("Received adsready event (OutstreamPending)"),this.adsReady=!0},n.onAdsError=function(){this.player.ads.debug("adserror (OutstreamPending)"),this.adsReady=!1},e}(j.getState("AdState"));j.registerState("OutstreamPending",Q);var q=function(t){function e(){return t.apply(this,arguments)||this}p(e,t),e._getName=function(){return"OutstreamPlayback"};var n=e.prototype;return n.init=function(t,e){t.addClass("vjs-ad-loading"),e?this.handleAdsReady():this.abort(t)},n.onAdsReady=function(t){t.ads.inAdBreak()?o().log.warn("Unexpected adsready event (Preroll)"):(t.ads.debug("Received adsready event (Preroll)"),this.handleAdsReady())},n.abort=function(t){var e=j.getState("OutstreamDone");t.removeClass("vjs-ad-loading"),this.transitionTo(e)},n.onAdStarted=function(t){t.removeClass("vjs-ad-loading")},n.handleAdsReady=function(){this.adsReady=!0,this.readyForOutstreamPlayback()},n.readyForOutstreamPlayback=function(){var t=this.player;this.afterLoadStart((function(){t.trigger("readyforoutstream")}))},n.startLinearAdMode=function(){var t=this.player;this.adsReady&&!t.ads.inAdBreak()&&U.start(t)},n.cleanup=function(t){t.ads._hasThereBeenALoadStartDuringPlayerLife||o().log.warn("Leaving OutstreamPlayback state before loadstart event can cause issues."),this.cleanupPartial(t)},n.cleanupPartial=function(t){t.removeClass("vjs-ad-loading"),t.removeClass("vjs-ad-content-resuming"),this.clearTimeout(t)},n.clearTimeout=function(t){t.clearTimeout(this._timeout),this._timeout=null},n.onAdStarted=function(t){t.removeClass("vjs-ad-loading")},n.onAdsError=function(t){var e=this;o().log("adserror (OutstreamPlayback)"),this.inAdBreak()?t.ads.endLinearAdMode():this.afterLoadStart((function(){e.abort(t)}))},n.onAdTimeout=function(t){var e=this;this.afterLoadStart((function(){t.ads.debug("adtimeout (OutstreamPlayback)"),e.abort(t)}))},n.onAdsCanceled=function(t){var e=this;t.ads.debug("adscanceled (OutstreamPlaybac)"),this.afterLoadStart((function(){e.abort(t)}))},n.endLinearAdMode=function(){var t=this;if(this.inAdBreak()){this.player.removeClass("vjs-ad-loading");var e=j.getState("OutstreamDone");U.end(this.player,(function(){t.transitionTo(e)}))}},n.afterLoadStart=function(t){var e=this.player;e.ads._hasThereBeenALoadStartDuringPlayerLife?t():(e.ads.debug("Waiting for loadstart..."),e.one("loadstart",(function(){e.ads.debug("Received loadstart event"),t()})))},n.skipLinearAdMode=function(){var t=this,e=this.player,n=j.getState("OutstreamDone");this.inAdBreak()?o().log.warn("Unexpected skipLinearAdMode invocation"):this.afterLoadStart((function(){e.trigger("adskip"),e.ads.debug("skipLinearAdMode (OutstreamPlayback)"),t.transitionTo(n)}))},e}(j.getState("AdState"));j.registerState("OutstreamPlayback",q);var X=function(t){function e(){return t.apply(this,arguments)||this}p(e,t),e._getName=function(){return"OutstreamDone"};var n=e.prototype;return n.init=function(t){t.trigger("ended")},n.startLinearAdMode=function(){o().log.warn("Unexpected startLinearAdMode invocation (OutstreamDone)")},e}(j.getState("AdState"));j.registerState("OutstreamDone",X);var J=w.isMiddlewareMediatorSupported,K=o().getTech("Html5").Events,$={timeout:5e3,prerollTimeout:void 0,postrollTimeout:void 0,debug:!1,stitchedAds:!1,contentIsLive:void 0,liveCuePoints:!0,allowVjsAutoplay:o().options.normalizeAutoplay||!1},tt=function(t){var e=this,n=o().obj.merge($,t),i=[];K.concat(["firstplay","loadedalldata"]).forEach((function(t){-1===i.indexOf(t)&&i.push(t)})),e.on(i,u),J()||function(t,e){e&&o().log("Using cancelContentPlay to block content playback"),t.on("play",L)}(e,n.debug),e.setTimeout((function(){e.ads._hasThereBeenALoadStartDuringPlayerLife||""===e.src()||o().log.error("videojs-contrib-ads has not seen a loadstart event 5 seconds after being initialized, but a source is present. This indicates that videojs-contrib-ads was initialized too late. It must be initialized immediately after video.js in the same tick. As a result, some ads will not play and some media events will be incorrect. For more information, see http://videojs.github.io/videojs-contrib-ads/integrator/getting-started.html")}),5e3),e.on("ended",(function(){e.hasClass("vjs-has-started")||e.addClass("vjs-has-started")})),e.on("contenttimeupdate",(function(){e.removeClass("vjs-waiting")})),e.on(["addurationchange","adcanplay"],(function(){if(!e.ads.settings.stitchedAds&&!e.hasStarted()&&(!e.ads.snapshot||e.currentSrc()!==e.ads.snapshot.currentSrc)&&e.ads.inAdBreak()){var t=e.play();t&&t.catch&&t.catch((function(t){o().log.warn("Play promise rejected when playing ad",t)}))}})),e.on("nopreroll",(function(){e.ads.debug("Received nopreroll event"),e.ads.nopreroll_=!0})),e.on("nopostroll",(function(){e.ads.debug("Received nopostroll event"),e.ads.nopostroll_=!0})),e.on("playing",(function(){e.ads._cancelledPlay=!1,e.ads._pausedOnContentupdate=!1})),e.on("play",(function(){e.ads._playRequested=!0})),e.one("loadstart",(function(){e.ads._hasThereBeenALoadStartDuringPlayerLife=!0})),e.on("loadeddata",(function(){e.ads._hasThereBeenALoadedData=!0})),e.on("loadedmetadata",(function(){e.ads._hasThereBeenALoadedMetaData=!0})),e.ads=function(t){return{disableNextSnapshotRestore:!1,_contentEnding:!1,_contentHasEnded:!1,_hasThereBeenALoadStartDuringPlayerLife:!1,_hasThereBeenALoadedData:!1,_hasThereBeenALoadedMetaData:!1,_inLinearAdMode:!1,_shouldBlockPlay:!1,_playBlocked:!1,_playRequested:!1,_error:null,adType:null,VERSION:l,reset:function(){t.ads.disableNextSnapshotRestore=!1,t.ads._contentEnding=!1,t.ads._contentHasEnded=!1,t.ads.snapshot=null,t.ads.adType=null,t.ads._hasThereBeenALoadedData=!1,t.ads._hasThereBeenALoadedMetaData=!1,t.ads._cancelledPlay=!1,t.ads._shouldBlockPlay=!1,t.ads._playBlocked=!1,t.ads.nopreroll_=!1,t.ads.nopostroll_=!1,t.ads._playRequested=!1,t.ads._error=null},startLinearAdMode:function(){t.ads._state.startLinearAdMode()},endLinearAdMode:function(){t.ads._state.endLinearAdMode()},skipLinearAdMode:function(){t.ads._state.skipLinearAdMode()},stitchedAds:function(t){return void 0!==t&&(o().log.warn("Using player.ads.stitchedAds() as a setter is deprecated, it should be set as an option upon initialization of contrib-ads."),this.settings.stitchedAds=!!t),this.settings.stitchedAds},videoElementRecycled:function(){if(t.ads.shouldPlayContentBehindAd(t))return!1;if(!this.snapshot)throw new Error("You cannot use videoElementRecycled while there is no snapshot.");var e=t.tech_.src()!==this.snapshot.src,n=t.currentSrc()!==this.snapshot.currentSrc;return e||n},isLive:function(e){return void 0===e&&(e=t),"boolean"==typeof e.ads.settings.contentIsLive?e.ads.settings.contentIsLive:e.duration()===1/0||"8"===o().browser.IOS_VERSION&&0===e.duration()},shouldPlayContentBehindAd:function(e){if(void 0===e&&(e=t),e)return!!e.ads.settings.liveCuePoints&&!o().browser.IS_IOS&&!o().browser.IS_ANDROID&&e.duration()===1/0;throw new Error("shouldPlayContentBehindAd requires a player as a param")},shouldTakeSnapshots:function(e){return void 0===e&&(e=t),!this.shouldPlayContentBehindAd(e)&&!this.stitchedAds()},isInAdMode:function(){return this._state.isAdState()},isWaitingForAdBreak:function(){return this._state.isWaitingForAdBreak()},isContentResuming:function(){return this._state.isContentResuming()},isAdPlaying:function(){return this._state.inAdBreak()},inAdBreak:function(){return this._state.inAdBreak()},removeNativePoster:function(){var e=t.$(".vjs-tech");e&&e.removeAttribute("poster")},debug:function(){if(this.settings.debug){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];1===e.length&&"string"==typeof e[0]?o().log("ADS: "+e[0]):o().log.apply(o(),["ADS:"].concat(e))}},error:function(e){if(void 0===e)return this._error||null;null!==e&&e.errorType?(this._error=e,o().log.error("An error with Ads occured. Type: "+e.errorType+"."),t.trigger({type:"vjsadserror",error:this._error})):this._error=null}}}(e),e.ads.settings=n,n.stitchedAds=!!n.stitchedAds,"outstream"===n.playerMode?(e.src(I),e.ads._state=new(j.getState("OutstreamPending"))(e)):n.stitchedAds?e.ads._state=new(j.getState("StitchedContentPlayback"))(e):e.ads._state=new(j.getState("BeforePreroll"))(e),e.ads._state.init(e),e.ads.cueTextTracks=E,e.ads.adMacroReplacement=k.bind(e),function(t){t.ads.contentSrc=t.currentSrc(),t.ads._seenInitialLoadstart=!1,t.on("loadstart",(function(){if(!t.ads.inAdBreak()){var e=t.currentSrc();e!==t.ads.contentSrc&&(t.ads._seenInitialLoadstart&&t.trigger({type:"contentchanged"}),t.trigger({type:"contentupdate",oldValue:t.ads.contentSrc,newValue:e}),t.ads.contentSrc=e),t.ads._seenInitialLoadstart=!0}}))}(e),e.on("contentchanged",e.ads.reset);var r=function(){var t=e.textTracks();if(!e.ads.shouldPlayContentBehindAd(e)&&e.ads.inAdBreak()&&e.tech_.featuresNativeTextTracks&&o().browser.IS_IOS&&!Array.isArray(e.textTracks()))for(var n=0;n<t.length;n++){var i=t[n];"showing"===i.mode&&(i.mode="disabled")}};e.ready((function(){e.textTracks().addEventListener("change",r)})),e.on(["play","playing","ended","adsready","adscanceled","adskip","adserror","adtimeout","adended","ads-ad-started","ads-ad-skipped","contentchanged","dispose","contentresumed","readyforpostroll","nopreroll","nopostroll"],(function(t){e.ads._state.handleEvent(t.type)})),e.on("dispose",(function(){e.ads.reset(),e.textTracks().removeEventListener("change",r)})),m(),v((function(){})),e.ads.listenToTcf=m,e.ads.updateUsPrivacyString=function(t){return v(t)}};tt.Error=P,tt.VERSION=l,function(t){!function(){if(o().getPlugin)return Boolean(o().getPlugin("ads"));var t=o().getComponent("Player");return Boolean(t&&t.prototype.ads)}(o())&&((o().registerPlugin||o().plugin)("ads",t),B()&&!o().usingContribAdsMiddleware_&&(o().use("*",D),o().usingContribAdsMiddleware_=!0,o().log.debug("Play middleware has been registered with videojs")))}(tt);function et(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}function nt(t){return nt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},nt(t)}function it(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function ot(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,et(i.key),i)}}function rt(t,e,n){return e&&ot(t.prototype,e),n&&ot(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function st(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}function at(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return st(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?st(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,o=function(){};return{s:o,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,s=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw r}}}}var dt=function(t,e,n){this.vjsPlayer=t,this.controller=n,this.contentTrackingTimer=null,this.contentComplete=!1,this.updateTimeIntervalHandle=null,this.updateTimeInterval=1e3,this.seekCheckIntervalHandle=null,this.seekCheckInterval=1e3,this.resizeCheckIntervalHandle=null,this.resizeCheckInterval=250,this.seekThreshold=100,this.contentEndedListeners=[],this.contentSource="",this.contentSourceType="",this.contentPlayheadTracker={currentTime:0,previousTime:0,seeking:!1,duration:0},this.vjsPlayerDimensions={width:this.getPlayerWidth(),height:this.getPlayerHeight()},this.vjsControls=this.vjsPlayer.getChild("controlBar"),this.h5Player=null,this.vjsPlayer.one("play",this.setUpPlayerIntervals.bind(this)),this.boundContentEndedListener=this.localContentEndedListener.bind(this),this.vjsPlayer.on("contentended",this.boundContentEndedListener),this.vjsPlayer.on("dispose",this.playerDisposedListener.bind(this)),this.vjsPlayer.on("readyforpreroll",this.onReadyForPreroll.bind(this)),this.vjsPlayer.on("adtimeout",this.onAdTimeout.bind(this)),this.vjsPlayer.ready(this.onPlayerReady.bind(this)),"onPlay"===this.controller.getSettings().requestMode&&this.vjsPlayer.one("play",this.controller.requestAds.bind(this.controller)),this.vjsPlayer.ads||window.console.warn("You may be using a version of videojs-contrib-ads that is not compatible with your version of video.js."),this.vjsPlayer.ads(e)};dt.prototype.setUpPlayerIntervals=function(){this.updateTimeIntervalHandle&&clearInterval(this.updateTimeIntervalHandle),this.seekCheckIntervalHandle&&clearInterval(this.seekCheckIntervalHandle),this.resizeCheckIntervalHandle&&clearInterval(this.resizeCheckIntervalHandle),this.updateTimeIntervalHandle=setInterval(this.updateCurrentTime.bind(this),this.updateTimeInterval),this.seekCheckIntervalHandle=setInterval(this.checkForSeeking.bind(this),this.seekCheckInterval),this.resizeCheckIntervalHandle=setInterval(this.checkForResize.bind(this),this.resizeCheckInterval)},dt.prototype.updateCurrentTime=function(){this.contentPlayheadTracker.seeking||(this.contentPlayheadTracker.currentTime=this.vjsPlayer.currentTime())},dt.prototype.checkForSeeking=function(){var t=1e3*(this.vjsPlayer.currentTime()-this.contentPlayheadTracker.previousTime);Math.abs(t)>this.seekCheckInterval+this.seekThreshold?this.contentPlayheadTracker.seeking=!0:this.contentPlayheadTracker.seeking=!1,this.contentPlayheadTracker.previousTime=this.vjsPlayer.currentTime()},dt.prototype.checkForResize=function(){var t=this.getPlayerWidth(),e=this.getPlayerHeight();t==this.vjsPlayerDimensions.width&&e==this.vjsPlayerDimensions.height||(this.vjsPlayerDimensions.width=t,this.vjsPlayerDimensions.height=e,this.controller.onPlayerResize(t,e))},dt.prototype.localContentEndedListener=function(){for(var t in this.contentComplete||(this.contentComplete=!0,this.controller.onContentComplete()),this.contentEndedListeners)"function"==typeof this.contentEndedListeners[t]&&this.contentEndedListeners[t]();this.vjsPlayer.el()&&this.vjsPlayer.one("play",this.setUpPlayerIntervals.bind(this))},dt.prototype.onNoPostroll=function(){this.vjsPlayer.trigger("nopostroll")},dt.prototype.playerDisposedListener=function(){this.contentEndedListeners=[],this.controller.onPlayerDisposed(),this.contentComplete=!0,this.vjsPlayer.off("contentended",this.boundContentEndedListener),this.vjsPlayer.ads.adTimeoutTimeout&&clearTimeout(this.vjsPlayer.ads.adTimeoutTimeout);var t=[this.updateTimeIntervalHandle,this.seekCheckIntervalHandle,this.resizeCheckIntervalHandle];for(var e in t)t[e]&&clearInterval(t[e])},dt.prototype.onReadyForPreroll=function(){this.controller.onPlayerReadyForPreroll()},dt.prototype.onAdTimeout=function(){this.controller.onAdTimeout()},dt.prototype.onPlayerReady=function(){this.h5Player=document.getElementById(this.getPlayerId()).getElementsByClassName("vjs-tech")[0],this.h5Player.hasAttribute("autoplay")&&this.controller.setSetting("adWillAutoPlay",!0),this.onVolumeChange(),this.vjsPlayer.on("fullscreenchange",this.onFullscreenChange.bind(this)),this.vjsPlayer.on("volumechange",this.onVolumeChange.bind(this)),this.controller.onPlayerReady()},dt.prototype.onFullscreenChange=function(){this.vjsPlayer.isFullscreen()?this.controller.onPlayerEnterFullscreen():this.controller.onPlayerExitFullscreen()},dt.prototype.onVolumeChange=function(){var t=this.vjsPlayer.muted()?0:this.vjsPlayer.volume();this.controller.onPlayerVolumeChanged(t)},dt.prototype.injectAdContainerDiv=function(t){this.vjsControls.el().parentNode.appendChild(t)},dt.prototype.getContentPlayer=function(){return this.h5Player},dt.prototype.getVolume=function(){return this.vjsPlayer.muted()?0:this.vjsPlayer.volume()},dt.prototype.setVolume=function(t){this.vjsPlayer.volume(t),0==t?this.vjsPlayer.muted(!0):this.vjsPlayer.muted(!1)},dt.prototype.unmute=function(){this.vjsPlayer.muted(!1)},dt.prototype.mute=function(){this.vjsPlayer.muted(!0)},dt.prototype.play=function(){this.vjsPlayer.play()},dt.prototype.togglePlayback=function(){this.vjsPlayer.paused()?this.vjsPlayer.play():this.vjsPlayer.pause()},dt.prototype.getPlayerWidth=function(){var t=(getComputedStyle(this.vjsPlayer.el())||{}).width;return t&&0!==parseFloat(t)||(t=(this.vjsPlayer.el().getBoundingClientRect()||{}).width),parseFloat(t)||this.vjsPlayer.width()},dt.prototype.getPlayerHeight=function(){var t=(getComputedStyle(this.vjsPlayer.el())||{}).height;return t&&0!==parseFloat(t)||(t=(this.vjsPlayer.el().getBoundingClientRect()||{}).height),parseFloat(t)||this.vjsPlayer.height()},dt.prototype.getPlayerOptions=function(){return this.vjsPlayer.options_},dt.prototype.getPlayerId=function(){return this.vjsPlayer.id()},dt.prototype.toggleFullscreen=function(){this.vjsPlayer.isFullscreen()?this.vjsPlayer.exitFullscreen():this.vjsPlayer.requestFullscreen()},dt.prototype.getContentPlayheadTracker=function(){return this.contentPlayheadTracker},dt.prototype.onAdError=function(t){this.vjsControls.show();var e=void 0!==t.getError?t.getError():t.stack;this.vjsPlayer.trigger({type:"adserror",data:{AdError:e,AdErrorEvent:t}})},dt.prototype.onAdLog=function(t){var e=t.getAdData(),n=void 0!==e.adError?e.adError.getMessage():void 0;this.vjsPlayer.trigger({type:"adslog",data:{AdError:n,AdEvent:t}})},dt.prototype.onAdBreakStart=function(){this.contentSource=this.vjsPlayer.currentSrc(),this.contentSourceType=this.vjsPlayer.currentType(),this.vjsPlayer.off("contentended",this.boundContentEndedListener),this.vjsPlayer.ads.startLinearAdMode(),this.vjsControls.hide(),this.vjsPlayer.pause()},dt.prototype.onAdBreakEnd=function(){this.vjsPlayer.on("contentended",this.boundContentEndedListener),this.vjsPlayer.ads.inAdBreak()&&this.vjsPlayer.ads.endLinearAdMode(),this.vjsControls.show()},dt.prototype.onAdStart=function(){this.vjsPlayer.trigger("ads-ad-started")},dt.prototype.onAllAdsCompleted=function(){1==this.contentComplete&&(this.contentSource&&this.vjsPlayer.currentSrc()!=this.contentSource&&this.vjsPlayer.src({src:this.contentSource,type:this.contentSourceType}),this.controller.onContentAndAdsCompleted())},dt.prototype.onAdsReady=function(){this.vjsPlayer.trigger("adsready")},dt.prototype.changeSource=function(t){this.vjsPlayer.currentSrc()&&(this.vjsPlayer.currentTime(0),this.vjsPlayer.pause()),t&&this.vjsPlayer.src(t),this.vjsPlayer.one("loadedmetadata",this.seekContentToZero.bind(this))},dt.prototype.seekContentToZero=function(){this.vjsPlayer.currentTime(0)},dt.prototype.triggerPlayerEvent=function(t,e){this.vjsPlayer.trigger(t,e)},dt.prototype.addContentEndedListener=function(t){this.contentEndedListeners.push(t)},dt.prototype.reset=function(){this.vjsPlayer.off("contentended",this.boundContentEndedListener),this.vjsPlayer.on("contentended",this.boundContentEndedListener),this.vjsControls.show(),this.vjsPlayer.ads.inAdBreak()&&this.vjsPlayer.ads.endLinearAdMode(),this.contentPlayheadTracker.currentTime=0,this.contentComplete=!1};var lt=function(t){this.controller=t,this.adContainerDiv=document.createElement("div"),this.controlsDiv=document.createElement("div"),this.countdownDiv=document.createElement("div"),this.seekBarDiv=document.createElement("div"),this.progressDiv=document.createElement("div"),this.playPauseDiv=document.createElement("div"),this.muteDiv=document.createElement("div"),this.sliderDiv=document.createElement("div"),this.sliderLevelDiv=document.createElement("div"),this.fullscreenDiv=document.createElement("div"),this.boundOnMouseUp=this.onMouseUp.bind(this),this.boundOnMouseMove=this.onMouseMove.bind(this),this.adPlayheadTracker={currentTime:0,duration:0,isPod:!1,adPosition:0,totalAds:0},this.controlPrefix=this.controller.getPlayerId()+"_",this.showCountdown=!0,!1===this.controller.getSettings().showCountdown&&(this.showCountdown=!1),this.isAdNonlinear=!1,this.createAdContainer()};lt.prototype.createAdContainer=function(){this.assignControlAttributes(this.adContainerDiv,"ima-ad-container"),this.adContainerDiv.style.position="absolute",this.adContainerDiv.style.zIndex=1111,this.adContainerDiv.addEventListener("mouseenter",this.showAdControls.bind(this),!1),this.adContainerDiv.addEventListener("mouseleave",this.hideAdControls.bind(this),!1),this.adContainerDiv.addEventListener("click",this.onAdContainerClick.bind(this),!1),this.createControls(),this.controller.injectAdContainerDiv(this.adContainerDiv)},lt.prototype.createControls=function(){this.assignControlAttributes(this.controlsDiv,"ima-controls-div"),this.controlsDiv.style.width="100%",this.controller.getIsMobile()?this.countdownDiv.style.display="none":(this.assignControlAttributes(this.countdownDiv,"ima-countdown-div"),this.countdownDiv.innerHTML=this.controller.getSettings().adLabel,this.countdownDiv.style.display=this.showCountdown?"block":"none"),this.assignControlAttributes(this.seekBarDiv,"ima-seek-bar-div"),this.seekBarDiv.style.width="100%",this.assignControlAttributes(this.progressDiv,"ima-progress-div"),this.assignControlAttributes(this.playPauseDiv,"ima-play-pause-div"),this.addClass(this.playPauseDiv,"ima-playing"),this.playPauseDiv.addEventListener("click",this.onAdPlayPauseClick.bind(this),!1),this.assignControlAttributes(this.muteDiv,"ima-mute-div"),this.addClass(this.muteDiv,"ima-non-muted"),this.muteDiv.addEventListener("click",this.onAdMuteClick.bind(this),!1),this.assignControlAttributes(this.sliderDiv,"ima-slider-div"),this.sliderDiv.addEventListener("mousedown",this.onAdVolumeSliderMouseDown.bind(this),!1),this.controller.getIsIos()&&(this.sliderDiv.style.display="none"),this.assignControlAttributes(this.sliderLevelDiv,"ima-slider-level-div"),this.assignControlAttributes(this.fullscreenDiv,"ima-fullscreen-div"),this.addClass(this.fullscreenDiv,"ima-non-fullscreen"),this.fullscreenDiv.addEventListener("click",this.onAdFullscreenClick.bind(this),!1),this.adContainerDiv.appendChild(this.controlsDiv),this.controlsDiv.appendChild(this.countdownDiv),this.controlsDiv.appendChild(this.seekBarDiv),this.controlsDiv.appendChild(this.playPauseDiv),this.controlsDiv.appendChild(this.muteDiv),this.controlsDiv.appendChild(this.sliderDiv),this.controlsDiv.appendChild(this.fullscreenDiv),this.seekBarDiv.appendChild(this.progressDiv),this.sliderDiv.appendChild(this.sliderLevelDiv)},lt.prototype.onAdPlayPauseClick=function(){this.controller.onAdPlayPauseClick()},lt.prototype.onAdMuteClick=function(){this.controller.onAdMuteClick()},lt.prototype.onAdFullscreenClick=function(){this.controller.toggleFullscreen()},lt.prototype.onAdsPaused=function(){this.controller.sdkImpl.adPlaying=!1,this.addClass(this.playPauseDiv,"ima-paused"),this.removeClass(this.playPauseDiv,"ima-playing"),this.showAdControls()},lt.prototype.onAdsResumed=function(){this.onAdsPlaying(),this.showAdControls()},lt.prototype.onAdsPlaying=function(){this.controller.sdkImpl.adPlaying=!0,this.addClass(this.playPauseDiv,"ima-playing"),this.removeClass(this.playPauseDiv,"ima-paused")},lt.prototype.updateAdUi=function(t,e,n,i,o){var r=Math.floor(e/60),s=Math.floor(e%60);s.toString().length<2&&(s="0"+s);var a=": ";o>1&&(a=" ("+i+" "+this.controller.getSettings().adLabelNofN+" "+o+"): "),this.countdownDiv.innerHTML=this.controller.getSettings().adLabel+a+r+":"+s;var d=100*(t/n);this.progressDiv.style.width=d+"%"},lt.prototype.unmute=function(){this.addClass(this.muteDiv,"ima-non-muted"),this.removeClass(this.muteDiv,"ima-muted"),this.sliderLevelDiv.style.width=100*this.controller.getPlayerVolume()+"%"},lt.prototype.mute=function(){this.addClass(this.muteDiv,"ima-muted"),this.removeClass(this.muteDiv,"ima-non-muted"),this.sliderLevelDiv.style.width="0%"},lt.prototype.onAdVolumeSliderMouseDown=function(){document.addEventListener("mouseup",this.boundOnMouseUp,!1),document.addEventListener("mousemove",this.boundOnMouseMove,!1)},lt.prototype.onMouseMove=function(t){this.changeVolume(t)},lt.prototype.onMouseUp=function(t){this.changeVolume(t),document.removeEventListener("mouseup",this.boundOnMouseUp),document.removeEventListener("mousemove",this.boundOnMouseMove)},lt.prototype.changeVolume=function(t){var e=(t.clientX-this.sliderDiv.getBoundingClientRect().left)/this.sliderDiv.offsetWidth;e*=100,e=Math.min(Math.max(e,0),100),this.sliderLevelDiv.style.width=e+"%",0==this.percent?(this.addClass(this.muteDiv,"ima-muted"),this.removeClass(this.muteDiv,"ima-non-muted")):(this.addClass(this.muteDiv,"ima-non-muted"),this.removeClass(this.muteDiv,"ima-muted")),this.controller.setVolume(e/100)},lt.prototype.showAdContainer=function(){this.adContainerDiv.style.display="block"},lt.prototype.hideAdContainer=function(){this.adContainerDiv.style.display="none"},lt.prototype.onAdContainerClick=function(){this.isAdNonlinear&&this.controller.togglePlayback()},lt.prototype.reset=function(){this.hideAdContainer()},lt.prototype.onAdError=function(){this.hideAdContainer()},lt.prototype.onAdBreakStart=function(t){this.showAdContainer(),"application/javascript"!==t.getAd().getContentType()||this.controller.getSettings().showControlsForJSAds?this.controlsDiv.style.display="block":this.controlsDiv.style.display="none",this.onAdsPlaying(),this.hideAdControls()},lt.prototype.onAdBreakEnd=function(){var t=this.controller.getCurrentAd();(null==t||t.isLinear())&&this.hideAdContainer(),this.controlsDiv.style.display="none",this.countdownDiv.innerHTML=""},lt.prototype.onAllAdsCompleted=function(){this.hideAdContainer()},lt.prototype.onLinearAdStart=function(){this.removeClass(this.adContainerDiv,"bumpable-ima-ad-container"),this.isAdNonlinear=!1},lt.prototype.onNonLinearAdLoad=function(){this.adContainerDiv.style.display="block",this.addClass(this.adContainerDiv,"bumpable-ima-ad-container"),this.isAdNonlinear=!0},lt.prototype.onPlayerEnterFullscreen=function(){this.addClass(this.fullscreenDiv,"ima-fullscreen"),this.removeClass(this.fullscreenDiv,"ima-non-fullscreen")},lt.prototype.onPlayerExitFullscreen=function(){this.addClass(this.fullscreenDiv,"ima-non-fullscreen"),this.removeClass(this.fullscreenDiv,"ima-fullscreen")},lt.prototype.onPlayerVolumeChanged=function(t){0==t?(this.addClass(this.muteDiv,"ima-muted"),this.removeClass(this.muteDiv,"ima-non-muted"),this.sliderLevelDiv.style.width="0%"):(this.addClass(this.muteDiv,"ima-non-muted"),this.removeClass(this.muteDiv,"ima-muted"),this.sliderLevelDiv.style.width=100*t+"%")},lt.prototype.showAdControls=function(){this.controller.getSettings().disableAdControls||this.addClass(this.controlsDiv,"ima-controls-div-showing")},lt.prototype.hideAdControls=function(){this.removeClass(this.controlsDiv,"ima-controls-div-showing")},lt.prototype.assignControlAttributes=function(t,e){t.id=this.controlPrefix+e,t.className=this.controlPrefix+e+" "+e},lt.prototype.getClassRegexp=function(t){return new RegExp("(^|[^A-Za-z-])"+t+"((?![A-Za-z-])|$)","gi")},lt.prototype.elementHasClass=function(t,e){return this.getClassRegexp(e).test(t.className)},lt.prototype.addClass=function(t,e){t.className=t.className.trim()+" "+e},lt.prototype.removeClass=function(t,e){var n=this.getClassRegexp(e);t.className=t.className.trim().replace(n,"")},lt.prototype.getAdContainerDiv=function(){return this.adContainerDiv},lt.prototype.setShowCountdown=function(t){this.showCountdown=t,this.countdownDiv.style.display=this.showCountdown?"block":"none"};var At="2.3.0",ht=function(t){this.controller=t,this.adDisplayContainer=null,this.adDisplayContainerInitialized=!1,this.adsLoader=null,this.adsManager=null,this.adsRenderingSettings=null,this.adsResponse=null,this.currentAd=null,this.adTrackingTimer=null,this.allAdsCompleted=!1,this.adsActive=!1,this.adPlaying=!1,this.adMuted=!1,this.adBreakReadyListener=void 0,this.contentCompleteCalled=!1,this.isAdTimedOut=!1,this.adsManagerDimensions={width:0,height:0},this.autoPlayAdBreaks=!0,!1===this.controller.getSettings().autoPlayAdBreaks&&(this.autoPlayAdBreaks=!1),this.controller.getSettings().locale&&google.ima.settings.setLocale(this.controller.getSettings().locale),this.controller.getSettings().disableFlashAds&&google.ima.settings.setDisableFlashAds(this.controller.getSettings().disableFlashAds),this.controller.getSettings().disableCustomPlaybackForIOS10Plus&&google.ima.settings.setDisableCustomPlaybackForIOS10Plus(this.controller.getSettings().disableCustomPlaybackForIOS10Plus),this.controller.getSettings().ppid&&google.ima.settings.setPpid(this.controller.getSettings().ppid),this.controller.getSettings().featureFlags&&google.ima.settings.setFeatureFlags(this.controller.getSettings().featureFlags)};ht.prototype.initAdObjects=function(){this.adDisplayContainer=new google.ima.AdDisplayContainer(this.controller.getAdContainerDiv(),this.controller.getContentPlayer()),this.adsLoader=new google.ima.AdsLoader(this.adDisplayContainer),this.adsLoader.getSettings().setVpaidMode(google.ima.ImaSdkSettings.VpaidMode.ENABLED),0==this.controller.getSettings().vpaidAllowed&&this.adsLoader.getSettings().setVpaidMode(google.ima.ImaSdkSettings.VpaidMode.DISABLED),void 0!==this.controller.getSettings().vpaidMode&&this.adsLoader.getSettings().setVpaidMode(this.controller.getSettings().vpaidMode),this.controller.getSettings().locale&&this.adsLoader.getSettings().setLocale(this.controller.getSettings().locale),this.controller.getSettings().numRedirects&&this.adsLoader.getSettings().setNumRedirects(this.controller.getSettings().numRedirects),this.controller.getSettings().sessionId&&this.adsLoader.getSettings().setSessionId(this.controller.getSettings().sessionId),this.adsLoader.getSettings().setPlayerType("videojs-ima"),this.adsLoader.getSettings().setPlayerVersion(At),this.adsLoader.getSettings().setAutoPlayAdBreaks(this.autoPlayAdBreaks),this.adsLoader.addEventListener(google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,this.onAdsManagerLoaded.bind(this),!1),this.adsLoader.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR,this.onAdsLoaderError.bind(this),!1),this.controller.playerWrapper.vjsPlayer.trigger({type:"ads-loader",adsLoader:this.adsLoader})},ht.prototype.requestAds=function(){var t=new google.ima.AdsRequest;if(this.controller.getSettings().adTagUrl?t.adTagUrl=this.controller.getSettings().adTagUrl:t.adsResponse=this.controller.getSettings().adsResponse,this.controller.getSettings().forceNonLinearFullSlot&&(t.forceNonLinearFullSlot=!0),this.controller.getSettings().vastLoadTimeout&&(t.vastLoadTimeout=this.controller.getSettings().vastLoadTimeout),this.controller.getSettings().omidMode&&window.console.warn("The additional setting `omidMode` has been removed. Use `omidVendorAccess` instead."),this.controller.getSettings().omidVendorAccess){t.omidAccessModeRules={};var e=this.controller.getSettings().omidVendorAccess;Object.keys(e).forEach((function(n){t.omidAccessModeRules[n]=e[n]}))}t.linearAdSlotWidth=this.controller.getPlayerWidth(),t.linearAdSlotHeight=this.controller.getPlayerHeight(),t.nonLinearAdSlotWidth=this.controller.getSettings().nonLinearWidth||this.controller.getPlayerWidth(),t.nonLinearAdSlotHeight=this.controller.getSettings().nonLinearHeight||this.controller.getPlayerHeight(),t.setAdWillAutoPlay(this.controller.adsWillAutoplay()),t.setAdWillPlayMuted(this.controller.adsWillPlayMuted());var n=this.controller.getSettings().adsRequest;n&&"object"===nt(n)&&Object.keys(n).forEach((function(e){t[e]=n[e]})),this.adsLoader.requestAds(t),this.controller.playerWrapper.vjsPlayer.trigger({type:"ads-request",AdsRequest:t})},ht.prototype.onAdsManagerLoaded=function(t){this.createAdsRenderingSettings(),this.adsManager=t.getAdsManager(this.controller.getContentPlayheadTracker(),this.adsRenderingSettings),this.adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR,this.onAdError.bind(this)),this.adsManager.addEventListener(google.ima.AdEvent.Type.AD_BREAK_READY,this.onAdBreakReady.bind(this)),this.adsManager.addEventListener(google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,this.onContentPauseRequested.bind(this)),this.adsManager.addEventListener(google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,this.onContentResumeRequested.bind(this)),this.adsManager.addEventListener(google.ima.AdEvent.Type.ALL_ADS_COMPLETED,this.onAllAdsCompleted.bind(this)),this.adsManager.addEventListener(google.ima.AdEvent.Type.LOADED,this.onAdLoaded.bind(this)),this.adsManager.addEventListener(google.ima.AdEvent.Type.STARTED,this.onAdStarted.bind(this)),this.adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE,this.onAdComplete.bind(this)),this.adsManager.addEventListener(google.ima.AdEvent.Type.SKIPPED,this.onAdComplete.bind(this)),this.adsManager.addEventListener(google.ima.AdEvent.Type.LOG,this.onAdLog.bind(this)),this.adsManager.addEventListener(google.ima.AdEvent.Type.PAUSED,this.onAdPaused.bind(this)),this.adsManager.addEventListener(google.ima.AdEvent.Type.RESUMED,this.onAdResumed.bind(this)),this.controller.playerWrapper.vjsPlayer.trigger({type:"ads-manager",adsManager:this.adsManager}),this.autoPlayAdBreaks||this.initAdsManager();var e=this.controller.getSettings().preventLateAdStart;e?e&&!this.isAdTimedOut&&this.controller.onAdsReady():this.controller.onAdsReady(),this.controller.getSettings().adsManagerLoadedCallback&&this.controller.getSettings().adsManagerLoadedCallback()},ht.prototype.onAdsLoaderError=function(t){window.console.warn("AdsLoader error: "+t.getError()),this.controller.onErrorLoadingAds(t),this.adsManager&&this.adsManager.destroy()},ht.prototype.initAdsManager=function(){try{var t=this.controller.getPlayerWidth(),e=this.controller.getPlayerHeight();this.adsManagerDimensions.width=t,this.adsManagerDimensions.height=e,this.adsManager.init(t,e,google.ima.ViewMode.NORMAL),this.adsManager.setVolume(this.controller.getPlayerVolume()),this.initializeAdDisplayContainer()}catch(t){this.onAdError(t)}},ht.prototype.createAdsRenderingSettings=function(){if(this.adsRenderingSettings=new google.ima.AdsRenderingSettings,this.adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete=!0,this.controller.getSettings().adsRenderingSettings)for(var t in this.controller.getSettings().adsRenderingSettings)""!==t&&(this.adsRenderingSettings[t]=this.controller.getSettings().adsRenderingSettings[t])},ht.prototype.onAdError=function(t){var e=void 0!==t.getError?t.getError():t.stack;window.console.warn("Ad error: "+e),this.adsManager.destroy(),this.controller.onAdError(t),this.adsActive=!1,this.adPlaying=!1},ht.prototype.onAdBreakReady=function(t){this.adBreakReadyListener(t)},ht.prototype.onContentPauseRequested=function(t){this.adsActive=!0,this.adPlaying=!0,this.controller.onAdBreakStart(t)},ht.prototype.onContentResumeRequested=function(t){this.adsActive=!1,this.adPlaying=!1,this.controller.onAdBreakEnd()},ht.prototype.onAllAdsCompleted=function(t){this.allAdsCompleted=!0,this.controller.onAllAdsCompleted()},ht.prototype.onAdLoaded=function(t){t.getAd().isLinear()||(this.controller.onNonLinearAdLoad(),this.controller.playContent())},ht.prototype.onAdStarted=function(t){this.currentAd=t.getAd(),this.currentAd.isLinear()?(this.adTrackingTimer=setInterval(this.onAdPlayheadTrackerInterval.bind(this),250),this.controller.onLinearAdStart()):this.controller.onNonLinearAdStart()},ht.prototype.onAdPaused=function(){this.controller.onAdsPaused()},ht.prototype.onAdResumed=function(t){this.controller.onAdsResumed()},ht.prototype.onAdComplete=function(){this.currentAd.isLinear()&&clearInterval(this.adTrackingTimer)},ht.prototype.onAdLog=function(t){this.controller.onAdLog(t)},ht.prototype.onAdPlayheadTrackerInterval=function(){if(null!==this.adsManager){var t=this.adsManager.getRemainingTime(),e=this.currentAd.getDuration(),n=e-t;n=n>0?n:0;var i,o=0;this.currentAd.getAdPodInfo()&&(i=this.currentAd.getAdPodInfo().getAdPosition(),o=this.currentAd.getAdPodInfo().getTotalAds()),this.controller.onAdPlayheadUpdated(n,t,e,i,o)}},ht.prototype.onContentComplete=function(){this.adsLoader&&(this.adsLoader.contentComplete(),this.contentCompleteCalled=!0),(this.adsManager&&this.adsManager.getCuePoints()&&!this.adsManager.getCuePoints().includes(-1)||!this.adsManager)&&this.controller.onNoPostroll(),this.allAdsCompleted&&this.controller.onContentAndAdsCompleted()},ht.prototype.onPlayerDisposed=function(){this.adTrackingTimer&&clearInterval(this.adTrackingTimer),this.adsManager&&(this.adsManager.destroy(),this.adsManager=null)},ht.prototype.onPlayerReadyForPreroll=function(){if(this.autoPlayAdBreaks){this.initAdsManager();try{this.controller.showAdContainer(),this.adsManager.setVolume(this.controller.getPlayerVolume()),this.adsManager.start()}catch(t){this.onAdError(t)}}},ht.prototype.onAdTimeout=function(){this.isAdTimedOut=!0},ht.prototype.onPlayerReady=function(){this.initAdObjects(),(this.controller.getSettings().adTagUrl||this.controller.getSettings().adsResponse)&&"onLoad"===this.controller.getSettings().requestMode&&this.requestAds()},ht.prototype.onPlayerEnterFullscreen=function(){this.adsManager&&this.adsManager.resize(window.screen.width,window.screen.height,google.ima.ViewMode.FULLSCREEN)},ht.prototype.onPlayerExitFullscreen=function(){this.adsManager&&this.adsManager.resize(this.controller.getPlayerWidth(),this.controller.getPlayerHeight(),google.ima.ViewMode.NORMAL)},ht.prototype.onPlayerVolumeChanged=function(t){this.adsManager&&this.adsManager.setVolume(t),this.adMuted=0==t},ht.prototype.onPlayerResize=function(t,e){this.adsManager&&(this.adsManagerDimensions.width=t,this.adsManagerDimensions.height=e,this.adsManager.resize(t,e,google.ima.ViewMode.NORMAL))},ht.prototype.getCurrentAd=function(){return this.currentAd},ht.prototype.setAdBreakReadyListener=function(t){this.adBreakReadyListener=t},ht.prototype.isAdPlaying=function(){return this.adPlaying},ht.prototype.isAdMuted=function(){return this.adMuted},ht.prototype.pauseAds=function(){this.adsManager.pause(),this.adPlaying=!1},ht.prototype.resumeAds=function(){this.adsManager.resume(),this.adPlaying=!0},ht.prototype.unmute=function(){this.adsManager.setVolume(1),this.adMuted=!1},ht.prototype.mute=function(){this.adsManager.setVolume(0),this.adMuted=!0},ht.prototype.setVolume=function(t){this.adsManager.setVolume(t),this.adMuted=0==t},ht.prototype.initializeAdDisplayContainer=function(){this.adDisplayContainer&&(this.adDisplayContainerInitialized||(this.adDisplayContainer.initialize(),this.adDisplayContainerInitialized=!0))},ht.prototype.playAdBreak=function(){this.autoPlayAdBreaks||(this.controller.showAdContainer(),this.adsManager.setVolume(this.controller.getPlayerVolume()),this.adsManager.start())},ht.prototype.addEventListener=function(t,e){this.adsManager&&this.adsManager.addEventListener(t,e)},ht.prototype.getAdsManager=function(){return this.adsManager},ht.prototype.reset=function(){this.adsActive=!1,this.adPlaying=!1,this.adTrackingTimer&&clearInterval(this.adTrackingTimer),this.adsManager&&(this.adsManager.destroy(),this.adsManager=null),this.adsLoader&&!this.contentCompleteCalled&&this.adsLoader.contentComplete(),this.contentCompleteCalled=!1,this.allAdsCompleted=!1};var ut=function(t,e){this.settings={},this.contentAndAdsEndedListeners=[],this.isMobile=navigator.userAgent.match(/iPhone/i)||navigator.userAgent.match(/iPad/i)||navigator.userAgent.match(/Android/i),this.isIos=navigator.userAgent.match(/iPhone/i)||navigator.userAgent.match(/iPad/i),this.initWithSettings(e);var n={debug:this.settings.debug,timeout:this.settings.timeout,prerollTimeout:this.settings.prerollTimeout},i=Object.assign({},n,e.contribAdsSettings||{});this.playerWrapper=new dt(t,i,this),this.adUi=new lt(this),this.sdkImpl=new ht(this)};ut.IMA_DEFAULTS={adLabel:"Advertisement",adLabelNofN:"of",debug:!1,disableAdControls:!1,prerollTimeout:1e3,preventLateAdStart:!1,requestMode:"onLoad",showControlsForJSAds:!0,timeout:5e3},ut.prototype.initWithSettings=function(t){this.settings=Object.assign({},ut.IMA_DEFAULTS,t||{}),this.warnAboutDeprecatedSettings(),this.showCountdown=!0,!1===this.settings.showCountdown&&(this.showCountdown=!1)},ut.prototype.warnAboutDeprecatedSettings=function(){var t=this;["adWillAutoplay","adsWillAutoplay","adWillPlayMuted","adsWillPlayMuted"].forEach((function(e){void 0!==t.settings[e]&&console.warn("WARNING: videojs.ima setting "+e+" is deprecated")}))},ut.prototype.getSettings=function(){return this.settings},ut.prototype.getIsMobile=function(){return this.isMobile},ut.prototype.getIsIos=function(){return this.isIos},ut.prototype.injectAdContainerDiv=function(t){this.playerWrapper.injectAdContainerDiv(t)},ut.prototype.getAdContainerDiv=function(){return this.adUi.getAdContainerDiv()},ut.prototype.getContentPlayer=function(){return this.playerWrapper.getContentPlayer()},ut.prototype.getContentPlayheadTracker=function(){return this.playerWrapper.getContentPlayheadTracker()},ut.prototype.requestAds=function(){this.sdkImpl.requestAds()},ut.prototype.setSetting=function(t,e){this.settings[t]=e},ut.prototype.onErrorLoadingAds=function(t){this.adUi.onAdError(),this.playerWrapper.onAdError(t)},ut.prototype.onAdPlayPauseClick=function(){this.sdkImpl.isAdPlaying()?(this.adUi.onAdsPaused(),this.sdkImpl.pauseAds()):(this.adUi.onAdsPlaying(),this.sdkImpl.resumeAds())},ut.prototype.onAdMuteClick=function(){this.sdkImpl.isAdMuted()?(this.playerWrapper.unmute(),this.adUi.unmute(),this.sdkImpl.unmute()):(this.playerWrapper.mute(),this.adUi.mute(),this.sdkImpl.mute())},ut.prototype.setVolume=function(t){this.playerWrapper.setVolume(t),this.sdkImpl.setVolume(t)},ut.prototype.getPlayerVolume=function(){return this.playerWrapper.getVolume()},ut.prototype.toggleFullscreen=function(){this.playerWrapper.toggleFullscreen()},ut.prototype.onAdError=function(t){this.adUi.onAdError(),this.playerWrapper.onAdError(t)},ut.prototype.onAdBreakStart=function(t){this.playerWrapper.onAdBreakStart(),this.adUi.onAdBreakStart(t)},ut.prototype.showAdContainer=function(){this.adUi.showAdContainer()},ut.prototype.onAdBreakEnd=function(){this.playerWrapper.onAdBreakEnd(),this.adUi.onAdBreakEnd()},ut.prototype.onAllAdsCompleted=function(){this.adUi.onAllAdsCompleted(),this.playerWrapper.onAllAdsCompleted()},ut.prototype.onAdsPaused=function(){this.adUi.onAdsPaused()},ut.prototype.onAdsResumed=function(){this.adUi.onAdsResumed()},ut.prototype.onAdPlayheadUpdated=function(t,e,n,i,o){this.adUi.updateAdUi(t,e,n,i,o)},ut.prototype.onAdLog=function(t){this.playerWrapper.onAdLog(t)},ut.prototype.getCurrentAd=function(){return this.sdkImpl.getCurrentAd()},ut.prototype.playContent=function(){this.playerWrapper.play()},ut.prototype.onLinearAdStart=function(){this.adUi.onLinearAdStart(),this.playerWrapper.onAdStart()},ut.prototype.onNonLinearAdLoad=function(){this.adUi.onNonLinearAdLoad()},ut.prototype.onNonLinearAdStart=function(){this.adUi.onNonLinearAdLoad(),this.playerWrapper.onAdStart()},ut.prototype.getPlayerWidth=function(){return this.playerWrapper.getPlayerWidth()},ut.prototype.getPlayerHeight=function(){return this.playerWrapper.getPlayerHeight()},ut.prototype.onAdsReady=function(){this.playerWrapper.onAdsReady()},ut.prototype.onPlayerResize=function(t,e){this.sdkImpl.onPlayerResize(t,e)},ut.prototype.onContentComplete=function(){this.sdkImpl.onContentComplete()},ut.prototype.onNoPostroll=function(){this.playerWrapper.onNoPostroll()},ut.prototype.onContentAndAdsCompleted=function(){for(var t in this.contentAndAdsEndedListeners)"function"==typeof this.contentAndAdsEndedListeners[t]&&this.contentAndAdsEndedListeners[t]()},ut.prototype.onPlayerDisposed=function(){this.contentAndAdsEndedListeners=[],this.sdkImpl.onPlayerDisposed()},ut.prototype.onPlayerReadyForPreroll=function(){this.sdkImpl.onPlayerReadyForPreroll()},ut.prototype.onAdTimeout=function(){this.sdkImpl.onAdTimeout()},ut.prototype.onPlayerReady=function(){this.sdkImpl.onPlayerReady()},ut.prototype.onPlayerEnterFullscreen=function(){this.adUi.onPlayerEnterFullscreen(),this.sdkImpl.onPlayerEnterFullscreen()},ut.prototype.onPlayerExitFullscreen=function(){this.adUi.onPlayerExitFullscreen(),this.sdkImpl.onPlayerExitFullscreen()},ut.prototype.onPlayerVolumeChanged=function(t){this.adUi.onPlayerVolumeChanged(t),this.sdkImpl.onPlayerVolumeChanged(t)},ut.prototype.setContentWithAdTag=function(t,e){this.reset(),this.settings.adTagUrl=e||this.settings.adTagUrl,this.playerWrapper.changeSource(t)},ut.prototype.setContentWithAdsResponse=function(t,e){this.reset(),this.settings.adsResponse=e||this.settings.adsResponse,this.playerWrapper.changeSource(t)},ut.prototype.setContentWithAdsRequest=function(t,e){this.reset(),this.settings.adsRequest=e||this.settings.adsRequest,this.playerWrapper.changeSource(t)},ut.prototype.reset=function(){this.sdkImpl.reset(),this.playerWrapper.reset(),this.adUi.reset()},ut.prototype.addContentEndedListener=function(t){this.playerWrapper.addContentEndedListener(t)},ut.prototype.addContentAndAdsEndedListener=function(t){this.contentAndAdsEndedListeners.push(t)},ut.prototype.setAdBreakReadyListener=function(t){this.sdkImpl.setAdBreakReadyListener(t)},ut.prototype.setShowCountdown=function(t){this.adUi.setShowCountdown(t),this.showCountdown=t,this.adUi.countdownDiv.style.display=this.showCountdown?"block":"none"},ut.prototype.initializeAdDisplayContainer=function(){this.sdkImpl.initializeAdDisplayContainer()},ut.prototype.playAdBreak=function(){this.sdkImpl.playAdBreak()},ut.prototype.addEventListener=function(t,e){this.sdkImpl.addEventListener(t,e)},ut.prototype.getAdsManager=function(){return this.sdkImpl.getAdsManager()},ut.prototype.getPlayerId=function(){return this.playerWrapper.getPlayerId()},ut.prototype.changeAdTag=function(t){this.reset(),this.settings.adTagUrl=t},ut.prototype.pauseAd=function(){this.adUi.onAdsPaused(),this.sdkImpl.pauseAds()},ut.prototype.resumeAd=function(){this.adUi.onAdsPlaying(),this.sdkImpl.resumeAds()},ut.prototype.togglePlayback=function(){this.playerWrapper.togglePlayback()},ut.prototype.adsWillAutoplay=function(){return void 0!==this.settings.adsWillAutoplay?this.settings.adsWillAutoplay:void 0!==this.settings.adWillAutoplay?this.settings.adWillAutoplay:!!this.playerWrapper.getPlayerOptions().autoplay},ut.prototype.adsWillPlayMuted=function(){return void 0!==this.settings.adsWillPlayMuted?this.settings.adsWillPlayMuted:void 0!==this.settings.adWillPlayMuted?this.settings.adWillPlayMuted:void 0!==this.playerWrapper.getPlayerOptions().muted?this.playerWrapper.getPlayerOptions().muted:0==this.playerWrapper.getVolume()},ut.prototype.triggerPlayerEvent=function(t,e){this.playerWrapper.triggerPlayerEvent(t,e)};var ct=function(t,e,n){this.vjsPlayer=t,this.daiController=n,this.vjsControls=this.vjsPlayer.getChild("controlBar"),this.h5Player=null,this.vjsPlayer.on("dispose",this.playerDisposedListener.bind(this)),this.vjsPlayer.on("pause",this.onPause.bind(this)),this.vjsPlayer.on("play",this.onPlay.bind(this)),this.vjsPlayer.on("seeked",this.onSeekEnd.bind(this)),this.vjsPlayer.ready(this.onPlayerReady.bind(this)),this.vjsPlayer.ads||window.console.warn("You may be using a version of videojs-contrib-ads that is not compatible with your version of video.js."),this.vjsPlayer.ads(e)};ct.prototype.playerDisposedListener=function(){this.contentEndedListeners=[],this.daiController.onPlayerDisposed()},ct.prototype.onPause=function(){this.daiController.isInAdBreak()&&this.vjsControls.show()},ct.prototype.onPlay=function(){this.daiController.isInAdBreak()&&this.vjsControls.hide()},ct.prototype.onSeekEnd=function(){this.daiController.onSeekEnd(this.vjsPlayer.currentTime())},ct.prototype.onPlayerReady=function(){this.h5Player=document.getElementById(this.getPlayerId()).getElementsByClassName("vjs-tech")[0],this.daiController.onPlayerReady()},ct.prototype.getStreamPlayer=function(){return this.h5Player},ct.prototype.getVjsPlayer=function(){return this.vjsPlayer},ct.prototype.getPlayerOptions=function(){return this.vjsPlayer.options_},ct.prototype.getPlayerId=function(){return this.vjsPlayer.id()},ct.prototype.onAdError=function(t){this.vjsControls.show();var e=void 0!==t.getError?t.getError():t.stack;this.vjsPlayer.trigger({type:"adserror",data:{AdError:e,AdErrorEvent:t}})},ct.prototype.onAdBreakStart=function(){this.vjsControls.hide()},ct.prototype.onAdBreakEnd=function(){this.vjsControls.show()},ct.prototype.reset=function(){this.vjsControls.show()};var pt=function(t){this.daiController=t,this.streamPlayer=null,this.vjsPlayer=null,this.streamManager=null,this.uiSettings=new google.ima.dai.api.UiSettings,this.isAdBreak=!1,this.isSnapback=!1,this.snapForwardTime=0,this.timedMetadata,this.metadataLoaded={},this.SOURCE_TYPES={hls:"application/x-mpegURL",dash:"application/dash+xml"}};pt.prototype.initImaDai=function(){this.streamPlayer=this.daiController.getStreamPlayer(),this.vjsPlayer=this.daiController.getVjsPlayer(),this.createAdUiDiv(),this.daiController.getSettings().locale&&this.uiSettings.setLocale(this.daiController.getSettings().locale),this.streamManager=new google.ima.dai.api.StreamManager(this.streamPlayer,this.adUiDiv,this.uiSettings),this.streamPlayer.addEventListener("pause",this.onStreamPause),this.streamPlayer.addEventListener("play",this.onStreamPlay),this.streamManager.addEventListener([google.ima.dai.api.StreamEvent.Type.LOADED,google.ima.dai.api.StreamEvent.Type.ERROR,google.ima.dai.api.StreamEvent.Type.AD_BREAK_STARTED,google.ima.dai.api.StreamEvent.Type.AD_BREAK_ENDED],this.onStreamEvent.bind(this),!1),this.vjsPlayer.textTracks().onaddtrack=this.onAddTrack.bind(this),this.vjsPlayer.trigger({type:"stream-manager",StreamManager:this.streamManager}),this.requestStream()},pt.prototype.onAddTrack=function(t){var e=this,n=t.track;"metadata"===n.kind&&(n.mode="hidden",n.addEventListener("cuechange",(function(t){var i,o=at(n.activeCues_);try{for(o.s();!(i=o.n()).done;){var r=i.value,s={};s[r.value.key]=r.value.data,e.streamManager.onTimedMetadata(s)}}catch(t){o.e(t)}finally{o.f()}})))},pt.prototype.createAdUiDiv=function(){var t=document.createElement("div");t.id="ad-ui",t.style.height="calc(100% - 3em)",this.streamPlayer.parentNode.appendChild(t),this.adUiDiv=t},pt.prototype.onStreamPause=function(){this.isAdBreak&&(this.adUiDiv.style.display="none")},pt.prototype.onStreamPlay=function(){this.isAdBreak&&(this.adUiDiv.style.display="block")},pt.prototype.onSeekEnd=function(t){if("live"!==this.daiController.getSettings().streamType)if(this.isSnapback)this.isSnapback=!1;else{var e=this.streamManager.previousCuePointForStreamTime(t);e&&!e.played&&(this.isSnapback=!0,this.snapForwardTime=t,this.vjsPlayer.currentTime(e.start))}},pt.prototype.onStreamEvent=function(t){switch(t.type){case google.ima.dai.api.StreamEvent.Type.LOADED:this.loadUrl(t.getStreamData().url);break;case google.ima.dai.api.StreamEvent.Type.ERROR:window.console.warn("Error loading stream, attempting to play backup stream. "+t.getStreamData().errorMessage),this.daiController.onErrorLoadingAds(t),this.daiController.getSettings().fallbackStreamUrl&&this.loadurl(this.daiController.getSettings().fallbackStreamUrl);break;case google.ima.dai.api.StreamEvent.Type.AD_BREAK_STARTED:this.isAdBreak=!0,this.adUiDiv.style.display="block",this.daiController.onAdBreakStart();break;case google.ima.dai.api.StreamEvent.Type.AD_BREAK_ENDED:this.isAdBreak=!1,this.adUiDiv.style.display="none",this.daiController.onAdBreakEnd(),this.snapForwardTime&&this.snapForwardTime>this.vjsPlayer.currentTime()&&(this.vjsPlayer.currentTime(this.snapForwardTime),this.snapForwardTime=0)}},pt.prototype.loadUrl=function(t){this.vjsPlayer.ready(function(){var e=this.daiController.getSettings().streamFormat;this.vjsPlayer.src({src:t,type:this.SOURCE_TYPES[e]});var n=this.daiController.getSettings().bookmarkTime;if(n){var i=this.streamManager.streamTimeForContentTime(n);this.isSnapback=!0,this.vjsPlayer.currentTime(i)}}.bind(this))},pt.prototype.requestStream=function(){var t,e=this.daiController.getSettings().streamType;if("vod"===e?((t=new google.ima.dai.api.VODStreamRequest).contentSourceId=this.daiController.getSettings().cmsId,t.videoId=this.daiController.getSettings().videoId):"live"===e?(t=new google.ima.dai.api.LiveStreamRequest).assetKey=this.daiController.getSettings().assetKey:window.console.warn("No valid stream type selected"),t.format=this.daiController.getSettings().streamFormat,this.daiController.getSettings().apiKey&&(t.apiKey=this.daiController.getSettings().apiKey),this.daiController.getSettings().authToken&&(t.authToken=this.daiController.getSettings().authToken),this.daiController.getSettings().adTagParameters&&(t.adTagParameters=this.daiController.getSettings().adTagParameters),this.daiController.getSettings().streamActivityMonitorId&&(t.streamActivityMonitorId=this.daiController.getSettings().streamActivityMonitorId),this.daiController.getSettings().omidMode){t.omidAccessModeRules={};var n=this.daiController.getSettings().omidMode;n.FULL&&(t.omidAccessModeRules[google.ima.OmidAccessMode.FULL]=n.FULL),n.DOMAIN&&(t.omidAccessModeRules[google.ima.OmidAccessMode.DOMAIN]=n.DOMAIN),n.LIMITED&&(t.omidAccessModeRules[google.ima.OmidAccessMode.LIMITED]=n.LIMITED)}this.streamManager.requestStream(t),this.vjsPlayer.trigger({type:"stream-request",StreamRequest:t})},pt.prototype.onPlayerReady=function(){this.initImaDai()},pt.prototype.onPlayerDisposed=function(){this.streamManager&&this.streamManager.reset()},pt.prototype.getStreamManager=function(){return this.StreamManager},pt.prototype.reset=function(){this.StreamManager&&this.StreamManager.reset()};var gt=function(t,e){this.inAdBreak=!1,this.settings={},this.isMobile=navigator.userAgent.match(/iPhone/i)||navigator.userAgent.match(/iPad/i)||navigator.userAgent.match(/Android/i),this.isIos=navigator.userAgent.match(/iPhone/i)||navigator.userAgent.match(/iPad/i),this.initWithSettings(e);var n={debug:this.settings.debug,timeout:this.settings.timeout,prerollTimeout:this.settings.prerollTimeout},i=Object.assign({},n,e.contribAdsSettings||{});this.playerWrapper=new ct(t,i,this),this.sdkImpl=new pt(this)};gt.IMA_DEFAULTS={adLabel:"Advertisement",adLabelNofN:"of",debug:!1,disableAdControls:!1,showControlsForJSAds:!0},gt.prototype.initWithSettings=function(t){this.settings=Object.assign({},gt.IMA_DEFAULTS,t||{}),this.warnAboutDeprecatedSettings(),this.showCountdown=!0,!1===this.settings.showCountdown&&(this.showCountdown=!1)},gt.prototype.warnAboutDeprecatedSettings=function(){var t=this;[].forEach((function(e){void 0!==t.settings[e]&&console.warn("WARNING: videojs.imaDai setting "+e+" is deprecated")}))},gt.prototype.getSettings=function(){return this.settings},gt.prototype.getIsMobile=function(){return this.isMobile},gt.prototype.getIsIos=function(){return this.isIos},gt.prototype.getStreamPlayer=function(){return this.playerWrapper.getStreamPlayer()},gt.prototype.getVjsPlayer=function(){return this.playerWrapper.getVjsPlayer()},gt.prototype.requestStream=function(){this.sdkImpl.requestStream()},gt.prototype.setSetting=function(t,e){this.settings[t]=e},gt.prototype.onErrorLoadingAds=function(t){this.playerWrapper.onAdError(t)},gt.prototype.onAdError=function(t){this.playerWrapper.onAdError(t)},gt.prototype.onAdBreakStart=function(){this.inAdBreak=!0,this.playerWrapper.onAdBreakStart()},gt.prototype.onAdBreakEnd=function(){this.inAdBreak=!1,this.playerWrapper.onAdBreakEnd()},gt.prototype.onPlayerDisposed=function(){this.contentAndAdsEndedListeners=[],this.sdkImpl.onPlayerDisposed()},gt.prototype.isInAdBreak=function(){return this.inAdBreak},gt.prototype.onSeekEnd=function(t){this.sdkImpl.onSeekEnd(t)},gt.prototype.onPlayerReady=function(){this.sdkImpl.onPlayerReady()},gt.prototype.reset=function(){this.sdkImpl.reset(),this.playerWrapper.reset()},gt.prototype.addEventListener=function(t,e){this.sdkImpl.addEventListener(t,e)},gt.prototype.getStreamManager=function(){return this.sdkImpl.getStreamManager()},gt.prototype.getPlayerId=function(){return this.playerWrapper.getPlayerId()},gt.prototype.streamWillAutoplay=function(){return void 0!==this.settings.streamWillAutoplay?this.settings.streamWillAutoplay:!!this.playerWrapper.getPlayerOptions().autoplay},gt.prototype.triggerPlayerEvent=function(t,e){this.playerWrapper.triggerPlayerEvent(t,e)};var yt=function(t,e){this.controller=new ut(t,e),this.addContentAndAdsEndedListener=function(t){this.controller.addContentAndAdsEndedListener(t)}.bind(this),this.addContentEndedListener=function(t){this.controller.addContentEndedListener(t)}.bind(this),this.addEventListener=function(t,e){this.controller.addEventListener(t,e)}.bind(this),this.changeAdTag=function(t){this.controller.changeAdTag(t)}.bind(this),this.getAdsManager=function(){return this.controller.getAdsManager()}.bind(this),this.initializeAdDisplayContainer=function(){this.controller.initializeAdDisplayContainer()}.bind(this),this.pauseAd=function(){this.controller.pauseAd()}.bind(this),this.playAdBreak=function(){this.controller.playAdBreak()}.bind(this),this.requestAds=function(){this.controller.requestAds()}.bind(this),this.resumeAd=function(){this.controller.resumeAd()}.bind(this),this.setAdBreakReadyListener=function(t){this.controller.setAdBreakReadyListener(t)}.bind(this),this.setContentWithAdTag=function(t,e){this.controller.setContentWithAdTag(t,e)}.bind(this),this.setContentWithAdsResponse=function(t,e){this.controller.setContentWithAdsResponse(t,e)}.bind(this),this.setContentWithAdsRequest=function(t,e){this.controller.setContentWithAdsRequest(t,e)}.bind(this),this.setShowCountdown=function(t){this.controller.setShowCountdown(t)}.bind(this)},mt=function(t,e){this.controller=new gt(t,e),this.streamEndedListener=function(t){this.controller.addStreamEndedListener(t)}.bind(this),this.addEventListener=function(t,e){this.controller.addEventListener(t,e)}.bind(this),this.getStreamManager=function(){return this.controller.getStreamManager()}.bind(this)},ft=rt((function t(e,n){it(this,t),"hls"===(e=e.toLowerCase())||"dash"===e?"dash"!==e?"string"==typeof n?(this.streamFormat=e,this.assetKey=n):window.console.error("assetKey error: value must be string."):window.console.error("streamFormat error: DASH streams are notcurrently supported by this plugin."):window.console.error("VodStream error: incorrect streamFormat.")})),vt=rt((function t(e,n,i){it(this,t),"hls"===(e=e.toLowerCase())||"dash"===e?"dash"!==e?"string"==typeof n?"string"==typeof i?(this.streamFormat=e,this.cmsId=n,this.videoId=i):window.console.error("videoId error: value must be string."):window.console.error("cmsId error: value must be string."):window.console.error("streamFormat error: DASH streams are notcurrently supported by this plugin."):window.console.error("VodStream error: incorrect streamFormat.")})),Pt=o().registerPlugin||o().plugin;Pt("ima",(function(t){this.ima=new yt(this,t)})),Pt("imaDai",(function(t,e){if(t instanceof ft)e.streamType="live",e.assetKey=t.assetKey;else{if(!(t instanceof vt))return void window.console.error("initDai() first parameter must be an instance of LiveStream or VodStream.");e.streamType="vod",e.cmsId=t.cmsId,e.videoId=t.videoId}e.streamFormat=t.streamFormat,this.imaDai=new mt(this,e)}))},7509:(t,e,n)=>{var i,o=void 0!==n.g?n.g:"undefined"!=typeof window?window:{},r=n(4626);"undefined"!=typeof document?i=document:(i=o["__GLOBAL_DOCUMENT_CACHE@4"])||(i=o["__GLOBAL_DOCUMENT_CACHE@4"]=r),t.exports=i},5204:(t,e,n)=>{var i;i="undefined"!=typeof window?window:void 0!==n.g?n.g:"undefined"!=typeof self?self:{},t.exports=i},4626:()=>{}}]);
2
- //# sourceMappingURL=ima.light.min.js.map