ranui
Version:
UI Component library based on `Web Component`
1,094 lines • 612 kB
JavaScript
var __defProp = Object.defineProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
import { d as createDocumentFragment, S as SyncHook, r as removeClassToElement, a as addClassToElement, t as timeFormat, f as range, h as generateThrottle } from "./plus-BQnIzzvi.js";
import "./index-B29A7XWy.js";
import { H as HTMLElementSSR } from "./index-9tJmVuyv.js";
!function t(e) {
var r, i;
r = this, i = function() {
function r2(t2, e2) {
var r3 = Object.keys(t2);
if (Object.getOwnPropertySymbols) {
var i3 = Object.getOwnPropertySymbols(t2);
e2 && (i3 = i3.filter(function(e3) {
return Object.getOwnPropertyDescriptor(t2, e3).enumerable;
})), r3.push.apply(r3, i3);
}
return r3;
}
function i2(t2) {
for (var e2 = 1; e2 < arguments.length; e2++) {
var i3 = null != arguments[e2] ? arguments[e2] : {};
e2 % 2 ? r2(Object(i3), true).forEach(function(e3) {
s(t2, e3, i3[e3]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t2, Object.getOwnPropertyDescriptors(i3)) : r2(Object(i3)).forEach(function(e3) {
Object.defineProperty(t2, e3, Object.getOwnPropertyDescriptor(i3, e3));
});
}
return t2;
}
function n(t2, e2) {
for (var r3 = 0; r3 < e2.length; r3++) {
var i3 = e2[r3];
i3.enumerable = i3.enumerable || false, i3.configurable = true, "value" in i3 && (i3.writable = true), Object.defineProperty(t2, m(i3.key), i3);
}
}
function a(t2, e2, r3) {
return e2 && n(t2.prototype, e2), r3 && n(t2, r3), Object.defineProperty(t2, "prototype", {
writable: false
}), t2;
}
function s(t2, e2, r3) {
return (e2 = m(e2)) in t2 ? Object.defineProperty(t2, e2, {
value: r3,
enumerable: true,
configurable: true,
writable: true
}) : t2[e2] = r3, t2;
}
function o() {
return o = Object.assign ? Object.assign.bind() : function(t2) {
for (var e2 = 1; e2 < arguments.length; e2++) {
var r3 = arguments[e2];
for (var i3 in r3) Object.prototype.hasOwnProperty.call(r3, i3) && (t2[i3] = r3[i3]);
}
return t2;
}, o.apply(this, arguments);
}
function l(t2, e2) {
t2.prototype = Object.create(e2.prototype), t2.prototype.constructor = t2, h(t2, e2);
}
function u(t2) {
return u = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(t3) {
return t3.__proto__ || Object.getPrototypeOf(t3);
}, u(t2);
}
function h(t2, e2) {
return h = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(t3, e3) {
return t3.__proto__ = e3, t3;
}, h(t2, e2);
}
function d() {
if ("undefined" == typeof Reflect || !Reflect.construct) return false;
if (Reflect.construct.sham) return false;
if ("function" == typeof Proxy) return true;
try {
return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
})), true;
} catch (t2) {
return false;
}
}
function c(t2, e2, r3) {
return c = d() ? Reflect.construct.bind() : function(t3, e3, r4) {
var i3 = [null];
i3.push.apply(i3, e3);
var n2 = new (Function.bind.apply(t3, i3))();
return r4 && h(n2, r4.prototype), n2;
}, c.apply(null, arguments);
}
function f(t2) {
var e2 = "function" == typeof Map ? /* @__PURE__ */ new Map() : void 0;
return f = function(t3) {
if (null === t3 || (r3 = t3, -1 === Function.toString.call(r3).indexOf("[native code]"))) return t3;
var r3;
if ("function" != typeof t3) throw new TypeError("Super expression must either be null or a function");
if (void 0 !== e2) {
if (e2.has(t3)) return e2.get(t3);
e2.set(t3, i3);
}
function i3() {
return c(t3, arguments, u(this).constructor);
}
return i3.prototype = Object.create(t3.prototype, {
constructor: {
value: i3,
enumerable: false,
writable: true,
configurable: true
}
}), h(i3, t3);
}, f(t2);
}
function g(t2, e2) {
(null == e2 || e2 > t2.length) && (e2 = t2.length);
for (var r3 = 0, i3 = new Array(e2); r3 < e2; r3++) i3[r3] = t2[r3];
return i3;
}
function v(t2, e2) {
var r3 = "undefined" != typeof Symbol && t2[Symbol.iterator] || t2["@@iterator"];
if (r3) return (r3 = r3.call(t2)).next.bind(r3);
if (Array.isArray(t2) || (r3 = function(t3, e3) {
if (t3) {
if ("string" == typeof t3) return g(t3, e3);
var r4 = Object.prototype.toString.call(t3).slice(8, -1);
return "Object" === r4 && t3.constructor && (r4 = t3.constructor.name), "Map" === r4 || "Set" === r4 ? Array.from(t3) : "Arguments" === r4 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r4) ? g(t3, e3) : void 0;
}
}(t2)) || e2) {
r3 && (t2 = r3);
var i3 = 0;
return function() {
return i3 >= t2.length ? {
done: true
} : {
done: false,
value: t2[i3++]
};
};
}
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function m(t2) {
var e2 = function(t3, e3) {
if ("object" != typeof t3 || null === t3) return t3;
var r3 = t3[Symbol.toPrimitive];
if (void 0 !== r3) {
var i3 = r3.call(t3, e3);
if ("object" != typeof i3) return i3;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return ("string" === e3 ? String : Number)(t3);
}(t2, "string");
return "symbol" == typeof e2 ? e2 : String(e2);
}
function p(t2) {
return t2 && t2.__esModule && Object.prototype.hasOwnProperty.call(t2, "default") ? t2.default : t2;
}
var y = {
exports: {}
};
!function(t2, e2) {
var r3, i3, n2, a2, s2;
r3 = /^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/, i3 = /^(?=([^\/?#]*))\1([^]*)$/, n2 = /(?:\/|^)\.(?=\/)/g, a2 = /(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g, s2 = {
buildAbsoluteURL: function(t3, e3, r4) {
if (r4 = r4 || {}, t3 = t3.trim(), !(e3 = e3.trim())) {
if (!r4.alwaysNormalize) return t3;
var n3 = s2.parseURL(t3);
if (!n3) throw new Error("Error trying to parse base URL.");
return n3.path = s2.normalizePath(n3.path), s2.buildURLFromParts(n3);
}
var a3 = s2.parseURL(e3);
if (!a3) throw new Error("Error trying to parse relative URL.");
if (a3.scheme) return r4.alwaysNormalize ? (a3.path = s2.normalizePath(a3.path), s2.buildURLFromParts(a3)) : e3;
var o2 = s2.parseURL(t3);
if (!o2) throw new Error("Error trying to parse base URL.");
if (!o2.netLoc && o2.path && "/" !== o2.path[0]) {
var l2 = i3.exec(o2.path);
o2.netLoc = l2[1], o2.path = l2[2];
}
o2.netLoc && !o2.path && (o2.path = "/");
var u2 = {
scheme: o2.scheme,
netLoc: a3.netLoc,
path: null,
params: a3.params,
query: a3.query,
fragment: a3.fragment
};
if (!a3.netLoc && (u2.netLoc = o2.netLoc, "/" !== a3.path[0])) if (a3.path) {
var h2 = o2.path, d2 = h2.substring(0, h2.lastIndexOf("/") + 1) + a3.path;
u2.path = s2.normalizePath(d2);
} else u2.path = o2.path, a3.params || (u2.params = o2.params, a3.query || (u2.query = o2.query));
return null === u2.path && (u2.path = r4.alwaysNormalize ? s2.normalizePath(a3.path) : a3.path), s2.buildURLFromParts(u2);
},
parseURL: function(t3) {
var e3 = r3.exec(t3);
return e3 ? {
scheme: e3[1] || "",
netLoc: e3[2] || "",
path: e3[3] || "",
params: e3[4] || "",
query: e3[5] || "",
fragment: e3[6] || ""
} : null;
},
normalizePath: function(t3) {
for (t3 = t3.split("").reverse().join("").replace(n2, ""); t3.length !== (t3 = t3.replace(a2, "")).length; ) ;
return t3.split("").reverse().join("");
},
buildURLFromParts: function(t3) {
return t3.scheme + t3.netLoc + t3.path + t3.params + t3.query + t3.fragment;
}
}, t2.exports = s2;
}(y);
var T = y.exports, E = Number.isFinite || function(t2) {
return "number" == typeof t2 && isFinite(t2);
}, S = function(t2) {
return t2.MEDIA_ATTACHING = "hlsMediaAttaching", t2.MEDIA_ATTACHED = "hlsMediaAttached", t2.MEDIA_DETACHING = "hlsMediaDetaching", t2.MEDIA_DETACHED = "hlsMediaDetached", t2.BUFFER_RESET = "hlsBufferReset", t2.BUFFER_CODECS = "hlsBufferCodecs", t2.BUFFER_CREATED = "hlsBufferCreated", t2.BUFFER_APPENDING = "hlsBufferAppending", t2.BUFFER_APPENDED = "hlsBufferAppended", t2.BUFFER_EOS = "hlsBufferEos", t2.BUFFER_FLUSHING = "hlsBufferFlushing", t2.BUFFER_FLUSHED = "hlsBufferFlushed", t2.MANIFEST_LOADING = "hlsManifestLoading", t2.MANIFEST_LOADED = "hlsManifestLoaded", t2.MANIFEST_PARSED = "hlsManifestParsed", t2.LEVEL_SWITCHING = "hlsLevelSwitching", t2.LEVEL_SWITCHED = "hlsLevelSwitched", t2.LEVEL_LOADING = "hlsLevelLoading", t2.LEVEL_LOADED = "hlsLevelLoaded", t2.LEVEL_UPDATED = "hlsLevelUpdated", t2.LEVEL_PTS_UPDATED = "hlsLevelPtsUpdated", t2.LEVELS_UPDATED = "hlsLevelsUpdated", t2.AUDIO_TRACKS_UPDATED = "hlsAudioTracksUpdated", t2.AUDIO_TRACK_SWITCHING = "hlsAudioTrackSwitching", t2.AUDIO_TRACK_SWITCHED = "hlsAudioTrackSwitched", t2.AUDIO_TRACK_LOADING = "hlsAudioTrackLoading", t2.AUDIO_TRACK_LOADED = "hlsAudioTrackLoaded", t2.SUBTITLE_TRACKS_UPDATED = "hlsSubtitleTracksUpdated", t2.SUBTITLE_TRACKS_CLEARED = "hlsSubtitleTracksCleared", t2.SUBTITLE_TRACK_SWITCH = "hlsSubtitleTrackSwitch", t2.SUBTITLE_TRACK_LOADING = "hlsSubtitleTrackLoading", t2.SUBTITLE_TRACK_LOADED = "hlsSubtitleTrackLoaded", t2.SUBTITLE_FRAG_PROCESSED = "hlsSubtitleFragProcessed", t2.CUES_PARSED = "hlsCuesParsed", t2.NON_NATIVE_TEXT_TRACKS_FOUND = "hlsNonNativeTextTracksFound", t2.INIT_PTS_FOUND = "hlsInitPtsFound", t2.FRAG_LOADING = "hlsFragLoading", t2.FRAG_LOAD_EMERGENCY_ABORTED = "hlsFragLoadEmergencyAborted", t2.FRAG_LOADED = "hlsFragLoaded", t2.FRAG_DECRYPTED = "hlsFragDecrypted", t2.FRAG_PARSING_INIT_SEGMENT = "hlsFragParsingInitSegment", t2.FRAG_PARSING_USERDATA = "hlsFragParsingUserdata", t2.FRAG_PARSING_METADATA = "hlsFragParsingMetadata", t2.FRAG_PARSED = "hlsFragParsed", t2.FRAG_BUFFERED = "hlsFragBuffered", t2.FRAG_CHANGED = "hlsFragChanged", t2.FPS_DROP = "hlsFpsDrop", t2.FPS_DROP_LEVEL_CAPPING = "hlsFpsDropLevelCapping", t2.ERROR = "hlsError", t2.DESTROYING = "hlsDestroying", t2.KEY_LOADING = "hlsKeyLoading", t2.KEY_LOADED = "hlsKeyLoaded", t2.LIVE_BACK_BUFFER_REACHED = "hlsLiveBackBufferReached", t2.BACK_BUFFER_REACHED = "hlsBackBufferReached", t2;
}({}), L = function(t2) {
return t2.NETWORK_ERROR = "networkError", t2.MEDIA_ERROR = "mediaError", t2.KEY_SYSTEM_ERROR = "keySystemError", t2.MUX_ERROR = "muxError", t2.OTHER_ERROR = "otherError", t2;
}({}), R = function(t2) {
return t2.KEY_SYSTEM_NO_KEYS = "keySystemNoKeys", t2.KEY_SYSTEM_NO_ACCESS = "keySystemNoAccess", t2.KEY_SYSTEM_NO_SESSION = "keySystemNoSession", t2.KEY_SYSTEM_NO_CONFIGURED_LICENSE = "keySystemNoConfiguredLicense", t2.KEY_SYSTEM_LICENSE_REQUEST_FAILED = "keySystemLicenseRequestFailed", t2.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED = "keySystemServerCertificateRequestFailed", t2.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED = "keySystemServerCertificateUpdateFailed", t2.KEY_SYSTEM_SESSION_UPDATE_FAILED = "keySystemSessionUpdateFailed", t2.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED = "keySystemStatusOutputRestricted", t2.KEY_SYSTEM_STATUS_INTERNAL_ERROR = "keySystemStatusInternalError", t2.MANIFEST_LOAD_ERROR = "manifestLoadError", t2.MANIFEST_LOAD_TIMEOUT = "manifestLoadTimeOut", t2.MANIFEST_PARSING_ERROR = "manifestParsingError", t2.MANIFEST_INCOMPATIBLE_CODECS_ERROR = "manifestIncompatibleCodecsError", t2.LEVEL_EMPTY_ERROR = "levelEmptyError", t2.LEVEL_LOAD_ERROR = "levelLoadError", t2.LEVEL_LOAD_TIMEOUT = "levelLoadTimeOut", t2.LEVEL_PARSING_ERROR = "levelParsingError", t2.LEVEL_SWITCH_ERROR = "levelSwitchError", t2.AUDIO_TRACK_LOAD_ERROR = "audioTrackLoadError", t2.AUDIO_TRACK_LOAD_TIMEOUT = "audioTrackLoadTimeOut", t2.SUBTITLE_LOAD_ERROR = "subtitleTrackLoadError", t2.SUBTITLE_TRACK_LOAD_TIMEOUT = "subtitleTrackLoadTimeOut", t2.FRAG_LOAD_ERROR = "fragLoadError", t2.FRAG_LOAD_TIMEOUT = "fragLoadTimeOut", t2.FRAG_DECRYPT_ERROR = "fragDecryptError", t2.FRAG_PARSING_ERROR = "fragParsingError", t2.FRAG_GAP = "fragGap", t2.REMUX_ALLOC_ERROR = "remuxAllocError", t2.KEY_LOAD_ERROR = "keyLoadError", t2.KEY_LOAD_TIMEOUT = "keyLoadTimeOut", t2.BUFFER_ADD_CODEC_ERROR = "bufferAddCodecError", t2.BUFFER_INCOMPATIBLE_CODECS_ERROR = "bufferIncompatibleCodecsError", t2.BUFFER_APPEND_ERROR = "bufferAppendError", t2.BUFFER_APPENDING_ERROR = "bufferAppendingError", t2.BUFFER_STALLED_ERROR = "bufferStalledError", t2.BUFFER_FULL_ERROR = "bufferFullError", t2.BUFFER_SEEK_OVER_HOLE = "bufferSeekOverHole", t2.BUFFER_NUDGE_ON_STALL = "bufferNudgeOnStall", t2.INTERNAL_EXCEPTION = "internalException", t2.INTERNAL_ABORTED = "aborted", t2.UNKNOWN = "unknown", t2;
}({}), A = function() {
}, k = {
trace: A,
debug: A,
log: A,
warn: A,
info: A,
error: A
}, b = k;
function D(t2) {
var e2 = self.console[t2];
return e2 ? e2.bind(self.console, "[" + t2 + "] >") : A;
}
function I(t2, e2) {
if (self.console && true === t2 || "object" == typeof t2) {
!function(t3) {
for (var e3 = arguments.length, r3 = new Array(e3 > 1 ? e3 - 1 : 0), i3 = 1; i3 < e3; i3++) r3[i3 - 1] = arguments[i3];
r3.forEach(function(e4) {
b[e4] = t3[e4] ? t3[e4].bind(t3) : D(e4);
});
}(t2, "debug", "log", "info", "warn", "error");
try {
b.log('Debug logs enabled for "' + e2 + '" in hls.js version 1.4.12');
} catch (t3) {
b = k;
}
} else b = k;
}
var w = b, C = /^(\d+)x(\d+)$/, _ = /(.+?)=(".*?"|.*?)(?:,|$)/g, P = function() {
function t2(e3) {
for (var r3 in "string" == typeof e3 && (e3 = t2.parseAttrList(e3)), e3) e3.hasOwnProperty(r3) && ("X-" === r3.substring(0, 2) && (this.clientAttrs = this.clientAttrs || [], this.clientAttrs.push(r3)), this[r3] = e3[r3]);
}
var e2 = t2.prototype;
return e2.decimalInteger = function(t3) {
var e3 = parseInt(this[t3], 10);
return e3 > Number.MAX_SAFE_INTEGER ? 1 / 0 : e3;
}, e2.hexadecimalInteger = function(t3) {
if (this[t3]) {
var e3 = (this[t3] || "0x").slice(2);
e3 = (1 & e3.length ? "0" : "") + e3;
for (var r3 = new Uint8Array(e3.length / 2), i3 = 0; i3 < e3.length / 2; i3++) r3[i3] = parseInt(e3.slice(2 * i3, 2 * i3 + 2), 16);
return r3;
}
return null;
}, e2.hexadecimalIntegerAsNumber = function(t3) {
var e3 = parseInt(this[t3], 16);
return e3 > Number.MAX_SAFE_INTEGER ? 1 / 0 : e3;
}, e2.decimalFloatingPoint = function(t3) {
return parseFloat(this[t3]);
}, e2.optionalFloat = function(t3, e3) {
var r3 = this[t3];
return r3 ? parseFloat(r3) : e3;
}, e2.enumeratedString = function(t3) {
return this[t3];
}, e2.bool = function(t3) {
return "YES" === this[t3];
}, e2.decimalResolution = function(t3) {
var e3 = C.exec(this[t3]);
if (null !== e3) return {
width: parseInt(e3[1], 10),
height: parseInt(e3[2], 10)
};
}, t2.parseAttrList = function(t3) {
var e3, r3 = {};
for (_.lastIndex = 0; null !== (e3 = _.exec(t3)); ) {
var i3 = e3[2];
0 === i3.indexOf('"') && i3.lastIndexOf('"') === i3.length - 1 && (i3 = i3.slice(1, -1)), r3[e3[1].trim()] = i3;
}
return r3;
}, t2;
}();
function x(t2) {
return "SCTE35-OUT" === t2 || "SCTE35-IN" === t2;
}
var F = function() {
function t2(t3, e2) {
if (this.attr = void 0, this._startDate = void 0, this._endDate = void 0, this._badValueForSameId = void 0, e2) {
var r3 = e2.attr;
for (var i3 in r3) if (Object.prototype.hasOwnProperty.call(t3, i3) && t3[i3] !== r3[i3]) {
w.warn('DATERANGE tag attribute: "' + i3 + '" does not match for tags with ID: "' + t3.ID + '"'), this._badValueForSameId = i3;
break;
}
t3 = o(new P({}), r3, t3);
}
if (this.attr = t3, this._startDate = new Date(t3["START-DATE"]), "END-DATE" in this.attr) {
var n2 = new Date(this.attr["END-DATE"]);
E(n2.getTime()) && (this._endDate = n2);
}
}
return a(t2, [{
key: "id",
get: function() {
return this.attr.ID;
}
}, {
key: "class",
get: function() {
return this.attr.CLASS;
}
}, {
key: "startDate",
get: function() {
return this._startDate;
}
}, {
key: "endDate",
get: function() {
if (this._endDate) return this._endDate;
var t3 = this.duration;
return null !== t3 ? new Date(this._startDate.getTime() + 1e3 * t3) : null;
}
}, {
key: "duration",
get: function() {
if ("DURATION" in this.attr) {
var t3 = this.attr.decimalFloatingPoint("DURATION");
if (E(t3)) return t3;
} else if (this._endDate) return (this._endDate.getTime() - this._startDate.getTime()) / 1e3;
return null;
}
}, {
key: "plannedDuration",
get: function() {
return "PLANNED-DURATION" in this.attr ? this.attr.decimalFloatingPoint("PLANNED-DURATION") : null;
}
}, {
key: "endOnNext",
get: function() {
return this.attr.bool("END-ON-NEXT");
}
}, {
key: "isValid",
get: function() {
return !!this.id && !this._badValueForSameId && E(this.startDate.getTime()) && (null === this.duration || this.duration >= 0) && (!this.endOnNext || !!this.class);
}
}]), t2;
}(), M = function() {
this.aborted = false, this.loaded = 0, this.retry = 0, this.total = 0, this.chunkCount = 0, this.bwEstimate = 0, this.loading = {
start: 0,
first: 0,
end: 0
}, this.parsing = {
start: 0,
end: 0
}, this.buffering = {
start: 0,
first: 0,
end: 0
};
}, O = "audio", N = "video", U = "audiovideo", B = function() {
function t2(t3) {
var e2;
this._byteRange = null, this._url = null, this.baseurl = void 0, this.relurl = void 0, this.elementaryStreams = ((e2 = {})[O] = null, e2[N] = null, e2[U] = null, e2), this.baseurl = t3;
}
return t2.prototype.setByteRange = function(t3, e2) {
var r3 = t3.split("@", 2), i3 = [];
1 === r3.length ? i3[0] = e2 ? e2.byteRangeEndOffset : 0 : i3[0] = parseInt(r3[1]), i3[1] = parseInt(r3[0]) + i3[0], this._byteRange = i3;
}, a(t2, [{
key: "byteRange",
get: function() {
return this._byteRange ? this._byteRange : [];
}
}, {
key: "byteRangeStartOffset",
get: function() {
return this.byteRange[0];
}
}, {
key: "byteRangeEndOffset",
get: function() {
return this.byteRange[1];
}
}, {
key: "url",
get: function() {
return !this._url && this.baseurl && this.relurl && (this._url = T.buildAbsoluteURL(this.baseurl, this.relurl, {
alwaysNormalize: true
})), this._url || "";
},
set: function(t3) {
this._url = t3;
}
}]), t2;
}(), G = function(t2) {
function e2(e3, r4) {
var i3;
return (i3 = t2.call(this, r4) || this)._decryptdata = null, i3.rawProgramDateTime = null, i3.programDateTime = null, i3.tagList = [], i3.duration = 0, i3.sn = 0, i3.levelkeys = void 0, i3.type = void 0, i3.loader = null, i3.keyLoader = null, i3.level = -1, i3.cc = 0, i3.startPTS = void 0, i3.endPTS = void 0, i3.startDTS = void 0, i3.endDTS = void 0, i3.start = 0, i3.deltaPTS = void 0, i3.maxStartPTS = void 0, i3.minEndPTS = void 0, i3.stats = new M(), i3.urlId = 0, i3.data = void 0, i3.bitrateTest = false, i3.title = null, i3.initSegment = null, i3.endList = void 0, i3.gap = void 0, i3.type = e3, i3;
}
l(e2, t2);
var r3 = e2.prototype;
return r3.setKeyFormat = function(t3) {
if (this.levelkeys) {
var e3 = this.levelkeys[t3];
e3 && !this._decryptdata && (this._decryptdata = e3.getDecryptData(this.sn));
}
}, r3.abortRequests = function() {
var t3, e3;
null == (t3 = this.loader) || t3.abort(), null == (e3 = this.keyLoader) || e3.abort();
}, r3.setElementaryStreamInfo = function(t3, e3, r4, i3, n2, a2) {
void 0 === a2 && (a2 = false);
var s2 = this.elementaryStreams, o2 = s2[t3];
o2 ? (o2.startPTS = Math.min(o2.startPTS, e3), o2.endPTS = Math.max(o2.endPTS, r4), o2.startDTS = Math.min(o2.startDTS, i3), o2.endDTS = Math.max(o2.endDTS, n2)) : s2[t3] = {
startPTS: e3,
endPTS: r4,
startDTS: i3,
endDTS: n2,
partial: a2
};
}, r3.clearElementaryStreamInfo = function() {
var t3 = this.elementaryStreams;
t3[O] = null, t3[N] = null, t3[U] = null;
}, a(e2, [{
key: "decryptdata",
get: function() {
if (!this.levelkeys && !this._decryptdata) return null;
if (!this._decryptdata && this.levelkeys && !this.levelkeys.NONE) {
var t3 = this.levelkeys.identity;
if (t3) this._decryptdata = t3.getDecryptData(this.sn);
else {
var e3 = Object.keys(this.levelkeys);
if (1 === e3.length) return this._decryptdata = this.levelkeys[e3[0]].getDecryptData(this.sn);
}
}
return this._decryptdata;
}
}, {
key: "end",
get: function() {
return this.start + this.duration;
}
}, {
key: "endProgramDateTime",
get: function() {
if (null === this.programDateTime) return null;
if (!E(this.programDateTime)) return null;
var t3 = E(this.duration) ? this.duration : 0;
return this.programDateTime + 1e3 * t3;
}
}, {
key: "encrypted",
get: function() {
var t3;
if (null != (t3 = this._decryptdata) && t3.encrypted) return true;
if (this.levelkeys) {
var e3 = Object.keys(this.levelkeys), r4 = e3.length;
if (r4 > 1 || 1 === r4 && this.levelkeys[e3[0]].encrypted) return true;
}
return false;
}
}]), e2;
}(B), K = function(t2) {
function e2(e3, r3, i3, n2, a2) {
var s2;
(s2 = t2.call(this, i3) || this).fragOffset = 0, s2.duration = 0, s2.gap = false, s2.independent = false, s2.relurl = void 0, s2.fragment = void 0, s2.index = void 0, s2.stats = new M(), s2.duration = e3.decimalFloatingPoint("DURATION"), s2.gap = e3.bool("GAP"), s2.independent = e3.bool("INDEPENDENT"), s2.relurl = e3.enumeratedString("URI"), s2.fragment = r3, s2.index = n2;
var o2 = e3.enumeratedString("BYTERANGE");
return o2 && s2.setByteRange(o2, a2), a2 && (s2.fragOffset = a2.fragOffset + a2.duration), s2;
}
return l(e2, t2), a(e2, [{
key: "start",
get: function() {
return this.fragment.start + this.fragOffset;
}
}, {
key: "end",
get: function() {
return this.start + this.duration;
}
}, {
key: "loaded",
get: function() {
var t3 = this.elementaryStreams;
return !!(t3.audio || t3.video || t3.audiovideo);
}
}]), e2;
}(B), H = function() {
function t2(t3) {
this.PTSKnown = false, this.alignedSliding = false, this.averagetargetduration = void 0, this.endCC = 0, this.endSN = 0, this.fragments = void 0, this.fragmentHint = void 0, this.partList = null, this.dateRanges = void 0, this.live = true, this.ageHeader = 0, this.advancedDateTime = void 0, this.updated = true, this.advanced = true, this.availabilityDelay = void 0, this.misses = 0, this.startCC = 0, this.startSN = 0, this.startTimeOffset = null, this.targetduration = 0, this.totalduration = 0, this.type = null, this.url = void 0, this.m3u8 = "", this.version = null, this.canBlockReload = false, this.canSkipUntil = 0, this.canSkipDateRanges = false, this.skippedSegments = 0, this.recentlyRemovedDateranges = void 0, this.partHoldBack = 0, this.holdBack = 0, this.partTarget = 0, this.preloadHint = void 0, this.renditionReports = void 0, this.tuneInGoal = 0, this.deltaUpdateFailed = void 0, this.driftStartTime = 0, this.driftEndTime = 0, this.driftStart = 0, this.driftEnd = 0, this.encryptedFragments = void 0, this.playlistParsingError = null, this.variableList = null, this.hasVariableRefs = false, this.fragments = [], this.encryptedFragments = [], this.dateRanges = {}, this.url = t3;
}
return t2.prototype.reloaded = function(t3) {
if (!t3) return this.advanced = true, void (this.updated = true);
var e2 = this.lastPartSn - t3.lastPartSn, r3 = this.lastPartIndex - t3.lastPartIndex;
this.updated = this.endSN !== t3.endSN || !!r3 || !!e2 || !this.live, this.advanced = this.endSN > t3.endSN || e2 > 0 || 0 === e2 && r3 > 0, this.updated || this.advanced ? this.misses = Math.floor(0.6 * t3.misses) : this.misses = t3.misses + 1, this.availabilityDelay = t3.availabilityDelay;
}, a(t2, [{
key: "hasProgramDateTime",
get: function() {
return !!this.fragments.length && E(this.fragments[this.fragments.length - 1].programDateTime);
}
}, {
key: "levelTargetDuration",
get: function() {
return this.averagetargetduration || this.targetduration || 10;
}
}, {
key: "drift",
get: function() {
var t3 = this.driftEndTime - this.driftStartTime;
return t3 > 0 ? 1e3 * (this.driftEnd - this.driftStart) / t3 : 1;
}
}, {
key: "edge",
get: function() {
return this.partEnd || this.fragmentEnd;
}
}, {
key: "partEnd",
get: function() {
var t3;
return null != (t3 = this.partList) && t3.length ? this.partList[this.partList.length - 1].end : this.fragmentEnd;
}
}, {
key: "fragmentEnd",
get: function() {
var t3;
return null != (t3 = this.fragments) && t3.length ? this.fragments[this.fragments.length - 1].end : 0;
}
}, {
key: "age",
get: function() {
return this.advancedDateTime ? Math.max(Date.now() - this.advancedDateTime, 0) / 1e3 : 0;
}
}, {
key: "lastPartIndex",
get: function() {
var t3;
return null != (t3 = this.partList) && t3.length ? this.partList[this.partList.length - 1].index : -1;
}
}, {
key: "lastPartSn",
get: function() {
var t3;
return null != (t3 = this.partList) && t3.length ? this.partList[this.partList.length - 1].fragment.sn : this.endSN;
}
}]), t2;
}();
function V(t2) {
return Uint8Array.from(atob(t2), function(t3) {
return t3.charCodeAt(0);
});
}
function Y(t2) {
var e2, r3, i3 = t2.split(":"), n2 = null;
if ("data" === i3[0] && 2 === i3.length) {
var a2 = i3[1].split(";"), s2 = a2[a2.length - 1].split(",");
if (2 === s2.length) {
var o2 = "base64" === s2[0], l2 = s2[1];
o2 ? (a2.splice(-1, 1), n2 = V(l2)) : (e2 = W(l2).subarray(0, 16), (r3 = new Uint8Array(16)).set(e2, 16 - e2.length), n2 = r3);
}
}
return n2;
}
function W(t2) {
return Uint8Array.from(unescape(encodeURIComponent(t2)), function(t3) {
return t3.charCodeAt(0);
});
}
var j = {
CLEARKEY: "org.w3.clearkey",
FAIRPLAY: "com.apple.fps",
PLAYREADY: "com.microsoft.playready",
WIDEVINE: "com.widevine.alpha"
}, q = "org.w3.clearkey", X = "com.apple.streamingkeydelivery", z = "com.microsoft.playready", Q = "urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed";
function $(t2) {
switch (t2) {
case X:
return j.FAIRPLAY;
case z:
return j.PLAYREADY;
case Q:
return j.WIDEVINE;
case q:
return j.CLEARKEY;
}
}
var J = "edef8ba979d64acea3c827dcd51d21ed";
function Z(t2) {
switch (t2) {
case j.FAIRPLAY:
return X;
case j.PLAYREADY:
return z;
case j.WIDEVINE:
return Q;
case j.CLEARKEY:
return q;
}
}
function tt(t2) {
var e2 = t2.drmSystems, r3 = t2.widevineLicenseUrl, i3 = e2 ? [j.FAIRPLAY, j.WIDEVINE, j.PLAYREADY, j.CLEARKEY].filter(function(t3) {
return !!e2[t3];
}) : [];
return !i3[j.WIDEVINE] && r3 && i3.push(j.WIDEVINE), i3;
}
var et = "undefined" != typeof self && self.navigator && self.navigator.requestMediaKeySystemAccess ? self.navigator.requestMediaKeySystemAccess.bind(self.navigator) : null;
function rt(t2, e2, r3) {
return Uint8Array.prototype.slice ? t2.slice(e2, r3) : new Uint8Array(Array.prototype.slice.call(t2, e2, r3));
}
var it, nt = function(t2, e2) {
return e2 + 10 <= t2.length && 73 === t2[e2] && 68 === t2[e2 + 1] && 51 === t2[e2 + 2] && t2[e2 + 3] < 255 && t2[e2 + 4] < 255 && t2[e2 + 6] < 128 && t2[e2 + 7] < 128 && t2[e2 + 8] < 128 && t2[e2 + 9] < 128;
}, at = function(t2, e2) {
return e2 + 10 <= t2.length && 51 === t2[e2] && 68 === t2[e2 + 1] && 73 === t2[e2 + 2] && t2[e2 + 3] < 255 && t2[e2 + 4] < 255 && t2[e2 + 6] < 128 && t2[e2 + 7] < 128 && t2[e2 + 8] < 128 && t2[e2 + 9] < 128;
}, st = function(t2, e2) {
for (var r3 = e2, i3 = 0; nt(t2, e2); ) i3 += 10, i3 += ot(t2, e2 + 6), at(t2, e2 + 10) && (i3 += 10), e2 += i3;
if (i3 > 0) return t2.subarray(r3, r3 + i3);
}, ot = function(t2, e2) {
var r3 = 0;
return r3 = (127 & t2[e2]) << 21, r3 |= (127 & t2[e2 + 1]) << 14, r3 |= (127 & t2[e2 + 2]) << 7, r3 |= 127 & t2[e2 + 3];
}, lt = function(t2, e2) {
return nt(t2, e2) && ot(t2, e2 + 6) + 10 <= t2.length - e2;
}, ut = function(t2) {
return t2 && "PRIV" === t2.key && "com.apple.streaming.transportStreamTimestamp" === t2.info;
}, ht = function(t2) {
var e2 = String.fromCharCode(t2[0], t2[1], t2[2], t2[3]), r3 = ot(t2, 4);
return {
type: e2,
size: r3,
data: t2.subarray(10, 10 + r3)
};
}, dt = function(t2) {
for (var e2 = 0, r3 = []; nt(t2, e2); ) {
for (var i3 = ot(t2, e2 + 6), n2 = (e2 += 10) + i3; e2 + 8 < n2; ) {
var a2 = ht(t2.subarray(e2)), s2 = ct(a2);
s2 && r3.push(s2), e2 += a2.size + 10;
}
at(t2, e2) && (e2 += 10);
}
return r3;
}, ct = function(t2) {
return "PRIV" === t2.type ? ft(t2) : "W" === t2.type[0] ? vt(t2) : gt(t2);
}, ft = function(t2) {
if (!(t2.size < 2)) {
var e2 = pt(t2.data, true), r3 = new Uint8Array(t2.data.subarray(e2.length + 1));
return {
key: t2.type,
info: e2,
data: r3.buffer
};
}
}, gt = function(t2) {
if (!(t2.size < 2)) {
if ("TXXX" === t2.type) {
var e2 = 1, r3 = pt(t2.data.subarray(e2), true);
e2 += r3.length + 1;
var i3 = pt(t2.data.subarray(e2));
return {
key: t2.type,
info: r3,
data: i3
};
}
var n2 = pt(t2.data.subarray(1));
return {
key: t2.type,
data: n2
};
}
}, vt = function(t2) {
if ("WXXX" === t2.type) {
if (t2.size < 2) return;
var e2 = 1, r3 = pt(t2.data.subarray(e2), true);
e2 += r3.length + 1;
var i3 = pt(t2.data.subarray(e2));
return {
key: t2.type,
info: r3,
data: i3
};
}
var n2 = pt(t2.data);
return {
key: t2.type,
data: n2
};
}, mt = function(t2) {
if (8 === t2.data.byteLength) {
var e2 = new Uint8Array(t2.data), r3 = 1 & e2[3], i3 = (e2[4] << 23) + (e2[5] << 15) + (e2[6] << 7) + e2[7];
return i3 /= 45, r3 && (i3 += 4772185884e-2), Math.round(i3);
}
}, pt = function(t2, e2) {
void 0 === e2 && (e2 = false);
var r3 = yt();
if (r3) {
var i3 = r3.decode(t2);
if (e2) {
var n2 = i3.indexOf("\0");
return -1 !== n2 ? i3.substring(0, n2) : i3;
}
return i3.replace(/\0/g, "");
}
for (var a2, s2, o2, l2 = t2.length, u2 = "", h2 = 0; h2 < l2; ) {
if (0 === (a2 = t2[h2++]) && e2) return u2;
if (0 !== a2 && 3 !== a2) switch (a2 >> 4) {
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
u2 += String.fromCharCode(a2);
break;
case 12:
case 13:
s2 = t2[h2++], u2 += String.fromCharCode((31 & a2) << 6 | 63 & s2);
break;
case 14:
s2 = t2[h2++], o2 = t2[h2++], u2 += String.fromCharCode((15 & a2) << 12 | (63 & s2) << 6 | (63 & o2) << 0);
}
}
return u2;
};
function yt() {
return it || void 0 === self.TextDecoder || (it = new self.TextDecoder("utf-8")), it;
}
var Tt = function(t2) {
for (var e2 = "", r3 = 0; r3 < t2.length; r3++) {
var i3 = t2[r3].toString(16);
i3.length < 2 && (i3 = "0" + i3), e2 += i3;
}
return e2;
}, Et = Math.pow(2, 32) - 1, St = [].push, Lt = {
video: 1,
audio: 2,
id3: 3,
text: 4
};
function Rt(t2) {
return String.fromCharCode.apply(null, t2);
}
function At(t2, e2) {
var r3 = t2[e2] << 8 | t2[e2 + 1];
return r3 < 0 ? 65536 + r3 : r3;
}
function kt(t2, e2) {
var r3 = bt(t2, e2);
return r3 < 0 ? 4294967296 + r3 : r3;
}
function bt(t2, e2) {
return t2[e2] << 24 | t2[e2 + 1] << 16 | t2[e2 + 2] << 8 | t2[e2 + 3];
}
function Dt(t2, e2, r3) {
t2[e2] = r3 >> 24, t2[e2 + 1] = r3 >> 16 & 255, t2[e2 + 2] = r3 >> 8 & 255, t2[e2 + 3] = 255 & r3;
}
function It(t2, e2) {
var r3 = [];
if (!e2.length) return r3;
for (var i3 = t2.byteLength, n2 = 0; n2 < i3; ) {
var a2 = kt(t2, n2), s2 = a2 > 1 ? n2 + a2 : i3;
if (Rt(t2.subarray(n2 + 4, n2 + 8)) === e2[0]) if (1 === e2.length) r3.push(t2.subarray(n2 + 8, s2));
else {
var o2 = It(t2.subarray(n2 + 8, s2), e2.slice(1));
o2.length && St.apply(r3, o2);
}
n2 = s2;
}
return r3;
}
function wt(t2) {
var e2 = [], r3 = t2[0], i3 = 8, n2 = kt(t2, i3);
i3 += 4, i3 += 0 === r3 ? 8 : 16, i3 += 2;
var a2 = t2.length + 0, s2 = At(t2, i3);
i3 += 2;
for (var o2 = 0; o2 < s2; o2++) {
var l2 = i3, u2 = kt(t2, l2);
l2 += 4;
var h2 = 2147483647 & u2;
if (1 == (2147483648 & u2) >>> 31) return w.warn("SIDX has hierarchical references (not supported)"), null;
var d2 = kt(t2, l2);
l2 += 4, e2.push({
referenceSize: h2,
subsegmentDuration: d2,
info: {
duration: d2 / n2,
start: a2,
end: a2 + h2 - 1
}
}), a2 += h2, i3 = l2 += 4;
}
return {
earliestPresentationTime: 0,
timescale: n2,
version: r3,
referencesCount: s2,
references: e2
};
}
function Ct(t2) {
for (var e2 = [], r3 = It(t2, ["moov", "trak"]), i3 = 0; i3 < r3.length; i3++) {
var n2 = r3[i3], a2 = It(n2, ["tkhd"])[0];
if (a2) {
var s2 = a2[0], o2 = 0 === s2 ? 12 : 20, l2 = kt(a2, o2), u2 = It(n2, ["mdia", "mdhd"])[0];
if (u2) {
var h2 = kt(u2, o2 = 0 === (s2 = u2[0]) ? 12 : 20), d2 = It(n2, ["mdia", "hdlr"])[0];
if (d2) {
var c2 = Rt(d2.subarray(8, 12)), f2 = {
soun: O,
vide: N
}[c2];
if (f2) {
var g2 = It(n2, ["mdia", "minf", "stbl", "stsd"])[0], v2 = void 0;
g2 && (v2 = Rt(g2.subarray(12, 16))), e2[l2] = {
timescale: h2,
type: f2
}, e2[f2] = {
timescale: h2,
id: l2,
codec: v2
};
}
}
}
}
}
return It(t2, ["moov", "mvex", "trex"]).forEach(function(t3) {
var r4 = kt(t3, 4), i4 = e2[r4];
i4 && (i4.default = {
duration: kt(t3, 12),
flags: kt(t3, 20)
});
}), e2;
}
function _t(t2) {
var e2 = It(t2, ["schm"])[0];
if (e2) {
var r3 = Rt(e2.subarray(4, 8));
if ("cbcs" === r3 || "cenc" === r3) return It(t2, ["schi", "tenc"])[0];
}
return w.error("[eme] missing 'schm' box"), null;
}
function Pt(t2) {
var e2 = kt(t2, 0), r3 = 8;
1 & e2 && (r3 += 4), 4 & e2 && (r3 += 4);
for (var i3 = 0, n2 = kt(t2, 4), a2 = 0; a2 < n2; a2++) 256 & e2 && (i3 += kt(t2, r3), r3 += 4), 512 & e2 && (r3 += 4), 1024 & e2 && (r3 += 4), 2048 & e2 && (r3 += 4);
return i3;
}
function xt(t2, e2) {
var r3 = new Uint8Array(t2.length + e2.length);
return r3.set(t2), r3.set(e2, t2.length), r3;
}
function Ft(t2, e2) {
var r3 = [], i3 = e2.samples, n2 = e2.timescale, a2 = e2.id, s2 = false;
return It(i3, ["moof"]).map(function(o2) {
var l2 = o2.byteOffset - 8;
It(o2, ["traf"]).map(function(o3) {
var u2 = It(o3, ["tfdt"]).map(function(t3) {
var e3 = t3[0], r4 = kt(t3, 4);
return 1 === e3 && (r4 *= Math.pow(2, 32), r4 += kt(t3, 8)), r4 / n2;
})[0];
return void 0 !== u2 && (t2 = u2), It(o3, ["tfhd"]).map(function(u3) {
var h2 = kt(u3, 4), d2 = 16777215 & kt(u3, 0), c2 = 0, f2 = 0 != (16 & d2), g2 = 0, v2 = 0 != (32 & d2), m2 = 8;
h2 === a2 && (0 != (1 & d2) && (m2 += 8), 0 != (2 & d2) && (m2 += 4), 0 != (8 & d2) && (c2 = kt(u3, m2), m2 += 4), f2 && (g2 = kt(u3, m2), m2 += 4), v2 && (m2 += 4), "video" === e2.type && (s2 = function(t3) {
if (!t3) return false;
var e3 = t3.indexOf("."), r4 = e3 < 0 ? t3 : t3.substring(0, e3);
return "hvc1" === r4 || "hev1" === r4 || "dvh1" === r4 || "dvhe" === r4;
}(e2.codec)), It(o3, ["trun"]).map(function(a3) {
var o4 = a3[0], u4 = 16777215 & kt(a3, 0), h3 = 0 != (1 & u4), d3 = 0, f3 = 0 != (4 & u4), v3 = 0 != (256 & u4), m3 = 0, p2 = 0 != (512 & u4), y2 = 0, T2 = 0 != (1024 & u4), E2 = 0 != (2048 & u4), S2 = 0, L2 = kt(a3, 4), R2 = 8;
h3 && (d3 = kt(a3, R2), R2 += 4), f3 && (R2 += 4);
for (var A2 = d3 + l2, k2 = 0; k2 < L2; k2++) {
if (v3 ? (m3 = kt(a3, R2), R2 += 4) : m3 = c2, p2 ? (y2 = kt(a3, R2), R2 += 4) : y2 = g2, T2 && (R2 += 4), E2 && (S2 = 0 === o4 ? kt(a3, R2) : bt(a3, R2), R2 += 4), e2.type === N) for (var b2 = 0; b2 < y2; ) {
var D2 = kt(i3, A2);
Mt(s2, i3[A2 += 4]) && Ot(i3.subarray(A2, A2 + D2), s2 ? 2 : 1, t2 + S2 / n2, r3), A2 += D2, b2 += D2 + 4;
}
t2 += m3 / n2;
}
}));
});
});
}), r3;
}
function Mt(t2, e2) {
if (t2) {
var r3 = e2 >> 1 & 63;
return 39 === r3 || 40 === r3;
}
return 6 == (31 & e2);
}
function Ot(t2, e2, r3, i3) {
var n2 = Nt(t2), a2 = 0;
a2 += e2;
for (var s2 = 0, o2 = 0, l2 = false, u2 = 0; a2 < n2.length; ) {
s2 = 0;
do {
if (a2 >= n2.length) break;
s2 += u2 = n2[a2++];
} while (255 === u2);
o2 = 0;
do {
if (a2 >= n2.length) break;
o2 += u2 = n2[a2++];
} while (255 === u2);
var h2 = n2.length - a2;
if (!l2 && 4 === s2 && a2 < n2.length) {
if (l2 = true, 181 === n2[a2++]) {
var d2 = At(n2, a2);
if (a2 += 2, 49 === d2) {
var c2 = kt(n2, a2);
if (a2 += 4, 1195456820 === c2) {
var f2 = n2[a2++];
if (3 === f2) {
var g2 = n2[a2++], v2 = 64 & g2, m2 = v2 ? 2 + 3 * (31 & g2) : 0, p2 = new Uint8Array(m2);
if (v2) {
p2[0] = g2;
for (var y2 = 1; y2 < m2; y2++) p2[y2] = n2[a2++];
}
i3.push({
type: f2,
payloadType: s2,
pts: r3,
bytes: p2
});
}
}
}
}
} else if (5 === s2 && o2 < h2) {
if (l2 = true, o2 > 16) {
for (var T2 = [], E2 = 0; E2 < 16; E2++) {
var S2 = n2[a2++].toString(16);
T2.push(1 == S2.length ? "0" + S2 : S2), 3 !== E2 && 5 !== E2 && 7 !== E2 && 9 !== E2 || T2.push("-");
}
for (var L2 = o2 - 16, R2 = new Uint8Array(L2), A2 = 0; A2 < L2; A2++) R2[A2] = n2[a2++];
i3.push({
payloadType: s2,
pts: r3,
uuid: T2.join(""),
userData: pt(R2),
userDataBytes: R2
});
}
} else if (o2 < h2) a2 += o2;
else if (o2 > h2) break;
}
}
function Nt(t2) {
for (var e2 = t2.byteLength, r3 = [], i3 = 1; i3 < e2 - 2; ) 0 === t2[i3] && 0 === t2[i3 + 1] && 3 === t2[i3 + 2] ? (r3.push(i3 + 2), i3 += 2) : i3++;
if (0 === r3.length) return t2;
var n2 = e2 - r3.length, a2 = new Uint8Array(n2), s2 = 0;
for (i3 = 0; i3 < n2; s2++, i3++) s2 === r3[0] && (s2++, r3.shift()), a2[i3] = t2[s2];
return a2;
}
function Ut(t2, e2, r3) {
if (16 !== t2.byteLength) throw new RangeError("Invalid system id");
var i3, n2, a2;
i3 = 0, n2 = new Uint8Array();
i3 > 0 ? (a2 = new Uint8Array(4), e2.length > 0 && new DataView(a2.buffer).setUint32(0, e2.length, false)) : a2 = new Uint8Array();
var l2 = new Uint8Array(4);
return r3 && r3.byteLength > 0 && new DataView(l2.buffer).setUint32(0, r3.byteLength, false), function(t3) {
for (var e3 = arguments.length, r4 = new Array(e3 > 1 ? e3 - 1 : 0), i4 = 1; i4 < e3; i4++) r4[i4 - 1] = arguments[i4];
for (var n3 = r4.length, a3 = 8, s2 = n3; s2--; ) a3 += r4[s2].byteLength;
var o2 = new Uint8Array(a3);
for (o2[0] = a3 >> 24 & 255, o2[1] = a3 >> 16 & 255, o2[2] = a3 >> 8 & 255, o2[3] = 255 & a3, o2.set(t3, 4), s2 = 0, a3 = 8; s2 < n3; s2++) o2.set(r4[s2], a3), a3 += r4[s2].byteLength;
return o2;
}([112, 115, 115, 104], new Uint8Array([i3, 0, 0, 0]), t2, a2, n2, l2, r3 || new Uint8Array());
}
var Bt = {}, Gt = function() {
function t2(t3, e3, r3, i3, n2) {
void 0 === i3 && (i3 = [1]), void 0 === n2 && (n2 = null), this.uri = void 0, this.method = void 0, this.keyFormat = void 0, this.keyFormatVersions = void 0, this.encrypted = void 0, this.isCommonEncryption = void 0, this.iv = null, this.key = null, this.keyId = null, this.pssh = null, this.method = t3, this.uri = e3, this.keyFormat = r3, this.keyFormatVersions = i3, this.iv = n2, this.encrypted = !!t3 && "NONE" !== t3, this.isCommonEncryption = this.encrypted && "AES-128" !== t3;
}
t2.clearKeyUriToKeyIdMap = function() {
Bt = {};
};
var e2 = t2.prototype;
return e2.isSupported = function() {
if (this.method) {
if ("AES-128" === this.method || "NONE" === this.method) return true;
if ("identity" === this.keyFormat) return "SAMPLE-AES" === this.method;
switch (this.keyFormat) {
case X:
case Q:
case z:
case q:
return -1 !== ["ISO-23001-7", "SAMPLE-AES", "SAMPLE-AES-CENC", "SAMPLE-AES-CTR"].indexOf(this.method);
}
}
return false;
}, e2.getDecryptData = function(e3) {
if (!this.encrypted || !this.uri) return null;
if ("AES-128" === this.method && this.uri && !this.iv) {
"number" != typeof e3 && ("AES-128" !== this.method || this.iv || w.warn('missing IV for initialization segment with method="' + this.method + '" - compliance issue'), e3 = 0);
var r3 = function(t3) {
for (var e4 = new Uint8Array(16), r4 = 12; r4 < 16; r4++) e4[r4] = t3 >> 8 * (15 - r4) & 255;
return e4;
}(e3);
return new t2(this.method, this.uri, "identity", this.keyFormatVersions, r3);
}
var i3 = Y(this.uri);
if (i3) switch (this.keyFormat) {
case Q:
this.pssh = i3, i3.length >= 22 && (this.keyId = i3.subarray(i3.length - 22, i3.length - 6));
break;
case z:
var n2 = new Uint8Array([154, 4, 240, 121, 152, 64, 66, 134, 171, 146, 230, 91, 224, 136, 95, 149]);
this.pssh = Ut(n2, null, i3);
var a2 = new Uint16Array(i3.buffer, i3.byteOffset, i3.byteLength / 2), s2 = String.fromCharCode.apply(null, Array.from(a2)), o2 = s2.substring(s2.indexOf("<"), s2.length), l2 = new DOMParser().parseFromString(o2, "text/xml").getElementsByTagName("KID")[0];
if (l2) {
var u2 = l2.childNodes[0] ? l2.childNodes[0].nodeValue : l2.getAttribute("VALUE");
if (u2) {
var h2 = V(u2).subarray(0, 16);
!function(t3) {
var e4 = function(t4, e5, r4) {
var i4 = t4[e5];
t4[e5] = t4[r4], t4[r4] = i4;
};
e4(t3, 0, 3), e4(t3, 1, 2), e4(t3, 4, 5), e4(t3, 6, 7);
}(h2), this.keyId = h2;
}
}
break;
default:
var d2 = i3.subarray(0, 16);
if (16 !== d2.length) {
var c2 = new Uint8Array(16);
c2.set(d2, 16 - d2.length), d2 = c2;
}
this.keyId = d2;
}
if (!this.keyId || 16 !== this.keyId.byteLength) {
var f2 = Bt[this.uri];
if (!f2) {
var g2 = Object.keys(Bt).length % Number.MAX_SAFE_INTEGER;
f2 = new Uint8Array(16), new DataView(f2.buffer, 12, 4).setUint32(0, g2), Bt[this.uri] = f2;
}
this.keyId = f2;
}
return this;
}, t2;
}(), Kt = /\{\$([a-zA-Z0-9-_]+)\}/g;
function Ht(t2) {
return Kt.test(t2);
}
function Vt(t2, e2, r3) {
if (null !== t2.variableList || t2.hasVariableRefs) for (var i3 = r3.length; i3--; ) {
var n2 = r3[i3], a2 = e2[n2];
a2 && (e2[n2] = Yt(t2, a2));
}
}
function Yt(t2, e2) {
if (null !== t2.variableList || t2.hasVariableRefs) {
var r3 = t2.variableList;
return e2.replace(Kt, function(e3) {
var i3 = e3.substring(2, e3.length - 1), n2 = null == r3 ? void 0 : r3[i3];
return void 0 === n2 ? (t2.playlistParsingError || (t2.playlistParsingError = new Error('Missing preceding EXT-X-DEFINE tag for Variable Reference: "' + i3 + '"')), e3) : n2;
});
}
return e2;
}
function Wt(t2, e2, r3) {
var i3, n2, a2 = t2.variableList;
if (a2 || (t2.variableList = a2 = {}), "QUERYPARAM" in e2) {
i3 = e2.QUERYPARAM;
try {
var s2 = new self.URL(r3).searchParams;
if (!s2.has(i3)) throw new Error('"' + i3 + '" does not match any query parameter in URI: "' + r3 + '"');
n2 = s2.get(i3);
} catch (e3) {
t2.playlistParsingError || (t2.playlistParsingError = new Error("EXT-X-DEFINE QUERYPARAM: " + e3.message));
}
} else i3 = e2.NAME, n2 = e2.VALUE;
i3 in a2 ? t2.playlistParsingError || (t2.playlistParsingError = new Error('EXT-X-DEFINE duplicate Variable Name declarations: "' + i3 + '"')) : a2[i3] = n2 || "";
}
function jt(t2, e2, r3) {
var i3 = e2.IMPORT;
if (r3 && i3 in r3) {
var n2 = t2.variableList;
n2 || (t2.variableList = n2 = {}), n2[i3] = r3[i3];
} else t2.playlistParsingError || (t2.playlistParsingError = new Error('EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "' + i3 + '"'));
}
function qt() {
if ("undefined" != typeof self) return self.MediaSource || self.WebKitMediaSource;
}
var Xt = {
au