!(function (e, t) { "object" == typeof exports && "object" == typeof module ? (module.exports = t()) : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? (exports.flvjs = t()) : (e.flvjs = t()); })(self, function () { return (function () { var e = { 264: function (e, t, i) { /*! * @overview es6-promise - a tiny implementation of Promises/A+. * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) * @license Licensed under MIT license * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE * @version v4.2.8+1e68dce6 */ e.exports = (function () { "use strict"; function e(e) { var t = typeof e; return null !== e && ("object" === t || "function" === t); } function t(e) { return "function" == typeof e; } var n = Array.isArray ? Array.isArray : function (e) { return "[object Array]" === Object.prototype.toString.call(e); }, r = 0, s = void 0, o = void 0, a = function (e, t) { (b[r] = e), (b[r + 1] = t), 2 === (r += 2) && (o ? o(E) : A()); }; function h(e) { o = e; } function u(e) { a = e; } var l = "undefined" != typeof window ? window : void 0, d = l || {}, c = d.MutationObserver || d.WebKitMutationObserver, f = "undefined" == typeof self && "undefined" != typeof process && "[object process]" === {}.toString.call(process), _ = "undefined" != typeof Uint8ClampedArray && "undefined" != typeof importScripts && "undefined" != typeof MessageChannel; function p() { return function () { return process.nextTick(E); }; } function m() { return void 0 !== s ? function () { s(E); } : y(); } function g() { var e = 0, t = new c(E), i = document.createTextNode(""); return ( t.observe(i, { characterData: !0 }), function () { i.data = e = ++e % 2; } ); } function v() { var e = new MessageChannel(); return ( (e.port1.onmessage = E), function () { return e.port2.postMessage(0); } ); } function y() { var e = setTimeout; return function () { return e(E, 1); }; } var b = new Array(1e3); function E() { for (var e = 0; e < r; e += 2) (0, b[e])(b[e + 1]), (b[e] = void 0), (b[e + 1] = void 0); r = 0; } function S() { try { var e = Function("return this")().require("vertx"); return (s = e.runOnLoop || e.runOnContext), m(); } catch (e) { return y(); } } var A = void 0; function L(e, t) { var i = this, n = new this.constructor(O); void 0 === n[w] && W(n); var r = i._state; if (r) { var s = arguments[r - 1]; a(function () { return V(r, n, s, i._result); }); } else G(i, n, e, t); return n; } function R(e) { var t = this; if (e && "object" == typeof e && e.constructor === t) return e; var i = new t(O); return U(i, e), i; } A = f ? p() : c ? g() : _ ? v() : void 0 === l ? S() : y(); var w = Math.random().toString(36).substring(2); function O() {} var T = void 0, C = 1, k = 2; function D() { return new TypeError("You cannot resolve a promise with itself"); } function I() { return new TypeError("A promises callback cannot return that same promise."); } function M(e, t, i, n) { try { e.call(t, i, n); } catch (e) { return e; } } function B(e, t, i) { a(function (e) { var n = !1, r = M( i, t, function (i) { n || ((n = !0), t !== i ? U(e, i) : Z(e, i)); }, function (t) { n || ((n = !0), F(e, t)); }, "Settle: " + (e._label || " unknown promise") ); !n && r && ((n = !0), F(e, r)); }, e); } function x(e, t) { t._state === C ? Z(e, t._result) : t._state === k ? F(e, t._result) : G( t, void 0, function (t) { return U(e, t); }, function (t) { return F(e, t); } ); } function P(e, i, n) { i.constructor === e.constructor && n === L && i.constructor.resolve === R ? x(e, i) : void 0 === n ? Z(e, i) : t(n) ? B(e, i, n) : Z(e, i); } function U(t, i) { if (t === i) F(t, D()); else if (e(i)) { var n = void 0; try { n = i.then; } catch (e) { return void F(t, e); } P(t, i, n); } else Z(t, i); } function N(e) { e._onerror && e._onerror(e._result), j(e); } function Z(e, t) { e._state === T && ((e._result = t), (e._state = C), 0 !== e._subscribers.length && a(j, e)); } function F(e, t) { e._state === T && ((e._state = k), (e._result = t), a(N, e)); } function G(e, t, i, n) { var r = e._subscribers, s = r.length; (e._onerror = null), (r[s] = t), (r[s + C] = i), (r[s + k] = n), 0 === s && e._state && a(j, e); } function j(e) { var t = e._subscribers, i = e._state; if (0 !== t.length) { for (var n = void 0, r = void 0, s = e._result, o = 0; o < t.length; o += 3) (n = t[o]), (r = t[o + i]), n ? V(i, n, r, s) : r(s); e._subscribers.length = 0; } } function V(e, i, n, r) { var s = t(n), o = void 0, a = void 0, h = !0; if (s) { try { o = n(r); } catch (e) { (h = !1), (a = e); } if (i === o) return void F(i, I()); } else o = r; i._state !== T || (s && h ? U(i, o) : !1 === h ? F(i, a) : e === C ? Z(i, o) : e === k && F(i, o)); } function z(e, t) { try { t( function (t) { U(e, t); }, function (t) { F(e, t); } ); } catch (t) { F(e, t); } } var K = 0; function H() { return K++; } function W(e) { (e[w] = K++), (e._state = void 0), (e._result = void 0), (e._subscribers = []); } function q() { return new Error("Array Methods must be provided an Array"); } var Y = (function () { function e(e, t) { (this._instanceConstructor = e), (this.promise = new e(O)), this.promise[w] || W(this.promise), n(t) ? ((this.length = t.length), (this._remaining = t.length), (this._result = new Array(this.length)), 0 === this.length ? Z(this.promise, this._result) : ((this.length = this.length || 0), this._enumerate(t), 0 === this._remaining && Z(this.promise, this._result))) : F(this.promise, q()); } return ( (e.prototype._enumerate = function (e) { for (var t = 0; this._state === T && t < e.length; t++) this._eachEntry(e[t], t); }), (e.prototype._eachEntry = function (e, t) { var i = this._instanceConstructor, n = i.resolve; if (n === R) { var r = void 0, s = void 0, o = !1; try { r = e.then; } catch (e) { (o = !0), (s = e); } if (r === L && e._state !== T) this._settledAt(e._state, t, e._result); else if ("function" != typeof r) this._remaining--, (this._result[t] = e); else if (i === te) { var a = new i(O); o ? F(a, s) : P(a, e, r), this._willSettleAt(a, t); } else this._willSettleAt( new i(function (t) { return t(e); }), t ); } else this._willSettleAt(n(e), t); }), (e.prototype._settledAt = function (e, t, i) { var n = this.promise; n._state === T && (this._remaining--, e === k ? F(n, i) : (this._result[t] = i)), 0 === this._remaining && Z(n, this._result); }), (e.prototype._willSettleAt = function (e, t) { var i = this; G( e, void 0, function (e) { return i._settledAt(C, t, e); }, function (e) { return i._settledAt(k, t, e); } ); }), e ); })(); function X(e) { return new Y(this, e).promise; } function J(e) { var t = this; return n(e) ? new t(function (i, n) { for (var r = e.length, s = 0; s < r; s++) t.resolve(e[s]).then(i, n); }) : new t(function (e, t) { return t(new TypeError("You must pass an array to race.")); }); } function Q(e) { var t = new this(O); return F(t, e), t; } function $() { throw new TypeError("You must pass a resolver function as the first argument to the promise constructor"); } function ee() { throw new TypeError( "Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function." ); } var te = (function () { function e(t) { (this[w] = H()), (this._result = this._state = void 0), (this._subscribers = []), O !== t && ("function" != typeof t && $(), this instanceof e ? z(this, t) : ee()); } return ( (e.prototype.catch = function (e) { return this.then(null, e); }), (e.prototype.finally = function (e) { var i = this, n = i.constructor; return t(e) ? i.then( function (t) { return n.resolve(e()).then(function () { return t; }); }, function (t) { return n.resolve(e()).then(function () { throw t; }); } ) : i.then(e, e); }), e ); })(); function ie() { var e = void 0; if (void 0 !== i.g) e = i.g; else if ("undefined" != typeof self) e = self; else try { e = Function("return this")(); } catch (e) { throw new Error("polyfill failed because global object is unavailable in this environment"); } var t = e.Promise; if (t) { var n = null; try { n = Object.prototype.toString.call(t.resolve()); } catch (e) {} if ("[object Promise]" === n && !t.cast) return; } e.Promise = te; } return ( (te.prototype.then = L), (te.all = X), (te.race = J), (te.resolve = R), (te.reject = Q), (te._setScheduler = h), (te._setAsap = u), (te._asap = a), (te.polyfill = ie), (te.Promise = te), te ); })(); }, 716: function (e) { "use strict"; var t, i = "object" == typeof Reflect ? Reflect : null, n = i && "function" == typeof i.apply ? i.apply : function (e, t, i) { return Function.prototype.apply.call(e, t, i); }; t = i && "function" == typeof i.ownKeys ? i.ownKeys : Object.getOwnPropertySymbols ? function (e) { return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e)); } : function (e) { return Object.getOwnPropertyNames(e); }; var r = Number.isNaN || function (e) { return e != e; }; function s() { s.init.call(this); } (e.exports = s), (e.exports.once = function (e, t) { return new Promise(function (i, n) { function r(i) { e.removeListener(t, s), n(i); } function s() { "function" == typeof e.removeListener && e.removeListener("error", r), i([].slice.call(arguments)); } p(e, t, s, { once: !0 }), "error" !== t && (function (e, t, i) { "function" == typeof e.on && p(e, "error", t, i); })(e, r, { once: !0 }); }); }), (s.EventEmitter = s), (s.prototype._events = void 0), (s.prototype._eventsCount = 0), (s.prototype._maxListeners = void 0); var o = 10; function a(e) { if ("function" != typeof e) throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof e); } function h(e) { return void 0 === e._maxListeners ? s.defaultMaxListeners : e._maxListeners; } function u(e, t, i, n) { var r, s, o, u; if ( (a(i), void 0 === (s = e._events) ? ((s = e._events = Object.create(null)), (e._eventsCount = 0)) : (void 0 !== s.newListener && (e.emit("newListener", t, i.listener ? i.listener : i), (s = e._events)), (o = s[t])), void 0 === o) ) (o = s[t] = i), ++e._eventsCount; else if ( ("function" == typeof o ? (o = s[t] = n ? [i, o] : [o, i]) : n ? o.unshift(i) : o.push(i), (r = h(e)) > 0 && o.length > r && !o.warned) ) { o.warned = !0; var l = new Error( "Possible EventEmitter memory leak detected. " + o.length + " " + String(t) + " listeners added. Use emitter.setMaxListeners() to increase limit" ); (l.name = "MaxListenersExceededWarning"), (l.emitter = e), (l.type = t), (l.count = o.length), (u = l), console && console.warn && console.warn(u); } return e; } function l() { if (!this.fired) return ( this.target.removeListener(this.type, this.wrapFn), (this.fired = !0), 0 === arguments.length ? this.listener.call(this.target) : this.listener.apply(this.target, arguments) ); } function d(e, t, i) { var n = { fired: !1, wrapFn: void 0, target: e, type: t, listener: i }, r = l.bind(n); return (r.listener = i), (n.wrapFn = r), r; } function c(e, t, i) { var n = e._events; if (void 0 === n) return []; var r = n[t]; return void 0 === r ? [] : "function" == typeof r ? i ? [r.listener || r] : [r] : i ? (function (e) { for (var t = new Array(e.length), i = 0; i < t.length; ++i) t[i] = e[i].listener || e[i]; return t; })(r) : _(r, r.length); } function f(e) { var t = this._events; if (void 0 !== t) { var i = t[e]; if ("function" == typeof i) return 1; if (void 0 !== i) return i.length; } return 0; } function _(e, t) { for (var i = new Array(t), n = 0; n < t; ++n) i[n] = e[n]; return i; } function p(e, t, i, n) { if ("function" == typeof e.on) n.once ? e.once(t, i) : e.on(t, i); else { if ("function" != typeof e.addEventListener) throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof e); e.addEventListener(t, function r(s) { n.once && e.removeEventListener(t, r), i(s); }); } } Object.defineProperty(s, "defaultMaxListeners", { enumerable: !0, get: function () { return o; }, set: function (e) { if ("number" != typeof e || e < 0 || r(e)) throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + e + "."); o = e; }, }), (s.init = function () { (void 0 !== this._events && this._events !== Object.getPrototypeOf(this)._events) || ((this._events = Object.create(null)), (this._eventsCount = 0)), (this._maxListeners = this._maxListeners || void 0); }), (s.prototype.setMaxListeners = function (e) { if ("number" != typeof e || e < 0 || r(e)) throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + e + "."); return (this._maxListeners = e), this; }), (s.prototype.getMaxListeners = function () { return h(this); }), (s.prototype.emit = function (e) { for (var t = [], i = 1; i < arguments.length; i++) t.push(arguments[i]); var r = "error" === e, s = this._events; if (void 0 !== s) r = r && void 0 === s.error; else if (!r) return !1; if (r) { var o; if ((t.length > 0 && (o = t[0]), o instanceof Error)) throw o; var a = new Error("Unhandled error." + (o ? " (" + o.message + ")" : "")); throw ((a.context = o), a); } var h = s[e]; if (void 0 === h) return !1; if ("function" == typeof h) n(h, this, t); else { var u = h.length, l = _(h, u); for (i = 0; i < u; ++i) n(l[i], this, t); } return !0; }), (s.prototype.addListener = function (e, t) { return u(this, e, t, !1); }), (s.prototype.on = s.prototype.addListener), (s.prototype.prependListener = function (e, t) { return u(this, e, t, !0); }), (s.prototype.once = function (e, t) { return a(t), this.on(e, d(this, e, t)), this; }), (s.prototype.prependOnceListener = function (e, t) { return a(t), this.prependListener(e, d(this, e, t)), this; }), (s.prototype.removeListener = function (e, t) { var i, n, r, s, o; if ((a(t), void 0 === (n = this._events))) return this; if (void 0 === (i = n[e])) return this; if (i === t || i.listener === t) 0 == --this._eventsCount ? (this._events = Object.create(null)) : (delete n[e], n.removeListener && this.emit("removeListener", e, i.listener || t)); else if ("function" != typeof i) { for (r = -1, s = i.length - 1; s >= 0; s--) if (i[s] === t || i[s].listener === t) { (o = i[s].listener), (r = s); break; } if (r < 0) return this; 0 === r ? i.shift() : (function (e, t) { for (; t + 1 < e.length; t++) e[t] = e[t + 1]; e.pop(); })(i, r), 1 === i.length && (n[e] = i[0]), void 0 !== n.removeListener && this.emit("removeListener", e, o || t); } return this; }), (s.prototype.off = s.prototype.removeListener), (s.prototype.removeAllListeners = function (e) { var t, i, n; if (void 0 === (i = this._events)) return this; if (void 0 === i.removeListener) return ( 0 === arguments.length ? ((this._events = Object.create(null)), (this._eventsCount = 0)) : void 0 !== i[e] && (0 == --this._eventsCount ? (this._events = Object.create(null)) : delete i[e]), this ); if (0 === arguments.length) { var r, s = Object.keys(i); for (n = 0; n < s.length; ++n) "removeListener" !== (r = s[n]) && this.removeAllListeners(r); return this.removeAllListeners("removeListener"), (this._events = Object.create(null)), (this._eventsCount = 0), this; } if ("function" == typeof (t = i[e])) this.removeListener(e, t); else if (void 0 !== t) for (n = t.length - 1; n >= 0; n--) this.removeListener(e, t[n]); return this; }), (s.prototype.listeners = function (e) { return c(this, e, !0); }), (s.prototype.rawListeners = function (e) { return c(this, e, !1); }), (s.listenerCount = function (e, t) { return "function" == typeof e.listenerCount ? e.listenerCount(t) : f.call(e, t); }), (s.prototype.listenerCount = f), (s.prototype.eventNames = function () { return this._eventsCount > 0 ? t(this._events) : []; }); }, 397: function (e, t, i) { function n(e) { var t = {}; function i(n) { if (t[n]) return t[n].exports; var r = (t[n] = { i: n, l: !1, exports: {} }); return e[n].call(r.exports, r, r.exports, i), (r.l = !0), r.exports; } (i.m = e), (i.c = t), (i.i = function (e) { return e; }), (i.d = function (e, t, n) { i.o(e, t) || Object.defineProperty(e, t, { configurable: !1, enumerable: !0, get: n }); }), (i.r = function (e) { Object.defineProperty(e, "__esModule", { value: !0 }); }), (i.n = function (e) { var t = e && e.__esModule ? function () { return e.default; } : function () { return e; }; return i.d(t, "a", t), t; }), (i.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t); }), (i.p = "/"), (i.oe = function (e) { throw (console.error(e), e); }); var n = i((i.s = ENTRY_MODULE)); return n.default || n; } var r = "[\\.|\\-|\\+|\\w|/|@]+", s = "\\(\\s*(/\\*.*?\\*/)?\\s*.*?([\\.|\\-|\\+|\\w|/|@]+).*?\\)"; function o(e) { return (e + "").replace(/[.?*+^$[\]\\(){}|-]/g, "\\$&"); } function a(e, t, n) { var a = {}; a[n] = []; var h = t.toString(), u = h.match(/^function\s?\w*\(\w+,\s*\w+,\s*(\w+)\)/); if (!u) return a; for (var l, d = u[1], c = new RegExp("(\\\\n|\\W)" + o(d) + s, "g"); (l = c.exec(h)); ) "dll-reference" !== l[3] && a[n].push(l[3]); for (c = new RegExp("\\(" + o(d) + '\\("(dll-reference\\s(' + r + '))"\\)\\)' + s, "g"); (l = c.exec(h)); ) e[l[2]] || (a[n].push(l[1]), (e[l[2]] = i(l[1]).m)), (a[l[2]] = a[l[2]] || []), a[l[2]].push(l[4]); for (var f, _ = Object.keys(a), p = 0; p < _.length; p++) for (var m = 0; m < a[_[p]].length; m++) (f = a[_[p]][m]), isNaN(1 * f) || (a[_[p]][m] = 1 * a[_[p]][m]); return a; } function h(e) { return Object.keys(e).reduce(function (t, i) { return t || e[i].length > 0; }, !1); } e.exports = function (e, t) { t = t || {}; var r = { main: i.m }, s = t.all ? { main: Object.keys(r.main) } : (function (e, t) { for (var i = { main: [t] }, n = { main: [] }, r = { main: {} }; h(i); ) for (var s = Object.keys(i), o = 0; o < s.length; o++) { var u = s[o], l = i[u].pop(); if (((r[u] = r[u] || {}), !r[u][l] && e[u][l])) { (r[u][l] = !0), (n[u] = n[u] || []), n[u].push(l); for (var d = a(e, e[u][l], u), c = Object.keys(d), f = 0; f < c.length; f++) (i[c[f]] = i[c[f]] || []), (i[c[f]] = i[c[f]].concat(d[c[f]])); } } return n; })(r, e), o = ""; Object.keys(s) .filter(function (e) { return "main" !== e; }) .forEach(function (e) { for (var t = 0; s[e][t]; ) t++; s[e].push(t), (r[e][t] = "(function(module, exports, __webpack_require__) { module.exports = __webpack_require__; })"), (o = o + "var " + e + " = (" + n.toString().replace("ENTRY_MODULE", JSON.stringify(t)) + ")({" + s[e] .map(function (t) { return JSON.stringify(t) + ": " + r[e][t].toString(); }) .join(",") + "});\n"); }), (o = o + "new ((" + n.toString().replace("ENTRY_MODULE", JSON.stringify(e)) + ")({" + s.main .map(function (e) { return JSON.stringify(e) + ": " + r.main[e].toString(); }) .join(",") + "}))(self);"); var u = new window.Blob([o], { type: "text/javascript" }); if (t.bare) return u; var l = (window.URL || window.webkitURL || window.mozURL || window.msURL).createObjectURL(u), d = new window.Worker(l); return (d.objectURL = l), d; }; }, 118: function (e, t) { "use strict"; var i = (function () { function e() { (this.mimeType = null), (this.duration = null), (this.hasAudio = null), (this.hasVideo = null), (this.audioCodec = null), (this.videoCodec = null), (this.audioDataRate = null), (this.videoDataRate = null), (this.audioSampleRate = null), (this.audioChannelCount = null), (this.width = null), (this.height = null), (this.fps = null), (this.profile = null), (this.level = null), (this.refFrames = null), (this.chromaFormat = null), (this.sarNum = null), (this.sarDen = null), (this.metadata = null), (this.segments = null), (this.segmentCount = null), (this.hasKeyframesIndex = null), (this.keyframesIndex = null); } return ( (e.prototype.isComplete = function () { var e = !1 === this.hasAudio || (!0 === this.hasAudio && null != this.audioCodec && null != this.audioSampleRate && null != this.audioChannelCount), t = !1 === this.hasVideo || (!0 === this.hasVideo && null != this.videoCodec && null != this.width && null != this.height && null != this.fps && null != this.profile && null != this.level && null != this.refFrames && null != this.chromaFormat && null != this.sarNum && null != this.sarDen); return null != this.mimeType && null != this.duration && null != this.metadata && null != this.hasKeyframesIndex && e && t; }), (e.prototype.isSeekable = function () { return !0 === this.hasKeyframesIndex; }), (e.prototype.getNearestKeyframe = function (e) { if (null == this.keyframesIndex) return null; var t = this.keyframesIndex, i = this._search(t.times, e); return { index: i, milliseconds: t.times[i], fileposition: t.filepositions[i] }; }), (e.prototype._search = function (e, t) { var i = 0, n = e.length - 1, r = 0, s = 0, o = n; for (t < e[0] && ((i = 0), (s = o + 1)); s <= o; ) { if ((r = s + Math.floor((o - s) / 2)) === n || (t >= e[r] && t < e[r + 1])) { i = r; break; } e[r] < t ? (s = r + 1) : (o = r - 1); } return i; }), e ); })(); t.Z = i; }, 51: function (e, t, i) { "use strict"; i.d(t, { Wk: function () { return n; }, Yy: function () { return r; }, Vn: function () { return s; }, J1: function () { return o; }, }); var n = function (e, t, i, n, r) { (this.dts = e), (this.pts = t), (this.duration = i), (this.originalDts = n), (this.isSyncPoint = r), (this.fileposition = null); }, r = (function () { function e() { (this.beginDts = 0), (this.endDts = 0), (this.beginPts = 0), (this.endPts = 0), (this.originalBeginDts = 0), (this.originalEndDts = 0), (this.syncPoints = []), (this.firstSample = null), (this.lastSample = null); } return ( (e.prototype.appendSyncPoint = function (e) { (e.isSyncPoint = !0), this.syncPoints.push(e); }), e ); })(), s = (function () { function e() { this._list = []; } return ( (e.prototype.clear = function () { this._list = []; }), (e.prototype.appendArray = function (e) { var t = this._list; 0 !== e.length && (t.length > 0 && e[0].originalDts < t[t.length - 1].originalDts && this.clear(), Array.prototype.push.apply(t, e)); }), (e.prototype.getLastSyncPointBeforeDts = function (e) { if (0 == this._list.length) return null; var t = this._list, i = 0, n = t.length - 1, r = 0, s = 0, o = n; for (e < t[0].dts && ((i = 0), (s = o + 1)); s <= o; ) { if ((r = s + Math.floor((o - s) / 2)) === n || (e >= t[r].dts && e < t[r + 1].dts)) { i = r; break; } t[r].dts < e ? (s = r + 1) : (o = r - 1); } return this._list[i]; }), e ); })(), o = (function () { function e(e) { (this._type = e), (this._list = []), (this._lastAppendLocation = -1); } return ( Object.defineProperty(e.prototype, "type", { get: function () { return this._type; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "length", { get: function () { return this._list.length; }, enumerable: !1, configurable: !0, }), (e.prototype.isEmpty = function () { return 0 === this._list.length; }), (e.prototype.clear = function () { (this._list = []), (this._lastAppendLocation = -1); }), (e.prototype._searchNearestSegmentBefore = function (e) { var t = this._list; if (0 === t.length) return -2; var i = t.length - 1, n = 0, r = 0, s = i, o = 0; if (e < t[0].originalBeginDts) return (o = -1); for (; r <= s; ) { if ((n = r + Math.floor((s - r) / 2)) === i || (e > t[n].lastSample.originalDts && e < t[n + 1].originalBeginDts)) { o = n; break; } t[n].originalBeginDts < e ? (r = n + 1) : (s = n - 1); } return o; }), (e.prototype._searchNearestSegmentAfter = function (e) { return this._searchNearestSegmentBefore(e) + 1; }), (e.prototype.append = function (e) { var t = this._list, i = e, n = this._lastAppendLocation, r = 0; -1 !== n && n < t.length && i.originalBeginDts >= t[n].lastSample.originalDts && (n === t.length - 1 || (n < t.length - 1 && i.originalBeginDts < t[n + 1].originalBeginDts)) ? (r = n + 1) : t.length > 0 && (r = this._searchNearestSegmentBefore(i.originalBeginDts) + 1), (this._lastAppendLocation = r), this._list.splice(r, 0, i); }), (e.prototype.getLastSegmentBefore = function (e) { var t = this._searchNearestSegmentBefore(e); return t >= 0 ? this._list[t] : null; }), (e.prototype.getLastSampleBefore = function (e) { var t = this.getLastSegmentBefore(e); return null != t ? t.lastSample : null; }), (e.prototype.getLastSyncPointBefore = function (e) { for (var t = this._searchNearestSegmentBefore(e), i = this._list[t].syncPoints; 0 === i.length && t > 0; ) t--, (i = this._list[t].syncPoints); return i.length > 0 ? i[i.length - 1] : null; }), e ); })(); }, 949: function (e, t, i) { "use strict"; i.d(t, { Z: function () { return R; }, }); var n = i(716), r = i.n(n), s = i(300), o = i(538), a = i(118); function h(e, t, i) { var n = e; if (t + i < n.length) { for (; i--; ) if (128 != (192 & n[++t])) return !1; return !0; } return !1; } var u, l = function (e) { for (var t = [], i = e, n = 0, r = e.length; n < r; ) if (i[n] < 128) t.push(String.fromCharCode(i[n])), ++n; else { if (i[n] < 192); else if (i[n] < 224) { if (h(i, n, 1)) if ((s = ((31 & i[n]) << 6) | (63 & i[n + 1])) >= 128) { t.push(String.fromCharCode(65535 & s)), (n += 2); continue; } } else if (i[n] < 240) { if (h(i, n, 2)) if ((s = ((15 & i[n]) << 12) | ((63 & i[n + 1]) << 6) | (63 & i[n + 2])) >= 2048 && 55296 != (63488 & s)) { t.push(String.fromCharCode(65535 & s)), (n += 3); continue; } } else if (i[n] < 248) { var s; if (h(i, n, 3)) if ((s = ((7 & i[n]) << 18) | ((63 & i[n + 1]) << 12) | ((63 & i[n + 2]) << 6) | (63 & i[n + 3])) > 65536 && s < 1114112) { (s -= 65536), t.push(String.fromCharCode((s >>> 10) | 55296)), t.push(String.fromCharCode((1023 & s) | 56320)), (n += 4); continue; } } t.push(String.fromCharCode(65533)), ++n; } return t.join(""); }, d = i(29), c = ((u = new ArrayBuffer(2)), new DataView(u).setInt16(0, 256, !0), 256 === new Int16Array(u)[0]), f = (function () { function e() {} return ( (e.parseScriptData = function (t, i, n) { var r = {}; try { var o = e.parseValue(t, i, n), a = e.parseValue(t, i + o.size, n - o.size); r[o.data] = a.data; } catch (e) { s.Z.e("AMF", e.toString()); } return r; }), (e.parseObject = function (t, i, n) { if (n < 3) throw new d.rT("Data not enough when parse ScriptDataObject"); var r = e.parseString(t, i, n), s = e.parseValue(t, i + r.size, n - r.size), o = s.objectEnd; return { data: { name: r.data, value: s.data }, size: r.size + s.size, objectEnd: o }; }), (e.parseVariable = function (t, i, n) { return e.parseObject(t, i, n); }), (e.parseString = function (e, t, i) { if (i < 2) throw new d.rT("Data not enough when parse String"); var n = new DataView(e, t, i).getUint16(0, !c); return { data: n > 0 ? l(new Uint8Array(e, t + 2, n)) : "", size: 2 + n }; }), (e.parseLongString = function (e, t, i) { if (i < 4) throw new d.rT("Data not enough when parse LongString"); var n = new DataView(e, t, i).getUint32(0, !c); return { data: n > 0 ? l(new Uint8Array(e, t + 4, n)) : "", size: 4 + n }; }), (e.parseDate = function (e, t, i) { if (i < 10) throw new d.rT("Data size invalid when parse Date"); var n = new DataView(e, t, i), r = n.getFloat64(0, !c), s = n.getInt16(8, !c); return { data: new Date((r += 60 * s * 1e3)), size: 10 }; }), (e.parseValue = function (t, i, n) { if (n < 1) throw new d.rT("Data not enough when parse Value"); var r, o = new DataView(t, i, n), a = 1, h = o.getUint8(0), u = !1; try { switch (h) { case 0: (r = o.getFloat64(1, !c)), (a += 8); break; case 1: (r = !!o.getUint8(1)), (a += 1); break; case 2: var l = e.parseString(t, i + 1, n - 1); (r = l.data), (a += l.size); break; case 3: r = {}; var f = 0; for (9 == (16777215 & o.getUint32(n - 4, !c)) && (f = 3); a < n - 4; ) { var _ = e.parseObject(t, i + a, n - a - f); if (_.objectEnd) break; (r[_.data.name] = _.data.value), (a += _.size); } if (a <= n - 3) 9 === (16777215 & o.getUint32(a - 1, !c)) && (a += 3); break; case 8: (r = {}), (a += 4); f = 0; for (9 == (16777215 & o.getUint32(n - 4, !c)) && (f = 3); a < n - 8; ) { var p = e.parseVariable(t, i + a, n - a - f); if (p.objectEnd) break; (r[p.data.name] = p.data.value), (a += p.size); } if (a <= n - 3) 9 === (16777215 & o.getUint32(a - 1, !c)) && (a += 3); break; case 9: (r = void 0), (a = 1), (u = !0); break; case 10: r = []; var m = o.getUint32(1, !c); a += 4; for (var g = 0; g < m; g++) { var v = e.parseValue(t, i + a, n - a); r.push(v.data), (a += v.size); } break; case 11: var y = e.parseDate(t, i + 1, n - 1); (r = y.data), (a += y.size); break; case 12: var b = e.parseString(t, i + 1, n - 1); (r = b.data), (a += b.size); break; default: (a = n), s.Z.w("AMF", "Unsupported AMF value type " + h); } } catch (e) { s.Z.e("AMF", e.toString()); } return { data: r, size: a, objectEnd: u }; }), e ); })(), _ = (function () { function e(e) { (this.TAG = "ExpGolomb"), (this._buffer = e), (this._buffer_index = 0), (this._total_bytes = e.byteLength), (this._total_bits = 8 * e.byteLength), (this._current_word = 0), (this._current_word_bits_left = 0); } return ( (e.prototype.destroy = function () { this._buffer = null; }), (e.prototype._fillCurrentWord = function () { var e = this._total_bytes - this._buffer_index; if (e <= 0) throw new d.rT("ExpGolomb: _fillCurrentWord() but no bytes available"); var t = Math.min(4, e), i = new Uint8Array(4); i.set(this._buffer.subarray(this._buffer_index, this._buffer_index + t)), (this._current_word = new DataView(i.buffer).getUint32(0, !1)), (this._buffer_index += t), (this._current_word_bits_left = 8 * t); }), (e.prototype.readBits = function (e) { if (e > 32) throw new d.OC("ExpGolomb: readBits() bits exceeded max 32bits!"); if (e <= this._current_word_bits_left) { var t = this._current_word >>> (32 - e); return (this._current_word <<= e), (this._current_word_bits_left -= e), t; } var i = this._current_word_bits_left ? this._current_word : 0; i >>>= 32 - this._current_word_bits_left; var n = e - this._current_word_bits_left; this._fillCurrentWord(); var r = Math.min(n, this._current_word_bits_left), s = this._current_word >>> (32 - r); return (this._current_word <<= r), (this._current_word_bits_left -= r), (i = (i << r) | s); }), (e.prototype.readBool = function () { return 1 === this.readBits(1); }), (e.prototype.readByte = function () { return this.readBits(8); }), (e.prototype._skipLeadingZero = function () { var e; for (e = 0; e < this._current_word_bits_left; e++) if (0 != (this._current_word & (2147483648 >>> e))) return (this._current_word <<= e), (this._current_word_bits_left -= e), e; return this._fillCurrentWord(), e + this._skipLeadingZero(); }), (e.prototype.readUEG = function () { var e = this._skipLeadingZero(); return this.readBits(e + 1) - 1; }), (e.prototype.readSEG = function () { var e = this.readUEG(); return 1 & e ? (e + 1) >>> 1 : -1 * (e >>> 1); }), e ); })(), p = (function () { function e() {} return ( (e._ebsp2rbsp = function (e) { for (var t = e, i = t.byteLength, n = new Uint8Array(i), r = 0, s = 0; s < i; s++) (s >= 2 && 3 === t[s] && 0 === t[s - 1] && 0 === t[s - 2]) || ((n[r] = t[s]), r++); return new Uint8Array(n.buffer, 0, r); }), (e.parseSPS = function (t) { var i = e._ebsp2rbsp(t), n = new _(i); n.readByte(); var r = n.readByte(); n.readByte(); var s = n.readByte(); n.readUEG(); var o = e.getProfileString(r), a = e.getLevelString(s), h = 1, u = 420, l = 8; if ( (100 === r || 110 === r || 122 === r || 244 === r || 44 === r || 83 === r || 86 === r || 118 === r || 128 === r || 138 === r || 144 === r) && (3 === (h = n.readUEG()) && n.readBits(1), h <= 3 && (u = [0, 420, 422, 444][h]), (l = n.readUEG() + 8), n.readUEG(), n.readBits(1), n.readBool()) ) for (var d = 3 !== h ? 8 : 12, c = 0; c < d; c++) n.readBool() && (c < 6 ? e._skipScalingList(n, 16) : e._skipScalingList(n, 64)); n.readUEG(); var f = n.readUEG(); if (0 === f) n.readUEG(); else if (1 === f) { n.readBits(1), n.readSEG(), n.readSEG(); var p = n.readUEG(); for (c = 0; c < p; c++) n.readSEG(); } var m = n.readUEG(); n.readBits(1); var g = n.readUEG(), v = n.readUEG(), y = n.readBits(1); 0 === y && n.readBits(1), n.readBits(1); var b = 0, E = 0, S = 0, A = 0; n.readBool() && ((b = n.readUEG()), (E = n.readUEG()), (S = n.readUEG()), (A = n.readUEG())); var L = 1, R = 1, w = 0, O = !0, T = 0, C = 0; if (n.readBool()) { if (n.readBool()) { var k = n.readByte(); k > 0 && k < 16 ? ((L = [1, 12, 10, 16, 40, 24, 20, 32, 80, 18, 15, 64, 160, 4, 3, 2][k - 1]), (R = [1, 11, 11, 11, 33, 11, 11, 11, 33, 11, 11, 33, 99, 3, 2, 1][k - 1])) : 255 === k && ((L = (n.readByte() << 8) | n.readByte()), (R = (n.readByte() << 8) | n.readByte())); } if ( (n.readBool() && n.readBool(), n.readBool() && (n.readBits(4), n.readBool() && n.readBits(24)), n.readBool() && (n.readUEG(), n.readUEG()), n.readBool()) ) { var D = n.readBits(32), I = n.readBits(32); (O = n.readBool()), (w = (T = I) / (C = 2 * D)); } } var M = 1; (1 === L && 1 === R) || (M = L / R); var B = 0, x = 0; 0 === h ? ((B = 1), (x = 2 - y)) : ((B = 3 === h ? 1 : 2), (x = (1 === h ? 2 : 1) * (2 - y))); var P = 16 * (g + 1), U = 16 * (v + 1) * (2 - y); (P -= (b + E) * B), (U -= (S + A) * x); var N = Math.ceil(P * M); return ( n.destroy(), (n = null), { profile_string: o, level_string: a, bit_depth: l, ref_frames: m, chroma_format: u, chroma_format_string: e.getChromaFormatString(u), frame_rate: { fixed: O, fps: w, fps_den: C, fps_num: T }, sar_ratio: { width: L, height: R }, codec_size: { width: P, height: U }, present_size: { width: N, height: U }, } ); }), (e._skipScalingList = function (e, t) { for (var i = 8, n = 8, r = 0; r < t; r++) 0 !== n && (n = (i + e.readSEG() + 256) % 256), (i = 0 === n ? i : n); }), (e.getProfileString = function (e) { switch (e) { case 66: return "Baseline"; case 77: return "Main"; case 88: return "Extended"; case 100: return "High"; case 110: return "High10"; case 122: return "High422"; case 244: return "High444"; default: return "Unknown"; } }), (e.getLevelString = function (e) { return (e / 10).toFixed(1); }), (e.getChromaFormatString = function (e) { switch (e) { case 420: return "4:2:0"; case 422: return "4:2:2"; case 444: return "4:4:4"; default: return "Unknown"; } }), e ); })(), m = i(600); var g = (function () { function e(e, t) { (this.TAG = "FLVDemuxer"), (this._config = t), (this._onError = null), (this._onMediaInfo = null), (this._onMetaDataArrived = null), (this._onScriptDataArrived = null), (this._onTrackMetadata = null), (this._onDataAvailable = null), (this._dataOffset = e.dataOffset), (this._firstParse = !0), (this._dispatch = !1), (this._hasAudio = e.hasAudioTrack), (this._hasVideo = e.hasVideoTrack), (this._hasAudioFlagOverrided = !1), (this._hasVideoFlagOverrided = !1), (this._audioInitialMetadataDispatched = !1), (this._videoInitialMetadataDispatched = !1), (this._mediaInfo = new a.Z()), (this._mediaInfo.hasAudio = this._hasAudio), (this._mediaInfo.hasVideo = this._hasVideo), (this._metadata = null), (this._audioMetadata = null), (this._videoMetadata = null), (this._naluLengthSize = 4), (this._timestampBase = 0), (this._timescale = 1e3), (this._duration = 0), (this._durationOverrided = !1), (this._referenceFrameRate = { fixed: !0, fps: 23.976, fps_num: 23976, fps_den: 1e3 }), (this._flvSoundRateTable = [5500, 11025, 22050, 44100, 48e3]), (this._mpegSamplingRates = [96e3, 88200, 64e3, 48e3, 44100, 32e3, 24e3, 22050, 16e3, 12e3, 11025, 8e3, 7350]), (this._mpegAudioV10SampleRateTable = [44100, 48e3, 32e3, 0]), (this._mpegAudioV20SampleRateTable = [22050, 24e3, 16e3, 0]), (this._mpegAudioV25SampleRateTable = [11025, 12e3, 8e3, 0]), (this._mpegAudioL1BitRateTable = [0, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448, -1]), (this._mpegAudioL2BitRateTable = [0, 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384, -1]), (this._mpegAudioL3BitRateTable = [0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -1]), (this._videoTrack = { type: "video", id: 1, sequenceNumber: 0, samples: [], length: 0 }), (this._audioTrack = { type: "audio", id: 2, sequenceNumber: 0, samples: [], length: 0 }), (this._littleEndian = (function () { var e = new ArrayBuffer(2); return new DataView(e).setInt16(0, 256, !0), 256 === new Int16Array(e)[0]; })()); } return ( (e.prototype.destroy = function () { (this._mediaInfo = null), (this._metadata = null), (this._audioMetadata = null), (this._videoMetadata = null), (this._videoTrack = null), (this._audioTrack = null), (this._onError = null), (this._onMediaInfo = null), (this._onMetaDataArrived = null), (this._onScriptDataArrived = null), (this._onTrackMetadata = null), (this._onDataAvailable = null); }), (e.probe = function (e) { var t = new Uint8Array(e), i = { match: !1 }; if (70 !== t[0] || 76 !== t[1] || 86 !== t[2] || 1 !== t[3]) return i; var n, r, s = (4 & t[4]) >>> 2 != 0, o = 0 != (1 & t[4]), a = ((n = t)[(r = 5)] << 24) | (n[r + 1] << 16) | (n[r + 2] << 8) | n[r + 3]; return a < 9 ? i : { match: !0, consumed: a, dataOffset: a, hasAudioTrack: s, hasVideoTrack: o }; }), (e.prototype.bindDataSource = function (e) { return (e.onDataArrival = this.parseChunks.bind(this)), this; }), Object.defineProperty(e.prototype, "onTrackMetadata", { get: function () { return this._onTrackMetadata; }, set: function (e) { this._onTrackMetadata = e; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "onMediaInfo", { get: function () { return this._onMediaInfo; }, set: function (e) { this._onMediaInfo = e; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "onMetaDataArrived", { get: function () { return this._onMetaDataArrived; }, set: function (e) { this._onMetaDataArrived = e; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "onScriptDataArrived", { get: function () { return this._onScriptDataArrived; }, set: function (e) { this._onScriptDataArrived = e; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "onError", { get: function () { return this._onError; }, set: function (e) { this._onError = e; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "onDataAvailable", { get: function () { return this._onDataAvailable; }, set: function (e) { this._onDataAvailable = e; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "timestampBase", { get: function () { return this._timestampBase; }, set: function (e) { this._timestampBase = e; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "overridedDuration", { get: function () { return this._duration; }, set: function (e) { (this._durationOverrided = !0), (this._duration = e), (this._mediaInfo.duration = e); }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "overridedHasAudio", { set: function (e) { (this._hasAudioFlagOverrided = !0), (this._hasAudio = e), (this._mediaInfo.hasAudio = e); }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "overridedHasVideo", { set: function (e) { (this._hasVideoFlagOverrided = !0), (this._hasVideo = e), (this._mediaInfo.hasVideo = e); }, enumerable: !1, configurable: !0, }), (e.prototype.resetMediaInfo = function () { this._mediaInfo = new a.Z(); }), (e.prototype._isInitialMetadataDispatched = function () { return this._hasAudio && this._hasVideo ? this._audioInitialMetadataDispatched && this._videoInitialMetadataDispatched : this._hasAudio && !this._hasVideo ? this._audioInitialMetadataDispatched : !(this._hasAudio || !this._hasVideo) && this._videoInitialMetadataDispatched; }), (e.prototype.parseChunks = function (t, i) { if (!(this._onError && this._onMediaInfo && this._onTrackMetadata && this._onDataAvailable)) throw new d.rT("Flv: onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified"); var n = 0, r = this._littleEndian; if (0 === i) { if (!(t.byteLength > 13)) return 0; n = e.probe(t).dataOffset; } this._firstParse && ((this._firstParse = !1), i + n !== this._dataOffset && s.Z.w(this.TAG, "First time parsing but chunk byteStart invalid!"), 0 !== (o = new DataView(t, n)).getUint32(0, !r) && s.Z.w(this.TAG, "PrevTagSize0 !== 0 !!!"), (n += 4)); for (; n < t.byteLength; ) { this._dispatch = !0; var o = new DataView(t, n); if (n + 11 + 4 > t.byteLength) break; var a = o.getUint8(0), h = 16777215 & o.getUint32(0, !r); if (n + 11 + h + 4 > t.byteLength) break; if (8 === a || 9 === a || 18 === a) { var u = o.getUint8(4), l = o.getUint8(5), c = o.getUint8(6) | (l << 8) | (u << 16) | (o.getUint8(7) << 24); 0 !== (16777215 & o.getUint32(7, !r)) && s.Z.w(this.TAG, "Meet tag which has StreamID != 0!"); var f = n + 11; switch (a) { case 8: this._parseAudioData(t, f, h, c); break; case 9: this._parseVideoData(t, f, h, c, i + n); break; case 18: this._parseScriptData(t, f, h); } var _ = o.getUint32(11 + h, !r); _ !== 11 + h && s.Z.w(this.TAG, "Invalid PrevTagSize " + _), (n += 11 + h + 4); } else s.Z.w(this.TAG, "Unsupported tag type " + a + ", skipped"), (n += 11 + h + 4); } return ( this._isInitialMetadataDispatched() && this._dispatch && (this._audioTrack.length || this._videoTrack.length) && this._onDataAvailable(this._audioTrack, this._videoTrack), n ); }), (e.prototype._parseScriptData = function (e, t, i) { var n = f.parseScriptData(e, t, i); if (n.hasOwnProperty("onMetaData")) { if (null == n.onMetaData || "object" != typeof n.onMetaData) return void s.Z.w(this.TAG, "Invalid onMetaData structure!"); this._metadata && s.Z.w(this.TAG, "Found another onMetaData tag!"), (this._metadata = n); var r = this._metadata.onMetaData; if ( (this._onMetaDataArrived && this._onMetaDataArrived(Object.assign({}, r)), "boolean" == typeof r.hasAudio && !1 === this._hasAudioFlagOverrided && ((this._hasAudio = r.hasAudio), (this._mediaInfo.hasAudio = this._hasAudio)), "boolean" == typeof r.hasVideo && !1 === this._hasVideoFlagOverrided && ((this._hasVideo = r.hasVideo), (this._mediaInfo.hasVideo = this._hasVideo)), "number" == typeof r.audiodatarate && (this._mediaInfo.audioDataRate = r.audiodatarate), "number" == typeof r.videodatarate && (this._mediaInfo.videoDataRate = r.videodatarate), "number" == typeof r.width && (this._mediaInfo.width = r.width), "number" == typeof r.height && (this._mediaInfo.height = r.height), "number" == typeof r.duration) ) { if (!this._durationOverrided) { var o = Math.floor(r.duration * this._timescale); (this._duration = o), (this._mediaInfo.duration = o); } } else this._mediaInfo.duration = 0; if ("number" == typeof r.framerate) { var a = Math.floor(1e3 * r.framerate); if (a > 0) { var h = a / 1e3; (this._referenceFrameRate.fixed = !0), (this._referenceFrameRate.fps = h), (this._referenceFrameRate.fps_num = a), (this._referenceFrameRate.fps_den = 1e3), (this._mediaInfo.fps = h); } } if ("object" == typeof r.keyframes) { this._mediaInfo.hasKeyframesIndex = !0; var u = r.keyframes; (this._mediaInfo.keyframesIndex = this._parseKeyframesIndex(u)), (r.keyframes = null); } else this._mediaInfo.hasKeyframesIndex = !1; (this._dispatch = !1), (this._mediaInfo.metadata = r), s.Z.v(this.TAG, "Parsed onMetaData"), this._mediaInfo.isComplete() && this._onMediaInfo(this._mediaInfo); } Object.keys(n).length > 0 && this._onScriptDataArrived && this._onScriptDataArrived(Object.assign({}, n)); }), (e.prototype._parseKeyframesIndex = function (e) { for (var t = [], i = [], n = 1; n < e.times.length; n++) { var r = this._timestampBase + Math.floor(1e3 * e.times[n]); t.push(r), i.push(e.filepositions[n]); } return { times: t, filepositions: i }; }), (e.prototype._parseAudioData = function (e, t, i, n) { if (i <= 1) s.Z.w(this.TAG, "Flv: Invalid audio packet, missing SoundData payload!"); else if (!0 !== this._hasAudioFlagOverrided || !1 !== this._hasAudio) { this._littleEndian; var r = new DataView(e, t, i).getUint8(0), o = r >>> 4; if (2 === o || 10 === o) { var a = 0, h = (12 & r) >>> 2; if (h >= 0 && h <= 4) { a = this._flvSoundRateTable[h]; var u = 1 & r, l = this._audioMetadata, d = this._audioTrack; if ( (l || (!1 === this._hasAudio && !1 === this._hasAudioFlagOverrided && ((this._hasAudio = !0), (this._mediaInfo.hasAudio = !0)), ((l = this._audioMetadata = {}).type = "audio"), (l.id = d.id), (l.timescale = this._timescale), (l.duration = this._duration), (l.audioSampleRate = a), (l.channelCount = 0 === u ? 1 : 2)), 10 === o) ) { var c = this._parseAACAudioData(e, t + 1, i - 1); if (null == c) return; if (0 === c.packetType) { l.config && s.Z.w(this.TAG, "Found another AudioSpecificConfig!"); var f = c.data; (l.audioSampleRate = f.samplingRate), (l.channelCount = f.channelCount), (l.codec = f.codec), (l.originalCodec = f.originalCodec), (l.config = f.config), (l.refSampleDuration = (1024 / l.audioSampleRate) * l.timescale), s.Z.v(this.TAG, "Parsed AudioSpecificConfig"), this._isInitialMetadataDispatched() ? this._dispatch && (this._audioTrack.length || this._videoTrack.length) && this._onDataAvailable(this._audioTrack, this._videoTrack) : (this._audioInitialMetadataDispatched = !0), (this._dispatch = !1), this._onTrackMetadata("audio", l), ((g = this._mediaInfo).audioCodec = l.originalCodec), (g.audioSampleRate = l.audioSampleRate), (g.audioChannelCount = l.channelCount), g.hasVideo ? null != g.videoCodec && (g.mimeType = 'video/x-flv; codecs="' + g.videoCodec + "," + g.audioCodec + '"') : (g.mimeType = 'video/x-flv; codecs="' + g.audioCodec + '"'), g.isComplete() && this._onMediaInfo(g); } else if (1 === c.packetType) { var _ = this._timestampBase + n, p = { unit: c.data, length: c.data.byteLength, dts: _, pts: _ }; d.samples.push(p), (d.length += c.data.length); } else s.Z.e(this.TAG, "Flv: Unsupported AAC data type " + c.packetType); } else if (2 === o) { if (!l.codec) { var g; if (null == (f = this._parseMP3AudioData(e, t + 1, i - 1, !0))) return; (l.audioSampleRate = f.samplingRate), (l.channelCount = f.channelCount), (l.codec = f.codec), (l.originalCodec = f.originalCodec), (l.refSampleDuration = (1152 / l.audioSampleRate) * l.timescale), s.Z.v(this.TAG, "Parsed MPEG Audio Frame Header"), (this._audioInitialMetadataDispatched = !0), this._onTrackMetadata("audio", l), ((g = this._mediaInfo).audioCodec = l.codec), (g.audioSampleRate = l.audioSampleRate), (g.audioChannelCount = l.channelCount), (g.audioDataRate = f.bitRate), g.hasVideo ? null != g.videoCodec && (g.mimeType = 'video/x-flv; codecs="' + g.videoCodec + "," + g.audioCodec + '"') : (g.mimeType = 'video/x-flv; codecs="' + g.audioCodec + '"'), g.isComplete() && this._onMediaInfo(g); } var v = this._parseMP3AudioData(e, t + 1, i - 1, !1); if (null == v) return; _ = this._timestampBase + n; var y = { unit: v, length: v.byteLength, dts: _, pts: _ }; d.samples.push(y), (d.length += v.length); } } else this._onError(m.Z.FORMAT_ERROR, "Flv: Invalid audio sample rate idx: " + h); } else this._onError(m.Z.CODEC_UNSUPPORTED, "Flv: Unsupported audio codec idx: " + o); } }), (e.prototype._parseAACAudioData = function (e, t, i) { if (!(i <= 1)) { var n = {}, r = new Uint8Array(e, t, i); return ( (n.packetType = r[0]), 0 === r[0] ? (n.data = this._parseAACAudioSpecificConfig(e, t + 1, i - 1)) : (n.data = r.subarray(1)), n ); } s.Z.w(this.TAG, "Flv: Invalid AAC packet, missing AACPacketType or/and Data!"); }), (e.prototype._parseAACAudioSpecificConfig = function (e, t, i) { var n, r, s = new Uint8Array(e, t, i), o = null, a = 0, h = null; if (((a = n = s[0] >>> 3), (r = ((7 & s[0]) << 1) | (s[1] >>> 7)) < 0 || r >= this._mpegSamplingRates.length)) this._onError(m.Z.FORMAT_ERROR, "Flv: AAC invalid sampling frequency index!"); else { var u = this._mpegSamplingRates[r], l = (120 & s[1]) >>> 3; if (!(l < 0 || l >= 8)) { 5 === a && ((h = ((7 & s[1]) << 1) | (s[2] >>> 7)), (124 & s[2]) >>> 2); var d = self.navigator.userAgent.toLowerCase(); return ( -1 !== d.indexOf("firefox") ? r >= 6 ? ((a = 5), (o = new Array(4)), (h = r - 3)) : ((a = 2), (o = new Array(2)), (h = r)) : -1 !== d.indexOf("android") ? ((a = 2), (o = new Array(2)), (h = r)) : ((a = 5), (h = r), (o = new Array(4)), r >= 6 ? (h = r - 3) : 1 === l && ((a = 2), (o = new Array(2)), (h = r))), (o[0] = a << 3), (o[0] |= (15 & r) >>> 1), (o[1] = (15 & r) << 7), (o[1] |= (15 & l) << 3), 5 === a && ((o[1] |= (15 & h) >>> 1), (o[2] = (1 & h) << 7), (o[2] |= 8), (o[3] = 0)), { config: o, samplingRate: u, channelCount: l, codec: "mp4a.40." + a, originalCodec: "mp4a.40." + n } ); } this._onError(m.Z.FORMAT_ERROR, "Flv: AAC invalid channel configuration"); } }), (e.prototype._parseMP3AudioData = function (e, t, i, n) { if (!(i < 4)) { this._littleEndian; var r = new Uint8Array(e, t, i), o = null; if (n) { if (255 !== r[0]) return; var a = (r[1] >>> 3) & 3, h = (6 & r[1]) >> 1, u = (240 & r[2]) >>> 4, l = (12 & r[2]) >>> 2, d = 3 !== ((r[3] >>> 6) & 3) ? 2 : 1, c = 0, f = 0; switch (a) { case 0: c = this._mpegAudioV25SampleRateTable[l]; break; case 2: c = this._mpegAudioV20SampleRateTable[l]; break; case 3: c = this._mpegAudioV10SampleRateTable[l]; } switch (h) { case 1: 34, u < this._mpegAudioL3BitRateTable.length && (f = this._mpegAudioL3BitRateTable[u]); break; case 2: 33, u < this._mpegAudioL2BitRateTable.length && (f = this._mpegAudioL2BitRateTable[u]); break; case 3: 32, u < this._mpegAudioL1BitRateTable.length && (f = this._mpegAudioL1BitRateTable[u]); } o = { bitRate: f, samplingRate: c, channelCount: d, codec: "mp3", originalCodec: "mp3" }; } else o = r; return o; } s.Z.w(this.TAG, "Flv: Invalid MP3 packet, header missing!"); }), (e.prototype._parseVideoData = function (e, t, i, n, r) { if (i <= 1) s.Z.w(this.TAG, "Flv: Invalid video packet, missing VideoData payload!"); else if (!0 !== this._hasVideoFlagOverrided || !1 !== this._hasVideo) { var o = new Uint8Array(e, t, i)[0], a = (240 & o) >>> 4, h = 15 & o; 7 === h ? this._parseAVCVideoPacket(e, t + 1, i - 1, n, r, a) : this._onError(m.Z.CODEC_UNSUPPORTED, "Flv: Unsupported codec in video frame: " + h); } }), (e.prototype._parseAVCVideoPacket = function (e, t, i, n, r, o) { if (i < 4) s.Z.w(this.TAG, "Flv: Invalid AVC packet, missing AVCPacketType or/and CompositionTime"); else { var a = this._littleEndian, h = new DataView(e, t, i), u = h.getUint8(0), l = ((16777215 & h.getUint32(0, !a)) << 8) >> 8; if (0 === u) this._parseAVCDecoderConfigurationRecord(e, t + 4, i - 4); else if (1 === u) this._parseAVCVideoData(e, t + 4, i - 4, n, r, o, l); else if (2 !== u) return void this._onError(m.Z.FORMAT_ERROR, "Flv: Invalid video packet type " + u); } }), (e.prototype._parseAVCDecoderConfigurationRecord = function (e, t, i) { if (i < 7) s.Z.w(this.TAG, "Flv: Invalid AVCDecoderConfigurationRecord, lack of data!"); else { var n = this._videoMetadata, r = this._videoTrack, o = this._littleEndian, a = new DataView(e, t, i); n ? void 0 !== n.avcc && s.Z.w(this.TAG, "Found another AVCDecoderConfigurationRecord!") : (!1 === this._hasVideo && !1 === this._hasVideoFlagOverrided && ((this._hasVideo = !0), (this._mediaInfo.hasVideo = !0)), ((n = this._videoMetadata = {}).type = "video"), (n.id = r.id), (n.timescale = this._timescale), (n.duration = this._duration)); var h = a.getUint8(0), u = a.getUint8(1); a.getUint8(2), a.getUint8(3); if (1 === h && 0 !== u) if (((this._naluLengthSize = 1 + (3 & a.getUint8(4))), 3 === this._naluLengthSize || 4 === this._naluLengthSize)) { var l = 31 & a.getUint8(5); if (0 !== l) { l > 1 && s.Z.w(this.TAG, "Flv: Strange AVCDecoderConfigurationRecord: SPS Count = " + l); for (var d = 6, c = 0; c < l; c++) { var f = a.getUint16(d, !o); if (((d += 2), 0 !== f)) { var _ = new Uint8Array(e, t + d, f); d += f; var g = p.parseSPS(_); if (0 === c) { (n.codecWidth = g.codec_size.width), (n.codecHeight = g.codec_size.height), (n.presentWidth = g.present_size.width), (n.presentHeight = g.present_size.height), (n.profile = g.profile_string), (n.level = g.level_string), (n.bitDepth = g.bit_depth), (n.chromaFormat = g.chroma_format), (n.sarRatio = g.sar_ratio), (n.frameRate = g.frame_rate), (!1 !== g.frame_rate.fixed && 0 !== g.frame_rate.fps_num && 0 !== g.frame_rate.fps_den) || (n.frameRate = this._referenceFrameRate); var v = n.frameRate.fps_den, y = n.frameRate.fps_num; n.refSampleDuration = n.timescale * (v / y); for (var b = _.subarray(1, 4), E = "avc1.", S = 0; S < 3; S++) { var A = b[S].toString(16); A.length < 2 && (A = "0" + A), (E += A); } n.codec = E; var L = this._mediaInfo; (L.width = n.codecWidth), (L.height = n.codecHeight), (L.fps = n.frameRate.fps), (L.profile = n.profile), (L.level = n.level), (L.refFrames = g.ref_frames), (L.chromaFormat = g.chroma_format_string), (L.sarNum = n.sarRatio.width), (L.sarDen = n.sarRatio.height), (L.videoCodec = E), L.hasAudio ? null != L.audioCodec && (L.mimeType = 'video/x-flv; codecs="' + L.videoCodec + "," + L.audioCodec + '"') : (L.mimeType = 'video/x-flv; codecs="' + L.videoCodec + '"'), L.isComplete() && this._onMediaInfo(L); } } } var R = a.getUint8(d); if (0 !== R) { R > 1 && s.Z.w(this.TAG, "Flv: Strange AVCDecoderConfigurationRecord: PPS Count = " + R), d++; for (c = 0; c < R; c++) { f = a.getUint16(d, !o); (d += 2), 0 !== f && (d += f); } (n.avcc = new Uint8Array(i)), n.avcc.set(new Uint8Array(e, t, i), 0), s.Z.v(this.TAG, "Parsed AVCDecoderConfigurationRecord"), this._isInitialMetadataDispatched() ? this._dispatch && (this._audioTrack.length || this._videoTrack.length) && this._onDataAvailable(this._audioTrack, this._videoTrack) : (this._videoInitialMetadataDispatched = !0), (this._dispatch = !1), this._onTrackMetadata("video", n); } else this._onError(m.Z.FORMAT_ERROR, "Flv: Invalid AVCDecoderConfigurationRecord: No PPS"); } else this._onError(m.Z.FORMAT_ERROR, "Flv: Invalid AVCDecoderConfigurationRecord: No SPS"); } else this._onError(m.Z.FORMAT_ERROR, "Flv: Strange NaluLengthSizeMinusOne: " + (this._naluLengthSize - 1)); else this._onError(m.Z.FORMAT_ERROR, "Flv: Invalid AVCDecoderConfigurationRecord"); } }), (e.prototype._parseAVCVideoData = function (e, t, i, n, r, o, a) { for ( var h = this._littleEndian, u = new DataView(e, t, i), l = [], d = 0, c = 0, f = this._naluLengthSize, _ = this._timestampBase + n, p = 1 === o; c < i; ) { if (c + 4 >= i) { s.Z.w(this.TAG, "Malformed Nalu near timestamp " + _ + ", offset = " + c + ", dataSize = " + i); break; } var m = u.getUint32(c, !h); if ((3 === f && (m >>>= 8), m > i - f)) return void s.Z.w(this.TAG, "Malformed Nalus near timestamp " + _ + ", NaluSize > DataSize!"); var g = 31 & u.getUint8(c + f); 5 === g && (p = !0); var v = new Uint8Array(e, t + c, f + m), y = { type: g, data: v }; l.push(y), (d += v.byteLength), (c += f + m); } if (l.length) { var b = this._videoTrack, E = { units: l, length: d, isKeyframe: p, dts: _, cts: a, pts: _ + a }; p && (E.fileposition = r), b.samples.push(E), (b.length += d); } }), e ); })(), v = (function () { function e() {} return ( (e.init = function () { for (var t in ((e.types = { avc1: [], avcC: [], btrt: [], dinf: [], dref: [], esds: [], ftyp: [], hdlr: [], mdat: [], mdhd: [], mdia: [], mfhd: [], minf: [], moof: [], moov: [], mp4a: [], mvex: [], mvhd: [], sdtp: [], stbl: [], stco: [], stsc: [], stsd: [], stsz: [], stts: [], tfdt: [], tfhd: [], traf: [], trak: [], trun: [], trex: [], tkhd: [], vmhd: [], smhd: [], ".mp3": [], }), e.types)) e.types.hasOwnProperty(t) && (e.types[t] = [t.charCodeAt(0), t.charCodeAt(1), t.charCodeAt(2), t.charCodeAt(3)]); var i = (e.constants = {}); (i.FTYP = new Uint8Array([105, 115, 111, 109, 0, 0, 0, 1, 105, 115, 111, 109, 97, 118, 99, 49])), (i.STSD_PREFIX = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 1])), (i.STTS = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0])), (i.STSC = i.STCO = i.STTS), (i.STSZ = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), (i.HDLR_VIDEO = new Uint8Array([ 0, 0, 0, 0, 0, 0, 0, 0, 118, 105, 100, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 105, 100, 101, 111, 72, 97, 110, 100, 108, 101, 114, 0, ])), (i.HDLR_AUDIO = new Uint8Array([ 0, 0, 0, 0, 0, 0, 0, 0, 115, 111, 117, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 111, 117, 110, 100, 72, 97, 110, 100, 108, 101, 114, 0, ])), (i.DREF = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 12, 117, 114, 108, 32, 0, 0, 0, 1])), (i.SMHD = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0])), (i.VMHD = new Uint8Array([0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0])); }), (e.box = function (e) { for (var t = 8, i = null, n = Array.prototype.slice.call(arguments, 1), r = n.length, s = 0; s < r; s++) t += n[s].byteLength; ((i = new Uint8Array(t))[0] = (t >>> 24) & 255), (i[1] = (t >>> 16) & 255), (i[2] = (t >>> 8) & 255), (i[3] = 255 & t), i.set(e, 4); var o = 8; for (s = 0; s < r; s++) i.set(n[s], o), (o += n[s].byteLength); return i; }), (e.generateInitSegment = function (t) { var i = e.box(e.types.ftyp, e.constants.FTYP), n = e.moov(t), r = new Uint8Array(i.byteLength + n.byteLength); return r.set(i, 0), r.set(n, i.byteLength), r; }), (e.moov = function (t) { var i = e.mvhd(t.timescale, t.duration), n = e.trak(t), r = e.mvex(t); return e.box(e.types.moov, i, n, r); }), (e.mvhd = function (t, i) { return e.box( e.types.mvhd, new Uint8Array([ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (t >>> 24) & 255, (t >>> 16) & 255, (t >>> 8) & 255, 255 & t, (i >>> 24) & 255, (i >>> 16) & 255, (i >>> 8) & 255, 255 & i, 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, ]) ); }), (e.trak = function (t) { return e.box(e.types.trak, e.tkhd(t), e.mdia(t)); }), (e.tkhd = function (t) { var i = t.id, n = t.duration, r = t.presentWidth, s = t.presentHeight; return e.box( e.types.tkhd, new Uint8Array([ 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, (i >>> 24) & 255, (i >>> 16) & 255, (i >>> 8) & 255, 255 & i, 0, 0, 0, 0, (n >>> 24) & 255, (n >>> 16) & 255, (n >>> 8) & 255, 255 & n, 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, (r >>> 8) & 255, 255 & r, 0, 0, (s >>> 8) & 255, 255 & s, 0, 0, ]) ); }), (e.mdia = function (t) { return e.box(e.types.mdia, e.mdhd(t), e.hdlr(t), e.minf(t)); }), (e.mdhd = function (t) { var i = t.timescale, n = t.duration; return e.box( e.types.mdhd, new Uint8Array([ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (i >>> 24) & 255, (i >>> 16) & 255, (i >>> 8) & 255, 255 & i, (n >>> 24) & 255, (n >>> 16) & 255, (n >>> 8) & 255, 255 & n, 85, 196, 0, 0, ]) ); }), (e.hdlr = function (t) { var i = null; return (i = "audio" === t.type ? e.constants.HDLR_AUDIO : e.constants.HDLR_VIDEO), e.box(e.types.hdlr, i); }), (e.minf = function (t) { var i = null; return ( (i = "audio" === t.type ? e.box(e.types.smhd, e.constants.SMHD) : e.box(e.types.vmhd, e.constants.VMHD)), e.box(e.types.minf, i, e.dinf(), e.stbl(t)) ); }), (e.dinf = function () { return e.box(e.types.dinf, e.box(e.types.dref, e.constants.DREF)); }), (e.stbl = function (t) { return e.box( e.types.stbl, e.stsd(t), e.box(e.types.stts, e.constants.STTS), e.box(e.types.stsc, e.constants.STSC), e.box(e.types.stsz, e.constants.STSZ), e.box(e.types.stco, e.constants.STCO) ); }), (e.stsd = function (t) { return "audio" === t.type ? "mp3" === t.codec ? e.box(e.types.stsd, e.constants.STSD_PREFIX, e.mp3(t)) : e.box(e.types.stsd, e.constants.STSD_PREFIX, e.mp4a(t)) : e.box(e.types.stsd, e.constants.STSD_PREFIX, e.avc1(t)); }), (e.mp3 = function (t) { var i = t.channelCount, n = t.audioSampleRate, r = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, i, 0, 16, 0, 0, 0, 0, (n >>> 8) & 255, 255 & n, 0, 0]); return e.box(e.types[".mp3"], r); }), (e.mp4a = function (t) { var i = t.channelCount, n = t.audioSampleRate, r = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, i, 0, 16, 0, 0, 0, 0, (n >>> 8) & 255, 255 & n, 0, 0]); return e.box(e.types.mp4a, r, e.esds(t)); }), (e.esds = function (t) { var i = t.config || [], n = i.length, r = new Uint8Array( [0, 0, 0, 0, 3, 23 + n, 0, 1, 0, 4, 15 + n, 64, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5].concat([n]).concat(i).concat([6, 1, 2]) ); return e.box(e.types.esds, r); }), (e.avc1 = function (t) { var i = t.avcc, n = t.codecWidth, r = t.codecHeight, s = 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, (n >>> 8) & 255, 255 & n, (r >>> 8) & 255, 255 & r, 0, 72, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 1, 10, 120, 113, 113, 47, 102, 108, 118, 46, 106, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 255, 255, ]); return e.box(e.types.avc1, s, e.box(e.types.avcC, i)); }), (e.mvex = function (t) { return e.box(e.types.mvex, e.trex(t)); }), (e.trex = function (t) { var i = t.id, n = new Uint8Array([ 0, 0, 0, 0, (i >>> 24) & 255, (i >>> 16) & 255, (i >>> 8) & 255, 255 & i, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, ]); return e.box(e.types.trex, n); }), (e.moof = function (t, i) { return e.box(e.types.moof, e.mfhd(t.sequenceNumber), e.traf(t, i)); }), (e.mfhd = function (t) { var i = new Uint8Array([0, 0, 0, 0, (t >>> 24) & 255, (t >>> 16) & 255, (t >>> 8) & 255, 255 & t]); return e.box(e.types.mfhd, i); }), (e.traf = function (t, i) { var n = t.id, r = e.box(e.types.tfhd, new Uint8Array([0, 0, 0, 0, (n >>> 24) & 255, (n >>> 16) & 255, (n >>> 8) & 255, 255 & n])), s = e.box(e.types.tfdt, new Uint8Array([0, 0, 0, 0, (i >>> 24) & 255, (i >>> 16) & 255, (i >>> 8) & 255, 255 & i])), o = e.sdtp(t), a = e.trun(t, o.byteLength + 16 + 16 + 8 + 16 + 8 + 8); return e.box(e.types.traf, r, s, a, o); }), (e.sdtp = function (t) { for (var i = t.samples || [], n = i.length, r = new Uint8Array(4 + n), s = 0; s < n; s++) { var o = i[s].flags; r[s + 4] = (o.isLeading << 6) | (o.dependsOn << 4) | (o.isDependedOn << 2) | o.hasRedundancy; } return e.box(e.types.sdtp, r); }), (e.trun = function (t, i) { var n = t.samples || [], r = n.length, s = 12 + 16 * r, o = new Uint8Array(s); (i += 8 + s), o.set( [ 0, 0, 15, 1, (r >>> 24) & 255, (r >>> 16) & 255, (r >>> 8) & 255, 255 & r, (i >>> 24) & 255, (i >>> 16) & 255, (i >>> 8) & 255, 255 & i, ], 0 ); for (var a = 0; a < r; a++) { var h = n[a].duration, u = n[a].size, l = n[a].flags, d = n[a].cts; o.set( [ (h >>> 24) & 255, (h >>> 16) & 255, (h >>> 8) & 255, 255 & h, (u >>> 24) & 255, (u >>> 16) & 255, (u >>> 8) & 255, 255 & u, (l.isLeading << 2) | l.dependsOn, (l.isDependedOn << 6) | (l.hasRedundancy << 4) | l.isNonSync, 0, 0, (d >>> 24) & 255, (d >>> 16) & 255, (d >>> 8) & 255, 255 & d, ], 12 + 16 * a ); } return e.box(e.types.trun, o); }), (e.mdat = function (t) { return e.box(e.types.mdat, t); }), e ); })(); v.init(); var y = v, b = (function () { function e() {} return ( (e.getSilentFrame = function (e, t) { if ("mp4a.40.2" === e) { if (1 === t) return new Uint8Array([0, 200, 0, 128, 35, 128]); if (2 === t) return new Uint8Array([33, 0, 73, 144, 2, 25, 0, 35, 128]); if (3 === t) return new Uint8Array([0, 200, 0, 128, 32, 132, 1, 38, 64, 8, 100, 0, 142]); if (4 === t) return new Uint8Array([0, 200, 0, 128, 32, 132, 1, 38, 64, 8, 100, 0, 128, 44, 128, 8, 2, 56]); if (5 === t) return new Uint8Array([0, 200, 0, 128, 32, 132, 1, 38, 64, 8, 100, 0, 130, 48, 4, 153, 0, 33, 144, 2, 56]); if (6 === t) return new Uint8Array([0, 200, 0, 128, 32, 132, 1, 38, 64, 8, 100, 0, 130, 48, 4, 153, 0, 33, 144, 2, 0, 178, 0, 32, 8, 224]); } else { if (1 === t) return new Uint8Array([ 1, 64, 34, 128, 163, 78, 230, 128, 186, 8, 0, 0, 0, 28, 6, 241, 193, 10, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 94, ]); if (2 === t) return new Uint8Array([ 1, 64, 34, 128, 163, 94, 230, 128, 186, 8, 0, 0, 0, 0, 149, 0, 6, 241, 161, 10, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 94, ]); if (3 === t) return new Uint8Array([ 1, 64, 34, 128, 163, 94, 230, 128, 186, 8, 0, 0, 0, 0, 149, 0, 6, 241, 161, 10, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 94, ]); } return null; }), e ); })(), E = i(51), S = (function () { function e(e) { (this.TAG = "MP4Remuxer"), (this._config = e), (this._isLive = !0 === e.isLive), (this._dtsBase = -1), (this._dtsBaseInited = !1), (this._audioDtsBase = 1 / 0), (this._videoDtsBase = 1 / 0), (this._audioNextDts = void 0), (this._videoNextDts = void 0), (this._audioStashedLastSample = null), (this._videoStashedLastSample = null), (this._audioMeta = null), (this._videoMeta = null), (this._audioSegmentInfoList = new E.J1("audio")), (this._videoSegmentInfoList = new E.J1("video")), (this._onInitSegment = null), (this._onMediaSegment = null), (this._forceFirstIDR = !(!o.Z.chrome || !(o.Z.version.major < 50 || (50 === o.Z.version.major && o.Z.version.build < 2661)))), (this._fillSilentAfterSeek = o.Z.msedge || o.Z.msie), (this._mp3UseMpegAudio = !o.Z.firefox), (this._fillAudioTimestampGap = this._config.fixAudioTimestampGap); } return ( (e.prototype.destroy = function () { (this._dtsBase = -1), (this._dtsBaseInited = !1), (this._audioMeta = null), (this._videoMeta = null), this._audioSegmentInfoList.clear(), (this._audioSegmentInfoList = null), this._videoSegmentInfoList.clear(), (this._videoSegmentInfoList = null), (this._onInitSegment = null), (this._onMediaSegment = null); }), (e.prototype.bindDataSource = function (e) { return (e.onDataAvailable = this.remux.bind(this)), (e.onTrackMetadata = this._onTrackMetadataReceived.bind(this)), this; }), Object.defineProperty(e.prototype, "onInitSegment", { get: function () { return this._onInitSegment; }, set: function (e) { this._onInitSegment = e; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "onMediaSegment", { get: function () { return this._onMediaSegment; }, set: function (e) { this._onMediaSegment = e; }, enumerable: !1, configurable: !0, }), (e.prototype.insertDiscontinuity = function () { this._audioNextDts = this._videoNextDts = void 0; }), (e.prototype.seek = function (e) { (this._audioStashedLastSample = null), (this._videoStashedLastSample = null), this._videoSegmentInfoList.clear(), this._audioSegmentInfoList.clear(); }), (e.prototype.remux = function (e, t) { if (!this._onMediaSegment) throw new d.rT("MP4Remuxer: onMediaSegment callback must be specificed!"); this._dtsBaseInited || this._calculateDtsBase(e, t), this._remuxVideo(t), this._remuxAudio(e); }), (e.prototype._onTrackMetadataReceived = function (e, t) { var i = null, n = "mp4", r = t.codec; if ("audio" === e) (this._audioMeta = t), "mp3" === t.codec && this._mp3UseMpegAudio ? ((n = "mpeg"), (r = ""), (i = new Uint8Array())) : (i = y.generateInitSegment(t)); else { if ("video" !== e) return; (this._videoMeta = t), (i = y.generateInitSegment(t)); } if (!this._onInitSegment) throw new d.rT("MP4Remuxer: onInitSegment callback must be specified!"); this._onInitSegment(e, { type: e, data: i.buffer, codec: r, container: e + "/" + n, mediaDuration: t.duration }); }), (e.prototype._calculateDtsBase = function (e, t) { this._dtsBaseInited || (e.samples && e.samples.length && (this._audioDtsBase = e.samples[0].dts), t.samples && t.samples.length && (this._videoDtsBase = t.samples[0].dts), (this._dtsBase = Math.min(this._audioDtsBase, this._videoDtsBase)), (this._dtsBaseInited = !0)); }), (e.prototype.flushStashedSamples = function () { var e = this._videoStashedLastSample, t = this._audioStashedLastSample, i = { type: "video", id: 1, sequenceNumber: 0, samples: [], length: 0 }; null != e && (i.samples.push(e), (i.length = e.length)); var n = { type: "audio", id: 2, sequenceNumber: 0, samples: [], length: 0 }; null != t && (n.samples.push(t), (n.length = t.length)), (this._videoStashedLastSample = null), (this._audioStashedLastSample = null), this._remuxVideo(i, !0), this._remuxAudio(n, !0); }), (e.prototype._remuxAudio = function (e, t) { if (null != this._audioMeta) { var i, n = e, r = n.samples, a = void 0, h = -1, u = this._audioMeta.refSampleDuration, l = "mp3" === this._audioMeta.codec && this._mp3UseMpegAudio, d = this._dtsBaseInited && void 0 === this._audioNextDts, c = !1; if (r && 0 !== r.length && (1 !== r.length || t)) { var f = 0, _ = null, p = 0; l ? ((f = 0), (p = n.length)) : ((f = 8), (p = 8 + n.length)); var m = null; if ((r.length > 1 && (p -= (m = r.pop()).length), null != this._audioStashedLastSample)) { var g = this._audioStashedLastSample; (this._audioStashedLastSample = null), r.unshift(g), (p += g.length); } null != m && (this._audioStashedLastSample = m); var v = r[0].dts - this._dtsBase; if (this._audioNextDts) a = v - this._audioNextDts; else if (this._audioSegmentInfoList.isEmpty()) (a = 0), this._fillSilentAfterSeek && !this._videoSegmentInfoList.isEmpty() && "mp3" !== this._audioMeta.originalCodec && (c = !0); else { var S = this._audioSegmentInfoList.getLastSampleBefore(v); if (null != S) { var A = v - (S.originalDts + S.duration); A <= 3 && (A = 0), (a = v - (S.dts + S.duration + A)); } else a = 0; } if (c) { var L = v - a, R = this._videoSegmentInfoList.getLastSegmentBefore(v); if (null != R && R.beginDts < L) { if ((P = b.getSilentFrame(this._audioMeta.originalCodec, this._audioMeta.channelCount))) { var w = R.beginDts, O = L - R.beginDts; s.Z.v(this.TAG, "InsertPrefixSilentAudio: dts: " + w + ", duration: " + O), r.unshift({ unit: P, dts: w, pts: w }), (p += P.byteLength); } } else c = !1; } for (var T = [], C = 0; C < r.length; C++) { var k = (g = r[C]).unit, D = g.dts - this._dtsBase, I = ((w = D), !1), M = null, B = 0; if (!(D < -0.001)) { if ("mp3" !== this._audioMeta.codec) { var x = D; if ((this._audioNextDts && (x = this._audioNextDts), (a = D - x) <= -3 * u)) { s.Z.w( this.TAG, "Dropping 1 audio frame (originalDts: " + D + " ms ,curRefDts: " + x + " ms) due to dtsCorrection: " + a + " ms overlap." ); continue; } if (a >= 3 * u && this._fillAudioTimestampGap && !o.Z.safari) { I = !0; var P, U = Math.floor(a / u); s.Z.w( this.TAG, "Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.\noriginalDts: " + D + " ms, curRefDts: " + x + " ms, dtsCorrection: " + Math.round(a) + " ms, generate: " + U + " frames" ), (w = Math.floor(x)), (B = Math.floor(x + u) - w), null == (P = b.getSilentFrame(this._audioMeta.originalCodec, this._audioMeta.channelCount)) && (s.Z.w( this.TAG, "Unable to generate silent frame for " + this._audioMeta.originalCodec + " with " + this._audioMeta.channelCount + " channels, repeat last frame" ), (P = k)), (M = []); for (var N = 0; N < U; N++) { x += u; var Z = Math.floor(x), F = Math.floor(x + u) - Z, G = { dts: Z, pts: Z, cts: 0, unit: P, size: P.byteLength, duration: F, originalDts: D, flags: { isLeading: 0, dependsOn: 1, isDependedOn: 0, hasRedundancy: 0 }, }; M.push(G), (p += G.size); } this._audioNextDts = x + u; } else (w = Math.floor(x)), (B = Math.floor(x + u) - w), (this._audioNextDts = x + u); } else { if (((w = D - a), C !== r.length - 1)) B = r[C + 1].dts - this._dtsBase - a - w; else if (null != m) B = m.dts - this._dtsBase - a - w; else B = T.length >= 1 ? T[T.length - 1].duration : Math.floor(u); this._audioNextDts = w + B; } -1 === h && (h = w), T.push({ dts: w, pts: w, cts: 0, unit: g.unit, size: g.unit.byteLength, duration: B, originalDts: D, flags: { isLeading: 0, dependsOn: 1, isDependedOn: 0, hasRedundancy: 0 }, }), I && T.push.apply(T, M); } } if (0 === T.length) return (n.samples = []), void (n.length = 0); l ? (_ = new Uint8Array(p)) : (((_ = new Uint8Array(p))[0] = (p >>> 24) & 255), (_[1] = (p >>> 16) & 255), (_[2] = (p >>> 8) & 255), (_[3] = 255 & p), _.set(y.types.mdat, 4)); for (C = 0; C < T.length; C++) { k = T[C].unit; _.set(k, f), (f += k.byteLength); } var j = T[T.length - 1]; i = j.dts + j.duration; var V = new E.Yy(); (V.beginDts = h), (V.endDts = i), (V.beginPts = h), (V.endPts = i), (V.originalBeginDts = T[0].originalDts), (V.originalEndDts = j.originalDts + j.duration), (V.firstSample = new E.Wk(T[0].dts, T[0].pts, T[0].duration, T[0].originalDts, !1)), (V.lastSample = new E.Wk(j.dts, j.pts, j.duration, j.originalDts, !1)), this._isLive || this._audioSegmentInfoList.append(V), (n.samples = T), n.sequenceNumber++; var z = null; (z = l ? new Uint8Array() : y.moof(n, h)), (n.samples = []), (n.length = 0); var K = { type: "audio", data: this._mergeBoxes(z, _).buffer, sampleCount: T.length, info: V }; l && d && (K.timestampOffset = h), this._onMediaSegment("audio", K); } } }), (e.prototype._remuxVideo = function (e, t) { if (null != this._videoMeta) { var i, n, r = e, s = r.samples, o = void 0, a = -1, h = -1; if (s && 0 !== s.length && (1 !== s.length || t)) { var u = 8, l = null, d = 8 + e.length, c = null; if ((s.length > 1 && (d -= (c = s.pop()).length), null != this._videoStashedLastSample)) { var f = this._videoStashedLastSample; (this._videoStashedLastSample = null), s.unshift(f), (d += f.length); } null != c && (this._videoStashedLastSample = c); var _ = s[0].dts - this._dtsBase; if (this._videoNextDts) o = _ - this._videoNextDts; else if (this._videoSegmentInfoList.isEmpty()) o = 0; else { var p = this._videoSegmentInfoList.getLastSampleBefore(_); if (null != p) { var m = _ - (p.originalDts + p.duration); m <= 3 && (m = 0), (o = _ - (p.dts + p.duration + m)); } else o = 0; } for (var g = new E.Yy(), v = [], b = 0; b < s.length; b++) { var S = (f = s[b]).dts - this._dtsBase, A = f.isKeyframe, L = S - o, R = f.cts, w = L + R; -1 === a && ((a = L), (h = w)); var O = 0; if (b !== s.length - 1) O = s[b + 1].dts - this._dtsBase - o - L; else if (null != c) O = c.dts - this._dtsBase - o - L; else O = v.length >= 1 ? v[v.length - 1].duration : Math.floor(this._videoMeta.refSampleDuration); if (A) { var T = new E.Wk(L, w, O, f.dts, !0); (T.fileposition = f.fileposition), g.appendSyncPoint(T); } v.push({ dts: L, pts: w, cts: R, units: f.units, size: f.length, isKeyframe: A, duration: O, originalDts: S, flags: { isLeading: 0, dependsOn: A ? 2 : 1, isDependedOn: A ? 1 : 0, hasRedundancy: 0, isNonSync: A ? 0 : 1 }, }); } ((l = new Uint8Array(d))[0] = (d >>> 24) & 255), (l[1] = (d >>> 16) & 255), (l[2] = (d >>> 8) & 255), (l[3] = 255 & d), l.set(y.types.mdat, 4); for (b = 0; b < v.length; b++) for (var C = v[b].units; C.length; ) { var k = C.shift().data; l.set(k, u), (u += k.byteLength); } var D = v[v.length - 1]; if ( ((i = D.dts + D.duration), (n = D.pts + D.duration), (this._videoNextDts = i), (g.beginDts = a), (g.endDts = i), (g.beginPts = h), (g.endPts = n), (g.originalBeginDts = v[0].originalDts), (g.originalEndDts = D.originalDts + D.duration), (g.firstSample = new E.Wk(v[0].dts, v[0].pts, v[0].duration, v[0].originalDts, v[0].isKeyframe)), (g.lastSample = new E.Wk(D.dts, D.pts, D.duration, D.originalDts, D.isKeyframe)), this._isLive || this._videoSegmentInfoList.append(g), (r.samples = v), r.sequenceNumber++, this._forceFirstIDR) ) { var I = v[0].flags; (I.dependsOn = 2), (I.isNonSync = 0); } var M = y.moof(r, a); (r.samples = []), (r.length = 0), this._onMediaSegment("video", { type: "video", data: this._mergeBoxes(M, l).buffer, sampleCount: v.length, info: g }); } } }), (e.prototype._mergeBoxes = function (e, t) { var i = new Uint8Array(e.byteLength + t.byteLength); return i.set(e, 0), i.set(t, e.byteLength), i; }), e ); })(), A = i(191), L = i(257), R = (function () { function e(e, t) { (this.TAG = "TransmuxingController"), (this._emitter = new (r())()), (this._config = t), e.segments || (e.segments = [{ duration: e.duration, filesize: e.filesize, url: e.url }]), "boolean" != typeof e.cors && (e.cors = !0), "boolean" != typeof e.withCredentials && (e.withCredentials = !1), (this._mediaDataSource = e), (this._currentSegmentIndex = 0); var i = 0; this._mediaDataSource.segments.forEach(function (n) { (n.timestampBase = i), (i += n.duration), (n.cors = e.cors), (n.withCredentials = e.withCredentials), t.referrerPolicy && (n.referrerPolicy = t.referrerPolicy); }), isNaN(i) || this._mediaDataSource.duration === i || (this._mediaDataSource.duration = i), (this._mediaInfo = null), (this._demuxer = null), (this._remuxer = null), (this._ioctl = null), (this._pendingSeekTime = null), (this._pendingResolveSeekPoint = null), (this._statisticsReporter = null); } return ( (e.prototype.destroy = function () { (this._mediaInfo = null), (this._mediaDataSource = null), this._statisticsReporter && this._disableStatisticsReporter(), this._ioctl && (this._ioctl.destroy(), (this._ioctl = null)), this._demuxer && (this._demuxer.destroy(), (this._demuxer = null)), this._remuxer && (this._remuxer.destroy(), (this._remuxer = null)), this._emitter.removeAllListeners(), (this._emitter = null); }), (e.prototype.on = function (e, t) { this._emitter.addListener(e, t); }), (e.prototype.off = function (e, t) { this._emitter.removeListener(e, t); }), (e.prototype.start = function () { this._loadSegment(0), this._enableStatisticsReporter(); }), (e.prototype._loadSegment = function (e, t) { this._currentSegmentIndex = e; var i = this._mediaDataSource.segments[e], n = (this._ioctl = new A.Z(i, this._config, e)); (n.onError = this._onIOException.bind(this)), (n.onSeeked = this._onIOSeeked.bind(this)), (n.onComplete = this._onIOComplete.bind(this)), (n.onRedirect = this._onIORedirect.bind(this)), (n.onRecoveredEarlyEof = this._onIORecoveredEarlyEof.bind(this)), t ? this._demuxer.bindDataSource(this._ioctl) : (n.onDataArrival = this._onInitChunkArrival.bind(this)), n.open(t); }), (e.prototype.stop = function () { this._internalAbort(), this._disableStatisticsReporter(); }), (e.prototype._internalAbort = function () { this._ioctl && (this._ioctl.destroy(), (this._ioctl = null)); }), (e.prototype.pause = function () { this._ioctl && this._ioctl.isWorking() && (this._ioctl.pause(), this._disableStatisticsReporter()); }), (e.prototype.resume = function () { this._ioctl && this._ioctl.isPaused() && (this._ioctl.resume(), this._enableStatisticsReporter()); }), (e.prototype.seek = function (e) { if (null != this._mediaInfo && this._mediaInfo.isSeekable()) { var t = this._searchSegmentIndexContains(e); if (t === this._currentSegmentIndex) { var i = this._mediaInfo.segments[t]; if (null == i) this._pendingSeekTime = e; else { var n = i.getNearestKeyframe(e); this._remuxer.seek(n.milliseconds), this._ioctl.seek(n.fileposition), (this._pendingResolveSeekPoint = n.milliseconds); } } else { var r = this._mediaInfo.segments[t]; if (null == r) (this._pendingSeekTime = e), this._internalAbort(), this._remuxer.seek(), this._remuxer.insertDiscontinuity(), this._loadSegment(t); else { n = r.getNearestKeyframe(e); this._internalAbort(), this._remuxer.seek(e), this._remuxer.insertDiscontinuity(), this._demuxer.resetMediaInfo(), (this._demuxer.timestampBase = this._mediaDataSource.segments[t].timestampBase), this._loadSegment(t, n.fileposition), (this._pendingResolveSeekPoint = n.milliseconds), this._reportSegmentMediaInfo(t); } } this._enableStatisticsReporter(); } }), (e.prototype._searchSegmentIndexContains = function (e) { for (var t = this._mediaDataSource.segments, i = t.length - 1, n = 0; n < t.length; n++) if (e < t[n].timestampBase) { i = n - 1; break; } return i; }), (e.prototype._onInitChunkArrival = function (e, t) { var i = this, n = null, r = 0; if (t > 0) this._demuxer.bindDataSource(this._ioctl), (this._demuxer.timestampBase = this._mediaDataSource.segments[this._currentSegmentIndex].timestampBase), (r = this._demuxer.parseChunks(e, t)); else if ((n = g.probe(e)).match) { (this._demuxer = new g(n, this._config)), this._remuxer || (this._remuxer = new S(this._config)); var o = this._mediaDataSource; null == o.duration || isNaN(o.duration) || (this._demuxer.overridedDuration = o.duration), "boolean" == typeof o.hasAudio && (this._demuxer.overridedHasAudio = o.hasAudio), "boolean" == typeof o.hasVideo && (this._demuxer.overridedHasVideo = o.hasVideo), (this._demuxer.timestampBase = o.segments[this._currentSegmentIndex].timestampBase), (this._demuxer.onError = this._onDemuxException.bind(this)), (this._demuxer.onMediaInfo = this._onMediaInfo.bind(this)), (this._demuxer.onMetaDataArrived = this._onMetaDataArrived.bind(this)), (this._demuxer.onScriptDataArrived = this._onScriptDataArrived.bind(this)), this._remuxer.bindDataSource(this._demuxer.bindDataSource(this._ioctl)), (this._remuxer.onInitSegment = this._onRemuxerInitSegmentArrival.bind(this)), (this._remuxer.onMediaSegment = this._onRemuxerMediaSegmentArrival.bind(this)), (r = this._demuxer.parseChunks(e, t)); } else (n = null), s.Z.e(this.TAG, "Non-FLV, Unsupported media type!"), Promise.resolve().then(function () { i._internalAbort(); }), this._emitter.emit(L.Z.DEMUX_ERROR, m.Z.FORMAT_UNSUPPORTED, "Non-FLV, Unsupported media type"), (r = 0); return r; }), (e.prototype._onMediaInfo = function (e) { var t = this; null == this._mediaInfo && ((this._mediaInfo = Object.assign({}, e)), (this._mediaInfo.keyframesIndex = null), (this._mediaInfo.segments = []), (this._mediaInfo.segmentCount = this._mediaDataSource.segments.length), Object.setPrototypeOf(this._mediaInfo, a.Z.prototype)); var i = Object.assign({}, e); Object.setPrototypeOf(i, a.Z.prototype), (this._mediaInfo.segments[this._currentSegmentIndex] = i), this._reportSegmentMediaInfo(this._currentSegmentIndex), null != this._pendingSeekTime && Promise.resolve().then(function () { var e = t._pendingSeekTime; (t._pendingSeekTime = null), t.seek(e); }); }), (e.prototype._onMetaDataArrived = function (e) { this._emitter.emit(L.Z.METADATA_ARRIVED, e); }), (e.prototype._onScriptDataArrived = function (e) { this._emitter.emit(L.Z.SCRIPTDATA_ARRIVED, e); }), (e.prototype._onIOSeeked = function () { this._remuxer.insertDiscontinuity(); }), (e.prototype._onIOComplete = function (e) { var t = e + 1; t < this._mediaDataSource.segments.length ? (this._internalAbort(), this._remuxer.flushStashedSamples(), this._loadSegment(t)) : (this._remuxer.flushStashedSamples(), this._emitter.emit(L.Z.LOADING_COMPLETE), this._disableStatisticsReporter()); }), (e.prototype._onIORedirect = function (e) { var t = this._ioctl.extraData; this._mediaDataSource.segments[t].redirectedURL = e; }), (e.prototype._onIORecoveredEarlyEof = function () { this._emitter.emit(L.Z.RECOVERED_EARLY_EOF); }), (e.prototype._onIOException = function (e, t) { s.Z.e(this.TAG, "IOException: type = " + e + ", code = " + t.code + ", msg = " + t.msg), this._emitter.emit(L.Z.IO_ERROR, e, t), this._disableStatisticsReporter(); }), (e.prototype._onDemuxException = function (e, t) { s.Z.e(this.TAG, "DemuxException: type = " + e + ", info = " + t), this._emitter.emit(L.Z.DEMUX_ERROR, e, t); }), (e.prototype._onRemuxerInitSegmentArrival = function (e, t) { this._emitter.emit(L.Z.INIT_SEGMENT, e, t); }), (e.prototype._onRemuxerMediaSegmentArrival = function (e, t) { if ( null == this._pendingSeekTime && (this._emitter.emit(L.Z.MEDIA_SEGMENT, e, t), null != this._pendingResolveSeekPoint && "video" === e) ) { var i = t.info.syncPoints, n = this._pendingResolveSeekPoint; (this._pendingResolveSeekPoint = null), o.Z.safari && i.length > 0 && i[0].originalDts === n && (n = i[0].pts), this._emitter.emit(L.Z.RECOMMEND_SEEKPOINT, n); } }), (e.prototype._enableStatisticsReporter = function () { null == this._statisticsReporter && (this._statisticsReporter = self.setInterval(this._reportStatisticsInfo.bind(this), this._config.statisticsInfoReportInterval)); }), (e.prototype._disableStatisticsReporter = function () { this._statisticsReporter && (self.clearInterval(this._statisticsReporter), (this._statisticsReporter = null)); }), (e.prototype._reportSegmentMediaInfo = function (e) { var t = this._mediaInfo.segments[e], i = Object.assign({}, t); (i.duration = this._mediaInfo.duration), (i.segmentCount = this._mediaInfo.segmentCount), delete i.segments, delete i.keyframesIndex, this._emitter.emit(L.Z.MEDIA_INFO, i); }), (e.prototype._reportStatisticsInfo = function () { var e = {}; (e.url = this._ioctl.currentURL), (e.hasRedirect = this._ioctl.hasRedirect), e.hasRedirect && (e.redirectedURL = this._ioctl.currentRedirectedURL), (e.speed = this._ioctl.currentSpeed), (e.loaderType = this._ioctl.loaderType), (e.currentSegmentIndex = this._currentSegmentIndex), (e.totalSegmentCount = this._mediaDataSource.segments.length), this._emitter.emit(L.Z.STATISTICS_INFO, e); }), e ); })(); }, 257: function (e, t) { "use strict"; t.Z = { IO_ERROR: "io_error", DEMUX_ERROR: "demux_error", INIT_SEGMENT: "init_segment", MEDIA_SEGMENT: "media_segment", LOADING_COMPLETE: "loading_complete", RECOVERED_EARLY_EOF: "recovered_early_eof", MEDIA_INFO: "media_info", METADATA_ARRIVED: "metadata_arrived", SCRIPTDATA_ARRIVED: "scriptdata_arrived", STATISTICS_INFO: "statistics_info", RECOMMEND_SEEKPOINT: "recommend_seekpoint", }; }, 82: function (e, t, i) { "use strict"; i(846), i(219), i(949), i(257); }, 600: function (e, t) { "use strict"; t.Z = { OK: "OK", FORMAT_ERROR: "FormatError", FORMAT_UNSUPPORTED: "FormatUnsupported", CODEC_UNSUPPORTED: "CodecUnsupported" }; }, 60: function (e, t, i) { "use strict"; i.d(t, { default: function () { return D; }, }); var n = i(219), r = i(191), s = { enableWorker: !1, enableStashBuffer: !0, stashInitialSize: void 0, isLive: !1, lazyLoad: !0, lazyLoadMaxDuration: 180, lazyLoadRecoverDuration: 30, deferLoadAfterSourceOpen: !0, autoCleanupMaxBackwardDuration: 180, autoCleanupMinBackwardDuration: 120, statisticsInfoReportInterval: 600, fixAudioTimestampGap: !0, accurateSeek: !1, seekType: "range", seekParamStart: "bstart", seekParamEnd: "bend", rangeLoadZeroStart: !1, customSeekHandler: void 0, reuseRedirectedURL: !1, headers: void 0, customLoader: void 0, }; function o() { return Object.assign({}, s); } var a = (function () { function e() {} return ( (e.supportMSEH264Playback = function () { return window.MediaSource && window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"'); }), (e.supportNetworkStreamIO = function () { var e = new r.Z({}, o()), t = e.loaderType; return e.destroy(), "fetch-stream-loader" == t || "xhr-moz-chunked-loader" == t; }), (e.getNetworkLoaderTypeName = function () { var e = new r.Z({}, o()), t = e.loaderType; return e.destroy(), t; }), (e.supportNativeMediaPlayback = function (t) { null == e.videoElement && (e.videoElement = window.document.createElement("video")); var i = e.videoElement.canPlayType(t); return "probably" === i || "maybe" == i; }), (e.getFeatureList = function () { var t = { mseFlvPlayback: !1, mseLiveFlvPlayback: !1, networkStreamIO: !1, networkLoaderName: "", nativeMP4H264Playback: !1, nativeWebmVP8Playback: !1, nativeWebmVP9Playback: !1, }; return ( (t.mseFlvPlayback = e.supportMSEH264Playback()), (t.networkStreamIO = e.supportNetworkStreamIO()), (t.networkLoaderName = e.getNetworkLoaderTypeName()), (t.mseLiveFlvPlayback = t.mseFlvPlayback && t.networkStreamIO), (t.nativeMP4H264Playback = e.supportNativeMediaPlayback('video/mp4; codecs="avc1.42001E, mp4a.40.2"')), (t.nativeWebmVP8Playback = e.supportNativeMediaPlayback('video/webm; codecs="vp8.0, vorbis"')), (t.nativeWebmVP9Playback = e.supportNativeMediaPlayback('video/webm; codecs="vp9"')), t ); }), e ); })(), h = i(939), u = i(716), l = i.n(u), d = i(300), c = i(538), f = { ERROR: "error", LOADING_COMPLETE: "loading_complete", RECOVERED_EARLY_EOF: "recovered_early_eof", MEDIA_INFO: "media_info", METADATA_ARRIVED: "metadata_arrived", SCRIPTDATA_ARRIVED: "scriptdata_arrived", STATISTICS_INFO: "statistics_info", }, _ = i(397), p = i.n(_), m = i(846), g = i(949), v = i(257), y = i(118), b = (function () { function e(e, t) { if (((this.TAG = "Transmuxer"), (this._emitter = new (l())()), t.enableWorker && "undefined" != typeof Worker)) try { (this._worker = p()(82)), (this._workerDestroying = !1), this._worker.addEventListener("message", this._onWorkerMessage.bind(this)), this._worker.postMessage({ cmd: "init", param: [e, t] }), (this.e = { onLoggingConfigChanged: this._onLoggingConfigChanged.bind(this) }), m.Z.registerListener(this.e.onLoggingConfigChanged), this._worker.postMessage({ cmd: "logging_config", param: m.Z.getConfig() }); } catch (i) { d.Z.e(this.TAG, "Error while initialize transmuxing worker, fallback to inline transmuxing"), (this._worker = null), (this._controller = new g.Z(e, t)); } else this._controller = new g.Z(e, t); if (this._controller) { var i = this._controller; i.on(v.Z.IO_ERROR, this._onIOError.bind(this)), i.on(v.Z.DEMUX_ERROR, this._onDemuxError.bind(this)), i.on(v.Z.INIT_SEGMENT, this._onInitSegment.bind(this)), i.on(v.Z.MEDIA_SEGMENT, this._onMediaSegment.bind(this)), i.on(v.Z.LOADING_COMPLETE, this._onLoadingComplete.bind(this)), i.on(v.Z.RECOVERED_EARLY_EOF, this._onRecoveredEarlyEof.bind(this)), i.on(v.Z.MEDIA_INFO, this._onMediaInfo.bind(this)), i.on(v.Z.METADATA_ARRIVED, this._onMetaDataArrived.bind(this)), i.on(v.Z.SCRIPTDATA_ARRIVED, this._onScriptDataArrived.bind(this)), i.on(v.Z.STATISTICS_INFO, this._onStatisticsInfo.bind(this)), i.on(v.Z.RECOMMEND_SEEKPOINT, this._onRecommendSeekpoint.bind(this)); } } return ( (e.prototype.destroy = function () { this._worker ? this._workerDestroying || ((this._workerDestroying = !0), this._worker.postMessage({ cmd: "destroy" }), m.Z.removeListener(this.e.onLoggingConfigChanged), (this.e = null)) : (this._controller.destroy(), (this._controller = null)), this._emitter.removeAllListeners(), (this._emitter = null); }), (e.prototype.on = function (e, t) { this._emitter.addListener(e, t); }), (e.prototype.off = function (e, t) { this._emitter.removeListener(e, t); }), (e.prototype.hasWorker = function () { return null != this._worker; }), (e.prototype.open = function () { this._worker ? this._worker.postMessage({ cmd: "start" }) : this._controller.start(); }), (e.prototype.close = function () { this._worker ? this._worker.postMessage({ cmd: "stop" }) : this._controller.stop(); }), (e.prototype.seek = function (e) { this._worker ? this._worker.postMessage({ cmd: "seek", param: e }) : this._controller.seek(e); }), (e.prototype.pause = function () { this._worker ? this._worker.postMessage({ cmd: "pause" }) : this._controller.pause(); }), (e.prototype.resume = function () { this._worker ? this._worker.postMessage({ cmd: "resume" }) : this._controller.resume(); }), (e.prototype._onInitSegment = function (e, t) { var i = this; Promise.resolve().then(function () { i._emitter.emit(v.Z.INIT_SEGMENT, e, t); }); }), (e.prototype._onMediaSegment = function (e, t) { var i = this; Promise.resolve().then(function () { i._emitter.emit(v.Z.MEDIA_SEGMENT, e, t); }); }), (e.prototype._onLoadingComplete = function () { var e = this; Promise.resolve().then(function () { e._emitter.emit(v.Z.LOADING_COMPLETE); }); }), (e.prototype._onRecoveredEarlyEof = function () { var e = this; Promise.resolve().then(function () { e._emitter.emit(v.Z.RECOVERED_EARLY_EOF); }); }), (e.prototype._onMediaInfo = function (e) { var t = this; Promise.resolve().then(function () { t._emitter.emit(v.Z.MEDIA_INFO, e); }); }), (e.prototype._onMetaDataArrived = function (e) { var t = this; Promise.resolve().then(function () { t._emitter.emit(v.Z.METADATA_ARRIVED, e); }); }), (e.prototype._onScriptDataArrived = function (e) { var t = this; Promise.resolve().then(function () { t._emitter.emit(v.Z.SCRIPTDATA_ARRIVED, e); }); }), (e.prototype._onStatisticsInfo = function (e) { var t = this; Promise.resolve().then(function () { t._emitter.emit(v.Z.STATISTICS_INFO, e); }); }), (e.prototype._onIOError = function (e, t) { var i = this; Promise.resolve().then(function () { i._emitter.emit(v.Z.IO_ERROR, e, t); }); }), (e.prototype._onDemuxError = function (e, t) { var i = this; Promise.resolve().then(function () { i._emitter.emit(v.Z.DEMUX_ERROR, e, t); }); }), (e.prototype._onRecommendSeekpoint = function (e) { var t = this; Promise.resolve().then(function () { t._emitter.emit(v.Z.RECOMMEND_SEEKPOINT, e); }); }), (e.prototype._onLoggingConfigChanged = function (e) { this._worker && this._worker.postMessage({ cmd: "logging_config", param: e }); }), (e.prototype._onWorkerMessage = function (e) { var t = e.data, i = t.data; if ("destroyed" === t.msg || this._workerDestroying) return (this._workerDestroying = !1), this._worker.terminate(), void (this._worker = null); switch (t.msg) { case v.Z.INIT_SEGMENT: case v.Z.MEDIA_SEGMENT: this._emitter.emit(t.msg, i.type, i.data); break; case v.Z.LOADING_COMPLETE: case v.Z.RECOVERED_EARLY_EOF: this._emitter.emit(t.msg); break; case v.Z.MEDIA_INFO: Object.setPrototypeOf(i, y.Z.prototype), this._emitter.emit(t.msg, i); break; case v.Z.METADATA_ARRIVED: case v.Z.SCRIPTDATA_ARRIVED: case v.Z.STATISTICS_INFO: this._emitter.emit(t.msg, i); break; case v.Z.IO_ERROR: case v.Z.DEMUX_ERROR: this._emitter.emit(t.msg, i.type, i.info); break; case v.Z.RECOMMEND_SEEKPOINT: this._emitter.emit(t.msg, i); break; case "logcat_callback": d.Z.emitter.emit("log", i.type, i.logcat); } }), e ); })(), E = { ERROR: "error", SOURCE_OPEN: "source_open", UPDATE_END: "update_end", BUFFER_FULL: "buffer_full" }, S = i(51), A = i(29), L = (function () { function e(e) { (this.TAG = "MSEController"), (this._config = e), (this._emitter = new (l())()), this._config.isLive && null == this._config.autoCleanupSourceBuffer && (this._config.autoCleanupSourceBuffer = !0), (this.e = { onSourceOpen: this._onSourceOpen.bind(this), onSourceEnded: this._onSourceEnded.bind(this), onSourceClose: this._onSourceClose.bind(this), onSourceBufferError: this._onSourceBufferError.bind(this), onSourceBufferUpdateEnd: this._onSourceBufferUpdateEnd.bind(this), }), (this._mediaSource = null), (this._mediaSourceObjectURL = null), (this._mediaElement = null), (this._isBufferFull = !1), (this._hasPendingEos = !1), (this._requireSetMediaDuration = !1), (this._pendingMediaDuration = 0), (this._pendingSourceBufferInit = []), (this._mimeTypes = { video: null, audio: null }), (this._sourceBuffers = { video: null, audio: null }), (this._lastInitSegments = { video: null, audio: null }), (this._pendingSegments = { video: [], audio: [] }), (this._pendingRemoveRanges = { video: [], audio: [] }), (this._idrList = new S.Vn()); } return ( (e.prototype.destroy = function () { (this._mediaElement || this._mediaSource) && this.detachMediaElement(), (this.e = null), this._emitter.removeAllListeners(), (this._emitter = null); }), (e.prototype.on = function (e, t) { this._emitter.addListener(e, t); }), (e.prototype.off = function (e, t) { this._emitter.removeListener(e, t); }), (e.prototype.attachMediaElement = function (e) { if (this._mediaSource) throw new A.rT("MediaSource has been attached to an HTMLMediaElement!"); var t = (this._mediaSource = new window.MediaSource()); t.addEventListener("sourceopen", this.e.onSourceOpen), t.addEventListener("sourceended", this.e.onSourceEnded), t.addEventListener("sourceclose", this.e.onSourceClose), (this._mediaElement = e), (this._mediaSourceObjectURL = window.URL.createObjectURL(this._mediaSource)), (e.src = this._mediaSourceObjectURL); }), (e.prototype.detachMediaElement = function () { if (this._mediaSource) { var e = this._mediaSource; for (var t in this._sourceBuffers) { var i = this._pendingSegments[t]; i.splice(0, i.length), (this._pendingSegments[t] = null), (this._pendingRemoveRanges[t] = null), (this._lastInitSegments[t] = null); var n = this._sourceBuffers[t]; if (n) { if ("closed" !== e.readyState) { try { e.removeSourceBuffer(n); } catch (e) { d.Z.e(this.TAG, e.message); } n.removeEventListener("error", this.e.onSourceBufferError), n.removeEventListener("updateend", this.e.onSourceBufferUpdateEnd); } (this._mimeTypes[t] = null), (this._sourceBuffers[t] = null); } } if ("open" === e.readyState) try { e.endOfStream(); } catch (e) { d.Z.e(this.TAG, e.message); } e.removeEventListener("sourceopen", this.e.onSourceOpen), e.removeEventListener("sourceended", this.e.onSourceEnded), e.removeEventListener("sourceclose", this.e.onSourceClose), (this._pendingSourceBufferInit = []), (this._isBufferFull = !1), this._idrList.clear(), (this._mediaSource = null); } this._mediaElement && ((this._mediaElement.src = ""), this._mediaElement.removeAttribute("src"), (this._mediaElement = null)), this._mediaSourceObjectURL && (window.URL.revokeObjectURL(this._mediaSourceObjectURL), (this._mediaSourceObjectURL = null)); }), (e.prototype.appendInitSegment = function (e, t) { if (!this._mediaSource || "open" !== this._mediaSource.readyState) return this._pendingSourceBufferInit.push(e), void this._pendingSegments[e.type].push(e); var i = e, n = "" + i.container; i.codec && i.codec.length > 0 && (n += ";codecs=" + i.codec); var r = !1; if ( (d.Z.v(this.TAG, "Received Initialization Segment, mimeType: " + n), (this._lastInitSegments[i.type] = i), n !== this._mimeTypes[i.type]) ) { if (this._mimeTypes[i.type]) d.Z.v(this.TAG, "Notice: " + i.type + " mimeType changed, origin: " + this._mimeTypes[i.type] + ", target: " + n); else { r = !0; try { var s = (this._sourceBuffers[i.type] = this._mediaSource.addSourceBuffer(n)); s.addEventListener("error", this.e.onSourceBufferError), s.addEventListener("updateend", this.e.onSourceBufferUpdateEnd); } catch (e) { return d.Z.e(this.TAG, e.message), void this._emitter.emit(E.ERROR, { code: e.code, msg: e.message }); } } this._mimeTypes[i.type] = n; } t || this._pendingSegments[i.type].push(i), r || (this._sourceBuffers[i.type] && !this._sourceBuffers[i.type].updating && this._doAppendSegments()), c.Z.safari && "audio/mpeg" === i.container && i.mediaDuration > 0 && ((this._requireSetMediaDuration = !0), (this._pendingMediaDuration = i.mediaDuration / 1e3), this._updateMediaSourceDuration()); }), (e.prototype.appendMediaSegment = function (e) { var t = e; this._pendingSegments[t.type].push(t), this._config.autoCleanupSourceBuffer && this._needCleanupSourceBuffer() && this._doCleanupSourceBuffer(); var i = this._sourceBuffers[t.type]; !i || i.updating || this._hasPendingRemoveRanges() || this._doAppendSegments(); }), (e.prototype.seek = function (e) { for (var t in this._sourceBuffers) if (this._sourceBuffers[t]) { var i = this._sourceBuffers[t]; if ("open" === this._mediaSource.readyState) try { i.abort(); } catch (e) { d.Z.e(this.TAG, e.message); } this._idrList.clear(); var n = this._pendingSegments[t]; if ((n.splice(0, n.length), "closed" !== this._mediaSource.readyState)) { for (var r = 0; r < i.buffered.length; r++) { var s = i.buffered.start(r), o = i.buffered.end(r); this._pendingRemoveRanges[t].push({ start: s, end: o }); } if ((i.updating || this._doRemoveRanges(), c.Z.safari)) { var a = this._lastInitSegments[t]; a && (this._pendingSegments[t].push(a), i.updating || this._doAppendSegments()); } } } }), (e.prototype.endOfStream = function () { var e = this._mediaSource, t = this._sourceBuffers; e && "open" === e.readyState ? (t.video && t.video.updating) || (t.audio && t.audio.updating) ? (this._hasPendingEos = !0) : ((this._hasPendingEos = !1), e.endOfStream()) : e && "closed" === e.readyState && this._hasPendingSegments() && (this._hasPendingEos = !0); }), (e.prototype.getNearestKeyframe = function (e) { return this._idrList.getLastSyncPointBeforeDts(e); }), (e.prototype._needCleanupSourceBuffer = function () { if (!this._config.autoCleanupSourceBuffer) return !1; var e = this._mediaElement.currentTime; for (var t in this._sourceBuffers) { var i = this._sourceBuffers[t]; if (i) { var n = i.buffered; if (n.length >= 1 && e - n.start(0) >= this._config.autoCleanupMaxBackwardDuration) return !0; } } return !1; }), (e.prototype._doCleanupSourceBuffer = function () { var e = this._mediaElement.currentTime; for (var t in this._sourceBuffers) { var i = this._sourceBuffers[t]; if (i) { for (var n = i.buffered, r = !1, s = 0; s < n.length; s++) { var o = n.start(s), a = n.end(s); if (o <= e && e < a + 3) { if (e - o >= this._config.autoCleanupMaxBackwardDuration) { r = !0; var h = e - this._config.autoCleanupMinBackwardDuration; this._pendingRemoveRanges[t].push({ start: o, end: h }); } } else a < e && ((r = !0), this._pendingRemoveRanges[t].push({ start: o, end: a })); } r && !i.updating && this._doRemoveRanges(); } } }), (e.prototype._updateMediaSourceDuration = function () { var e = this._sourceBuffers; if ( 0 !== this._mediaElement.readyState && "open" === this._mediaSource.readyState && !((e.video && e.video.updating) || (e.audio && e.audio.updating)) ) { var t = this._mediaSource.duration, i = this._pendingMediaDuration; i > 0 && (isNaN(t) || i > t) && (d.Z.v(this.TAG, "Update MediaSource duration from " + t + " to " + i), (this._mediaSource.duration = i)), (this._requireSetMediaDuration = !1), (this._pendingMediaDuration = 0); } }), (e.prototype._doRemoveRanges = function () { for (var e in this._pendingRemoveRanges) if (this._sourceBuffers[e] && !this._sourceBuffers[e].updating) for (var t = this._sourceBuffers[e], i = this._pendingRemoveRanges[e]; i.length && !t.updating; ) { var n = i.shift(); t.remove(n.start, n.end); } }), (e.prototype._doAppendSegments = function () { var e = this._pendingSegments; for (var t in e) if (this._sourceBuffers[t] && !this._sourceBuffers[t].updating && e[t].length > 0) { var i = e[t].shift(); if (i.timestampOffset) { var n = this._sourceBuffers[t].timestampOffset, r = i.timestampOffset / 1e3; Math.abs(n - r) > 0.1 && (d.Z.v(this.TAG, "Update MPEG audio timestampOffset from " + n + " to " + r), (this._sourceBuffers[t].timestampOffset = r)), delete i.timestampOffset; } if (!i.data || 0 === i.data.byteLength) continue; try { this._sourceBuffers[t].appendBuffer(i.data), (this._isBufferFull = !1), "video" === t && i.hasOwnProperty("info") && this._idrList.appendArray(i.info.syncPoints); } catch (e) { this._pendingSegments[t].unshift(i), 22 === e.code ? (this._isBufferFull || this._emitter.emit(E.BUFFER_FULL), (this._isBufferFull = !0)) : (d.Z.e(this.TAG, e.message), this._emitter.emit(E.ERROR, { code: e.code, msg: e.message })); } } }), (e.prototype._onSourceOpen = function () { if ( (d.Z.v(this.TAG, "MediaSource onSourceOpen"), this._mediaSource.removeEventListener("sourceopen", this.e.onSourceOpen), this._pendingSourceBufferInit.length > 0) ) for (var e = this._pendingSourceBufferInit; e.length; ) { var t = e.shift(); this.appendInitSegment(t, !0); } this._hasPendingSegments() && this._doAppendSegments(), this._emitter.emit(E.SOURCE_OPEN); }), (e.prototype._onSourceEnded = function () { d.Z.v(this.TAG, "MediaSource onSourceEnded"); }), (e.prototype._onSourceClose = function () { d.Z.v(this.TAG, "MediaSource onSourceClose"), this._mediaSource && null != this.e && (this._mediaSource.removeEventListener("sourceopen", this.e.onSourceOpen), this._mediaSource.removeEventListener("sourceended", this.e.onSourceEnded), this._mediaSource.removeEventListener("sourceclose", this.e.onSourceClose)); }), (e.prototype._hasPendingSegments = function () { var e = this._pendingSegments; return e.video.length > 0 || e.audio.length > 0; }), (e.prototype._hasPendingRemoveRanges = function () { var e = this._pendingRemoveRanges; return e.video.length > 0 || e.audio.length > 0; }), (e.prototype._onSourceBufferUpdateEnd = function () { this._requireSetMediaDuration ? this._updateMediaSourceDuration() : this._hasPendingRemoveRanges() ? this._doRemoveRanges() : this._hasPendingSegments() ? this._doAppendSegments() : this._hasPendingEos && this.endOfStream(), this._emitter.emit(E.UPDATE_END); }), (e.prototype._onSourceBufferError = function (e) { d.Z.e(this.TAG, "SourceBuffer Error: " + e); }), e ); })(), R = i(600), w = { NETWORK_ERROR: "NetworkError", MEDIA_ERROR: "MediaError", OTHER_ERROR: "OtherError" }, O = { NETWORK_EXCEPTION: h.nm.EXCEPTION, NETWORK_STATUS_CODE_INVALID: h.nm.HTTP_STATUS_CODE_INVALID, NETWORK_TIMEOUT: h.nm.CONNECTING_TIMEOUT, NETWORK_UNRECOVERABLE_EARLY_EOF: h.nm.UNRECOVERABLE_EARLY_EOF, MEDIA_MSE_ERROR: "MediaMSEError", MEDIA_FORMAT_ERROR: R.Z.FORMAT_ERROR, MEDIA_FORMAT_UNSUPPORTED: R.Z.FORMAT_UNSUPPORTED, MEDIA_CODEC_UNSUPPORTED: R.Z.CODEC_UNSUPPORTED, }, T = (function () { function e(e, t) { if ( ((this.TAG = "FlvPlayer"), (this._type = "FlvPlayer"), (this._emitter = new (l())()), (this._config = o()), "object" == typeof t && Object.assign(this._config, t), "flv" !== e.type.toLowerCase()) ) throw new A.OC("FlvPlayer requires an flv MediaDataSource input!"); !0 === e.isLive && (this._config.isLive = !0), (this.e = { onvLoadedMetadata: this._onvLoadedMetadata.bind(this), onvSeeking: this._onvSeeking.bind(this), onvCanPlay: this._onvCanPlay.bind(this), onvStalled: this._onvStalled.bind(this), onvProgress: this._onvProgress.bind(this), }), self.performance && self.performance.now ? (this._now = self.performance.now.bind(self.performance)) : (this._now = Date.now), (this._pendingSeekTime = null), (this._requestSetTime = !1), (this._seekpointRecord = null), (this._progressChecker = null), (this._mediaDataSource = e), (this._mediaElement = null), (this._msectl = null), (this._transmuxer = null), (this._mseSourceOpened = !1), (this._hasPendingLoad = !1), (this._receivedCanPlay = !1), (this._mediaInfo = null), (this._statisticsInfo = null); var i = c.Z.chrome && (c.Z.version.major < 50 || (50 === c.Z.version.major && c.Z.version.build < 2661)); (this._alwaysSeekKeyframe = !!(i || c.Z.msedge || c.Z.msie)), this._alwaysSeekKeyframe && (this._config.accurateSeek = !1); } return ( (e.prototype.destroy = function () { null != this._progressChecker && (window.clearInterval(this._progressChecker), (this._progressChecker = null)), this._transmuxer && this.unload(), this._mediaElement && this.detachMediaElement(), (this.e = null), (this._mediaDataSource = null), this._emitter.removeAllListeners(), (this._emitter = null); }), (e.prototype.on = function (e, t) { var i = this; e === f.MEDIA_INFO ? null != this._mediaInfo && Promise.resolve().then(function () { i._emitter.emit(f.MEDIA_INFO, i.mediaInfo); }) : e === f.STATISTICS_INFO && null != this._statisticsInfo && Promise.resolve().then(function () { i._emitter.emit(f.STATISTICS_INFO, i.statisticsInfo); }), this._emitter.addListener(e, t); }), (e.prototype.off = function (e, t) { this._emitter.removeListener(e, t); }), (e.prototype.attachMediaElement = function (e) { var t = this; if ( ((this._mediaElement = e), e.addEventListener("loadedmetadata", this.e.onvLoadedMetadata), e.addEventListener("seeking", this.e.onvSeeking), e.addEventListener("canplay", this.e.onvCanPlay), e.addEventListener("stalled", this.e.onvStalled), e.addEventListener("progress", this.e.onvProgress), (this._msectl = new L(this._config)), this._msectl.on(E.UPDATE_END, this._onmseUpdateEnd.bind(this)), this._msectl.on(E.BUFFER_FULL, this._onmseBufferFull.bind(this)), this._msectl.on(E.SOURCE_OPEN, function () { (t._mseSourceOpened = !0), t._hasPendingLoad && ((t._hasPendingLoad = !1), t.load()); }), this._msectl.on(E.ERROR, function (e) { t._emitter.emit(f.ERROR, w.MEDIA_ERROR, O.MEDIA_MSE_ERROR, e); }), this._msectl.attachMediaElement(e), null != this._pendingSeekTime) ) try { (e.currentTime = this._pendingSeekTime), (this._pendingSeekTime = null); } catch (e) {} }), (e.prototype.detachMediaElement = function () { this._mediaElement && (this._msectl.detachMediaElement(), this._mediaElement.removeEventListener("loadedmetadata", this.e.onvLoadedMetadata), this._mediaElement.removeEventListener("seeking", this.e.onvSeeking), this._mediaElement.removeEventListener("canplay", this.e.onvCanPlay), this._mediaElement.removeEventListener("stalled", this.e.onvStalled), this._mediaElement.removeEventListener("progress", this.e.onvProgress), (this._mediaElement = null)), this._msectl && (this._msectl.destroy(), (this._msectl = null)); }), (e.prototype.load = function () { var e = this; if (!this._mediaElement) throw new A.rT("HTMLMediaElement must be attached before load()!"); if (this._transmuxer) throw new A.rT("FlvPlayer.load() has been called, please call unload() first!"); this._hasPendingLoad || (this._config.deferLoadAfterSourceOpen && !1 === this._mseSourceOpened ? (this._hasPendingLoad = !0) : (this._mediaElement.readyState > 0 && ((this._requestSetTime = !0), (this._mediaElement.currentTime = 0)), (this._transmuxer = new b(this._mediaDataSource, this._config)), this._transmuxer.on(v.Z.INIT_SEGMENT, function (t, i) { e._msectl.appendInitSegment(i); }), this._transmuxer.on(v.Z.MEDIA_SEGMENT, function (t, i) { if ((e._msectl.appendMediaSegment(i), e._config.lazyLoad && !e._config.isLive)) { var n = e._mediaElement.currentTime; i.info.endDts >= 1e3 * (n + e._config.lazyLoadMaxDuration) && null == e._progressChecker && (d.Z.v(e.TAG, "Maximum buffering duration exceeded, suspend transmuxing task"), e._suspendTransmuxer()); } }), this._transmuxer.on(v.Z.LOADING_COMPLETE, function () { e._msectl.endOfStream(), e._emitter.emit(f.LOADING_COMPLETE); }), this._transmuxer.on(v.Z.RECOVERED_EARLY_EOF, function () { e._emitter.emit(f.RECOVERED_EARLY_EOF); }), this._transmuxer.on(v.Z.IO_ERROR, function (t, i) { e._emitter.emit(f.ERROR, w.NETWORK_ERROR, t, i); }), this._transmuxer.on(v.Z.DEMUX_ERROR, function (t, i) { e._emitter.emit(f.ERROR, w.MEDIA_ERROR, t, { code: -1, msg: i }); }), this._transmuxer.on(v.Z.MEDIA_INFO, function (t) { (e._mediaInfo = t), e._emitter.emit(f.MEDIA_INFO, Object.assign({}, t)); }), this._transmuxer.on(v.Z.METADATA_ARRIVED, function (t) { e._emitter.emit(f.METADATA_ARRIVED, t); }), this._transmuxer.on(v.Z.SCRIPTDATA_ARRIVED, function (t) { e._emitter.emit(f.SCRIPTDATA_ARRIVED, t); }), this._transmuxer.on(v.Z.STATISTICS_INFO, function (t) { (e._statisticsInfo = e._fillStatisticsInfo(t)), e._emitter.emit(f.STATISTICS_INFO, Object.assign({}, e._statisticsInfo)); }), this._transmuxer.on(v.Z.RECOMMEND_SEEKPOINT, function (t) { e._mediaElement && !e._config.accurateSeek && ((e._requestSetTime = !0), (e._mediaElement.currentTime = t / 1e3)); }), this._transmuxer.open())); }), (e.prototype.unload = function () { this._mediaElement && this._mediaElement.pause(), this._msectl && this._msectl.seek(0), this._transmuxer && (this._transmuxer.close(), this._transmuxer.destroy(), (this._transmuxer = null)); }), (e.prototype.play = function () { return this._mediaElement.play(); }), (e.prototype.pause = function () { this._mediaElement.pause(); }), Object.defineProperty(e.prototype, "type", { get: function () { return this._type; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "buffered", { get: function () { return this._mediaElement.buffered; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "duration", { get: function () { return this._mediaElement.duration; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "volume", { get: function () { return this._mediaElement.volume; }, set: function (e) { this._mediaElement.volume = e; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "muted", { get: function () { return this._mediaElement.muted; }, set: function (e) { this._mediaElement.muted = e; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "currentTime", { get: function () { return this._mediaElement ? this._mediaElement.currentTime : 0; }, set: function (e) { this._mediaElement ? this._internalSeek(e) : (this._pendingSeekTime = e); }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "mediaInfo", { get: function () { return Object.assign({}, this._mediaInfo); }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "statisticsInfo", { get: function () { return ( null == this._statisticsInfo && (this._statisticsInfo = {}), (this._statisticsInfo = this._fillStatisticsInfo(this._statisticsInfo)), Object.assign({}, this._statisticsInfo) ); }, enumerable: !1, configurable: !0, }), (e.prototype._fillStatisticsInfo = function (e) { if (((e.playerType = this._type), !(this._mediaElement instanceof HTMLVideoElement))) return e; var t = !0, i = 0, n = 0; if (this._mediaElement.getVideoPlaybackQuality) { var r = this._mediaElement.getVideoPlaybackQuality(); (i = r.totalVideoFrames), (n = r.droppedVideoFrames); } else null != this._mediaElement.webkitDecodedFrameCount ? ((i = this._mediaElement.webkitDecodedFrameCount), (n = this._mediaElement.webkitDroppedFrameCount)) : (t = !1); return t && ((e.decodedFrames = i), (e.droppedFrames = n)), e; }), (e.prototype._onmseUpdateEnd = function () { if (this._config.lazyLoad && !this._config.isLive) { for (var e = this._mediaElement.buffered, t = this._mediaElement.currentTime, i = 0, n = 0; n < e.length; n++) { var r = e.start(n), s = e.end(n); if (r <= t && t < s) { r, (i = s); break; } } i >= t + this._config.lazyLoadMaxDuration && null == this._progressChecker && (d.Z.v(this.TAG, "Maximum buffering duration exceeded, suspend transmuxing task"), this._suspendTransmuxer()); } }), (e.prototype._onmseBufferFull = function () { d.Z.v(this.TAG, "MSE SourceBuffer is full, suspend transmuxing task"), null == this._progressChecker && this._suspendTransmuxer(); }), (e.prototype._suspendTransmuxer = function () { this._transmuxer && (this._transmuxer.pause(), null == this._progressChecker && (this._progressChecker = window.setInterval(this._checkProgressAndResume.bind(this), 1e3))); }), (e.prototype._checkProgressAndResume = function () { for (var e = this._mediaElement.currentTime, t = this._mediaElement.buffered, i = !1, n = 0; n < t.length; n++) { var r = t.start(n), s = t.end(n); if (e >= r && e < s) { e >= s - this._config.lazyLoadRecoverDuration && (i = !0); break; } } i && (window.clearInterval(this._progressChecker), (this._progressChecker = null), i && (d.Z.v(this.TAG, "Continue loading from paused position"), this._transmuxer.resume())); }), (e.prototype._isTimepointBuffered = function (e) { for (var t = this._mediaElement.buffered, i = 0; i < t.length; i++) { var n = t.start(i), r = t.end(i); if (e >= n && e < r) return !0; } return !1; }), (e.prototype._internalSeek = function (e) { var t = this._isTimepointBuffered(e), i = !1, n = 0; if (e < 1 && this._mediaElement.buffered.length > 0) { var r = this._mediaElement.buffered.start(0); ((r < 1 && e < r) || c.Z.safari) && ((i = !0), (n = c.Z.safari ? 0.1 : r)); } if (i) (this._requestSetTime = !0), (this._mediaElement.currentTime = n); else if (t) { if (this._alwaysSeekKeyframe) { var s = this._msectl.getNearestKeyframe(Math.floor(1e3 * e)); (this._requestSetTime = !0), (this._mediaElement.currentTime = null != s ? s.dts / 1e3 : e); } else (this._requestSetTime = !0), (this._mediaElement.currentTime = e); null != this._progressChecker && this._checkProgressAndResume(); } else null != this._progressChecker && (window.clearInterval(this._progressChecker), (this._progressChecker = null)), this._msectl.seek(e), this._transmuxer.seek(Math.floor(1e3 * e)), this._config.accurateSeek && ((this._requestSetTime = !0), (this._mediaElement.currentTime = e)); }), (e.prototype._checkAndApplyUnbufferedSeekpoint = function () { if (this._seekpointRecord) if (this._seekpointRecord.recordTime <= this._now() - 100) { var e = this._mediaElement.currentTime; (this._seekpointRecord = null), this._isTimepointBuffered(e) || (null != this._progressChecker && (window.clearTimeout(this._progressChecker), (this._progressChecker = null)), this._msectl.seek(e), this._transmuxer.seek(Math.floor(1e3 * e)), this._config.accurateSeek && ((this._requestSetTime = !0), (this._mediaElement.currentTime = e))); } else window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this), 50); }), (e.prototype._checkAndResumeStuckPlayback = function (e) { var t = this._mediaElement; if (e || !this._receivedCanPlay || t.readyState < 2) { var i = t.buffered; i.length > 0 && t.currentTime < i.start(0) && (d.Z.w(this.TAG, "Playback seems stuck at " + t.currentTime + ", seek to " + i.start(0)), (this._requestSetTime = !0), (this._mediaElement.currentTime = i.start(0)), this._mediaElement.removeEventListener("progress", this.e.onvProgress)); } else this._mediaElement.removeEventListener("progress", this.e.onvProgress); }), (e.prototype._onvLoadedMetadata = function (e) { null != this._pendingSeekTime && ((this._mediaElement.currentTime = this._pendingSeekTime), (this._pendingSeekTime = null)); }), (e.prototype._onvSeeking = function (e) { var t = this._mediaElement.currentTime, i = this._mediaElement.buffered; if (this._requestSetTime) this._requestSetTime = !1; else { if (t < 1 && i.length > 0) { var n = i.start(0); if ((n < 1 && t < n) || c.Z.safari) return (this._requestSetTime = !0), void (this._mediaElement.currentTime = c.Z.safari ? 0.1 : n); } if (this._isTimepointBuffered(t)) { if (this._alwaysSeekKeyframe) { var r = this._msectl.getNearestKeyframe(Math.floor(1e3 * t)); null != r && ((this._requestSetTime = !0), (this._mediaElement.currentTime = r.dts / 1e3)); } null != this._progressChecker && this._checkProgressAndResume(); } else (this._seekpointRecord = { seekPoint: t, recordTime: this._now() }), window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this), 50); } }), (e.prototype._onvCanPlay = function (e) { (this._receivedCanPlay = !0), this._mediaElement.removeEventListener("canplay", this.e.onvCanPlay); }), (e.prototype._onvStalled = function (e) { this._checkAndResumeStuckPlayback(!0); }), (e.prototype._onvProgress = function (e) { this._checkAndResumeStuckPlayback(); }), e ); })(), C = (function () { function e(e, t) { if ( ((this.TAG = "NativePlayer"), (this._type = "NativePlayer"), (this._emitter = new (l())()), (this._config = o()), "object" == typeof t && Object.assign(this._config, t), "flv" === e.type.toLowerCase()) ) throw new A.OC("NativePlayer does't support flv MediaDataSource input!"); if (e.hasOwnProperty("segments")) throw new A.OC("NativePlayer(" + e.type + ") doesn't support multipart playback!"); (this.e = { onvLoadedMetadata: this._onvLoadedMetadata.bind(this) }), (this._pendingSeekTime = null), (this._statisticsReporter = null), (this._mediaDataSource = e), (this._mediaElement = null); } return ( (e.prototype.destroy = function () { this._mediaElement && (this.unload(), this.detachMediaElement()), (this.e = null), (this._mediaDataSource = null), this._emitter.removeAllListeners(), (this._emitter = null); }), (e.prototype.on = function (e, t) { var i = this; e === f.MEDIA_INFO ? null != this._mediaElement && 0 !== this._mediaElement.readyState && Promise.resolve().then(function () { i._emitter.emit(f.MEDIA_INFO, i.mediaInfo); }) : e === f.STATISTICS_INFO && null != this._mediaElement && 0 !== this._mediaElement.readyState && Promise.resolve().then(function () { i._emitter.emit(f.STATISTICS_INFO, i.statisticsInfo); }), this._emitter.addListener(e, t); }), (e.prototype.off = function (e, t) { this._emitter.removeListener(e, t); }), (e.prototype.attachMediaElement = function (e) { if (((this._mediaElement = e), e.addEventListener("loadedmetadata", this.e.onvLoadedMetadata), null != this._pendingSeekTime)) try { (e.currentTime = this._pendingSeekTime), (this._pendingSeekTime = null); } catch (e) {} }), (e.prototype.detachMediaElement = function () { this._mediaElement && ((this._mediaElement.src = ""), this._mediaElement.removeAttribute("src"), this._mediaElement.removeEventListener("loadedmetadata", this.e.onvLoadedMetadata), (this._mediaElement = null)), null != this._statisticsReporter && (window.clearInterval(this._statisticsReporter), (this._statisticsReporter = null)); }), (e.prototype.load = function () { if (!this._mediaElement) throw new A.rT("HTMLMediaElement must be attached before load()!"); (this._mediaElement.src = this._mediaDataSource.url), this._mediaElement.readyState > 0 && (this._mediaElement.currentTime = 0), (this._mediaElement.preload = "auto"), this._mediaElement.load(), (this._statisticsReporter = window.setInterval(this._reportStatisticsInfo.bind(this), this._config.statisticsInfoReportInterval)); }), (e.prototype.unload = function () { this._mediaElement && ((this._mediaElement.src = ""), this._mediaElement.removeAttribute("src")), null != this._statisticsReporter && (window.clearInterval(this._statisticsReporter), (this._statisticsReporter = null)); }), (e.prototype.play = function () { return this._mediaElement.play(); }), (e.prototype.pause = function () { this._mediaElement.pause(); }), Object.defineProperty(e.prototype, "type", { get: function () { return this._type; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "buffered", { get: function () { return this._mediaElement.buffered; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "duration", { get: function () { return this._mediaElement.duration; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "volume", { get: function () { return this._mediaElement.volume; }, set: function (e) { this._mediaElement.volume = e; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "muted", { get: function () { return this._mediaElement.muted; }, set: function (e) { this._mediaElement.muted = e; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "currentTime", { get: function () { return this._mediaElement ? this._mediaElement.currentTime : 0; }, set: function (e) { this._mediaElement ? (this._mediaElement.currentTime = e) : (this._pendingSeekTime = e); }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "mediaInfo", { get: function () { var e = { mimeType: (this._mediaElement instanceof HTMLAudioElement ? "audio/" : "video/") + this._mediaDataSource.type }; return ( this._mediaElement && ((e.duration = Math.floor(1e3 * this._mediaElement.duration)), this._mediaElement instanceof HTMLVideoElement && ((e.width = this._mediaElement.videoWidth), (e.height = this._mediaElement.videoHeight))), e ); }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "statisticsInfo", { get: function () { var e = { playerType: this._type, url: this._mediaDataSource.url }; if (!(this._mediaElement instanceof HTMLVideoElement)) return e; var t = !0, i = 0, n = 0; if (this._mediaElement.getVideoPlaybackQuality) { var r = this._mediaElement.getVideoPlaybackQuality(); (i = r.totalVideoFrames), (n = r.droppedVideoFrames); } else null != this._mediaElement.webkitDecodedFrameCount ? ((i = this._mediaElement.webkitDecodedFrameCount), (n = this._mediaElement.webkitDroppedFrameCount)) : (t = !1); return t && ((e.decodedFrames = i), (e.droppedFrames = n)), e; }, enumerable: !1, configurable: !0, }), (e.prototype._onvLoadedMetadata = function (e) { null != this._pendingSeekTime && ((this._mediaElement.currentTime = this._pendingSeekTime), (this._pendingSeekTime = null)), this._emitter.emit(f.MEDIA_INFO, this.mediaInfo); }), (e.prototype._reportStatisticsInfo = function () { this._emitter.emit(f.STATISTICS_INFO, this.statisticsInfo); }), e ); })(); n.Z.install(); var k = { createPlayer: function (e, t) { var i = e; if (null == i || "object" != typeof i) throw new A.OC("MediaDataSource must be an javascript object!"); if (!i.hasOwnProperty("type")) throw new A.OC("MediaDataSource must has type field to indicate video file type!"); switch (i.type) { case "flv": return new T(i, t); default: return new C(i, t); } }, isSupported: function () { return a.supportMSEH264Playback(); }, getFeatureList: function () { return a.getFeatureList(); }, }; (k.BaseLoader = h.fp), (k.LoaderStatus = h.GM), (k.LoaderErrors = h.nm), (k.Events = f), (k.ErrorTypes = w), (k.ErrorDetails = O), (k.FlvPlayer = T), (k.NativePlayer = C), (k.LoggingControl = m.Z), Object.defineProperty(k, "version", { enumerable: !0, get: function () { return "1.6.2"; }, }); var D = k; }, 324: function (e, t, i) { e.exports = i(60).default; }, 191: function (e, t, i) { "use strict"; i.d(t, { Z: function () { return y; }, }); var n, r = i(300), s = (function () { function e() { (this._firstCheckpoint = 0), (this._lastCheckpoint = 0), (this._intervalBytes = 0), (this._totalBytes = 0), (this._lastSecondBytes = 0), self.performance && self.performance.now ? (this._now = self.performance.now.bind(self.performance)) : (this._now = Date.now); } return ( (e.prototype.reset = function () { (this._firstCheckpoint = this._lastCheckpoint = 0), (this._totalBytes = this._intervalBytes = 0), (this._lastSecondBytes = 0); }), (e.prototype.addBytes = function (e) { 0 === this._firstCheckpoint ? ((this._firstCheckpoint = this._now()), (this._lastCheckpoint = this._firstCheckpoint), (this._intervalBytes += e), (this._totalBytes += e)) : this._now() - this._lastCheckpoint < 1e3 ? ((this._intervalBytes += e), (this._totalBytes += e)) : ((this._lastSecondBytes = this._intervalBytes), (this._intervalBytes = e), (this._totalBytes += e), (this._lastCheckpoint = this._now())); }), Object.defineProperty(e.prototype, "currentKBps", { get: function () { this.addBytes(0); var e = (this._now() - this._lastCheckpoint) / 1e3; return 0 == e && (e = 1), this._intervalBytes / e / 1024; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "lastSecondKBps", { get: function () { return ( this.addBytes(0), 0 !== this._lastSecondBytes ? this._lastSecondBytes / 1024 : this._now() - this._lastCheckpoint >= 500 ? this.currentKBps : 0 ); }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "averageKBps", { get: function () { var e = (this._now() - this._firstCheckpoint) / 1e3; return this._totalBytes / e / 1024; }, enumerable: !1, configurable: !0, }), e ); })(), o = i(939), a = i(538), h = i(29), u = ((n = function (e, t) { return (n = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (e, t) { e.__proto__ = t; }) || function (e, t) { for (var i in t) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]); })(e, t); }), function (e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Class extends value " + String(t) + " is not a constructor or null"); function i() { this.constructor = e; } n(e, t), (e.prototype = null === t ? Object.create(t) : ((i.prototype = t.prototype), new i())); }), l = (function (e) { function t(t, i) { var n = e.call(this, "fetch-stream-loader") || this; return ( (n.TAG = "FetchStreamLoader"), (n._seekHandler = t), (n._config = i), (n._needStash = !0), (n._requestAbort = !1), (n._contentLength = null), (n._receivedLength = 0), n ); } return ( u(t, e), (t.isSupported = function () { try { var e = a.Z.msedge && a.Z.version.minor >= 15048, t = !a.Z.msedge || e; return self.fetch && self.ReadableStream && t; } catch (e) { return !1; } }), (t.prototype.destroy = function () { this.isWorking() && this.abort(), e.prototype.destroy.call(this); }), (t.prototype.open = function (e, t) { var i = this; (this._dataSource = e), (this._range = t); var n = e.url; this._config.reuseRedirectedURL && null != e.redirectedURL && (n = e.redirectedURL); var r = this._seekHandler.getConfig(n, t), s = new self.Headers(); if ("object" == typeof r.headers) { var a = r.headers; for (var u in a) a.hasOwnProperty(u) && s.append(u, a[u]); } var l = { method: "GET", headers: s, mode: "cors", cache: "default", referrerPolicy: "no-referrer-when-downgrade" }; if ("object" == typeof this._config.headers) for (var u in this._config.headers) s.append(u, this._config.headers[u]); !1 === e.cors && (l.mode = "same-origin"), e.withCredentials && (l.credentials = "include"), e.referrerPolicy && (l.referrerPolicy = e.referrerPolicy), self.AbortController && ((this._abortController = new self.AbortController()), (l.signal = this._abortController.signal)), (this._status = o.GM.kConnecting), self .fetch(r.url, l) .then(function (e) { if (i._requestAbort) return (i._status = o.GM.kIdle), void e.body.cancel(); if (e.ok && e.status >= 200 && e.status <= 299) { if (e.url !== r.url && i._onURLRedirect) { var t = i._seekHandler.removeURLParameters(e.url); i._onURLRedirect(t); } var n = e.headers.get("Content-Length"); return ( null != n && ((i._contentLength = parseInt(n)), 0 !== i._contentLength && i._onContentLengthKnown && i._onContentLengthKnown(i._contentLength)), i._pump.call(i, e.body.getReader()) ); } if (((i._status = o.GM.kError), !i._onError)) throw new h.OZ("FetchStreamLoader: Http code invalid, " + e.status + " " + e.statusText); i._onError(o.nm.HTTP_STATUS_CODE_INVALID, { code: e.status, msg: e.statusText }); }) .catch(function (e) { if (!i._abortController || !i._abortController.signal.aborted) { if (((i._status = o.GM.kError), !i._onError)) throw e; i._onError(o.nm.EXCEPTION, { code: -1, msg: e.message }); } }); }), (t.prototype.abort = function () { if (((this._requestAbort = !0), (this._status !== o.GM.kBuffering || !a.Z.chrome) && this._abortController)) try { this._abortController.abort(); } catch (e) {} }), (t.prototype._pump = function (e) { var t = this; return e .read() .then(function (i) { if (i.done) if (null !== t._contentLength && t._receivedLength < t._contentLength) { t._status = o.GM.kError; var n = o.nm.EARLY_EOF, r = { code: -1, msg: "Fetch stream meet Early-EOF" }; if (!t._onError) throw new h.OZ(r.msg); t._onError(n, r); } else (t._status = o.GM.kComplete), t._onComplete && t._onComplete(t._range.from, t._range.from + t._receivedLength - 1); else { if (t._abortController && t._abortController.signal.aborted) return void (t._status = o.GM.kComplete); if (!0 === t._requestAbort) return (t._status = o.GM.kComplete), e.cancel(); t._status = o.GM.kBuffering; var s = i.value.buffer, a = t._range.from + t._receivedLength; (t._receivedLength += s.byteLength), t._onDataArrival && t._onDataArrival(s, a, t._receivedLength), t._pump(e); } }) .catch(function (e) { if (t._abortController && t._abortController.signal.aborted) t._status = o.GM.kComplete; else if (11 !== e.code || !a.Z.msedge) { t._status = o.GM.kError; var i = 0, n = null; if ( ((19 !== e.code && "network error" !== e.message) || !(null === t._contentLength || (null !== t._contentLength && t._receivedLength < t._contentLength)) ? ((i = o.nm.EXCEPTION), (n = { code: e.code, msg: e.message })) : ((i = o.nm.EARLY_EOF), (n = { code: e.code, msg: "Fetch stream meet Early-EOF" })), !t._onError) ) throw new h.OZ(n.msg); t._onError(i, n); } }); }), t ); })(o.fp), d = (function () { var e = function (t, i) { return (e = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (e, t) { e.__proto__ = t; }) || function (e, t) { for (var i in t) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]); })(t, i); }; return function (t, i) { if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null"); function n() { this.constructor = t; } e(t, i), (t.prototype = null === i ? Object.create(i) : ((n.prototype = i.prototype), new n())); }; })(), c = (function (e) { function t(t, i) { var n = e.call(this, "xhr-moz-chunked-loader") || this; return ( (n.TAG = "MozChunkedLoader"), (n._seekHandler = t), (n._config = i), (n._needStash = !0), (n._xhr = null), (n._requestAbort = !1), (n._contentLength = null), (n._receivedLength = 0), n ); } return ( d(t, e), (t.isSupported = function () { try { var e = new XMLHttpRequest(); return ( e.open("GET", "https://example.com", !0), (e.responseType = "moz-chunked-arraybuffer"), "moz-chunked-arraybuffer" === e.responseType ); } catch (e) { return r.Z.w("MozChunkedLoader", e.message), !1; } }), (t.prototype.destroy = function () { this.isWorking() && this.abort(), this._xhr && ((this._xhr.onreadystatechange = null), (this._xhr.onprogress = null), (this._xhr.onloadend = null), (this._xhr.onerror = null), (this._xhr = null)), e.prototype.destroy.call(this); }), (t.prototype.open = function (e, t) { (this._dataSource = e), (this._range = t); var i = e.url; this._config.reuseRedirectedURL && null != e.redirectedURL && (i = e.redirectedURL); var n = this._seekHandler.getConfig(i, t); this._requestURL = n.url; var r = (this._xhr = new XMLHttpRequest()); if ( (r.open("GET", n.url, !0), (r.responseType = "moz-chunked-arraybuffer"), (r.onreadystatechange = this._onReadyStateChange.bind(this)), (r.onprogress = this._onProgress.bind(this)), (r.onloadend = this._onLoadEnd.bind(this)), (r.onerror = this._onXhrError.bind(this)), e.withCredentials && (r.withCredentials = !0), "object" == typeof n.headers) ) { var s = n.headers; for (var a in s) s.hasOwnProperty(a) && r.setRequestHeader(a, s[a]); } if ("object" == typeof this._config.headers) { s = this._config.headers; for (var a in s) s.hasOwnProperty(a) && r.setRequestHeader(a, s[a]); } (this._status = o.GM.kConnecting), r.send(); }), (t.prototype.abort = function () { (this._requestAbort = !0), this._xhr && this._xhr.abort(), (this._status = o.GM.kComplete); }), (t.prototype._onReadyStateChange = function (e) { var t = e.target; if (2 === t.readyState) { if (null != t.responseURL && t.responseURL !== this._requestURL && this._onURLRedirect) { var i = this._seekHandler.removeURLParameters(t.responseURL); this._onURLRedirect(i); } if (0 !== t.status && (t.status < 200 || t.status > 299)) { if (((this._status = o.GM.kError), !this._onError)) throw new h.OZ("MozChunkedLoader: Http code invalid, " + t.status + " " + t.statusText); this._onError(o.nm.HTTP_STATUS_CODE_INVALID, { code: t.status, msg: t.statusText }); } else this._status = o.GM.kBuffering; } }), (t.prototype._onProgress = function (e) { if (this._status !== o.GM.kError) { null === this._contentLength && null !== e.total && 0 !== e.total && ((this._contentLength = e.total), this._onContentLengthKnown && this._onContentLengthKnown(this._contentLength)); var t = e.target.response, i = this._range.from + this._receivedLength; (this._receivedLength += t.byteLength), this._onDataArrival && this._onDataArrival(t, i, this._receivedLength); } }), (t.prototype._onLoadEnd = function (e) { !0 !== this._requestAbort ? this._status !== o.GM.kError && ((this._status = o.GM.kComplete), this._onComplete && this._onComplete(this._range.from, this._range.from + this._receivedLength - 1)) : (this._requestAbort = !1); }), (t.prototype._onXhrError = function (e) { this._status = o.GM.kError; var t = 0, i = null; if ( (this._contentLength && e.loaded < this._contentLength ? ((t = o.nm.EARLY_EOF), (i = { code: -1, msg: "Moz-Chunked stream meet Early-Eof" })) : ((t = o.nm.EXCEPTION), (i = { code: -1, msg: e.constructor.name + " " + e.type })), !this._onError) ) throw new h.OZ(i.msg); this._onError(t, i); }), t ); })(o.fp), f = (function () { var e = function (t, i) { return (e = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (e, t) { e.__proto__ = t; }) || function (e, t) { for (var i in t) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]); })(t, i); }; return function (t, i) { if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null"); function n() { this.constructor = t; } e(t, i), (t.prototype = null === i ? Object.create(i) : ((n.prototype = i.prototype), new n())); }; })(), _ = (function (e) { function t(t, i) { var n = e.call(this, "xhr-range-loader") || this; return ( (n.TAG = "RangeLoader"), (n._seekHandler = t), (n._config = i), (n._needStash = !1), (n._chunkSizeKBList = [128, 256, 384, 512, 768, 1024, 1536, 2048, 3072, 4096, 5120, 6144, 7168, 8192]), (n._currentChunkSizeKB = 384), (n._currentSpeedNormalized = 0), (n._zeroSpeedChunkCount = 0), (n._xhr = null), (n._speedSampler = new s()), (n._requestAbort = !1), (n._waitForTotalLength = !1), (n._totalLengthReceived = !1), (n._currentRequestURL = null), (n._currentRedirectedURL = null), (n._currentRequestRange = null), (n._totalLength = null), (n._contentLength = null), (n._receivedLength = 0), (n._lastTimeLoaded = 0), n ); } return ( f(t, e), (t.isSupported = function () { try { var e = new XMLHttpRequest(); return e.open("GET", "https://example.com", !0), (e.responseType = "arraybuffer"), "arraybuffer" === e.responseType; } catch (e) { return r.Z.w("RangeLoader", e.message), !1; } }), (t.prototype.destroy = function () { this.isWorking() && this.abort(), this._xhr && ((this._xhr.onreadystatechange = null), (this._xhr.onprogress = null), (this._xhr.onload = null), (this._xhr.onerror = null), (this._xhr = null)), e.prototype.destroy.call(this); }), Object.defineProperty(t.prototype, "currentSpeed", { get: function () { return this._speedSampler.lastSecondKBps; }, enumerable: !1, configurable: !0, }), (t.prototype.open = function (e, t) { (this._dataSource = e), (this._range = t), (this._status = o.GM.kConnecting); var i = !1; null != this._dataSource.filesize && 0 !== this._dataSource.filesize && ((i = !0), (this._totalLength = this._dataSource.filesize)), this._totalLengthReceived || i ? this._openSubRange() : ((this._waitForTotalLength = !0), this._internalOpen(this._dataSource, { from: 0, to: -1 })); }), (t.prototype._openSubRange = function () { var e = 1024 * this._currentChunkSizeKB, t = this._range.from + this._receivedLength, i = t + e; null != this._contentLength && i - this._range.from >= this._contentLength && (i = this._range.from + this._contentLength - 1), (this._currentRequestRange = { from: t, to: i }), this._internalOpen(this._dataSource, this._currentRequestRange); }), (t.prototype._internalOpen = function (e, t) { this._lastTimeLoaded = 0; var i = e.url; this._config.reuseRedirectedURL && (null != this._currentRedirectedURL ? (i = this._currentRedirectedURL) : null != e.redirectedURL && (i = e.redirectedURL)); var n = this._seekHandler.getConfig(i, t); this._currentRequestURL = n.url; var r = (this._xhr = new XMLHttpRequest()); if ( (r.open("GET", n.url, !0), (r.responseType = "arraybuffer"), (r.onreadystatechange = this._onReadyStateChange.bind(this)), (r.onprogress = this._onProgress.bind(this)), (r.onload = this._onLoad.bind(this)), (r.onerror = this._onXhrError.bind(this)), e.withCredentials && (r.withCredentials = !0), "object" == typeof n.headers) ) { var s = n.headers; for (var o in s) s.hasOwnProperty(o) && r.setRequestHeader(o, s[o]); } if ("object" == typeof this._config.headers) { s = this._config.headers; for (var o in s) s.hasOwnProperty(o) && r.setRequestHeader(o, s[o]); } r.send(); }), (t.prototype.abort = function () { (this._requestAbort = !0), this._internalAbort(), (this._status = o.GM.kComplete); }), (t.prototype._internalAbort = function () { this._xhr && ((this._xhr.onreadystatechange = null), (this._xhr.onprogress = null), (this._xhr.onload = null), (this._xhr.onerror = null), this._xhr.abort(), (this._xhr = null)); }), (t.prototype._onReadyStateChange = function (e) { var t = e.target; if (2 === t.readyState) { if (null != t.responseURL) { var i = this._seekHandler.removeURLParameters(t.responseURL); t.responseURL !== this._currentRequestURL && i !== this._currentRedirectedURL && ((this._currentRedirectedURL = i), this._onURLRedirect && this._onURLRedirect(i)); } if (t.status >= 200 && t.status <= 299) { if (this._waitForTotalLength) return; this._status = o.GM.kBuffering; } else { if (((this._status = o.GM.kError), !this._onError)) throw new h.OZ("RangeLoader: Http code invalid, " + t.status + " " + t.statusText); this._onError(o.nm.HTTP_STATUS_CODE_INVALID, { code: t.status, msg: t.statusText }); } } }), (t.prototype._onProgress = function (e) { if (this._status !== o.GM.kError) { if (null === this._contentLength) { var t = !1; if (this._waitForTotalLength) { (this._waitForTotalLength = !1), (this._totalLengthReceived = !0), (t = !0); var i = e.total; this._internalAbort(), (null != i) & (0 !== i) && (this._totalLength = i); } if ( (-1 === this._range.to ? (this._contentLength = this._totalLength - this._range.from) : (this._contentLength = this._range.to - this._range.from + 1), t) ) return void this._openSubRange(); this._onContentLengthKnown && this._onContentLengthKnown(this._contentLength); } var n = e.loaded - this._lastTimeLoaded; (this._lastTimeLoaded = e.loaded), this._speedSampler.addBytes(n); } }), (t.prototype._normalizeSpeed = function (e) { var t = this._chunkSizeKBList, i = t.length - 1, n = 0, r = 0, s = i; if (e < t[0]) return t[0]; for (; r <= s; ) { if ((n = r + Math.floor((s - r) / 2)) === i || (e >= t[n] && e < t[n + 1])) return t[n]; t[n] < e ? (r = n + 1) : (s = n - 1); } }), (t.prototype._onLoad = function (e) { if (this._status !== o.GM.kError) if (this._waitForTotalLength) this._waitForTotalLength = !1; else { this._lastTimeLoaded = 0; var t = this._speedSampler.lastSecondKBps; if ( (0 === t && (this._zeroSpeedChunkCount++, this._zeroSpeedChunkCount >= 3 && (t = this._speedSampler.currentKBps)), 0 !== t) ) { var i = this._normalizeSpeed(t); this._currentSpeedNormalized !== i && ((this._currentSpeedNormalized = i), (this._currentChunkSizeKB = i)); } var n = e.target.response, r = this._range.from + this._receivedLength; this._receivedLength += n.byteLength; var s = !1; null != this._contentLength && this._receivedLength < this._contentLength ? this._openSubRange() : (s = !0), this._onDataArrival && this._onDataArrival(n, r, this._receivedLength), s && ((this._status = o.GM.kComplete), this._onComplete && this._onComplete(this._range.from, this._range.from + this._receivedLength - 1)); } }), (t.prototype._onXhrError = function (e) { this._status = o.GM.kError; var t = 0, i = null; if ( (this._contentLength && this._receivedLength > 0 && this._receivedLength < this._contentLength ? ((t = o.nm.EARLY_EOF), (i = { code: -1, msg: "RangeLoader meet Early-Eof" })) : ((t = o.nm.EXCEPTION), (i = { code: -1, msg: e.constructor.name + " " + e.type })), !this._onError) ) throw new h.OZ(i.msg); this._onError(t, i); }), t ); })(o.fp), p = (function () { var e = function (t, i) { return (e = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (e, t) { e.__proto__ = t; }) || function (e, t) { for (var i in t) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]); })(t, i); }; return function (t, i) { if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null"); function n() { this.constructor = t; } e(t, i), (t.prototype = null === i ? Object.create(i) : ((n.prototype = i.prototype), new n())); }; })(), m = (function (e) { function t() { var t = e.call(this, "websocket-loader") || this; return (t.TAG = "WebSocketLoader"), (t._needStash = !0), (t._ws = null), (t._requestAbort = !1), (t._receivedLength = 0), t; } return ( p(t, e), (t.isSupported = function () { try { return void 0 !== self.WebSocket; } catch (e) { return !1; } }), (t.prototype.destroy = function () { this._ws && this.abort(), e.prototype.destroy.call(this); }), (t.prototype.open = function (e) { try { var t = (this._ws = new self.WebSocket(e.url)); (t.binaryType = "arraybuffer"), (t.onopen = this._onWebSocketOpen.bind(this)), (t.onclose = this._onWebSocketClose.bind(this)), (t.onmessage = this._onWebSocketMessage.bind(this)), (t.onerror = this._onWebSocketError.bind(this)), (this._status = o.GM.kConnecting); } catch (e) { this._status = o.GM.kError; var i = { code: e.code, msg: e.message }; if (!this._onError) throw new h.OZ(i.msg); this._onError(o.nm.EXCEPTION, i); } }), (t.prototype.abort = function () { var e = this._ws; !e || (0 !== e.readyState && 1 !== e.readyState) || ((this._requestAbort = !0), e.close()), (this._ws = null), (this._status = o.GM.kComplete); }), (t.prototype._onWebSocketOpen = function (e) { this._status = o.GM.kBuffering; }), (t.prototype._onWebSocketClose = function (e) { !0 !== this._requestAbort ? ((this._status = o.GM.kComplete), this._onComplete && this._onComplete(0, this._receivedLength - 1)) : (this._requestAbort = !1); }), (t.prototype._onWebSocketMessage = function (e) { var t = this; if (e.data instanceof ArrayBuffer) this._dispatchArrayBuffer(e.data); else if (e.data instanceof Blob) { var i = new FileReader(); (i.onload = function () { t._dispatchArrayBuffer(i.result); }), i.readAsArrayBuffer(e.data); } else { this._status = o.GM.kError; var n = { code: -1, msg: "Unsupported WebSocket message type: " + e.data.constructor.name }; if (!this._onError) throw new h.OZ(n.msg); this._onError(o.nm.EXCEPTION, n); } }), (t.prototype._dispatchArrayBuffer = function (e) { var t = e, i = this._receivedLength; (this._receivedLength += t.byteLength), this._onDataArrival && this._onDataArrival(t, i, this._receivedLength); }), (t.prototype._onWebSocketError = function (e) { this._status = o.GM.kError; var t = { code: e.code, msg: e.message }; if (!this._onError) throw new h.OZ(t.msg); this._onError(o.nm.EXCEPTION, t); }), t ); })(o.fp), g = (function () { function e(e) { this._zeroStart = e || !1; } return ( (e.prototype.getConfig = function (e, t) { var i = {}; if (0 !== t.from || -1 !== t.to) { var n = void 0; (n = -1 !== t.to ? "bytes=" + t.from.toString() + "-" + t.to.toString() : "bytes=" + t.from.toString() + "-"), (i.Range = n); } else this._zeroStart && (i.Range = "bytes=0-"); return { url: e, headers: i }; }), (e.prototype.removeURLParameters = function (e) { return e; }), e ); })(), v = (function () { function e(e, t) { (this._startName = e), (this._endName = t); } return ( (e.prototype.getConfig = function (e, t) { var i = e; if (0 !== t.from || -1 !== t.to) { var n = !0; -1 === i.indexOf("?") && ((i += "?"), (n = !1)), n && (i += "&"), (i += this._startName + "=" + t.from.toString()), -1 !== t.to && (i += "&" + this._endName + "=" + t.to.toString()); } return { url: i, headers: {} }; }), (e.prototype.removeURLParameters = function (e) { var t = e.split("?")[0], i = void 0, n = e.indexOf("?"); -1 !== n && (i = e.substring(n + 1)); var r = ""; if (null != i && i.length > 0) for (var s = i.split("&"), o = 0; o < s.length; o++) { var a = s[o].split("="), h = o > 0; a[0] !== this._startName && a[0] !== this._endName && (h && (r += "&"), (r += s[o])); } return 0 === r.length ? t : t + "?" + r; }), e ); })(), y = (function () { function e(e, t, i) { (this.TAG = "IOController"), (this._config = t), (this._extraData = i), (this._stashInitialSize = 393216), null != t.stashInitialSize && t.stashInitialSize > 0 && (this._stashInitialSize = t.stashInitialSize), (this._stashUsed = 0), (this._stashSize = this._stashInitialSize), (this._bufferSize = 3145728), (this._stashBuffer = new ArrayBuffer(this._bufferSize)), (this._stashByteStart = 0), (this._enableStash = !0), !1 === t.enableStashBuffer && (this._enableStash = !1), (this._loader = null), (this._loaderClass = null), (this._seekHandler = null), (this._dataSource = e), (this._isWebSocketURL = /wss?:\/\/(.+?)/.test(e.url)), (this._refTotalLength = e.filesize ? e.filesize : null), (this._totalLength = this._refTotalLength), (this._fullRequestFlag = !1), (this._currentRange = null), (this._redirectedURL = null), (this._speedNormalized = 0), (this._speedSampler = new s()), (this._speedNormalizeList = [64, 128, 256, 384, 512, 768, 1024, 1536, 2048, 3072, 4096]), (this._isEarlyEofReconnecting = !1), (this._paused = !1), (this._resumeFrom = 0), (this._onDataArrival = null), (this._onSeeked = null), (this._onError = null), (this._onComplete = null), (this._onRedirect = null), (this._onRecoveredEarlyEof = null), this._selectSeekHandler(), this._selectLoader(), this._createLoader(); } return ( (e.prototype.destroy = function () { this._loader.isWorking() && this._loader.abort(), this._loader.destroy(), (this._loader = null), (this._loaderClass = null), (this._dataSource = null), (this._stashBuffer = null), (this._stashUsed = this._stashSize = this._bufferSize = this._stashByteStart = 0), (this._currentRange = null), (this._speedSampler = null), (this._isEarlyEofReconnecting = !1), (this._onDataArrival = null), (this._onSeeked = null), (this._onError = null), (this._onComplete = null), (this._onRedirect = null), (this._onRecoveredEarlyEof = null), (this._extraData = null); }), (e.prototype.isWorking = function () { return this._loader && this._loader.isWorking() && !this._paused; }), (e.prototype.isPaused = function () { return this._paused; }), Object.defineProperty(e.prototype, "status", { get: function () { return this._loader.status; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "extraData", { get: function () { return this._extraData; }, set: function (e) { this._extraData = e; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "onDataArrival", { get: function () { return this._onDataArrival; }, set: function (e) { this._onDataArrival = e; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "onSeeked", { get: function () { return this._onSeeked; }, set: function (e) { this._onSeeked = e; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "onError", { get: function () { return this._onError; }, set: function (e) { this._onError = e; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "onComplete", { get: function () { return this._onComplete; }, set: function (e) { this._onComplete = e; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "onRedirect", { get: function () { return this._onRedirect; }, set: function (e) { this._onRedirect = e; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "onRecoveredEarlyEof", { get: function () { return this._onRecoveredEarlyEof; }, set: function (e) { this._onRecoveredEarlyEof = e; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "currentURL", { get: function () { return this._dataSource.url; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "hasRedirect", { get: function () { return null != this._redirectedURL || null != this._dataSource.redirectedURL; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "currentRedirectedURL", { get: function () { return this._redirectedURL || this._dataSource.redirectedURL; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "currentSpeed", { get: function () { return this._loaderClass === _ ? this._loader.currentSpeed : this._speedSampler.lastSecondKBps; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "loaderType", { get: function () { return this._loader.type; }, enumerable: !1, configurable: !0, }), (e.prototype._selectSeekHandler = function () { var e = this._config; if ("range" === e.seekType) this._seekHandler = new g(this._config.rangeLoadZeroStart); else if ("param" === e.seekType) { var t = e.seekParamStart || "bstart", i = e.seekParamEnd || "bend"; this._seekHandler = new v(t, i); } else { if ("custom" !== e.seekType) throw new h.OC("Invalid seekType in config: " + e.seekType); if ("function" != typeof e.customSeekHandler) throw new h.OC("Custom seekType specified in config but invalid customSeekHandler!"); this._seekHandler = new e.customSeekHandler(); } }), (e.prototype._selectLoader = function () { if (null != this._config.customLoader) this._loaderClass = this._config.customLoader; else if (this._isWebSocketURL) this._loaderClass = m; else if (l.isSupported()) this._loaderClass = l; else if (c.isSupported()) this._loaderClass = c; else { if (!_.isSupported()) throw new h.OZ("Your browser doesn't support xhr with arraybuffer responseType!"); this._loaderClass = _; } }), (e.prototype._createLoader = function () { (this._loader = new this._loaderClass(this._seekHandler, this._config)), !1 === this._loader.needStashBuffer && (this._enableStash = !1), (this._loader.onContentLengthKnown = this._onContentLengthKnown.bind(this)), (this._loader.onURLRedirect = this._onURLRedirect.bind(this)), (this._loader.onDataArrival = this._onLoaderChunkArrival.bind(this)), (this._loader.onComplete = this._onLoaderComplete.bind(this)), (this._loader.onError = this._onLoaderError.bind(this)); }), (e.prototype.open = function (e) { (this._currentRange = { from: 0, to: -1 }), e && (this._currentRange.from = e), this._speedSampler.reset(), e || (this._fullRequestFlag = !0), this._loader.open(this._dataSource, Object.assign({}, this._currentRange)); }), (e.prototype.abort = function () { this._loader.abort(), this._paused && ((this._paused = !1), (this._resumeFrom = 0)); }), (e.prototype.pause = function () { this.isWorking() && (this._loader.abort(), 0 !== this._stashUsed ? ((this._resumeFrom = this._stashByteStart), (this._currentRange.to = this._stashByteStart - 1)) : (this._resumeFrom = this._currentRange.to + 1), (this._stashUsed = 0), (this._stashByteStart = 0), (this._paused = !0)); }), (e.prototype.resume = function () { if (this._paused) { this._paused = !1; var e = this._resumeFrom; (this._resumeFrom = 0), this._internalSeek(e, !0); } }), (e.prototype.seek = function (e) { (this._paused = !1), (this._stashUsed = 0), (this._stashByteStart = 0), this._internalSeek(e, !0); }), (e.prototype._internalSeek = function (e, t) { this._loader.isWorking() && this._loader.abort(), this._flushStashBuffer(t), this._loader.destroy(), (this._loader = null); var i = { from: e, to: -1 }; (this._currentRange = { from: i.from, to: -1 }), this._speedSampler.reset(), (this._stashSize = this._stashInitialSize), this._createLoader(), this._loader.open(this._dataSource, i), this._onSeeked && this._onSeeked(); }), (e.prototype.updateUrl = function (e) { if (!e || "string" != typeof e || 0 === e.length) throw new h.OC("Url must be a non-empty string!"); this._dataSource.url = e; }), (e.prototype._expandBuffer = function (e) { for (var t = this._stashSize; t + 1048576 < e; ) t *= 2; if ((t += 1048576) !== this._bufferSize) { var i = new ArrayBuffer(t); if (this._stashUsed > 0) { var n = new Uint8Array(this._stashBuffer, 0, this._stashUsed); new Uint8Array(i, 0, t).set(n, 0); } (this._stashBuffer = i), (this._bufferSize = t); } }), (e.prototype._normalizeSpeed = function (e) { var t = this._speedNormalizeList, i = t.length - 1, n = 0, r = 0, s = i; if (e < t[0]) return t[0]; for (; r <= s; ) { if ((n = r + Math.floor((s - r) / 2)) === i || (e >= t[n] && e < t[n + 1])) return t[n]; t[n] < e ? (r = n + 1) : (s = n - 1); } }), (e.prototype._adjustStashSize = function (e) { var t = 0; (t = this._config.isLive || e < 512 ? e : e >= 512 && e <= 1024 ? Math.floor(1.5 * e) : 2 * e) > 8192 && (t = 8192); var i = 1024 * t + 1048576; this._bufferSize < i && this._expandBuffer(i), (this._stashSize = 1024 * t); }), (e.prototype._dispatchChunks = function (e, t) { return (this._currentRange.to = t + e.byteLength - 1), this._onDataArrival(e, t); }), (e.prototype._onURLRedirect = function (e) { (this._redirectedURL = e), this._onRedirect && this._onRedirect(e); }), (e.prototype._onContentLengthKnown = function (e) { e && this._fullRequestFlag && ((this._totalLength = e), (this._fullRequestFlag = !1)); }), (e.prototype._onLoaderChunkArrival = function (e, t, i) { if (!this._onDataArrival) throw new h.rT("IOController: No existing consumer (onDataArrival) callback!"); if (!this._paused) { this._isEarlyEofReconnecting && ((this._isEarlyEofReconnecting = !1), this._onRecoveredEarlyEof && this._onRecoveredEarlyEof()), this._speedSampler.addBytes(e.byteLength); var n = this._speedSampler.lastSecondKBps; if (0 !== n) { var r = this._normalizeSpeed(n); this._speedNormalized !== r && ((this._speedNormalized = r), this._adjustStashSize(r)); } if (this._enableStash) if ( (0 === this._stashUsed && 0 === this._stashByteStart && (this._stashByteStart = t), this._stashUsed + e.byteLength <= this._stashSize) ) { (a = new Uint8Array(this._stashBuffer, 0, this._stashSize)).set(new Uint8Array(e), this._stashUsed), (this._stashUsed += e.byteLength); } else { a = new Uint8Array(this._stashBuffer, 0, this._bufferSize); if (this._stashUsed > 0) { var s = this._stashBuffer.slice(0, this._stashUsed); if ((u = this._dispatchChunks(s, this._stashByteStart)) < s.byteLength) { if (u > 0) { l = new Uint8Array(s, u); a.set(l, 0), (this._stashUsed = l.byteLength), (this._stashByteStart += u); } } else (this._stashUsed = 0), (this._stashByteStart += u); this._stashUsed + e.byteLength > this._bufferSize && (this._expandBuffer(this._stashUsed + e.byteLength), (a = new Uint8Array(this._stashBuffer, 0, this._bufferSize))), a.set(new Uint8Array(e), this._stashUsed), (this._stashUsed += e.byteLength); } else { if ((u = this._dispatchChunks(e, t)) < e.byteLength) (o = e.byteLength - u) > this._bufferSize && (this._expandBuffer(o), (a = new Uint8Array(this._stashBuffer, 0, this._bufferSize))), a.set(new Uint8Array(e, u), 0), (this._stashUsed += o), (this._stashByteStart = t + u); } } else if (0 === this._stashUsed) { var o; if ((u = this._dispatchChunks(e, t)) < e.byteLength) (o = e.byteLength - u) > this._bufferSize && this._expandBuffer(o), (a = new Uint8Array(this._stashBuffer, 0, this._bufferSize)).set(new Uint8Array(e, u), 0), (this._stashUsed += o), (this._stashByteStart = t + u); } else { var a, u; if ( (this._stashUsed + e.byteLength > this._bufferSize && this._expandBuffer(this._stashUsed + e.byteLength), (a = new Uint8Array(this._stashBuffer, 0, this._bufferSize)).set(new Uint8Array(e), this._stashUsed), (this._stashUsed += e.byteLength), (u = this._dispatchChunks(this._stashBuffer.slice(0, this._stashUsed), this._stashByteStart)) < this._stashUsed && u > 0) ) { var l = new Uint8Array(this._stashBuffer, u); a.set(l, 0); } (this._stashUsed -= u), (this._stashByteStart += u); } } }), (e.prototype._flushStashBuffer = function (e) { if (this._stashUsed > 0) { var t = this._stashBuffer.slice(0, this._stashUsed), i = this._dispatchChunks(t, this._stashByteStart), n = t.byteLength - i; if (i < t.byteLength) { if (!e) { if (i > 0) { var s = new Uint8Array(this._stashBuffer, 0, this._bufferSize), o = new Uint8Array(t, i); s.set(o, 0), (this._stashUsed = o.byteLength), (this._stashByteStart += i); } return 0; } r.Z.w(this.TAG, n + " bytes unconsumed data remain when flush buffer, dropped"); } return (this._stashUsed = 0), (this._stashByteStart = 0), n; } return 0; }), (e.prototype._onLoaderComplete = function (e, t) { this._flushStashBuffer(!0), this._onComplete && this._onComplete(this._extraData); }), (e.prototype._onLoaderError = function (e, t) { switch ( (r.Z.e(this.TAG, "Loader error, code = " + t.code + ", msg = " + t.msg), this._flushStashBuffer(!1), this._isEarlyEofReconnecting && ((this._isEarlyEofReconnecting = !1), (e = o.nm.UNRECOVERABLE_EARLY_EOF)), e) ) { case o.nm.EARLY_EOF: if (!this._config.isLive && this._totalLength) { var i = this._currentRange.to + 1; return void ( i < this._totalLength && (r.Z.w(this.TAG, "Connection lost, trying reconnect..."), (this._isEarlyEofReconnecting = !0), this._internalSeek(i, !1)) ); } e = o.nm.UNRECOVERABLE_EARLY_EOF; break; case o.nm.UNRECOVERABLE_EARLY_EOF: case o.nm.CONNECTING_TIMEOUT: case o.nm.HTTP_STATUS_CODE_INVALID: case o.nm.EXCEPTION: } if (!this._onError) throw new h.OZ("IOException: " + t.msg); this._onError(e, t); }), e ); })(); }, 939: function (e, t, i) { "use strict"; i.d(t, { GM: function () { return r; }, nm: function () { return s; }, fp: function () { return o; }, }); var n = i(29), r = { kIdle: 0, kConnecting: 1, kBuffering: 2, kError: 3, kComplete: 4 }, s = { OK: "OK", EXCEPTION: "Exception", HTTP_STATUS_CODE_INVALID: "HttpStatusCodeInvalid", CONNECTING_TIMEOUT: "ConnectingTimeout", EARLY_EOF: "EarlyEof", UNRECOVERABLE_EARLY_EOF: "UnrecoverableEarlyEof", }, o = (function () { function e(e) { (this._type = e || "undefined"), (this._status = r.kIdle), (this._needStash = !1), (this._onContentLengthKnown = null), (this._onURLRedirect = null), (this._onDataArrival = null), (this._onError = null), (this._onComplete = null); } return ( (e.prototype.destroy = function () { (this._status = r.kIdle), (this._onContentLengthKnown = null), (this._onURLRedirect = null), (this._onDataArrival = null), (this._onError = null), (this._onComplete = null); }), (e.prototype.isWorking = function () { return this._status === r.kConnecting || this._status === r.kBuffering; }), Object.defineProperty(e.prototype, "type", { get: function () { return this._type; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "status", { get: function () { return this._status; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "needStashBuffer", { get: function () { return this._needStash; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "onContentLengthKnown", { get: function () { return this._onContentLengthKnown; }, set: function (e) { this._onContentLengthKnown = e; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "onURLRedirect", { get: function () { return this._onURLRedirect; }, set: function (e) { this._onURLRedirect = e; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "onDataArrival", { get: function () { return this._onDataArrival; }, set: function (e) { this._onDataArrival = e; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "onError", { get: function () { return this._onError; }, set: function (e) { this._onError = e; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "onComplete", { get: function () { return this._onComplete; }, set: function (e) { this._onComplete = e; }, enumerable: !1, configurable: !0, }), (e.prototype.open = function (e, t) { throw new n.do("Unimplemented abstract function!"); }), (e.prototype.abort = function () { throw new n.do("Unimplemented abstract function!"); }), e ); })(); }, 538: function (e, t) { "use strict"; var i = {}; !(function () { var e = self.navigator.userAgent.toLowerCase(), t = /(edge)\/([\w.]+)/.exec(e) || /(opr)[\/]([\w.]+)/.exec(e) || /(chrome)[ \/]([\w.]+)/.exec(e) || /(iemobile)[\/]([\w.]+)/.exec(e) || /(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(e) || /(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(e) || /(webkit)[ \/]([\w.]+)/.exec(e) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e) || /(msie) ([\w.]+)/.exec(e) || (e.indexOf("trident") >= 0 && /(rv)(?::| )([\w.]+)/.exec(e)) || (e.indexOf("compatible") < 0 && /(firefox)[ \/]([\w.]+)/.exec(e)) || [], n = /(ipad)/.exec(e) || /(ipod)/.exec(e) || /(windows phone)/.exec(e) || /(iphone)/.exec(e) || /(kindle)/.exec(e) || /(android)/.exec(e) || /(windows)/.exec(e) || /(mac)/.exec(e) || /(linux)/.exec(e) || /(cros)/.exec(e) || [], r = { browser: t[5] || t[3] || t[1] || "", version: t[2] || t[4] || "0", majorVersion: t[4] || t[2] || "0", platform: n[0] || "" }, s = {}; if (r.browser) { s[r.browser] = !0; var o = r.majorVersion.split("."); (s.version = { major: parseInt(r.majorVersion, 10), string: r.version }), o.length > 1 && (s.version.minor = parseInt(o[1], 10)), o.length > 2 && (s.version.build = parseInt(o[2], 10)); } if ((r.platform && (s[r.platform] = !0), (s.chrome || s.opr || s.safari) && (s.webkit = !0), s.rv || s.iemobile)) { s.rv && delete s.rv; var a = "msie"; (r.browser = a), (s.msie = !0); } if (s.edge) { delete s.edge; var h = "msedge"; (r.browser = h), (s.msedge = !0); } if (s.opr) { var u = "opera"; (r.browser = u), (s.opera = !0); } if (s.safari && s.android) { var l = "android"; (r.browser = l), (s.android = !0); } for (var d in ((s.name = r.browser), (s.platform = r.platform), i)) i.hasOwnProperty(d) && delete i[d]; Object.assign(i, s); })(), (t.Z = i); }, 29: function (e, t, i) { "use strict"; i.d(t, { OZ: function () { return s; }, rT: function () { return o; }, OC: function () { return a; }, do: function () { return h; }, }); var n, r = ((n = function (e, t) { return (n = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (e, t) { e.__proto__ = t; }) || function (e, t) { for (var i in t) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]); })(e, t); }), function (e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Class extends value " + String(t) + " is not a constructor or null"); function i() { this.constructor = e; } n(e, t), (e.prototype = null === t ? Object.create(t) : ((i.prototype = t.prototype), new i())); }), s = (function () { function e(e) { this._message = e; } return ( Object.defineProperty(e.prototype, "name", { get: function () { return "RuntimeException"; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, "message", { get: function () { return this._message; }, enumerable: !1, configurable: !0, }), (e.prototype.toString = function () { return this.name + ": " + this.message; }), e ); })(), o = (function (e) { function t(t) { return e.call(this, t) || this; } return ( r(t, e), Object.defineProperty(t.prototype, "name", { get: function () { return "IllegalStateException"; }, enumerable: !1, configurable: !0, }), t ); })(s), a = (function (e) { function t(t) { return e.call(this, t) || this; } return ( r(t, e), Object.defineProperty(t.prototype, "name", { get: function () { return "InvalidArgumentException"; }, enumerable: !1, configurable: !0, }), t ); })(s), h = (function (e) { function t(t) { return e.call(this, t) || this; } return ( r(t, e), Object.defineProperty(t.prototype, "name", { get: function () { return "NotImplementedException"; }, enumerable: !1, configurable: !0, }), t ); })(s); }, 300: function (e, t, i) { "use strict"; var n = i(716), r = i.n(n), s = (function () { function e() {} return ( (e.e = function (t, i) { (t && !e.FORCE_GLOBAL_TAG) || (t = e.GLOBAL_TAG); var n = "[" + t + "] > " + i; e.ENABLE_CALLBACK && e.emitter.emit("log", "error", n), e.ENABLE_ERROR && (console.error ? console.error(n) : console.warn ? console.warn(n) : console.log(n)); }), (e.i = function (t, i) { (t && !e.FORCE_GLOBAL_TAG) || (t = e.GLOBAL_TAG); var n = "[" + t + "] > " + i; e.ENABLE_CALLBACK && e.emitter.emit("log", "info", n), e.ENABLE_INFO && (console.info ? console.info(n) : console.log(n)); }), (e.w = function (t, i) { (t && !e.FORCE_GLOBAL_TAG) || (t = e.GLOBAL_TAG); var n = "[" + t + "] > " + i; e.ENABLE_CALLBACK && e.emitter.emit("log", "warn", n), e.ENABLE_WARN && (console.warn ? console.warn(n) : console.log(n)); }), (e.d = function (t, i) { (t && !e.FORCE_GLOBAL_TAG) || (t = e.GLOBAL_TAG); var n = "[" + t + "] > " + i; e.ENABLE_CALLBACK && e.emitter.emit("log", "debug", n), e.ENABLE_DEBUG && (console.debug ? console.debug(n) : console.log(n)); }), (e.v = function (t, i) { (t && !e.FORCE_GLOBAL_TAG) || (t = e.GLOBAL_TAG); var n = "[" + t + "] > " + i; e.ENABLE_CALLBACK && e.emitter.emit("log", "verbose", n), e.ENABLE_VERBOSE && console.log(n); }), e ); })(); (s.GLOBAL_TAG = "flv.js"), (s.FORCE_GLOBAL_TAG = !1), (s.ENABLE_ERROR = !0), (s.ENABLE_INFO = !0), (s.ENABLE_WARN = !0), (s.ENABLE_DEBUG = !0), (s.ENABLE_VERBOSE = !0), (s.ENABLE_CALLBACK = !1), (s.emitter = new (r())()), (t.Z = s); }, 846: function (e, t, i) { "use strict"; var n = i(716), r = i.n(n), s = i(300), o = (function () { function e() {} return ( Object.defineProperty(e, "forceGlobalTag", { get: function () { return s.Z.FORCE_GLOBAL_TAG; }, set: function (t) { (s.Z.FORCE_GLOBAL_TAG = t), e._notifyChange(); }, enumerable: !1, configurable: !0, }), Object.defineProperty(e, "globalTag", { get: function () { return s.Z.GLOBAL_TAG; }, set: function (t) { (s.Z.GLOBAL_TAG = t), e._notifyChange(); }, enumerable: !1, configurable: !0, }), Object.defineProperty(e, "enableAll", { get: function () { return s.Z.ENABLE_VERBOSE && s.Z.ENABLE_DEBUG && s.Z.ENABLE_INFO && s.Z.ENABLE_WARN && s.Z.ENABLE_ERROR; }, set: function (t) { (s.Z.ENABLE_VERBOSE = t), (s.Z.ENABLE_DEBUG = t), (s.Z.ENABLE_INFO = t), (s.Z.ENABLE_WARN = t), (s.Z.ENABLE_ERROR = t), e._notifyChange(); }, enumerable: !1, configurable: !0, }), Object.defineProperty(e, "enableDebug", { get: function () { return s.Z.ENABLE_DEBUG; }, set: function (t) { (s.Z.ENABLE_DEBUG = t), e._notifyChange(); }, enumerable: !1, configurable: !0, }), Object.defineProperty(e, "enableVerbose", { get: function () { return s.Z.ENABLE_VERBOSE; }, set: function (t) { (s.Z.ENABLE_VERBOSE = t), e._notifyChange(); }, enumerable: !1, configurable: !0, }), Object.defineProperty(e, "enableInfo", { get: function () { return s.Z.ENABLE_INFO; }, set: function (t) { (s.Z.ENABLE_INFO = t), e._notifyChange(); }, enumerable: !1, configurable: !0, }), Object.defineProperty(e, "enableWarn", { get: function () { return s.Z.ENABLE_WARN; }, set: function (t) { (s.Z.ENABLE_WARN = t), e._notifyChange(); }, enumerable: !1, configurable: !0, }), Object.defineProperty(e, "enableError", { get: function () { return s.Z.ENABLE_ERROR; }, set: function (t) { (s.Z.ENABLE_ERROR = t), e._notifyChange(); }, enumerable: !1, configurable: !0, }), (e.getConfig = function () { return { globalTag: s.Z.GLOBAL_TAG, forceGlobalTag: s.Z.FORCE_GLOBAL_TAG, enableVerbose: s.Z.ENABLE_VERBOSE, enableDebug: s.Z.ENABLE_DEBUG, enableInfo: s.Z.ENABLE_INFO, enableWarn: s.Z.ENABLE_WARN, enableError: s.Z.ENABLE_ERROR, enableCallback: s.Z.ENABLE_CALLBACK, }; }), (e.applyConfig = function (e) { (s.Z.GLOBAL_TAG = e.globalTag), (s.Z.FORCE_GLOBAL_TAG = e.forceGlobalTag), (s.Z.ENABLE_VERBOSE = e.enableVerbose), (s.Z.ENABLE_DEBUG = e.enableDebug), (s.Z.ENABLE_INFO = e.enableInfo), (s.Z.ENABLE_WARN = e.enableWarn), (s.Z.ENABLE_ERROR = e.enableError), (s.Z.ENABLE_CALLBACK = e.enableCallback); }), (e._notifyChange = function () { var t = e.emitter; if (t.listenerCount("change") > 0) { var i = e.getConfig(); t.emit("change", i); } }), (e.registerListener = function (t) { e.emitter.addListener("change", t); }), (e.removeListener = function (t) { e.emitter.removeListener("change", t); }), (e.addLogListener = function (t) { s.Z.emitter.addListener("log", t), s.Z.emitter.listenerCount("log") > 0 && ((s.Z.ENABLE_CALLBACK = !0), e._notifyChange()); }), (e.removeLogListener = function (t) { s.Z.emitter.removeListener("log", t), 0 === s.Z.emitter.listenerCount("log") && ((s.Z.ENABLE_CALLBACK = !1), e._notifyChange()); }), e ); })(); (o.emitter = new (r())()), (t.Z = o); }, 219: function (e, t, i) { "use strict"; var n = (function () { function e() {} return ( (e.install = function () { (Object.setPrototypeOf = Object.setPrototypeOf || function (e, t) { return (e.__proto__ = t), e; }), (Object.assign = Object.assign || function (e) { if (null == e) throw new TypeError("Cannot convert undefined or null to object"); for (var t = Object(e), i = 1; i < arguments.length; i++) { var n = arguments[i]; if (null != n) for (var r in n) n.hasOwnProperty(r) && (t[r] = n[r]); } return t; }), "function" != typeof self.Promise && i(264).polyfill(); }), e ); })(); n.install(), (t.Z = n); }, }, t = {}; function i(n) { var r = t[n]; if (void 0 !== r) return r.exports; var s = (t[n] = { exports: {} }); return e[n].call(s.exports, s, s.exports, i), s.exports; } return ( (i.m = e), (i.n = function (e) { var t = e && e.__esModule ? function () { return e.default; } : function () { return e; }; return i.d(t, { a: t }), t; }), (i.d = function (e, t) { for (var n in t) i.o(t, n) && !i.o(e, n) && Object.defineProperty(e, n, { enumerable: !0, get: t[n] }); }), (i.g = (function () { if ("object" == typeof globalThis) return globalThis; try { return this || new Function("return this")(); } catch (e) { if ("object" == typeof window) return window; } })()), (i.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t); }), i(324) ); })(); }); //# sourceMappingURL=flv.min.js.map