(this.webpackJsonpLivePlayer=this.webpackJsonpLivePlayer||[]).push([[0],{1:function(e,t,r){!function(Qi){e.exports=function(){"use strict";function M(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);if(e)n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable});r.push.apply(r,n)}return r}function F(t){for(var e=1;ee.length)t=e.length;for(var r=0,n=new Array(t);r=e.length)return{done:true};return{done:false,value:e[n++]}},e:function(e){throw e},f:i}}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 a=true,s=false,o;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();a=e.done;return e},e:function(e){s=true;o=e},f:function(){try{if(!a&&r.return!=null)r.return()}finally{if(s)throw o}}}}if(!Array.prototype.find)Object.defineProperty(Array.prototype,"find",{value:function e(t){if(this==null)throw new TypeError('"this" is null or not defined');var r=Object(this);var n=r.length>>>0;if(typeof t!=="function")throw new TypeError("predicate must be a function");var i=arguments[1];var a=0;while(a>>0;if(typeof t!=="function")throw new TypeError("predicate must be a function");var i=arguments[1];var a=0;while(a]*>/,B=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,U=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,h=/^(?:body|html)$/i,j=/([A-Z])/g,V=["val","css","html","text","data","width","height","offset"],G=["after","prepend","before","append"],e=c.createElement("table"),r=c.createElement("tr"),p={tr:c.createElement("tbody"),tbody:e,thead:e,tfoot:e,td:r,th:r,"*":c.createElement("div")},K=/complete|loaded|interactive/,Y=/^[\w-]*$/,v={},H=v.toString,g={},A,m,y=c.createElement("div"),E={tabindex:"tabIndex",readonly:"readOnly",for:"htmlFor",class:"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},b=Array.isArray||function(e){return e instanceof Array};g.matches=function(e,t){if(!t||!e||e.nodeType!==1)return false;var r=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.matchesSelector;if(r)return r.call(e,t);var n,i=e.parentNode,a=!i;if(a)(i=y).appendChild(e);n=~g.qsa(i,t).indexOf(e);a&&y.removeChild(e);return n};function k(e){return e==null?String(e):v[H.call(e)]||"object"}function _(e){return k(e)=="function"}function T(e){return e!=null&&e==e.window}function S(e){return e!=null&&e.nodeType==e.DOCUMENT_NODE}function C(e){return k(e)=="object"}function R(e){return C(e)&&!T(e)&&Object.getPrototypeOf(e)==Object.prototype}function w(e){var t=!!e&&"length"in e&&e.length,r=u.type(e);return"function"!=r&&!T(e)&&("array"==r||t===0||typeof t=="number"&&t>0&&t-1 in e)}function z(e){return a.call(e,function(e){return e!=null})}function $(e){return e.length>0?u.fn.concat.apply([],e):e}A=function(e){return e.replace(/-+(.)?/g,function(e,t){return t?t.toUpperCase():""})};function O(e){return e.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}m=function(r){return a.call(r,function(e,t){return r.indexOf(e)==t})};function L(e){return e in t?t[e]:t[e]=new RegExp("(^|\\s)"+e+"(\\s|$)")}function I(e,t){return typeof t=="number"&&!F[O(e)]?t+"px":t}function W(e){var t,r;if(!d[e]){t=c.createElement(e);c.body.appendChild(t);r=getComputedStyle(t,"").getPropertyValue("display");t.parentNode.removeChild(t);r=="none"&&(r="block");d[e]=r}return d[e]}function q(e){return"children"in e?o.call(e.children):u.map(e.childNodes,function(e){if(e.nodeType==1)return e})}function X(e,t){var r,n=e?e.length:0;for(r=0;r");if(t===l)t=f.test(e)&&RegExp.$1;if(!(t in p))t="*";a=p[t];a.innerHTML=""+e;n=u.each(o.call(a.childNodes),function(){a.removeChild(this)})}if(R(r)){i=u(n);u.each(r,function(e,t){if(V.indexOf(e)>-1)i[e](t);else i.attr(e,t)})}return n};g.Z=function(e,t){return new X(e,t)};g.isZ=function(e){return e instanceof g.Z};g.init=function(e,t){var r;if(!e)return g.Z();else if(typeof e=="string"){e=e.trim();if(e[0]=="<"&&f.test(e))r=g.fragment(e,RegExp.$1,t),e=null;else if(t!==l)return u(t).find(e);else r=g.qsa(c,e)}else if(_(e))return u(c).ready(e);else if(g.isZ(e))return e;else if(b(e))r=z(e);else if(C(e))r=[e],e=null;else if(f.test(e))r=g.fragment(e.trim(),RegExp.$1,t),e=null;else if(t!==l)return u(t).find(e);else r=g.qsa(c,e);return g.Z(r,e)};u=function(e,t){return g.init(e,t)};function Z(e,t,r){for(s in t)if(r&&(R(t[s])||b(t[s]))){if(R(t[s])&&!R(e[s]))e[s]={};if(b(t[s])&&!b(e[s]))e[s]=[];Z(e[s],t[s],r)}else if(t[s]!==l)e[s]=t[s]}u.extend=function(t){var r,e=o.call(arguments,1);if(typeof t=="boolean"){r=t;t=e.shift()}e.forEach(function(e){Z(t,e,r)});return t};g.qsa=function(e,t){var r,n=t[0]=="#",i=!n&&t[0]==".",a=n||i?t.slice(1):t,s=Y.test(a);return e.getElementById&&s&&n?(r=e.getElementById(a))?[r]:[]:e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11?[]:o.call(s&&!n&&e.getElementsByClassName?i?e.getElementsByClassName(a):e.getElementsByTagName(t):e.querySelectorAll(t))};function D(e,t){return t==null?u(e):u(e).filter(t)}u.contains=c.documentElement.contains?function(e,t){return e!==t&&e.contains(t)}:function(e,t){while(t&&(t=t.parentNode))if(t===e)return true;return false};function P(e,t,r,n){return _(t)?t.call(e,r,n):t}function N(e,t,r){r==null?e.removeAttribute(t):e.setAttribute(t,r)}function x(e,t){var r=e.className||"",n=r&&r.baseVal!==l;if(t===l)return n?r.baseVal:r;n?r.baseVal=t:e.className=t}function Q(t){try{return t?t=="true"||(t=="false"?false:t=="null"?null:+t+""==t?+t:/^[\[\{]/.test(t)?u.parseJSON(t):t):t}catch(e){return t}}u.type=k;u.isFunction=_;u.isWindow=T;u.isArray=b;u.isPlainObject=R;u.isEmptyObject=function(e){var t;for(t in e)return false;return true};u.isNumeric=function(e){var t=Number(e),r=typeof e;return e!=null&&r!="boolean"&&(r!="string"||e.length)&&!isNaN(t)&&isFinite(t)||false};u.inArray=function(e,t,r){return n.indexOf.call(t,e,r)};u.camelCase=A;u.trim=function(e){return e==null?"":String.prototype.trim.call(e)};u.uuid=0;u.support={};u.expr={};u.noop=function(){};u.map=function(e,t){var r,n=[],i,a;if(w(e))for(i=0;i=0?e:e+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){if(this.parentNode!=null)this.parentNode.removeChild(this)})},each:function(r){n.every.call(this,function(e,t){return r.call(e,t,e)!==false});return this},filter:function(t){if(_(t))return this.not(this.not(t));return u(a.call(this,function(e){return g.matches(e,t)}))},add:function(e,t){return u(m(this.concat(u(e,t))))},is:function(e){return this.length>0&&g.matches(this[0],e)},not:function(t){var r=[];if(_(t)&&t.call!==l)this.each(function(e){if(!t.call(this,e))r.push(this)});else{var n=typeof t=="string"?this.filter(t):w(t)&&_(t.item)?o.call(t):u(t);this.forEach(function(e){if(n.indexOf(e)<0)r.push(e)})}return u(r)},has:function(e){return this.filter(function(){return C(e)?u.contains(this,e):u(this).find(e).size()})},eq:function(e){return e===-1?this.slice(e):this.slice(e,+e+1)},first:function(){var e=this[0];return e&&!C(e)?e:u(e)},last:function(){var e=this[this.length-1];return e&&!C(e)?e:u(e)},find:function(e){var t,r=this;if(!e)t=u();else if(typeof e=="object")t=u(e).filter(function(){var t=this;return n.some.call(r,function(e){return u.contains(e,t)})});else if(this.length==1)t=u(g.qsa(this[0],e));else t=this.map(function(){return g.qsa(this,e)});return t},closest:function(r,n){var i=[],a=typeof r=="object"&&u(r);this.each(function(e,t){while(t&&!(a?a.indexOf(t)>=0:g.matches(t,r)))t=t!==n&&!S(t)&&t.parentNode;if(t&&i.indexOf(t)<0)i.push(t)});return u(i)},parents:function(e){var t=[],r=this;while(r.length>0)r=u.map(r,function(e){if((e=e.parentNode)&&!S(e)&&t.indexOf(e)<0){t.push(e);return e}});return D(t,e)},parent:function(e){return D(m(this.pluck("parentNode")),e)},children:function(e){return D(this.map(function(){return q(this)}),e)},contents:function(){return this.map(function(){return this.contentDocument||o.call(this.childNodes)})},siblings:function(e){return D(this.map(function(e,t){return a.call(q(t.parentNode),function(e){return e!==t})}),e)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(t){return u.map(this,function(e){return e[t]})},show:function(){return this.each(function(){this.style.display=="none"&&(this.style.display="");if(getComputedStyle(this,"").getPropertyValue("display")=="none")this.style.display=W(this.nodeName)})},replaceWith:function(e){return this.before(e).remove()},wrap:function(t){var r=_(t);if(this[0]&&!r)var n=u(t).get(0),i=n.parentNode||this.length>1;return this.each(function(e){u(this).wrapAll(r?t.call(this,e):i?n.cloneNode(true):n)})},wrapAll:function(e){if(this[0]){u(this[0]).before(e=u(e));var t;while((t=e.children()).length)e=t.first();u(e).append(this)}return this},wrapInner:function(i){var a=_(i);return this.each(function(e){var t=u(this),r=t.contents(),n=a?i.call(this,e):i;r.length?r.wrapAll(n):t.append(n)})},unwrap:function(){this.parent().each(function(){u(this).replaceWith(u(this).children())});return this},clone:function(){return this.map(function(){return this.cloneNode(true)})},hide:function(){return this.css("display","none")},toggle:function(t){return this.each(function(){var e=u(this);(t===l?e.css("display")=="none":t)?e.show():e.hide()})},prev:function(e){return u(this.pluck("previousElementSibling")).filter(e||"*")},next:function(e){return u(this.pluck("nextElementSibling")).filter(e||"*")},html:function(r){return 0 in arguments?this.each(function(e){var t=this.innerHTML;u(this).empty().append(P(this,r,e,t))}):0 in this?this[0].innerHTML:null},text:function(r){return 0 in arguments?this.each(function(e){var t=P(this,r,e,this.textContent);this.textContent=t==null?"":""+t}):0 in this?this.pluck("textContent").join(""):null},attr:function(t,r){var e;return typeof t=="string"&&!(1 in arguments)?0 in this&&this[0].nodeType==1&&(e=this[0].getAttribute(t))!=null?e:l:this.each(function(e){if(this.nodeType!==1)return;if(C(t))for(s in t)N(this,s,t[s]);else N(this,t,P(this,r,e,this.getAttribute(t)))})},removeAttr:function(e){return this.each(function(){this.nodeType===1&&e.split(" ").forEach(function(e){N(this,e)},this)})},prop:function(t,r){t=E[t]||t;return 1 in arguments?this.each(function(e){this[t]=P(this,r,e,this[t])}):this[0]&&this[0][t]},removeProp:function(e){e=E[e]||e;return this.each(function(){delete this[e]})},data:function(e,t){var r="data-"+e.replace(j,"-$1").toLowerCase();var n=1 in arguments?this.attr(r,t):this.attr(r);return n!==null?Q(n):l},val:function(t){if(0 in arguments){if(t==null)t="";return this.each(function(e){this.value=P(this,t,e,this.value)})}else return this[0]&&(this[0].multiple?u(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value)},offset:function(a){if(a)return this.each(function(e){var t=u(this),r=P(this,a,e,t.offset()),n=t.offsetParent().offset(),i={top:r.top-n.top,left:r.left-n.left};if(t.css("position")=="static")i["position"]="relative";t.css(i)});if(!this.length)return null;if(c.documentElement!==this[0]&&!u.contains(c.documentElement,this[0]))return{top:0,left:0};var e=this[0].getBoundingClientRect();return{left:e.left+window.pageXOffset,top:e.top+window.pageYOffset,width:Math.round(e.width),height:Math.round(e.height)}},css:function(e,t){if(arguments.length<2){var r=this[0];if(typeof e=="string"){if(!r)return;return r.style[A(e)]||getComputedStyle(r,"").getPropertyValue(e)}else if(b(e)){if(!r)return;var n={};var i=getComputedStyle(r,"");u.each(e,function(e,t){n[t]=r.style[A(t)]||i.getPropertyValue(t)});return n}}var a="";if(k(e)=="string")if(!t&&t!==0)this.each(function(){this.style.removeProperty(O(e))});else a=O(e)+":"+I(e,t);else for(s in e)if(!e[s]&&e[s]!==0)this.each(function(){this.style.removeProperty(O(s))});else a+=O(s)+":"+I(s,e[s])+";";return this.each(function(){this.style.cssText+=";"+a})},index:function(e){return e?this.indexOf(u(e)[0]):this.parent().children().indexOf(this[0])},hasClass:function(e){if(!e)return false;return n.some.call(this,function(e){return this.test(x(e))},L(e))},addClass:function(n){if(!n)return this;return this.each(function(e){if(!("className"in this))return;i=[];var t=x(this),r=P(this,n,e,t);r.split(/\s+/g).forEach(function(e){if(!u(this).hasClass(e))i.push(e)},this);i.length&&x(this,t+(t?" ":"")+i.join(" "))})},removeClass:function(t){return this.each(function(e){if(!("className"in this))return;if(t===l)return x(this,"");i=x(this);P(this,t,e,i).split(/\s+/g).forEach(function(e){i=i.replace(L(e)," ")});x(this,i.trim())})},toggleClass:function(n,i){if(!n)return this;return this.each(function(e){var t=u(this),r=P(this,n,e,x(this));r.split(/\s+/g).forEach(function(e){(i===l?!t.hasClass(e):i)?t.addClass(e):t.removeClass(e)})})},scrollTop:function(e){if(!this.length)return;var t="scrollTop"in this[0];if(e===l)return t?this[0].scrollTop:this[0].pageYOffset;return this.each(t?function(){this.scrollTop=e}:function(){this.scrollTo(this.scrollX,e)})},scrollLeft:function(e){if(!this.length)return;var t="scrollLeft"in this[0];if(e===l)return t?this[0].scrollLeft:this[0].pageXOffset;return this.each(t?function(){this.scrollLeft=e}:function(){this.scrollTo(e,this.scrollY)})},position:function(){if(!this.length)return;var e=this[0],t=this.offsetParent(),r=this.offset(),n=h.test(t[0].nodeName)?{top:0,left:0}:t.offset();r.top-=parseFloat(u(e).css("margin-top"))||0;r.left-=parseFloat(u(e).css("margin-left"))||0;n.top+=parseFloat(u(t[0]).css("border-top-width"))||0;n.left+=parseFloat(u(t[0]).css("border-left-width"))||0;return{top:r.top-n.top,left:r.left-n.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||c.body;while(e&&!h.test(e.nodeName)&&u(e).css("position")=="static")e=e.offsetParent;return e})}};u.fn.detach=u.fn.remove;["width","height"].forEach(function(n){var i=n.replace(/./,function(e){return e[0].toUpperCase()});u.fn[n]=function(t){var e,r=this[0];if(t===l)return T(r)?r["inner"+i]:S(r)?r.documentElement["scroll"+i]:(e=this.offset())&&e[n];else return this.each(function(e){r=u(this);r.css(n,P(this,t,e,r[n]()))})}});function J(e,t){t(e);for(var r=0,n=e.childNodes.length;r1;if(n.length<1)return this;return this.each(function(e,t){i=o?t:t.parentNode;t=s==0?t.nextSibling:s==1?t.firstChild:s==2?t:null;var r=u.contains(c.documentElement,i);n.forEach(function(e){if(a)e=e.cloneNode(true);else if(!i)return u(e).remove();i.insertBefore(e,t);if(r)J(e,function(e){if(e.nodeName!=null&&e.nodeName.toUpperCase()==="SCRIPT"&&(!e.type||e.type==="text/javascript")&&!e.src){var t=e.ownerDocument?e.ownerDocument.defaultView:window;t["eval"].call(t,e.innerHTML)}})})})};u.fn[o?t+"To":"insert"+(s?"Before":"After")]=function(e){u(e)[t](this);return this}});g.Z.prototype=X.prototype=u.fn;g.uniq=m;g.deserializeValue=Q;u.zepto=g;return u}(),v=(window.Zepto=e,window.$===undefined&&(window.$=e),e),ue=+new Date,ce=window.document,de,g,fe=/)<[^<]*)*<\/script>/gi,he=/^(?:text|application)\/javascript/i,pe=/^(?:text|application)\/xml/i,ve="application/json",ge="text/html",Ae=/^\s*$/,me=ce.createElement("a");function ye(e,t,r){var n=v.Event(t);v(e).trigger(n,r);return!n.isDefaultPrevented()}function Ee(e,t,r,n){if(e.global)return ye(t||ce,r,n)}function be(e){if(e.global&&v.active++===0)Ee(e,null,"ajaxStart")}function ke(e){if(e.global&&!--v.active)Ee(e,null,"ajaxStop")}function _e(e,t){var r=t.context;if(t.beforeSend.call(r,e,t)===false||Ee(t,r,"ajaxBeforeSend",[e,t])===false)return false;Ee(t,r,"ajaxSend",[e,t])}function Te(e,t,r,n){var i=r.context,a="success";r.success.call(i,e,a,t);if(n)n.resolveWith(i,[e,a,t]);Ee(r,i,"ajaxSuccess",[t,r,e]);Ce(a,t,r)}function Se(e,t,r,n,i){var a=n.context;n.error.call(a,r,t,e);if(i)i.rejectWith(a,[r,t,e]);Ee(n,a,"ajaxError",[r,n,e||t]);Ce(t,r,n)}function Ce(e,t,r){var n=r.context;r.complete.call(n,t,e);Ee(r,n,"ajaxComplete",[t,r]);ke(r)}function Re(e,t,r){if(r.dataFilter==A)return e;var n=r.context;return r.dataFilter.call(n,e,t)}function A(){}function we(e){if(e)e=e.split(";",2)[0];return e&&(e==ge?"html":e==ve?"json":he.test(e)?"script":pe.test(e)&&"xml")||"text"}function Oe(e,t){if(t=="")return e;return(e+"&"+t).replace(/[&?]{1,2}/,"?")}function Le(e){if(e.processData&&e.data&&v.type(e.data)!="string")e.data=v.param(e.data,e.traditional);if(e.data&&(!e.type||e.type.toUpperCase()=="GET"||"jsonp"==e.dataType))e.url=Oe(e.url,e.data),e.data=undefined}function Ie(e,t,r,n){if(v.isFunction(t))n=r,r=t,t=undefined;if(!v.isFunction(r))n=r,r=undefined;return{url:e,data:t,success:r,dataType:n}}me.href=window.location.href,v.active=0,v.ajaxJSONP=function(r,n){if(!("type"in r))return v.ajax(r);var e=r.jsonpCallback,i=(v.isFunction(e)?e():e)||"Zepto"+ue++,a=ce.createElement("script"),s=window[i],o,t=function(e){v(a).triggerHandler("error",e||"abort")},l={abort:t},u;if(n)n.promise(l);v(a).on("load error",function(e,t){clearTimeout(u);v(a).off().remove();if(e.type=="error"||!o)Se(null,t||"error",l,r,n);else Te(o[0],l,r,n);window[i]=s;if(o&&v.isFunction(s))s(o[0]);s=o=undefined});if(_e(l,r)===false){t("abort");return l}window[i]=function(){o=arguments};a.src=r.url.replace(/\?(.+)=\?/,"?$1="+i);ce.head.appendChild(a);if(r.timeout>0)u=setTimeout(function(){t("timeout")},r.timeout);return l},v.ajaxSettings={type:"GET",beforeSend:A,success:A,error:A,complete:A,context:null,global:true,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:ve,xml:"application/xml, text/xml",html:ge,text:"text/plain"},crossDomain:false,timeout:0,processData:true,cache:true,dataFilter:A},v.ajax=function(e){var r=v.extend({},e||{}),n=v.Deferred&&v.Deferred(),t,i;for(de in v.ajaxSettings)if(r[de]===undefined)r[de]=v.ajaxSettings[de];be(r);if(!r.crossDomain){t=ce.createElement("a");t.href=r.url;t.href=t.href;r.crossDomain=me.protocol+"//"+me.host!==t.protocol+"//"+t.host}if(!r.url)r.url=window.location.toString();if((i=r.url.indexOf("#"))>-1)r.url=r.url.slice(0,i);Le(r);var a=r.dataType,s=/\?.+=\?/.test(r.url);if(s)a="jsonp";if(r.cache===false||(!e||e.cache!==true)&&("script"==a||"jsonp"==a))r.url=Oe(r.url,"_="+Date.now());if("jsonp"==a){if(!s)r.url=Oe(r.url,r.jsonp?r.jsonp+"=?":r.jsonp===false?"":"callback=?");return v.ajaxJSONP(r,n)}var o=r.accepts[a],l={},u=function(e,t){l[e.toLowerCase()]=[e,t]},c=/^([\w-]+:)\/\//.test(r.url)?RegExp.$1:window.location.protocol,d=r.xhr(),f=d.setRequestHeader,h;if(n)n.promise(d);if(!r.crossDomain)u("X-Requested-With","XMLHttpRequest");u("Accept",o||"*/*");if(o=r.mimeType||o){if(o.indexOf(",")>-1)o=o.split(",",2)[0];d.overrideMimeType&&d.overrideMimeType(o)}if(r.contentType||r.contentType!==false&&r.data&&r.type.toUpperCase()!="GET")u("Content-Type",r.contentType||"application/x-www-form-urlencoded");if(r.headers)for(g in r.headers)u(g,r.headers[g]);d.setRequestHeader=u;d.onreadystatechange=function(){if(d.readyState==4){d.onreadystatechange=A;clearTimeout(h);var e,t=false;if(d.status>=200&&d.status<300||d.status==304||d.status==0&&c=="file:"){a=a||we(r.mimeType||d.getResponseHeader("content-type"));if(d.responseType=="arraybuffer"||d.responseType=="blob")e=d.response;else{e=d.responseText;try{e=Re(e,a,r);if(a=="script")(1,eval)(e);else if(a=="xml")e=d.responseXML;else if(a=="json")e=Ae.test(e)?null:v.parseJSON(e)}catch(e){t=e}if(t)return Se(t,"parsererror",d,r,n)}Te(e,d,r,n)}else Se(d.statusText||null,d.status?"error":"abort",d,r,n)}};if(_e(d,r)===false){d.abort();Se(null,"abort",d,r,n);return d}var p="async"in r?r.async:true;d.open(r.type,r.url,p,r.username,r.password);if(r.xhrFields)for(g in r.xhrFields)d[g]=r.xhrFields[g];for(g in l)f.apply(d,l[g]);if(r.timeout>0)h=setTimeout(function(){d.onreadystatechange=A;d.abort();Se(null,"timeout",d,r,n)},r.timeout);d.send(r.data?r.data:null);return d},v.get=function(){return v.ajax(Ie.apply(null,arguments))},v.post=function(){var e=Ie.apply(null,arguments);e.type="POST";return v.ajax(e)},v.getJSON=function(){var e=Ie.apply(null,arguments);e.dataType="json";return v.ajax(e)},v.fn.load=function(e,t,r){if(!this.length)return this;var n=this,i=e.split(/\s/),a,s=Ie(e,t,r),o=s.success;if(i.length>1)s.url=i[0],a=i[1];s.success=function(e){n.html(a?v("
").html(e.replace(fe,"")).find(a):e);o&&o.apply(n,arguments)};v.ajax(s);return this};var De=encodeURIComponent;function Pe(r,e,n,i){var a,s=v.isArray(e),o=v.isPlainObject(e);v.each(e,function(e,t){a=v.type(t);if(i)e=n?i:i+"["+(o||a=="object"||a=="array"?e:"")+"]";if(!i&&s)r.add(t.name,t.value);else if(a=="array"||!n&&a=="object")Pe(r,t,n,e);else r.add(e,t)})}v.param=function(e,t){var r=[];r.add=function(e,t){if(v.isFunction(t))t=t();if(t==null)t="";this.push(De(e)+"="+De(t))};Pe(r,e,t);return r.join("&").replace(/%20/g,"+")};var Ne=e,h=(Ne.Callbacks=function(n){n=Ne.extend({},n);var t,r,i,a,s,o,l=[],u=!n.once&&[],c=function(e){t=n.memory&&e;r=true;o=a||0;a=0;s=l.length;i=true;for(;l&&o-1){l.splice(r,1);if(i){if(r<=s)--s;if(r<=o)--o}}});return this},has:function(e){return!!(l&&(e?Ne.inArray(e,l)>-1:l.length))},empty:function(){s=l.length=0;return this},disable:function(){l=u=t=undefined;return this},disabled:function(){return!l},lock:function(){u=undefined;if(!t)d.disable();return this},locked:function(){return!u},fireWith:function(e,t){if(l&&(!r||u)){t=t||[];t=[e,t.slice?t.slice():t];if(i)u.push(t);else c(t)}return this},fire:function(){return d.fireWith(this,arguments)},fired:function(){return!!r}};return d},e),xe=Array.prototype.slice;function Me(e){var i=[["resolve","done",h.Callbacks({once:1,memory:1}),"resolved"],["reject","fail",h.Callbacks({once:1,memory:1}),"rejected"],["notify","progress",h.Callbacks({memory:1})]],a="pending",s={state:function(){return a},always:function(){o.done(arguments).fail(arguments);return this},then:function(){var t=arguments;return Me(function(a){h.each(i,function(e,n){var i=h.isFunction(t[e])&&t[e];o[n[1]](function(){var e=i&&i.apply(this,arguments);if(e&&h.isFunction(e.promise))e.promise().done(a.resolve).fail(a.reject).progress(a.notify);else{var t=this===s?a.promise():this,r=i?[e]:arguments;a[n[0]+"With"](t,r)}})});t=null}).promise()},promise:function(e){return e!=null?h.extend(e,s):s}},o={};h.each(i,function(e,t){var r=t[2],n=t[3];s[t[1]]=r.add;if(n)r.add(function(){a=n},i[e^1][2].disable,i[2][2].lock);o[t[0]]=function(){o[t[0]+"With"](this===o?s:this,arguments);return this};o[t[0]+"With"]=r.fireWith});s.promise(o);if(e)e.call(o,o);return o}h.when=function(e){var t=xe.call(arguments),r=t.length,n=0,i=r!==1||e&&h.isFunction(e.promise)?r:0,a=i===1?e:Me(),s,o,l,u=function(t,r,n){return function(e){r[t]=this;n[t]=arguments.length>1?xe.call(arguments):e;if(n===s)a.notifyWith(r,n);else if(!--i)a.resolveWith(r,n)}};if(r>1){s=new Array(r);o=new Array(r);l=new Array(r);for(;n-1)return this},has:function(e,t,r){if(lt.qsa(this,r).length)return this}},ht=new RegExp("(.*):(\\w+)(?:\\(([^)]+)\\))?$\\s*"),pt=/^\s*>/,vt="Zepto"+ +new Date;function gt(e,t){e=e.replace(/=#\]/g,'="#"]');var r,n,i=ht.exec(e);if(i&&i[2]in ft){r=ft[i[2]],n=i[3];e=i[1];if(n){var a=Number(n);if(isNaN(a))n=n.replace(/^["']|["']$/g,"");else n=a}}return t(e,r,n)}lt.qsa=function(a,s){return gt(s,function(e,r,n){try{var t;if(!e&&r)e="*";else if(pt.test(e))t=ot(a).addClass(vt),e="."+vt+" "+e;var i=ut(a,e)}catch(e){console.error("error performing selector: %o",s);throw e}finally{if(t)t.removeClass(vt)}return!r?i:lt.uniq(ot.map(i,function(e,t){return r.call(e,t,i,n)}))})},lt.matches=function(n,e){return gt(e,function(e,t,r){return(!e||ct(n,e))&&(!t||t.call(n,null,r)===n)})};var y=e,At=[{name:"Chromium",group:"Chrome",identifier:"Chromium/([0-9.]*)"},{name:"Chrome Mobile",group:"Chrome",identifier:"Chrome/([0-9.]*) Mobile",versionIdentifier:"Chrome/([0-9.]*)"},{name:"Chrome",group:"Chrome",identifier:"Chrome/([0-9.]*)"},{name:"Chrome for iOS",group:"Chrome",identifier:"CriOS/([0-9.]*)"},{name:"Android Browser",group:"Chrome",identifier:"CrMo/([0-9.]*)"},{name:"Firefox",group:"Firefox",identifier:"Firefox/([0-9.]*)"},{name:"Opera Mini",group:"Opera",identifier:"Opera Mini/([0-9.]*)"},{name:"Opera",group:"Opera",identifier:"Opera ([0-9.]*)"},{name:"Opera",group:"Opera",identifier:"Opera/([0-9.]*)",versionIdentifier:"Version/([0-9.]*)"},{name:"IEMobile",group:"Explorer",identifier:"IEMobile/([0-9.]*)"},{name:"Internet Explorer",group:"Explorer",identifier:"MSIE ([a-zA-Z0-9.]*)"},{name:"Internet Explorer",group:"Explorer",identifier:"Trident/([0-9.]*)",versionIdentifier:"rv:([0-9.]*)"},{name:"Spartan",group:"Spartan",identifier:"Edge/([0-9.]*)",versionIdentifier:"Edge/([0-9.]*)"},{name:"Safari",group:"Safari",identifier:"Safari/([0-9.]*)",versionIdentifier:"Version/([0-9.]*)"}],mt=[{name:"Windows 2000",group:"Windows",identifier:"Windows NT 5.0",version:"5.0"},{name:"Windows XP",group:"Windows",identifier:"Windows NT 5.1",version:"5.1"},{name:"Windows Vista",group:"Windows",identifier:"Windows NT 6.0",version:"6.0"},{name:"Windows 7",group:"Windows",identifier:"Windows NT 6.1",version:"7.0"},{name:"Windows 8",group:"Windows",identifier:"Windows NT 6.2",version:"8.0"},{name:"Windows 8.1",group:"Windows",identifier:"Windows NT 6.3",version:"8.1"},{name:"Windows 10",group:"Windows",identifier:"Windows NT 10.0",version:"10.0"},{name:"Windows Phone",group:"Windows Phone",identifier:"Windows Phone ([0-9.]*)"},{name:"Windows Phone",group:"Windows Phone",identifier:"Windows Phone OS ([0-9.]*)"},{name:"Windows",group:"Windows",identifier:"Windows"},{name:"Chrome OS",group:"Chrome OS",identifier:"CrOS"},{name:"Android",group:"Android",identifier:"Android",versionIdentifier:"Android ([a-zA-Z0-9.-]*)"},{name:"iPad",group:"iOS",identifier:"iPad",versionIdentifier:"OS ([0-9_]*)",versionSeparator:"[_|.]"},{name:"iPod",group:"iOS",identifier:"iPod",versionIdentifier:"OS ([0-9_]*)",versionSeparator:"[_|.]"},{name:"iPhone",group:"iOS",identifier:"iPhone OS",versionIdentifier:"OS ([0-9_]*)",versionSeparator:"[_|.]"},{name:"Mac OS X High Sierra",group:"Mac OS",identifier:"Mac OS X (10([_|.])13([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X Sierra",group:"Mac OS",identifier:"Mac OS X (10([_|.])12([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X El Capitan",group:"Mac OS",identifier:"Mac OS X (10([_|.])11([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X Yosemite",group:"Mac OS",identifier:"Mac OS X (10([_|.])10([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X Mavericks",group:"Mac OS",identifier:"Mac OS X (10([_|.])9([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X Mountain Lion",group:"Mac OS",identifier:"Mac OS X (10([_|.])8([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X Lion",group:"Mac OS",identifier:"Mac OS X (10([_|.])7([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X Snow Leopard",group:"Mac OS",identifier:"Mac OS X (10([_|.])6([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X Leopard",group:"Mac OS",identifier:"Mac OS X (10([_|.])5([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X Tiger",group:"Mac OS",identifier:"Mac OS X (10([_|.])4([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X Panther",group:"Mac OS",identifier:"Mac OS X (10([_|.])3([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X Jaguar",group:"Mac OS",identifier:"Mac OS X (10([_|.])2([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X Puma",group:"Mac OS",identifier:"Mac OS X (10([_|.])1([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X Cheetah",group:"Mac OS",identifier:"Mac OS X (10([_|.])0([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS",group:"Mac OS",identifier:"Mac OS"},{name:"Ubuntu",group:"Linux",identifier:"Ubuntu",versionIdentifier:"Ubuntu/([0-9.]*)"},{name:"Debian",group:"Linux",identifier:"Debian"},{name:"Gentoo",group:"Linux",identifier:"Gentoo"},{name:"Linux",group:"Linux",identifier:"Linux"},{name:"BlackBerry",group:"BlackBerry",identifier:"BlackBerry"}],E={},yt=function e(){try{localStorage.setItem("clappr","clappr");localStorage.removeItem("clappr");return true}catch(e){return false}},Et=function e(){try{var t=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");return!!t}catch(e){return!!(navigator.mimeTypes&&navigator.mimeTypes["application/x-shockwave-flash"]!==undefined&&navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)}},bt,kt=function e(){var t={};var r=E.userAgent.toLowerCase();var n=se(At),i;try{for(n.s();!(i=n.n()).done;){var a=i.value;var s=new RegExp(a.identifier.toLowerCase());var o=s.exec(r);if(o!=null&&o[1]){t.name=a.name;t.group=a.group;if(a.versionIdentifier){var l=new RegExp(a.versionIdentifier.toLowerCase());var u=l.exec(r);if(u!=null&&u[1])_t(u[1],t)}else _t(o[1],t);break}}}catch(e){n.e(e)}finally{n.f()}return t},_t=function e(t,r){var n=t.split(".",2);r.fullVersion=t;if(n[0])r.majorVersion=parseInt(n[0]);if(n[1])r.minorVersion=parseInt(n[1])},Tt=function e(){var t={};var r=E.userAgent.toLowerCase();var n=se(mt),i;try{for(n.s();!(i=n.n()).done;){var a=i.value;var s=new RegExp(a.identifier.toLowerCase());var o=s.exec(r);if(o!=null){t.name=a.name;t.group=a.group;if(a.version)St(a.version,a.versionSeparator?a.versionSeparator:".",t);else if(o[1])St(o[1],a.versionSeparator?a.versionSeparator:".",t);else if(a.versionIdentifier){var l=new RegExp(a.versionIdentifier.toLowerCase());var u=l.exec(r);if(u!=null&&u[1])St(u[1],a.versionSeparator?a.versionSeparator:".",t)}break}}}catch(e){n.e(e)}finally{n.f()}return t},St=function e(t,r,n){var i=r.substr(0,1)=="["?new RegExp(r,"g"):r;var a=t.split(i,2);if(r!=".")t=t.replace(new RegExp(r,"g"),".");n.fullVersion=t;if(a&&a[0])n.majorVersion=parseInt(a[0]);if(a&&a[1])n.minorVersion=parseInt(a[1])},Ct=function e(){var t={};t.width=y(window).width();t.height=y(window).height();return t},Rt=function e(){switch(window.orientation){case-90:case 90:E.viewport.orientation="landscape";break;default:E.viewport.orientation="portrait";break}},wt=function e(t){var r=/\((iP(?:hone|ad|od))?(?:[^;]*; ){0,2}([^)]+(?=\)))/;var n=r.exec(t);var i=n&&(n[1]||n[2])||"";return i},Ot=function e(t){var r=t.match(/\b(playstation 4|nx|opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i)||[],n;if(/trident/i.test(r[1])){n=/\brv[ :]+(\d+)/g.exec(t)||[];return{name:"IE",version:parseInt(n[1]||"")}}else if(r[1]==="Chrome"){n=t.match(/\bOPR\/(\d+)/);if(n!=null)return{name:"Opera",version:parseInt(n[1])};n=t.match(/\bEdge\/(\d+)/);if(n!=null)return{name:"Edge",version:parseInt(n[1])}}else if(/android/i.test(t)&&(n=t.match(/version\/(\d+)/i))){r.splice(1,1,"Android WebView");r.splice(2,1,n[1])}r=r[2]?[r[1],r[2]]:[navigator.appName,navigator.appVersion,"-?"];return{name:r[0],version:parseInt(r[1])}}(navigator.userAgent),Lt=(E.isEdge=/edge/i.test(navigator.userAgent),E.isChrome=/chrome|CriOS/i.test(navigator.userAgent)&&!E.isEdge,E.isSafari=/safari/i.test(navigator.userAgent)&&!E.isChrome&&!E.isEdge,E.isFirefox=/firefox/i.test(navigator.userAgent),E.isLegacyIE=!!window.ActiveXObject,E.isIE=E.isLegacyIE||/trident.*rv:1\d/i.test(navigator.userAgent),E.isIE11=/trident.*rv:11/i.test(navigator.userAgent),E.isChromecast=E.isChrome&&/CrKey/i.test(navigator.userAgent),E.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|Windows Phone|IEMobile|Mobile Safari|Opera Mini/i.test(navigator.userAgent),E.isiOS=/iPad|iPhone|iPod/i.test(navigator.userAgent),E.isAndroid=/Android/i.test(navigator.userAgent),E.isWindowsPhone=/Windows Phone/i.test(navigator.userAgent),E.isWin8App=/MSAppHost/i.test(navigator.userAgent),E.isWiiU=/WiiU/i.test(navigator.userAgent),E.isPS4=/PlayStation 4/i.test(navigator.userAgent),E.hasLocalstorage=yt(),E.hasFlash=Et(),E.name=Ot.name,E.version=Ot.version,E.userAgent=navigator.userAgent,E.data=kt(),E.os=Tt(),E.viewport=Ct(),E.device=wt(E.userAgent),typeof window.orientation!=="undefined"&&Rt(),{}),It=[],Dt=(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(e){window.setTimeout(e,1e3/60)}).bind(window),Pt=(window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.clearTimeout).bind(window);function Nt(e,t){if(t)for(var r in t){var n=Object.getOwnPropertyDescriptor(t,r);n?Object.defineProperty(e,r,n):e[r]=t[r]}return e}function xt(e,s){var t=function(e){d(a,e);var i=f(a);function a(){var e;u(this,a);for(var t=arguments.length,r=new Array(t),n=0;n0){s+=a+":";if(i<1)s+="00:"}if(i&&i>0||t)s+=("0"+i).slice(-2)+":";s+=("0"+n).slice(-2)+":";s+=("0"+r).slice(-2);return s.trim()}var Ft={fullscreenElement:function e(){return document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement},requestFullscreen:function e(t){if(t.requestFullscreen)return t.requestFullscreen();else if(t.webkitRequestFullscreen){if(typeof t.then==="function")return t.webkitRequestFullscreen();t.webkitRequestFullscreen()}else if(t.mozRequestFullScreen)return t.mozRequestFullScreen();else if(t.msRequestFullscreen)return t.msRequestFullscreen();else if(t.querySelector&&t.querySelector("video")&&t.querySelector("video").webkitEnterFullScreen)t.querySelector("video").webkitEnterFullScreen();else if(t.webkitEnterFullScreen)t.webkitEnterFullScreen()},cancelFullscreen:function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:document;if(t.exitFullscreen)t.exitFullscreen();else if(t.webkitCancelFullScreen)t.webkitCancelFullScreen();else if(t.webkitExitFullscreen)t.webkitExitFullscreen();else if(t.mozCancelFullScreen)t.mozCancelFullScreen();else if(t.msExitFullscreen)t.msExitFullscreen()},fullscreenEnabled:function e(){return!!(document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled)}},Bt=function(){function e(){u(this,e)}c(e,null,[{key:"_defaultConfig",value:function e(){return{volume:{value:100,parse:parseInt}}}},{key:"_defaultValueFor",value:function e(t){try{return this._defaultConfig()[t].parse(this._defaultConfig()[t].value)}catch(e){return undefined}}},{key:"_createKeyspace",value:function e(t){return"clappr.".concat(document.domain,".").concat(t)}},{key:"restore",value:function e(t){if(E.hasLocalstorage&&localStorage[this._createKeyspace(t)])return this._defaultConfig()[t].parse(localStorage[this._createKeyspace(t)]);return this._defaultValueFor(t)}},{key:"persist",value:function e(t,r){if(E.hasLocalstorage)try{localStorage[this._createKeyspace(t)]=r;return true}catch(e){return false}}}]);return e}(),Ut=function(){function e(){u(this,e)}c(e,null,[{key:"parse",value:function e(t){var r;var n=/\+/g,i=/([^&=]+)=?([^&]*)/g,a=function e(t){return decodeURIComponent(t.replace(n," "))},s={};while(r=i.exec(t))s[a(r[1]).toLowerCase()]=a(r[2]);return s}},{key:"params",get:function e(){var t=window.location.search.substring(1);if(t!==this.query){this._urlParams=this.parse(t);this.query=t}return this._urlParams}},{key:"hashParams",get:function e(){var t=window.location.hash.substring(1);if(t!==this.hash){this._hashParams=this.parse(t);this.hash=t}return this._hashParams}}]);return e}();function jt(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"t";var n=0;var t=Ut.params[e]||Ut.hashParams[e]||"";var r=t.match(/[0-9]+[hms]+/g)||[];if(r.length>0){var i={h:3600,m:60,s:1};r.forEach(function(e){if(e){var t=e[e.length-1];var r=parseInt(e.slice(0,e.length-1),10);n+=r*i[t]}})}else if(t)n=parseInt(t,10);return n}function Vt(e){Lt[e]||(Lt[e]=0);var t=++Lt[e];return e+t}function Gt(e){return e-parseFloat(e)+1>=0}function Kt(){var e=document.getElementsByTagName("script");return e.length?e[e.length-1].src:""}function Yt(){return window.navigator&&window.navigator.language}function Ht(){if(window.performance&&window.performance.now)return performance.now();return Date.now()}function zt(e,t){var r=e.indexOf(t);if(r>=0)e.splice(r,1)}function $t(t,e){if(t===undefined||e===undefined)return false;return e.find(function(e){return t.toLowerCase()===e.toLowerCase()})!==undefined}function Wt(n,e){e=Object.assign({inline:false,muted:false,timeout:250,type:"video",source:le.mp4,element:null},e);var t=e.element?e.element:document.createElement(e.type);t.muted=e.muted;if(e.muted===true)t.setAttribute("muted","muted");if(e.inline===true)t.setAttribute("playsinline","playsinline");t.src=e.source;var r=t.play();var i=setTimeout(function(){a(false,new Error("Timeout ".concat(e.timeout," ms has been reached")))},e.timeout);var a=function e(t){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;clearTimeout(i);n(t,r)};if(r!==undefined)r.then(function(){return a(true)})["catch"](function(e){return a(false,e)});else a(true)}var qt=function(){function e(){u(this,e)}c(e,null,[{key:"configure",value:function e(t){this.options=y.extend(true,this.options,t)}},{key:"create",value:function e(t){if(this.options.recycleVideo&&t==="video"&&It.length>0)return It.shift();return document.createElement(t)}},{key:"garbage",value:function e(t){if(!this.options.recycleVideo||t.tagName.toUpperCase()!=="VIDEO")return;y(t).children().remove();Object.values(t.attributes).forEach(function(e){return t.removeAttribute(e.name)});It.push(t)}}]);return e}(),Xt=(qt.options={recycleVideo:false},function(){function t(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:500;u(this,t);this.delay=e;this.lastTime=0}c(t,[{key:"handle",value:function e(t,r){var n=arguments.length>2&&arguments[2]!==undefined?arguments[2]:true;var i=(new Date).getTime();var a=i-this.lastTime;if(a0){r();n&&t.preventDefault()}this.lastTime=i}}]);return t}()),t={Config:Bt,Fullscreen:Ft,QueryString:Ut,DomRecycler:qt,assign:Nt,extend:xt,formatTime:Mt,seekStringToSeconds:jt,uniqueId:Vt,currentScriptUrl:Kt,isNumber:Gt,requestAnimationFrame:Dt,cancelAnimationFrame:Pt,getBrowserLanguage:Yt,now:Ht,removeArrayItem:zt,listContainsIgnoreCase:$t,canAutoPlayMedia:Wt,Media:le,DoubleEventHandler:Xt},Zt="font-weight: bold; font-size: 13px;",Qt,Jt,er="color: #ff8000;"+Zt,tr="color: #ff0000;"+Zt,rr=0,nr=1,ir=2,ar=3,sr=ar,or=["color: #0000ff;"+Zt,"color: #006600;"+Zt,er,tr,tr],lr=["debug","info","warn","error","disabled"],b=function(){c(r,[{key:"level",get:function e(){return this._level},set:function e(t){this._level=t}}]);function r(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:nr;var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:sr;u(this,r);this.EXCLUDE_LIST=["timeupdate","playback:timeupdate","playback:progress","container:hover","container:timeupdate","container:progress"];this.level=e;this.previousLevel=this.level;this.offLevel=t}c(r,[{key:"debug",value:function e(t){this.log(t,rr,Array.prototype.slice.call(arguments,1))}},{key:"info",value:function e(t){this.log(t,nr,Array.prototype.slice.call(arguments,1))}},{key:"warn",value:function e(t){this.log(t,ir,Array.prototype.slice.call(arguments,1))}},{key:"error",value:function e(t){this.log(t,ar,Array.prototype.slice.call(arguments,1))}},{key:"onOff",value:function e(){if(this.level===this.offLevel)this.level=this.previousLevel;else{this.previousLevel=this.level;this.level=this.offLevel}window.console&&window.console.log&&window.console.log("%c[Clappr.Log] set log level to "+lr[this.level],er)}},{key:"log",value:function e(t,r,n){if(this.EXCLUDE_LIST.indexOf(n[0])>=0)return;if(r0&&arguments[0]!==undefined?arguments[0]:{};u(this,n);e=r.call(this,t);e._options=t;e.uniqueId=Vt("o");return e}return n}(k)),pr={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},vr=/(.)^/,gr={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"},Ar=/\\|'|\r|\n|\t|\u2028|\u2029/g,mr={"&":"&","<":"<",">":">",'"':""","'":"'"},yr=new RegExp("[&<>\"']","g"),Er=function e(t){if(t===null)return"";return(""+t).replace(yr,function(e){return mr[e]})},br=0,_=function e(a,t){var r;var n=new RegExp([(pr.escape||vr).source,(pr.interpolate||vr).source,(pr.evaluate||vr).source].join("|")+"|$","g");var s=0;var o="__p+='";a.replace(n,function(e,t,r,n,i){o+=a.slice(s,i).replace(Ar,function(e){return"\\"+gr[e]});if(t)o+="'+\n((__t=("+t+"))==null?'':escapeExpr(__t))+\n'";if(r)o+="'+\n((__t=("+r+"))==null?'':__t)+\n'";if(n)o+="';\n"+n+"\n__p+='";s=i+e.length;return e});o+="';\n";if(!pr.variable)o="with(obj||{}){\n"+o+"}\n";o="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n//# sourceURL=/microtemplates/source["+br+++"]";try{r=new Function(pr.variable||"obj","escapeExpr",o)}catch(e){e.source=o;throw e}if(t)return r(t,Er);var i=function e(t){return r.call(this,t,Er)};i.source="function("+(pr.variable||"obj")+"){\n"+o+"}";return i},kr=(_.settings=pr,{getStyleFor:function e(t){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{baseUrl:""};return y('').html(_(t.toString())(r))}}),_r=/^(\S+)\s*(.*)$/,Tr=function(e){d(n,e);var r=f(n);c(n,[{key:"tagName",get:function e(){return"div"}},{key:"events",get:function e(){return{}}},{key:"attributes",get:function e(){return{}}}]);function n(e){var t;u(this,n);t=r.call(this,e);t.cid=Vt("c");t._ensureElement();t.delegateEvents();return t}c(n,[{key:"$",value:function e(t){return this.$el.find(t)}},{key:"render",value:function e(){return this}},{key:"destroy",value:function e(){this.$el.remove();this.stopListening();this.undelegateEvents();return this}},{key:"setElement",value:function e(t,r){if(this.$el)this.undelegateEvents();this.$el=y.zepto.isZ(t)?t:y(t);this.el=this.$el[0];if(r!==false)this.delegateEvents();return this}},{key:"delegateEvents",value:function e(t){if(!t)t=this.events;this.undelegateEvents();for(var r in t){var n=t[r];if(n&&n.constructor!==Function)n=this[t[r]];if(!n)continue;var i=r.match(_r);var a=i[1],s=i[2];a+=".delegateEvents"+this.cid;if(s==="")this.$el.on(a,n.bind(this));else this.$el.on(a,s,n.bind(this))}return this}},{key:"undelegateEvents",value:function e(){this.$el.off(".delegateEvents"+this.cid);return this}},{key:"_ensureElement",value:function e(){if(!this.el){var t=y.extend(true,{},this.attributes);if(this.id)t.id=this.id;if(this.className)t["class"]=this.className;var r=y(qt.create(this.tagName)).attr(t);this.setElement(r,false)}else this.setElement(this.el,false)}}]);return n}(r),T=function(e){d(i,e);var n=f(i);c(i,[{key:"name",get:function e(){return"error"}}],[{key:"Levels",get:function e(){return{FATAL:"FATAL",WARN:"WARN",INFO:"INFO"}}}]);function i(){var e;var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var r=arguments.length>1?arguments[1]:undefined;u(this,i);e=n.call(this,t);e.core=r;return e}c(i,[{key:"createError",value:function e(t){if(!this.core){b.warn(this.name,"Core is not set. Error: ",t);return}this.core.trigger(k.ERROR,t)}}]);return i}(r),n={createError:function e(t){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{useCodePrefix:true};var n=this.constructor&&this.constructor.type||"";var i=this.name||n;var a=this.i18n||this.core&&this.core.i18n||this.container&&this.container.i18n;var s="".concat(i,":").concat(t&&t.code||"unknown");var o={description:"",level:T.Levels.FATAL,origin:i,scope:n,raw:{}};var l=Object.assign({},o,t,{code:r.useCodePrefix?s:t.code});if(a&&l.level==T.Levels.FATAL&&!l.UI){var u={title:a.t("default_error_title"),message:a.t("default_error_message")};l.UI=u}this.playerError?this.playerError.createError(l):b.warn(i,"PlayerError is not defined. Error: ",l);return l}},i=function(e){d(n,e);var r=f(n);c(n,[{key:"playerError",get:function e(){return this.core.playerError}}]);function n(e){var t;u(this,n);t=r.call(this,e.options);t.core=e;t.enabled=true;t.bindEvents();t.render();return t}c(n,[{key:"bindEvents",value:function e(){}},{key:"getExternalInterface",value:function e(){return{}}},{key:"enable",value:function e(){if(!this.enabled){this.bindEvents();this.$el.show();this.enabled=true}}},{key:"disable",value:function e(){this.stopListening();this.$el.hide();this.enabled=false}},{key:"render",value:function e(){return this}}]);return n}(Tr),Sr=(Object.assign(i.prototype,n),i.extend=function(e){return xt(i,e)},i.type="core",".container[data-container] {\n position: absolute;\n background-color: black;\n height: 100%;\n width: 100%;\n max-width: 100%; }\n .container[data-container] .chromeless {\n cursor: default; }\n\n[data-player]:not(.nocursor) .container[data-container]:not(.chromeless).pointer-enabled {\n cursor: pointer; }\n"),Cr=function(e){d(a,e);var i=f(a);c(a,[{key:"name",get:function e(){return"Container"}},{key:"attributes",get:function e(){return{class:"container","data-container":""}}},{key:"events",get:function e(){return{click:"clicked",dblclick:"dblClicked",touchend:"dblTap",contextmenu:"onContextMenu",mouseenter:"mouseEnter",mouseleave:"mouseLeave",mouseup:"onMouseUp",mousedown:"onMouseDown"}}},{key:"ended",get:function e(){return this.playback.ended}},{key:"buffering",get:function e(){return this.playback.buffering}},{key:"i18n",get:function e(){return this._i18n}},{key:"hasClosedCaptionsTracks",get:function e(){return this.playback.hasClosedCaptionsTracks}},{key:"closedCaptionsTracks",get:function e(){return this.playback.closedCaptionsTracks}},{key:"closedCaptionsTrackId",get:function e(){return this.playback.closedCaptionsTrackId},set:function e(t){this.playback.closedCaptionsTrackId=t}}]);function a(e,t,r){var n;u(this,a);n=i.call(this,e);n._i18n=t;n.currentTime=0;n.volume=100;n.playback=e.playback;n.playerError=r;n.settings=y.extend(true,{},n.playback.settings);n.isReady=false;n.mediaControlDisabled=false;n.plugins=[n.playback];n.dblTapHandler=new Xt(500);n.clickTimer=null;n.clickDelay=200;n.bindEvents();return n}c(a,[{key:"bindEvents",value:function e(){this.listenTo(this.playback,k.PLAYBACK_PROGRESS,this.onProgress);this.listenTo(this.playback,k.PLAYBACK_TIMEUPDATE,this.timeUpdated);this.listenTo(this.playback,k.PLAYBACK_READY,this.ready);this.listenTo(this.playback,k.PLAYBACK_BUFFERING,this.onBuffering);this.listenTo(this.playback,k.PLAYBACK_BUFFERFULL,this.bufferfull);this.listenTo(this.playback,k.PLAYBACK_SETTINGSUPDATE,this.settingsUpdate);this.listenTo(this.playback,k.PLAYBACK_LOADEDMETADATA,this.loadedMetadata);this.listenTo(this.playback,k.PLAYBACK_HIGHDEFINITIONUPDATE,this.highDefinitionUpdate);this.listenTo(this.playback,k.PLAYBACK_BITRATE,this.updateBitrate);this.listenTo(this.playback,k.PLAYBACK_PLAYBACKSTATE,this.playbackStateChanged);this.listenTo(this.playback,k.PLAYBACK_DVR,this.playbackDvrStateChanged);this.listenTo(this.playback,k.PLAYBACK_MEDIACONTROL_DISABLE,this.disableMediaControl);this.listenTo(this.playback,k.PLAYBACK_MEDIACONTROL_ENABLE,this.enableMediaControl);this.listenTo(this.playback,k.PLAYBACK_SEEK,this.onSeek);this.listenTo(this.playback,k.PLAYBACK_SEEKED,this.onSeeked);this.listenTo(this.playback,k.PLAYBACK_ENDED,this.onEnded);this.listenTo(this.playback,k.PLAYBACK_PLAY,this.playing);this.listenTo(this.playback,k.PLAYBACK_PAUSE,this.paused);this.listenTo(this.playback,k.PLAYBACK_STOP,this.stopped);this.listenTo(this.playback,k.PLAYBACK_ERROR,this.error);this.listenTo(this.playback,k.PLAYBACK_SUBTITLE_AVAILABLE,this.subtitleAvailable);this.listenTo(this.playback,k.PLAYBACK_SUBTITLE_CHANGED,this.subtitleChanged)}},{key:"subtitleAvailable",value:function e(){this.trigger(k.CONTAINER_SUBTITLE_AVAILABLE)}},{key:"subtitleChanged",value:function e(t){this.trigger(k.CONTAINER_SUBTITLE_CHANGED,t)}},{key:"playbackStateChanged",value:function e(t){this.trigger(k.CONTAINER_PLAYBACKSTATE,t)}},{key:"playbackDvrStateChanged",value:function e(t){this.settings=this.playback.settings;this.dvrInUse=t;this.trigger(k.CONTAINER_PLAYBACKDVRSTATECHANGED,t)}},{key:"updateBitrate",value:function e(t){this.trigger(k.CONTAINER_BITRATE,t)}},{key:"statsReport",value:function e(t){this.trigger(k.CONTAINER_STATS_REPORT,t)}},{key:"getPlaybackType",value:function e(){return this.playback.getPlaybackType()}},{key:"isDvrEnabled",value:function e(){return!!this.playback.dvrEnabled}},{key:"isDvrInUse",value:function e(){return!!this.dvrInUse}},{key:"destroy",value:function e(){this.disableResizeObserver();this.trigger(k.CONTAINER_DESTROYED,this,this.name);this.stopListening();this.plugins.forEach(function(e){return e.destroy()});this.$el.remove()}},{key:"setStyle",value:function e(t){this.$el.css(t)}},{key:"animate",value:function e(t,r){return this.$el.animate(t,r).promise()}},{key:"ready",value:function e(){this.isReady=true;this.trigger(k.CONTAINER_READY,this.name)}},{key:"isPlaying",value:function e(){return this.playback.isPlaying()}},{key:"getStartTimeOffset",value:function e(){return this.playback.getStartTimeOffset()}},{key:"getCurrentTime",value:function e(){return this.currentTime}},{key:"getDuration",value:function e(){return this.playback.getDuration()}},{key:"error",value:function e(t){if(!this.isReady)this.ready();this.trigger(k.CONTAINER_ERROR,t,this.name)}},{key:"loadedMetadata",value:function e(t){this.trigger(k.CONTAINER_LOADEDMETADATA,t)}},{key:"timeUpdated",value:function e(t){this.currentTime=t.current;this.trigger(k.CONTAINER_TIMEUPDATE,t,this.name)}},{key:"onProgress",value:function e(){for(var t=arguments.length,r=new Array(t),n=0;n=0&&t<=100){var n=r*(t/100);this.seek(n)}}},{key:"setVolume",value:function e(t){this.volume=parseFloat(t);this.trigger(k.CONTAINER_VOLUME,this.volume,this.name);this.playback.volume(this.volume)}},{key:"fullscreen",value:function e(){this.trigger(k.CONTAINER_FULLSCREEN,this.name)}},{key:"onBuffering",value:function e(){this.trigger(k.CONTAINER_STATE_BUFFERING,this.name)}},{key:"bufferfull",value:function e(){this.trigger(k.CONTAINER_STATE_BUFFERFULL,this.name)}},{key:"addPlugin",value:function e(t){this.plugins.push(t)}},{key:"hasPlugin",value:function e(t){return!!this.getPlugin(t)}},{key:"getPlugin",value:function e(t){return this.plugins.filter(function(e){return e.name===t})[0]}},{key:"mouseEnter",value:function e(){if(!this.options.chromeless||this.options.allowUserInteraction)this.trigger(k.CONTAINER_MOUSE_ENTER)}},{key:"mouseLeave",value:function e(){if(!this.options.chromeless||this.options.allowUserInteraction)this.trigger(k.CONTAINER_MOUSE_LEAVE)}},{key:"mouseUp",value:function e(){if(!this.options.chromeless||this.options.allowUserInteraction)this.trigger(k.CONTAINER_MOUSE_UP)}},{key:"mouseDown",value:function e(){if(!this.options.chromeless||this.options.allowUserInteraction)this.trigger(k.CONTAINER_MOUSE_DOWN)}},{key:"settingsUpdate",value:function e(){this.settings=this.playback.settings;this.trigger(k.CONTAINER_SETTINGSUPDATE)}},{key:"highDefinitionUpdate",value:function e(t){this.trigger(k.CONTAINER_HIGHDEFINITIONUPDATE,t)}},{key:"isHighDefinitionInUse",value:function e(){return this.playback.isHighDefinitionInUse()}},{key:"disableMediaControl",value:function e(){if(!this.mediaControlDisabled){this.mediaControlDisabled=true;this.trigger(k.CONTAINER_MEDIACONTROL_DISABLE)}}},{key:"enableMediaControl",value:function e(){if(this.mediaControlDisabled){this.mediaControlDisabled=false;this.trigger(k.CONTAINER_MEDIACONTROL_ENABLE)}}},{key:"updateStyle",value:function e(){if(!this.options.chromeless||this.options.allowUserInteraction)this.$el.removeClass("chromeless");else this.$el.addClass("chromeless")}},{key:"enableResizeObserver",value:function e(){var t=this;this.disableResizeObserver();this.resizeObserverInterval=setInterval(function(){return t.checkResize()},500)}},{key:"disableResizeObserver",value:function e(){this.resizeObserverInterval&&clearInterval(this.resizeObserverInterval)}},{key:"checkResize",value:function e(){var t={width:this.el.clientWidth,height:this.el.clientHeight};var r=this.currentSize||{},n=r.width,i=r.height;var a=i!==t.height||n!==t.width;if(a){this.currentSize=t;this.trigger(k.CONTAINER_RESIZE,t)}}},{key:"configure",value:function e(t){this._options=y.extend(true,this._options,t);this.updateStyle();this.playback.configure(this.options);this.trigger(k.CONTAINER_OPTIONS_CHANGE)}},{key:"render",value:function e(){var t=kr.getStyleFor(Sr.toString(),{baseUrl:this.options.baseUrl});this.$el.append(t[0]);this.$el.append(this.playback.render().el);this.updateStyle();this.checkResize();this.enableResizeObserver();return this}}]);return a}(Tr),S=(Object.assign(Cr.prototype,n),function(e){d(a,e);var i=f(a);c(a,[{key:"isAudioOnly",get:function e(){return false}},{key:"isAdaptive",get:function e(){return false}},{key:"ended",get:function e(){return false}},{key:"i18n",get:function e(){return this._i18n}},{key:"buffering",get:function e(){return false}}]);function a(e,t,r){var n;u(this,a);n=i.call(this,e);n.settings={};n._i18n=t;n.playerError=r;n._consented=false;return n}c(a,[{key:"consent",value:function e(t){typeof t==="function"&&t()}},{key:"play",value:function e(){}},{key:"pause",value:function e(){}},{key:"stop",value:function e(){}},{key:"seek",value:function e(t){}},{key:"seekPercentage",value:function e(t){}},{key:"getStartTimeOffset",value:function e(){return 0}},{key:"getDuration",value:function e(){return 0}},{key:"isPlaying",value:function e(){return false}},{key:"getPlaybackType",value:function e(){return a.NO_OP}},{key:"isHighDefinitionInUse",value:function e(){return false}},{key:"mute",value:function e(){}},{key:"unmute",value:function e(){}},{key:"volume",value:function e(t){}},{key:"configure",value:function e(t){this._options=y.extend(true,this._options,t)}},{key:"attemptAutoPlay",value:function e(){var r=this;this.canAutoPlay(function(e,t){e&&r.play()})}},{key:"canAutoPlay",value:function e(t){t(true,null)}},{key:"isReady",get:function e(){return false}},{key:"hasClosedCaptionsTracks",get:function e(){return this.closedCaptionsTracks.length>0}},{key:"closedCaptionsTracks",get:function e(){return[]}},{key:"closedCaptionsTrackId",get:function e(){return-1},set:function e(t){}}]);return a}(Tr)),Rr=(Object.assign(S.prototype,n),S.extend=function(e){return xt(S,e)},S.canPlay=function(e,t){return false},S.VOD="vod",S.AOD="aod",S.LIVE="live",S.NO_OP="no_op",S.type="playback",function(e){d(s,e);var a=f(s);c(s,[{key:"options",get:function e(){return this._options},set:function e(t){this._options=t}}]);function s(e,t,r,n){var i;u(this,s);i=a.call(this,e);i._i18n=r;i.loader=t;i.playerError=n;return i}c(s,[{key:"createContainers",value:function e(){var t=this;return y.Deferred(function(e){e.resolve(t.options.sources.map(function(e){return t.createContainer(e)}))})}},{key:"findPlaybackPlugin",value:function e(t,r){return this.loader.playbackPlugins.filter(function(e){return e.canPlay(t,r)})[0]}},{key:"createContainer",value:function e(t){var r=null;var n=this.options.mimeType;if(U(t)==="object"){r=t.source.toString();if(t.mimeType)n=t.mimeType}else r=t.toString();if(r.match(/^\/\//))r=window.location.protocol+r;var i=K(K({},this.options),{},{src:r,mimeType:n});var a=this.findPlaybackPlugin(r,n);var s=a?new a(i,this._i18n,this.playerError):new S;i=K(K({},i),{},{playback:s});var o=new Cr(i,this._i18n,this.playerError);var l=y.Deferred();l.promise(o);this.addContainerPlugins(o);this.listenToOnce(o,k.CONTAINER_READY,function(){return l.resolve(o)});return o}},{key:"addContainerPlugins",value:function e(t){this.loader.containerPlugins.forEach(function(e){t.addPlugin(new e(t))})}}]);return s}(r)),wr='[data-player] {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n -o-user-select: none;\n user-select: none;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n transform: translate3d(0, 0, 0);\n position: relative;\n margin: 0;\n padding: 0;\n border: 0;\n font-style: normal;\n font-weight: normal;\n text-align: center;\n overflow: hidden;\n font-size: 100%;\n font-family: "Roboto", "Open Sans", Arial, sans-serif;\n text-shadow: 0 0 0;\n box-sizing: border-box; }\n [data-player]:focus {\n outline: 0; }\n [data-player] * {\n box-sizing: inherit; }\n [data-player] > * {\n float: none;\n max-width: none; }\n [data-player] > div {\n display: block; }\n [data-player].fullscreen {\n width: 100% !important;\n height: 100% !important;\n top: 0;\n left: 0; }\n [data-player].nocursor {\n cursor: none; }\n\n.clappr-style {\n display: none !important; }\n',Or='[data-player] div, [data-player] span, [data-player] applet, [data-player] object, [data-player] iframe,\n[data-player] h1, [data-player] h2, [data-player] h3, [data-player] h4, [data-player] h5, [data-player] h6, [data-player] p, [data-player] blockquote, [data-player] pre,\n[data-player] a, [data-player] abbr, [data-player] acronym, [data-player] address, [data-player] big, [data-player] cite, [data-player] code,\n[data-player] del, [data-player] dfn, [data-player] em, [data-player] img, [data-player] ins, [data-player] kbd, [data-player] q, [data-player] s, [data-player] samp,\n[data-player] small, [data-player] strike, [data-player] strong, [data-player] sub, [data-player] sup, [data-player] tt, [data-player] var,\n[data-player] b, [data-player] u, [data-player] i, [data-player] center,\n[data-player] dl, [data-player] dt, [data-player] dd, [data-player] ol, [data-player] ul, [data-player] li,\n[data-player] fieldset, [data-player] form, [data-player] label, [data-player] legend,\n[data-player] table, [data-player] caption, [data-player] tbody, [data-player] tfoot, [data-player] thead, [data-player] tr, [data-player] th, [data-player] td,\n[data-player] article, [data-player] aside, [data-player] canvas, [data-player] details, [data-player] embed,\n[data-player] figure, [data-player] figcaption, [data-player] footer, [data-player] header, [data-player] hgroup,\n[data-player] menu, [data-player] nav, [data-player] output, [data-player] ruby, [data-player] section, [data-player] summary,\n[data-player] time, [data-player] mark, [data-player] audio, [data-player] video {\n margin: 0;\n padding: 0;\n border: 0;\n font: inherit;\n font-size: 100%;\n vertical-align: baseline; }\n\n[data-player] table {\n border-collapse: collapse;\n border-spacing: 0; }\n\n[data-player] caption, [data-player] th, [data-player] td {\n text-align: left;\n font-weight: normal;\n vertical-align: middle; }\n\n[data-player] q, [data-player] blockquote {\n quotes: none; }\n [data-player] q:before, [data-player] q:after, [data-player] blockquote:before, [data-player] blockquote:after {\n content: "";\n content: none; }\n\n[data-player] a img {\n border: none; }\n',Lr=function(e){d(n,e);var r=f(n);c(n,[{key:"events",get:function e(){return{webkitfullscreenchange:"handleFullscreenChange",mousemove:"onMouseMove",mouseleave:"onMouseLeave"}}},{key:"attributes",get:function e(){return{"data-player":"",tabindex:9999}}},{key:"isReady",get:function e(){return!!this.ready}},{key:"i18n",get:function e(){return this.getPlugin("strings")||{t:function e(t){return t}}}},{key:"mediaControl",get:function e(){return this._mediaControl||(this._mediaControl=this.getPlugin("media_control"))||this.dummyMediaControl}},{key:"dummyMediaControl",get:function e(){if(this._dummyMediaControl)return this._dummyMediaControl;this._dummyMediaControl=new i(this);return this._dummyMediaControl}},{key:"activeContainer",get:function e(){return this._activeContainer},set:function e(t){this._activeContainer=t;this.trigger(k.CORE_ACTIVE_CONTAINER_CHANGED,this._activeContainer)}},{key:"activePlayback",get:function e(){return this.activeContainer&&this.activeContainer.playback}}]);function n(e){var t;u(this,n);t=r.call(this,e);t.playerError=new T(e,z(t));t.configureDomRecycler();t.firstResize=true;t.plugins=[];t.containers=[];t._boundFullscreenHandler=function(){return t.handleFullscreenChange()};y(document).bind("fullscreenchange",t._boundFullscreenHandler);y(document).bind("MSFullscreenChange",t._boundFullscreenHandler);y(document).bind("mozfullscreenchange",t._boundFullscreenHandler);E.isMobile&&y(window).bind("resize",function(e){t.handleWindowResize(e)});return t}c(n,[{key:"configureDomRecycler",value:function e(){var t=this.options&&this.options.playback&&this.options.playback.recycleVideo;qt.configure({recycleVideo:t})}},{key:"createContainers",value:function e(t){this.defer=y.Deferred();this.defer.promise(this);this.containerFactory=new Rr(t,t.loader,this.i18n,this.playerError);this.prepareContainers()}},{key:"prepareContainers",value:function e(){var t=this;this.containerFactory.createContainers().then(function(e){return t.setupContainers(e)}).then(function(e){return t.resolveOnContainersReady(e)})}},{key:"updateSize",value:function e(){this.isFullscreen()?this.setFullscreen():this.setPlayerSize()}},{key:"setFullscreen",value:function e(){if(!E.isiOS){this.$el.addClass("fullscreen");this.$el.removeAttr("style");this.previousSize={width:this.options.width,height:this.options.height};this.currentSize={width:y(window).width(),height:y(window).height()}}}},{key:"setPlayerSize",value:function e(){this.$el.removeClass("fullscreen");this.currentSize=this.previousSize;this.previousSize={width:y(window).width(),height:y(window).height()};this.resize(this.currentSize)}},{key:"resize",value:function e(t){if(!Gt(t.height)&&!Gt(t.width)){this.el.style.height="".concat(t.height);this.el.style.width="".concat(t.width)}else{this.el.style.height="".concat(t.height,"px");this.el.style.width="".concat(t.width,"px")}this.previousSize={width:this.options.width,height:this.options.height};this.options.width=t.width;this.options.height=t.height;this.currentSize=t;this.triggerResize(this.currentSize)}},{key:"enableResizeObserver",value:function e(){var t=this;this.disableResizeObserver();var r=function e(){t.triggerResize({width:t.el.clientWidth,height:t.el.clientHeight})};this.resizeObserverInterval=setInterval(r,500)}},{key:"triggerResize",value:function e(t){var r=this.firstResize||this.oldHeight!==t.height||this.oldWidth!==t.width;if(r){this.oldHeight=t.height;this.oldWidth=t.width;this.computedSize=t;this.firstResize=false;this.trigger(k.CORE_RESIZE,t)}}},{key:"disableResizeObserver",value:function e(){this.resizeObserverInterval&&clearInterval(this.resizeObserverInterval);this.resizeObserverInterval=null}},{key:"resolveOnContainersReady",value:function e(t){var r=this;y.when.apply(y,t).done(function(){r.defer.resolve(r);r.ready=true;r.trigger(k.CORE_READY)})}},{key:"addPlugin",value:function e(t){this.plugins.push(t)}},{key:"hasPlugin",value:function e(t){return!!this.getPlugin(t)}},{key:"getPlugin",value:function e(t){return this.plugins.filter(function(e){return e.name===t})[0]}},{key:"load",value:function e(t,r){this.options.mimeType=r;t=t&&t.constructor===Array?t:[t];this.options.sources=t;this.containers.forEach(function(e){return e.destroy()});this.containerFactory.options=y.extend(true,this.options,{sources:t});this.prepareContainers()}},{key:"destroy",value:function e(){this.disableResizeObserver();this.containers.forEach(function(e){return e.destroy()});this.plugins.forEach(function(e){return e.destroy()});this.$el.remove();y(document).unbind("fullscreenchange",this._boundFullscreenHandler);y(document).unbind("MSFullscreenChange",this._boundFullscreenHandler);y(document).unbind("mozfullscreenchange",this._boundFullscreenHandler);this.stopListening()}},{key:"handleFullscreenChange",value:function e(){this.trigger(k.CORE_FULLSCREEN,this.isFullscreen());this.updateSize()}},{key:"handleWindowResize",value:function e(t){var r=window.innerWidth>window.innerHeight?"landscape":"portrait";if(this._screenOrientation===r)return;this._screenOrientation=r;this.triggerResize({width:this.el.clientWidth,height:this.el.clientHeight});this.trigger(k.CORE_SCREEN_ORIENTATION_CHANGED,{event:t,orientation:this._screenOrientation})}},{key:"removeContainer",value:function e(t){this.stopListening(t);this.containers=this.containers.filter(function(e){return e!==t})}},{key:"setupContainer",value:function e(t){this.listenTo(t,k.CONTAINER_DESTROYED,this.removeContainer);this.containers.push(t)}},{key:"setupContainers",value:function e(t){t.forEach(this.setupContainer.bind(this));this.trigger(k.CORE_CONTAINERS_CREATED);this.renderContainers();this.activeContainer=t[0];this.render();this.appendToParent();return this.containers}},{key:"renderContainers",value:function e(){var t=this;this.containers.forEach(function(e){return t.el.appendChild(e.render().el)})}},{key:"createContainer",value:function e(t,r){var n=this.containerFactory.createContainer(t,r);this.setupContainer(n);this.el.appendChild(n.render().el);return n}},{key:"getCurrentContainer",value:function e(){return this.activeContainer}},{key:"getCurrentPlayback",value:function e(){return this.activePlayback}},{key:"getPlaybackType",value:function e(){return this.activeContainer&&this.activeContainer.getPlaybackType()}},{key:"isFullscreen",value:function e(){var t=Ft.fullscreenElement();if(!t)return false;var r=this.activePlayback&&this.activePlayback.el;return t===this.el||t===r}},{key:"toggleFullscreen",value:function e(){var t=this;if(this.isFullscreen()){Ft.cancelFullscreen();!E.isiOS&&this.$el.removeClass("fullscreen nocursor")}else{var r=E.isiOS?this.activePlayback&&this.activePlayback.el:this.el;if(!r)return;E.isSafari||E.isiOS?Ft.requestFullscreen(r):Ft.requestFullscreen(r).then(function(e){return e},function(e){return setTimeout(function(){if(!t.isFullscreen())throw new ReferenceError(e)},600)});!E.isiOS&&this.$el.addClass("fullscreen")}}},{key:"onMouseMove",value:function e(t){this.trigger(k.CORE_MOUSE_MOVE,t)}},{key:"onMouseLeave",value:function e(t){this.trigger(k.CORE_MOUSE_LEAVE,t)}},{key:"configure",value:function e(t){var r=this;this._options=y.extend(true,this._options,t);this.configureDomRecycler();var n=t.source||t.sources;n&&this.load(n,t.mimeType||this.options.mimeType);this.trigger(k.CORE_OPTIONS_CHANGE,t);this.containers.forEach(function(e){return e.configure(r.options)})}},{key:"appendToParent",value:function e(){var t=kr.getStyleFor(wr.toString(),{baseUrl:this.options.baseUrl});var r=kr.getStyleFor(Or.toString(),{baseUrl:this.options.baseUrl});this.$el.append(t[0]);this.options.includeResetStyle&&this.$el.append(r[0]);var n=this.$el.parent()&&this.$el.parent().length;!n&&this.$el.appendTo(this.options.parentElement)}},{key:"render",value:function e(){this.options.width=this.options.width||this.$el.width();this.options.height=this.options.height||this.$el.height();var t={width:this.options.width,height:this.options.height};this.previousSize=this.currentSize=this.computedSize=t;this.updateSize();this.enableResizeObserver();return this}}]);return n}(Tr),Ir=(Object.assign(Lr.prototype,n),function(e){d(n,e);var r=f(n);c(n,[{key:"loader",get:function e(){return this.player.loader}}]);function n(e){var t;u(this,n);t=r.call(this,e.options);t.player=e;return t}c(n,[{key:"create",value:function e(){this.options.loader=this.loader;this.core=new Lr(this.options);this.addCorePlugins();this.core.createContainers(this.options);return this.core}},{key:"addCorePlugins",value:function e(){var r=this;this.loader.corePlugins.forEach(function(e){var t=new e(r.core);r.core.addPlugin(t);r.setupExternalInterface(t)});return this.core}},{key:"setupExternalInterface",value:function e(t){var r=t.getExternalInterface();for(var n in r)this.player[n]=r[n].bind(t)}}]);return n}(r)),Dr=/(\d+)(?:\.(\d+))?(?:\.(\d+))?/,Pr=function(){c(o,null,[{key:"parse",value:function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"";var r=t.match(Dr)||[];var n=X(r,4),i=n[1],a=n[2],s=n[3];if(typeof i==="undefined")return null;return new o(i,a,s)}}]);function o(e,t,r){u(this,o);this.major=parseInt(e||0,10);this.minor=parseInt(t||0,10);this.patch=parseInt(r||0,10)}c(o,[{key:"compare",value:function e(t){var r=this.major-t.major;r=r||this.minor-t.minor;r=r||this.patch-t.patch;return r}},{key:"inc",value:function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"patch";typeof this[t]!=="undefined"&&(this[t]+=1);return this}},{key:"satisfies",value:function e(t,r){return this.compare(t)>=0&&(!r||this.compare(r)<0)}},{key:"toString",value:function e(){return"".concat(this.major,".").concat(this.minor,".").concat(this.patch)}}]);return o}(),Nr=function e(t,n){if(!t||!n)return{};return Object.entries(t).filter(function(e){var t=X(e,2),r=t[1];return r.type===n}).reduce(function(e,t){var r=X(t,2),n=r[0],i=r[1];return e[n]=i,e},{})},o=function(){var a={plugins:{},playbacks:[]};var l="0.4.19";return function(){c(o,null,[{key:"checkVersionSupport",value:function e(t){var r=t.prototype,n=r.supportedVersion,i=r.name;if(!n||!n.min){b.warn("Loader","missing version information for ".concat(i));return false}var a=n.max?Pr.parse(n.max):Pr.parse(n.min).inc("minor");var s=Pr.parse(n.min);if(!Pr.parse(l).satisfies(s,a)){b.warn("Loader","unsupported plugin ".concat(i,": Clappr version ").concat(l," does not match required range [").concat(s,",").concat(a,")"));return false}return true}},{key:"registerPlugin",value:function e(t){if(!t||!t.prototype.name){b.warn("Loader","missing information to register plugin: ".concat(t));return false}o.checkVersionSupport(t);var r=a.plugins;if(!r)return false;var n=r[t.prototype.name];if(n)b.warn("Loader","overriding plugin entry: ".concat(t.prototype.name," - ").concat(n));r[t.prototype.name]=t;return true}},{key:"registerPlayback",value:function e(t){if(!t||!t.prototype.name)return false;o.checkVersionSupport(t);var r=a.playbacks;var n=r.findIndex(function(e){return e.prototype.name===t.prototype.name});if(n>=0){var i=r[n];r.splice(n,1);b.warn("Loader","overriding playback entry: ".concat(i.name," - ").concat(i))}a.playbacks=[t].concat(Z(r));return true}},{key:"unregisterPlugin",value:function e(t){if(!t)return false;var r=a.plugins;var n=r[t];if(!n)return false;delete r[t];return true}},{key:"unregisterPlayback",value:function e(t){if(!t)return false;var r=a.playbacks;var n=r.findIndex(function(e){return e.prototype.name===t});if(n<0)return false;r.splice(n,1);a.playbacks=r;return true}},{key:"clearPlugins",value:function e(){a.plugins={}}},{key:"clearPlaybacks",value:function e(){a.playbacks=[]}},{key:"registeredPlaybacks",get:function e(){return Z(a.playbacks)}},{key:"registeredPlugins",get:function e(){var t=a.plugins;var r=Nr(t,"core");var n=Nr(t,"container");return{core:r,container:n}}}]);function o(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;u(this,o);this.playerId=t;this.playbackPlugins=Z(a.playbacks);var r=o.registeredPlugins,n=r.core,i=r.container;this.containerPlugins=Object.values(i);this.corePlugins=Object.values(n);if(!Array.isArray(e))this.validateExternalPluginsType(e);this.addExternalPlugins(e)}c(o,[{key:"groupPluginsByType",value:function e(t){if(Array.isArray(t))t=t.reduce(function(e,t){e[t.type]||(e[t.type]=[]);e[t.type].push(t);return e},{});return t}},{key:"removeDups",value:function e(t){var n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var r=function e(t,r){if(t[r.prototype.name]&&n)return t;t[r.prototype.name]&&delete t[r.prototype.name];t[r.prototype.name]=r;return t};var i=t.reduceRight(r,Object.create(null));var a=[];for(var s in i)a.unshift(i[s]);return a}},{key:"addExternalPlugins",value:function e(t){var r=typeof t.loadExternalPluginsFirst==="boolean"?t.loadExternalPluginsFirst:true;var n=typeof t.loadExternalPlaybacksFirst==="boolean"?t.loadExternalPlaybacksFirst:true;t=this.groupPluginsByType(t);if(t.playback){var i=t.playback.filter(function(e){return o.checkVersionSupport(e),true});this.playbackPlugins=n?this.removeDups(i.concat(this.playbackPlugins)):this.removeDups(this.playbackPlugins.concat(i),true)}if(t.container){var a=t.container.filter(function(e){return o.checkVersionSupport(e),true});this.containerPlugins=r?this.removeDups(a.concat(this.containerPlugins)):this.removeDups(this.containerPlugins.concat(a),true)}if(t.core){var s=t.core.filter(function(e){return o.checkVersionSupport(e),true});this.corePlugins=r?this.removeDups(s.concat(this.corePlugins)):this.removeDups(this.corePlugins.concat(s),true)}}},{key:"validateExternalPluginsType",value:function e(t){var r=["playback","container","core"];r.forEach(function(r){(t[r]||[]).forEach(function(e){var t="external "+e.type+" plugin on "+r+" array";if(e.type!==r)throw new ReferenceError(t)})})}}]);return o}()}(),xr=Kt().replace(/\/[^/]+$/,""),Mr=function(e){d(a,e);var i=f(a);c(a,[{key:"loader",set:function e(t){this._loader=t},get:function e(){if(!this._loader)this._loader=new o(this.options.plugins||{},this.options.playerId);return this._loader}},{key:"ended",get:function e(){return this.core.activeContainer.ended}},{key:"buffering",get:function e(){return this.core.activeContainer.buffering}},{key:"isReady",get:function e(){return!!this._ready}},{key:"eventsMapping",get:function e(){return{onReady:k.PLAYER_READY,onResize:k.PLAYER_RESIZE,onPlay:k.PLAYER_PLAY,onPause:k.PLAYER_PAUSE,onStop:k.PLAYER_STOP,onEnded:k.PLAYER_ENDED,onSeek:k.PLAYER_SEEK,onError:k.PLAYER_ERROR,onTimeUpdate:k.PLAYER_TIMEUPDATE,onVolumeUpdate:k.PLAYER_VOLUMEUPDATE,onSubtitleAvailable:k.PLAYER_SUBTITLE_AVAILABLE}}}]);function a(e){var t;u(this,a);t=i.call(this,e);var r={recycleVideo:true};var n={playerId:Vt(""),persistConfig:true,width:640,height:360,baseUrl:xr,allowUserInteraction:E.isMobile,includeResetStyle:true,playback:r};t._options=y.extend(true,n,e);t.options.sources=t._normalizeSources(e);if(!t.options.chromeless)t.options.allowUserInteraction=true;if(!t.options.allowUserInteraction)t.options.disableKeyboardShortcuts=true;t._registerOptionEventListeners(t.options.events);t._coreFactory=new Ir(z(t));if(t.options.parentId)t.setParentId(t.options.parentId);else if(t.options.parent)t.attachTo(t.options.parent);return t}c(a,[{key:"setParentId",value:function e(t){var r=document.querySelector(t);if(r)this.attachTo(r);return this}},{key:"attachTo",value:function e(t){this.options.parentElement=t;this.core=this._coreFactory.create();this._addEventListeners();return this}},{key:"_addEventListeners",value:function e(){if(!this.core.isReady)this.listenToOnce(this.core,k.CORE_READY,this._onReady);else this._onReady();this.listenTo(this.core,k.CORE_ACTIVE_CONTAINER_CHANGED,this._containerChanged);this.listenTo(this.core,k.CORE_FULLSCREEN,this._onFullscreenChange);this.listenTo(this.core,k.CORE_RESIZE,this._onResize);return this}},{key:"_addContainerEventListeners",value:function e(){var t=this.core.activeContainer;if(t){this.listenTo(t,k.CONTAINER_PLAY,this._onPlay);this.listenTo(t,k.CONTAINER_PAUSE,this._onPause);this.listenTo(t,k.CONTAINER_STOP,this._onStop);this.listenTo(t,k.CONTAINER_ENDED,this._onEnded);this.listenTo(t,k.CONTAINER_SEEK,this._onSeek);this.listenTo(t,k.CONTAINER_ERROR,this._onError);this.listenTo(t,k.CONTAINER_TIMEUPDATE,this._onTimeUpdate);this.listenTo(t,k.CONTAINER_VOLUME,this._onVolumeUpdate);this.listenTo(t,k.CONTAINER_SUBTITLE_AVAILABLE,this._onSubtitleAvailable)}return this}},{key:"_registerOptionEventListeners",value:function e(){var n=this;var i=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var t=Object.keys(i).length>0;t&&Object.keys(r).forEach(function(e){var t=n.eventsMapping[e];t&&n.off(t,r[e])});Object.keys(i).forEach(function(e){var t=n.eventsMapping[e];if(t){var r=i[e];r=typeof r==="function"&&r;r&&n.on(t,r)}});return this}},{key:"_containerChanged",value:function e(){this.stopListening();this._addEventListeners()}},{key:"_onReady",value:function e(){this._ready=true;this._addContainerEventListeners();this.trigger(k.PLAYER_READY)}},{key:"_onFullscreenChange",value:function e(t){this.trigger(k.PLAYER_FULLSCREEN,t)}},{key:"_onVolumeUpdate",value:function e(t){this.trigger(k.PLAYER_VOLUMEUPDATE,t)}},{key:"_onSubtitleAvailable",value:function e(){this.trigger(k.PLAYER_SUBTITLE_AVAILABLE)}},{key:"_onResize",value:function e(t){this.trigger(k.PLAYER_RESIZE,t)}},{key:"_onPlay",value:function e(){this.trigger(k.PLAYER_PLAY)}},{key:"_onPause",value:function e(){this.trigger(k.PLAYER_PAUSE)}},{key:"_onStop",value:function e(){this.trigger(k.PLAYER_STOP,this.getCurrentTime())}},{key:"_onEnded",value:function e(){this.trigger(k.PLAYER_ENDED)}},{key:"_onSeek",value:function e(t){this.trigger(k.PLAYER_SEEK,t)}},{key:"_onTimeUpdate",value:function e(t){this.trigger(k.PLAYER_TIMEUPDATE,t)}},{key:"_onError",value:function e(t){this.trigger(k.PLAYER_ERROR,t)}},{key:"_normalizeSources",value:function e(t){var r=t.sources||(t.source!==undefined?[t.source]:[]);return r.length===0?[{source:"",mimeType:""}]:r}},{key:"resize",value:function e(t){this.core.resize(t);return this}},{key:"load",value:function e(t,r,n){if(n!==undefined)this.configure({autoPlay:!!n});this.core.load(t,r);return this}},{key:"destroy",value:function e(){this.stopListening();this.core.destroy();return this}},{key:"consent",value:function e(t){this.core.getCurrentPlayback().consent(t)}},{key:"play",value:function e(){this.core.activeContainer.play();return this}},{key:"pause",value:function e(){this.core.activeContainer.pause();return this}},{key:"stop",value:function e(){this.core.activeContainer.stop();return this}},{key:"seek",value:function e(t){this.core.activeContainer.seek(t);return this}},{key:"seekPercentage",value:function e(t){this.core.activeContainer.seekPercentage(t);return this}},{key:"mute",value:function e(){this.core.activePlayback.mute();return this}},{key:"unmute",value:function e(){this.core.activePlayback.unmute();return this}},{key:"isPlaying",value:function e(){return this.core.activeContainer.isPlaying()}},{key:"isDvrEnabled",value:function e(){return this.core.activeContainer.isDvrEnabled()}},{key:"isDvrInUse",value:function e(){return this.core.activeContainer.isDvrInUse()}},{key:"configure",value:function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};this._registerOptionEventListeners(t.events,this.options.events);this.core.configure(t);return this}},{key:"getPlugin",value:function e(t){var r=this.core.plugins.concat(this.core.activeContainer.plugins);return r.filter(function(e){return e.name===t})[0]}},{key:"getCurrentTime",value:function e(){return this.core.activeContainer.getCurrentTime()}},{key:"getStartTimeOffset",value:function e(){return this.core.activeContainer.getStartTimeOffset()}},{key:"getDuration",value:function e(){return this.core.activeContainer.getDuration()}}]);return a}(r),a=(Object.assign(Mr.prototype,n),function(e){d(n,e);var r=f(n);c(n,[{key:"playerError",get:function e(){return this.container.playerError}}]);function n(e){var t;u(this,n);t=r.call(this,e.options);t.container=e;t.enabled=true;t.bindEvents();return t}c(n,[{key:"enable",value:function e(){if(!this.enabled){this.bindEvents();this.enabled=true}}},{key:"disable",value:function e(){if(this.enabled){this.stopListening();this.enabled=false}}},{key:"bindEvents",value:function e(){}},{key:"destroy",value:function e(){this.stopListening()}}]);return n}(r)),l=(Object.assign(a.prototype,n),a.extend=function(e){return xt(a,e)},a.type="container",function(e){d(n,e);var r=f(n);c(n,[{key:"playerError",get:function e(){return this.core.playerError}}]);function n(e){var t;u(this,n);t=r.call(this,e.options);t.core=e;t.enabled=true;t.bindEvents();return t}c(n,[{key:"bindEvents",value:function e(){}},{key:"enable",value:function e(){if(!this.enabled){this.bindEvents();this.enabled=true}}},{key:"disable",value:function e(){if(this.enabled){this.stopListening();this.enabled=false}}},{key:"getExternalInterface",value:function e(){return{}}},{key:"destroy",value:function e(){this.stopListening()}}]);return n}(r)),C=(Object.assign(l.prototype,n),l.extend=function(e){return xt(l,e)},l.type="core",function(e){d(n,e);var r=f(n);c(n,[{key:"playerError",get:function e(){return this.container.playerError}}]);function n(e){var t;u(this,n);t=r.call(this,e.options);t.container=e;t.enabled=true;t.bindEvents();return t}c(n,[{key:"enable",value:function e(){if(!this.enabled){this.bindEvents();this.$el.show();this.enabled=true}}},{key:"disable",value:function e(){this.stopListening();this.$el.hide();this.enabled=false}},{key:"bindEvents",value:function e(){}}]);return n}(Tr)),Fr=(Object.assign(C.prototype,n),C.extend=function(e){return xt(C,e)},C.type="container",'<% for (var i = 0; i < tracks.length; i++) { %>\n \n<% }; %>\n'),Br="[data-html5-video] {\n position: absolute;\n height: 100%;\n width: 100%;\n display: block; }\n",Ur={mp4:["avc1.42E01E","avc1.58A01E","avc1.4D401E","avc1.64001E","mp4v.20.8","mp4v.20.240","mp4a.40.2"].map(function(e){return'video/mp4; codecs="'+e+', mp4a.40.2"'}),ogg:['video/ogg; codecs="theora, vorbis"','video/ogg; codecs="dirac"','video/ogg; codecs="theora, speex"'],"3gpp":['video/3gpp; codecs="mp4v.20.8, samr"'],webm:['video/webm; codecs="vp8, vorbis"'],mkv:['video/x-matroska; codecs="theora, vorbis"'],m3u8:["application/x-mpegurl"]},jr=(Ur["ogv"]=Ur["ogg"],Ur["3gp"]=Ur["3gpp"],{wav:["audio/wav"],mp3:["audio/mp3",'audio/mpeg;codecs="mp3"'],aac:['audio/mp4;codecs="mp4a.40.5"'],oga:["audio/ogg"]}),Vr=Object.keys(jr).reduce(function(e,t){return[].concat(Z(e),Z(jr[t]))},[]),Gr={code:"unknown",message:"unknown"},R=function(e){d(l,e);var o=f(l);c(l,[{key:"name",get:function e(){return"html5_video"}},{key:"supportedVersion",get:function e(){return{min:"0.4.19"}}},{key:"tagName",get:function e(){return this.isAudioOnly?"audio":"video"}},{key:"isAudioOnly",get:function e(){var t=this.options.src;var r=l._mimeTypesForUrl(t,jr,this.options.mimeType);return this.options.playback&&this.options.playback.audioOnly||this.options.audioOnly||Vr.indexOf(r[0])>=0}},{key:"attributes",get:function e(){return{"data-html5-video":""}}},{key:"events",get:function e(){return{canplay:"_onCanPlay",canplaythrough:"_handleBufferingEvents",durationchange:"_onDurationChange",ended:"_onEnded",error:"_onError",loadeddata:"_onLoadedData",loadedmetadata:"_onLoadedMetadata",pause:"_onPause",playing:"_onPlaying",progress:"_onProgress",seeking:"_onSeeking",seeked:"_onSeeked",stalled:"_handleBufferingEvents",timeupdate:"_onTimeUpdate",waiting:"_onWaiting"}}},{key:"ended",get:function e(){return this.el.ended}},{key:"buffering",get:function e(){return this._isBuffering}},{key:"isLive",get:function e(){return this.getPlaybackType()===S.LIVE}},{key:"dvrEnabled",get:function e(){return this.getDuration()>=this._minDvrSize&&this.isLive}},{key:"minimumDVRSizeConfig",get:function e(){return this.options.playback&&this.options.playback.minimumDvrSize}},{key:"isValidMinimumDVRSizeConfig",get:function e(){return typeof this.minimumDVRSizeConfig!=="undefined"&&typeof this.minimumDVRSizeConfig==="number"}}]);function l(){var e;u(this,l);for(var t=arguments.length,r=new Array(t),n=0;n=0?S.LIVE:t}},{key:"isHighDefinitionInUse",value:function e(){return false}},{key:"consent",value:function e(t){var r=this;if(this.isPlaying()||this.el._consented)q(s(l.prototype),"consent",this).call(this,t);else{var n=function e(){r.el.removeEventListener("loadedmetadata",e,false);r.el.removeEventListener("error",e,false);r.el._consented=true;q(s(l.prototype),"consent",r).call(r,t)};this.el.addEventListener("loadedmetadata",n,false);this.el.addEventListener("error",n,false);this.el.load()}}},{key:"play",value:function e(){this.trigger(k.PLAYBACK_PLAY_INTENT);this._stopped=false;this._setupSrc(this._src);this._handleBufferingEvents();var t=this.el.play();if(t&&t["catch"])t["catch"](function(){})}},{key:"pause",value:function e(){this.el.pause();this.dvrEnabled&&this._updateDvr(true)}},{key:"stop",value:function e(){this.pause();this._stopped=true;this.el.removeAttribute("src");this.el.load();this._stopPlayheadMovingChecks();this._handleBufferingEvents();this.trigger(k.PLAYBACK_STOP)}},{key:"volume",value:function e(t){if(t===0){this.$el.attr({muted:"true"});this.el.muted=true}else{this.$el.attr({muted:null});this.el.muted=false;this.el.volume=t/100}}},{key:"mute",value:function e(){this.el.muted=true}},{key:"unmute",value:function e(){this.el.muted=false}},{key:"isMuted",value:function e(){return this.el.muted===true||this.el.volume===0}},{key:"isPlaying",value:function e(){return!this.el.paused&&!this.el.ended}},{key:"_startPlayheadMovingChecks",value:function e(){if(this._playheadMovingTimer!==null)return;this._playheadMovingTimeOnCheck=null;this._determineIfPlayheadMoving();this._playheadMovingTimer=setInterval(this._determineIfPlayheadMoving.bind(this),500)}},{key:"_stopPlayheadMovingChecks",value:function e(){if(this._playheadMovingTimer===null)return;clearInterval(this._playheadMovingTimer);this._playheadMovingTimer=null;this._playheadMoving=false}},{key:"_determineIfPlayheadMoving",value:function e(){var t=this._playheadMovingTimeOnCheck;var r=this.el.currentTime;this._playheadMoving=t!==r;this._playheadMovingTimeOnCheck=r;this._handleBufferingEvents()}},{key:"_onWaiting",value:function e(){this._loadStarted=true;this._handleBufferingEvents()}},{key:"_onLoadedData",value:function e(){this._loadStarted=true;this._handleBufferingEvents()}},{key:"_onCanPlay",value:function e(){this._handleBufferingEvents()}},{key:"_onPlaying",value:function e(){this._checkForClosedCaptions();this._startPlayheadMovingChecks();this._handleBufferingEvents();this.trigger(k.PLAYBACK_PLAY)}},{key:"_onPause",value:function e(){this._stopPlayheadMovingChecks();this._handleBufferingEvents();this.trigger(k.PLAYBACK_PAUSE)}},{key:"_onSeeking",value:function e(){this.trigger(k.PLAYBACK_SEEK,this.getCurrentTime());this._handleBufferingEvents()}},{key:"_onSeeked",value:function e(){this._handleBufferingEvents();this.trigger(k.PLAYBACK_SEEKED)}},{key:"_onEnded",value:function e(){this._handleBufferingEvents();this.trigger(k.PLAYBACK_ENDED,this.name)}},{key:"_handleBufferingEvents",value:function e(){var t=!this.el.ended&&!this.el.paused;var r=this._loadStarted&&!this.el.ended&&!this._stopped&&(t&&!this._playheadMoving||this.el.readyState0)return this.el.seekable.end(0)-this.el.seekable.start(0);else this._scheduleUpdateSettingsCheck();return this.el.duration}},{key:"_scheduleUpdateSettingsCheck",value:function e(){var t=this;if(this._updateSettingsCheckInFlight)return;this._updateSettingsCheckInFlight=setTimeout(function(){t._updateSettings();t._updateSettingsCheckInFlight=null},1e3)}},{key:"_onTimeUpdate",value:function e(){var t=this.isLive?this.getDuration():this.el.duration;this.trigger(k.PLAYBACK_TIMEUPDATE,{current:this.el.currentTime,total:t},this.name)}},{key:"_onProgress",value:function e(){if(!this.el.buffered.length)return;var t=[];var r=0;for(var n=0;n=t[n].start&&this.el.currentTime<=t[n].end)r=n}var i={start:t[r].start,current:t[r].end,total:this.el.duration};this.trigger(k.PLAYBACK_PROGRESS,i,t)}},{key:"_typeFor",value:function e(t){var r=l._mimeTypesForUrl(t,Ur,this.options.mimeType);if(r.length===0)r=l._mimeTypesForUrl(t,jr,this.options.mimeType);var n=r[0]||"";return n.split(";")[0]}},{key:"_ready",value:function e(){if(this._isReadyState)return;this._isReadyState=true;this.trigger(k.PLAYBACK_READY,this.name)}},{key:"_checkForClosedCaptions",value:function e(){if(this.isHTML5Video&&!this._ccIsSetup){if(this.hasClosedCaptionsTracks){this.trigger(k.PLAYBACK_SUBTITLE_AVAILABLE);var t=this.closedCaptionsTrackId;this.closedCaptionsTrackId=t;this.handleTextTrackChange=this._handleTextTrackChange.bind(this);this.el.textTracks.addEventListener("change",this.handleTextTrackChange)}this._ccIsSetup=true}}},{key:"_handleTextTrackChange",value:function e(){var t=this.closedCaptionsTracks;var r=t.find(function(e){return e.track.mode==="showing"})||{id:-1};if(this._ccTrackId!==r.id){this._ccTrackId=r.id;this.trigger(k.PLAYBACK_SUBTITLE_CHANGED,{id:r.id})}}},{key:"render",value:function e(){if(this.options.playback.disableContextMenu)this.$el.on("contextmenu",function(){return false});if(this._externalTracks&&this._externalTracks.length>0)this.$el.html(this.template({tracks:this._externalTracks}));this._ready();var t=kr.getStyleFor(Br.toString(),{baseUrl:this.options.baseUrl});this.$el.append(t[0]);return this}},{key:"isReady",get:function e(){return this._isReadyState}},{key:"isHTML5Video",get:function e(){return this.name===l.prototype.name}},{key:"closedCaptionsTracks",get:function e(){var t=0;var r=function e(){return t++};var n=this.el.textTracks?Array.from(this.el.textTracks):[];return n.filter(function(e){return e.kind==="subtitles"||e.kind==="captions"}).map(function(e){return{id:r(),name:e.label,track:e}})}},{key:"closedCaptionsTrackId",get:function e(){return this._ccTrackId},set:function e(t){if(!Gt(t))return;var r=this.closedCaptionsTracks;var n;if(t!==-1){n=r.find(function(e){return e.id===t});if(!n)return;if(n.track.mode==="showing")return}r.filter(function(e){return e.track.mode!=="hidden"}).forEach(function(e){return e.track.mode="hidden"});n&&(n.track.mode="showing");this._ccTrackId=t;this.trigger(k.PLAYBACK_SUBTITLE_CHANGED,{id:t})}},{key:"template",get:function e(){return _(Fr)}}]);return l}(S),Kr=(R._mimeTypesForUrl=function(e,t,r){var n=(e.split("?")[0].match(/.*\.(.*)$/)||[])[1];var i=r||n&&t[n.toLowerCase()]||[];return i.constructor===Array?i:[i]},R._canPlay=function(e,t,r,n){var i=R._mimeTypesForUrl(r,t,n);var a=document.createElement(e);return!!i.filter(function(e){return!!a.canPlayType(e).replace(/no/,"")})[0]},R.canPlay=function(e,t){return R._canPlay("audio",jr,e,t)||R._canPlay("video",Ur,e,t)},function(e){d(r,e);var t=f(r);function r(){u(this,r);return t.apply(this,arguments)}c(r,[{key:"updateSettings",value:function e(){this.settings.left=["playpause","position","duration"];this.settings.seekEnabled=this.isSeekEnabled();this.trigger(k.PLAYBACK_SETTINGSUPDATE)}},{key:"getPlaybackType",value:function e(){return S.AOD}},{key:"name",get:function e(){return"html5_audio"}},{key:"supportedVersion",get:function e(){return{min:"0.4.19"}}},{key:"tagName",get:function e(){return"audio"}},{key:"isAudioOnly",get:function e(){return true}}]);return r}(R)),Yr=(Kr.canPlay=function(e,t){var r={wav:["audio/wav"],mp3:["audio/mp3",'audio/mpeg;codecs="mp3"'],aac:['audio/mp4;codecs="mp4a.40.5"'],oga:["audio/ogg"]};return R._canPlay("audio",r,e,t)},"[data-html-img] {\n max-width: 100%;\n max-height: 100%; }\n"),Hr=function(e){d(n,e);var r=f(n);c(n,[{key:"getPlaybackType",value:function e(){return S.NO_OP}},{key:"name",get:function e(){return"html_img"}},{key:"supportedVersion",get:function e(){return{min:"0.4.19"}}},{key:"tagName",get:function e(){return"img"}},{key:"attributes",get:function e(){return{"data-html-img":""}}},{key:"events",get:function e(){return{load:"_onLoad",abort:"_onError",error:"_onError"}}}]);function n(e){var t;u(this,n);t=r.call(this,e);t.el.src=e.src;return t}c(n,[{key:"render",value:function e(){var t=kr.getStyleFor(Yr.toString(),{baseUrl:this.options.baseUrl});this.$el.append(t[0]);this.trigger(k.PLAYBACK_READY,this.name);return this}},{key:"_onLoad",value:function e(){this.trigger(k.PLAYBACK_ENDED,this.name)}},{key:"_onError",value:function e(t){var r=t.type==="error"?"load error":"loading aborted";this.trigger(k.PLAYBACK_ERROR,{message:r},this.name)}}]);return n}(S),zr=(Hr.canPlay=function(e){return/\.(png|jpg|jpeg|gif|bmp|tiff|pgm|pnm|webp)(|\?.*)$/i.test(e)},"\n

<%=message%>

\n

"),$r="[data-no-op] {\n position: absolute;\n height: 100%;\n width: 100%;\n text-align: center; }\n\n[data-no-op] p[data-no-op-msg] {\n position: absolute;\n text-align: center;\n font-size: 25px;\n left: 0;\n right: 0;\n color: white;\n padding: 10px;\n /* center vertically */\n top: 50%;\n transform: translateY(-50%);\n max-height: 100%;\n overflow: auto; }\n\n[data-no-op] canvas[data-no-op-canvas] {\n background-color: #777;\n height: 100%;\n width: 100%; }\n",Wr=function(e){d(a,e);var i=f(a);c(a,[{key:"name",get:function e(){return"no_op"}},{key:"supportedVersion",get:function e(){return{min:"0.4.19"}}},{key:"template",get:function e(){return _(zr)}},{key:"attributes",get:function e(){return{"data-no-op":""}}}]);function a(){var e;u(this,a);for(var t=arguments.length,r=new Array(t),n=0;n ul {\n list-style-type: none;\n position: absolute;\n bottom: 25px;\n border: 1px solid black;\n display: none;\n background-color: #e6e6e6; }\n .cc-controls[data-cc-controls] li {\n font-size: 10px; }\n .cc-controls[data-cc-controls] li[data-title] {\n background-color: #c3c2c2;\n padding: 5px; }\n .cc-controls[data-cc-controls] li a {\n color: #444;\n padding: 2px 10px;\n display: block;\n text-decoration: none; }\n .cc-controls[data-cc-controls] li a:hover {\n background-color: #555;\n color: white; }\n .cc-controls[data-cc-controls] li a:hover a {\n color: white;\n text-decoration: none; }\n .cc-controls[data-cc-controls] li.current a {\n color: #f00; }\n"),function(e){L(i,e);var n=I(i);function i(e){var t;w(this,i);t=n.call(this,e);var r=e.options.closedCaptionsConfig;t._title=r&&r.title?r.title:null;t._ariaLabel=r&&r.ariaLabel?r.ariaLabel:"cc-button";t._labelCb=r&&r.labelCallback&&typeof r.labelCallback==="function"?r.labelCallback:function(e){return e.name};return t}O(i,[{key:"name",get:function e(){return"closed_captions"}},{key:"supportedVersion",get:function e(){return{min:"0.4.18"}}},{key:"template",get:function e(){return _(cn)}},{key:"events",get:function e(){return{"click [data-cc-button]":"toggleContextMenu","click [data-cc-select]":"onTrackSelect"}}},{key:"attributes",get:function e(){return{class:"cc-controls","data-cc-controls":""}}},{key:"bindEvents",value:function e(){this.listenTo(this.core,k.CORE_ACTIVE_CONTAINER_CHANGED,this.containerChanged);this.listenTo(this.core.mediaControl,k.MEDIACONTROL_RENDERED,this.render);this.listenTo(this.core.mediaControl,k.MEDIACONTROL_HIDE,this.hideContextMenu);this.bindContainerEvents()}},{key:"bindContainerEvents",value:function e(){this.container=this.core.activeContainer;if(this.container){this.listenTo(this.container,k.CONTAINER_SUBTITLE_AVAILABLE,this.onSubtitleAvailable);this.listenTo(this.container,k.CONTAINER_SUBTITLE_CHANGED,this.onSubtitleChanged);this.listenTo(this.container,k.CONTAINER_STOP,this.onContainerStop)}}},{key:"onContainerStop",value:function e(){this.ccAvailable(false)}},{key:"containerChanged",value:function e(){this.ccAvailable(false);this.stopListening();this.bindEvents()}},{key:"onSubtitleAvailable",value:function e(){this.renderCcButton();this.ccAvailable(true)}},{key:"onSubtitleChanged",value:function e(t){this.setCurrentContextMenuElement(t.id)}},{key:"onTrackSelect",value:function e(t){var r=parseInt(t.target.dataset.ccSelect,10);this.container.closedCaptionsTrackId=r;this.hideContextMenu();t.stopPropagation();return false}},{key:"ccAvailable",value:function e(t){var r=t?"addClass":"removeClass";this.$el[r]("available")}},{key:"toggleContextMenu",value:function e(){this.$el.find("ul").toggle()}},{key:"hideContextMenu",value:function e(){this.$el.find("ul").hide()}},{key:"contextMenuElement",value:function e(t){return this.$el.find("ul a"+(!isNaN(t)?'[data-cc-select="'+t+'"]':"")).parent()}},{key:"setCurrentContextMenuElement",value:function e(t){if(this._trackId!==t){this.contextMenuElement().removeClass("current");this.contextMenuElement(t).addClass("current");var r=t>-1?"addClass":"removeClass";this.$ccButton[r]("enabled");this._trackId=t}}},{key:"renderCcButton",value:function e(){var t=this.container?this.container.closedCaptionsTracks:[];for(var r=0;r0&&arguments[0]!==undefined?arguments[0]:{};if(t.level===T.Levels.FATAL){this.err=t;this.container.disableMediaControl();this.container.stop();this.show()}}},{key:"show",value:function e(){this.render();this.$el.show()}},{key:"hide",value:function e(){this.$el.hide()}},{key:"render",value:function e(){if(!this.err)return;this.$el.html(this.template({title:this.err.UI.title,message:this.err.UI.message,code:this.err.code,icon:this.err.UI.icon||"",reloadIcon:mn}));this.core.$el.append(this.el);this.bindReload();return this}}]);return n}(i)),kn='\n \n',_n='\n \n',Tn=y('link[rel="shortcut icon"]'),Sn=function(e){L(n,e);var r=I(n);function n(e){var t;w(this,n);t=r.call(this,e);t._container=null;t.configure();return t}O(n,[{key:"name",get:function e(){return"favicon"}},{key:"supportedVersion",get:function e(){return{min:"0.4.18"}}},{key:"oldIcon",get:function e(){return Tn}},{key:"configure",value:function e(){if(this.core.options.changeFavicon){if(!this.enabled){this.stopListening(this.core,k.CORE_OPTIONS_CHANGE);this.enable()}}else if(this.enabled){this.disable();this.listenTo(this.core,k.CORE_OPTIONS_CHANGE,this.configure)}}},{key:"bindEvents",value:function e(){this.listenTo(this.core,k.CORE_OPTIONS_CHANGE,this.configure);this.listenTo(this.core,k.CORE_ACTIVE_CONTAINER_CHANGED,this.containerChanged);this.core.activeContainer&&this.containerChanged()}},{key:"containerChanged",value:function e(){this._container&&this.stopListening(this._container);this._container=this.core.activeContainer;this.listenTo(this._container,k.CONTAINER_PLAY,this.setPlayIcon);this.listenTo(this._container,k.CONTAINER_PAUSE,this.setPauseIcon);this.listenTo(this._container,k.CONTAINER_STOP,this.resetIcon);this.listenTo(this._container,k.CONTAINER_ENDED,this.resetIcon);this.listenTo(this._container,k.CONTAINER_ERROR,this.resetIcon);this.resetIcon()}},{key:"disable",value:function e(){on(en(n.prototype),"disable",this).call(this);this.resetIcon()}},{key:"destroy",value:function e(){on(en(n.prototype),"destroy",this).call(this);this.resetIcon()}},{key:"createIcon",value:function e(t){var r=y("");r[0].width=16;r[0].height=16;var n=r[0].getContext("2d");n.fillStyle="#000";var i=y(t).find("path").attr("d");var a=new Path2D(i);n.fill(a);var s=y('');s.attr("href",r[0].toDataURL("image/png"));return s}},{key:"setPlayIcon",value:function e(){if(!this.playIcon)this.playIcon=this.createIcon(kn);this.changeIcon(this.playIcon)}},{key:"setPauseIcon",value:function e(){if(!this.pauseIcon)this.pauseIcon=this.createIcon(_n);this.changeIcon(this.pauseIcon)}},{key:"resetIcon",value:function e(){y('link[rel="shortcut icon"]').remove();y("head").append(this.oldIcon)}},{key:"changeIcon",value:function e(t){if(t){y('link[rel="shortcut icon"]').remove();y("head").append(t)}}}]);return n}(l),Cn=function(e){L(n,e);var r=I(n);function n(e){var t;w(this,n);t=r.call(this,e);if(t.container.options.gaAccount){t.account=t.container.options.gaAccount;t.trackerName=t.container.options.gaTrackerName?t.container.options.gaTrackerName+".":"Clappr.";t.domainName=t.container.options.gaDomainName;t.currentHDState=undefined;t.embedScript()}return t}O(n,[{key:"name",get:function e(){return"google_analytics"}},{key:"supportedVersion",get:function e(){return{min:"0.4.18"}}},{key:"embedScript",value:function e(){var t=this;if(!window._gat){var r=document.createElement("script");r.setAttribute("type","text/javascript");r.setAttribute("async","async");r.setAttribute("src","//www.google-analytics.com/ga.js");r.onload=function(){return t.addEventListeners()};document.body.appendChild(r)}else this.addEventListeners()}},{key:"addEventListeners",value:function e(){var t=this;if(this.container){this.listenTo(this.container,k.CONTAINER_READY,this.onReady);this.listenTo(this.container,k.CONTAINER_PLAY,this.onPlay);this.listenTo(this.container,k.CONTAINER_STOP,this.onStop);this.listenTo(this.container,k.CONTAINER_PAUSE,this.onPause);this.listenTo(this.container,k.CONTAINER_ENDED,this.onEnded);this.listenTo(this.container,k.CONTAINER_STATE_BUFFERING,this.onBuffering);this.listenTo(this.container,k.CONTAINER_STATE_BUFFERFULL,this.onBufferFull);this.listenTo(this.container,k.CONTAINER_ERROR,this.onError);this.listenTo(this.container,k.CONTAINER_PLAYBACKSTATE,this.onPlaybackChanged);this.listenTo(this.container,k.CONTAINER_VOLUME,function(e){return t.onVolumeChanged(e)});this.listenTo(this.container,k.CONTAINER_SEEK,function(e){return t.onSeek(e)});this.listenTo(this.container,k.CONTAINER_FULL_SCREEN,this.onFullscreen);this.listenTo(this.container,k.CONTAINER_HIGHDEFINITIONUPDATE,this.onHD);this.listenTo(this.container,k.CONTAINER_PLAYBACKDVRSTATECHANGED,this.onDVR)}_gaq.push([this.trackerName+"_setAccount",this.account]);if(this.domainName)_gaq.push([this.trackerName+"_setDomainName",this.domainName])}},{key:"onReady",value:function e(){this.push(["Video","Playback",this.container.playback.name])}},{key:"onPlay",value:function e(){this.push(["Video","Play",this.container.playback.src])}},{key:"onStop",value:function e(){this.push(["Video","Stop",this.container.playback.src])}},{key:"onEnded",value:function e(){this.push(["Video","Ended",this.container.playback.src])}},{key:"onBuffering",value:function e(){this.push(["Video","Buffering",this.container.playback.src])}},{key:"onBufferFull",value:function e(){this.push(["Video","Bufferfull",this.container.playback.src])}},{key:"onError",value:function e(){this.push(["Video","Error",this.container.playback.src])}},{key:"onHD",value:function e(t){var r=t?"ON":"OFF";if(r!==this.currentHDState){this.currentHDState=r;this.push(["Video","HD - "+r,this.container.playback.src])}}},{key:"onPlaybackChanged",value:function e(t){if(t.type!==null)this.push(["Video","Playback Type - "+t.type,this.container.playback.src])}},{key:"onDVR",value:function e(t){var r=t?"ON":"OFF";this.push(["Interaction","DVR - "+r,this.container.playback.src])}},{key:"onPause",value:function e(){this.push(["Video","Pause",this.container.playback.src])}},{key:"onSeek",value:function e(){this.push(["Video","Seek",this.container.playback.src])}},{key:"onVolumeChanged",value:function e(){this.push(["Interaction","Volume",this.container.playback.src])}},{key:"onFullscreen",value:function e(){this.push(["Interaction","Fullscreen",this.container.playback.src])}},{key:"push",value:function e(t){var r=[this.trackerName+"_trackEvent"].concat(t);_gaq.push(r)}}]);return n}(a),D=function e(t){this.element=t||window.document;this.initialize()},Rn;for(Rn in D.KEY_NAMES_BY_CODE={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"caps_lock",27:"esc",32:"space",37:"left",38:"up",39:"right",40:"down",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12"},D.KEY_CODES_BY_NAME={},D.KEY_NAMES_BY_CODE)if(Object.prototype.hasOwnProperty.call(D.KEY_NAMES_BY_CODE,Rn))D.KEY_CODES_BY_NAME[D.KEY_NAMES_BY_CODE[Rn]]=+Rn;D.MODIFIERS=["shift","ctrl","alt"],D.registerEvent=function(){if(document.addEventListener)return function(e,t,r){e.addEventListener(t,r,false)};else if(document.attachEvent)return function(e,t,r){e.attachEvent("on"+t,r)}}(),D.unregisterEvent=function(){if(document.removeEventListener)return function(e,t,r){e.removeEventListener(t,r,false)};else if(document.detachEvent)return function(e,t,r){e.detachEvent("on"+t,r)}}(),D.stringContains=function(e,t){return e.indexOf(t)!==-1},D.neatString=function(e){return e.replace(/^\s+|\s+$/g,"").replace(/\s+/g," ")},D.capitalize=function(e){return e.toLowerCase().replace(/^./,function(e){return e.toUpperCase()})},D.isString=function(e){return D.stringContains(Object.prototype.toString.call(e),"String")},D.arrayIncludes=function(){if(Array.prototype.indexOf)return function(e,t){return e.indexOf(t)!==-1};else return function(e,t){for(var r=0;r
\n
\n <% var renderBar = function(name) { %>\n
>\n
>\n
>
\n
>
\n
>
\n
\n
>\n
>
\n
\n
\n <% }; %>\n <% var renderSegmentedBar = function(name, segments) {\n segments = segments || 10; %>\n
>\n <% for (var i = 0; i < segments; i++) { %>\n
>
\n <% } %>\n
\n <% }; %>\n <% var renderDrawer = function(name, renderContent) { %>\n
>\n
>\n
>
\n >\n
\n <% renderContent(name); %>\n
\n <% }; %>\n <% var renderIndicator = function(name) { %>\n
>
\n <% }; %>\n <% var renderButton = function(name) { %>\n \n <% }; %>\n <% var templates = {\n bar: renderBar,\n segmentedBar: renderSegmentedBar,\n };\n var render = function(settingsList) {\n settingsList.forEach(function(setting) {\n if(setting === "seekbar") {\n renderBar(setting);\n } else if (setting === "volume") {\n renderDrawer(setting, settings.volumeBarTemplate ? templates[settings.volumeBarTemplate] : function(name) { return renderSegmentedBar(name); });\n } else if (setting === "duration" || setting === "position") {\n renderIndicator(setting);\n } else {\n renderButton(setting);\n }\n });\n }; %>\n <% if (settings.default && settings.default.length) { %>\n
\n <% render(settings.default); %>\n
\n <% } %>\n <% if (settings.left && settings.left.length) { %>\n
\n <% render(settings.left); %>\n
\n <% } %>\n <% if (settings.right && settings.right.length) { %>\n
\n <% render(settings.right); %>\n
\n <% } %>\n
\n'),In='\n \n',Dn='\n \n',Pn='\n \n',Nn='\n \n',xn='\n \n',Mn='\n \n',Fn=t.Config,Bn=t.Fullscreen,Un=t.formatTime,jn=t.extend,Vn=t.removeArrayItem,Gn=function(e){L(n,e);var r=I(n);function n(e){var t;w(this,n);t=r.call(this,e);t.persistConfig=t.options.persistConfig;t.currentPositionValue=null;t.currentDurationValue=null;t.keepVisible=false;t.fullScreenOnVideoTagSupported=null;t.setInitialVolume();t.settings={left:["play","stop","pause"],right:["volume"],default:["position","seekbar","duration"]};t.kibo=new D(t.options.focusElement);t.bindKeyEvents();if(t.container){if(!y.isEmptyObject(t.container.settings))t.settings=y.extend({},t.container.settings)}else t.settings={};t.userDisabled=false;if(t.container&&t.container.mediaControlDisabled||t.options.chromeless)t.disable();t.stopDragHandler=function(e){return t.stopDrag(e)};t.updateDragHandler=function(e){return t.updateDrag(e)};y(document).bind("mouseup",t.stopDragHandler);y(document).bind("mousemove",t.updateDragHandler);return t}O(n,[{key:"name",get:function e(){return"media_control"}},{key:"supportedVersion",get:function e(){return{min:"0.4.18"}}},{key:"disabled",get:function e(){var t=this.container&&this.container.getPlaybackType()===S.NO_OP;return this.userDisabled||t}},{key:"container",get:function e(){return this.core&&this.core.activeContainer}},{key:"playback",get:function e(){return this.core&&this.core.activePlayback}},{key:"attributes",get:function e(){return{class:"media-control","data-media-control":""}}},{key:"events",get:function e(){return{"click [data-play]":"play","click [data-pause]":"pause","click [data-playpause]":"togglePlayPause","click [data-stop]":"stop","click [data-playstop]":"togglePlayStop","click [data-fullscreen]":"toggleFullscreen","click .bar-container[data-seekbar]":"seek","click .bar-container[data-volume]":"onVolumeClick","click .drawer-icon[data-volume]":"toggleMute","mouseenter .drawer-container[data-volume]":"showVolumeBar","mouseleave .drawer-container[data-volume]":"hideVolumeBar","mousedown .bar-container[data-volume]":"startVolumeDrag","mousemove .bar-container[data-volume]":"mousemoveOnVolumeBar","mousedown .bar-scrubber[data-seekbar]":"startSeekDrag","mousemove .bar-container[data-seekbar]":"mousemoveOnSeekBar","mouseleave .bar-container[data-seekbar]":"mouseleaveOnSeekBar","mouseenter .media-control-layer[data-controls]":"setUserKeepVisible","mouseleave .media-control-layer[data-controls]":"resetUserKeepVisible"}}},{key:"template",get:function e(){return _(Ln)}},{key:"volume",get:function e(){return this.container&&this.container.isReady?this.container.volume:this.intendedVolume}},{key:"muted",get:function e(){return this.volume===0}},{key:"getExternalInterface",value:function e(){var t=this;return{setVolume:this.setVolume,getVolume:function e(){return t.volume}}}},{key:"bindEvents",value:function e(){var t=this;this.stopListening();this.listenTo(this.core,k.CORE_ACTIVE_CONTAINER_CHANGED,this.onActiveContainerChanged);this.listenTo(this.core,k.CORE_MOUSE_MOVE,this.show);this.listenTo(this.core,k.CORE_MOUSE_LEAVE,function(){return t.hide(t.options.hideMediaControlDelay)});this.listenTo(this.core,k.CORE_FULLSCREEN,this.show);this.listenTo(this.core,k.CORE_OPTIONS_CHANGE,this.configure);this.listenTo(this.core,k.CORE_RESIZE,this.playerResize);this.bindContainerEvents()}},{key:"bindContainerEvents",value:function e(){if(!this.container)return;this.listenTo(this.container,k.CONTAINER_PLAY,this.changeTogglePlay);this.listenTo(this.container,k.CONTAINER_PAUSE,this.changeTogglePlay);this.listenTo(this.container,k.CONTAINER_STOP,this.changeTogglePlay);this.listenTo(this.container,k.CONTAINER_DBLCLICK,this.toggleFullscreen);this.listenTo(this.container,k.CONTAINER_TIMEUPDATE,this.onTimeUpdate);this.listenTo(this.container,k.CONTAINER_PROGRESS,this.updateProgressBar);this.listenTo(this.container,k.CONTAINER_SETTINGSUPDATE,this.settingsUpdate);this.listenTo(this.container,k.CONTAINER_PLAYBACKDVRSTATECHANGED,this.settingsUpdate);this.listenTo(this.container,k.CONTAINER_HIGHDEFINITIONUPDATE,this.highDefinitionUpdate);this.listenTo(this.container,k.CONTAINER_MEDIACONTROL_DISABLE,this.disable);this.listenTo(this.container,k.CONTAINER_MEDIACONTROL_ENABLE,this.enable);this.listenTo(this.container,k.CONTAINER_ENDED,this.ended);this.listenTo(this.container,k.CONTAINER_VOLUME,this.onVolumeChanged);this.listenTo(this.container,k.CONTAINER_OPTIONS_CHANGE,this.setInitialVolume);if(this.container.playback.el.nodeName.toLowerCase()==="video")this.listenToOnce(this.container,k.CONTAINER_LOADEDMETADATA,this.onLoadedMetadataOnVideoTag)}},{key:"disable",value:function e(){this.userDisabled=true;this.hide();this.unbindKeyEvents();this.$el.hide()}},{key:"enable",value:function e(){if(this.options.chromeless)return;this.userDisabled=false;this.bindKeyEvents();this.show()}},{key:"play",value:function e(){this.container&&this.container.play()}},{key:"pause",value:function e(){this.container&&this.container.pause()}},{key:"stop",value:function e(){this.container&&this.container.stop()}},{key:"setInitialVolume",value:function e(){var t=this.persistConfig?Fn.restore("volume"):100;var r=this.container&&this.container.options||this.options;this.setVolume(r.mute?0:t,true)}},{key:"onVolumeChanged",value:function e(){this.updateVolumeUI()}},{key:"onLoadedMetadataOnVideoTag",value:function e(){var t=this.playback&&this.playback.el;if(!Bn.fullscreenEnabled()&&t.webkitSupportsFullscreen){this.fullScreenOnVideoTagSupported=true;this.settingsUpdate()}}},{key:"updateVolumeUI",value:function e(){if(!this.rendered)return;this.$volumeBarContainer.find(".bar-fill-2").css({});var t=this.$volumeBarContainer.width();var r=this.$volumeBarBackground.width();var n=(t-r)/2;var i=r*this.volume/100+n;this.$volumeBarFill.css({width:"".concat(this.volume,"%")});this.$volumeBarScrubber.css({left:i});this.$volumeBarContainer.find(".segmented-bar-element").removeClass("fill");var a=Math.ceil(this.volume/10);this.$volumeBarContainer.find(".segmented-bar-element").slice(0,a).addClass("fill");this.$volumeIcon.html("");this.$volumeIcon.removeClass("muted");if(!this.muted)this.$volumeIcon.append(Dn);else{this.$volumeIcon.append(Pn);this.$volumeIcon.addClass("muted")}this.applyButtonStyle(this.$volumeIcon)}},{key:"changeTogglePlay",value:function e(){this.$playPauseToggle.html("");this.$playStopToggle.html("");if(this.container&&this.container.isPlaying()){this.$playPauseToggle.append(_n);this.$playStopToggle.append(In);this.trigger(k.MEDIACONTROL_PLAYING)}else{this.$playPauseToggle.append(kn);this.$playStopToggle.append(kn);this.trigger(k.MEDIACONTROL_NOTPLAYING);E.isMobile&&this.show()}this.applyButtonStyle(this.$playPauseToggle);this.applyButtonStyle(this.$playStopToggle)}},{key:"mousemoveOnSeekBar",value:function e(t){if(this.settings.seekEnabled){var r=t.pageX-this.$seekBarContainer.offset().left-this.$seekBarHover.width()/2;this.$seekBarHover.css({left:r})}this.trigger(k.MEDIACONTROL_MOUSEMOVE_SEEKBAR,t)}},{key:"mouseleaveOnSeekBar",value:function e(t){this.trigger(k.MEDIACONTROL_MOUSELEAVE_SEEKBAR,t)}},{key:"onVolumeClick",value:function e(t){this.setVolume(this.getVolumeFromUIEvent(t))}},{key:"mousemoveOnVolumeBar",value:function e(t){this.draggingVolumeBar&&this.setVolume(this.getVolumeFromUIEvent(t))}},{key:"playerResize",value:function e(t){this.$fullscreenToggle.html("");var r=this.core.isFullscreen()?xn:Nn;this.$fullscreenToggle.append(r);this.applyButtonStyle(this.$fullscreenToggle);this.$el.find(".media-control").length!==0&&this.$el.removeClass("w320");if(t.width<=320||this.options.hideVolumeBar)this.$el.addClass("w320")}},{key:"togglePlayPause",value:function e(){this.container.isPlaying()?this.container.pause():this.container.play();return false}},{key:"togglePlayStop",value:function e(){this.container.isPlaying()?this.container.stop():this.container.play()}},{key:"startSeekDrag",value:function e(t){if(!this.settings.seekEnabled)return;this.draggingSeekBar=true;this.$el.addClass("dragging");this.$seekBarLoaded.addClass("media-control-notransition");this.$seekBarPosition.addClass("media-control-notransition");this.$seekBarScrubber.addClass("media-control-notransition");t&&t.preventDefault()}},{key:"startVolumeDrag",value:function e(t){this.draggingVolumeBar=true;this.$el.addClass("dragging");t&&t.preventDefault()}},{key:"stopDrag",value:function e(t){this.draggingSeekBar&&this.seek(t);this.$el.removeClass("dragging");this.$seekBarLoaded.removeClass("media-control-notransition");this.$seekBarPosition.removeClass("media-control-notransition");this.$seekBarScrubber.removeClass("media-control-notransition dragging");this.draggingSeekBar=false;this.draggingVolumeBar=false}},{key:"updateDrag",value:function e(t){if(this.draggingSeekBar){t.preventDefault();var r=t.pageX-this.$seekBarContainer.offset().left;var n=r/this.$seekBarContainer.width()*100;n=Math.min(100,Math.max(n,0));this.setSeekPercentage(n)}else if(this.draggingVolumeBar){t.preventDefault();this.setVolume(this.getVolumeFromUIEvent(t))}}},{key:"getVolumeFromUIEvent",value:function e(t){var r=t.pageX-this.$volumeBarContainer.offset().left;var n=r/this.$volumeBarContainer.width()*100;return n}},{key:"toggleMute",value:function e(){this.setVolume(this.muted?100:0)}},{key:"setVolume",value:function e(t){var r=this;var n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;t=Math.min(100,Math.max(t,0));this.intendedVolume=t;this.persistConfig&&!n&&Fn.persist("volume",t);var i=function e(){if(r.container&&r.container.isReady)r.container.setVolume(t);else r.listenToOnce(r.container,k.CONTAINER_READY,function(){r.container.setVolume(t)})};if(!this.container)this.listenToOnce(this,k.MEDIACONTROL_CONTAINERCHANGED,function(){return i()});else i()}},{key:"toggleFullscreen",value:function e(){this.trigger(k.MEDIACONTROL_FULLSCREEN,this.name);this.container.fullscreen();this.core.toggleFullscreen();this.resetUserKeepVisible()}},{key:"onActiveContainerChanged",value:function e(){this.fullScreenOnVideoTagSupported=null;this.bindEvents();this.setInitialVolume();this.changeTogglePlay();this.bindContainerEvents();this.settingsUpdate();this.container&&this.container.trigger(k.CONTAINER_PLAYBACKDVRSTATECHANGED,this.container.isDvrInUse());this.container&&this.container.mediaControlDisabled&&this.disable();this.trigger(k.MEDIACONTROL_CONTAINERCHANGED)}},{key:"showVolumeBar",value:function e(){this.hideVolumeId&&clearTimeout(this.hideVolumeId);this.$volumeBarContainer.removeClass("volume-bar-hide")}},{key:"hideVolumeBar",value:function e(){var t=this;var r=arguments.length>0&&arguments[0]!==undefined?arguments[0]:400;if(!this.$volumeBarContainer)return;if(this.draggingVolumeBar)this.hideVolumeId=setTimeout(function(){return t.hideVolumeBar()},r);else{this.hideVolumeId&&clearTimeout(this.hideVolumeId);this.hideVolumeId=setTimeout(function(){return t.$volumeBarContainer.addClass("volume-bar-hide")},r)}}},{key:"ended",value:function e(){this.changeTogglePlay()}},{key:"updateProgressBar",value:function e(t){var r=t.start/t.total*100;var n=t.current/t.total*100;this.$seekBarLoaded.css({left:"".concat(r,"%"),width:"".concat(n-r,"%")})}},{key:"onTimeUpdate",value:function e(t){if(this.draggingSeekBar)return;var r=t.current<0?t.total:t.current;this.currentPositionValue=r;this.currentDurationValue=t.total;this.renderSeekBar()}},{key:"renderSeekBar",value:function e(){if(this.currentPositionValue===null||this.currentDurationValue===null)return;this.currentSeekBarPercentage=100;if(this.container&&(this.container.getPlaybackType()!==S.LIVE||this.container.isDvrInUse()))this.currentSeekBarPercentage=this.currentPositionValue/this.currentDurationValue*100;this.setSeekPercentage(this.currentSeekBarPercentage);var t=Un(this.currentPositionValue);var r=Un(this.currentDurationValue);if(t!==this.displayedPosition){this.$position.text(t);this.displayedPosition=t}if(r!==this.displayedDuration){this.$duration.text(r);this.displayedDuration=r}}},{key:"seek",value:function e(t){if(!this.settings.seekEnabled)return;var r=t.pageX-this.$seekBarContainer.offset().left;var n=r/this.$seekBarContainer.width()*100;n=Math.min(100,Math.max(n,0));this.container&&this.container.seekPercentage(n);this.setSeekPercentage(n);return false}},{key:"setKeepVisible",value:function e(){this.keepVisible=true}},{key:"resetKeepVisible",value:function e(){this.keepVisible=false}},{key:"setUserKeepVisible",value:function e(){this.userKeepVisible=true}},{key:"resetUserKeepVisible",value:function e(){this.userKeepVisible=false}},{key:"isVisible",value:function e(){return!this.$el.hasClass("media-control-hide")}},{key:"show",value:function e(t){var r=this;if(this.disabled)return;var n=2e3;var i=t&&t.clientX!==this.lastMouseX&&t.clientY!==this.lastMouseY;if(!t||i||navigator.userAgent.match(/firefox/i)){clearTimeout(this.hideId);this.$el.show();this.trigger(k.MEDIACONTROL_SHOW,this.name);this.container&&this.container.trigger(k.CONTAINER_MEDIACONTROL_SHOW,this.name);this.$el.removeClass("media-control-hide");this.hideId=setTimeout(function(){return r.hide()},n);if(t){this.lastMouseX=t.clientX;this.lastMouseY=t.clientY}}var a=true;this.updateCursorStyle(a)}},{key:"hide",value:function e(){var t=this;var r=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;if(!this.isVisible())return;var n=r||2e3;clearTimeout(this.hideId);if(!this.disabled&&this.options.hideMediaControl===false)return;var i=this.userKeepVisible||this.keepVisible;var a=this.draggingSeekBar||this.draggingVolumeBar;if(!this.disabled&&(r||i||a))this.hideId=setTimeout(function(){return t.hide()},n);else{this.trigger(k.MEDIACONTROL_HIDE,this.name);this.container&&this.container.trigger(k.CONTAINER_MEDIACONTROL_HIDE,this.name);this.$el.addClass("media-control-hide");this.hideVolumeBar(0);var s=false;this.updateCursorStyle(s)}}},{key:"updateCursorStyle",value:function e(t){if(t)this.core.$el.removeClass("nocursor");else if(this.core.isFullscreen())this.core.$el.addClass("nocursor")}},{key:"settingsUpdate",value:function e(){var t=this.getSettings();if(t&&!this.fullScreenOnVideoTagSupported&&!Bn.fullscreenEnabled()){t["default"]&&Vn(t["default"],"fullscreen");t.left&&Vn(t.left,"fullscreen");t.right&&Vn(t.right,"fullscreen")}var r=JSON.stringify(this.settings)!==JSON.stringify(t);if(r){this.settings=t;this.render()}}},{key:"getSettings",value:function e(){return y.extend(true,{},this.container&&this.container.settings)}},{key:"highDefinitionUpdate",value:function e(t){this.isHD=t;var r=t?"addClass":"removeClass";this.$hdIndicator[r]("enabled")}},{key:"createCachedElements",value:function e(){var t=this.$el.find(".media-control-layer");this.$duration=t.find(".media-control-indicator[data-duration]");this.$fullscreenToggle=t.find("button.media-control-button[data-fullscreen]");this.$playPauseToggle=t.find("button.media-control-button[data-playpause]");this.$playStopToggle=t.find("button.media-control-button[data-playstop]");this.$position=t.find(".media-control-indicator[data-position]");this.$seekBarContainer=t.find(".bar-container[data-seekbar]");this.$seekBarHover=t.find(".bar-hover[data-seekbar]");this.$seekBarLoaded=t.find(".bar-fill-1[data-seekbar]");this.$seekBarPosition=t.find(".bar-fill-2[data-seekbar]");this.$seekBarScrubber=t.find(".bar-scrubber[data-seekbar]");this.$volumeBarContainer=t.find(".bar-container[data-volume]");this.$volumeContainer=t.find(".drawer-container[data-volume]");this.$volumeIcon=t.find(".drawer-icon[data-volume]");this.$volumeBarBackground=this.$el.find(".bar-background[data-volume]");this.$volumeBarFill=this.$el.find(".bar-fill-1[data-volume]");this.$volumeBarScrubber=this.$el.find(".bar-scrubber[data-volume]");this.$hdIndicator=this.$el.find("button.media-control-button[data-hd-indicator]");this.resetIndicators();this.initializeIcons()}},{key:"resetIndicators",value:function e(){this.displayedPosition=this.$position.text();this.displayedDuration=this.$duration.text()}},{key:"initializeIcons",value:function e(){var t=this.$el.find(".media-control-layer");t.find("button.media-control-button[data-play]").append(kn);t.find("button.media-control-button[data-pause]").append(_n);t.find("button.media-control-button[data-stop]").append(In);this.$playPauseToggle.append(kn);this.$playStopToggle.append(kn);this.$volumeIcon.append(Dn);this.$fullscreenToggle.append(Nn);this.$hdIndicator.append(Mn)}},{key:"setSeekPercentage",value:function e(t){t=Math.max(Math.min(t,100),0);if(this.displayedSeekBarPercentage===t)return;this.displayedSeekBarPercentage=t;this.$seekBarPosition.removeClass("media-control-notransition");this.$seekBarScrubber.removeClass("media-control-notransition");this.$seekBarPosition.css({width:"".concat(t,"%")});this.$seekBarScrubber.css({left:"".concat(t,"%")})}},{key:"seekRelative",value:function e(t){if(!this.settings.seekEnabled)return;var r=this.container.getCurrentTime();var n=this.container.getDuration();var i=Math.min(Math.max(r+t,0),n);i=Math.min(i*100/n,100);this.container.seekPercentage(i)}},{key:"bindKeyAndShow",value:function e(t,r){var n=this;this.kibo.down(t,function(){n.show();return r()})}},{key:"bindKeyEvents",value:function e(){var t=this;if(E.isMobile||this.options.disableKeyboardShortcuts)return;this.unbindKeyEvents();this.kibo=new D(this.options.focusElement||this.options.parentElement);this.bindKeyAndShow("space",function(){return t.togglePlayPause()});this.bindKeyAndShow("left",function(){return t.seekRelative(-5)});this.bindKeyAndShow("right",function(){return t.seekRelative(5)});this.bindKeyAndShow("shift left",function(){return t.seekRelative(-10)});this.bindKeyAndShow("shift right",function(){return t.seekRelative(10)});this.bindKeyAndShow("shift ctrl left",function(){return t.seekRelative(-15)});this.bindKeyAndShow("shift ctrl right",function(){return t.seekRelative(15)});var r=["1","2","3","4","5","6","7","8","9","0"];r.forEach(function(e){t.bindKeyAndShow(e,function(){t.settings.seekEnabled&&t.container&&t.container.seekPercentage(e*10)})})}},{key:"unbindKeyEvents",value:function e(){if(this.kibo){this.kibo.off("space");this.kibo.off("left");this.kibo.off("right");this.kibo.off("shift left");this.kibo.off("shift right");this.kibo.off("shift ctrl left");this.kibo.off("shift ctrl right");this.kibo.off(["1","2","3","4","5","6","7","8","9","0"])}}},{key:"parseColors",value:function e(){if(this.options.mediacontrol){this.buttonsColor=this.options.mediacontrol.buttons;var t=this.options.mediacontrol.seekbar;this.$el.find(".bar-fill-2[data-seekbar]").css("background-color",t);this.$el.find(".media-control-icon svg path").css("fill",this.buttonsColor);this.$el.find(".segmented-bar-element[data-volume]").css("boxShadow","inset 2px 0 0 "+this.buttonsColor)}}},{key:"applyButtonStyle",value:function e(t){this.buttonsColor&&t&&y(t).find("svg path").css("fill",this.buttonsColor)}},{key:"destroy",value:function e(){y(document).unbind("mouseup",this.stopDragHandler);y(document).unbind("mousemove",this.updateDragHandler);this.unbindKeyEvents();this.stopListening();on(en(n.prototype),"destroy",this).call(this)}},{key:"configure",value:function e(t){if(this.options.chromeless||t.source||t.sources)this.disable();else this.enable();this.trigger(k.MEDIACONTROL_OPTIONS_CHANGE)}},{key:"render",value:function e(){var t=this;var r=this.options.hideMediaControlDelay||2e3;this.settings&&this.$el.html(this.template({settings:this.settings}));this.createCachedElements();this.$playPauseToggle.addClass("paused");this.$playStopToggle.addClass("stopped");this.changeTogglePlay();if(this.container){this.hideId=setTimeout(function(){return t.hide()},r);this.disabled&&this.hide()}if(E.isSafari&&E.isMobile)if(E.version<10)this.$volumeContainer.css("display","none");else this.$volumeBarContainer.css("display","none");this.$seekBarPosition.addClass("media-control-notransition");this.$seekBarScrubber.addClass("media-control-notransition");var n=0;if(this.displayedSeekBarPercentage)n=this.displayedSeekBarPercentage;this.displayedSeekBarPercentage=null;this.setSeekPercentage(n);setTimeout(function(){!t.settings.seekEnabled&&t.$seekBarContainer.addClass("seek-disabled");!E.isMobile&&!t.options.disableKeyboardShortcuts&&t.bindKeyEvents();t.playerResize({width:t.options.width,height:t.options.height});t.hideVolumeBar(0)},0);this.parseColors();this.highDefinitionUpdate(this.isHD);this.core.$el.append(this.el);this.rendered=true;this.updateVolumeUI();this.trigger(k.MEDIACONTROL_RENDERED);return this}}]);return n}(i),Kn=(Gn.extend=function(e){return jn(Gn,e)},'
\n'),Yn,Hn=(dn(".player-poster[data-poster] {\n display: flex;\n justify-content: center;\n align-items: center;\n position: absolute;\n height: 100%;\n width: 100%;\n z-index: 998;\n top: 0;\n left: 0;\n background-color: transparent;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: 50% 50%; }\n .player-poster[data-poster].clickable {\n cursor: pointer; }\n .player-poster[data-poster]:hover .play-wrapper[data-poster] {\n opacity: 1; }\n .player-poster[data-poster] .play-wrapper[data-poster] {\n width: 100%;\n height: 25%;\n margin: 0 auto;\n opacity: 0.75;\n transition: opacity 0.1s ease; }\n .player-poster[data-poster] .play-wrapper[data-poster] svg {\n height: 100%; }\n .player-poster[data-poster] .play-wrapper[data-poster] svg path {\n fill: #fff; }\n"),function(e){L(n,e);var r=I(n);function n(e){var t;w(this,n);t=r.call(this,e);t.hasStartedPlaying=false;t.playRequested=false;t.render();setTimeout(function(){return t.update()},0);return t}O(n,[{key:"name",get:function e(){return"poster"}},{key:"supportedVersion",get:function e(){return{min:"0.4.18"}}},{key:"template",get:function e(){return _(Kn)}},{key:"shouldRender",get:function e(){var t=!!(this.options.poster&&this.options.poster.showForNoOp);return this.container.playback.name!=="html_img"&&(this.container.playback.getPlaybackType()!==S.NO_OP||t)}},{key:"attributes",get:function e(){return{class:"player-poster","data-poster":""}}},{key:"events",get:function e(){return{click:"clicked"}}},{key:"showOnVideoEnd",get:function e(){return!this.options.poster||this.options.poster.showOnVideoEnd||this.options.poster.showOnVideoEnd===undefined}},{key:"bindEvents",value:function e(){this.listenTo(this.container,k.CONTAINER_STOP,this.onStop);this.listenTo(this.container,k.CONTAINER_PLAY,this.onPlay);this.listenTo(this.container,k.CONTAINER_STATE_BUFFERING,this.update);this.listenTo(this.container,k.CONTAINER_STATE_BUFFERFULL,this.update);this.listenTo(this.container,k.CONTAINER_OPTIONS_CHANGE,this.render);this.listenTo(this.container,k.CONTAINER_ERROR,this.onError);this.showOnVideoEnd&&this.listenTo(this.container,k.CONTAINER_ENDED,this.onStop)}},{key:"onError",value:function e(t){this.hasFatalError=t.level===T.Levels.FATAL;if(this.hasFatalError){this.hasStartedPlaying=false;this.playRequested=false;this.showPlayButton()}}},{key:"onPlay",value:function e(){this.hasStartedPlaying=true;this.update()}},{key:"onStop",value:function e(){this.hasStartedPlaying=false;this.playRequested=false;this.update()}},{key:"updatePlayButton",value:function e(t){if(t&&(!this.options.chromeless||this.options.allowUserInteraction))this.showPlayButton();else this.hidePlayButton()}},{key:"showPlayButton",value:function e(){if(this.hasFatalError&&!this.options.disableErrorScreen)return;this.$playButton.show();this.$el.addClass("clickable")}},{key:"hidePlayButton",value:function e(){this.$playButton.hide();this.$el.removeClass("clickable")}},{key:"clicked",value:function e(){if(!this.hasStartedPlaying){if(!this.options.chromeless||this.options.allowUserInteraction){this.playRequested=true;this.update();this.container.playback&&(this.container.playback._consented=true);this.container.play()}return false}}},{key:"shouldHideOnPlay",value:function e(){return!this.container.playback.isAudioOnly}},{key:"update",value:function e(){if(!this.shouldRender)return;var t=!this.playRequested&&!this.hasStartedPlaying&&!this.container.buffering;this.updatePlayButton(t);this.updatePoster()}},{key:"updatePoster",value:function e(){if(!this.hasStartedPlaying)this.showPoster();else this.hidePoster()}},{key:"showPoster",value:function e(){this.container.disableMediaControl();this.$el.show()}},{key:"hidePoster",value:function e(){this.container.enableMediaControl();if(this.shouldHideOnPlay())this.$el.hide()}},{key:"render",value:function e(){if(!this.shouldRender)return;this.$el.html(this.template());var t=this.options.poster&&this.options.poster.custom===undefined;if(t){var r=this.options.poster.url||this.options.poster;this.$el.css({"background-image":"url("+r+")"});this.removeVideoElementPoster()}else if(this.options.poster){this.$el.css({background:this.options.poster.custom});this.removeVideoElementPoster()}this.container.$el.append(this.el);this.$playWrapper=this.$el.find(".play-wrapper");this.$playWrapper.append(kn);this.$playButton=this.$playWrapper.find("svg");this.$playButton.addClass("poster-icon");this.$playButton.attr("data-poster","");var n=this.options.mediacontrol&&this.options.mediacontrol.buttons;if(n)this.$el.find("svg path").css("fill",n);if(this.options.mediacontrol&&this.options.mediacontrol.buttons){n=this.options.mediacontrol.buttons;this.$playButton.css("color",n)}this.update();return this}},{key:"removeVideoElementPoster",value:function e(){this.container.playback&&this.container.playback.$el&&this.container.playback.$el[0]&&this.container.playback.$el[0].removeAttribute&&this.container.playback.$el[0].removeAttribute("poster")}}]);return n}(C)),zn="\n\n",$n,Wn=(dn('.seek-time[data-seek-time] {\n position: absolute;\n white-space: nowrap;\n height: 20px;\n line-height: 20px;\n font-size: 0;\n left: -100%;\n bottom: 55px;\n background-color: rgba(2, 2, 2, 0.5);\n z-index: 9999;\n transition: opacity 0.1s ease; }\n .seek-time[data-seek-time].hidden[data-seek-time] {\n opacity: 0; }\n .seek-time[data-seek-time] [data-seek-time] {\n display: inline-block;\n color: white;\n font-size: 10px;\n padding-left: 7px;\n padding-right: 7px;\n vertical-align: top; }\n .seek-time[data-seek-time] [data-duration] {\n display: inline-block;\n color: rgba(255, 255, 255, 0.5);\n font-size: 10px;\n padding-right: 7px;\n vertical-align: top; }\n .seek-time[data-seek-time] [data-duration]:before {\n content: "|";\n margin-right: 7px; }\n'),t.formatTime),qn=function(e){L(n,e);var r=I(n);function n(e){var t;w(this,n);t=r.call(this,e);t.hoveringOverSeekBar=false;t.hoverPosition=null;t.duration=null;t.firstFragDateTime=null;t.actualLiveTime=!!t.mediaControl.options.actualLiveTime;if(t.actualLiveTime)if(t.mediaControl.options.actualLiveServerTime)t.actualLiveServerTimeDiff=(new Date).getTime()-new Date(t.mediaControl.options.actualLiveServerTime).getTime();else t.actualLiveServerTimeDiff=0;return t}O(n,[{key:"name",get:function e(){return"seek_time"}},{key:"supportedVersion",get:function e(){return{min:"0.4.18"}}},{key:"template",get:function e(){return _(zn)}},{key:"attributes",get:function e(){return{class:"seek-time","data-seek-time":""}}},{key:"mediaControl",get:function e(){return this.core.mediaControl}},{key:"mediaControlContainer",get:function e(){return this.mediaControl.container}},{key:"isLiveStreamWithDvr",get:function e(){return this.mediaControlContainer&&this.mediaControlContainer.getPlaybackType()===S.LIVE&&this.mediaControlContainer.isDvrEnabled()}},{key:"durationShown",get:function e(){return this.isLiveStreamWithDvr&&!this.actualLiveTime}},{key:"useActualLiveTime",get:function e(){return this.actualLiveTime&&this.isLiveStreamWithDvr}},{key:"bindEvents",value:function e(){this.listenTo(this.mediaControl,k.MEDIACONTROL_RENDERED,this.render);this.listenTo(this.mediaControl,k.MEDIACONTROL_MOUSEMOVE_SEEKBAR,this.showTime);this.listenTo(this.mediaControl,k.MEDIACONTROL_MOUSELEAVE_SEEKBAR,this.hideTime);this.listenTo(this.mediaControl,k.MEDIACONTROL_CONTAINERCHANGED,this.onContainerChanged);if(this.mediaControlContainer){this.listenTo(this.mediaControlContainer,k.CONTAINER_PLAYBACKDVRSTATECHANGED,this.update);this.listenTo(this.mediaControlContainer,k.CONTAINER_TIMEUPDATE,this.updateDuration)}}},{key:"onContainerChanged",value:function e(){this.stopListening();this.bindEvents()}},{key:"updateDuration",value:function e(t){this.duration=t.total;this.firstFragDateTime=t.firstFragDateTime;this.update()}},{key:"showTime",value:function e(t){this.hoveringOverSeekBar=true;this.calculateHoverPosition(t);this.update()}},{key:"hideTime",value:function e(){this.hoveringOverSeekBar=false;this.update()}},{key:"calculateHoverPosition",value:function e(t){var r=t.pageX-this.mediaControl.$seekBarContainer.offset().left;this.hoverPosition=Math.min(1,Math.max(r/this.mediaControl.$seekBarContainer.width(),0))}},{key:"getSeekTime",value:function e(){var t,r,n,i;if(this.useActualLiveTime){if(this.firstFragDateTime){i=new Date(this.firstFragDateTime);n=new Date(this.firstFragDateTime);n.setHours(0,0,0,0);r=(i.getTime()-n.getTime())/1e3+this.duration}else{n=new Date((new Date).getTime()-this.actualLiveServerTimeDiff);i=new Date(n);r=(i-n.setHours(0,0,0,0))/1e3}t=r-this.duration+this.hoverPosition*this.duration;if(t<0)t+=86400}else t=this.hoverPosition*this.duration;return{seekTime:t,secondsSinceMidnight:r}}},{key:"update",value:function e(){if(!this.rendered)return;if(!this.shouldBeVisible()){this.$el.hide();this.$el.css("left","-100%")}else{var t=this.getSeekTime();var r=Wn(t.seekTime,this.useActualLiveTime);if(r!==this.displayedSeekTime){this.$seekTimeEl.text(r);this.displayedSeekTime=r}if(this.durationShown){this.$durationEl.show();var n=Wn(this.actualLiveTime?t.secondsSinceMidnight:this.duration,this.actualLiveTime);if(n!==this.displayedDuration){this.$durationEl.text(n);this.displayedDuration=n}}else this.$durationEl.hide();this.$el.show();var i=this.mediaControl.$seekBarContainer.width();var a=this.$el.width();var s=this.hoverPosition*i;s-=a/2;s=Math.max(0,Math.min(s,i-a));this.$el.css("left",s)}}},{key:"shouldBeVisible",value:function e(){return this.mediaControlContainer&&this.mediaControlContainer.settings.seekEnabled&&this.hoveringOverSeekBar&&this.hoverPosition!==null&&this.duration!==null}},{key:"render",value:function e(){this.rendered=true;this.displayedDuration=null;this.displayedSeekTime=null;this.$el.html(this.template());this.$el.hide();this.mediaControl.$el.append(this.el);this.$seekTimeEl=this.$el.find("[data-seek-time]");this.$durationEl=this.$el.find("[data-duration]");this.$durationEl.hide();this.update()}}]);return n}(i),Xn="
\n",Zn,Qn=(dn(".spinner-three-bounce[data-spinner] {\n position: absolute;\n margin: 0 auto;\n width: 70px;\n text-align: center;\n z-index: 999;\n left: 0;\n right: 0;\n margin-left: auto;\n margin-right: auto;\n /* center vertically */\n top: 50%;\n transform: translateY(-50%); }\n .spinner-three-bounce[data-spinner] > div {\n width: 18px;\n height: 18px;\n background-color: #FFFFFF;\n border-radius: 100%;\n display: inline-block;\n -webkit-animation: bouncedelay 1.4s infinite ease-in-out;\n animation: bouncedelay 1.4s infinite ease-in-out;\n /* Prevent first frame from flickering when animation starts */\n -webkit-animation-fill-mode: both;\n animation-fill-mode: both; }\n .spinner-three-bounce[data-spinner] [data-bounce1] {\n -webkit-animation-delay: -0.32s;\n animation-delay: -0.32s; }\n .spinner-three-bounce[data-spinner] [data-bounce2] {\n -webkit-animation-delay: -0.16s;\n animation-delay: -0.16s; }\n\n@-webkit-keyframes bouncedelay {\n 0%, 80%, 100% {\n transform: scale(0); }\n 40% {\n transform: scale(1); } }\n\n@keyframes bouncedelay {\n 0%, 80%, 100% {\n transform: scale(0); }\n 40% {\n transform: scale(1); } }\n"),function(e){L(n,e);var r=I(n);function n(e){var t;w(this,n);t=r.call(this,e);t.template=_(Xn);t.showTimeout=null;t.listenTo(t.container,k.CONTAINER_STATE_BUFFERING,t.onBuffering);t.listenTo(t.container,k.CONTAINER_STATE_BUFFERFULL,t.onBufferFull);t.listenTo(t.container,k.CONTAINER_STOP,t.onStop);t.listenTo(t.container,k.CONTAINER_ENDED,t.onStop);t.listenTo(t.container,k.CONTAINER_ERROR,t.onStop);t.render();return t}O(n,[{key:"name",get:function e(){return"spinner"}},{key:"supportedVersion",get:function e(){return{min:"0.4.18"}}},{key:"attributes",get:function e(){return{"data-spinner":"",class:"spinner-three-bounce"}}},{key:"onBuffering",value:function e(){this.show()}},{key:"onBufferFull",value:function e(){this.hide()}},{key:"onStop",value:function e(){this.hide()}},{key:"show",value:function e(){var t=this;if(this.showTimeout===null)this.showTimeout=setTimeout(function(){return t.$el.show()},300)}},{key:"hide",value:function e(){if(this.showTimeout!==null){clearTimeout(this.showTimeout);this.showTimeout=null}this.$el.hide()}},{key:"render",value:function e(){this.$el.html(this.template());this.container.$el.append(this.$el);this.$el.hide();if(this.container.buffering)this.onBuffering();return this}}]);return n}(C)),Jn=function(e){L(n,e);var r=I(n);function n(e){var t;w(this,n);t=r.call(this,e);t.setInitialAttrs();t.reportInterval=t.options.reportInterval||5e3;t.state="IDLE";return t}O(n,[{key:"name",get:function e(){return"stats"}},{key:"supportedVersion",get:function e(){return{min:"0.4.18"}}},{key:"bindEvents",value:function e(){this.listenTo(this.container.playback,k.PLAYBACK_PLAY,this.onPlay);this.listenTo(this.container,k.CONTAINER_STOP,this.onStop);this.listenTo(this.container,k.CONTAINER_ENDED,this.onStop);this.listenTo(this.container,k.CONTAINER_DESTROYED,this.onStop);this.listenTo(this.container,k.CONTAINER_STATE_BUFFERING,this.onBuffering);this.listenTo(this.container,k.CONTAINER_STATE_BUFFERFULL,this.onBufferFull);this.listenTo(this.container,k.CONTAINER_STATS_ADD,this.onStatsAdd);this.listenTo(this.container,k.CONTAINER_BITRATE,this.onStatsAdd);this.listenTo(this.container.playback,k.PLAYBACK_STATS_ADD,this.onStatsAdd)}},{key:"setInitialAttrs",value:function e(){this.firstPlay=true;this.startupTime=0;this.rebufferingTime=0;this.watchingTime=0;this.rebuffers=0;this.externalMetrics={}}},{key:"onPlay",value:function e(){this.state="PLAYING";this.watchingTimeInit=Date.now();if(!this.intervalId)this.intervalId=setInterval(this.report.bind(this),this.reportInterval)}},{key:"onStop",value:function e(){clearInterval(this.intervalId);this.report();this.intervalId=undefined;this.state="STOPPED"}},{key:"onBuffering",value:function e(){if(this.firstPlay)this.startupTimeInit=Date.now();else this.rebufferingTimeInit=Date.now();this.state="BUFFERING";this.rebuffers++}},{key:"onBufferFull",value:function e(){if(this.firstPlay&&this.startupTimeInit){this.firstPlay=false;this.startupTime=Date.now()-this.startupTimeInit;this.watchingTimeInit=Date.now()}else if(this.rebufferingTimeInit)this.rebufferingTime+=this.getRebufferingTime();this.rebufferingTimeInit=undefined;this.state="PLAYING"}},{key:"getRebufferingTime",value:function e(){return Date.now()-this.rebufferingTimeInit}},{key:"getWatchingTime",value:function e(){var t=Date.now()-this.watchingTimeInit;return t-this.rebufferingTime}},{key:"isRebuffering",value:function e(){return!!this.rebufferingTimeInit}},{key:"onStatsAdd",value:function e(t){y.extend(this.externalMetrics,t)}},{key:"getStats",value:function e(){var t={startupTime:this.startupTime,rebuffers:this.rebuffers,rebufferingTime:this.isRebuffering()?this.rebufferingTime+this.getRebufferingTime():this.rebufferingTime,watchingTime:this.isRebuffering()?this.getWatchingTime()-this.getRebufferingTime():this.getWatchingTime()};y.extend(t,this.externalMetrics);return t}},{key:"report",value:function e(){this.container.statsReport(this.getStats())}}]);return n}(a),ei='
>\n<% if(typeof imageLink !== \'undefined\') { %>\n\n<% } %>\n\n<% if(typeof imageLink !== \'undefined\') { %>\n\n<% } %>\n
\n',ti;dn(".clappr-watermark[data-watermark] {\n position: absolute;\n min-width: 70px;\n max-width: 200px;\n width: 12%;\n text-align: center;\n z-index: 10; }\n\n.clappr-watermark[data-watermark] a {\n outline: none;\n cursor: pointer; }\n\n.clappr-watermark[data-watermark] img {\n max-width: 100%; }\n\n.clappr-watermark[data-watermark-bottom-left] {\n bottom: 10px;\n left: 10px; }\n\n.clappr-watermark[data-watermark-bottom-right] {\n bottom: 10px;\n right: 42px; }\n\n.clappr-watermark[data-watermark-top-left] {\n top: 10px;\n left: 10px; }\n\n.clappr-watermark[data-watermark-top-right] {\n top: 10px;\n right: 37px; }\n");for(var ri,P={ClickToPause:ln,ClosedCaptions:hn,DVRControls:gn,EndVideo:An,ErrorScreen:bn,Favicon:Sn,GoogleAnalytics:Cn,MediaControl:Gn,Poster:Hn,SeekTime:qn,SpinnerThreeBounce:Qn,Stats:Jn,WaterMark:function(e){L(n,e);var r=I(n);function n(e){var t;w(this,n);t=r.call(this,e);t.configure();return t}O(n,[{key:"name",get:function e(){return"watermark"}},{key:"supportedVersion",get:function e(){return{min:"0.4.18"}}},{key:"template",get:function e(){return _(ei)}},{key:"bindEvents",value:function e(){this.listenTo(this.container,k.CONTAINER_PLAY,this.onPlay);this.listenTo(this.container,k.CONTAINER_STOP,this.onStop);this.listenTo(this.container,k.CONTAINER_OPTIONS_CHANGE,this.configure)}},{key:"configure",value:function e(){this.position=this.options.position||"bottom-right";if(this.options.watermark){this.imageUrl=this.options.watermark;this.imageLink=this.options.watermarkLink;this.render()}else this.$el.remove()}},{key:"onPlay",value:function e(){if(!this.hidden)this.$el.show()}},{key:"onStop",value:function e(){this.$el.hide()}},{key:"render",value:function e(){this.$el.hide();var t={position:this.position,imageUrl:this.imageUrl,imageLink:this.imageLink};this.$el.html(this.template(t));this.container.$el.append(this.$el);return this}}]);return n}(C)},ni="0.4.6",ii=0,ai=Object.values(P);iie.length)t=e.length;for(var r=0,n=new Array(t);r0},false)}function c(e,t){var r={main:[t]};var n={main:[]};var i={main:{}};while(m(r)){var a=Object.keys(r);for(var s=0;s>>8^A&255^99;t[p]=A;r[A]=p;var m=h[p];var y=h[m];var E=h[y];var b=h[A]*257^A*16843008;i[p]=b<<24|b>>>8;a[p]=b<<16|b>>>16;s[p]=b<<8|b>>>24;o[p]=b;b=E*16843009^y*65537^m*257^p*16843008;u[A]=b<<24|b>>>8;c[A]=b<<16|b>>>16;d[A]=b<<8|b>>>24;f[A]=b;if(!p)p=v=1;else{p=m^h[h[h[E^m]]];v^=h[h[v]]}}};t.expandKey=function e(t){var r=this.uint8ArrayToUint32Array_(t);var n=true;var i=0;while(i>>6)+1;a=(t[r+2]&60)>>>2;if(a>d.length-1){e.trigger(oe["default"].ERROR,{type:le["ErrorTypes"].MEDIA_ERROR,details:le["ErrorDetails"].FRAG_PARSING_ERROR,fatal:true,reason:"invalid ADTS sampling index:"+a});return}o=(t[r+2]&1)<<2;o|=(t[r+3]&192)>>>6;ue["logger"].log("manifest codec:"+n+",ADTS data:type:"+i+",sampleingIndex:"+a+"["+d[a]+"Hz],channelConfig:"+o);if(/firefox/i.test(u))if(a>=6){i=5;l=new Array(4);s=a-3}else{i=2;l=new Array(2);s=a}else if(u.indexOf("android")!==-1){i=2;l=new Array(2);s=a}else{i=5;l=new Array(4);if(n&&(n.indexOf("mp4a.40.29")!==-1||n.indexOf("mp4a.40.5")!==-1)||!n&&a>=6)s=a-3;else{if(n&&n.indexOf("mp4a.40.2")!==-1&&(a>=6&&o===1||/vivaldi/i.test(u))||!n&&o===1){i=2;l=new Array(2)}s=a}}l[0]=i<<3;l[0]|=(a&14)>>1;l[1]|=(a&1)<<7;l[1]|=o<<3;if(i===5){l[1]|=(s&14)>>1;l[2]=(s&1)<<7;l[2]|=2<<2;l[3]=0}return{config:l,samplerate:d[a],channelCount:o,codec:"mp4a.40."+i,manifestCodec:c}}function a(e,t){return e[t]===255&&(e[t+1]&246)===240}function u(e,t){return e[t+1]&1?7:9}function c(e,t){return(e[t+3]&3)<<11|e[t+4]<<3|(e[t+5]&224)>>>5}function m(e,t){if(t+1=e.length)return false;var n=c(e,t);if(n<=r)return false;var i=t+n;if(i===e.length||i+10&&t+a+s<=l){o=r+n*i;return{headerLength:a,frameLength:s,stamp:o}}return undefined}function b(e,t,r,n,i){var a=E(e.samplerate);var s=d(t,r,n,i,a);if(s){var o=s.stamp;var l=s.headerLength;var u=s.frameLength;var c={unit:t.subarray(r+l,r+l+u),pts:o,dts:o};e.samples.push(c);return{sample:c,length:u+l}}return undefined}var N=t("./src/demux/id3.js");var n=function(){function e(e,t,r){this.observer=e;this.config=r;this.remuxer=t}var t=e.prototype;t.resetInitSegment=function e(t,r,n,i){this._audioTrack={container:"audio/adts",type:"audio",id:0,sequenceNumber:0,isAAC:true,samples:[],len:0,manifestCodec:r,duration:i,inputTimeScale:9e4}};t.resetTimeStamp=function e(){};e.probe=function e(t){if(!t)return false;var r=N["default"].getID3Data(t,0)||[];var n=r.length;for(var i=t.length;nr.length)return undefined;var s=this.parseHeader(r,n);if(s&&n+s.frameLength<=r.length){var o=s.samplesPerFrame*9e4/s.sampleRate;var l=i+a*o;var u={unit:r.subarray(n,n+s.frameLength),pts:l,dts:l};t.config=[];t.channelCount=s.channelCount;t.samplerate=s.sampleRate;t.samples.push(u);return{sample:u,length:s.frameLength}}return undefined},parseHeader:function e(t,r){var n=t[r+1]>>3&3;var i=t[r+1]>>1&3;var a=t[r+2]>>4&15;var s=t[r+2]>>2&3;var o=t[r+2]>>1&1;if(n!==1&&a!==0&&a!==15&&s!==3){var l=n===3?3-i:i===3?3:4;var u=A.BitratesMap[l*14+a-1]*1e3;var c=n===3?0:n===2?1:2;var d=A.SamplingRateMap[c*3+s];var f=t[r+3]>>6===3?1:2;var h=A.SamplesCoefficients[n][i];var p=A.BytesInSlot[i];var v=h*8*p;var g=parseInt(h*u/d+o,10)*p;return{sampleRate:d,channelCount:f,frameLength:g,samplesPerFrame:v}}return undefined},isHeaderPattern:function e(t,r){return t[r]===255&&(t[r+1]&224)===224&&(t[r+1]&6)!==0},isHeader:function e(t,r){if(r+1t){this.word<<=t;this.bitsAvailable-=t}else{t-=this.bitsAvailable;r=t>>3;t-=r>>3;this.bytesAvailable-=r;this.loadWord();this.word<<=t;this.bitsAvailable-=t}};t.readBits=function e(t){var r=Math.min(this.bitsAvailable,t),n=this.word>>>32-r;if(t>32)ue["logger"].error("Cannot read more than 32 bits at a time");this.bitsAvailable-=r;if(this.bitsAvailable>0)this.word<<=r;else if(this.bytesAvailable>0)this.loadWord();r=t-r;if(r>0&&this.bitsAvailable)return n<>>t)!==0){this.word<<=t;this.bitsAvailable-=t;return t}this.loadWord();return t+this.skipLZ()};t.skipUEG=function e(){this.skipBits(1+this.skipLZ())};t.skipEG=function e(){this.skipBits(1+this.skipLZ())};t.readUEG=function e(){var t=this.skipLZ();return this.readBits(t+1)-1};t.readEG=function e(){var t=this.readUEG();if(1&t)return 1+t>>>1;else return-1*(t>>>1)};t.readBoolean=function e(){return this.readBits(1)===1};t.readUByte=function e(){return this.readBits(8)};t.readUShort=function e(){return this.readBits(16)};t.readUInt=function e(){return this.readBits(32)};t.skipScalingList=function e(t){var r=8,n=8,i,a;for(i=0;i=t.length){n();return}if(t[r].unit.length<32)continue;var i=this.decrypter.isSync();this.decryptAacSample(t,r,n,i);if(!i)return}};t.getAvcEncryptedData=function e(t){var r=Math.floor((t.length-48)/160)*16+16;var n=new Int8Array(r);var i=0;for(var a=32;a<=t.length-16;a+=160,i+=16)n.set(t.subarray(a,a+16),i);return n};t.getAvcDecryptedUnit=function e(t,r){r=new Uint8Array(r);var n=0;for(var i=32;i<=t.length-16;i+=160,n+=16)t.set(r.subarray(n,n+16),i);return t};t.decryptAvcSample=function e(t,r,n,i,a,s){var o=this.discardEPB(a.data);var l=this.getAvcEncryptedData(o);var u=this;this.decryptBuffer(l.buffer,function(e){a.data=u.getAvcDecryptedUnit(o,e);if(!s)u.decryptAvcSamples(t,r,n+1,i)})};t.decryptAvcSamples=function e(t,r,n,i){for(;;r++,n=0){if(r>=t.length){i();return}var a=t[r].units;for(;;n++){if(n>=a.length)break;var s=a[n];if(s.data.length<=48||s.type!==1&&s.type!==5)continue;var o=this.decrypter.isSync();this.decryptAvcSample(t,r,n,i,s,o);if(!o)return}}};return e}();var L=O;var I={video:1,audio:2,id3:3,text:4};var D=function(){function P(e,t,r,n){this.observer=e;this.config=r;this.typeSupported=n;this.remuxer=t;this.sampleAes=null;this.pmtUnknownTypes={}}var e=P.prototype;e.setDecryptData=function e(t){if(t!=null&&t.key!=null&&t.method==="SAMPLE-AES")this.sampleAes=new L(this.observer,this.config,t,this.discardEPB);else this.sampleAes=null};P.probe=function e(t){var r=P._syncOffset(t);if(r<0)return false;else{if(r)ue["logger"].warn("MPEG2-TS detected but first sync word found @ offset "+r+", junk ahead ?");return true}};P._syncOffset=function e(t){var r=Math.min(1e3,t.length-3*188);var n=0;while(n>4;if(u>1){c=a+5+t[a+4];if(c===a+188)continue}else c=a+4;switch(l){case A:if(o){if(b&&(d=C(b)))R(d,false);b={data:[],size:0}}if(b){b.data.push(t.subarray(c,a+188));b.size+=a+188-c}break;case m:if(o){if(k&&(d=C(k)))if(v.isAAC)w(d);else O(d);k={data:[],size:0}}if(k){k.data.push(t.subarray(c,a+188));k.size+=a+188-c}break;case y:if(o){if(_&&(d=C(_)))L(d);_={data:[],size:0}}if(_){_.data.push(t.subarray(c,a+188));_.size+=a+188-c}break;case 0:if(o)c+=t[c]+1;E=this._pmtId=T(t,c);break;case E:if(o)c+=t[c]+1;var D=S(t,c,this.typeSupported.mpeg===true||this.typeSupported.mp3===true,this.sampleAes!=null);A=D.avc;if(A>0)p.pid=A;m=D.audio;if(m>0){v.pid=m;v.isAAC=D.isAAC}y=D.id3;if(y>0)g.pid=y;if(f&&!h){ue["logger"].log("reparse from beginning");f=false;a=I-188}h=this.pmtParsed=true;break;case 17:case 8191:break;default:f=true;break}}else this.observer.trigger(oe["default"].ERROR,{type:le["ErrorTypes"].MEDIA_ERROR,details:le["ErrorDetails"].FRAG_PARSING_ERROR,fatal:false,reason:"TS packet did not start with 0x47"});if(b&&(d=C(b))){R(d,true);p.pesData=null}else p.pesData=b;if(k&&(d=C(k))){if(v.isAAC)w(d);else O(d);v.pesData=null}else{if(k&&k.size)ue["logger"].log("last AAC PES packet truncated,might overlap between fragments");v.pesData=k}if(_&&(d=C(_))){L(d);g.pesData=null}else g.pesData=_;if(this.sampleAes==null)this.remuxer.remux(v,p,g,this._txtTrack,r,n,i);else this.decryptAndRemux(v,p,g,this._txtTrack,r,n,i)};e.decryptAndRemux=function e(t,r,n,i,a,s,o){if(t.samples&&t.isAAC){var l=this;this.sampleAes.decryptAacSamples(t.samples,0,function(){l.decryptAndRemuxAvc(t,r,n,i,a,s,o)})}else this.decryptAndRemuxAvc(t,r,n,i,a,s,o)};e.decryptAndRemuxAvc=function e(t,r,n,i,a,s,o){if(r.samples){var l=this;this.sampleAes.decryptAvcSamples(r.samples,0,0,function(){l.remuxer.remux(t,r,n,i,a,s,o)})}else this.remuxer.remux(t,r,n,i,a,s,o)};e.destroy=function e(){this._initPTS=this._initDTS=undefined;this._duration=0};e._parsePAT=function e(t,r){return(t[r+10]&31)<<8|t[r+11]};e._trackUnknownPmt=function e(t,r,n){var i=this.pmtUnknownTypes[t]||0;if(i===0){this.pmtUnknownTypes[t]=0;r.call(ue["logger"],n)}this.pmtUnknownTypes[t]++;return i};e._parsePMT=function e(t,r,n,i){var a,s,o,l,u={audio:-1,avc:-1,id3:-1,isAAC:true};a=(t[r+1]&15)<<8|t[r+2];s=r+3+a-4;o=(t[r+10]&15)<<8|t[r+11];r+=12+o;while(r1){var h=new Uint8Array(f[0].length+f[1].length);h.set(f[0]);h.set(f[1],f[0].length);f[0]=h;f.splice(1,1)}n=f[0];a=(n[0]<<16)+(n[1]<<8)+n[2];if(a===1){s=(n[4]<<8)+n[5];if(s&&s>t.size-6)return null;i=n[7];if(i&192){u=(n[9]&14)*536870912+(n[10]&255)*4194304+(n[11]&254)*16384+(n[12]&255)*128+(n[13]&254)/2;if(i&64){c=(n[14]&14)*536870912+(n[15]&255)*4194304+(n[16]&254)*16384+(n[17]&255)*128+(n[18]&254)/2;if(u-c>60*9e4){ue["logger"].warn(Math.round((u-c)/9e4)+"s delta between PTS and DTS, align them");u=c}}else c=u}o=n[8];d=o+9;if(t.size<=d)return null;t.size-=d;l=new Uint8Array(t.size);for(var p=0,v=f.length;pg){d-=g;continue}else{n=n.subarray(d);g-=d;d=0}l.set(n,r);r+=g}if(s)s-=o+3;return{data:l,pts:u,dts:c,len:s}}else return null};e.pushAccesUnit=function e(t,r){if(t.units.length&&t.frame){var n=r.samples;var i=n.length;if(isNaN(t.pts))if(i){var a=n[i-1];t.pts=a.pts;t.dts=a.dts}else{r.dropped++;return}if(!this.config.forceKeyFrameOnDiscontinuity||t.key===true||r.sps&&(i||this.contiguous)){t.id=i;n.push(t)}else r.dropped++}if(t.debug.length)ue["logger"].log(t.pts+"/"+t.dts+":"+t.debug)};e._parseAVCPES=function e(_,t){var T=this;var S=this._avcTrack,r=this._parseAVCNALu(_.data),C,R=this.avcSample,w,O=false,L,I=this.pushAccesUnit.bind(this),D=function e(t,r,n,i){return{key:t,pts:r,dts:n,units:[],debug:i}};_.data=null;if(R&&r.length&&!S.audFound){I(R,S);R=this.avcSample=D(false,_.pts,_.dts,"")}r.forEach(function(e){switch(e.type){case 1:w=true;if(!R)R=T.avcSample=D(true,_.pts,_.dts,"");R.frame=true;var t=e.data;if(O&&t.length>4){var r=new x(t).readSliceType();if(r===2||r===4||r===7||r===9)R.key=true}break;case 5:w=true;if(!R)R=T.avcSample=D(true,_.pts,_.dts,"");R.key=true;R.frame=true;break;case 6:w=true;C=new x(T.discardEPB(e.data));C.readUByte();var n=0;var i=0;var a=false;var s=0;while(!a&&C.bytesAvailable>1){n=0;do{s=C.readUByte();n+=s}while(s===255);i=0;do{s=C.readUByte();i+=s}while(s===255);if(n===4&&C.bytesAvailable!==0){a=true;var o=C.readUByte();if(o===181){var l=C.readUShort();if(l===49){var u=C.readUInt();if(u===1195456820){var c=C.readUByte();if(c===3){var d=C.readUByte();var f=C.readUByte();var h=31&d;var p=[d,f];for(L=0;L16){var v=[];for(L=0;L<16;L++){v.push(C.readUByte().toString(16));if(L===3||L===5||L===7||L===9)v.push("-")}var g=i-16;var A=new Uint8Array(g);for(L=0;L0){if(r.pts>=t[n-1].pts)t.push(r);else for(var i=n-1;i>=0;i--)if(r.pts=0){c={data:t.subarray(f,r-o-1),type:h};u.push(c)}else{var p=this._getLastNalUnit();if(p){if(l&&r<=4-l)if(p.state)p.data=p.data.subarray(0,p.data.byteLength-l);a=r-o-1;if(a>0){var v=new Uint8Array(p.data.byteLength+a);v.set(p.data,0);v.set(t.subarray(0,a),p.data.byteLength);p.data=v}}}if(r=0&&o>=0){c={data:t.subarray(f,n),type:h,state:o};u.push(c)}if(u.length===0){var g=this._getLastNalUnit();if(g){var A=new Uint8Array(g.data.byteLength+t.byteLength);A.set(g.data,0);A.set(t,g.data.byteLength);g.data=A}}s.naluState=o;return u};e.discardEPB=function e(t){var r=t.byteLength,n=[],i=1,a,s;while(i1){ue["logger"].log("AAC: align PTS for overlapping frames by "+Math.round((g-i)/90));i=g}}while(c>24&255;s[1]=n>>16&255;s[2]=n>>8&255;s[3]=n&255;s.set(t,4);for(i=0,n=8;i>24&255,t>>16&255,t>>8&255,t&255,n>>24,n>>16&255,n>>8&255,n&255,i>>24,i>>16&255,i>>8&255,i&255,85,196,0,0]))};h.mdia=function e(t){return h.box(h.types.mdia,h.mdhd(t.timescale,t.duration),h.hdlr(t.type),h.minf(t))};h.mfhd=function e(t){return h.box(h.types.mfhd,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,t&255]))};h.minf=function e(t){if(t.type==="audio")return h.box(h.types.minf,h.box(h.types.smhd,h.SMHD),h.DINF,h.stbl(t));else return h.box(h.types.minf,h.box(h.types.vmhd,h.VMHD),h.DINF,h.stbl(t))};h.moof=function e(t,r,n){return h.box(h.types.moof,h.mfhd(t),h.traf(n,r))};h.moov=function e(t){var r=t.length,n=[];while(r--)n[r]=h.trak(t[r]);return h.box.apply(null,[h.types.moov,h.mvhd(t[0].timescale,t[0].duration)].concat(n).concat(h.mvex(t)))};h.mvex=function e(t){var r=t.length,n=[];while(r--)n[r]=h.trex(t[r]);return h.box.apply(null,[h.types.mvex].concat(n))};h.mvhd=function e(t,r){r*=t;var n=Math.floor(r/(l+1));var i=Math.floor(r%(l+1));var a=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,t&255,n>>24,n>>16&255,n>>8&255,n&255,i>>24,i>>16&255,i>>8&255,i&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return h.box(h.types.mvhd,a)};h.sdtp=function e(t){var r=t.samples||[],n=new Uint8Array(4+r.length),i,a;for(a=0;a>>8&255);r.push(s&255);r=r.concat(Array.prototype.slice.call(a))}for(i=0;i>>8&255);n.push(s&255);n=n.concat(Array.prototype.slice.call(a))}var o=h.box(h.types.avcC,new Uint8Array([1,r[3],r[4],r[5],252|3,224|t.sps.length].concat(r).concat([t.pps.length]).concat(n))),l=t.width,u=t.height,c=t.pixelRatio[0],d=t.pixelRatio[1];return h.box(h.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,l>>8&255,l&255,u>>8&255,u&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),o,h.box(h.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),h.box(h.types.pasp,new Uint8Array([c>>24,c>>16&255,c>>8&255,c&255,d>>24,d>>16&255,d>>8&255,d&255])))};h.esds=function e(t){var r=t.config.length;return new Uint8Array([0,0,0,0,3,23+r,0,1,0,4,15+r,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([r]).concat(t.config).concat([6,1,2]))};h.mp4a=function e(t){var r=t.samplerate;return h.box(h.types.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t.channelCount,0,16,0,0,0,0,r>>8&255,r&255,0,0]),h.box(h.types.esds,h.esds(t)))};h.mp3=function e(t){var r=t.samplerate;return h.box(h.types[".mp3"],new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t.channelCount,0,16,0,0,0,0,r>>8&255,r&255,0,0]))};h.stsd=function e(t){if(t.type==="audio"){if(!t.isAAC&&t.codec==="mp3")return h.box(h.types.stsd,h.STSD,h.mp3(t));return h.box(h.types.stsd,h.STSD,h.mp4a(t))}else return h.box(h.types.stsd,h.STSD,h.avc1(t))};h.tkhd=function e(t){var r=t.id,n=t.duration*t.timescale,i=t.width,a=t.height,s=Math.floor(n/(l+1)),o=Math.floor(n%(l+1));return h.box(h.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,r>>24&255,r>>16&255,r>>8&255,r&255,0,0,0,0,s>>24,s>>16&255,s>>8&255,s&255,o>>24,o>>16&255,o>>8&255,o&255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>8&255,i&255,0,0,a>>8&255,a&255,0,0]))};h.traf=function e(t,r){var n=h.sdtp(t),i=t.id,a=Math.floor(r/(l+1)),s=Math.floor(r%(l+1));return h.box(h.types.traf,h.box(h.types.tfhd,new Uint8Array([0,0,0,0,i>>24,i>>16&255,i>>8&255,i&255])),h.box(h.types.tfdt,new Uint8Array([1,0,0,0,a>>24,a>>16&255,a>>8&255,a&255,s>>24,s>>16&255,s>>8&255,s&255])),h.trun(t,n.length+16+20+8+16+8+8),n)};h.trak=function e(t){t.duration=t.duration||4294967295;return h.box(h.types.trak,h.tkhd(t),h.mdia(t))};h.trex=function e(t){var r=t.id;return h.box(h.types.trex,new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,r&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))};h.trun=function e(t,r){var n=t.samples||[],i=n.length,a=12+16*i,s=new Uint8Array(a),o,l,u,c,d,f;r+=8+a;s.set([0,0,15,1,i>>>24&255,i>>>16&255,i>>>8&255,i&255,r>>>24&255,r>>>16&255,r>>>8&255,r&255],0);for(o=0;o>>24&255,u>>>16&255,u>>>8&255,u&255,c>>>24&255,c>>>16&255,c>>>8&255,c&255,d.isLeading<<2|d.dependsOn,d.isDependedOn<<6|d.hasRedundancy<<4|d.paddingValue<<1|d.isNonSync,d.degradPrio&240<<8,d.degradPrio&15,f>>>24&255,f>>>16&255,f>>>8&255,f&255],12+16*o)}return h.box(h.types.trun,s)};h.initSegment=function e(t){if(!h.types)h.init();var r=h.moov(t),n;n=new Uint8Array(h.FTYP.byteLength+r.byteLength);n.set(h.FTYP);n.set(r,h.FTYP.byteLength);return n};return h}();var ce=U;var i=9e4;function f(e,t,r,n){if(r===void 0)r=1;if(n===void 0)n=false;var i=e*t*r;return n?Math.round(i):i}function de(e,t){if(t===void 0)t=false;return f(e,1e3,1/i,t)}function h(e,t){if(t===void 0)t=1;return f(e,i,1/t)}var W=h(10);var pe=h(.2);var fe=null;var j=function(){function e(e,t,r,n){this.observer=e;this.config=t;this.typeSupported=r;this.ISGenerated=false;if(fe===null){var i=navigator.userAgent.match(/Chrome\/(\d+)/i);fe=i?parseInt(i[1]):0}}var t=e.prototype;t.destroy=function e(){};t.resetTimeStamp=function e(t){this._initPTS=this._initDTS=t};t.resetInitSegment=function e(){this.ISGenerated=false};t.getVideoStartPts=function e(t){var n=false;var r=t.reduce(function(e,t){var r=t.pts-e;if(r<-4294967296){n=true;return he(e,t.pts)}else if(r>0)return e;else return t.pts},t[0].pts);if(n)ue["logger"].debug("PTS rollover detected");return r};t.remux=function e(t,r,n,i,a,s,o){if(!this.ISGenerated)this.generateIS(t,r,a);if(this.ISGenerated){var l=t.samples.length;var u=r.samples.length;var c=a;var d=a;if(l&&u){var f=this.getVideoStartPts(r.samples);var h=he(t.samples[0].pts,f)-f;var p=h/r.inputTimeScale;c+=Math.max(0,p);d+=Math.max(0,-p)}if(l){if(!t.timescale){ue["logger"].warn("regenerate InitSegment as audio detected");this.generateIS(t,r,a)}var v=this.remuxAudio(t,c,s,o);if(u){var g;if(v)g=v.endPTS-v.startPTS;if(!r.timescale){ue["logger"].warn("regenerate InitSegment as video detected");this.generateIS(t,r,a)}this.remuxVideo(r,d,s,g)}}else if(u){var A=this.remuxVideo(r,d,s,0,o);if(A&&t.codec)this.remuxEmptyAudio(t,c,s,A)}}if(n.samples.length)this.remuxID3(n,a);if(i.samples.length)this.remuxText(i,a);this.observer.trigger(oe["default"].FRAG_PARSED)};t.generateIS=function e(t,r,n){var i=this.observer,a=t.samples,s=r.samples,o=this.typeSupported,l="audio/mp4",u={},c={tracks:u},d=this._initPTS===undefined,f,h;if(d)f=h=Infinity;if(t.config&&a.length){t.timescale=t.samplerate;ue["logger"].log("audio sampling rate : "+t.samplerate);if(!t.isAAC)if(o.mpeg){l="audio/mpeg";t.codec=""}else if(o.mp3)t.codec="mp3";u.audio={container:l,codec:t.codec,initSegment:!t.isAAC&&o.mpeg?new Uint8Array:ce.initSegment([t]),metadata:{channelCount:t.channelCount}};if(d)f=h=a[0].pts-Math.round(t.inputTimeScale*n)}if(r.sps&&r.pps&&s.length){var p=r.inputTimeScale;r.timescale=p;u.video={container:"video/mp4",codec:r.codec,initSegment:ce.initSegment([r]),metadata:{width:r.width,height:r.height}};if(d){var v=this.getVideoStartPts(s);var g=Math.round(p*n);h=Math.min(h,he(s[0].dts,v)-g);f=Math.min(f,v-g);this.observer.trigger(oe["default"].INIT_PTS_FOUND,{initPTS:f})}}else if(d&&u.audio)this.observer.trigger(oe["default"].INIT_PTS_FOUND,{initPTS:f});if(Object.keys(u).length){i.trigger(oe["default"].FRAG_PARSING_INIT_SEGMENT,c);this.ISGenerated=true;if(d){this._initPTS=f;this._initDTS=h}}else i.trigger(oe["default"].ERROR,{type:le["ErrorTypes"].MEDIA_ERROR,details:le["ErrorDetails"].FRAG_PARSING_ERROR,fatal:false,reason:"no audio/video samples found"})};t.remuxVideo=function M(e,F,t,r){var n=e.timescale;var i=e.samples;var a=[];var s=i.length;var o=this._initPTS;var l=8;var u;var c;var d;var f;var h;var p=Number.POSITIVE_INFINITY;var v=Number.NEGATIVE_INFINITY;var g=0;var B=false;var A=this.nextAvcDts;if(s===0)return;if(!t){var U=F*n;var j=i[0].pts-he(i[0].dts,i[0].pts);A=U-j}for(var m=0;my.pts)g=Math.max(Math.min(g,y.pts-y.dts),-1*pe);if(y.dts0?m-1:m].dts)B=true}if(B)i.sort(function(e,t){var r=e.dts-t.dts;var n=e.pts-t.pts;return r||n||e.id-t.id});f=i[0].dts;h=i[s-1].dts;var E=Math.round((h-f)/(s-1));if(g<0){if(gE;var G=T<-1;if(V||G){if(V)ue["logger"].warn("AVC: "+de(T,true)+" ms ("+T+"dts) hole between fragments detected, filling it");else ue["logger"].warn("AVC: "+de(-T,true)+" ms ("+T+"dts) overlapping between fragments detected");f=A;var K=i[0].pts-T;i[0].dts=f;i[0].pts=K;ue["logger"].log("Video: First PTS/DTS adjusted: "+de(K,true)+"/"+de(f,true)+", delta: "+de(T,true)+" ms")}}if(fe&&fe<75)f=Math.max(0,f);var Y=0;var H=0;for(var S=0;S0?L-1:L].dts;if(te.stretchShortVideoTrack){var re=te.maxBufferHole;var ne=Math.floor(re*n);var x=(r?p+r*n:this.nextAudioPts)-I.pts;if(x>ne){u=x-N;if(u<0)u=N;ue["logger"].log("It is approximately "+de(x,false)+" ms to the next segment; using duration "+de(u,false)+" ms for the last video frame.")}else u=N}else u=N}Z=Math.round(I.pts-I.dts);a.push({size:X,duration:u,cts:Z,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:I.key?2:1,isNonSync:I.key?0:1}})}this.nextAvcDts=h+u;var ie=e.dropped;e.nbNalu=0;e.dropped=0;if(a.length&&navigator.userAgent.toLowerCase().indexOf("chrome")>-1){var ae=a[0].flags;ae.dependsOn=2;ae.isNonSync=0}e.samples=a;d=ce.moof(e.sequenceNumber++,f,e);e.samples=[];var se={data1:d,data2:c,startPTS:p/n,endPTS:(v+u)/n,startDTS:f/n,endDTS:this.nextAvcDts/n,type:"video",hasAudio:false,hasVideo:true,nb:a.length,dropped:ie};this.observer.trigger(oe["default"].FRAG_PARSING_DATA,se);return se};t.remuxAudio=function M(e,t,r,n){var i=e.inputTimeScale;var F=e.timescale;var a=i/F;var B=e.isAAC?1024:1152;var s=B*a;var o=this._initPTS;var l=!e.isAAC&&this.typeSupported.mpeg;var u;var c;var d;var f;var h;var p;var v=l?0:8;var g=e.samples;var A=[];var m=this.nextAudioPts;r|=g.length&&m&&(n&&Math.abs(t-m/i)<.1||Math.abs(g[0].pts-m-o)<20*s);g.forEach(function(e){e.pts=e.dts=he(e.pts-o,t*i)});g=g.filter(function(e){return e.pts>=0});if(g.length===0)return;if(!r)if(!n)m=g[0].pts;else m=Math.max(0,t*i);if(e.isAAC){var y=this.config.maxAudioFramesDrift;for(var E=0,b=m;E0){ue["logger"].warn("Dropping 1 audio frame @ "+de(b,true)/1e3+"s due to "+de(T,true)+" ms overlap.");g.splice(E,1)}else{ue["logger"].warn("Audio frame @ "+de(_,true)/1e3+"s overlaps nextAudioPts by "+de(T,true)+" ms.");b=_+s;E++}else if(T>=y*s&&T0&&P0){c=$.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);if(!c)c=I.subarray();O+=N*c.length}}else if(P<-12){ue["logger"].log("drop overlapping AAC sample, expected/parsed/delta: "+de(m,true)+" ms / "+de(D,true)+" ms / "+de(-P,true)+" ms");O-=I.byteLength;continue}D=m}h=D;if(O>0){O+=v;try{d=new Uint8Array(O)}catch(e){this.observer.trigger(oe["default"].ERROR,{type:le["ErrorTypes"].MUX_ERROR,details:le["ErrorDetails"].REMUX_ALLOC_ERROR,fatal:false,bytes:O,reason:"fail allocating audio mdat "+O});return}if(!l){var V=new DataView(d.buffer);V.setUint32(0,O);d.set(ce.types.mdat,4)}}else return;for(var G=0;G=2){x=A[w-2].duration;u.duration=x}if(w){this.nextAudioPts=m=p+a*x;e.samples=A;if(l)f=new Uint8Array;else f=ce.moof(e.sequenceNumber++,h/a,e);e.samples=[];var Y=h/i;var H=m/i;var z={data1:f,data2:d,startPTS:Y,endPTS:H,startDTS:Y,endDTS:H,type:"audio",hasAudio:true,hasVideo:false,nb:w};this.observer.trigger(oe["default"].FRAG_PARSING_DATA,z);return z}return null};t.remuxEmptyAudio=function e(t,r,n,i){var a=t.inputTimeScale;var s=t.samplerate?t.samplerate:a;var o=a/s;var l=this.nextAudioPts;var u=(l!==undefined?l:i.startDTS*a)+this._initDTS;var c=i.endDTS*a+this._initDTS;var d=1024;var f=o*d;var h=Math.ceil((c-u)/f);var p=$.getSilentFrame(t.manifestCodec||t.codec,t.channelCount);ue["logger"].warn("remux empty Audio");if(!p){ue["logger"].trace("Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec!");return}var v=[];for(var g=0;g4294967296)e+=r;return e}var _=j;var V=function(){function e(e){this.observer=e}var t=e.prototype;t.destroy=function e(){};t.resetTimeStamp=function e(){};t.resetInitSegment=function e(){};t.remux=function e(t,r,n,i,a,s,o,l){var u=this.observer;var c="";if(t)c+="audio";if(r)c+="video";u.trigger(oe["default"].FRAG_PARSING_DATA,{data1:l,startPTS:a,startDTS:a,type:c,hasAudio:!!t,hasVideo:!!r,nb:1,dropped:0});u.trigger(oe["default"].FRAG_PARSED)};return e}();var G=V;var p=Object(r["getSelfScope"])();var T;try{T=p.performance.now.bind(p.performance)}catch(e){ue["logger"].debug("Unable to use Performance API on this environment");T=p.Date.now}var K=function(){function e(e,t,r,n){this.observer=e;this.typeSupported=t;this.config=r;this.vendor=n}var t=e.prototype;t.destroy=function e(){var t=this.demuxer;if(t)t.destroy()};t.push=function e(t,r,n,i,a,s,o,l,u,c,d,f){var h=this;if(t.byteLength>0&&r!=null&&r.key!=null&&r.method==="AES-128"){var p=this.decrypter;if(p==null)p=this.decrypter=new g["default"](this.observer,this.config);var v=T();p.decrypt(t,r.key.buffer,r.iv.buffer,function(e){var t=T();h.observer.trigger(oe["default"].FRAG_DECRYPTED,{stats:{tstart:v,tdecrypt:t}});h.pushDecrypted(new Uint8Array(e),r,new Uint8Array(n),i,a,s,o,l,u,c,d,f)})}else this.pushDecrypted(new Uint8Array(t),r,new Uint8Array(n),i,a,s,o,l,u,c,d,f)};t.pushDecrypted=function e(t,r,n,i,a,s,o,l,u,c,d,f){var h=this.demuxer;var p=this.remuxer;if(!h||o||l){var v=this.observer;var g=this.typeSupported;var A=this.config;var m=[{demux:P,remux:_},{demux:R["default"],remux:G},{demux:C,remux:_},{demux:F,remux:_}];var y;for(var E=0,b=m.length;E1?r-1:0),i=1;i1?r-1:0),i=1;i0)return t.subarray(n,n+i);return undefined};l._readSize=function e(t,r){var n=0;n=(t[r]&127)<<21;n|=(t[r+1]&127)<<14;n|=(t[r+2]&127)<<7;n|=t[r+3]&127;return n};l.getTimeStamp=function e(t){var r=l.getID3Frames(t);for(var n=0;n>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c+=String.fromCharCode(o);break;case 12:case 13:l=t[d++];c+=String.fromCharCode((o&31)<<6|l&63);break;case 14:l=t[d++];u=t[d++];c+=String.fromCharCode((o&15)<<12|(l&63)<<6|(u&63)<<0);break}}return c};return l}();var a;function f(){var e=Object(n["getSelfScope"])();if(!a&&typeof e.TextDecoder!=="undefined")a=new e.TextDecoder("utf-8");return a}var s=i._utf8ArrayToStr;t["default"]=i},"./src/demux/mp4demuxer.js": /*!*********************************!*\ !*** ./src/demux/mp4demuxer.js ***! \*********************************/ /*! exports provided: default */function(e,t,r){r.r(t);var h=r(/*! ../utils/logger */"./src/utils/logger.js");var u=r(/*! ../events */"./src/events.js");var o=Math.pow(2,32)-1;var n=function(){function y(e,t){this.observer=e;this.remuxer=t}var e=y.prototype;e.resetTimeStamp=function e(t){this.initPTS=t};e.resetInitSegment=function e(t,r,n,i){if(t&&t.byteLength){var a=this.initData=y.parseInitSegment(t);if(r==null)r="mp4a.40.5";if(n==null)n="avc1.42e01e";var s={};if(a.audio&&a.video)s.audiovideo={container:"video/mp4",codec:r+","+n,initSegment:i?t:null};else{if(a.audio)s.audio={container:"audio/mp4",codec:r,initSegment:i?t:null};if(a.video)s.video={container:"video/mp4",codec:n,initSegment:i?t:null}}this.observer.trigger(u["default"].FRAG_PARSING_INIT_SEGMENT,{tracks:s})}else{if(r)this.audioCodec=r;if(n)this.videoCodec=n}};y.probe=function e(t){return y.findBox({data:t,start:0,end:Math.min(t.length,16384)},["moof"]).length>0};y.bin2str=function e(t){return String.fromCharCode.apply(null,t)};y.readUint16=function e(t,r){if(t.data){r+=t.start;t=t.data}var n=t[r]<<8|t[r+1];return n<0?65536+n:n};y.readUint32=function e(t,r){if(t.data){r+=t.start;t=t.data}var n=t[r]<<24|t[r+1]<<16|t[r+2]<<8|t[r+3];return n<0?4294967296+n:n};y.writeUint32=function e(t,r,n){if(t.data){r+=t.start;t=t.data}t[r]=n>>24;t[r+1]=n>>16&255;t[r+2]=n>>8&255;t[r+3]=n&255};y.findBox=function e(t,r){var n=[],i,a,s,o,l,u,c;if(t.data){u=t.start;o=t.end;t=t.data}else{u=0;o=t.byteLength}if(!r.length)return null;for(i=u;i1?i+a:o;if(s===r[0])if(r.length===1)n.push({data:t,start:i+8,end:c});else{l=y.findBox({data:t,start:i+8,end:c},r.slice(1));if(l.length)n=n.concat(l)}i=c}return n};y.parseSegmentIndex=function e(t){var r=y.findBox(t,["moov"])[0];var n=r?r.end:null;var i=0;var a=y.findBox(t,["sidx"]);var s;if(!a||!a[0])return null;s=[];a=a[0];var o=a.data[0];i=o===0?8:16;var l=y.readUint32(a,i);i+=4;var u=0;var c=0;if(o===0)i+=8;else i+=16;i+=2;var d=a.end+c;var f=y.readUint16(a,i);i+=2;for(var h=0;h>>31;if(A===1){console.warn("SIDX has hierarchical references (not supported)");return}var m=y.readUint32(a,p);p+=4;s.push({referenceSize:g,subsegmentDuration:m,info:{duration:m/l,start:d,end:d+g-1}});d+=g;p+=4;i=p}return{earliestPresentationTime:u,timescale:l,version:o,referencesCount:f,references:s,moovEndOffset:n}};y.parseInitSegment=function e(t){var f=[];var r=y.findBox(t,["moov","trak"]);r.forEach(function(e){var t=y.findBox(e,["tkhd"])[0];if(t){var r=t.data[t.start];var n=r===0?12:20;var i=y.readUint32(t,n);var a=y.findBox(e,["mdia","mdhd"])[0];if(a){r=a.data[a.start];n=r===0?12:20;var s=y.readUint32(a,n);var o=y.findBox(e,["mdia","hdlr"])[0];if(o){var l=y.bin2str(o.data.subarray(o.start+8,o.start+12));var u={soun:"audio",vide:"video"}[l];if(u){var c=y.findBox(e,["mdia","minf","stbl","stsd"]);if(c.length){c=c[0];var d=y.bin2str(c.data.subarray(c.start+12,c.start+16));h["logger"].log("MP4Demuxer:"+u+":"+d+" found")}f[i]={timescale:s,type:u};f[u]={timescale:s,id:i}}}}}});return f};y.getStartDTS=function e(a,t){var r,n,i;r=y.findBox(t,["moof","traf"]);n=[].concat.apply([],r.map(function(i){return y.findBox(i,["tfhd"]).map(function(e){var t,r,n;t=y.readUint32(e,4);r=a[t].timescale||9e4;n=y.findBox(i,["tfdt"]).map(function(e){var t,r;t=e.data[e.start];r=y.readUint32(e,4);if(t===1){r*=Math.pow(2,32);r+=y.readUint32(e,8)}return r})[0];return n/r})}));i=Math.min.apply(null,n);return isFinite(i)?i:0};y.offsetStartDTS=function e(n,t,s){y.findBox(t,["moof","traf"]).map(function(r){return y.findBox(r,["tfhd"]).map(function(e){var t=y.readUint32(e,4);var a=n[t].timescale||9e4;y.findBox(r,["tfdt"]).map(function(e){var t=e.data[e.start];var r=y.readUint32(e,4);if(t===0)y.writeUint32(e,4,r-s*a);else{r*=Math.pow(2,32);r+=y.readUint32(e,8);r-=s*a;r=Math.max(r,0);var n=Math.floor(r/(o+1));var i=Math.floor(r%(o+1));y.writeUint32(e,4,n);y.writeUint32(e,8,i)}})})})};e.append=function e(t,r,n,i){var a=this.initData;if(!a){this.resetInitSegment(t,this.audioCodec,this.videoCodec,false);a=this.initData}var s,o=this.initPTS;if(o===undefined){var l=y.getStartDTS(a,t);this.initPTS=o=l-r;this.observer.trigger(u["default"].INIT_PTS_FOUND,{initPTS:o})}y.offsetStartDTS(a,t,o);s=y.getStartDTS(a,t);this.remuxer.remux(a.audio,a.video,null,null,s,n,i,t)};e.destroy=function e(){};return y}();t["default"]=n},"./src/errors.ts": /*!***********************!*\ !*** ./src/errors.ts ***! \***********************/ /*! exports provided: ErrorTypes, ErrorDetails */function(e,t,r){r.r(t);r.d(t,"ErrorTypes",function(){return n});r.d(t,"ErrorDetails",function(){return i});var n;(function(e){e["NETWORK_ERROR"]="networkError";e["MEDIA_ERROR"]="mediaError";e["KEY_SYSTEM_ERROR"]="keySystemError";e["MUX_ERROR"]="muxError";e["OTHER_ERROR"]="otherError"})(n||(n={}));var i;(function(e){e["KEY_SYSTEM_NO_KEYS"]="keySystemNoKeys";e["KEY_SYSTEM_NO_ACCESS"]="keySystemNoAccess";e["KEY_SYSTEM_NO_SESSION"]="keySystemNoSession";e["KEY_SYSTEM_LICENSE_REQUEST_FAILED"]="keySystemLicenseRequestFailed";e["KEY_SYSTEM_NO_INIT_DATA"]="keySystemNoInitData";e["MANIFEST_LOAD_ERROR"]="manifestLoadError";e["MANIFEST_LOAD_TIMEOUT"]="manifestLoadTimeOut";e["MANIFEST_PARSING_ERROR"]="manifestParsingError";e["MANIFEST_INCOMPATIBLE_CODECS_ERROR"]="manifestIncompatibleCodecsError";e["LEVEL_EMPTY_ERROR"]="levelEmptyError";e["LEVEL_LOAD_ERROR"]="levelLoadError";e["LEVEL_LOAD_TIMEOUT"]="levelLoadTimeOut";e["LEVEL_SWITCH_ERROR"]="levelSwitchError";e["AUDIO_TRACK_LOAD_ERROR"]="audioTrackLoadError";e["AUDIO_TRACK_LOAD_TIMEOUT"]="audioTrackLoadTimeOut";e["FRAG_LOAD_ERROR"]="fragLoadError";e["FRAG_LOAD_TIMEOUT"]="fragLoadTimeOut";e["FRAG_DECRYPT_ERROR"]="fragDecryptError";e["FRAG_PARSING_ERROR"]="fragParsingError";e["REMUX_ALLOC_ERROR"]="remuxAllocError";e["KEY_LOAD_ERROR"]="keyLoadError";e["KEY_LOAD_TIMEOUT"]="keyLoadTimeOut";e["BUFFER_ADD_CODEC_ERROR"]="bufferAddCodecError";e["BUFFER_APPEND_ERROR"]="bufferAppendError";e["BUFFER_APPENDING_ERROR"]="bufferAppendingError";e["BUFFER_STALLED_ERROR"]="bufferStalledError";e["BUFFER_FULL_ERROR"]="bufferFullError";e["BUFFER_SEEK_OVER_HOLE"]="bufferSeekOverHole";e["BUFFER_NUDGE_ON_STALL"]="bufferNudgeOnStall";e["INTERNAL_EXCEPTION"]="internalException"})(i||(i={}))},"./src/events.js": /*!***********************!*\ !*** ./src/events.js ***! \***********************/ /*! exports provided: default */function(e,t,r){r.r(t);var n={MEDIA_ATTACHING:"hlsMediaAttaching",MEDIA_ATTACHED:"hlsMediaAttached",MEDIA_DETACHING:"hlsMediaDetaching",MEDIA_DETACHED:"hlsMediaDetached",BUFFER_RESET:"hlsBufferReset",BUFFER_CODECS:"hlsBufferCodecs",BUFFER_CREATED:"hlsBufferCreated",BUFFER_APPENDING:"hlsBufferAppending",BUFFER_APPENDED:"hlsBufferAppended",BUFFER_EOS:"hlsBufferEos",BUFFER_FLUSHING:"hlsBufferFlushing",BUFFER_FLUSHED:"hlsBufferFlushed",MANIFEST_LOADING:"hlsManifestLoading",MANIFEST_LOADED:"hlsManifestLoaded",MANIFEST_PARSED:"hlsManifestParsed",LEVEL_SWITCHING:"hlsLevelSwitching",LEVEL_SWITCHED:"hlsLevelSwitched",LEVEL_LOADING:"hlsLevelLoading",LEVEL_LOADED:"hlsLevelLoaded",LEVEL_UPDATED:"hlsLevelUpdated",LEVEL_PTS_UPDATED:"hlsLevelPtsUpdated",LEVELS_UPDATED:"hlsLevelsUpdated",AUDIO_TRACKS_UPDATED:"hlsAudioTracksUpdated",AUDIO_TRACK_SWITCHING:"hlsAudioTrackSwitching",AUDIO_TRACK_SWITCHED:"hlsAudioTrackSwitched",AUDIO_TRACK_LOADING:"hlsAudioTrackLoading",AUDIO_TRACK_LOADED:"hlsAudioTrackLoaded",SUBTITLE_TRACKS_UPDATED:"hlsSubtitleTracksUpdated",SUBTITLE_TRACK_SWITCH:"hlsSubtitleTrackSwitch",SUBTITLE_TRACK_LOADING:"hlsSubtitleTrackLoading",SUBTITLE_TRACK_LOADED:"hlsSubtitleTrackLoaded",SUBTITLE_FRAG_PROCESSED:"hlsSubtitleFragProcessed",CUES_PARSED:"hlsCuesParsed",NON_NATIVE_TEXT_TRACKS_FOUND:"hlsNonNativeTextTracksFound",INIT_PTS_FOUND:"hlsInitPtsFound",FRAG_LOADING:"hlsFragLoading",FRAG_LOAD_PROGRESS:"hlsFragLoadProgress",FRAG_LOAD_EMERGENCY_ABORTED:"hlsFragLoadEmergencyAborted",FRAG_LOADED:"hlsFragLoaded",FRAG_DECRYPTED:"hlsFragDecrypted",FRAG_PARSING_INIT_SEGMENT:"hlsFragParsingInitSegment",FRAG_PARSING_USERDATA:"hlsFragParsingUserdata",FRAG_PARSING_METADATA:"hlsFragParsingMetadata",FRAG_PARSING_DATA:"hlsFragParsingData",FRAG_PARSED:"hlsFragParsed",FRAG_BUFFERED:"hlsFragBuffered",FRAG_CHANGED:"hlsFragChanged",FPS_DROP:"hlsFpsDrop",FPS_DROP_LEVEL_CAPPING:"hlsFpsDropLevelCapping",ERROR:"hlsError",DESTROYING:"hlsDestroying",KEY_LOADING:"hlsKeyLoading",KEY_LOADED:"hlsKeyLoaded",STREAM_STATE_TRANSITION:"hlsStreamStateTransition",LIVE_BACK_BUFFER_REACHED:"hlsLiveBackBufferReached"};t["default"]=n},"./src/hls.ts": /*!*********************************!*\ !*** ./src/hls.ts + 50 modules ***! \*********************************/ /*! exports provided: default */ /*! ModuleConcatenation bailout: Cannot concat with ./src/crypt/decrypter.js because of ./src/demux/demuxer-worker.js */ /*! ModuleConcatenation bailout: Cannot concat with ./src/demux/demuxer-inline.js because of ./src/demux/demuxer-worker.js */ /*! ModuleConcatenation bailout: Cannot concat with ./src/demux/id3.js because of ./src/demux/demuxer-worker.js */ /*! ModuleConcatenation bailout: Cannot concat with ./src/demux/mp4demuxer.js because of ./src/demux/demuxer-worker.js */ /*! ModuleConcatenation bailout: Cannot concat with ./src/errors.ts because of ./src/demux/demuxer-worker.js */ /*! ModuleConcatenation bailout: Cannot concat with ./src/events.js because of ./src/demux/demuxer-worker.js */ /*! ModuleConcatenation bailout: Cannot concat with ./src/polyfills/number.js because of ./src/demux/demuxer-worker.js */ /*! ModuleConcatenation bailout: Cannot concat with ./src/utils/get-self-scope.js because of ./src/demux/demuxer-worker.js */ /*! ModuleConcatenation bailout: Cannot concat with ./src/utils/logger.js because of ./src/demux/demuxer-worker.js */ /*! ModuleConcatenation bailout: Cannot concat with ./node_modules/eventemitter3/index.js (<- Module is not an ECMAScript module) */ /*! ModuleConcatenation bailout: Cannot concat with ./node_modules/url-toolkit/src/url-toolkit.js (<- Module is not an ECMAScript module) */function(r,S,e){e.r(S);e.d(S,"default",function(){return Ln});var t={};e.r(t);e.d(t,"newCue",function(){return Er});var n=e("./node_modules/url-toolkit/src/url-toolkit.js");var A=e("./src/errors.ts");var x=e("./src/polyfills/number.js");var M=e("./src/events.js");var F=e("./src/utils/logger.js");var C={hlsEventGeneric:true,hlsHandlerDestroying:true,hlsHandlerDestroyed:true};var R=function(){function e(e){this.hls=void 0;this.handledEvents=void 0;this.useGenericHandler=void 0;this.hls=e;this.onEvent=this.onEvent.bind(this);for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n>8*(15-n)&255;return r};t.setDecryptDataFromLevelKey=function e(t,r){var n=t;if((t===null||t===void 0?void 0:t.method)&&t.uri&&!t.iv){n=new P(t.baseuri,t.reluri);n.method=t.method;n.iv=this.createInitializationVector(r)}return n};H(e,[{key:"url",get:function e(){if(!this._url&&this.relurl)this._url=Object(n["buildAbsoluteURL"])(this.baseurl,this.relurl,{alwaysNormalize:true});return this._url},set:function e(t){this._url=t}},{key:"byteRange",get:function e(){if(!this._byteRange)return[];return this._byteRange}},{key:"byteRangeStartOffset",get:function e(){return this.byteRange[0]}},{key:"byteRangeEndOffset",get:function e(){return this.byteRange[1]}},{key:"decryptdata",get:function e(){if(!this.levelkey&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkey){var t=this.sn;if(typeof t!=="number"){if(this.levelkey&&this.levelkey.method==="AES-128"&&!this.levelkey.iv)F["logger"].warn('missing IV for initialization segment with method="'+this.levelkey.method+'" - compliance issue');t=0}this._decryptdata=this.setDecryptDataFromLevelKey(this.levelkey,t)}return this._decryptdata}},{key:"endProgramDateTime",get:function e(){if(this.programDateTime===null)return null;if(!Object(x["isFiniteNumber"])(this.programDateTime))return null;var t=!Object(x["isFiniteNumber"])(this.duration)?0:this.duration;return this.programDateTime+t*1e3}},{key:"encrypted",get:function e(){return!!(this.decryptdata&&this.decryptdata.uri!==null&&this.decryptdata.key===null)}}]);return e}();function z(e,t){for(var r=0;rNumber.MAX_SAFE_INTEGER)return Infinity;return r};e.hexadecimalInteger=function e(t){if(this[t]){var r=(this[t]||"0x").slice(2);r=(r.length&1?"0":"")+r;var n=new Uint8Array(r.length/2);for(var i=0;iNumber.MAX_SAFE_INTEGER)return Infinity;return r};e.decimalFloatingPoint=function e(t){return parseFloat(this[t])};e.enumeratedString=function e(t){return this[t]};e.decimalResolution=function e(t){var r=q.exec(this[t]);if(r===null)return undefined;return{width:parseInt(r[1],10),height:parseInt(r[2],10)}};r.parseAttrList=function e(t){var r,n={};X.lastIndex=0;while((r=X.exec(t))!==null){var i=r[2],a='"';if(i.indexOf(a)===0&&i.lastIndexOf(a)===i.length-1)i=i.slice(1,-1);n[r[1]]=i}return n};return r}();var D=Z;var Q={audio:{a3ds:true,"ac-3":true,"ac-4":true,alac:true,alaw:true,dra1:true,"dts+":true,"dts-":true,dtsc:true,dtse:true,dtsh:true,"ec-3":true,enca:true,g719:true,g726:true,m4ae:true,mha1:true,mha2:true,mhm1:true,mhm2:true,mlpa:true,mp4a:true,"raw ":true,Opus:true,samr:true,sawb:true,sawp:true,sevc:true,sqcp:true,ssmv:true,twos:true,ulaw:true},video:{avc1:true,avc2:true,avc3:true,avc4:true,avcp:true,drac:true,dvav:true,dvhe:true,encv:true,hev1:true,hvc1:true,mjp2:true,mp4v:true,mvc1:true,mvc2:true,mvc3:true,mvc4:true,resv:true,rv60:true,s263:true,svc1:true,svc2:true,"vc-1":true,vp08:true,vp09:true}};function J(e,t){var r=Q[t];return!!r&&r[e.slice(0,4)]===true}function d(e,t){return MediaSource.isTypeSupported((t||"video")+'/mp4;codecs="'+e+'"')}var ee=/(?:#EXT-X-STREAM-INF:([^\n\r]*)[\r\n]+([^\r\n]+)|#EXT-X-SESSION-DATA:([^\n\r]*)[\r\n]+)/g;var te=/#EXT-X-MEDIA:(.*)/g;var re=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/|(?!#)([\S+ ?]+)/.source,/|#EXT-X-BYTERANGE:*(.+)/.source,/|#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/|#.*/.source].join(""),"g");var ne=/(?:(?:#(EXTM3U))|(?:#EXT-X-(PLAYLIST-TYPE):(.+))|(?:#EXT-X-(MEDIA-SEQUENCE): *(\d+))|(?:#EXT-X-(TARGETDURATION): *(\d+))|(?:#EXT-X-(KEY):(.+))|(?:#EXT-X-(START):(.+))|(?:#EXT-X-(ENDLIST))|(?:#EXT-X-(DISCONTINUITY-SEQ)UENCE:(\d+))|(?:#EXT-X-(DIS)CONTINUITY))|(?:#EXT-X-("0.4.6"):(\d+))|(?:#EXT-X-(MAP):(.+))|(?:(#)([^:]*):(.*))|(?:(#)(.*))(?:.*)\r?\n?/;var ie=/\.(mp4|m4s|m4v|m4a)$/i;var y=function(){function f(){}f.findGroup=function e(t,r){for(var n=0;n2){n=r.shift()+".";n+=parseInt(r.shift()).toString(16);n+=("000"+parseInt(r.shift()).toString(16)).substr(-4)}else n=t;return n};f.resolve=function e(t,r){return n["buildAbsoluteURL"](r,t,{alwaysNormalize:true})};f.parseMasterPlaylist=function e(t,r){var n=[];var i={};var a=false;ee.lastIndex=0;function s(n,i){["video","audio"].forEach(function(t){var r=n.filter(function(e){return J(e,t)});if(r.length){var e=r.filter(function(e){return e.lastIndexOf("avc1",0)===0||e.lastIndexOf("mp4a",0)===0});i[t+"Codec"]=e.length>0?e[0]:r[0];n=n.filter(function(e){return r.indexOf(e)===-1})}});i.unknownCodecs=n}var o;while((o=ee.exec(t))!=null)if(o[1]){var l={};var u=l.attrs=new D(o[1]);l.url=f.resolve(o[2],r);var c=u.decimalResolution("RESOLUTION");if(c){l.width=c.width;l.height=c.height}l.bitrate=u.decimalInteger("AVERAGE-BANDWIDTH")||u.decimalInteger("BANDWIDTH");l.name=u.NAME;s([].concat((u.CODECS||"").split(/[ ,]+/)),l);if(l.videoCodec&&l.videoCodec.indexOf("avc1")!==-1)l.videoCodec=f.convertAVC1ToAVCOTI(l.videoCodec);n.push(l)}else if(o[3]){var d=new D(o[3]);if(d["DATA-ID"]){a=true;i[d["DATA-ID"]]=d}}return{levels:n,sessionData:a?i:null}};f.parseMasterPlaylistMedia=function e(t,r,n,i){if(i===void 0)i=[];var a;var s=[];var o=0;te.lastIndex=0;while((a=te.exec(t))!==null){var l=new D(a[1]);if(l.TYPE===n){var u={attrs:l,id:o++,groupId:l["GROUP-ID"],instreamId:l["INSTREAM-ID"],name:l.NAME||l.LANGUAGE,type:n,default:l.DEFAULT==="YES",autoselect:l.AUTOSELECT==="YES",forced:l.FORCED==="YES",lang:l.LANGUAGE};if(l.URI)u.url=f.resolve(l.URI,r);if(i.length){var c=f.findGroup(i,u.groupId);u.audioCodec=c?c.codec:i[0].codec}s.push(u)}}return s};f.parseLevelPlaylist=function e(t,r,n,i,a){var s=0;var o=0;var l=new W(r);var u=0;var c=null;var d=new I;var f;var h;var p;var v=null;re.lastIndex=0;while((f=re.exec(t))!==null){var g=f[1];if(g){d.duration=parseFloat(g);var A=(" "+f[2]).slice(1);d.title=A||null;d.tagList.push(A?["INF",g,A]:["INF",g])}else if(f[3]){if(Object(x["isFiniteNumber"])(d.duration)){var m=s++;d.type=i;d.start=o;if(p)d.levelkey=p;d.sn=m;d.level=n;d.cc=u;d.urlId=a;d.baseurl=r;d.relurl=(" "+f[3]).slice(1);se(d,c);l.fragments.push(d);c=d;o+=d.duration;d=new I}}else if(f[4]){var y=(" "+f[4]).slice(1);if(c)d.setByteRange(y,c);else d.setByteRange(y)}else if(f[5]){d.rawProgramDateTime=(" "+f[5]).slice(1);d.tagList.push(["PROGRAM-DATE-TIME",d.rawProgramDateTime]);if(v===null)v=l.fragments.length}else{f=f[0].match(ne);if(!f){F["logger"].warn("No matches on slow regex match for level playlist!");continue}for(h=1;h=0){p.method=T;p.key=null;p.iv=C}}break}case"START":{var w=new D(E);var O=w.decimalFloatingPoint("TIME-OFFSET");if(Object(x["isFiniteNumber"])(O))l.startTimeOffset=O;break}case"MAP":{var L=new D(E);d.relurl=L.URI;if(L.BYTERANGE)d.setByteRange(L.BYTERANGE);d.baseurl=r;d.level=n;d.type=i;d.sn="initSegment";l.initSegment=d;d=new I;d.rawProgramDateTime=l.initSegment.rawProgramDateTime;break}default:F["logger"].warn("line parsed but not handled: "+f);break}}}d=c;if(d&&!d.relurl){l.fragments.pop();o-=d.duration}l.totalduration=o;l.averagetargetduration=o/l.fragments.length;l.endSN=s-1;l.startCC=l.fragments[0]?l.fragments[0].cc:0;l.endCC=u;if(!l.initSegment&&l.fragments.length)if(l.fragments.every(function(e){return ie.test(e.relurl)})){F["logger"].warn("MP4 fragments found but no init segment (probably no MAP, incomplete M3U8), trying to fetch SIDX");d=new I;d.relurl=l.fragments[0].relurl;d.baseurl=r;d.level=n;d.type=i;d.sn="initSegment";l.initSegment=d;l.needSidxRanges=true}if(v)ae(l.fragments,v);return l};return f}();function ae(e,t){var r=e[t];for(var n=t-1;n>=0;n--){var i=e[n];i.programDateTime=r.programDateTime-i.duration*1e3;r=i}}function se(e,t){if(e.rawProgramDateTime)e.programDateTime=Date.parse(e.rawProgramDateTime);else if(t===null||t===void 0?void 0:t.programDateTime)e.programDateTime=t.endProgramDateTime;if(!Object(x["isFiniteNumber"])(e.programDateTime)){e.programDateTime=null;e.rawProgramDateTime=null}}function oe(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;e.__proto__=t}var le=window,ue=le.performance;var ce=function(r){oe(g,r);function g(e){var t;t=r.call(this,e,M["default"].MANIFEST_LOADING,M["default"].LEVEL_LOADING,M["default"].AUDIO_TRACK_LOADING,M["default"].SUBTITLE_TRACK_LOADING)||this;t.loaders={};return t}g.canHaveQualityLevels=function e(t){return t!==m.AUDIO_TRACK&&t!==m.SUBTITLE_TRACK};g.mapContextToLevelType=function e(t){var r=t.type;switch(r){case m.AUDIO_TRACK:return a.AUDIO;case m.SUBTITLE_TRACK:return a.SUBTITLE;default:return a.MAIN}};g.getResponseUrl=function e(t,r){var n=t.url;if(n===undefined||n.indexOf("data:")===0)n=r.url;return n};var e=g.prototype;e.createInternalLoader=function e(t){var r=this.hls.config;var n=r.pLoader;var i=r.loader;var a=n||i;var s=new a(r);t.loader=s;this.loaders[t.type]=s;return s};e.getInternalLoader=function e(t){return this.loaders[t.type]};e.resetInternalLoader=function e(t){if(this.loaders[t])delete this.loaders[t]};e.destroyInternalLoaders=function e(){for(var t in this.loaders){var r=this.loaders[t];if(r)r.destroy();this.resetInternalLoader(t)}};e.destroy=function e(){this.destroyInternalLoaders();r.prototype.destroy.call(this)};e.onManifestLoading=function e(t){this.load({url:t.url,type:m.MANIFEST,level:0,id:null,responseType:"text"})};e.onLevelLoading=function e(t){this.load({url:t.url,type:m.LEVEL,level:t.level,id:t.id,responseType:"text"})};e.onAudioTrackLoading=function e(t){this.load({url:t.url,type:m.AUDIO_TRACK,level:null,id:t.id,responseType:"text"})};e.onSubtitleTrackLoading=function e(t){this.load({url:t.url,type:m.SUBTITLE_TRACK,level:null,id:t.id,responseType:"text"})};e.load=function e(t){var r=this.hls.config;F["logger"].debug("Loading playlist of type "+t.type+", level: "+t.level+", id: "+t.id);var n=this.getInternalLoader(t);if(n){var i=n.context;if(i&&i.url===t.url){F["logger"].trace("playlist request ongoing");return false}else{F["logger"].warn("aborting previous loader for type: "+t.type);n.abort()}}var a;var s;var o;var l;switch(t.type){case m.MANIFEST:a=r.manifestLoadingMaxRetry;s=r.manifestLoadingTimeOut;o=r.manifestLoadingRetryDelay;l=r.manifestLoadingMaxRetryTimeout;break;case m.LEVEL:a=0;l=0;o=0;s=r.levelLoadingTimeOut;break;default:a=r.levelLoadingMaxRetry;s=r.levelLoadingTimeOut;o=r.levelLoadingRetryDelay;l=r.levelLoadingMaxRetryTimeout;break}n=this.createInternalLoader(t);var u={timeout:s,maxRetry:a,retryDelay:o,maxRetryDelay:l};var c={onSuccess:this.loadsuccess.bind(this),onError:this.loaderror.bind(this),onTimeout:this.loadtimeout.bind(this)};F["logger"].debug("Calling internal loader delegate for URL: "+t.url);n.load(t,u,c);return true};e.loadsuccess=function e(t,r,n,i){if(i===void 0)i=null;if(n.isSidxRequest){this._handleSidxRequest(t,n);this._handlePlaylistLoaded(t,r,n,i);return}this.resetInternalLoader(n.type);if(typeof t.data!=="string")throw new Error('expected responseType of "text" for PlaylistLoader');var a=t.data;r.tload=ue.now();if(a.indexOf("#EXTM3U")!==0){this._handleManifestParsingError(t,n,"no EXTM3U delimiter",i);return}if(a.indexOf("#EXTINF:")>0||a.indexOf("#EXT-X-TARGETDURATION:")>0)this._handleTrackOrLevelPlaylist(t,r,n,i);else this._handleMasterPlaylist(t,r,n,i)};e.loaderror=function e(t,r,n){if(n===void 0)n=null;this._handleNetworkError(r,n,false,t)};e.loadtimeout=function e(t,r,n){if(n===void 0)n=null;this._handleNetworkError(r,n,true)};e._handleMasterPlaylist=function e(t,r,n,i){var a=this.hls;var s=t.data;var o=g.getResponseUrl(t,n);var l=y.parseMasterPlaylist(s,o),u=l.levels,c=l.sessionData;if(!u.length){this._handleManifestParsingError(t,n,"no level found in manifest",i);return}var d=u.map(function(e){return{id:e.attrs.AUDIO,codec:e.audioCodec}});var f=y.parseMasterPlaylistMedia(s,o,"AUDIO",d);var h=y.parseMasterPlaylistMedia(s,o,"SUBTITLES");var p=y.parseMasterPlaylistMedia(s,o,"CLOSED-CAPTIONS");if(f.length){var v=false;f.forEach(function(e){if(!e.url)v=true});if(v===false&&u[0].audioCodec&&!u[0].attrs.AUDIO){F["logger"].log("audio codec signaled in quality level, but no embedded audio track signaled, create one");f.unshift({type:"main",name:"main",default:false,autoselect:false,forced:false,id:-1,attrs:{},url:""})}}a.trigger(M["default"].MANIFEST_LOADED,{levels:u,audioTracks:f,subtitles:h,captions:p,url:o,stats:r,networkDetails:i,sessionData:c})};e._handleTrackOrLevelPlaylist=function e(t,r,n,i){var a=this.hls;var s=n.id,o=n.level,l=n.type;var u=g.getResponseUrl(t,n);var c=Object(x["isFiniteNumber"])(s)?s:0;var d=Object(x["isFiniteNumber"])(o)?o:c;var f=g.mapContextToLevelType(n);var h=y.parseLevelPlaylist(t.data,u,d,f,c);h.tload=r.tload;if(!h.fragments.length){a.trigger(M["default"].ERROR,{type:A["ErrorTypes"].NETWORK_ERROR,details:A["ErrorDetails"].LEVEL_EMPTY_ERROR,fatal:false,url:u,reason:"no fragments found in level",level:typeof n.level==="number"?n.level:undefined});return}if(l===m.MANIFEST){var p={url:u,details:h};a.trigger(M["default"].MANIFEST_LOADED,{levels:[p],audioTracks:[],url:u,stats:r,networkDetails:i,sessionData:null})}r.tparsed=ue.now();if(h.needSidxRanges){var v=h.initSegment.url;this.load({url:v,isSidxRequest:true,type:l,level:o,levelDetails:h,id:s,rangeStart:0,rangeEnd:2048,responseType:"arraybuffer"});return}n.levelDetails=h;this._handlePlaylistLoaded(t,r,n,i)};e._handleSidxRequest=function e(t,r){if(typeof t.data==="string")throw new Error("sidx request must be made with responseType of array buffer");var n=w["default"].parseSegmentIndex(new Uint8Array(t.data));if(!n)return;var i=n.references;var a=r.levelDetails;i.forEach(function(e,t){var r=e.info;if(!a)return;var n=a.fragments[t];if(n.byteRange.length===0)n.setByteRange(String(1+r.end-r.start)+"@"+String(r.start))});if(a)a.initSegment.setByteRange(String(n.moovEndOffset)+"@0")};e._handleManifestParsingError=function e(t,r,n,i){this.hls.trigger(M["default"].ERROR,{type:A["ErrorTypes"].NETWORK_ERROR,details:A["ErrorDetails"].MANIFEST_PARSING_ERROR,fatal:true,url:t.url,reason:n,networkDetails:i})};e._handleNetworkError=function e(t,r,n,i){if(n===void 0)n=false;if(i===void 0)i=null;F["logger"].info("A network error occured while loading a "+t.type+"-type playlist");var a;var s;var o=this.getInternalLoader(t);switch(t.type){case m.MANIFEST:a=n?A["ErrorDetails"].MANIFEST_LOAD_TIMEOUT:A["ErrorDetails"].MANIFEST_LOAD_ERROR;s=true;break;case m.LEVEL:a=n?A["ErrorDetails"].LEVEL_LOAD_TIMEOUT:A["ErrorDetails"].LEVEL_LOAD_ERROR;s=false;break;case m.AUDIO_TRACK:a=n?A["ErrorDetails"].AUDIO_TRACK_LOAD_TIMEOUT:A["ErrorDetails"].AUDIO_TRACK_LOAD_ERROR;s=false;break;default:s=false}if(o){o.abort();this.resetInternalLoader(t.type)}var l={type:A["ErrorTypes"].NETWORK_ERROR,details:a,fatal:s,url:t.url,loader:o,context:t,networkDetails:r};if(i)l.response=i;this.hls.trigger(M["default"].ERROR,l)};e._handlePlaylistLoaded=function e(t,r,n,i){var a=n.type,s=n.level,o=n.id,l=n.levelDetails;if(!l||!l.targetduration){this._handleManifestParsingError(t,n,"invalid target duration",i);return}var u=g.canHaveQualityLevels(n.type);if(u)this.hls.trigger(M["default"].LEVEL_LOADED,{details:l,level:s||0,id:o||0,stats:r,networkDetails:i});else switch(a){case m.AUDIO_TRACK:this.hls.trigger(M["default"].AUDIO_TRACK_LOADED,{details:l,id:o,stats:r,networkDetails:i});break;case m.SUBTITLE_TRACK:this.hls.trigger(M["default"].SUBTITLE_TRACK_LOADED,{details:l,id:o,stats:r,networkDetails:i});break}};return g}(i);var de=ce;function fe(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;e.__proto__=t}var he=function(i){fe(e,i);function e(e){var t;t=i.call(this,e,M["default"].FRAG_LOADING)||this;t.loaders={};return t}var t=e.prototype;t.destroy=function e(){var t=this.loaders;for(var r in t){var n=t[r];if(n)n.destroy()}this.loaders={};i.prototype.destroy.call(this)};t.onFragLoading=function e(t){var r=t.frag,n=r.type,i=this.loaders,a=this.hls.config,s=a.fLoader,o=a.loader;r.loaded=0;var l=i[n];if(l){F["logger"].warn("abort previous fragment loader for type: "+n);l.abort()}l=i[n]=r.loader=a.fLoader?new s(a):new o(a);var u,c,d;u={url:r.url,frag:r,responseType:"arraybuffer",progressData:false};var f=r.byteRangeStartOffset,h=r.byteRangeEndOffset;if(Object(x["isFiniteNumber"])(f)&&Object(x["isFiniteNumber"])(h)){u.rangeStart=f;u.rangeEnd=h}c={timeout:a.fragLoadingTimeOut,maxRetry:0,retryDelay:0,maxRetryDelay:a.fragLoadingMaxRetryTimeout};d={onSuccess:this.loadsuccess.bind(this),onError:this.loaderror.bind(this),onTimeout:this.loadtimeout.bind(this),onProgress:this.loadprogress.bind(this)};l.load(u,c,d)};t.loadsuccess=function e(t,r,n,i){if(i===void 0)i=null;var a=t.data,s=n.frag;s.loader=undefined;this.loaders[s.type]=undefined;this.hls.trigger(M["default"].FRAG_LOADED,{payload:a,frag:s,stats:r,networkDetails:i})};t.loaderror=function e(t,r,n){if(n===void 0)n=null;var i=r.frag;var a=i.loader;if(a)a.abort();this.loaders[i.type]=undefined;this.hls.trigger(M["default"].ERROR,{type:A["ErrorTypes"].NETWORK_ERROR,details:A["ErrorDetails"].FRAG_LOAD_ERROR,fatal:false,frag:r.frag,response:t,networkDetails:n})};t.loadtimeout=function e(t,r,n){if(n===void 0)n=null;var i=r.frag;var a=i.loader;if(a)a.abort();this.loaders[i.type]=undefined;this.hls.trigger(M["default"].ERROR,{type:A["ErrorTypes"].NETWORK_ERROR,details:A["ErrorDetails"].FRAG_LOAD_TIMEOUT,fatal:false,frag:r.frag,networkDetails:n})};t.loadprogress=function e(t,r,n,i){if(i===void 0)i=null;var a=r.frag;a.loaded=t.loaded;this.hls.trigger(M["default"].FRAG_LOAD_PROGRESS,{frag:a,stats:t,networkDetails:i})};return e}(i);var pe=he;function ve(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;e.__proto__=t}var ge=function(n){ve(e,n);function e(e){var t;t=n.call(this,e,M["default"].KEY_LOADING)||this;t.loaders={};t.decryptkey=null;t.decrypturl=null;return t}var t=e.prototype;t.destroy=function e(){for(var t in this.loaders){var r=this.loaders[t];if(r)r.destroy()}this.loaders={};n.prototype.destroy.call(this)};t.onKeyLoading=function e(t){var r=t.frag;var n=r.type;var i=this.loaders[n];if(!r.decryptdata){F["logger"].warn("Missing decryption data on fragment in onKeyLoading");return}var a=r.decryptdata.uri;if(a!==this.decrypturl||this.decryptkey===null){var s=this.hls.config;if(i){F["logger"].warn("abort previous key loader for type:"+n);i.abort()}if(!a){F["logger"].warn("key uri is falsy");return}r.loader=this.loaders[n]=new s.loader(s);this.decrypturl=a;this.decryptkey=null;var o={url:a,frag:r,responseType:"arraybuffer"};var l={timeout:s.fragLoadingTimeOut,maxRetry:0,retryDelay:s.fragLoadingRetryDelay,maxRetryDelay:s.fragLoadingMaxRetryTimeout};var u={onSuccess:this.loadsuccess.bind(this),onError:this.loaderror.bind(this),onTimeout:this.loadtimeout.bind(this)};r.loader.load(o,l,u)}else if(this.decryptkey){r.decryptdata.key=this.decryptkey;this.hls.trigger(M["default"].KEY_LOADED,{frag:r})}};t.loadsuccess=function e(t,r,n){var i=n.frag;if(!i.decryptdata){F["logger"].error("after key load, decryptdata unset");return}this.decryptkey=i.decryptdata.key=new Uint8Array(t.data);i.loader=undefined;delete this.loaders[i.type];this.hls.trigger(M["default"].KEY_LOADED,{frag:i})};t.loaderror=function e(t,r){var n=r.frag;var i=n.loader;if(i)i.abort();delete this.loaders[n.type];this.hls.trigger(M["default"].ERROR,{type:A["ErrorTypes"].NETWORK_ERROR,details:A["ErrorDetails"].KEY_LOAD_ERROR,fatal:false,frag:n,response:t})};t.loadtimeout=function e(t,r){var n=r.frag;var i=n.loader;if(i)i.abort();delete this.loaders[n.type];this.hls.trigger(M["default"].ERROR,{type:A["ErrorTypes"].NETWORK_ERROR,details:A["ErrorDetails"].KEY_LOAD_TIMEOUT,fatal:false,frag:n})};return e}(i);var Ae=ge;function me(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;e.__proto__=t}var B={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"};var ye=function(r){me(e,r);function e(e){var t;t=r.call(this,e,M["default"].BUFFER_APPENDED,M["default"].FRAG_BUFFERED,M["default"].FRAG_LOADED)||this;t.bufferPadding=.2;t.fragments=Object.create(null);t.timeRanges=Object.create(null);t.config=e.config;return t}var t=e.prototype;t.destroy=function e(){this.fragments=Object.create(null);this.timeRanges=Object.create(null);this.config=null;i.prototype.destroy.call(this);r.prototype.destroy.call(this)};t.getBufferedFrag=function e(n,i){var a=this.fragments;var t=Object.keys(a).filter(function(e){var t=a[e];if(t.body.type!==i)return false;if(!t.buffered)return false;var r=t.body;return r.startPTS<=n&&n<=r.endPTS});if(t.length===0)return null;else{var r=t.pop();return a[r].body}};t.detectEvictedFragments=function e(s,o){var l=this;Object.keys(this.fragments).forEach(function(e){var t=l.fragments[e];if(!t||!t.buffered)return;var r=t.range[s];if(!r)return;var n=r.time;for(var i=0;i=a&&r<=s){i.push({startPTS:Math.max(t,n.start(l)),endPTS:Math.min(r,n.end(l))});break}else if(ta){i.push({startPTS:Math.max(t,n.start(l)),endPTS:Math.min(r,n.end(l))});o=true}else if(r<=a)break}return{time:i,partial:o}};t.getFragmentKey=function e(t){return t.type+"_"+t.level+"_"+t.urlId+"_"+t.sn};t.getPartialFragment=function e(r){var n=this;var i,a,s;var o=null;var l=0;Object.keys(this.fragments).forEach(function(e){var t=n.fragments[e];if(n.isPartial(t)){a=t.body.startPTS-n.bufferPadding;s=t.body.endPTS+n.bufferPadding;if(r>=a&&r<=s){i=Math.min(r-a,s-r);if(l<=i){o=t.body;l=i}}}});return o};t.getState=function e(t){var r=this.getFragmentKey(t);var n=this.fragments[r];var i=B.NOT_LOADED;if(n!==undefined)if(!n.buffered)i=B.APPENDING;else if(this.isPartial(n)===true)i=B.PARTIAL;else i=B.OK;return i};t.isPartial=function e(t){return t.buffered===true&&(t.range.video!==undefined&&t.range.video.partial===true||t.range.audio!==undefined&&t.range.audio.partial===true)};t.isTimeBuffered=function e(t,r,n){var i,a;for(var s=0;s=i&&r<=a)return true;if(r<=i)return false}return false};t.onFragLoaded=function e(t){var r=t.frag;if(!Object(x["isFiniteNumber"])(r.sn)||r.bitrateTest)return;this.fragments[this.getFragmentKey(r)]={body:r,range:Object.create(null),buffered:false}};t.onBufferAppended=function e(t){var r=this;this.timeRanges=t.timeRanges;Object.keys(this.timeRanges).forEach(function(e){var t=r.timeRanges[e];r.detectEvictedFragments(e,t)})};t.onFragBuffered=function e(t){this.detectPartialFragments(t.frag)};t.hasFragment=function e(t){var r=this.getFragmentKey(t);return this.fragments[r]!==undefined};t.removeFragment=function e(t){var r=this.getFragmentKey(t);delete this.fragments[r]};t.removeAllFragments=function e(){this.fragments=Object.create(null)};return e}(i);var Ee={search:function e(t,r){var n=0;var i=t.length-1;var a=null;var s=null;while(n<=i){a=(n+i)/2|0;s=t[a];var o=r(s);if(o>0)n=a+1;else if(o<0)i=a-1;else return s}return null}};var U=Ee;var j=function(){function e(){}e.isBuffered=function e(t,r){try{if(t){var n=t.buffered;for(var i=0;i=n.start(i)&&r<=n.end(i))return true}}catch(e){}return false};e.bufferInfo=function e(t,r,n){try{if(t){var i=t.buffered;var a=[];var s;for(s=0;so)i[s-1].end=t[a].end}else i.push(t[a])}else i.push(t[a])}else i=t;var l=0;var u;var c=r;var d=r;for(var f=0;f=h&&r1?r-1:0),i=1;it){n.duration=a-n.start;if(n.duration<0)F["logger"].warn("negative duration computed for frag "+n.sn+",level "+n.level+", there should be some duration drift between playlist and fragment!")}else{i.duration=n.start-a;if(i.duration<0)F["logger"].warn("negative duration computed for frag "+i.sn+",level "+i.level+", there should be some duration drift between playlist and fragment!")}else if(r>t){var s=n.cc===i.cc;i.start=n.start+(s&&n.minEndPTS?n.minEndPTS-n.start:n.duration)}else i.start=Math.max(n.start-i.duration,0)}function Ie(e,t,r,n,i,a){var s=r;var o=n;if(Object(x["isFiniteNumber"])(t.startPTS)){var l=Math.abs(t.startPTS-r);if(!Object(x["isFiniteNumber"])(t.deltaPTS))t.deltaPTS=l;else t.deltaPTS=Math.max(l,t.deltaPTS);s=Math.max(r,t.startPTS);r=Math.min(r,t.startPTS);o=Math.min(n,t.endPTS);n=Math.max(n,t.endPTS);i=Math.min(i,t.startDTS);a=Math.max(a,t.endDTS)}var u=r-t.start;t.start=t.startPTS=r;t.maxStartPTS=s;t.endPTS=n;t.minEndPTS=o;t.startDTS=i;t.endDTS=a;t.duration=n-r;var c=t.sn;if(!e||ce.endSN)return 0;var d,f,h;d=c-e.startSN;f=e.fragments;f[d]=t;for(h=d;h>0;h--)Le(f,h,h-1);for(h=d;hn.length)return;for(var a=0;at)return-1;else return 0})}function Ve(e,t,r){var n=false;if(t&&t.details&&r)if(r.endCC>r.startCC||e&&e.cc=(i||0))return null;r=r||0;for(var a=0;ae&&r.start)return-1;return 0}function qe(e,t,r){var n=Math.min(t,r.duration+(r.deltaPTS?r.deltaPTS:0))*1e3;var i=r.endProgramDateTime||0;return i-n>e}var Xe=250;var G=2;var Ze=.1;var Qe=.05;var Je=function(){function e(e,t,r,n){this.config=e;this.media=t;this.fragmentTracker=r;this.hls=n;this.nudgeRetry=0;this.stallReported=false;this.stalled=null;this.moved=false;this.seeking=false}var t=e.prototype;t.poll=function e(t){var r=this.config,n=this.media,i=this.stalled;var a=n.currentTime,s=n.seeking;var o=this.seeking&&!s;var l=!this.seeking&&s;this.seeking=s;if(a!==t){this.moved=true;if(i!==null){if(this.stallReported){var u=self.performance.now()-i;F["logger"].warn("playback not stuck anymore @"+a+", after "+Math.round(u)+"ms");this.stallReported=false}this.stalled=null;this.nudgeRetry=0}return}if(l||o)this.stalled=null;if(n.paused||n.ended||n.playbackRate===0||!n.buffered.length)return;var c=j.bufferInfo(n,a,0);var d=c.len>0;var f=c.nextStart||0;if(!d&&!f)return;if(s){var h=c.len>G;var p=!f||f-a>G&&!this.fragmentTracker.getPartialFragment(a);if(h||p)return;this.moved=false}if(!this.moved&&this.stalled){var v=Math.max(f,c.start||0)-a;if(v>0&&v<=G){this._trySkipBufferHole(null);return}}var g=self.performance.now();if(i===null){this.stalled=g;return}var A=g-i;if(!s&&A>=Xe)this._reportStall(c.len);var m=j.bufferInfo(n,a,r.maxBufferHole);this._tryFixBufferStall(m,A)};t._tryFixBufferStall=function e(t,r){var n=this.config,i=this.fragmentTracker,a=this.media;var s=a.currentTime;var o=i.getPartialFragment(s);if(o){var l=this._trySkipBufferHole(o);if(l)return}if(t.len>n.maxBufferHole&&r>n.highBufferWatchdogPeriod*1e3){F["logger"].warn("Trying to nudge playhead over buffer-hole");this.stalled=null;this._tryNudgeBuffer()}};t._reportStall=function e(t){var r=this.hls,n=this.media,i=this.stallReported;if(!i){this.stallReported=true;F["logger"].warn("Playback stalling at @"+n.currentTime+" due to low buffer (buffer="+t+")");r.trigger(M["default"].ERROR,{type:A["ErrorTypes"].MEDIA_ERROR,details:A["ErrorDetails"].BUFFER_STALLED_ERROR,fatal:false,buffer:t})}};t._trySkipBufferHole=function e(t){var r=this.config,n=this.hls,i=this.media;var a=i.currentTime;var s=0;for(var o=0;o=s&&a1?r-1:0),i=1;i1){this.clearNextTick();this._tickTimer=self.setTimeout(this._boundTick,0)}this._tickCallCount=0}};t.doTick=function e(){};return e}(i);function nt(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;e.__proto__=t}var K={STOPPED:"STOPPED",STARTING:"STARTING",IDLE:"IDLE",PAUSED:"PAUSED",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",BUFFER_FLUSHING:"BUFFER_FLUSHING",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"};var it=function(t){nt(e,t);function e(){return t.apply(this,arguments)||this}var r=e.prototype;r.doTick=function e(){};r.startLoad=function e(){};r.stopLoad=function e(){var t=this.fragCurrent;if(t){if(t.loader)t.loader.abort();this.fragmentTracker.removeFragment(t)}if(this.demuxer){this.demuxer.destroy();this.demuxer=null}this.fragCurrent=null;this.fragPrevious=null;this.clearInterval();this.clearNextTick();this.state=K.STOPPED};r._streamEnded=function e(t,r){var n=this.fragCurrent,i=this.fragmentTracker;if(!r.live&&n&&!n.backtracked&&n.sn===r.endSN&&!t.nextStart){var a=i.getState(n);return a===B.PARTIAL||a===B.OK}return false};r.onMediaSeeking=function e(){var t=this.config,r=this.media,n=this.mediaBuffer,i=this.state;var a=r?r.currentTime:null;var s=j.bufferInfo(n||r,a,this.config.maxBufferHole);F["logger"].log("media seeking to "+(Object(x["isFiniteNumber"])(a)?a.toFixed(3):a));if(i===K.FRAG_LOADING){var o=this.fragCurrent;if(s.len===0&&o){var l=t.maxFragLookUpTolerance;var u=o.start-l;var c=o.start+o.duration+l;if(ac){if(o.loader){F["logger"].log("seeking outside of buffer while fragment load in progress, cancel fragment load");o.loader.abort()}this.fragCurrent=null;this.fragPrevious=null;this.state=K.IDLE}else F["logger"].log("seeking outside of buffer but within currently loaded fragment range")}}else if(i===K.ENDED){if(s.len===0){this.fragPrevious=null;this.fragCurrent=null}this.state=K.IDLE}if(r)this.lastCurrentTime=a;if(!this.loadedmetadata)this.nextLoadPosition=this.startPosition=a;this.tick()};r.onMediaEnded=function e(){this.startPosition=this.lastCurrentTime=0};r.onHandlerDestroying=function e(){this.stopLoad();t.prototype.onHandlerDestroying.call(this)};r.onHandlerDestroyed=function e(){this.state=K.STOPPED;this.fragmentTracker=null};r.computeLivePosition=function e(t,r){var n=this.config.liveSyncDuration!==undefined?this.config.liveSyncDuration:this.config.liveSyncDurationCount*r.targetduration;return t+Math.max(0,r.totalduration-n)};return e}(rt);function at(e,t){for(var r=0;r0&&t===-1){F["logger"].log("override startPosition with lastCurrentTime @"+r.toFixed(3));t=r}this.state=K.IDLE;this.nextLoadPosition=this.startPosition=this.lastCurrentTime=t;this.tick()}else{this.forceStartLoad=true;this.state=K.STOPPED}};t.stopLoad=function e(){this.forceStartLoad=false;n.prototype.stopLoad.call(this)};t.doTick=function e(){switch(this.state){case K.BUFFER_FLUSHING:this.fragLoadError=0;break;case K.IDLE:this._doTickIdle();break;case K.WAITING_LEVEL:var t=this.levels[this.level];if(t&&t.details)this.state=K.IDLE;break;case K.FRAG_LOADING_WAITING_RETRY:var r=window.performance.now();var n=this.retryDate;if(!n||r>=n||this.media&&this.media.seeking){F["logger"].log("mediaController: retryDate reached, switch back to IDLE state");this.state=K.IDLE}break}this._checkBuffer();this._checkFragmentChanged()};t._doTickIdle=function e(){var t=this.hls,r=t.config,n=this.media;if(this.levelLastLoaded===undefined||!n&&(this.startFragRequested||!r.startFragPrefetch))return;if(this.altAudio&&this.audioOnly){this.demuxer.frag=null;return}var i;if(this.loadedmetadata)i=n.currentTime;else i=this.nextLoadPosition;var a=t.nextLoadLevel,s=this.levels[a];if(!s)return;var o=s.bitrate,l;if(o)l=Math.max(8*r.maxBufferSize/o,r.maxBufferLength);else l=r.maxBufferLength;l=Math.min(l,r.maxMaxBufferLength);var u=i=l)return;F["logger"].trace("buffer length of "+d.toFixed(3)+" is below max of "+l.toFixed(3)+". checking for more payload ...");this.level=t.nextLoadLevel=a;var f=s.details;if(!f||f.live&&this.levelLastLoaded!==a){this.state=K.WAITING_LEVEL;return}if(this._streamEnded(c,f)){var h={};if(this.altAudio)h.type="video";this.hls.trigger(M["default"].BUFFER_EOS,h);this.state=K.ENDED;return}this._fetchPayloadOrEos(i,c,f)};t._fetchPayloadOrEos=function e(t,r,n){var i=this.fragPrevious;this.level;var a=n.fragments,s=a.length;if(s===0)return;var o=a[0].start,l=a[s-1].start+a[s-1].duration,u=r.end,c;if(n.initSegment&&!n.initSegment.data)c=n.initSegment;else if(n.live){var d=this.config.initialLiveManifestSize;if(sd&&d>l.currentTime){F["logger"].log("buffer end: "+r.toFixed(3)+" is located too far from the end of live sliding playlist, reset currentTime to : "+d.toFixed(3));l.currentTime=d}this.nextLoadPosition=d}if(t.PTSKnown&&r>i&&l&&l.readyState)return null;if(this.startFragRequested&&!t.PTSKnown)if(a)if(t.hasProgramDateTime){F["logger"].log("live playlist, switching playlist, load frag with same PDT: "+a.programDateTime);u=$e(s,a.endProgramDateTime,o.maxFragLookUpTolerance)}else{var f=a.sn+1;if(f>=t.startSN&&f<=t.endSN){var h=s[f-t.startSN];if(a.cc===h.cc){u=h;F["logger"].log("live playlist, switching playlist, load frag with next SN: "+u.sn)}}if(!u){u=U.search(s,function(e){return a.cc-e.cc});if(u)F["logger"].log("live playlist, switching playlist, load frag with same CC: "+u.sn)}}return u};t._findFragment=function e(t,r,n,i,a,s,o){var l=this.hls.config;var u;if(as-l.maxFragLookUpTolerance?0:l.maxFragLookUpTolerance;u=We(r,i,a,c)}else u=i[n-1];if(u){var d=u.sn-o.startSN;var f=r&&u.level===r.level;var h=i[d-1];var p=i[d+1];if(r&&u.sn===r.sn)if(f&&!u.backtracked)if(u.snl.maxBufferHole&&r.dropped&&d){u=h;F["logger"].warn("Previous fragment was dropped with large PTS gap between audio and video. Maybe fragment is not starting with a keyframe? Loading previous one to try to overcome this")}else{u=p;if(this.fragmentTracker.getState(u)!==B.OK)F["logger"].log("Re-loading fragment with SN: "+u.sn)}}else u=null;else if(u.backtracked)if(p&&p.backtracked){F["logger"].warn("Already backtracked from fragment "+p.sn+", will not backtrack to fragment "+u.sn+". Loading fragment "+p.sn);u=p}else{F["logger"].warn("Loaded fragment with dropped frames, backtracking 1 segment to find a keyframe");u.dropped=0;if(h){u=h;u.backtracked=true}else if(d)u=null}}return u};t._loadKey=function e(t,r){F["logger"].log("Loading key for "+t.sn+" of ["+r.startSN+"-"+r.endSN+"], level "+this.level);this.state=K.KEY_LOADING;this.hls.trigger(M["default"].KEY_LOADING,{frag:t})};t._loadFragment=function e(t,r,n,i){var a=this.fragmentTracker.getState(t);this.fragCurrent=t;if(t.sn!=="initSegment")this.startFragRequested=true;if(Object(x["isFiniteNumber"])(t.sn)&&!t.bitrateTest)this.nextLoadPosition=t.start+t.duration;if(t.backtracked||a===B.NOT_LOADED||a===B.PARTIAL){t.autoLevel=this.hls.autoLevelEnabled;t.bitrateTest=this.bitrateTest;F["logger"].log("Loading "+t.sn+" of ["+r.startSN+"-"+r.endSN+"], level "+this.level+", "+(this.loadedmetadata?"currentTime":"nextLoadPosition")+": "+parseFloat(n.toFixed(3))+", bufferEnd: "+parseFloat(i.toFixed(3)));this.hls.trigger(M["default"].FRAG_LOADING,{frag:t});if(!this.demuxer)this.demuxer=new v(this.hls,"main");this.state=K.FRAG_LOADING}else if(a===B.APPENDING)if(this._reduceMaxBufferLength(t.duration))this.fragmentTracker.removeFragment(t)};t.getBufferedFrag=function e(t){return this.fragmentTracker.getBufferedFrag(t,a.MAIN)};t.followingBufferedFrag=function e(t){if(t)return this.getBufferedFrag(t.endPTS+.5);return null};t._checkFragmentChanged=function e(){var t,r,n=this.media;if(n&&n.readyState&&n.seeking===false){r=n.currentTime;if(r>this.lastCurrentTime)this.lastCurrentTime=r;if(j.isBuffered(n,r))t=this.getBufferedFrag(r);else if(j.isBuffered(n,r+.1))t=this.getBufferedFrag(r+.1);if(t){var i=t;if(i!==this.fragPlaying){this.hls.trigger(M["default"].FRAG_CHANGED,{frag:i});var a=i.level;if(!this.fragPlaying||this.fragPlaying.level!==a)this.hls.trigger(M["default"].LEVEL_SWITCHED,{level:a});this.fragPlaying=i}}}};t.immediateLevelSwitch=function e(){F["logger"].log("immediateLevelSwitch");if(!this.immediateSwitch){this.immediateSwitch=true;var t=this.media,r;if(t){r=t.paused;if(!r)t.pause()}else r=true;this.previouslyPaused=r}var n=this.fragCurrent;if(n&&n.loader)n.loader.abort();this.fragCurrent=null;this.flushMainBuffer(0,Number.POSITIVE_INFINITY)};t.immediateLevelSwitchEnd=function e(){var t=this.media;if(t&&t.buffered.length){this.immediateSwitch=false;if(t.currentTime>0&&j.isBuffered(t,t.currentTime))t.currentTime-=1e-4;if(!this.previouslyPaused)t.play()}};t.nextLevelSwitch=function e(){var t=this.media;if(t&&t.readyState){var r;var n=this.getBufferedFrag(t.currentTime);if(n&&n.startPTS>1)this.flushMainBuffer(0,n.startPTS-1);if(!t.paused){var i=this.hls.nextLoadLevel,a=this.levels[i],s=this.fragLastKbps;if(s&&this.fragCurrent)r=this.fragCurrent.duration*a.bitrate/(1e3*s)+1;else r=0}else r=0;var o=this.getBufferedFrag(t.currentTime+r);if(o){var l=this.followingBufferedFrag(o);if(l){var u=this.fragCurrent;if(u&&u.loader)u.loader.abort();this.fragCurrent=null;var c=Math.max(o.endPTS,l.maxStartPTS+Math.min(this.config.maxFragLookUpTolerance,l.duration));this.flushMainBuffer(c,Number.POSITIVE_INFINITY)}}}};t.flushMainBuffer=function e(t,r){this.state=K.BUFFER_FLUSHING;var n={startOffset:t,endOffset:r};if(this.altAudio)n.type="video";this.hls.trigger(M["default"].BUFFER_FLUSHING,n)};t.onMediaAttached=function e(t){var r=this.media=this.mediaBuffer=t.media;this.onvseeking=this.onMediaSeeking.bind(this);this.onvseeked=this.onMediaSeeked.bind(this);this.onvended=this.onMediaEnded.bind(this);r.addEventListener("seeking",this.onvseeking);r.addEventListener("seeked",this.onvseeked);r.addEventListener("ended",this.onvended);var n=this.config;if(this.levels&&n.autoStartLoad)this.hls.startLoad(n.startPosition);this.gapController=new Je(n,r,this.fragmentTracker,this.hls)};t.onMediaDetaching=function e(){var t=this.media;if(t&&t.ended){F["logger"].log("MSE detaching and video ended, reset startPosition");this.startPosition=this.lastCurrentTime=0}var r=this.levels;if(r)r.forEach(function(e){if(e.details)e.details.fragments.forEach(function(e){e.backtracked=undefined})});if(t){t.removeEventListener("seeking",this.onvseeking);t.removeEventListener("seeked",this.onvseeked);t.removeEventListener("ended",this.onvended);this.onvseeking=this.onvseeked=this.onvended=null}this.fragmentTracker.removeAllFragments();this.media=this.mediaBuffer=null;this.loadedmetadata=false;this.stopLoad()};t.onMediaSeeked=function e(){var t=this.media;var r=t?t.currentTime:undefined;if(Object(x["isFiniteNumber"])(r))F["logger"].log("media seeked to "+r.toFixed(3));this.tick()};t.onManifestLoading=function e(){F["logger"].log("trigger BUFFER_RESET");this.hls.trigger(M["default"].BUFFER_RESET);this.fragmentTracker.removeAllFragments();this.stalled=false;this.startPosition=this.lastCurrentTime=0};t.onManifestParsed=function e(t){var r=false,n=false,i;t.levels.forEach(function(e){i=e.audioCodec;if(i){if(i.indexOf("mp4a.40.2")!==-1)r=true;if(i.indexOf("mp4a.40.5")!==-1)n=true}});this.audioCodecSwitch=r&&n;if(this.audioCodecSwitch)F["logger"].log("both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC");this.altAudio=t.altAudio;this.levels=t.levels;this.startFragRequested=false;var a=this.config;if(a.autoStartLoad||this.forceStartLoad)this.hls.startLoad(a.startPosition)};t.onLevelLoaded=function e(t){var r=t.details;var n=t.level;var i=this.levels[this.levelLastLoaded];var a=this.levels[n];var s=r.totalduration;var o=0;F["logger"].log("level "+n+" loaded ["+r.startSN+","+r.endSN+"],duration:"+s);if(r.live||a.details&&a.details.live){var l=a.details;if(l&&r.fragments.length>0){De(l,r);o=r.fragments[0].start;this.liveSyncPosition=this.computeLivePosition(o,l);if(r.PTSKnown&&Object(x["isFiniteNumber"])(o))F["logger"].log("live playlist sliding:"+o.toFixed(3));else{F["logger"].log("live playlist - outdated PTS, unknown sliding");Ye(this.fragPrevious,i,r)}}else{F["logger"].log("live playlist - first load, unknown sliding");r.PTSKnown=false;Ye(this.fragPrevious,i,r)}}else r.PTSKnown=false;a.details=r;this.levelLastLoaded=n;this.hls.trigger(M["default"].LEVEL_UPDATED,{details:r,level:n});if(this.startFragRequested===false){if(this.startPosition===-1||this.lastCurrentTime===-1){var u=r.startTimeOffset;if(Object(x["isFiniteNumber"])(u)){if(u<0){F["logger"].log("negative start time offset "+u+", count from end of last fragment");u=o+s+u}F["logger"].log("start time offset found in playlist, adjust startPosition to "+u);this.startPosition=u}else if(r.live){this.startPosition=this.computeLivePosition(o,r);F["logger"].log("configure startPosition to "+this.startPosition)}else this.startPosition=0;this.lastCurrentTime=this.startPosition}this.nextLoadPosition=this.startPosition}if(this.state===K.WAITING_LEVEL)this.state=K.IDLE;this.tick()};t.onKeyLoaded=function e(){if(this.state===K.KEY_LOADING){this.state=K.IDLE;this.tick()}};t.onFragLoaded=function e(t){var r=this.fragCurrent,n=this.hls,i=this.levels,a=this.media;var s=t.frag;if(this.state===K.FRAG_LOADING&&r&&s.type==="main"&&s.level===r.level&&s.sn===r.sn){var o=t.stats;var l=i[r.level];var u=l.details;this.bitrateTest=false;this.stats=o;F["logger"].log("Loaded "+r.sn+" of ["+u.startSN+" ,"+u.endSN+"],level "+r.level);if(s.bitrateTest&&n.nextLoadLevel){this.state=K.IDLE;this.startFragRequested=false;o.tparsed=o.tbuffered=window.performance.now();n.trigger(M["default"].FRAG_BUFFERED,{stats:o,frag:r,id:"main"});this.tick()}else if(s.sn==="initSegment"){this.state=K.IDLE;o.tparsed=o.tbuffered=window.performance.now();u.initSegment.data=t.payload;n.trigger(M["default"].FRAG_BUFFERED,{stats:o,frag:r,id:"main"});this.tick()}else{F["logger"].log("Parsing "+r.sn+" of ["+u.startSN+" ,"+u.endSN+"],level "+r.level+", cc "+r.cc);this.state=K.PARSING;this.pendingBuffering=true;this.appended=false;if(s.bitrateTest){s.bitrateTest=false;this.fragmentTracker.onFragLoaded({frag:s})}var c=!(a&&a.seeking)&&(u.PTSKnown||!u.live);var d=u.initSegment?u.initSegment.data:[];var f=this._getAudioCodec(l);var h=this.demuxer=this.demuxer||new v(this.hls,"main");h.push(t.payload,d,f,l.videoCodec,r,u.totalduration,c)}}this.fragLoadError=0};t.onFragParsingInitSegment=function e(t){var r=this.fragCurrent;var n=t.frag;if(r&&t.id==="main"&&n.sn===r.sn&&n.level===r.level&&this.state===K.PARSING){var i=t.tracks,a,s;this.audioOnly=i.audio&&!i.video;if(this.altAudio&&!this.audioOnly)delete i.audio;s=i.audio;if(s){var o=this.levels[this.level].audioCodec,l=navigator.userAgent.toLowerCase();if(o&&this.audioCodecSwap){F["logger"].log("swapping playlist audio codec");if(o.indexOf("mp4a.40.5")!==-1)o="mp4a.40.2";else o="mp4a.40.5"}if(this.audioCodecSwitch)if(s.metadata.channelCount!==1&&l.indexOf("firefox")===-1)o="mp4a.40.5";if(l.indexOf("android")!==-1&&s.container!=="audio/mpeg"){o="mp4a.40.2";F["logger"].log("Android: force audio codec to "+o)}s.levelCodec=o;s.id=t.id}s=i.video;if(s){s.levelCodec=this.levels[this.level].videoCodec;s.id=t.id}this.hls.trigger(M["default"].BUFFER_CODECS,i);for(a in i){s=i[a];F["logger"].log("main track:"+a+",container:"+s.container+",codecs[level/parsed]=["+s.levelCodec+"/"+s.codec+"]");var u=s.initSegment;if(u){this.appended=true;this.pendingBuffering=true;this.hls.trigger(M["default"].BUFFER_APPENDING,{type:a,data:u,parent:"main",content:"initSegment"})}}this.tick()}};t.onFragParsingData=function e(t){var r=this;var n=this.fragCurrent;var i=t.frag;if(n&&t.id==="main"&&i.sn===n.sn&&i.level===n.level&&!(t.type==="audio"&&this.altAudio)&&this.state===K.PARSING){var a=this.levels[this.level],s=n;if(!Object(x["isFiniteNumber"])(t.endPTS)){t.endPTS=t.startPTS+n.duration;t.endDTS=t.startDTS+n.duration}if(t.hasAudio===true)s.addElementaryStream(f.AUDIO);if(t.hasVideo===true)s.addElementaryStream(f.VIDEO);F["logger"].log("Parsed "+t.type+",PTS:["+t.startPTS.toFixed(3)+","+t.endPTS.toFixed(3)+"],DTS:["+t.startDTS.toFixed(3)+"/"+t.endDTS.toFixed(3)+"],nb:"+t.nb+",dropped:"+(t.dropped||0));if(t.type==="video"){s.dropped=t.dropped;if(s.dropped)if(!s.backtracked){var o=a.details;if(o&&s.sn===o.startSN)F["logger"].warn("missing video frame(s) on first frag, appending with gap",s.sn);else{F["logger"].warn("missing video frame(s), backtracking fragment",s.sn);this.fragmentTracker.removeFragment(s);s.backtracked=true;this.nextLoadPosition=t.startPTS;this.state=K.IDLE;this.fragPrevious=s;if(this.demuxer){this.demuxer.destroy();this.demuxer=null}this.tick();return}}else F["logger"].warn("Already backtracked on this fragment, appending with the gap",s.sn);else s.backtracked=false}var l=Ie(a.details,s,t.startPTS,t.endPTS,t.startDTS,t.endDTS),u=this.hls;u.trigger(M["default"].LEVEL_PTS_UPDATED,{details:a.details,level:this.level,drift:l,type:t.type,start:t.startPTS,end:t.endPTS});[t.data1,t.data2].forEach(function(e){if(e&&e.length&&r.state===K.PARSING){r.appended=true;r.pendingBuffering=true;u.trigger(M["default"].BUFFER_APPENDING,{type:t.type,data:e,parent:"main",content:"data"})}});this.tick()}};t.onFragParsed=function e(t){var r=this.fragCurrent;var n=t.frag;if(r&&t.id==="main"&&n.sn===r.sn&&n.level===r.level&&this.state===K.PARSING){this.stats.tparsed=window.performance.now();this.state=K.PARSED;this._checkAppendedParsed()}};t.onAudioTrackSwitching=function e(t){var r=this.altAudio;var n=!!t.url;var i=t.id;if(!n){if(this.mediaBuffer!==this.media){F["logger"].log("switching on main audio, use media.buffered to schedule main fragment loading");this.mediaBuffer=this.media;var a=this.fragCurrent;if(a.loader){F["logger"].log("switching to main audio track, cancel main fragment load");a.loader.abort()}this.fragCurrent=null;this.fragPrevious=null;if(this.demuxer){this.demuxer.destroy();this.demuxer=null}this.state=K.IDLE}var s=this.hls;if(r)s.trigger(M["default"].BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:"audio"});s.trigger(M["default"].AUDIO_TRACK_SWITCHED,{id:i})}};t.onAudioTrackSwitched=function e(t){var r=t.id,n=!!this.hls.audioTracks[r].url;if(n){var i=this.videoBuffer;if(i&&this.mediaBuffer!==i){F["logger"].log("switching on alternate audio, use video.buffered to schedule main fragment loading");this.mediaBuffer=i}}this.altAudio=n;this.tick()};t.onBufferCreated=function e(t){var r=t.tracks,n,i,a=false;for(var s in r){var o=r[s];if(o.id==="main"){i=s;n=o;if(s==="video")this.videoBuffer=r[s].buffer}else a=true}if(a&&n){F["logger"].log("alternate track found, use "+i+".buffered to schedule main fragment loading");this.mediaBuffer=n.buffer}else this.mediaBuffer=this.media};t.onBufferAppended=function e(t){if(t.parent==="main"){var r=this.state;if(r===K.PARSING||r===K.PARSED){this.pendingBuffering=t.pending>0;this._checkAppendedParsed()}}};t._checkAppendedParsed=function e(){if(this.state===K.PARSED&&(!this.appended||!this.pendingBuffering)){var t=this.fragCurrent;if(t){var r=this.mediaBuffer?this.mediaBuffer:this.media;F["logger"].log("main buffered : "+Be.toString(r.buffered));this.fragPrevious=t;var n=this.stats;n.tbuffered=window.performance.now();this.fragLastKbps=Math.round(8*n.total/(n.tbuffered-n.tfirst));this.hls.trigger(M["default"].FRAG_BUFFERED,{stats:n,frag:t,id:"main"});this.state=K.IDLE}if(this.loadedmetadata||this.startPosition<=0)this.tick()}};t.onError=function e(t){var r=t.frag||this.fragCurrent;if(r&&r.type!=="main")return;var n=!!this.media&&j.isBuffered(this.media,this.media.currentTime)&&j.isBuffered(this.media,this.media.currentTime+.5);switch(t.details){case A["ErrorDetails"].FRAG_LOAD_ERROR:case A["ErrorDetails"].FRAG_LOAD_TIMEOUT:case A["ErrorDetails"].KEY_LOAD_ERROR:case A["ErrorDetails"].KEY_LOAD_TIMEOUT:if(!t.fatal)if(this.fragLoadError+1<=this.config.fragLoadingMaxRetry){var i=Math.min(Math.pow(2,this.fragLoadError)*this.config.fragLoadingRetryDelay,this.config.fragLoadingMaxRetryTimeout);F["logger"].warn("mediaController: frag loading failed, retry in "+i+" ms");this.retryDate=window.performance.now()+i;if(!this.loadedmetadata){this.startFragRequested=false;this.nextLoadPosition=this.startPosition}this.fragLoadError++;this.state=K.FRAG_LOADING_WAITING_RETRY}else{F["logger"].error("mediaController: "+t.details+" reaches max retry, redispatch as fatal ...");t.fatal=true;this.state=K.ERROR}break;case A["ErrorDetails"].LEVEL_LOAD_ERROR:case A["ErrorDetails"].LEVEL_LOAD_TIMEOUT:if(this.state!==K.ERROR)if(t.fatal){this.state=K.ERROR;F["logger"].warn("streamController: "+t.details+",switch to "+this.state+" state ...")}else if(!t.levelRetry&&this.state===K.WAITING_LEVEL)this.state=K.IDLE;break;case A["ErrorDetails"].BUFFER_FULL_ERROR:if(t.parent==="main"&&(this.state===K.PARSING||this.state===K.PARSED))if(n){this._reduceMaxBufferLength(this.config.maxBufferLength);this.state=K.IDLE}else{F["logger"].warn("buffer full error also media.currentTime is not buffered, flush everything");this.fragCurrent=null;this.flushMainBuffer(0,Number.POSITIVE_INFINITY)}break}};t._reduceMaxBufferLength=function e(t){var r=this.config;if(r.maxMaxBufferLength>=t){r.maxMaxBufferLength/=2;F["logger"].warn("main:reduce max buffer length to "+r.maxMaxBufferLength+"s");return true}return false};t._checkBuffer=function e(){var t=this.media;if(!t||t.readyState===0)return;var r=this.mediaBuffer?this.mediaBuffer:t;var n=r.buffered;if(!this.loadedmetadata&&n.length){this.loadedmetadata=true;this._seekToStartPos()}else if(this.immediateSwitch)this.immediateLevelSwitchEnd();else this.gapController.poll(this.lastCurrentTime,n)};t.onFragLoadEmergencyAborted=function e(){this.state=K.IDLE;if(!this.loadedmetadata){this.startFragRequested=false;this.nextLoadPosition=this.startPosition}this.tick()};t.onBufferFlushed=function e(){var t=this.mediaBuffer?this.mediaBuffer:this.media;if(t){var r=this.audioOnly?f.AUDIO:f.VIDEO;this.fragmentTracker.detectEvictedFragments(r,t.buffered)}this.state=K.IDLE;this.fragPrevious=null};t.onLevelsUpdated=function e(t){this.levels=t.levels};t.swapAudioCodec=function e(){this.audioCodecSwap=!this.audioCodecSwap};t._seekToStartPos=function e(){var t=this.media;var r=t.currentTime;var n=this.startPosition;if(r!==n&&n>=0){if(t.seeking){F["logger"].log("could not seek to "+n+", already seeking at "+r);return}var i=t.buffered.length?t.buffered.start(0):0;var a=i-n;if(a>0&&a"+t);this.hls.trigger(M["default"].STREAM_STATE_TRANSITION,{previousState:r,nextState:t})}},get:function e(){return this._state}},{key:"currentLevel",get:function e(){var t=this.media;if(t){var r=this.getBufferedFrag(t.currentTime);if(r)return r.level}return-1}},{key:"nextBufferedFrag",get:function e(){var t=this.media;if(t)return this.followingBufferedFrag(this.getBufferedFrag(t.currentTime));else return null}},{key:"nextLevel",get:function e(){var t=this.nextBufferedFrag;if(t)return t.level;else return-1}},{key:"liveSyncPosition",get:function e(){return this._liveSyncPosition},set:function e(t){this._liveSyncPosition=t}}]);return e}(it);var ct=ut;function dt(e,t){for(var r=0;r0){i=r[0].bitrate;r.sort(function(e,t){return e.bitrate-t.bitrate});this._levels=r;for(var u=0;u=0&&t1&&l.loadError0){var r=this.currentLevelIndex;var n=t.urlId;var i=t.url[n];F["logger"].log("Attempt loading level index "+r+" with URL-id "+n);this.hls.trigger(M["default"].LEVEL_LOADING,{url:i,level:r,id:n})}}};t.removeLevel=function e(r,n){var t=this.levels.filter(function(e,t){if(t!==r)return true;if(e.url.length>1&&n!==undefined){e.url=e.url.filter(function(e,t){return t!==n});e.urlId=0;return true}return false}).map(function(e,t){var r=e.details;if(r&&r.fragments)r.fragments.forEach(function(e){e.level=t});return e});this._levels=t;this.hls.trigger(M["default"].LEVELS_UPDATED,{levels:t})};ft(e,[{key:"levels",get:function e(){return this._levels}},{key:"level",get:function e(){return this.currentLevelIndex},set:function e(t){var r=this._levels;if(r){t=Math.min(t,r.length-1);if(this.currentLevelIndex!==t||!r[t].details)this.setLevelInternal(t)}}},{key:"manualLevel",get:function e(){return this.manualLevelIndex},set:function e(t){this.manualLevelIndex=t;if(this._startLevel===undefined)this._startLevel=t;if(t!==-1)this.level=t}},{key:"firstLevel",get:function e(){return this._firstLevel},set:function e(t){this._firstLevel=t}},{key:"startLevel",get:function e(){if(this._startLevel===undefined){var t=this.hls.config.startLevel;if(t!==undefined)return t;else return this._firstLevel}else return this._startLevel},set:function e(t){this._startLevel=t}},{key:"nextLoadLevel",get:function e(){if(this.manualLevelIndex!==-1)return this.manualLevelIndex;else return this.hls.nextAutoLevel},set:function e(t){this.level=t;if(this.manualLevelIndex===-1)this.hls.nextAutoLevel=t}}]);return e}(i);var gt=e("./src/demux/id3.js");function At(e,t){var r;try{r=new Event("addtrack")}catch(e){r=document.createEvent("Event");r.initEvent("addtrack",false,false)}r.track=e;t.dispatchEvent(r)}function c(e){if(e===null||e===void 0?void 0:e.cues)while(e.cues.length>0)e.removeCue(e.cues[0])}function mt(e,t){if(te[e.length-1].endTime)return e[e.length-1];var r=0;var n=e.length-1;while(r<=n){var i=Math.floor((n+r)/2);if(te[i].endTime)r=i+1;else return e[i]}return e[r].endTime-t=this.minWeight_};t.getEstimate=function e(){if(this.canEstimate())return Math.min(this.fast_.getEstimate(),this.slow_.getEstimate());else return this.defaultEstimate_};t.destroy=function e(){};return e}();var Rt=Ct;function wt(e,t){for(var r=0;r500*n.duration/o){var l=t.levels;var u=Math.max(1,a.bw?a.bw/8:a.loaded*1e3/s);var c=l[n.level];if(!c)return;var d=c.realBitrate?Math.max(c.realBitrate,c.bitrate):c.bitrate;var f=a.total?a.total:Math.max(a.loaded,Math.round(n.duration*d/8));var h=r.currentTime;var p=(f-a.loaded)/u;var v=(j.bufferInfo(r,h,t.config.maxBufferHole).end-h)/o;if(v<2*n.duration/o&&p>v){var g=t.minAutoLevel;var A;var m;for(m=n.level-1;m>g;m--){var y=l[m].realBitrate?Math.max(l[m].realBitrate,l[m].bitrate):l[m].bitrate;var E=n.duration*y/(8*.8*u);if(E=i;c--){var d=u[c];if(!d)continue;var f=d.details;var h=f?f.totalduration/f.fragments.length:r;var p=f?f.live:false;var v=void 0;if(c<=t)v=o*n;else v=l*n;var g=u[c].realBitrate?Math.max(u[c].realBitrate,u[c].bitrate):u[c].bitrate;var A=g*h/v;F["logger"].trace("level/adjustedbw/bitrate/avgDuration/maxFetchDuration/fetchDuration: "+c+"/"+Math.round(v)+"/"+g+"/"+h+"/"+s+"/"+A);if(v>g&&(!A||p&&!this.bitrateTestDelay||A=0)return h;else{F["logger"].trace("rebuffering expected to happen, lets try to find a quality level minimizing the rebuffering");var p=l?Math.min(l,i.maxStarvationDelay):i.maxStarvationDelay;var v=i.abrBandWidthFactor;var g=i.abrBandWidthUpFactor;if(f===0){var A=this.bitrateTestDelay;if(A){var m=l?Math.min(l,i.maxLoadingDelay):i.maxLoadingDelay;p=m-A;F["logger"].trace("bitrate test took "+Math.round(1e3*A)+"ms, set first fragment max fetchDuration to "+Math.round(1e3*p)+" ms");v=g=1}}h=this._findBestLevel(o,l,d,a,r,f+p,v,g,n);return Math.max(h,0)}}}]);return e}(i);var xt=Nt;function Mt(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;e.__proto__=t}var Ft=s();var Bt=function(t){Mt(e,t);function e(e){var o;o=t.call(this,e,M["default"].MEDIA_ATTACHING,M["default"].MEDIA_DETACHING,M["default"].MANIFEST_PARSED,M["default"].BUFFER_RESET,M["default"].BUFFER_APPENDING,M["default"].BUFFER_CODECS,M["default"].BUFFER_EOS,M["default"].BUFFER_FLUSHING,M["default"].LEVEL_PTS_UPDATED,M["default"].LEVEL_UPDATED)||this;o._msDuration=null;o._levelDuration=null;o._levelTargetDuration=10;o._live=null;o._objectUrl=null;o._needsFlush=false;o._needsEos=false;o.config=void 0;o.audioTimestampOffset=void 0;o.bufferCodecEventsExpected=0;o._bufferCodecEventsTotal=0;o.media=null;o.mediaSource=null;o.segments=[];o.parent=void 0;o.appending=false;o.appended=0;o.appendError=0;o.flushBufferCounter=0;o.tracks={};o.pendingTracks={};o.sourceBuffer={};o.flushRange=[];o._onMediaSourceOpen=function(){F["logger"].log("media source opened");o.hls.trigger(M["default"].MEDIA_ATTACHED,{media:o.media});var e=o.mediaSource;if(e)e.removeEventListener("sourceopen",o._onMediaSourceOpen);o.checkPendingTracks()};o._onMediaSourceClose=function(){F["logger"].log("media source closed")};o._onMediaSourceEnded=function(){F["logger"].log("media source ended")};o._onSBUpdateEnd=function(){if(o.audioTimestampOffset&&o.sourceBuffer.audio){var e=o.sourceBuffer.audio;F["logger"].warn("change mpeg audio timestamp offset from "+e.timestampOffset+" to "+o.audioTimestampOffset);e.timestampOffset=o.audioTimestampOffset;delete o.audioTimestampOffset}if(o._needsFlush)o.doFlush();if(o._needsEos)o.checkEos();o.appending=false;var r=o.parent;var t=o.segments.reduce(function(e,t){return t.parent===r?e+1:e},0);var n={};var i=o.sourceBuffer;for(var a in i){var s=i[a];if(!s)throw Error("handling source buffer update end error: source buffer for "+a+" uninitilized and unable to update buffered TimeRanges.");n[a]=s.buffered}o.hls.trigger(M["default"].BUFFER_APPENDED,{parent:r,pending:t,timeRanges:n});if(!o._needsFlush)o.doAppending();o.updateMediaElementDuration();if(t===0)o.flushLiveBackBuffer()};o._onSBUpdateError=function(e){F["logger"].error("sourceBuffer error:",e);o.hls.trigger(M["default"].ERROR,{type:A["ErrorTypes"].MEDIA_ERROR,details:A["ErrorDetails"].BUFFER_APPENDING_ERROR,fatal:false})};o.config=e.config;return o}var r=e.prototype;r.destroy=function e(){i.prototype.destroy.call(this)};r.onLevelPtsUpdated=function e(t){var r=t.type;var n=this.tracks.audio;if(r==="audio"&&n&&n.container==="audio/mpeg"){var i=this.sourceBuffer.audio;if(!i)throw Error("Level PTS Updated and source buffer for audio uninitalized");var a=Math.abs(i.timestampOffset-t.start);if(a>.1){var s=i.updating;try{i.abort()}catch(e){F["logger"].warn("can not abort audio buffer: "+e)}if(!s){F["logger"].warn("change mpeg audio timestamp offset from "+i.timestampOffset+" to "+t.start);i.timestampOffset=t.start}else this.audioTimestampOffset=t.start}}};r.onManifestParsed=function e(t){var r=2;if(t.audio&&!t.video||!t.altAudio)r=1;this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=r;F["logger"].log(this.bufferCodecEventsExpected+" bufferCodec event(s) expected")};r.onMediaAttaching=function e(t){var r=this.media=t.media;if(r&&Ft){var n=this.mediaSource=new Ft;n.addEventListener("sourceopen",this._onMediaSourceOpen);n.addEventListener("sourceended",this._onMediaSourceEnded);n.addEventListener("sourceclose",this._onMediaSourceClose);r.src=window.URL.createObjectURL(n);this._objectUrl=r.src}};r.onMediaDetaching=function e(){F["logger"].log("media source detaching");var t=this.mediaSource;if(t){if(t.readyState==="open")try{t.endOfStream()}catch(e){F["logger"].warn("onMediaDetaching:"+e.message+" while calling endOfStream")}t.removeEventListener("sourceopen",this._onMediaSourceOpen);t.removeEventListener("sourceended",this._onMediaSourceEnded);t.removeEventListener("sourceclose",this._onMediaSourceClose);if(this.media){if(this._objectUrl)window.URL.revokeObjectURL(this._objectUrl);if(this.media.src===this._objectUrl){this.media.removeAttribute("src");this.media.load()}else F["logger"].warn("media.src was changed by a third party - skip cleanup")}this.mediaSource=null;this.media=null;this._objectUrl=null;this.bufferCodecEventsExpected=this._bufferCodecEventsTotal;this.pendingTracks={};this.tracks={};this.sourceBuffer={};this.flushRange=[];this.segments=[];this.appended=0}this.hls.trigger(M["default"].MEDIA_DETACHED)};r.checkPendingTracks=function e(){var t=this.bufferCodecEventsExpected,r=this.pendingTracks;var n=Object.keys(r).length;if(n&&!t||n===2){this.createSourceBuffers(r);this.pendingTracks={};this.doAppending()}};r.onBufferReset=function e(){var t=this.sourceBuffer;for(var r in t){var n=t[r];try{if(n){if(this.mediaSource)this.mediaSource.removeSourceBuffer(n);n.removeEventListener("updateend",this._onSBUpdateEnd);n.removeEventListener("error",this._onSBUpdateError)}}catch(e){}}this.sourceBuffer={};this.flushRange=[];this.segments=[];this.appended=0};r.onBufferCodecs=function e(t){var r=this;if(Object.keys(this.sourceBuffer).length)return;Object.keys(t).forEach(function(e){r.pendingTracks[e]=t[e]});this.bufferCodecEventsExpected=Math.max(this.bufferCodecEventsExpected-1,0);if(this.mediaSource&&this.mediaSource.readyState==="open")this.checkPendingTracks()};r.createSourceBuffers=function e(t){var r=this.sourceBuffer,n=this.mediaSource;if(!n)throw Error("createSourceBuffers called when mediaSource was null");for(var i in t)if(!r[i]){var a=t[i];if(!a)throw Error("source buffer exists for track "+i+", however track does not");var s=a.levelCodec||a.codec;var o=a.container+";codecs="+s;F["logger"].log("creating sourceBuffer("+o+")");try{var l=r[i]=n.addSourceBuffer(o);l.addEventListener("updateend",this._onSBUpdateEnd);l.addEventListener("error",this._onSBUpdateError);this.tracks[i]={buffer:l,codec:s,id:a.id,container:a.container,levelCodec:a.levelCodec}}catch(e){F["logger"].error("error while trying to add sourceBuffer:"+e.message);this.hls.trigger(M["default"].ERROR,{type:A["ErrorTypes"].MEDIA_ERROR,details:A["ErrorDetails"].BUFFER_ADD_CODEC_ERROR,fatal:false,err:e,mimeType:o})}}this.hls.trigger(M["default"].BUFFER_CREATED,{tracks:this.tracks})};r.onBufferAppending=function e(t){if(!this._needsFlush){if(!this.segments)this.segments=[t];else this.segments.push(t);this.doAppending()}};r.onBufferEos=function e(t){for(var r in this.sourceBuffer)if(!t.type||t.type===r){var n=this.sourceBuffer[r];if(n&&!n.ended){n.ended=true;F["logger"].log(r+" sourceBuffer now EOS")}}this.checkEos()};r.checkEos=function e(){var t=this.sourceBuffer,r=this.mediaSource;if(!r||r.readyState!=="open"){this._needsEos=false;return}for(var n in t){var i=t[n];if(!i)continue;if(!i.ended)return;if(i.updating){this._needsEos=true;return}}F["logger"].log("all media data are available, signal endOfStream() to MediaSource and stop loading fragment");try{r.endOfStream()}catch(e){F["logger"].warn("exception while calling mediaSource.endOfStream()")}this._needsEos=false};r.onBufferFlushing=function e(t){if(t.type)this.flushRange.push({start:t.startOffset,end:t.endOffset,type:t.type});else{this.flushRange.push({start:t.startOffset,end:t.endOffset,type:"video"});this.flushRange.push({start:t.startOffset,end:t.endOffset,type:"audio"})}this.flushBufferCounter=0;this.doFlush()};r.flushLiveBackBuffer=function e(){if(!this._live)return;var t=this.config.liveBackBufferLength;if(!isFinite(t)||t<0)return;if(!this.media){F["logger"].error("flushLiveBackBuffer called without attaching media");return}var r=this.media.currentTime;var n=this.sourceBuffer;var i=Object.keys(n);var a=r-Math.max(t,this._levelTargetDuration);for(var s=i.length-1;s>=0;s--){var o=i[s];var l=n[o];if(l){var u=l.buffered;if(u.length>0&&a>u.start(0))if(this.removeBufferRange(o,l,0,a))this.hls.trigger(M["default"].LIVE_BACK_BUFFER_REACHED,{bufferEnd:a})}}};r.onLevelUpdated=function e(t){var r=t.details;if(r.fragments.length>0){this._levelDuration=r.totalduration+r.fragments[0].start;this._levelTargetDuration=r.averagetargetduration||r.targetduration||10;this._live=r.live;this.updateMediaElementDuration()}};r.updateMediaElementDuration=function e(){var t=this.config;var r;if(this._levelDuration===null||!this.media||!this.mediaSource||!this.sourceBuffer||this.media.readyState===0||this.mediaSource.readyState!=="open")return;for(var n in this.sourceBuffer){var i=this.sourceBuffer[n];if(i&&i.updating===true)return}r=this.media.duration;if(this._msDuration===null)this._msDuration=this.mediaSource.duration;if(this._live===true&&t.liveDurationInfinity===true){F["logger"].log("Media Source duration is set to Infinity");this._msDuration=this.mediaSource.duration=Infinity}else if(this._levelDuration>this._msDuration&&this._levelDuration>r||!Object(x["isFiniteNumber"])(r)){F["logger"].log("Updating Media Source duration to "+this._levelDuration.toFixed(3));this._msDuration=this.mediaSource.duration=this._levelDuration}};r.doFlush=function e(){while(this.flushRange.length){var t=this.flushRange[0];if(this.flushBuffer(t.start,t.end,t.type)){this.flushRange.shift();this.flushBufferCounter=0}else{this._needsFlush=true;return}}if(this.flushRange.length===0){this._needsFlush=false;var r=0;var n=this.sourceBuffer;try{for(var i in n){var a=n[i];if(a)r+=a.buffered.length}}catch(e){F["logger"].error("error while accessing sourceBuffer.buffered")}this.appended=r;this.hls.trigger(M["default"].BUFFER_FLUSHED)}};r.doAppending=function e(){var t=this.config,r=this.hls,n=this.segments,i=this.sourceBuffer;if(!Object.keys(i).length)return;if(!this.media||this.media.error){this.segments=[];F["logger"].error("trying to append although a media error occured, flush segment and abort");return}if(this.appending)return;var a=n.shift();if(!a)return;try{var s=i[a.type];if(!s){this._onSBUpdateEnd();return}if(s.updating){n.unshift(a);return}s.ended=false;this.parent=a.parent;s.appendBuffer(a.data);this.appendError=0;this.appended++;this.appending=true}catch(e){F["logger"].error("error while trying to append buffer:"+e.message);n.unshift(a);var o={type:A["ErrorTypes"].MEDIA_ERROR,parent:a.parent,details:"",fatal:false};if(e.code===22){this.segments=[];o.details=A["ErrorDetails"].BUFFER_FULL_ERROR}else{this.appendError++;o.details=A["ErrorDetails"].BUFFER_APPEND_ERROR;if(this.appendError>t.appendErrorMaxRetry){F["logger"].log("fail "+t.appendErrorMaxRetry+" times to append segment in sourceBuffer");this.segments=[];o.fatal=true}}r.trigger(M["default"].ERROR,o)}};r.flushBuffer=function e(t,r,n){var i=this.sourceBuffer;if(!Object.keys(i).length)return true;var a="null";if(this.media)a=this.media.currentTime.toFixed(3);F["logger"].log("flushBuffer,pos/start/end: "+a+"/"+t+"/"+r);if(this.flushBufferCounter>=this.appended){F["logger"].warn("abort flushing too many retries");return true}var s=i[n];if(s){s.ended=false;if(!s.updating){if(this.removeBufferRange(n,s,t,r)){this.flushBufferCounter++;return false}}else{F["logger"].warn("cannot flush, sb updating in progress");return false}}F["logger"].log("buffer flushed");return true};r.removeBufferRange=function e(t,r,n,i){try{for(var a=0;a.5){var c="null";if(this.media)c=this.media.currentTime.toString();F["logger"].log("sb remove "+t+" ["+l+","+u+"], of ["+s+","+o+"], pos:"+c);r.remove(l,u);return true}}}catch(e){F["logger"].warn("removeBufferRange failed",e)}return false};return e}(i);var Ut=Bt;function jt(e,t){for(var r=0;rthis.autoLevelCapping)r.streamController.nextLevelSwitch();this.autoLevelCapping=r.autoLevelCapping}}};e.getMaxLevel=function e(r){var n=this;if(!this.levels)return-1;var t=this.levels.filter(function(e,t){return i.isLevelAllowed(t,n.restrictedLevels)&&t<=r});this.clientRect=null;return i.getMaxLevelByMediaSize(t,this.mediaWidth,this.mediaHeight)};e.startCapping=function e(){if(this.timer)return;this.autoLevelCapping=Number.POSITIVE_INFINITY;this.hls.firstLevel=this.getMaxLevel(this.firstLevel);clearInterval(this.timer);this.timer=setInterval(this.detectPlayerSize.bind(this),1e3);this.detectPlayerSize()};e.stopCapping=function e(){this.restrictedLevels=[];this.firstLevel=null;this.autoLevelCapping=Number.POSITIVE_INFINITY;if(this.timer){this.timer=clearInterval(this.timer);this.timer=null}};e.getDimensions=function e(){if(this.clientRect)return this.clientRect;var t=this.media;var r={width:0,height:0};if(t){var n=t.getBoundingClientRect();r.width=n.width;r.height=n.height;if(!r.width&&!r.height){r.width=n.right-n.left||t.width||0;r.height=n.bottom-n.top||t.height||0}}this.clientRect=r;return r};i.isLevelAllowed=function e(t,r){if(r===void 0)r=[];return r.indexOf(t)===-1};i.getMaxLevelByMediaSize=function e(t,r,n){if(!t||t&&!t.length)return-1;var i=function e(t,r){if(!r)return true;return t.width!==r.width||t.height!==r.height};var a=t.length-1;for(var s=0;s=r||o.height>=n)&&i(o,t[s+1])){a=s;break}}return a};Vt(i,[{key:"mediaWidth",get:function e(){return this.getDimensions().width*i.contentScaleFactor}},{key:"mediaHeight",get:function e(){return this.getDimensions().height*i.contentScaleFactor}}],[{key:"contentScaleFactor",get:function e(){var t=1;try{t=window.devicePixelRatio}catch(e){}return t}}]);return i}(i);var Yt=Kt;function Ht(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;e.__proto__=t}var zt=window,$t=zt.performance;var Wt=function(t){Ht(e,t);function e(e){return t.call(this,e,M["default"].MEDIA_ATTACHING)||this}var r=e.prototype;r.destroy=function e(){if(this.timer)clearInterval(this.timer);this.isVideoPlaybackQualityAvailable=false};r.onMediaAttaching=function e(t){var r=this.hls.config;if(r.capLevelOnFPSDrop){var n=this.video=t.media instanceof window.HTMLVideoElement?t.media:null;if(typeof n.getVideoPlaybackQuality==="function")this.isVideoPlaybackQualityAvailable=true;clearInterval(this.timer);this.timer=setInterval(this.checkFPSInterval.bind(this),r.fpsDroppedMonitoringPeriod)}};r.checkFPS=function e(t,r,n){var i=$t.now();if(r){if(this.lastTime){var a=i-this.lastTime,s=n-this.lastDroppedFrames,o=r-this.lastDecodedFrames,l=1e3*s/a,u=this.hls;u.trigger(M["default"].FPS_DROP,{currentDropped:s,currentDecoded:o,totalDroppedFrames:n});if(l>0)if(s>u.config.fpsDroppedMonitoringThreshold*o){var c=u.currentLevel;F["logger"].warn("drop FPS ratio greater than max allowed value for currentLevel: "+c);if(c>0&&(u.autoLevelCapping===-1||u.autoLevelCapping>=c)){c=c-1;u.trigger(M["default"].FPS_DROP_LEVEL_CAPPING,{level:c,droppedLevel:u.currentLevel});u.autoLevelCapping=c;u.streamController.nextLevelSwitch()}}}this.lastTime=i;this.lastDroppedFrames=n;this.lastDecodedFrames=r}};r.checkFPSInterval=function e(){var t=this.video;if(t)if(this.isVideoPlaybackQualityAvailable){var r=t.getVideoPlaybackQuality();this.checkFPS(t,r.totalVideoFrames,r.droppedVideoFrames)}else this.checkFPS(t,t.webkitDecodedFrameCount,t.webkitDroppedFrameCount)};return e}(i);var qt=Wt;var Xt=function(){function e(e){if(e&&e.xhrSetup)this.xhrSetup=e.xhrSetup}var t=e.prototype;t.destroy=function e(){this.abort();this.loader=null};t.abort=function e(){var t=this.loader;if(t&&t.readyState!==4){this.stats.aborted=true;t.abort()}window.clearTimeout(this.requestTimeout);this.requestTimeout=null;window.clearTimeout(this.retryTimeout);this.retryTimeout=null};t.load=function e(t,r,n){this.context=t;this.config=r;this.callbacks=n;this.stats={trequest:window.performance.now(),retry:0};this.retryDelay=r.retryDelay;this.loadInternal()};t.loadInternal=function e(){var t,r=this.context;t=this.loader=new window.XMLHttpRequest;var n=this.stats;n.tfirst=0;n.loaded=0;var i=this.xhrSetup;try{if(i)try{i(t,r.url)}catch(e){t.open("GET",r.url,true);i(t,r.url)}if(!t.readyState)t.open("GET",r.url,true)}catch(e){this.callbacks.onError({code:t.status,text:e.message},r,t);return}if(r.rangeEnd)t.setRequestHeader("Range","bytes="+r.rangeStart+"-"+(r.rangeEnd-1));t.onreadystatechange=this.readystatechange.bind(this);t.onprogress=this.loadprogress.bind(this);t.responseType=r.responseType;this.requestTimeout=window.setTimeout(this.loadtimeout.bind(this),this.config.timeout);t.send()};t.readystatechange=function e(t){var r=t.currentTarget,n=r.readyState,i=this.stats,a=this.context,s=this.config;if(i.aborted)return;if(n>=2){window.clearTimeout(this.requestTimeout);if(i.tfirst===0)i.tfirst=Math.max(window.performance.now(),i.trequest);if(n===4){var o=r.status;if(o>=200&&o<300){i.tload=Math.max(i.tfirst,window.performance.now());var l,u;if(a.responseType==="arraybuffer"){l=r.response;u=l.byteLength}else{l=r.responseText;u=l.length}i.loaded=i.total=u;var c={url:r.responseURL,data:l};this.callbacks.onSuccess(c,i,a,r)}else if(i.retry>=s.maxRetry||o>=400&&o<499){F["logger"].error(o+" while loading "+a.url);this.callbacks.onError({code:o,text:r.statusText},a,r)}else{F["logger"].warn(o+" while loading "+a.url+", retrying in "+this.retryDelay+"...");this.destroy();this.retryTimeout=window.setTimeout(this.loadInternal.bind(this),this.retryDelay);this.retryDelay=Math.min(2*this.retryDelay,s.maxRetryDelay);i.retry++}}else this.requestTimeout=window.setTimeout(this.loadtimeout.bind(this),s.timeout)}};t.loadtimeout=function e(){F["logger"].warn("timeout while loading "+this.context.url);this.callbacks.onTimeout(this.stats,this.context,null)};t.loadprogress=function e(t){var r=t.currentTarget,n=this.stats;n.loaded=t.loaded;if(t.lengthComputable)n.total=t.total;var i=this.callbacks.onProgress;if(i)i(n,this.context,null,r)};return e}();var Zt=Xt;function Qt(e,t){for(var r=0;r=this.tracks.length){F["logger"].warn("Invalid audio track id:",t.id);return}F["logger"].log("audioTrack "+t.id+" loaded");this.tracks[t.id].details=t.details;if(t.details.live&&!this.hasInterval()){var r=t.details.targetduration*1e3;this.setInterval(r)}if(!t.details.live&&this.hasInterval())this.clearInterval()};t.onAudioTrackSwitched=function e(t){var r=this.tracks[t.id].groupId;if(r&&this.audioGroupId!==r)this.audioGroupId=r};t.onLevelLoaded=function e(t){this._selectAudioGroup(t.level)};t.onError=function e(t){if(t.type!==A["ErrorTypes"].NETWORK_ERROR)return;if(t.fatal)this.clearInterval();if(t.details!==A["ErrorDetails"].AUDIO_TRACK_LOAD_ERROR)return;F["logger"].warn("Network failure on audio-track id:",t.context.id);this._handleLoadError()};t._setAudioTrack=function e(t){if(this._trackId===t&&this.tracks[this._trackId].details){F["logger"].debug("Same id as current audio-track passed, and track details available -> no-op");return}if(t<0||t>=this.tracks.length){F["logger"].warn("Invalid id passed to audio-track controller");return}var r=this.tracks[t];F["logger"].log("Now switching to audio-track index "+t);this.clearInterval();this._trackId=t;var n=r.url,i=r.type,a=r.id;this.hls.trigger(M["default"].AUDIO_TRACK_SWITCHING,{id:a,type:i,url:n});this._loadTrackDetailsIfNeeded(r)};t.doTick=function e(){this._updateTrack(this._trackId)};t._selectAudioGroup=function e(t){var r=this.hls.levels[t];if(!r||!r.audioGroupIds)return;var n=r.audioGroupIds[r.urlId];if(this.audioGroupId!==n){this.audioGroupId=n;this._selectInitialAudioTrack()}};t._selectInitialAudioTrack=function e(){var t=this;var r=this.tracks;if(!r.length)return;var n=this.tracks[this._trackId];var i=null;if(n)i=n.name;if(this._selectDefaultTrack){var a=r.filter(function(e){return e.default});if(a.length)r=a;else F["logger"].warn("No default audio tracks defined")}var s=false;var o=function e(){r.forEach(function(e){if(s)return;if((!t.audioGroupId||e.groupId===t.audioGroupId)&&(!i||i===e.name)){t._setAudioTrack(e.id);s=true}})};o();if(!s){i=null;o()}if(!s){F["logger"].error("No track found for running audio group-ID: "+this.audioGroupId);this.hls.trigger(M["default"].ERROR,{type:A["ErrorTypes"].MEDIA_ERROR,details:A["ErrorDetails"].AUDIO_TRACK_LOAD_ERROR,fatal:true})}};t._needsTrackLoading=function e(t){var r=t.details,n=t.url;if(!r||r.live)return!!n;return false};t._loadTrackDetailsIfNeeded=function e(t){if(this._needsTrackLoading(t)){var r=t.url,n=t.id;F["logger"].log("loading audio-track playlist for id: "+n);this.hls.trigger(M["default"].AUDIO_TRACK_LOADING,{url:r,id:n})}};t._updateTrack=function e(t){if(t<0||t>=this.tracks.length)return;this.clearInterval();this._trackId=t;F["logger"].log("trying to update audio-track "+t);var r=this.tracks[t];this._loadTrackDetailsIfNeeded(r)};t._handleLoadError=function e(){this.trackIdBlacklist[this._trackId]=true;var t=this._trackId;var r=this.tracks[t],n=r.name,i=r.language,a=r.groupId;F["logger"].warn("Loading failed on audio track id: "+t+", group-id: "+a+', name/language: "'+n+'" / "'+i+'"');var s=t;for(var o=0;o0&&t===-1){F["logger"].log("audio:override startPosition with lastCurrentTime @"+r.toFixed(3));this.state=K.IDLE}else{this.lastCurrentTime=this.startPosition?this.startPosition:t;this.state=K.STARTING}this.nextLoadPosition=this.startPosition=this.lastCurrentTime;this.tick()}else{this.startPosition=t;this.state=K.STOPPED}};t.doTick=function e(){var t,r,n,i=this.hls,a=i.config;switch(this.state){case K.ERROR:case K.PAUSED:case K.BUFFER_FLUSHING:break;case K.STARTING:this.state=K.WAITING_TRACK;this.loadedmetadata=false;break;case K.IDLE:var s=this.tracks;if(!s)break;if(!this.media&&(this.startFragRequested||!a.startFragPrefetch))break;if(this.loadedmetadata)t=this.media.currentTime;else{t=this.nextLoadPosition;if(t===undefined)break}var o=this.mediaBuffer?this.mediaBuffer:this.media;var l=this.videoBuffer?this.videoBuffer:this.media;var u=tb||c.nextStart){F["logger"].log("alt audio track ahead of main track, seek to start of alt audio track");this.media.currentTime=b+.05}else return}if(n.initSegment&&!n.initSegment.data)_=n.initSegment;else if(h<=b){_=y[0];if(this.videoTrackCC!==null&&_.cc!==this.videoTrackCC)_=je(y,this.videoTrackCC);if(n.live&&_.loadIdx&&_.loadIdx===this.fragLoadIdx){var T=c.nextStart?c.nextStart:b;F["logger"].log("no alt audio available @currentTime:"+this.media.currentTime+", seeking @"+(T+.05));this.media.currentTime=T+.05;return}}else{var S;var C=a.maxFragLookUpTolerance;var R=p?y[p.sn-y[0].sn+1]:undefined;if(hk-C)C=0;if(R&&!V(h,C,R))S=R;else S=U.search(y,function(e){return V(h,C,e)})}else S=y[E-1];if(S){_=S;b=S.start;if(p&&_.level===p.level&&_.sn===p.sn)if(_.sn=O||L){F["logger"].log("audioStreamController: retryDate reached, switch back to IDLE state");this.state=K.IDLE}break;case K.WAITING_INIT_PTS:var I=this.waitingFragment;if(I){var D=I.frag.cc;if(this.initPTS[D]!==undefined){this.waitingFragment=null;this.state=K.FRAG_LOADING;this.onFragLoaded(I)}else if(this.videoTrackCC!==this.waitingVideoCC){F["logger"].log("Waiting fragment cc ("+D+") cancelled because video is at cc "+this.videoTrackCC);this.clearWaitingFragment()}else{var P=j.bufferInfo(this.mediaBuffer,this.media.currentTime,a.maxBufferHole);var N=V(P.end,a.maxFragLookUpTolerance,I.frag);if(N<0){F["logger"].log("Waiting fragment cc ("+D+") @ "+I.frag.start+" cancelled because another fragment at "+P.end+" is needed");this.clearWaitingFragment()}}}else this.state=K.IDLE;break}};t.clearWaitingFragment=function e(){var t=this.waitingFragment;if(t){this.fragmentTracker.removeFragment(t.frag);this.waitingFragment=null;this.waitingVideoCC=null;this.state=K.IDLE}};t.onMediaAttached=function e(t){var r=this.media=this.mediaBuffer=t.media;this.onvseeking=this.onMediaSeeking.bind(this);this.onvended=this.onMediaEnded.bind(this);r.addEventListener("seeking",this.onvseeking);r.addEventListener("ended",this.onvended);var n=this.config;if(this.tracks&&n.autoStartLoad)this.startLoad(n.startPosition)};t.onMediaDetaching=function e(){var t=this.media;if(t&&t.ended){F["logger"].log("MSE detaching and video ended, reset startPosition");this.startPosition=this.lastCurrentTime=0}if(t){t.removeEventListener("seeking",this.onvseeking);t.removeEventListener("ended",this.onvended);this.onvseeking=this.onvseeked=this.onvended=null}this.media=this.mediaBuffer=this.videoBuffer=null;this.loadedmetadata=false;this.fragmentTracker.removeAllFragments();this.stopLoad()};t.onAudioTracksUpdated=function e(t){F["logger"].log("audio tracks updated");this.tracks=t.audioTracks};t.onAudioTrackSwitching=function e(t){var r=!!t.url;this.trackId=t.id;this.fragCurrent=null;this.clearWaitingFragment();this.state=K.PAUSED;if(!r){if(this.demuxer){this.demuxer.destroy();this.demuxer=null}}else this.setInterval(or);if(r){this.audioSwitch=true;this.state=K.IDLE}this.tick()};t.onAudioTrackLoaded=function e(t){var r=t.details,n=t.id,i=this.tracks[n],a=i.details,s=r.totalduration,o=0;F["logger"].log("track "+n+" loaded ["+r.startSN+","+r.endSN+"],duration:"+s);if(r.live||a&&a.live)if(a&&r.fragments.length>0){De(a,r);o=r.fragments[0].start;if(r.PTSKnown)F["logger"].log("live audio playlist sliding:"+o.toFixed(3));else F["logger"].log("live audio playlist - outdated PTS, unknown sliding")}else{r.PTSKnown=false;F["logger"].log("live audio playlist - first load, unknown sliding")}else r.PTSKnown=false;i.details=r;if(!this.startFragRequested){if(this.startPosition===-1){var l=r.startTimeOffset;if(Object(x["isFiniteNumber"])(l)){F["logger"].log("start time offset found in playlist, adjust startPosition to "+l);this.startPosition=l}else if(r.live){this.startPosition=this.computeLivePosition(o,r);F["logger"].log("compute startPosition for audio-track to "+this.startPosition)}else this.startPosition=0}this.nextLoadPosition=this.startPosition}if(this.state===K.WAITING_TRACK)this.state=K.IDLE;this.tick()};t.onKeyLoaded=function e(){if(this.state===K.KEY_LOADING){this.state=K.IDLE;this.tick()}};t.onFragLoaded=function e(t){var r=this.fragCurrent,n=t.frag;if(this.state===K.FRAG_LOADING&&r&&n.type==="audio"&&n.level===r.level&&n.sn===r.sn){var i=this.tracks[this.trackId],a=i.details,s=a.totalduration,o=r.level,l=r.sn,u=r.cc,c=this.config.defaultAudioCodec||i.audioCodec||"mp4a.40.2",d=this.stats=t.stats;if(l==="initSegment"){this.state=K.IDLE;d.tparsed=d.tbuffered=Y.now();a.initSegment.data=t.payload;this.hls.trigger(M["default"].FRAG_BUFFERED,{stats:d,frag:r,id:"audio"});this.tick()}else{this.state=K.PARSING;this.appended=false;if(!this.demuxer)this.demuxer=new v(this.hls,"audio");var f=this.initPTS[u];var h=a.initSegment?a.initSegment.data:[];if(f!==undefined){this.pendingBuffering=true;F["logger"].log("Demuxing "+l+" of ["+a.startSN+" ,"+a.endSN+"],track "+o);var p=false;this.demuxer.push(t.payload,h,c,null,r,s,p,f)}else{F["logger"].log("Unknown video PTS for cc "+u+", waiting for video PTS before demuxing audio frag "+l+" of ["+a.startSN+" ,"+a.endSN+"],track "+o);this.waitingFragment=t;this.waitingVideoCC=this.videoTrackCC;this.state=K.WAITING_INIT_PTS}}}this.fragLoadError=0};t.onFragParsingInitSegment=function e(t){var r=this.fragCurrent;var n=t.frag;if(r&&t.id==="audio"&&n.sn===r.sn&&n.level===r.level&&this.state===K.PARSING){var i=t.tracks,a;if(i.video)delete i.video;a=i.audio;if(a){a.levelCodec=a.codec;a.id=t.id;this.hls.trigger(M["default"].BUFFER_CODECS,i);F["logger"].log("audio track:audio,container:"+a.container+",codecs[level/parsed]=["+a.levelCodec+"/"+a.codec+"]");var s=a.initSegment;if(s){var o={type:"audio",data:s,parent:"audio",content:"initSegment"};if(this.audioSwitch)this.pendingData=[o];else{this.appended=true;this.pendingBuffering=true;this.hls.trigger(M["default"].BUFFER_APPENDING,o)}}this.tick()}}};t.onFragParsingData=function e(t){var r=this;var n=this.fragCurrent;var i=t.frag;if(n&&t.id==="audio"&&t.type==="audio"&&i.sn===n.sn&&i.level===n.level&&this.state===K.PARSING){var a=this.trackId,s=this.tracks[a],o=this.hls;if(!Object(x["isFiniteNumber"])(t.endPTS)){t.endPTS=t.startPTS+n.duration;t.endDTS=t.startDTS+n.duration}n.addElementaryStream(f.AUDIO);F["logger"].log("parsed "+t.type+",PTS:["+t.startPTS.toFixed(3)+","+t.endPTS.toFixed(3)+"],DTS:["+t.startDTS.toFixed(3)+"/"+t.endDTS.toFixed(3)+"],nb:"+t.nb);Ie(s.details,n,t.startPTS,t.endPTS);var l=this.media;var u=false;if(this.audioSwitch)if(l&&l.readyState){var c=l.currentTime;F["logger"].log("switching audio track : currentTime:"+c);if(c>=t.startPTS){F["logger"].log("switching audio track : flushing all audio");this.state=K.BUFFER_FLUSHING;o.trigger(M["default"].BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:"audio"});u=true;this.audioSwitch=false;o.trigger(M["default"].AUDIO_TRACK_SWITCHED,{id:a})}}else{this.audioSwitch=false;o.trigger(M["default"].AUDIO_TRACK_SWITCHED,{id:a})}var d=this.pendingData;if(!d){F["logger"].warn("Apparently attempt to enqueue media payload without codec initialization data upfront");o.trigger(M["default"].ERROR,{type:A["ErrorTypes"].MEDIA_ERROR,details:null,fatal:true});return}if(!this.audioSwitch){[t.data1,t.data2].forEach(function(e){if(e&&e.length)d.push({type:t.type,data:e,parent:"audio",content:"data"})});if(!u&&d.length){d.forEach(function(e){if(r.state===K.PARSING){r.pendingBuffering=true;r.hls.trigger(M["default"].BUFFER_APPENDING,e)}});this.pendingData=[];this.appended=true}}this.tick()}};t.onFragParsed=function e(t){var r=this.fragCurrent;var n=t.frag;if(r&&t.id==="audio"&&n.sn===r.sn&&n.level===r.level&&this.state===K.PARSING){this.stats.tparsed=Y.now();this.state=K.PARSED;this._checkAppendedParsed()}};t.onBufferReset=function e(){this.mediaBuffer=this.videoBuffer=null;this.loadedmetadata=false};t.onBufferCreated=function e(t){var r=t.tracks.audio;if(r){this.mediaBuffer=r.buffer;this.loadedmetadata=true}if(t.tracks.video)this.videoBuffer=t.tracks.video.buffer};t.onBufferAppended=function e(t){if(t.parent==="audio"){var r=this.state;if(r===K.PARSING||r===K.PARSED){this.pendingBuffering=t.pending>0;this._checkAppendedParsed()}}};t._checkAppendedParsed=function e(){if(this.state===K.PARSED&&(!this.appended||!this.pendingBuffering)){var t=this.fragCurrent,r=this.stats,n=this.hls;if(t){this.fragPrevious=t;r.tbuffered=Y.now();n.trigger(M["default"].FRAG_BUFFERED,{stats:r,frag:t,id:"audio"});var i=this.mediaBuffer?this.mediaBuffer:this.media;if(i)F["logger"].log("audio buffered : "+Be.toString(i.buffered));if(this.audioSwitch&&this.appended){this.audioSwitch=false;n.trigger(M["default"].AUDIO_TRACK_SWITCHED,{id:this.trackId})}this.state=K.IDLE}this.tick()}};t.onError=function e(t){var r=t.frag;if(r&&r.type!=="audio")return;switch(t.details){case A["ErrorDetails"].FRAG_LOAD_ERROR:case A["ErrorDetails"].FRAG_LOAD_TIMEOUT:var n=t.frag;if(n&&n.type!=="audio")break;if(!t.fatal){var i=this.fragLoadError;if(i)i++;else i=1;var a=this.config;if(i<=a.fragLoadingMaxRetry){this.fragLoadError=i;var s=Math.min(Math.pow(2,i-1)*a.fragLoadingRetryDelay,a.fragLoadingMaxRetryTimeout);F["logger"].warn("AudioStreamController: frag loading failed, retry in "+s+" ms");this.retryDate=Y.now()+s;this.state=K.FRAG_LOADING_WAITING_RETRY}else{F["logger"].error("AudioStreamController: "+t.details+" reaches max retry, redispatch as fatal ...");t.fatal=true;this.state=K.ERROR}}break;case A["ErrorDetails"].AUDIO_TRACK_LOAD_ERROR:case A["ErrorDetails"].AUDIO_TRACK_LOAD_TIMEOUT:case A["ErrorDetails"].KEY_LOAD_ERROR:case A["ErrorDetails"].KEY_LOAD_TIMEOUT:if(this.state!==K.ERROR){this.state=t.fatal?K.ERROR:K.IDLE;F["logger"].warn("AudioStreamController: "+t.details+" while loading frag, now switching to "+this.state+" state ...")}break;case A["ErrorDetails"].BUFFER_FULL_ERROR:if(t.parent==="audio"&&(this.state===K.PARSING||this.state===K.PARSED)){var o=this.mediaBuffer,l=this.media.currentTime,u=o&&j.isBuffered(o,l)&&j.isBuffered(o,l+.5);if(u){var c=this.config;if(c.maxMaxBufferLength>=c.maxBufferLength){c.maxMaxBufferLength/=2;F["logger"].warn("AudioStreamController: reduce max buffer length to "+c.maxMaxBufferLength+"s")}this.state=K.IDLE}else{F["logger"].warn("AudioStreamController: buffer full error also media.currentTime is not buffered, flush audio buffer");this.fragCurrent=null;this.state=K.BUFFER_FLUSHING;this.hls.trigger(M["default"].BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:"audio"})}}break}};t.onBufferFlushed=function e(){var t=this;var r=this.pendingData;if(r&&r.length){F["logger"].log("AudioStreamController: appending pending audio data after buffer flushed");r.forEach(function(e){t.hls.trigger(M["default"].BUFFER_APPENDING,e)});this.appended=true;this.pendingData=[];this.state=K.PARSED}else{this.state=K.IDLE;this.fragPrevious=null;this.tick()}};ir(e,[{key:"state",set:function e(t){if(this.state!==t){var r=this.state;this._state=t;F["logger"].log("audio stream:"+r+"->"+t)}},get:function e(){return this._state}}]);return e}(it);var ur=lr;var cr=function(){if(typeof window!=="undefined"&&window.VTTCue)return window.VTTCue;var y="auto";var r={"":true,lr:true,rl:true};var n={start:true,middle:true,end:true,left:true,right:true};function E(e){if(typeof e!=="string")return false;var t=r[e.toLowerCase()];return t?e.toLowerCase():false}function b(e){if(typeof e!=="string")return false;var t=n[e.toLowerCase()];return t?e.toLowerCase():false}function k(e){var t=1;for(;t100)throw new Error("Position must be between 0 and 100.");v=t;this.hasBeenReset=true}}));Object.defineProperty(n,"positionAlign",k({},i,{get:function e(){return g},set:function e(t){var r=b(t);if(!r)throw new SyntaxError("An invalid or illegal string was specified.");g=r;this.hasBeenReset=true}}));Object.defineProperty(n,"size",k({},i,{get:function e(){return A},set:function e(t){if(t<0||t>100)throw new Error("Size must be between 0 and 100.");A=t;this.hasBeenReset=true}}));Object.defineProperty(n,"align",k({},i,{get:function e(){return m},set:function e(t){var r=b(t);if(!r)throw new SyntaxError("An invalid or illegal string was specified.");m=r;this.hasBeenReset=true}}));n.displayState=void 0}e.prototype.getCueAsHTML=function(){var e=window.WebVTT;return e.convertCueToDOMTree(window,this.text)};return e}();var dr=function e(){return{decode:function e(t){if(!t)return"";if(typeof t!=="string")throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(t))}}};function fr(){this.window=window;this.state="INITIAL";this.buffer="";this.decoder=new dr;this.regionList=[]}function hr(e){function t(e,t,r,n){return(e|0)*3600+(t|0)*60+(r|0)+(n|0)/1e3}var r=e.match(/^(\d+):(\d{2})(:\d{2})?\.(\d{3})/);if(!r)return null;if(r[3])return t(r[1],r[2],r[3].replace(":",""),r[4]);else if(r[1]>59)return t(r[1],r[2],0,r[4]);else return t(0,r[1],r[2],r[4])}function pr(){this.values=Object.create(null)}pr.prototype={set:function e(t,r){if(!this.get(t)&&r!=="")this.values[t]=r},get:function e(t,r,n){if(n)return this.has(t)?this.values[t]:r[n];return this.has(t)?this.values[t]:r},has:function e(t){return t in this.values},alt:function e(t,r,n){for(var i=0;i=0&&r<=100){this.set(t,r);return true}}return false}};function vr(e,t,r,n){var i=n?e.split(n):[e];for(var a in i){if(typeof i[a]!=="string")continue;var s=i[a].split(r);if(s.length!==2)continue;var o=s[0];var l=s[1];t(o,l)}}var gr=new cr(0,0,0);var o=gr.align==="middle"?"middle":"center";function Ar(t,e,s){var r=t;function n(){var e=hr(t);if(e===null)throw new Error("Malformed timestamp: "+r);t=t.replace(/^[^\sa-zA-Z-]+/,"");return e}function i(e,t){var a=new pr;vr(e,function(e,t){switch(e){case"region":for(var r=s.length-1;r>=0;r--)if(s[r].id===t){a.set(e,s[r].region);break}break;case"vertical":a.alt(e,t,["rl","lr"]);break;case"line":var n=t.split(","),i=n[0];a.integer(e,i);if(a.percent(e,i))a.set("snapToLines",false);a.alt(e,i,["auto"]);if(n.length===2)a.alt("lineAlign",n[1],["start",o,"end"]);break;case"position":n=t.split(",");a.percent(e,n[0]);if(n.length===2)a.alt("positionAlign",n[1],["start",o,"end","line-left","line-right","auto"]);break;case"size":a.percent(e,t);break;case"align":a.alt(e,t,["start",o,"end","left","right"]);break}},/:/,/\s/);t.region=a.get("region",null);t.vertical=a.get("vertical","");var r=a.get("line","auto");if(r==="auto"&&gr.line===-1)r=-1;t.line=r;t.lineAlign=a.get("lineAlign","start");t.snapToLines=a.get("snapToLines",true);t.size=a.get("size",100);t.align=a.get("align",o);var n=a.get("position","auto");if(n==="auto"&&gr.position===50)n=t.align==="start"||t.align==="left"?0:t.align==="end"||t.align==="right"?100:50;t.position=n}function a(){t=t.replace(/^\s+/,"")}a();e.startTime=n();a();if(t.substr(0,3)!=="--\x3e")throw new Error("Malformed time stamp (time stamps must be separated by '--\x3e'): "+r);t=t.substr(3);a();e.endTime=n();a();i(t,e)}function mr(e){return e.replace(//gi,"\n")}fr.prototype={parse:function e(t){var n=this;if(t)n.buffer+=n.decoder.decode(t,{stream:true});function r(){var e=n.buffer;var t=0;e=mr(e);while(t=16)l--;else l++;if(navigator.userAgent.match(/Firefox\//))s.line=d+1;else s.line=d>7?d-2:d+1;s.align="left";s.position=Math.max(0,Math.min(100,100*(l/32)));i.push(s);if(e)e.addCue(s)}}return i}var br={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499};var kr=function e(t){var r=t;if(br.hasOwnProperty(t))r=br[t];return String.fromCharCode(r)};var h=15;var l=100;var _r={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14};var Tr={17:2,18:4,21:6,22:8,23:10,19:13,20:15};var Sr={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14};var Cr={25:2,26:4,29:6,30:8,31:10,27:13,28:15};var Rr=["white","green","blue","cyan","red","yellow","magenta","black","transparent"];var p;(function(e){e[e["ERROR"]=0]="ERROR";e[e["TEXT"]=1]="TEXT";e[e["WARNING"]=2]="WARNING";e[e["INFO"]=2]="INFO";e[e["DEBUG"]=3]="DEBUG";e[e["DATA"]=3]="DATA"})(p||(p={}));var wr=function(){function e(){this.time=null;this.verboseLevel=p.ERROR}var t=e.prototype;t.log=function e(t,r){if(this.verboseLevel>=t)F["logger"].log(this.time+" ["+t+"] "+r)};return e}();var g=function e(t){var r=[];for(var n=0;nl){this.logger.log(p.DEBUG,"Too large cursor position "+this.pos);this.pos=l}};t.moveCursor=function e(t){var r=this.pos+t;if(t>1)for(var n=this.pos+1;n=144)this.backSpace();var r=kr(t);if(this.pos>=l){this.logger.log(p.ERROR,"Cannot insert "+t.toString(16)+" ("+r+") at position "+this.pos+". Skipping it!");return}this.chars[this.pos].setChar(r,this.currPenState);this.moveCursor(1)};t.clearFromPos=function e(t){var r;for(r=t;r0)if(t)n="["+r.join(" | ")+"]";else n=r.join("\n");return n};t.getTextAndFormat=function e(){return this.rows};return e}();var Pr=function(){function e(e,t,r){this.chNr=void 0;this.outputFilter=void 0;this.mode=void 0;this.verbose=void 0;this.displayedMemory=void 0;this.nonDisplayedMemory=void 0;this.lastOutputScreen=void 0;this.currRollUpRow=void 0;this.writeScreen=void 0;this.cueStartTime=void 0;this.logger=void 0;this.chNr=e;this.outputFilter=t;this.mode=null;this.verbose=0;this.displayedMemory=new Dr(r);this.nonDisplayedMemory=new Dr(r);this.lastOutputScreen=new Dr(r);this.currRollUpRow=this.displayedMemory.rows[h-1];this.writeScreen=this.displayedMemory;this.mode=null;this.cueStartTime=null;this.logger=r}var t=e.prototype;t.reset=function e(){this.mode=null;this.displayedMemory.reset();this.nonDisplayedMemory.reset();this.lastOutputScreen.reset();this.outputFilter.reset();this.currRollUpRow=this.displayedMemory.rows[h-1];this.writeScreen=this.displayedMemory;this.mode=null;this.cueStartTime=null};t.getHandler=function e(){return this.outputFilter};t.setHandler=function e(t){this.outputFilter=t};t.setPAC=function e(t){this.writeScreen.setPAC(t)};t.setBkgData=function e(t){this.writeScreen.setBkgData(t)};t.setMode=function e(t){if(t===this.mode)return;this.mode=t;this.logger.log(p.INFO,"MODE="+t);if(this.mode==="MODE_POP-ON")this.writeScreen=this.nonDisplayedMemory;else{this.writeScreen=this.displayedMemory;this.writeScreen.reset()}if(this.mode!=="MODE_ROLL-UP"){this.displayedMemory.nrRollUpRows=null;this.nonDisplayedMemory.nrRollUpRows=null}this.mode=t};t.insertChars=function e(t){for(var r=0;r=46;if(!r.italics){var n=Math.floor(t/2)-16;var i=["white","green","blue","cyan","red","yellow","magenta"];r.foreground=i[n]}else r.foreground="white";this.logger.log(p.INFO,"MIDROW: "+JSON.stringify(r));this.writeScreen.setPen(r)};t.outputDataUpdate=function e(t){if(t===void 0)t=false;var r=this.logger.time;if(r===null)return;if(this.outputFilter){if(this.cueStartTime===null&&!this.displayedMemory.isEmpty())this.cueStartTime=r;else if(!this.displayedMemory.equals(this.lastOutputScreen)){this.outputFilter.newCue(this.cueStartTime,r,this.lastOutputScreen);if(t&&this.outputFilter.dispatchCue)this.outputFilter.dispatchCue();this.cueStartTime=this.displayedMemory.isEmpty()?null:r}this.lastOutputScreen.copy(this.displayedMemory)}};t.cueSplitAtTime=function e(t){if(this.outputFilter)if(!this.displayedMemory.isEmpty()){if(this.outputFilter.newCue)this.outputFilter.newCue(this.cueStartTime,t,this.displayedMemory);this.cueStartTime=t}};return e}();var Nr=function(){function e(e,t,r){this.channels=void 0;this.currentChannel=0;this.cmdHistory=void 0;this.logger=void 0;var n=new wr;this.channels=[null,new Pr(e,t,n),new Pr(e+1,r,n)];this.cmdHistory=Mr();this.logger=n}var t=e.prototype;t.getHandler=function e(t){return this.channels[t].getHandler()};t.setHandler=function e(t,r){this.channels[t].setHandler(r)};t.addData=function e(t,r){var n;var i;var a;var s=false;this.logger.time=t;for(var o=0;o ("+g([i,a])+")");n=this.parseCmd(i,a);if(!n)n=this.parseMidrow(i,a);if(!n)n=this.parsePAC(i,a);if(!n)n=this.parseBackgroundAttributes(i,a);if(!n){s=this.parseChars(i,a);if(s){var l=this.currentChannel;if(l&&l>0){var u=this.channels[l];u.insertChars(s)}else this.logger.log(p.WARNING,"No channel found yet. TEXT-MODE?")}}if(!n&&!s)this.logger.log(p.WARNING,"Couldn't parse cleaned data "+g([i,a])+" orig: "+g([r[o],r[o+1]]))}};t.parseCmd=function e(t,r){var n=this.cmdHistory;var i=(t===20||t===28||t===21||t===29)&&r>=32&&r<=47;var a=(t===23||t===31)&&r>=33&&r<=35;if(!(i||a))return false;if(xr(t,r,n)){E(null,null,n);this.logger.log(p.DEBUG,"Repeated command ("+g([t,r])+") is dropped");return true}var s=t===20||t===21||t===23?1:2;var o=this.channels[s];if(t===20||t===21||t===28||t===29){if(r===32)o.ccRCL();else if(r===33)o.ccBS();else if(r===34)o.ccAOF();else if(r===35)o.ccAON();else if(r===36)o.ccDER();else if(r===37)o.ccRU(2);else if(r===38)o.ccRU(3);else if(r===39)o.ccRU(4);else if(r===40)o.ccFON();else if(r===41)o.ccRDC();else if(r===42)o.ccTR();else if(r===43)o.ccRTD();else if(r===44)o.ccEDM();else if(r===45)o.ccCR();else if(r===46)o.ccENM();else if(r===47)o.ccEOC()}else o.ccTO(r-32);E(t,r,n);this.currentChannel=s;return true};t.parseMidrow=function e(t,r){var n=0;if((t===17||t===25)&&r>=32&&r<=47){if(t===17)n=1;else n=2;if(n!==this.currentChannel){this.logger.log(p.ERROR,"Mismatch channel in midrow parsing");return false}var i=this.channels[n];if(!i)return false;i.ccMIDROW(r);this.logger.log(p.DEBUG,"MIDROW ("+g([t,r])+")");return true}return false};t.parsePAC=function e(t,r){var n;var i=this.cmdHistory;var a=(t>=17&&t<=23||t>=25&&t<=31)&&r>=64&&r<=127;var s=(t===16||t===24)&&r>=64&&r<=95;if(!(a||s))return false;if(xr(t,r,i)){E(null,null,i);return true}var o=t<=23?1:2;if(r>=64&&r<=95)n=o===1?_r[t]:Sr[t];else n=o===1?Tr[t]:Cr[t];var l=this.channels[o];if(!l)return false;l.setPAC(this.interpretPAC(n,r));E(t,r,i);this.currentChannel=o;return true};t.interpretPAC=function e(t,r){var n=r;var i={color:null,italics:false,indent:null,underline:false,row:t};if(r>95)n=r-96;else n=r-64;i.underline=(n&1)===1;if(n<=13)i.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(n/2)];else if(n<=15){i.italics=true;i.color="white"}else i.indent=Math.floor((n-16)/2)*4;return i};t.parseChars=function e(t,r){var n;var i=null;var a=null;if(t>=25){n=2;a=t-8}else{n=1;a=t}if(a>=17&&a<=19){var s=r;if(a===17)s=r+80;else if(a===18)s=r+112;else s=r+144;this.logger.log(p.INFO,"Special char '"+kr(s)+"' in channel "+n);i=[s]}else if(t>=32&&t<=127)i=r===0?[t]:[t,r];if(i){var o=g(i);this.logger.log(p.DEBUG,"Char codes = "+o.join(","));E(t,r,this.cmdHistory)}return i};t.parseBackgroundAttributes=function e(t,r){var n=(t===16||t===24)&&r>=32&&r<=47;var i=(t===23||t===31)&&r>=45&&r<=47;if(!(n||i))return false;var a;var s={};if(t===16||t===24){a=Math.floor((r-32)/2);s.background=Rr[a];if(r%2===1)s.background=s.background+"_semi"}else if(r===45)s.background="transparent";else{s.foreground="black";if(r===47)s.underline=true}var o=t<=23?1:2;var l=this.channels[o];l.setBkgData(s);E(t,r,this.cmdHistory);return true};t.reset=function e(){for(var t=0;tt)this.startTime=t;this.endTime=r;this.screen=n;this.timelineController.createCaptionsTrack(this.trackName)};t.reset=function e(){this.cueRanges=[]};return e}();var Br=function e(t,r,n){return t.substr(n||0,r.length)===r};var Ur=function e(t){var r=parseInt(t.substr(-3));var n=parseInt(t.substr(-6,2));var i=parseInt(t.substr(-9,2));var a=t.length>9?parseInt(t.substr(0,t.indexOf(":"))):0;if(!Object(x["isFiniteNumber"])(r)||!Object(x["isFiniteNumber"])(n)||!Object(x["isFiniteNumber"])(i)||!Object(x["isFiniteNumber"])(a))throw Error("Malformed X-TIMESTAMP-MAP: Local:"+t);r+=1e3*n;r+=60*1e3*i;r+=60*60*1e3*a;return r};var jr=function e(t){var e=5381;var r=t.length;while(r)e=e*33^t.charCodeAt(--r);return(e>>>0).toString()};var Vr=function e(t,r,n){var i=t[r];var a=t[i.prevCC];if(!a||!a.new&&i.new){t.ccOffset=t.presentationOffset=i.start;i.new=false;return}while(a&&a.new){t.ccOffset+=i.start-a.start;i.new=false;i=a;a=t[i.prevCC]}t.presentationOffset=n};var Gr={parse:function e(t,r,n,i,a,s){var o=/\r\n|\n\r|\n|\r/g;var l=Object(gt["utf8ArrayToStr"])(new Uint8Array(t)).trim().replace(o,"\n").split("\n");var u="00:00.000";var c=0;var d=0;var f=0;var h=[];var p;var v=true;var g=false;var A=new yr;A.oncue=function(e){var t=n[i];var r=n.ccOffset;if(t&&t.new)if(d!==undefined)r=n.ccOffset=t.start;else Vr(n,i,f);if(f)r=f-n.presentationOffset;if(g){e.startTime+=r-d;e.endTime+=r-d}e.id=jr(e.startTime.toString())+jr(e.endTime.toString())+jr(e.text);e.text=decodeURIComponent(encodeURIComponent(e.text));if(e.endTime>0)h.push(e)};A.onparsingerror=function(e){p=e};A.onflush=function(){if(p&&s){s(p);return}a(h)};l.forEach(function(e){if(v)if(Br(e,"X-TIMESTAMP-MAP=")){v=false;g=true;e.substr(16).split(",").forEach(function(e){if(Br(e,"LOCAL:"))u=e.substr(6);else if(Br(e,"MPEGTS:"))c=parseInt(e.substr(7))});try{if(r+(n[i].start*9e4||0)<0)r+=8589934592;c-=r;d=Ur(u)/1e3;f=c/9e4}catch(e){g=false;p=e}return}else if(e==="")v=false;A.parse(e+"\n")});A.flush()}};var Kr=Gr;function k(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Yr(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;e.__proto__=t}var Hr=function(s){Yr(e,s);function e(e){var t;t=s.call(this,e,M["default"].MEDIA_ATTACHING,M["default"].MEDIA_DETACHING,M["default"].FRAG_PARSING_USERDATA,M["default"].FRAG_DECRYPTED,M["default"].MANIFEST_LOADING,M["default"].MANIFEST_LOADED,M["default"].FRAG_LOADED,M["default"].INIT_PTS_FOUND)||this;t.media=null;t.config=void 0;t.enabled=true;t.Cues=void 0;t.textTracks=[];t.tracks=[];t.initPTS=[];t.unparsedVttFrags=[];t.captionsTracks={};t.nonNativeCaptionsTracks={};t.captionsProperties=void 0;t.cea608Parser1=void 0;t.cea608Parser2=void 0;t.lastSn=-1;t.prevCC=-1;t.vttCCs=Wr();t.hls=e;t.config=e.config;t.Cues=e.config.cueHandler;t.captionsProperties={textTrack1:{label:t.config.captionsTextTrack1Label,languageCode:t.config.captionsTextTrack1LanguageCode},textTrack2:{label:t.config.captionsTextTrack2Label,languageCode:t.config.captionsTextTrack2LanguageCode},textTrack3:{label:t.config.captionsTextTrack3Label,languageCode:t.config.captionsTextTrack3LanguageCode},textTrack4:{label:t.config.captionsTextTrack4Label,languageCode:t.config.captionsTextTrack4LanguageCode}};if(t.config.enableCEA708Captions){var r=new b(k(t),"textTrack1");var n=new b(k(t),"textTrack2");var i=new b(k(t),"textTrack3");var a=new b(k(t),"textTrack4");t.cea608Parser1=new Fr(1,r,n);t.cea608Parser2=new Fr(3,i,a)}return t}var t=e.prototype;t.addCues=function e(t,r,n,i,a){var s=false;for(var o=a.length;o--;){var l=a[o];var u=$r(l[0],l[1],r,n);if(u>=0){l[0]=Math.min(l[0],r);l[1]=Math.max(l[1],n);s=true;if(u/(n-r)>.5)return}}if(!s)a.push([r,n]);if(this.config.renderTextTracksNatively)this.Cues.newCue(this.captionsTracks[t],r,n,i);else{var c=this.Cues.newCue(null,r,n,i);this.hls.trigger(M["default"].CUES_PARSED,{type:"captions",cues:c,track:t})}};t.onInitPtsFound=function e(t){var r=this;var n=t.frag,i=t.id,a=t.initPTS;var s=this.unparsedVttFrags;if(i==="main")this.initPTS[n.cc]=a;if(s.length){this.unparsedVttFrags=[];s.forEach(function(e){r.onFragLoaded(e)})}};t.getExistingTrack=function e(t){var r=this.media;if(r)for(var n=0;n=s.length||n!==a||!o||this.stopped){this._clearReloadTimer();return}F["logger"].log("subtitle track "+n+" loaded");if(i.live){var l=Me(o.details,i,t.stats.trequest);F["logger"].log("Reloading live subtitle playlist in "+l+"ms");this.timer=setTimeout(function(){r._loadCurrentTrack()},l)}else this._clearReloadTimer()};t.startLoad=function e(){this.stopped=false;this._loadCurrentTrack()};t.stopLoad=function e(){this.stopped=true;this._clearReloadTimer()};t._clearReloadTimer=function e(){if(this.timer){clearTimeout(this.timer);this.timer=null}};t._loadCurrentTrack=function e(){var t=this.trackId,r=this.tracks,n=this.hls;var i=r[t];if(t<0||!i||i.details&&!i.details.live)return;F["logger"].log("Loading subtitle track "+t);n.trigger(M["default"].SUBTITLE_TRACK_LOADING,{url:i.url,id:t})};t._toggleTrackModes=function e(t){var r=this.media,n=this.subtitleDisplay,i=this.trackId;if(!r)return;var a=en(r.textTracks);if(t===-1)[].slice.call(a).forEach(function(e){e.mode="disabled"});else{var s=a[i];if(s)s.mode="disabled"}var o=a[t];if(o)o.mode=n?"showing":"hidden"};t._setSubtitleTrackInternal=function e(t){var r=this.hls,n=this.tracks;if(!Object(x["isFiniteNumber"])(t)||t<-1||t>=n.length)return;this.trackId=t;F["logger"].log("Switching to subtitle track "+t);r.trigger(M["default"].SUBTITLE_TRACK_SWITCH,{id:t});this._loadCurrentTrack()};t._onTextTracksChanged=function e(){if(!this.media||!this.hls.config.renderTextTracksNatively)return;var t=-1;var r=en(this.media.textTracks);for(var n=0;n=i[o].start&&s<=i[o].end){a=i[o];break}var l=r.start+r.duration;if(a)a.end=l;else{a={start:s,end:l};i.push(a)}};t.onMediaAttached=function e(t){var r=t.media;this.media=r;r.addEventListener("seeking",this._onMediaSeeking);this.state=K.IDLE};t.onMediaDetaching=function e(){var t=this;if(!this.media)return;this.media.removeEventListener("seeking",this._onMediaSeeking);this.fragmentTracker.removeAllFragments();this.currentTrackId=-1;this.tracks.forEach(function(e){t.tracksBuffered[e.id]=[]});this.media=null;this.state=K.STOPPED};t.onError=function e(t){var r=t.frag;if(!r||r.type!=="subtitle")return;if(this.fragCurrent&&this.fragCurrent.loader)this.fragCurrent.loader.abort();this.state=K.IDLE};t.onSubtitleTracksUpdated=function e(t){var r=this;F["logger"].log("subtitle tracks updated");this.tracksBuffered=[];this.tracks=t.subtitleTracks;this.tracks.forEach(function(e){r.tracksBuffered[e.id]=[]})};t.onSubtitleTrackSwitch=function e(t){this.currentTrackId=t.id;if(!this.tracks||!this.tracks.length||this.currentTrackId===-1){this.clearInterval();return}var r=this.tracks[this.currentTrackId];if(r&&r.details)this.setInterval(ln)};t.onSubtitleTrackLoaded=function e(t){var r=t.id,n=t.details;var i=this.currentTrackId,a=this.tracks;var s=a[i];if(r>=a.length||r!==i||!s)return;if(n.live)Pe(s.details,n,this.lastAVStart);s.details=n;this.setInterval(ln)};t.onKeyLoaded=function e(){if(this.state===K.KEY_LOADING)this.state=K.IDLE};t.onFragLoaded=function e(t){var r=this.fragCurrent;var n=t.frag.decryptdata;var i=t.frag;var a=this.hls;if(this.state===K.FRAG_LOADING&&r&&t.frag.type==="subtitle"&&r.sn===t.frag.sn)if(t.payload.byteLength>0&&n&&n.key&&n.method==="AES-128"){var s=on.now();this.decrypter.decrypt(t.payload,n.key.buffer,n.iv.buffer,function(e){var t=on.now();a.trigger(M["default"].FRAG_DECRYPTED,{frag:i,payload:e,stats:{tstart:s,tdecrypt:t}})})}};t.onLevelUpdated=function e(t){var r=t.details;var n=r.fragments;this.lastAVStart=n.length?n[0].start:0};t.doTick=function e(){if(!this.media){this.state=K.IDLE;return}switch(this.state){case K.IDLE:{var t=this.config,r=this.currentTrackId,n=this.fragmentTracker,i=this.media,a=this.tracks;if(!a||!a[r]||!a[r].details)break;var s=t.maxBufferHole,o=t.maxFragLookUpTolerance;var l=Math.min(t.maxBufferLength,t.maxMaxBufferLength);var u=j.bufferedInfo(this._getBuffered(),i.currentTime,s);var c=u.end,d=u.len;var f=a[r].details;var h=f.fragments;var p=h.length;var v=h[p-1].start+h[p-1].duration;if(d>l)return;var g;var A=this.fragPrevious;if(ci){if(this.fragCurrent.loader)this.fragCurrent.loader.abort();this.fragmentTracker.removeFragment(this.fragCurrent);this.fragCurrent=null;this.fragPrevious=null;this.state=K.IDLE;this.tick()}}};return e}(it);var _;(function(e){e["WIDEVINE"]="com.widevine.alpha";e["PLAYREADY"]="com.microsoft.playready"})(_||(_={}));var cn=function(){if(typeof window!=="undefined"&&window.navigator&&window.navigator.requestMediaKeySystemAccess)return window.navigator.requestMediaKeySystemAccess.bind(window.navigator);else return null}();function dn(e,t){for(var r=0;rpn){this.hls.trigger(M["default"].ERROR,{type:A["ErrorTypes"].KEY_SYSTEM_ERROR,details:A["ErrorDetails"].KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:true});return}var a=pn-this._requestLicenseFailureCount+1;F["logger"].warn("Retrying license request, "+a+" attempts left");this._requestLicense(n,i)}break}};r._generateLicenseRequestChallenge=function e(t,r){switch(t.mediaKeySystemDomain){case _.WIDEVINE:return r}throw new Error("unsupported key-system: "+t.mediaKeySystemDomain)};r._requestLicense=function e(t,r){F["logger"].log("Requesting content license for key-system");var n=this._mediaKeysList[0];if(!n){F["logger"].error("Fatal error: Media is encrypted but no key-system access has been obtained yet");this.hls.trigger(M["default"].ERROR,{type:A["ErrorTypes"].KEY_SYSTEM_ERROR,details:A["ErrorDetails"].KEY_SYSTEM_NO_ACCESS,fatal:true});return}try{var i=this.getLicenseServerUrl(n.mediaKeySystemDomain);var a=this._createLicenseXhr(i,t,r);F["logger"].log("Sending license request to URL: "+i);var s=this._generateLicenseRequestChallenge(n,t);a.send(s)}catch(e){F["logger"].error("Failure requesting DRM license: "+e);this.hls.trigger(M["default"].ERROR,{type:A["ErrorTypes"].KEY_SYSTEM_ERROR,details:A["ErrorDetails"].KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:true})}};r.onMediaAttached=function e(t){if(!this._emeEnabled)return;var r=t.media;this._media=r;r.addEventListener("encrypted",this._onMediaEncrypted)};r.onMediaDetached=function e(){var t=this._media;var r=this._mediaKeysList;if(!t)return;t.removeEventListener("encrypted",this._onMediaEncrypted);this._media=null;this._mediaKeysList=[];Promise.all(r.map(function(e){if(e.mediaKeysSession)return e.mediaKeysSession.close().catch(function(){})})).then(function(){return t.setMediaKeys(null)}).catch(function(){})};r.onManifestParsed=function e(t){if(!this._emeEnabled)return;var r=t.levels.map(function(e){return e.audioCodec});var n=t.levels.map(function(e){return e.videoCodec});this._attemptKeySystemAccess(_.WIDEVINE,r,n)};fn(e,[{key:"requestMediaKeySystemAccess",get:function e(){if(!this._requestMediaKeySystemAccess)throw new Error("No requestMediaKeySystemAccess function configured");return this._requestMediaKeySystemAccess}}]);return e}(i);var mn=An;function yn(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);if(e)n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable});r.push.apply(r,n)}return r}function En(t){for(var e=1;er)return i}return 0}},{key:"maxAutoLevel",get:function e(){var t=this.levels,r=this.autoLevelCapping;var n;if(r===-1&&t&&t.length)n=t.length-1;else n=r;return n}},{key:"nextAutoLevel",get:function e(){return Math.min(Math.max(this.abrController.nextAutoLevel,this.minAutoLevel),this.maxAutoLevel)},set:function e(t){this.abrController.nextAutoLevel=Math.max(this.minAutoLevel,t)}},{key:"audioTracks",get:function e(){var t=this.audioTrackController;return t?t.audioTracks:[]}},{key:"audioTrack",get:function e(){var t=this.audioTrackController;return t?t.audioTrack:-1},set:function e(t){var r=this.audioTrackController;if(r)r.audioTrack=t}},{key:"liveSyncPosition",get:function e(){return this.streamController.liveSyncPosition}},{key:"subtitleTracks",get:function e(){var t=this.subtitleTrackController;return t?t.subtitleTracks:[]}},{key:"subtitleTrack",get:function e(){var t=this.subtitleTrackController;return t?t.subtitleTrack:-1},set:function e(t){var r=this.subtitleTrackController;if(r)r.subtitleTrack=t}},{key:"subtitleDisplay",get:function e(){var t=this.subtitleTrackController;return t?t.subtitleDisplay:false},set:function e(t){var r=this.subtitleTrackController;if(r)r.subtitleDisplay=t}}]);return _}(Ce);Ln.defaultConfig=void 0},"./src/polyfills/number.js": /*!*********************************!*\ !*** ./src/polyfills/number.js ***! \*********************************/ /*! exports provided: isFiniteNumber, MAX_SAFE_INTEGER */function(e,t,r){r.r(t);r.d(t,"isFiniteNumber",function(){return n});r.d(t,"MAX_SAFE_INTEGER",function(){return i});var n=Number.isFinite||function(e){return typeof e==="number"&&isFinite(e)};var i=Number.MAX_SAFE_INTEGER||9007199254740991},"./src/utils/get-self-scope.js": /*!*************************************!*\ !*** ./src/utils/get-self-scope.js ***! \*************************************/ /*! exports provided: getSelfScope */function(e,t,r){r.r(t);r.d(t,"getSelfScope",function(){return n});function n(){if(typeof window==="undefined")return self;else return window}},"./src/utils/logger.js": /*!*****************************!*\ !*** ./src/utils/logger.js ***! \*****************************/ /*! exports provided: enableLogs, logger */function(e,t,r){r.r(t);r.d(t,"enableLogs",function(){return d});r.d(t,"logger",function(){return f});var n=r(/*! ./get-self-scope */"./src/utils/get-self-scope.js");function a(){}var i={trace:a,debug:a,log:a,warn:a,info:a,error:a};var s=i;function o(e,t){t="["+e+"] > "+t;return t}var l=Object(n["getSelfScope"])();function u(n){var i=l.console[n];if(i)return function(){for(var e=arguments.length,t=new Array(e),r=0;r1?e-1:0),n=1;n0)r=this._duration*(t/100);this.seek(r)}},{key:"seek",value:function e(t){if(t<0){b.warn("Attempt to seek to a negative time. Resetting to live point. Use seekToLivePoint() to seek to the live point.");t=this.getDuration()}this.dvrEnabled&&this._updateDvr(t0){this._recoverAttemptsRemaining-=1;switch(r.type){case x.ErrorTypes.NETWORK_ERROR:switch(r.details){case x.ErrorDetails.MANIFEST_LOAD_ERROR:case x.ErrorDetails.MANIFEST_LOAD_TIMEOUT:case x.ErrorDetails.MANIFEST_PARSING_ERROR:case x.ErrorDetails.LEVEL_LOAD_ERROR:case x.ErrorDetails.LEVEL_LOAD_TIMEOUT:b.error("hlsjs: unrecoverable network fatal error.",{evt:t,data:r});i=this.createError(n);this.trigger(k.PLAYBACK_ERROR,i);this.stop();break;default:b.warn("hlsjs: trying to recover from network error.",{evt:t,data:r});n.level=T.Levels.WARN;this._hls.startLoad();break}break;case x.ErrorTypes.MEDIA_ERROR:b.warn("hlsjs: trying to recover from media error.",{evt:t,data:r});n.level=T.Levels.WARN;this._recover(t,r,n);break;default:b.error("hlsjs: could not recover from error.",{evt:t,data:r});i=this.createError(n);this.trigger(k.PLAYBACK_ERROR,i);this.stop();break}}else{b.error("hlsjs: could not recover from error after maximum number of attempts.",{evt:t,data:r});i=this.createError(n);this.trigger(k.PLAYBACK_ERROR,i);this.stop()}else{if(this.options.playback.triggerFatalErrorOnResourceDenied&&this._keyIsDenied(r)){b.error("hlsjs: could not load decrypt key.",{evt:t,data:r});i=this.createError(n);this.trigger(k.PLAYBACK_ERROR,i);this.stop();return}n.level=T.Levels.WARN;b.warn("hlsjs: non-fatal error occurred",{evt:t,data:r})}}},{key:"_keyIsDenied",value:function e(t){return t.type===x.ErrorTypes.NETWORK_ERROR&&t.details===x.ErrorDetails.KEY_LOAD_ERROR&&t.response&&t.response.code>=400}},{key:"_onTimeUpdate",value:function e(){var t={current:this.getCurrentTime(),total:this.getDuration(),firstFragDateTime:this.getProgramDateTime()};var r=this._lastTimeUpdate&&t.current===this._lastTimeUpdate.current&&t.total===this._lastTimeUpdate.total;if(r)return;this._lastTimeUpdate=t;this.trigger(k.PLAYBACK_TIMEUPDATE,t,this.name)}},{key:"_onDurationChange",value:function e(){var t=this.getDuration();if(this._lastDuration===t)return;this._lastDuration=t;Ni(N(a.prototype),"_onDurationChange",this).call(this)}},{key:"_onProgress",value:function e(){if(!this.el.buffered.length)return;var t=[];var r=0;for(var n=0;n=t[n].start&&this.el.currentTime<=t[n].end)r=n}var i={start:t[r].start,current:t[r].end,total:this.getDuration()};this.trigger(k.PLAYBACK_PROGRESS,i,t)}},{key:"play",value:function e(){!this._hls&&this._setup();!this._manifestParsed&&!this.options.hlsPlayback.preload&&this._hls.loadSource(this.options.src);Ni(N(a.prototype),"play",this).call(this);this._startTimeUpdateTimer()}},{key:"pause",value:function e(){if(!this._hls)return;this.el.pause();if(this.dvrEnabled)this._updateDvr(true)}},{key:"stop",value:function e(){this._stopTimeUpdateTimer();if(this._hls){Ni(N(a.prototype),"stop",this).call(this);this._hls.destroy();delete this._hls}}},{key:"destroy",value:function e(){this._stopTimeUpdateTimer();if(this._hls){this._hls.destroy();delete this._hls}Ni(N(a.prototype),"destroy",this).call(this)}},{key:"_updatePlaybackType",value:function e(t,r){this._playbackType=r.details.live?S.LIVE:S.VOD;this._onLevelUpdated(t,r);if(this._ccTracksUpdated&&this._playbackType===S.LIVE&&this.hasClosedCaptionsTracks)this._onSubtitleLoaded()}},{key:"_fillLevels",value:function e(){this._levels=this._hls.levels.map(function(e,t){return{id:t,level:e,label:"".concat(e.bitrate/1e3,"Kbps")}});this.trigger(k.PLAYBACK_LEVELS_AVAILABLE,this._levels)}},{key:"_onLevelUpdated",value:function e(t,r){this._segmentTargetDuration=r.details.targetduration;this._playlistType=r.details.type||null;var n=false;var i=false;var a=r.details.fragments;var s=this._playableRegionStartTime;var o=this._playableRegionDuration;if(a.length===0)return;if(a[0].rawProgramDateTime)this._programDateTime=a[0].rawProgramDateTime;if(this._playableRegionStartTime!==a[0].start){n=true;this._playableRegionStartTime=a[0].start}if(n)if(!this._localStartTimeCorrelation)this._localStartTimeCorrelation={local:this._now,remote:(a[0].start+this._extrapolatedWindowDuration/2)*1e3};else{var l=this._localStartTimeCorrelation;var u=this._now-l.local;var c=(l.remote+u)/1e3;if(cs+this._extrapolatedWindowDuration)this._localStartTimeCorrelation={local:this._now,remote:Math.max(a[0].start,s+this._extrapolatedWindowDuration)*1e3}}var d=r.details.totalduration;if(this._playbackType===S.LIVE){var f=r.details.targetduration;var h=this.options.playback.hlsjsConfig||{};var p=h.liveSyncDurationCount||x.DefaultConfig.liveSyncDurationCount;var v=f*p;if(v<=d){d-=v;this._durationExcludesAfterLiveSyncPoint=true}else this._durationExcludesAfterLiveSyncPoint=false}if(d!==this._playableRegionDuration){i=true;this._playableRegionDuration=d}var g=a[0].start+d;var A=s+o;var m=g!==A;if(m)if(!this._localEndTimeCorrelation)this._localEndTimeCorrelation={local:this._now,remote:g*1e3};else{var y=this._localEndTimeCorrelation;var E=this._now-y.local;var b=(y.remote+E)/1e3;if(b>g)this._localEndTimeCorrelation={local:this._now,remote:g*1e3};else if(bA)this._localEndTimeCorrelation={local:this._now,remote:A*1e3}}i&&this._onDurationChange();n&&this._onProgress()}},{key:"_onFragmentChanged",value:function e(t,r){this.trigger(k.Custom.PLAYBACK_FRAGMENT_CHANGED,r)}},{key:"_onFragmentLoaded",value:function e(t,r){this.trigger(k.PLAYBACK_FRAGMENT_LOADED,r)}},{key:"_onSubtitleLoaded",value:function e(){if(!this._ccIsSetup){this.trigger(k.PLAYBACK_SUBTITLE_AVAILABLE);var t=this._playbackType===S.LIVE?-1:this.closedCaptionsTrackId;this.closedCaptionsTrackId=t;this._ccIsSetup=true}}},{key:"_onLevelSwitch",value:function e(t,r){if(!this.levels.length)this._fillLevels();this.trigger(k.PLAYBACK_LEVEL_SWITCH_END);this.trigger(k.PLAYBACK_LEVEL_SWITCH,r);var n=this._hls.levels[r.level];if(n){this.highDefinition=n.height>=720||n.bitrate/1e3>=2e3;this.trigger(k.PLAYBACK_HIGHDEFINITIONUPDATE,this.highDefinition);this.trigger(k.PLAYBACK_BITRATE,{height:n.height,width:n.width,bandwidth:n.bitrate,bitrate:n.bitrate,level:r.level})}}},{key:"dvrEnabled",get:function e(){return this._durationExcludesAfterLiveSyncPoint&&this._duration>=this._minDvrSize&&this.getPlaybackType()===S.LIVE}},{key:"getPlaybackType",value:function e(){return this._playbackType}},{key:"isSeekEnabled",value:function e(){return this._playbackType===S.VOD||this.dvrEnabled}}],[{key:"HLSJS",get:function e(){return x}}]);return a}(R)),Zi;return Xi.canPlay=function(e,t){var r=e.split("?")[0].match(/.*\.(.*)$/)||[];var n=r.length>1&&r[1].toLowerCase()==="m3u8"||Wi(t,["application/vnd.apple.mpegurl","application/x-mpegURL"]);return!!(x.isSupported()&&n)},Ei.Loader.registerPlayback(Xi),F(F({},Ei),{},{HLS:Xi})}()}.call(this,r(31))},4:function(r,e,t){"use strict";function F(e){return(F="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function B(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:t};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 i,a=!0,s=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return a=e.done,e},e:function(e){s=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw i}}}}t.d(e,"a",function(){return P}),t.d(e,"b",function(){return M}),t.d(e,"c",function(){return D}),t.d(e,"d",function(){return x}),t.d(e,"e",function(){return pr}),t.d(e,"f",function(){return Zt}),Array.prototype.find||Object.defineProperty(Array.prototype,"find",{value:function(e){if(null==this)throw new TypeError('"this" is null or not defined');var t=Object(this),r=t.length>>>0;if("function"!=typeof e)throw new TypeError("predicate must be a function");for(var n=arguments[1],i=0;i>>0;if("function"!=typeof e)throw new TypeError("predicate must be a function");for(var n=arguments[1],i=0;i]*>/,ne=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,ie=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ae=/^(?:body|html)$/i,se=/([A-Z])/g,oe=["val","css","html","text","data","width","height","offset"],t=p.createElement("table"),e=p.createElement("tr"),le={tr:p.createElement("tbody"),tbody:t,thead:t,tfoot:t,td:e,th:e,"*":p.createElement("div")},ue=/complete|loaded|interactive/,ce=/^[\w-]*$/,fe=(de={}).toString,v={},he=p.createElement("div"),pe={tabindex:"tabIndex",readonly:"readOnly",for:"htmlFor",class:"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},g=Array.isArray||function(e){return e instanceof Array},v.matches=function(e,t){var r,n;return!(!t||!e||1!==e.nodeType)&&((r=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.matchesSelector)?r.call(e,t):((n=!(r=e.parentNode))&&(r=he).appendChild(e),r=~v.qsa(r,t).indexOf(e),n&&he.removeChild(e),r))},q=function(e){return e.replace(/-+(.)?/g,function(e,t){return t?t.toUpperCase():""})},X=function(r){return Q.call(r,function(e,t){return r.indexOf(e)==t})},v.fragment=function(e,t,r){var n,i,a;return(n=ne.test(e)?f(p.createElement(RegExp.$1)):n)||(e.replace&&(e=e.replace(ie,"<$1>")),t===l&&(t=re.test(e)&&RegExp.$1),(a=le[t=t in le?t:"*"]).innerHTML=""+e,n=f.each(h.call(a.childNodes),function(){a.removeChild(this)})),Ze(r)&&(i=f(n),f.each(r,function(e,t){-1)<[^<]*)*<\/script>/gi,ye=/^(?:text|application)\/javascript/i,Ee=/^(?:text|application)\/xml/i,be="application/json",ke=/^\s*$/,(_e=Ae.createElement("a")).href=window.location.href,A.active=0,A.ajaxJSONP=function(r,n){var e,i,a,s,o,t,l,u;return"type"in r?(e=r.jsonpCallback,i=(A.isFunction(e)?e():e)||"Zepto"+ge++,a=Ae.createElement("script"),s=window[i],l={abort:t=function(e){A(a).triggerHandler("error",e||"abort")}},n&&n.promise(l),A(a).on("load error",function(e,t){clearTimeout(u),A(a).off().remove(),"error"!=e.type&&o?lt(o[0],l,r,n):ut(null,t||"error",l,r,n),window[i]=s,o&&A.isFunction(s)&&s(o[0]),s=o=void 0}),!1===ot(l,r)?t("abort"):(window[i]=function(){o=arguments},a.src=r.url.replace(/\?(.+)=\?/,"?$1="+i),Ae.head.appendChild(a),0").html(e.replace(me,"")).find(a):e),s&&s.apply(n,arguments)},A.ajax(e)),this},Te=encodeURIComponent,A.param=function(e,t){var r=[];return r.add=function(e,t){null==(t=A.isFunction(t)?t():t)&&(t=""),this.push(Te(e)+"="+Te(t))},function r(n,e,i,a){var s,o=A.isArray(e),l=A.isPlainObject(e);A.each(e,function(e,t){s=A.type(t),a&&(e=i?a:a+"["+(l||"object"==s||"array"==s?e:"")+"]"),!a&&o?n.add(t.name,t.value):"array"==s||!i&&"object"==s?r(n,t,i,e):n.add(e,t)})}(r,e,t),r.join("&").replace(/%20/g,"+")},(Se=t).Callbacks=function(n){n=Se.extend({},n);function i(e){for(t=n.memory&&e,r=!0,l=s||0,s=0,o=u.length,a=!0;u&&l/,He="Zepto"+ +new Date,k.qsa=function(a,s){return St(s,function(e,r,n){try{!e&&r?e="*":Ye.test(e)&&(t=Ue(a).addClass(He),e="."+He+" "+e);var t,i=je(a,e)}catch(e){throw console.error("error performing selector: %o",s),e}finally{t&&t.removeClass(He)}return r?k.uniq(Ue.map(i,function(e,t){return r.call(e,t,i,n)})):i})},k.matches=function(n,e){return St(e,function(e,t,r){return(!e||Ve(n,e))&&(!t||t.call(n,null,r)===n)})};function Ct(e,t){var r=e.split(".",2);t.fullVersion=e,r[0]&&(t.majorVersion=parseInt(r[0])),r[1]&&(t.minorVersion=parseInt(r[1]))}function Rt(e,t,r){var n="["==t.substr(0,1)?new RegExp(t,"g"):t,n=e.split(n,2);"."!=t&&(e=e.replace(new RegExp(t,"g"),".")),r.fullVersion=e,n&&n[0]&&(r.majorVersion=parseInt(n[0])),n&&n[1]&&(r.minorVersion=parseInt(n[1]))}var O=t,wt=[{name:"Chromium",group:"Chrome",identifier:"Chromium/([0-9.]*)"},{name:"Chrome Mobile",group:"Chrome",identifier:"Chrome/([0-9.]*) Mobile",versionIdentifier:"Chrome/([0-9.]*)"},{name:"Chrome",group:"Chrome",identifier:"Chrome/([0-9.]*)"},{name:"Chrome for iOS",group:"Chrome",identifier:"CriOS/([0-9.]*)"},{name:"Android Browser",group:"Chrome",identifier:"CrMo/([0-9.]*)"},{name:"Firefox",group:"Firefox",identifier:"Firefox/([0-9.]*)"},{name:"Opera Mini",group:"Opera",identifier:"Opera Mini/([0-9.]*)"},{name:"Opera",group:"Opera",identifier:"Opera ([0-9.]*)"},{name:"Opera",group:"Opera",identifier:"Opera/([0-9.]*)",versionIdentifier:"Version/([0-9.]*)"},{name:"IEMobile",group:"Explorer",identifier:"IEMobile/([0-9.]*)"},{name:"Internet Explorer",group:"Explorer",identifier:"MSIE ([a-zA-Z0-9.]*)"},{name:"Internet Explorer",group:"Explorer",identifier:"Trident/([0-9.]*)",versionIdentifier:"rv:([0-9.]*)"},{name:"Spartan",group:"Spartan",identifier:"Edge/([0-9.]*)",versionIdentifier:"Edge/([0-9.]*)"},{name:"Safari",group:"Safari",identifier:"Safari/([0-9.]*)",versionIdentifier:"Version/([0-9.]*)"}],Ot=[{name:"Windows 2000",group:"Windows",identifier:"Windows NT 5.0",version:"5.0"},{name:"Windows XP",group:"Windows",identifier:"Windows NT 5.1",version:"5.1"},{name:"Windows Vista",group:"Windows",identifier:"Windows NT 6.0",version:"6.0"},{name:"Windows 7",group:"Windows",identifier:"Windows NT 6.1",version:"7.0"},{name:"Windows 8",group:"Windows",identifier:"Windows NT 6.2",version:"8.0"},{name:"Windows 8.1",group:"Windows",identifier:"Windows NT 6.3",version:"8.1"},{name:"Windows 10",group:"Windows",identifier:"Windows NT 10.0",version:"10.0"},{name:"Windows Phone",group:"Windows Phone",identifier:"Windows Phone ([0-9.]*)"},{name:"Windows Phone",group:"Windows Phone",identifier:"Windows Phone OS ([0-9.]*)"},{name:"Windows",group:"Windows",identifier:"Windows"},{name:"Chrome OS",group:"Chrome OS",identifier:"CrOS"},{name:"Android",group:"Android",identifier:"Android",versionIdentifier:"Android ([a-zA-Z0-9.-]*)"},{name:"iPad",group:"iOS",identifier:"iPad",versionIdentifier:"OS ([0-9_]*)",versionSeparator:"[_|.]"},{name:"iPod",group:"iOS",identifier:"iPod",versionIdentifier:"OS ([0-9_]*)",versionSeparator:"[_|.]"},{name:"iPhone",group:"iOS",identifier:"iPhone OS",versionIdentifier:"OS ([0-9_]*)",versionSeparator:"[_|.]"},{name:"Mac OS X High Sierra",group:"Mac OS",identifier:"Mac OS X (10([_|.])13([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X Sierra",group:"Mac OS",identifier:"Mac OS X (10([_|.])12([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X El Capitan",group:"Mac OS",identifier:"Mac OS X (10([_|.])11([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X Yosemite",group:"Mac OS",identifier:"Mac OS X (10([_|.])10([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X Mavericks",group:"Mac OS",identifier:"Mac OS X (10([_|.])9([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X Mountain Lion",group:"Mac OS",identifier:"Mac OS X (10([_|.])8([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X Lion",group:"Mac OS",identifier:"Mac OS X (10([_|.])7([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X Snow Leopard",group:"Mac OS",identifier:"Mac OS X (10([_|.])6([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X Leopard",group:"Mac OS",identifier:"Mac OS X (10([_|.])5([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X Tiger",group:"Mac OS",identifier:"Mac OS X (10([_|.])4([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X Panther",group:"Mac OS",identifier:"Mac OS X (10([_|.])3([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X Jaguar",group:"Mac OS",identifier:"Mac OS X (10([_|.])2([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X Puma",group:"Mac OS",identifier:"Mac OS X (10([_|.])1([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS X Cheetah",group:"Mac OS",identifier:"Mac OS X (10([_|.])0([0-9_.]*))",versionSeparator:"[_|.]"},{name:"Mac OS",group:"Mac OS",identifier:"Mac OS"},{name:"Ubuntu",group:"Linux",identifier:"Ubuntu",versionIdentifier:"Ubuntu/([0-9.]*)"},{name:"Debian",group:"Linux",identifier:"Debian"},{name:"Gentoo",group:"Linux",identifier:"Gentoo"},{name:"Linux",group:"Linux",identifier:"Linux"},{name:"BlackBerry",group:"BlackBerry",identifier:"BlackBerry"}],L={},e=function(e){var t,r=e.match(/\b(playstation 4|nx|opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i)||[];if(/trident/i.test(r[1]))return t=/\brv[ :]+(\d+)/g.exec(e)||[],{name:"IE",version:parseInt(t[1]||"")};if("Chrome"===r[1]){if(null!=(t=e.match(/\bOPR\/(\d+)/)))return{name:"Opera",version:parseInt(t[1])};if(null!=(t=e.match(/\bEdge\/(\d+)/)))return{name:"Edge",version:parseInt(t[1])}}else/android/i.test(e)&&(t=e.match(/version\/(\d+)/i))&&(r.splice(1,1,"Android WebView"),r.splice(2,1,t[1]));return{name:(r=r[2]?[r[1],r[2]]:[navigator.appName,navigator.appVersion,"-?"])[0],version:parseInt(r[1])}}(navigator.userAgent);if(L.isEdge=/edge/i.test(navigator.userAgent),L.isChrome=/chrome|CriOS/i.test(navigator.userAgent)&&!L.isEdge,L.isSafari=/safari/i.test(navigator.userAgent)&&!L.isChrome&&!L.isEdge,L.isFirefox=/firefox/i.test(navigator.userAgent),L.isLegacyIE=!!window.ActiveXObject,L.isIE=L.isLegacyIE||/trident.*rv:1\d/i.test(navigator.userAgent),L.isIE11=/trident.*rv:11/i.test(navigator.userAgent),L.isChromecast=L.isChrome&&/CrKey/i.test(navigator.userAgent),L.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|Windows Phone|IEMobile|Mobile Safari|Opera Mini/i.test(navigator.userAgent),L.isiOS=/iPad|iPhone|iPod/i.test(navigator.userAgent),L.isAndroid=/Android/i.test(navigator.userAgent),L.isWindowsPhone=/Windows Phone/i.test(navigator.userAgent),L.isWin8App=/MSAppHost/i.test(navigator.userAgent),L.isWiiU=/WiiU/i.test(navigator.userAgent),L.isPS4=/PlayStation 4/i.test(navigator.userAgent),L.hasLocalstorage=function(){try{return localStorage.setItem("clappr","clappr"),localStorage.removeItem("clappr"),!0}catch(e){return!1}}(),L.hasFlash=function(){try{return!!new ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(e){return!(!navigator.mimeTypes||void 0===navigator.mimeTypes["application/x-shockwave-flash"]||!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)}}(),L.name=e.name,L.version=e.version,L.userAgent=navigator.userAgent,L.data=function(){var e,t={},r=L.userAgent.toLowerCase(),n=W(wt);try{for(n.s();!(e=n.n()).done;){var i,a=e.value,s=new RegExp(a.identifier.toLowerCase()).exec(r);if(null!=s&&s[1]){t.name=a.name,t.group=a.group,a.versionIdentifier?null!=(i=new RegExp(a.versionIdentifier.toLowerCase()).exec(r))&&i[1]&&Ct(i[1],t):Ct(s[1],t);break}}}catch(e){n.e(e)}finally{n.f()}return t}(),L.os=function(){var e,t={},r=L.userAgent.toLowerCase(),n=W(Ot);try{for(n.s();!(e=n.n()).done;){var i,a=e.value,s=new RegExp(a.identifier.toLowerCase()).exec(r);if(null!=s){t.name=a.name,t.group=a.group,a.version?Rt(a.version,a.versionSeparator||".",t):s[1]?Rt(s[1],a.versionSeparator||".",t):a.versionIdentifier&&null!=(i=new RegExp(a.versionIdentifier.toLowerCase()).exec(r))&&i[1]&&Rt(i[1],a.versionSeparator||".",t);break}}}catch(e){n.e(e)}finally{n.f()}return t}(),L.viewport=((t={}).width=O(window).width(),t.height=O(window).height(),t),L.device=function(e){e=/\((iP(?:hone|ad|od))?(?:[^;]*; ){0,2}([^)]+(?=\)))/.exec(e);return e&&(e[1]||e[2])||""}(L.userAgent),void 0!==window.orientation)switch(window.orientation){case-90:case 90:L.viewport.orientation="landscape";break;default:L.viewport.orientation="portrait"}var Lt={},It=[],Dt=(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(e){window.setTimeout(e,1e3/60)}).bind(window),Pt=(window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.clearTimeout).bind(window);function Nt(e,t){if(t)for(var r in t){var n=Object.getOwnPropertyDescriptor(t,r);n?Object.defineProperty(e,r,n):e[r]=t[r]}return e}function xt(e,s){var t=function(){c(a,e);var i=d(a);function a(){var e;u(this,a);for(var t=arguments.length,r=new Array(t),n=0;n/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},ar=/(.)^/,sr={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"},or=/\\|'|\r|\n|\t|\u2028|\u2029/g,lr={"&":"&","<":"<",">":">",'"':""","'":"'"},ur=new RegExp("[&<>\"']","g"),cr=0,dr=($t.settings=ir,{getStyleFor:function(e){var t=1').html($t(e.toString())(t))}}),fr=/^(\S+)\s*(.*)$/,hr=function(){c(r,N);var t=d(r);function r(e){return u(this,r),(e=t.call(this,e)).cid=Ut("c"),e._ensureElement(),e.delegateEvents(),e}return s(r,[{key:"tagName",get:function(){return"div"}},{key:"events",get:function(){return{}}},{key:"attributes",get:function(){return{}}}]),s(r,[{key:"$",value:function(e){return this.$el.find(e)}},{key:"render",value:function(){return this}},{key:"destroy",value:function(){return this.$el.remove(),this.stopListening(),this.undelegateEvents(),this}},{key:"setElement",value:function(e,t){return this.$el&&this.undelegateEvents(),this.$el=O.zepto.isZ(e)?e:O(e),this.el=this.$el[0],!1!==t&&this.delegateEvents(),this}},{key:"delegateEvents",value:function(e){for(var t in e=e||this.events,this.undelegateEvents(),e){var r,n=e[t];(n=n&&n.constructor!==Function?this[e[t]]:n)&&(r=(t=t.match(fr))[1],t=t[2],r+=".delegateEvents"+this.cid,""===t?this.$el.on(r,n.bind(this)):this.$el.on(r,t,n.bind(this)))}return this}},{key:"undelegateEvents",value:function(){return this.$el.off(".delegateEvents"+this.cid),this}},{key:"_ensureElement",value:function(){var e;this.el?this.setElement(this.el,!1):(e=O.extend(!0,{},this.attributes),this.id&&(e.id=this.id),this.className&&(e.class=this.className),e=O(qt.create(this.tagName)).attr(e),this.setElement(e,!1))}}]),r}(),pr=function(){c(n,N);var r=d(n);function n(){var e=0window.innerHeight?"landscape":"portrait";this._screenOrientation!==t&&(this._screenOrientation=t,this.triggerResize({width:this.el.clientWidth,height:this.el.clientHeight}),this.trigger(P.CORE_SCREEN_ORIENTATION_CHANGED,{event:e,orientation:this._screenOrientation}))}},{key:"removeContainer",value:function(t){this.stopListening(t),this.containers=this.containers.filter(function(e){return e!==t})}},{key:"setupContainer",value:function(e){this.listenTo(e,P.CONTAINER_DESTROYED,this.removeContainer),this.containers.push(e)}},{key:"setupContainers",value:function(e){return e.forEach(this.setupContainer.bind(this)),this.trigger(P.CORE_CONTAINERS_CREATED),this.renderContainers(),this.activeContainer=e[0],this.render(),this.appendToParent(),this.containers}},{key:"renderContainers",value:function(){var t=this;this.containers.forEach(function(e){return t.el.appendChild(e.render().el)})}},{key:"createContainer",value:function(e,t){e=this.containerFactory.createContainer(e,t);return this.setupContainer(e),this.el.appendChild(e.render().el),e}},{key:"getCurrentContainer",value:function(){return this.activeContainer}},{key:"getCurrentPlayback",value:function(){return this.activePlayback}},{key:"getPlaybackType",value:function(){return this.activeContainer&&this.activeContainer.getPlaybackType()}},{key:"isFullscreen",value:function(){var e,t=Mt.fullscreenElement();return!!t&&(e=this.activePlayback&&this.activePlayback.el,t===this.el||t===e)}},{key:"toggleFullscreen",value:function(){var e,t=this;this.isFullscreen()?(Mt.cancelFullscreen(),L.isiOS||this.$el.removeClass("fullscreen nocursor")):(e=L.isiOS?this.activePlayback&&this.activePlayback.el:this.el)&&(L.isSafari||L.isiOS?Mt.requestFullscreen(e):Mt.requestFullscreen(e).then(function(e){return e},function(e){return setTimeout(function(){if(!t.isFullscreen())throw new ReferenceError(e)},600)}),L.isiOS||this.$el.addClass("fullscreen"))}},{key:"onMouseMove",value:function(e){this.trigger(P.CORE_MOUSE_MOVE,e)}},{key:"onMouseLeave",value:function(e){this.trigger(P.CORE_MOUSE_LEAVE,e)}},{key:"configure",value:function(e){var t=this,r=(this._options=O.extend(!0,this._options,e),this.configureDomRecycler(),e.source||e.sources);r&&this.load(r,e.mimeType||this.options.mimeType),this.trigger(P.CORE_OPTIONS_CHANGE,e),this.containers.forEach(function(e){return e.configure(t.options)})}},{key:"appendToParent",value:function(){var e=dr.getStyleFor('[data-player] {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n -o-user-select: none;\n user-select: none;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n transform: translate3d(0, 0, 0);\n position: relative;\n margin: 0;\n padding: 0;\n border: 0;\n font-style: normal;\n font-weight: normal;\n text-align: center;\n overflow: hidden;\n font-size: 100%;\n font-family: "Roboto", "Open Sans", Arial, sans-serif;\n text-shadow: 0 0 0;\n box-sizing: border-box; }\n [data-player]:focus {\n outline: 0; }\n [data-player] * {\n box-sizing: inherit; }\n [data-player] > * {\n float: none;\n max-width: none; }\n [data-player] > div {\n display: block; }\n [data-player].fullscreen {\n width: 100% !important;\n height: 100% !important;\n top: 0;\n left: 0; }\n [data-player].nocursor {\n cursor: none; }\n\n.clappr-style {\n display: none !important; }\n'.toString(),{baseUrl:this.options.baseUrl}),t=dr.getStyleFor('[data-player] div, [data-player] span, [data-player] applet, [data-player] object, [data-player] iframe,\n[data-player] h1, [data-player] h2, [data-player] h3, [data-player] h4, [data-player] h5, [data-player] h6, [data-player] p, [data-player] blockquote, [data-player] pre,\n[data-player] a, [data-player] abbr, [data-player] acronym, [data-player] address, [data-player] big, [data-player] cite, [data-player] code,\n[data-player] del, [data-player] dfn, [data-player] em, [data-player] img, [data-player] ins, [data-player] kbd, [data-player] q, [data-player] s, [data-player] samp,\n[data-player] small, [data-player] strike, [data-player] strong, [data-player] sub, [data-player] sup, [data-player] tt, [data-player] var,\n[data-player] b, [data-player] u, [data-player] i, [data-player] center,\n[data-player] dl, [data-player] dt, [data-player] dd, [data-player] ol, [data-player] ul, [data-player] li,\n[data-player] fieldset, [data-player] form, [data-player] label, [data-player] legend,\n[data-player] table, [data-player] caption, [data-player] tbody, [data-player] tfoot, [data-player] thead, [data-player] tr, [data-player] th, [data-player] td,\n[data-player] article, [data-player] aside, [data-player] canvas, [data-player] details, [data-player] embed,\n[data-player] figure, [data-player] figcaption, [data-player] footer, [data-player] header, [data-player] hgroup,\n[data-player] menu, [data-player] nav, [data-player] output, [data-player] ruby, [data-player] section, [data-player] summary,\n[data-player] time, [data-player] mark, [data-player] audio, [data-player] video {\n margin: 0;\n padding: 0;\n border: 0;\n font: inherit;\n font-size: 100%;\n vertical-align: baseline; }\n\n[data-player] table {\n border-collapse: collapse;\n border-spacing: 0; }\n\n[data-player] caption, [data-player] th, [data-player] td {\n text-align: left;\n font-weight: normal;\n vertical-align: middle; }\n\n[data-player] q, [data-player] blockquote {\n quotes: none; }\n [data-player] q:before, [data-player] q:after, [data-player] blockquote:before, [data-player] blockquote:after {\n content: "";\n content: none; }\n\n[data-player] a img {\n border: none; }\n'.toString(),{baseUrl:this.options.baseUrl});this.$el.append(e[0]),this.options.includeResetStyle&&this.$el.append(t[0]),this.$el.parent()&&this.$el.parent().length||this.$el.appendTo(this.options.parentElement)}},{key:"render",value:function(){this.options.width=this.options.width||this.$el.width(),this.options.height=this.options.height||this.$el.height();var e={width:this.options.width,height:this.options.height};return this.previousSize=this.currentSize=this.computedSize=e,this.updateSize(),this.enableResizeObserver(),this}}]),n}(),yr=(Object.assign(mr.prototype,t),function(){c(n,N);var r=d(n);function n(e){var t;return u(this,n),(t=r.call(this,e.options)).player=e,t}return s(n,[{key:"loader",get:function(){return this.player.loader}}]),s(n,[{key:"create",value:function(){return this.options.loader=this.loader,this.core=new mr(this.options),this.addCorePlugins(),this.core.createContainers(this.options),this.core}},{key:"addCorePlugins",value:function(){var t=this;return this.loader.corePlugins.forEach(function(e){e=new e(t.core);t.core.addPlugin(e),t.setupExternalInterface(e)}),this.core}},{key:"setupExternalInterface",value:function(e){var t,r=e.getExternalInterface();for(t in r)this.player[t]=r[t].bind(e)}}]),n}()),Er=/(\d+)(?:\.(\d+))?(?:\.(\d+))?/,br=function(){function n(e,t,r){u(this,n),this.major=parseInt(e||0,10),this.minor=parseInt(t||0,10),this.patch=parseInt(r||0,10)}return s(n,null,[{key:"parse",value:function(){var e=Y((0=this._minDvrSize&&this.isLive}},{key:"minimumDVRSizeConfig",get:function(){return this.options.playback&&this.options.playback.minimumDvrSize}},{key:"isValidMinimumDVRSizeConfig",get:function(){return void 0!==this.minimumDVRSizeConfig&&"number"==typeof this.minimumDVRSizeConfig}}]),s(l,[{key:"configure",value:function(e){K(a(l.prototype),"configure",this).call(this,e),this.el.loop=!!e.loop}},{key:"attemptAutoPlay",value:function(){var r=this;this.canAutoPlay(function(e,t){t&&D.warn(r.name,"autoplay error.",{result:e,error:t}),e&&setTimeout(function(){return!r._destroyed&&r.play()},0)})}},{key:"canAutoPlay",value:function(e){var t;this.options.disableCanAutoPlay?e(!0,null):(t={timeout:this.options.autoPlayTimeout||500,inline:this.options.playback.playInline||!1,muted:this.options.mute||!1},L.isMobile&&qt.options.recycleVideo&&(t.element=this.el),Kt(e,t))}},{key:"_setupExternalTracks",value:function(e){this._externalTracks=e.map(function(e){return{kind:e.kind||"subtitles",label:e.label,lang:e.lang,src:e.src}})}},{key:"_setupSrc",value:function(e){this.el.src!==e&&(this._ccIsSetup=!1,this.el.src=e,this._src=this.el.src)}},{key:"_onLoadedMetadata",value:function(e){this._handleBufferingEvents(),this.trigger(P.PLAYBACK_LOADEDMETADATA,{duration:e.target.duration,data:e}),this._updateSettings();e=void 0===this._options.autoSeekFromUrl||this._options.autoSeekFromUrl;this.getPlaybackType()!==x.LIVE&&e&&this._checkInitialSeek()}},{key:"_onDurationChange",value:function(){this._updateSettings(),this._onTimeUpdate(),this._onProgress()}},{key:"_updateSettings",value:function(){this.getPlaybackType()===x.VOD||this.getPlaybackType()===x.AOD?this.settings.left=["playpause","position","duration"]:this.settings.left=["playstop"],this.settings.seekEnabled=this.isSeekEnabled(),this.trigger(P.PLAYBACK_SETTINGSUPDATE)}},{key:"isSeekEnabled",value:function(){return isFinite(this.getDuration())}},{key:"getPlaybackType",value:function(){var e="audio"===this.tagName?x.AOD:x.VOD;return 0<=[0,void 0,1/0].indexOf(this.el.duration)?x.LIVE:e}},{key:"isHighDefinitionInUse",value:function(){return!1}},{key:"consent",value:function(t){var e,r=this;this.isPlaying()||this.el._consented?K(a(l.prototype),"consent",this).call(this,t):(this.el.addEventListener("loadedmetadata",e=function e(){r.el.removeEventListener("loadedmetadata",e,!1),r.el.removeEventListener("error",e,!1),r.el._consented=!0,K(a(l.prototype),"consent",r).call(r,t)},!1),this.el.addEventListener("error",e,!1),this.el.load())}},{key:"play",value:function(){this.trigger(P.PLAYBACK_PLAY_INTENT),this._stopped=!1,this._setupSrc(this._src),this._handleBufferingEvents();var e=this.el.play();e&&e.catch&&e.catch(function(){})}},{key:"pause",value:function(){this.el.pause(),this.dvrEnabled&&this._updateDvr(!0)}},{key:"stop",value:function(){this.pause(),this._stopped=!0,this.el.removeAttribute("src"),this.el.load(),this._stopPlayheadMovingChecks(),this._handleBufferingEvents(),this.trigger(P.PLAYBACK_STOP)}},{key:"volume",value:function(e){0===e?(this.$el.attr({muted:"true"}),this.el.muted=!0):(this.$el.attr({muted:null}),this.el.muted=!1,this.el.volume=e/100)}},{key:"mute",value:function(){this.el.muted=!0}},{key:"unmute",value:function(){this.el.muted=!1}},{key:"isMuted",value:function(){return!0===this.el.muted||0===this.el.volume}},{key:"isPlaying",value:function(){return!this.el.paused&&!this.el.ended}},{key:"_startPlayheadMovingChecks",value:function(){null===this._playheadMovingTimer&&(this._playheadMovingTimeOnCheck=null,this._determineIfPlayheadMoving(),this._playheadMovingTimer=setInterval(this._determineIfPlayheadMoving.bind(this),500))}},{key:"_stopPlayheadMovingChecks",value:function(){null!==this._playheadMovingTimer&&(clearInterval(this._playheadMovingTimer),this._playheadMovingTimer=null,this._playheadMoving=!1)}},{key:"_determineIfPlayheadMoving",value:function(){var e=this._playheadMovingTimeOnCheck,t=this.el.currentTime;this._playheadMoving=e!==t,this._playheadMovingTimeOnCheck=t,this._handleBufferingEvents()}},{key:"_onWaiting",value:function(){this._loadStarted=!0,this._handleBufferingEvents()}},{key:"_onLoadedData",value:function(){this._loadStarted=!0,this._handleBufferingEvents()}},{key:"_onCanPlay",value:function(){this._handleBufferingEvents()}},{key:"_onPlaying",value:function(){this._checkForClosedCaptions(),this._startPlayheadMovingChecks(),this._handleBufferingEvents(),this.trigger(P.PLAYBACK_PLAY)}},{key:"_onPause",value:function(){this._stopPlayheadMovingChecks(),this._handleBufferingEvents(),this.trigger(P.PLAYBACK_PAUSE)}},{key:"_onSeeking",value:function(){this.trigger(P.PLAYBACK_SEEK,this.getCurrentTime()),this._handleBufferingEvents()}},{key:"_onSeeked",value:function(){this._handleBufferingEvents(),this.trigger(P.PLAYBACK_SEEKED)}},{key:"_onEnded",value:function(){this._handleBufferingEvents(),this.trigger(P.PLAYBACK_ENDED,this.name)}},{key:"_handleBufferingEvents",value:function(){var e=!this.el.ended&&!this.el.paused,e=this._loadStarted&&!this.el.ended&&!this._stopped&&(e&&!this._playheadMoving||this.el.readyState=e[r].start&&this.el.currentTime<=e[r].end&&(t=r);var n={start:e[t].start,current:e[t].end,total:this.el.duration};this.trigger(P.PLAYBACK_PROGRESS,n,e)}}},{key:"_typeFor",value:function(e){var t=l._mimeTypesForUrl(e,Rr,this.options.mimeType);return((t=0===t.length?l._mimeTypesForUrl(e,wr,this.options.mimeType):t)[0]||"").split(";")[0]}},{key:"_ready",value:function(){this._isReadyState||(this._isReadyState=!0,this.trigger(P.PLAYBACK_READY,this.name))}},{key:"_checkForClosedCaptions",value:function(){var e;this.isHTML5Video&&!this._ccIsSetup&&(this.hasClosedCaptionsTracks&&(this.trigger(P.PLAYBACK_SUBTITLE_AVAILABLE),e=this.closedCaptionsTrackId,this.closedCaptionsTrackId=e,this.handleTextTrackChange=this._handleTextTrackChange.bind(this),this.el.textTracks.addEventListener("change",this.handleTextTrackChange)),this._ccIsSetup=!0)}},{key:"_handleTextTrackChange",value:function(){var e=this.closedCaptionsTracks.find(function(e){return"showing"===e.track.mode})||{id:-1};this._ccTrackId!==e.id&&(this._ccTrackId=e.id,this.trigger(P.PLAYBACK_SUBTITLE_CHANGED,{id:e.id}))}},{key:"render",value:function(){this.options.playback.disableContextMenu&&this.$el.on("contextmenu",function(){return!1}),this._externalTracks&&0\n \n<% }; %>\n')}}]),l}(),e=(M._mimeTypesForUrl=function(e,t,r){e=(e.split("?")[0].match(/.*\.(.*)$/)||[])[1],r=r||e&&t[e.toLowerCase()]||[];return r.constructor===Array?r:[r]},M._canPlay=function(e,t,r,n){var r=M._mimeTypesForUrl(r,t,n),i=document.createElement(e);return!!r.filter(function(e){return!!i.canPlayType(e).replace(/no/,"")})[0]},M.canPlay=function(e,t){return M._canPlay("audio",wr,e,t)||M._canPlay("video",Rr,e,t)},function(){c(t,M);var e=d(t);function t(){return u(this,t),e.apply(this,arguments)}return s(t,[{key:"updateSettings",value:function(){this.settings.left=["playpause","position","duration"],this.settings.seekEnabled=this.isSeekEnabled(),this.trigger(P.PLAYBACK_SETTINGSUPDATE)}},{key:"getPlaybackType",value:function(){return x.AOD}},{key:"name",get:function(){return"html5_audio"}},{key:"supportedVersion",get:function(){return{min:"0.4.19"}}},{key:"tagName",get:function(){return"audio"}},{key:"isAudioOnly",get:function(){return!0}}]),t}()),t=(e.canPlay=function(e,t){return M._canPlay("audio",{wav:["audio/wav"],mp3:["audio/mp3",'audio/mpeg;codecs="mp3"'],aac:['audio/mp4;codecs="mp4a.40.5"'],oga:["audio/ogg"]},e,t)},function(){c(n,x);var r=d(n);function n(e){var t;return u(this,n),(t=r.call(this,e)).el.src=e.src,t}return s(n,[{key:"getPlaybackType",value:function(){return x.NO_OP}},{key:"name",get:function(){return"html_img"}},{key:"supportedVersion",get:function(){return{min:"0.4.19"}}},{key:"tagName",get:function(){return"img"}},{key:"attributes",get:function(){return{"data-html-img":""}}},{key:"events",get:function(){return{load:"_onLoad",abort:"_onError",error:"_onError"}}}]),s(n,[{key:"render",value:function(){var e=dr.getStyleFor("[data-html-img] {\n max-width: 100%;\n max-height: 100%; }\n".toString(),{baseUrl:this.options.baseUrl});return this.$el.append(e[0]),this.trigger(P.PLAYBACK_READY,this.name),this}},{key:"_onLoad",value:function(){this.trigger(P.PLAYBACK_ENDED,this.name)}},{key:"_onError",value:function(e){e="error"===e.type?"load error":"loading aborted";this.trigger(P.PLAYBACK_ERROR,{message:e},this.name)}}]),n}()),Ir=(t.canPlay=function(e){return/\.(png|jpg|jpeg|gif|bmp|tiff|pgm|pnm|webp)(|\?.*)$/i.test(e)},function(){c(a,x);var i=d(a);function a(){var e;u(this,a);for(var t=arguments.length,r=new Array(t),n=0;n\n

<%=message%>

\n

")}},{key:"attributes",get:function(){return{"data-no-op":""}}}]),s(a,[{key:"render",value:function(){var e=this.options.playbackNotSupportedMessage||this.i18n.t("playback_not_supported"),t=dr.getStyleFor("[data-no-op] {\n position: absolute;\n height: 100%;\n width: 100%;\n text-align: center; }\n\n[data-no-op] p[data-no-op-msg] {\n position: absolute;\n text-align: center;\n font-size: 25px;\n left: 0;\n right: 0;\n color: white;\n padding: 10px;\n /* center vertically */\n top: 50%;\n transform: translateY(-50%);\n max-height: 100%;\n overflow: auto; }\n\n[data-no-op] canvas[data-no-op-canvas] {\n background-color: #777;\n height: 100%;\n width: 100%; }\n".toString(),{baseUrl:this.options.baseUrl}),t=(this.$el.append(t[0]),this.$el.html(this.template({message:e})),this.trigger(P.PLAYBACK_READY,this.name),!(!this.options.poster||!this.options.poster.showForNoOp));return!this.options.autoPlay&&t||this._animate(),this}},{key:"_noise",value:function(){if(this._noiseFrameNum=(this._noiseFrameNum+1)%5,!this._noiseFrameNum){var t=this.context.createImageData(this.context.canvas.width,this.context.canvas.height);try{r=new Uint32Array(t.data.buffer)}catch(e){for(var r=new Uint32Array(this.context.canvas.width*this.context.canvas.height*4),n=t.data,i=0;i'}}]);