/*! Aliplayer - v2.8.2 - 2019-05-09 16.34.41 */ !function n(a, s, l) { function u(t, e) { if (!s[t]) { if (!a[t]) { var i = "function" == typeof require && require; if (!e && i) return i(t, !0); if (c) return c(t, !0); var r = new Error("Cannot find module '" + t + "'"); throw r.code = "MODULE_NOT_FOUND", r } var o = s[t] = {exports: {}}; a[t][0].call(o.exports, function (e) { return u(a[t][1][e] || e) }, o, o.exports, n, a, s, l) } return s[t].exports } for (var c = "function" == typeof require && require, e = 0; e < l.length; e++) u(l[e]); return u }({ 1: [function (e, t, i) { !function () { "use strict"; function l(o, e) { var t; if (e = e || {}, this.trackingClick = !1, this.trackingClickStart = 0, this.targetElement = null, this.touchStartX = 0, this.touchStartY = 0, this.lastTouchIdentifier = 0, this.touchBoundary = e.touchBoundary || 10, this.layer = o, this.tapDelay = e.tapDelay || 200, this.tapTimeout = e.tapTimeout || 700, !l.notNeeded(o)) { for (var i = ["onMouse", "onClick", "onTouchStart", "onTouchMove", "onTouchEnd", "onTouchCancel"], r = this, n = 0, a = i.length; n < a; n++) r[i[n]] = s(r[i[n]], r); u && (o.addEventListener("mouseover", this.onMouse, !0), o.addEventListener("mousedown", this.onMouse, !0), o.addEventListener("mouseup", this.onMouse, !0)), o.addEventListener("click", this.onClick, !0), o.addEventListener("touchstart", this.onTouchStart, !1), o.addEventListener("touchmove", this.onTouchMove, !1), o.addEventListener("touchend", this.onTouchEnd, !1), o.addEventListener("touchcancel", this.onTouchCancel, !1), Event.prototype.stopImmediatePropagation || (o.removeEventListener = function (e, t, i) { var r = Node.prototype.removeEventListener; "click" === e ? r.call(o, e, t.hijacked || t, i) : r.call(o, e, t, i) }, o.addEventListener = function (e, t, i) { var r = Node.prototype.addEventListener; "click" === e ? r.call(o, e, t.hijacked || (t.hijacked = function (e) { e.propagationStopped || t(e) }), i) : r.call(o, e, t, i) }), "function" == typeof o.onclick && (t = o.onclick, o.addEventListener("click", function (e) { t(e) }, !1), o.onclick = null) } function s(e, t) { return function () { return e.apply(t, arguments) } } } var e = 0 <= navigator.userAgent.indexOf("Windows Phone"), u = 0 < navigator.userAgent.indexOf("Android") && !e, s = /iP(ad|hone|od)/.test(navigator.userAgent) && !e, c = s && /OS 4_\d(_\d)?/.test(navigator.userAgent), d = s && /OS [6-7]_\d/.test(navigator.userAgent), o = 0 < navigator.userAgent.indexOf("BB10"); l.prototype.needsClick = function (e) { switch (e.nodeName.toLowerCase()) { case"button": case"select": case"textarea": if (e.disabled) return !0; break; case"input": if (s && "file" === e.type || e.disabled) return !0; break; case"label": case"iframe": case"video": return !0 } return /\bneedsclick\b/.test(e.className) }, l.prototype.needsFocus = function (e) { switch (e.nodeName.toLowerCase()) { case"textarea": return !0; case"select": return !u; case"input": switch (e.type) { case"button": case"checkbox": case"file": case"image": case"radio": case"submit": return !1 } return !e.disabled && !e.readOnly; default: return /\bneedsfocus\b/.test(e.className) } }, l.prototype.sendClick = function (e, t) { var i, r; document.activeElement && document.activeElement !== e && document.activeElement.blur(), r = t.changedTouches[0], (i = document.createEvent("MouseEvents")).initMouseEvent(this.determineEventType(e), !0, !0, window, 1, r.screenX, r.screenY, r.clientX, r.clientY, !1, !1, !1, !1, 0, null), i.forwardedTouchEvent = !0, e.dispatchEvent(i) }, l.prototype.determineEventType = function (e) { return u && "select" === e.tagName.toLowerCase() ? "mousedown" : "click" }, l.prototype.focus = function (e) { var t; s && e.setSelectionRange && 0 !== e.type.indexOf("date") && "time" !== e.type && "month" !== e.type ? (t = e.value.length, e.setSelectionRange(t, t)) : e.focus() }, l.prototype.updateScrollParent = function (e) { var t, i; if (!(t = e.fastClickScrollParent) || !t.contains(e)) { i = e; do { if (i.scrollHeight > i.offsetHeight) { t = i, e.fastClickScrollParent = i; break } i = i.parentElement } while (i) } t && (t.fastClickLastScrollTop = t.scrollTop) }, l.prototype.getTargetElementFromEventTarget = function (e) { return e.nodeType === Node.TEXT_NODE ? e.parentNode : e }, l.prototype.onTouchStart = function (e) { var t, i, r; if (1 < e.targetTouches.length) return !0; if (t = this.getTargetElementFromEventTarget(e.target), i = e.targetTouches[0], s) { if ((r = window.getSelection()).rangeCount && !r.isCollapsed) return !0; if (!c) { if (i.identifier && i.identifier === this.lastTouchIdentifier) return e.preventDefault(), !1; this.lastTouchIdentifier = i.identifier, this.updateScrollParent(t) } } return this.trackingClick = !0, this.trackingClickStart = e.timeStamp, this.targetElement = t, this.touchStartX = i.pageX, this.touchStartY = i.pageY, e.timeStamp - this.lastClickTime < this.tapDelay && e.preventDefault(), !0 }, l.prototype.touchHasMoved = function (e) { var t = e.changedTouches[0], i = this.touchBoundary; return Math.abs(t.pageX - this.touchStartX) > i || Math.abs(t.pageY - this.touchStartY) > i }, l.prototype.onTouchMove = function (e) { return this.trackingClick && (this.targetElement !== this.getTargetElementFromEventTarget(e.target) || this.touchHasMoved(e)) && (this.trackingClick = !1, this.targetElement = null), !0 }, l.prototype.findControl = function (e) { return void 0 !== e.control ? e.control : e.htmlFor ? document.getElementById(e.htmlFor) : e.querySelector("button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea") }, l.prototype.onTouchEnd = function (e) { var t, i, r, o, n, a = this.targetElement; if (!this.trackingClick) return !0; if (e.timeStamp - this.lastClickTime < this.tapDelay) return this.cancelNextClick = !0; if (e.timeStamp - this.trackingClickStart > this.tapTimeout) return !0; if (this.cancelNextClick = !1, this.lastClickTime = e.timeStamp, i = this.trackingClickStart, this.trackingClick = !1, this.trackingClickStart = 0, d && (n = e.changedTouches[0], (a = document.elementFromPoint(n.pageX - window.pageXOffset, n.pageY - window.pageYOffset) || a).fastClickScrollParent = this.targetElement.fastClickScrollParent), "label" === (r = a.tagName.toLowerCase())) { if (t = this.findControl(a)) { if (this.focus(a), u) return !1; a = t } } else if (this.needsFocus(a)) return 100 < e.timeStamp - i || s && window.top !== window && "input" === r ? this.targetElement = null : (this.focus(a), this.sendClick(a, e), s && "select" === r || (this.targetElement = null, e.preventDefault())), !1; return !(!s || c || !(o = a.fastClickScrollParent) || o.fastClickLastScrollTop === o.scrollTop) || (this.needsClick(a) || (e.preventDefault(), this.sendClick(a, e)), !1) }, l.prototype.onTouchCancel = function () { this.trackingClick = !1, this.targetElement = null }, l.prototype.onMouse = function (e) { return !this.targetElement || (!!e.forwardedTouchEvent || (!e.cancelable || (!(!this.needsClick(this.targetElement) || this.cancelNextClick) || (e.stopImmediatePropagation ? e.stopImmediatePropagation() : e.propagationStopped = !0, e.stopPropagation(), e.preventDefault(), !1)))) }, l.prototype.onClick = function (e) { var t; return this.trackingClick ? (this.targetElement = null, !(this.trackingClick = !1)) : "submit" === e.target.type && 0 === e.detail || ((t = this.onMouse(e)) || (this.targetElement = null), t) }, l.prototype.destroy = function () { var e = this.layer; u && (e.removeEventListener("mouseover", this.onMouse, !0), e.removeEventListener("mousedown", this.onMouse, !0), e.removeEventListener("mouseup", this.onMouse, !0)), e.removeEventListener("click", this.onClick, !0), e.removeEventListener("touchstart", this.onTouchStart, !1), e.removeEventListener("touchmove", this.onTouchMove, !1), e.removeEventListener("touchend", this.onTouchEnd, !1), e.removeEventListener("touchcancel", this.onTouchCancel, !1) }, l.notNeeded = function (e) { var t, i, r; if (void 0 === window.ontouchstart) return !0; if (i = +(/Chrome\/([0-9]+)/.exec(navigator.userAgent) || [, 0])[1]) { if (!u) return !0; if (t = document.querySelector("meta[name=viewport]")) { if (-1 !== t.content.indexOf("user-scalable=no")) return !0; if (31 < i && document.documentElement.scrollWidth <= window.outerWidth) return !0 } } if (o && 10 <= (r = navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/))[1] && 3 <= r[2] && (t = document.querySelector("meta[name=viewport]"))) { if (-1 !== t.content.indexOf("user-scalable=no")) return !0; if (document.documentElement.scrollWidth <= window.outerWidth) return !0 } return "none" === e.style.msTouchAction || "manipulation" === e.style.touchAction || (!!(27 <= +(/Firefox\/([0-9]+)/.exec(navigator.userAgent) || [, 0])[1] && (t = document.querySelector("meta[name=viewport]")) && (-1 !== t.content.indexOf("user-scalable=no") || document.documentElement.scrollWidth <= window.outerWidth)) || ("none" === e.style.touchAction || "manipulation" === e.style.touchAction)) }, l.attach = function (e, t) { return new l(e, t) }, "function" == typeof define && "object" == typeof define.amd && define.amd ? define(function () { return l }) : void 0 !== t && t.exports ? (t.exports = l.attach, t.exports.FastClick = l) : window.FastClick = l }() }, {}], 2: [function (e, t, i) { var r = e("../ui/component"), o = (e("../lib/util"), e("../lib/dom")), n = e("../lib/event"), a = (e("../lib/ua"), e("../lang/index")), s = e("../player/base/event/eventtype"), l = r.extend({ init: function (e, t) { r.call(this, e, t), this.className = t.className ? t.className : "prism-auto-stream-selector", this.addClass(this.className) }, createEl: function () { var e = r.prototype.createEl.call(this, "div"); return e.innerHTML = "<div><p class='tip-text'></p></div><div class='operators'><a class='prism-button prism-button-ok' type='button'>" + a.get("OK_Text") + "</a><a class='prism-button prism-button-cancel' target='_blank'>" + a.get("Cancel_Text") + "</a></div>", e }, bindEvent: function () { var r = this; r._player.on(s.Private.AutoStreamShow, function (e) { var t = document.querySelector("#" + r.getId() + " .tip-text"); if (r._player._getLowerQualityLevel) { var i = r._player._getLowerQualityLevel(); i && (r._switchUrl = i, t.innerText = a.get("Auto_Stream_Tip_Text").replace("$$", i.item.desc), o.css(r.el(), "display", "block")) } }), r._player.on(s.Private.AutoStreamHide, function (e) { document.querySelector("#" + r.getId() + " .tip-text"); o.css(r.el(), "display", "none") }); var e = document.querySelector("#" + r.getId() + " .prism-button-ok"); n.on(e, "click", function () { r._player._changeStream && r._switchUrl && r._player._changeStream(r._switchUrl.index, a.get("Quality_Change_Text")), o.css(r.el(), "display", "none") }); var t = document.querySelector("#" + r.getId() + " .prism-button-cancel"); n.on(t, "click", function () { o.css(r.el(), "display", "none") }) } }); t.exports = l }, { "../lang/index": 11, "../lib/dom": 18, "../lib/event": 19, "../lib/ua": 31, "../lib/util": 33, "../player/base/event/eventtype": 43, "../ui/component": 94 }], 3: [function (e, t, i) { var r = e("../ui/component"), s = e("../lib/dom"), o = e("../lib/event"), n = e("../lib/ua"), a = e("../lib/function"), l = (e("../lang/index"), e("../lib/util")), u = e("../config"), c = e("../lib/playerutil"), d = e("../player/base/event/eventtype"), p = r.extend({ init: function (e, t) { r.call(this, e, t), this.className = t.className ? t.className : "prism-liveshift-progress", this.addClass(this.className), this._liveshiftService = e._liveshiftService }, createEl: function () { var e = r.prototype.createEl.call(this); return e.innerHTML = '<div class="prism-enable-liveshift"><div class="prism-progress-loaded"></div><div class="prism-progress-played"></div><div class="prism-progress-cursor"><img></img></div><p class="prism-progress-time"></p><div class="prism-liveshift-seperator">00:00:00</div></div><div class="prism-disable-liveshift"></div>', e }, bindEvent: function () { var i = this; this.loadedNode = document.querySelector("#" + this.id() + " .prism-progress-loaded"), this.playedNode = document.querySelector("#" + this.id() + " .prism-progress-played"), this.cursorNode = document.querySelector("#" + this.id() + " .prism-progress-cursor"), this.timeNode = document.querySelector("#" + this.id() + " .prism-progress-time"), this.controlNode = document.querySelector("#" + this._player._options.id + " .prism-controlbar"), this.seperatorNode = document.querySelector("#" + this.id() + " .prism-liveshift-seperator"), this.progressNode = document.querySelector("#" + this.id() + " .prism-enable-liveshift"); var e = document.querySelector("#" + this.id() + " .prism-progress-cursor img"), t = "//" + u.domain + "/de/prismplayer/" + u.h5Version + "/skins/default/img/dragcursor.png"; u.domain ? -1 < u.domain.indexOf("localhost") && (t = "//" + u.domain + "/build/skins/default/img/dragcursor.png") : t = "de/prismplayer/" + u.h5Version + "/skins/default/img/dragcursor.png", e.src = t, o.on(this.cursorNode, "mousedown", function (e) { i._onMouseDown(e) }), o.on(this.cursorNode, "touchstart", function (e) { i._onMouseDown(e) }), o.on(this.progressNode, "mousemove", function (e) { i._progressMove(e) }), o.on(this.progressNode, "touchmove", function (e) { i._progressMove(e) }), o.on(this._el, "click", function (e) { i._onMouseClick(e) }), this._player.on(d.Private.HideProgress, function (e) { i._hideProgress(e) }), this._player.on(d.Private.CancelHideProgress, function (e) { i._cancelHideProgress(e) }), this._player.on(d.Private.ShowBar, function () { i._updateLayout() }), o.on(this.progressNode, d.Private.MouseOver, function (e) { i._onMouseOver(e) }), o.on(this.progressNode, d.Private.MouseOut, function (e) { i._onMouseOut(e) }), this.bindTimeupdate = a.bind(this, this._onTimeupdate), this._player.on(d.Player.TimeUpdate, this.bindTimeupdate), c.isLiveShift(this._player._options) && this._player.on(d.Player.Play, function () { i._liveshiftService.start(6e4, function (e) { var t = { mediaId: i._player._options.vid ? i._player._options.vid : "", error_code: e.Code, error_msg: e.Message }; i._player.logError(t), i._player.trigger(d.Player.Error, t) }) }), this._player.on(d.Private.LiveShiftQueryCompleted, function () { i._updateSeperator(), i._updateLayout() }), this._player.on(d.Player.Pause, function () { i._liveshiftService.stop() }), n.IS_IPAD ? this.interval = setInterval(function () { i._onProgress() }, 500) : this._player.on(d.Video.Progress, function () { i._onProgress() }) }, _updateSeperator: function () { this._liveshiftService.currentTimeDisplay && (this.seperatorNode.innerText = this._liveshiftService.currentTimeDisplay) }, _updateLayout: function () { var e = this.seperatorNode.offsetWidth, t = this.el().offsetWidth, i = t - e; 0 != e && 0 != i && (s.css(this.progressNode, "width", 100 * (i - 10) / t + "%"), s.css(this.seperatorNode, "right", -1 * (e + 10) + "px")) }, _progressMove: function (e) { var t = this._getSeconds(e), i = this._liveshiftService.availableLiveShiftTime; this.timeNode.innerText = "-" + l.formatTime(i - t); var r = i ? t / i : 0, o = 1 - this.timeNode.clientWidth / this.el().clientWidth; o < r && (r = o), this.timeNode && s.css(this.timeNode, "left", 100 * r + "%") }, _hideProgress: function (e) { o.off(this.cursorNode, "mousedown"), o.off(this.cursorNode, "touchstart") }, _cancelHideProgress: function (e) { var t = this; o.on(this.cursorNode, "mousedown", function (e) { t._onMouseDown(e) }), o.on(this.cursorNode, "touchstart", function (e) { t._onMouseDown(e) }) }, _canSeekable: function (e) { var t = !0; return "function" == typeof this._player.canSeekable && (t = this._player.canSeekable(e)), t }, _onMouseOver: function (e) { this._updateCursorPosition(this._getCurrentTime()), s.css(this.timeNode, "display", "block") }, _onMouseOut: function (e) { s.css(this.timeNode, "display", "none") }, _getSeconds: function (e) { for (var t = this.el().offsetLeft, i = this.el(); i = i.offsetParent;) { var r = s.getTranslateX(i); t += i.offsetLeft + r } var o = (e.touches ? e.touches[0].pageX : e.pageX) - t, n = this.progressNode.offsetWidth, a = this._liveshiftService.availableLiveShiftTime; return sec = a ? o / n * a : 0, sec < 0 && (sec = 0), sec > a && (sec = a), sec }, _onMouseClick: function (e) { var t = this, i = this._getSeconds(e), r = this._liveshiftService.availableLiveShiftTime - i; this._player.trigger(d.Private.SeekStart, {fromTime: this._getCurrentTime()}); var o = this._liveshiftService.getSourceUrl(r), n = t._player._options.source, a = c.isHls(t._player._options.source); a && o == n ? t._player.seek(i) : t._player._loadByUrlInner(o, i, !0), t._player.trigger(d.Private.Play_Btn_Hide), t._liveshiftService.seekTime = i, t._player.trigger(d.Private.EndStart, {toTime: i}), t._updateCursorPosition(i), a && setTimeout(function () { t._player.play() }) }, _onMouseDown: function (e) { var t = this; e.preventDefault(), this._player.trigger(d.Private.SeekStart, {fromTime: this._getCurrentTime()}), o.on(this.controlNode, "mousemove", function (e) { t._onMouseMove(e) }), o.on(this.controlNode, "touchmove", function (e) { t._onMouseMove(e) }), o.on(this._player.tag, "mouseup", function (e) { t._onMouseUp(e) }), o.on(this._player.tag, "touchend", function (e) { t._onMouseUp(e) }), o.on(this.controlNode, "mouseup", function (e) { t._onMouseUp(e) }), o.on(this.controlNode, "touchend", function (e) { t._onMouseUp(e) }) }, _onMouseUp: function (e) { e.preventDefault(), o.off(this.controlNode, "mousemove"), o.off(this.controlNode, "touchmove"), o.off(this._player.tag, "mouseup"), o.off(this._player.tag, "touchend"), o.off(this.controlNode, "mouseup"), o.off(this.controlNode, "touchend"); var t = this._liveshiftService.availableLiveShiftTime, i = this.playedNode.offsetWidth / this.el().offsetWidth * t; this._player.seek(i), this._player.trigger(d.Private.Play_Btn_Hide), this._liveshiftService.seekTime = i, this._player.trigger(d.Private.EndStart, {toTime: i}) }, _onMouseMove: function (e) { e.preventDefault(); var t = this._getSeconds(e); this._updateProgressBar(this.playedNode, t), this._updateCursorPosition(t) }, _onTimeupdate: function (e) { this._updateProgressBar(this.playedNode, this._getCurrentTime()), this._updateCursorPosition(this._getCurrentTime()), this._player.trigger(d.Private.UpdateProgressBar, {time: this._getCurrentTime()}) }, _getCurrentTime: function () { var e = this._liveshiftService.seekTime; return -1 == e && (e = 0), this._player.getCurrentTime() + e }, _onProgress: function (e) { this._player.getDuration() && 1 <= this._player.getBuffered().length && this._updateProgressBar(this.loadedNode, this._player.getBuffered().end(this._player.getBuffered().length - 1)) }, _updateProgressBar: function (e, t) { if (1 != this._player._switchSourcing) { var i = 0; if (-1 == this._liveshiftService.seekTime) i = 1; else { var r = this._liveshiftService.availableLiveShiftTime; 1 < (i = r ? t / r : 0) && (i = 1, this._liveshiftService.seekTime = -1) } this.liveShiftStartDisplay; e && s.css(e, "width", 100 * i + "%") } }, _updateCursorPosition: function (e) { if (this._player.el() && 1 != this._player._switchSourcing && (0 != e || 0 != this._player.tag.readyState)) { var t = 0, i = 1, r = this._player.el().clientWidth; if (-1 == this._liveshiftService.seekTime) t = 1; else { var o = this._liveshiftService.availableLiveShiftTime; 1 < (t = o ? e / o : 0) && (this._liveshiftService.seekTime = -1) } if (0 != r) { var n = 18 / r; i = 1 - n, t -= n } this.cursorNode && (i < t ? (s.css(this.cursorNode, "right", "0px"), s.css(this.cursorNode, "left", "auto")) : (s.css(this.cursorNode, "right", "auto"), s.css(this.cursorNode, "left", 100 * t + "%"))) } } }); t.exports = p }, { "../config": 5, "../lang/index": 11, "../lib/dom": 18, "../lib/event": 19, "../lib/function": 20, "../lib/playerutil": 29, "../lib/ua": 31, "../lib/util": 33, "../player/base/event/eventtype": 43, "../ui/component": 94 }], 4: [function (e, t, i) { var r = e("../ui/component"), n = e("../lib/util"), a = e("../player/base/event/eventtype"), o = r.extend({ init: function (e, t) { r.call(this, e, t), this.className = t.className ? t.className : "prism-live-time-display", this.addClass(this.className), this._liveshiftService = e._liveshiftService }, createEl: function () { var e = r.prototype.createEl.call(this, "div"); return e.innerHTML = '<span class="current-time">00:00</span> <span class="time-bound">/</span> <span class="end-time">00:00</span><span class="live-text">Live: </span><span class="live-time"></span>', e }, bindEvent: function () { var o = this; this._player.on(a.Video.TimeUpdate, function () { var e = o._liveshiftService, t = document.querySelector("#" + o.id() + " .current-time"); if (e.liveShiftStartDisplay && e.availableLiveShiftTime > e.seekTime && -1 != e.seekTime) { var i = o._liveshiftService.getBaseTime(), r = n.formatTime(i + o._player.getCurrentTime()); t.innerText = r } else e.currentTimeDisplay && (t.innerText = e.currentTimeDisplay) }), this._player.on(a.Private.LiveShiftQueryCompleted, function () { o.updateTime() }) }, updateTime: function () { document.querySelector("#" + this.id() + " .end-time").innerText = this._liveshiftService.liveTimeRange.endDisplay, document.querySelector("#" + this.id() + " .live-time").innerText = this._liveshiftService.currentTimeDisplay } }); t.exports = o }, {"../lib/util": 33, "../player/base/event/eventtype": 43, "../ui/component": 94}], 5: [function (e, t, i) { t.exports = { domain: "g.alicdn.com", flashVersion: "2.8.2", h5Version: "2.8.2", cityBrain: !0, logDuration: 10, logCount: 100, logReportTo: "https://videocloud.cn-hangzhou.log.aliyuncs.com/logstores/newplayer/track" } }, {}], 6: [function (e, t, i) { e("./lang/index").load(); var r = e("./player/adaptivePlayer"), o = e("./lib/componentutil"), n = e("./config"), a = function (e, t) { return r.create(e, t) }; a.getVersion = function () { return n.h5Version }, o.register(a); var s = window.Aliplayer = a; a.players = {}, "function" == typeof define && define.amd ? define([], function () { return s }) : "object" == typeof i && "object" == typeof t && (t.exports = s), "undefined" != typeof Uint8Array && (Uint8Array.prototype.slice || Object.defineProperty(Uint8Array.prototype, "slice", {value: Array.prototype.slice})) }, {"./config": 5, "./lang/index": 11, "./lib/componentutil": 14, "./player/adaptivePlayer": 40}], 7: [function (e, t, i) { var r = e("../lib/oo"), o = e("../lang/index"), n = r.extend({ init: function (e, t) { this._player = e, this._options = e.options() } }); n.prototype.handle = function (e) { if (this._options.autoPlayDelay) { var t = this._options.autoPlayDelayDisplayText; t || (t = o.get("AutoPlayDelayDisplayText").replace("$$", this._options.autoPlayDelay)), this._player.trigger("info_show", t), this._player.trigger("h5_loading_hide"), this._player.trigger("play_btn_hide"); var i = this; this._timeHandler = setTimeout(function () { i._player.trigger("info_hide"), i._options.autoPlayDelay = 0, e && e() }, 1e3 * this._options.autoPlayDelay), this._player.on("play", function () { a(i) }), this._player.on("pause", function () { a(i) }) } }, n.prototype.dispose = function () { a(this), this._player = null }; var a = function (e) { e._timeHandler && (clearTimeout(e._timeHandler), e._timeHandler = null) }; t.exports = n }, {"../lang/index": 11, "../lib/oo": 27}], 8: [function (e, t, i) { t.exports = t.exports = { OD: "OD", FD: "360p", LD: "540p", SD: "720p", HD: "1080p", "2K": "2K", "4K": "4K", FHD: "FHD", XLD: "XLD", SQ: "SQ", HQ: "HQ", Speed: "Speed", Speed_05X_Text: "0.5X", Speed_1X_Text: "Normal", Speed_125X_Text: "1.25X", Speed_15X_Text: "1.5X", Speed_2X_Text: "2X", Refresh_Text: "Refresh", Cancel: "Cancel", Mute: "Mute", Snapshot: "Snapshot", Detection_Text: "Diagnosis", Play_DateTime: "Time", Quality_Change_Fail_Switch_Text: "Cannot play, switch to ", Quality_Change_Text: "Switch to ", Quality_The_Url: "The url", AutoPlayDelayDisplayText: "Play in $$ seconds", Error_Load_Abort_Text: "Data abort erro", Error_Network_Text: "Loading failed due to network error", Error_Decode_Text: "Decode error", Error_Server_Network_NotSupport_Text: "Network error or \xa0the format of video is unsupported", Error_Offline_Text: "The network is unreachable, please click Refresh", Error_Play_Text: "Error occured while playing", Error_Retry_Text: " Please close or refresh", Error_AuthKey_Text: "Authentication expired or the domain is not in white list", Error_H5_Not_Support_Text: "The format of video is not supported by\xa0h5 player\uff0cplease use flash player", Error_Not_Support_M3U8_Text: "The format of m3u8 is not supported by this explorer", Error_Not_Support_MP4_Text: "The format of mp4\xa0is not supported by this explorer", Error_Not_Support_encrypt_Text: "Play the encrypted video,please set encryptType to 1", Error_Vod_URL_Is_Empty_Text: "The url is empty", Error_Vod_Fetch_Urls_Text: "Error occured when fetch urls\uff0cplease close or refresh", Fetch_Playauth_Error: "Error occured when fetch playauth close or refresh", Error_Playauth_Decode_Text: "PlayAuth parse failed", Error_Vid_Not_Same_Text: "Cannot renew url due to vid changed", Error_Playauth_Expired_Text: "Playauth expired, please close or refresh", Error_MTS_Fetch_Urls_Text: "Error occurred while requesting mst server", Error_Load_M3U8_Failed_Text: "The\xa0m3u8 file loaded failed", Error_Load_M3U8_Timeout_Text: "Timeout error occored\xa0when the\xa0m3u8 file loaded", Error_M3U8_Decode_Text: "The m3u8 file decoded failed", Error_TX_Decode_Text: "Video decoded failed", Error_Waiting_Timeout_Text: "Buffering timeout,\xa0please close or refresh", Error_Invalidate_Source: "Video shoud be mp4\u3001mp3\u3001m3u8\u3001mpd or flv", Error_Empty_Source: "Video URL shouldn't be empty", Error_Vid_Empty_Source: "vid's video URL hasn't been fetched", Error_Fetch_NotStream: "The vid has no stream to play", Error_Not_Found: "Url is not found", Live_End: "Live has finished", Play_Before_Fullscreen: "Please play before fullscreen", Can_Not_Seekable: "Can not seek to this position", Cancel_Text: "Cancel", OK_Text: "OK", Auto_Stream_Tip_Text: "Internet is slow, does switch to $$", Request_Block_Text: "This request is blocked, the video Url should be over https", Open_Html_By_File: "Html page should be on the server", Maybe_Cors_Error: "please make sure enable cors,<a href='https://help.aliyun.com/document_detail/62950.html?spm=a2c4g.11186623.2.21.Y3n2oi' target='_blank'>refer to document</a>", Speed_Switch_To: "Speed switch to ", Curent_Volume: "Current volume:", Volume_Mute: "set to mute", Volume_UnMute: "set to unmute", ShiftLiveTime_Error: "Live start time should not be greater than over time", Error_Not_Support_Format_On_Mobile: "flv\u3001rmtp can't be supported on mobile\uff0cplease use m3u8", SessionId_Ticket_Invalid: "please assign value for sessionId and ticket properties", Http_Error: " An HTTP network request failed with an error, but not from the server.", Http_Timeout: "A network request timed out", DRM_License_Expired: "DRM license is expired, please refresh", Not_Support_DRM: "Browser doesn't support DRM", CC_Switch_To: "Subtitle switch to ", AudioTrack_Switch_To: "Audio tracks switch to ", Subtitle: "Subtitle/CC", AudioTrack: "Audio Track", Quality: "Quality", Auto: "Auto", Quality_Switch_To: "Quality switch to ", Fullscreen: "Full Screen", Setting: "Settings", Volume: "Volume", Play: "Play", Pause: "Pause", CloseSubtitle: "Close CC", OpenSubtitle: "Open CC", ExistFullScreen: "Exit Full Screen", Muted: "Muted", Retry: "Retry", SwitchToLive: "Return to live", iOSNotSupportVodEncription: "iOS desn't suport Vod's encription video", UseChromeForVodEncription: "This browser desn't suport Vod's encription video, please use latest Chrome" } }, {}], 9: [function (e, t, i) { t.exports = t.exports = { OD: "OD", LD: "360p", FD: "540p", SD: "720p", HD: "1080p", "2K": "2K", "4K": "4K", FHD: "FHD", XLD: "XLD", SQ: "SQ", HQ: "HQ", Forbidden_Text: "Internal information is strictly forbidden to outsider", Refresh: "Refresh", Diagnosis: "Diagnosis", Live_Finished: "Live has finished, thanks for watching", Play: "Play", Pause: "Pause", Snapshot: "Snapshot", Replay: "Replay", Live: "Live", Encrypt: "Encrypt", Sound: "Sound", Fullscreen: "Full Screen", Exist_Fullscreen: "Exit Full-screen", Resolution: "Resolution", Next: "Next Video", Brightness: "Brightness", Default: "Default", Contrast: "Contrast", Titles_Credits: "Titles\xa0and\xa0Credits", Skip_Titles: "Skip Titles", Skip_Credits: "Skip Credits", Not_Support_Out_Site: "The video is not supported for outside website, please watch it by TaoTV", Watch_Now: "Watch now", Network_Error: "Network is unreachable, please try to refresh", Video_Error: "Playing a video error,\xa0please try to refresh", Decode_Error: "Data decoding\xa0error", Live_Not_Start: "Live has not started, to be expected", Live_Loading: "Live information is loading,\xa0please try to refresh", Fetch_Playauth_Error: "Error occured when fetch playauth close or refresh", Live_End: "Live has finished", Live_Abrot: "Signal aborted,\xa0please try to refresh", Corss_Domain_Error: "Please ensure your domain has obtained IPC license and combined CNAME, \r\n or to set\xa0\xa0cross-domain accessing available", Url_Timeout_Error: "The video url is timeout,\xa0please try to refresh", Connetction_Error: "Sorry\uff0cthe video cannot play because of connection error, please try to watch other videos", Fetch_MTS_Error: "Fetching video list failed, please ensure", Token_Expired_Error: "Requesting open api failed, please ensure token expired or not", Video_Lists_Empty_Error: "The video list is empty, please check the format of video", Encrypted_Failed_Error: "Fetching encrypted file failed, please check the permission of player", Fetch_Failed_Permission_Error: "Fetching video list failed, please check the permission of player", Invalidate_Param_Error: "No video url, please check the parameters", AutoPlayDelayDisplayText: "Play in $$ seconds", Fetch_MTS_NOT_NotStream_Error: "The vid has no stream to play", Cancel_Text: "Cancel", OK_Text: "OK", Auto_Stream_Tip_Text: "Internet is slow, does switch to $$", Open_Html_By_File: "Html page should be on the server", Cant_Use_Flash_On_Mobile: "Mobile doesn't support flash player\uff0cplease use h5 player", Flash_Not_Ready: "Flash Player plugin hasn't been installed <a href='https://www.flash.cn/' target='_blank'>install plugin</a>, or check if disable Flash plugin" } }, {}], 10: [function (e, t, i) { t.exports = t.exports = { OD: "\u539f\u753b", FD: "\u6d41\u7545", LD: "\u6807\u6e05", SD: "\u9ad8\u6e05", HD: "\u8d85\u6e05", "2K": "2K", "4K": "4K", FHD: "\u5168\u9ad8\u6e05", XLD: "\u6781\u901f", SQ: "\u666e\u901a\u97f3\u8d28", HQ: "\u9ad8\u97f3\u8d28", Forbidden_Text: "\u5185\u90e8\u4fe1\u606f\uff0c\u4e25\u7981\u5916\u4f20", Refresh: "\u5237\u65b0", Diagnosis: "\u8bca\u65ad", Live_Finished: "\u76f4\u64ad\u5df2\u7ed3\u675f,\u8c22\u8c22\u89c2\u770b", Play: "\u64ad\u653e", Pause: "\u6682\u505c", Snapshot: "\u622a\u56fe", Replay: "\u91cd\u64ad", Live: "\u76f4\u64ad", Encrypt: "\u52a0\u5bc6", Sound: "\u58f0\u97f3", Fullscreen: "\u5168\u5c4f", Exist_Fullscreen: "\u9000\u51fa\u5168\u5c4f", Resolution: "\u6e05\u6670\u5ea6", Next: "\u4e0b\u4e00\u96c6", Brightness: "\u4eae\u5ea6", Default: "\u9ed8\u8ba4", Contrast: "\u5bf9\u6bd4\u5ea6", Titles_Credits: "\u7247\u5934\u7247\u5c3e", Skip_Titles: "\u8df3\u8fc7\u7247\u5934", Skip_Credits: "\u8df3\u8fc7\u7247\u5c3e", Not_Support_Out_Site: "\u8be5\u89c6\u9891\u6682\u4e0d\u652f\u6301\u7ad9\u5916\u64ad\u653e\uff0c\u8bf7\u5230\u6dd8TV\u89c2\u770b", Watch_Now: "\u7acb\u5373\u89c2\u770b", Network_Error: "\u7f51\u7edc\u65e0\u6cd5\u8fde\u63a5\uff0c\u8bf7\u5c1d\u8bd5\u68c0\u67e5\u7f51\u7edc\u540e\u5237\u65b0\u8bd5\u8bd5", Video_Error: "\u89c6\u9891\u64ad\u653e\u5f02\u5e38\uff0c\u8bf7\u5237\u65b0\u8bd5\u8bd5", Decode_Error: "\u64ad\u653e\u6570\u636e\u89e3\u7801\u9519\u8bef", Live_Not_Start: "\u4eb2\uff0c\u76f4\u64ad\u8fd8\u672a\u5f00\u59cb\u54e6\uff0c\u656c\u8bf7\u671f\u5f85", Live_Loading: "\u76f4\u64ad\u4fe1\u606f\u52a0\u8f7d\u4e2d\uff0c\u8bf7\u5237\u65b0\u8bd5\u8bd5", Live_End: "\u4eb2\uff0c\u76f4\u64ad\u5df2\u7ed3\u675f", Live_Abrot: "\u5f53\u524d\u76f4\u64ad\u4fe1\u53f7\u4e2d\u65ad\uff0c\u8bf7\u5237\u65b0\u540e\u91cd\u8bd5", Corss_Domain_Error: "\u8bf7\u786e\u8ba4\u60a8\u7684\u57df\u540d\u5df2\u5b8c\u6210\u5907\u6848\u548cCNAME\u7ed1\u5b9a\uff0c\r\n\u5e76\u5904\u4e8e\u542f\u7528\u72b6\u6001\uff0c\u6216\u8d44\u6e90\u5141\u8bb8\u8de8\u8d8a\u8bbf\u95ee", Url_Timeout_Error: "\u60a8\u6240\u89c2\u770b\u7684\u89c6\u9891\u5730\u5740\u8fde\u63a5\u8d85\u65f6\uff0c\u8bf7\u5237\u65b0\u540e\u91cd\u8bd5", Connetction_Error: "\u62b1\u6b49,\u8be5\u89c6\u9891\u7531\u4e8e\u8fde\u63a5\u9519\u8bef\u6682\u65f6\u4e0d\u80fd\u64ad\u653e,\u8bf7\u89c2\u770b\u5176\u5b83\u89c6\u9891", Fetch_MTS_Error: "\u83b7\u53d6\u89c6\u9891\u5217\u8868\u5931\u8d25\uff0c\u8bf7\u786e\u8ba4", Token_Expired_Error: "\u8bf7\u6c42\u63a5\u53e3\u5931\u8d25\uff0c\u8bf7\u786e\u8ba4Token\u662f\u5426\u8fc7\u671f", Video_Lists_Empty_Error: "\u83b7\u53d6\u89c6\u9891\u5217\u8868\u4e3a\u7a7a\uff0c\u8bf7\u786e\u8ba4\u64ad\u653e\u6570\u636e\u4e0e\u683c\u5f0f", Encrypted_Failed_Error: "\u83b7\u53d6\u89c6\u9891\u52a0\u5bc6\u79d8\u94a5\u9519\u8bef\uff0c\u8bf7\u786e\u8ba4\u64ad\u653e\u6743\u9650", Fetch_Failed_Permission_Error: "\u83b7\u53d6\u89c6\u9891\u5217\u8868\u5931\u8d25\uff0c\u8bf7\u786e\u8ba4\u64ad\u653e\u6743\u9650", Invalidate_Param_Error: "\u65e0\u8f93\u5165\u89c6\u9891\uff0c\u8bf7\u786e\u8ba4\u8f93\u5165\u53c2\u6570", AutoPlayDelayDisplayText: "$$\u79d2\u4ee5\u540e\u5f00\u59cb\u64ad\u653e", Fetch_MTS_NOT_NotStream_Error: "\u6b64vid\u6ca1\u6709\u53ef\u64ad\u653e\u89c6\u9891", Cancel_Text: "\u53d6\u6d88", OK_Text: "\u786e\u8ba4", Auto_Stream_Tip_Text: "\u7f51\u7edc\u4e0d\u7ed9\u529b\uff0c\u662f\u5426\u5207\u6362\u5230$$", Fetch_Playauth_Error: "\u83b7\u53d6\u64ad\u653e\u51ed\u8bc1\u51fa\u9519\u5566\uff0c\u8bf7\u5c1d\u8bd5\u9000\u51fa\u91cd\u8bd5\u6216\u5237\u65b0", Open_Html_By_File: "\u4e0d\u80fd\u76f4\u63a5\u5728\u6d4f\u89c8\u5668\u6253\u5f00html\u6587\u4ef6\uff0c\u8bf7\u90e8\u7f72\u5230\u670d\u52a1\u7aef", Cant_Use_Flash_On_Mobile: "\u79fb\u52a8\u7aef\u4e0d\u652f\u6301Flash\u64ad\u653e\u5668\uff0c\u8bf7\u4f7f\u7528h5\u64ad\u653e\u5668", Flash_Not_Ready: "Flash Player\u63d2\u4ef6\u672a\u5b89\u88c5<a href='https://www.flash.cn/' target='_blank'>\u5b89\u88c5\u63d2\u4ef6</a>\uff0c\u5982\u679c\u5df2\u7ecf\u5b89\u88c5\u8bf7\u68c0\u67e5\u662f\u5426\u88ab\u7981\u7528" } }, {}], 11: [function (n, e, t) { var i = n("../config"), a = n("../lib/storage"), o = (n("../lib/io"), "aliplayer_lang"), s = function () { if (void 0 === window[o] || !window[o]) { var e = (navigator.language || navigator.browserLanguage).toLowerCase(); e = e && -1 < e.indexOf("zh") ? "zh-cn" : "en-us", window[o] = e } return window[o] }, l = function (e, t) { var i = d(e), r = "", o = c(); r = "flash" == e ? "en-us" == o ? n("./flash/en-us") : "zh-cn" == o ? n("./flash/zh-cn") : t[o] : "en-us" == o ? n("./en-us") : "zh-cn" == o ? n("./zh-cn") : t[o], a.set(i, JSON.stringify(r)), u(e, r) }, u = function (e, t) { var i = d(e); window[i] = t }, c = function () { return s() }, d = function (e) { var t = c(); return e || (e = "h5"), "aliplayer_lang_data_" + e + "_" + i.h5Version.replace(/\./g, "_") + "_" + t }; e.exports.setCurrentLanguage = function (e, t, i) { var r = window[o]; if (void 0 !== e && e || (e = s()), "en-us" != e && "zh-cn" != e && (!i || i && !i[e])) throw new Error("There is not language resource for " + e + ", please specify the language resource by languageTexts property"); window[o] = e, l(t, i), e != r && n("../lib/constants").updateByLanguage() }, e.exports.getCurrentLanguage = s, e.exports.getLanguageData = function (e, t) { var i = d(e); return window[i] }, e.exports.load = l, e.exports.get = function (e, t) { t || (t = "h5"); var i = d(t), r = window[i]; if (r) return r[e] } }, { "../config": 5, "../lib/constants": 15, "../lib/io": 24, "../lib/storage": 30, "./en-us": 8, "./flash/en-us": 9, "./flash/zh-cn": 10, "./zh-cn": 12 }], 12: [function (e, t, i) { t.exports = t.exports = { OD: "\u539f\u753b", FD: "\u6d41\u7545", LD: "\u6807\u6e05", SD: "\u9ad8\u6e05", HD: "\u8d85\u6e05", "2K": "2K", "4K": "4K", FHD: "\u5168\u9ad8\u6e05", XLD: "\u6781\u901f", SQ: "\u666e\u901a\u97f3\u8d28", HQ: "\u9ad8\u97f3\u8d28", Speed: "\u500d\u901f", Speed_05X_Text: "0.5X", Speed_1X_Text: "\u6b63\u5e38", Speed_125X_Text: "1.25X", Speed_15X_Text: "1.5X", Speed_2X_Text: "2X", Quality_Change_Fail_Switch_Text: "\u4e0d\u80fd\u64ad\u653e\uff0c\u5207\u6362\u4e3a", Quality_Change_Text: "\u6b63\u5728\u4e3a\u60a8\u5207\u6362\u5230 ", Quality_The_Url: "\u6b64\u5730\u5740", Refresh_Text: "\u5237\u65b0", Detection_Text: "\u8bca\u65ad", Cancel: "\u53d6\u6d88", Mute: "\u9759\u97f3", Snapshot: "\u622a\u56fe", Play_DateTime: "\u64ad\u653e\u65f6\u95f4", AutoPlayDelayDisplayText: "$$\u79d2\u4ee5\u540e\u5f00\u59cb\u64ad\u653e", Error_Load_Abort_Text: "\u83b7\u53d6\u6570\u636e\u8fc7\u7a0b\u88ab\u4e2d\u6b62", Error_Network_Text: "\u7f51\u7edc\u9519\u8bef\u52a0\u8f7d\u6570\u636e\u5931\u8d25", Error_Decode_Text: "\u89e3\u7801\u9519\u8bef", Error_Server_Network_NotSupport_Text: "\u670d\u52a1\u5668\u3001\u7f51\u7edc\u9519\u8bef\u6216\u683c\u5f0f\u4e0d\u652f\u6301", Error_Offline_Text: "\u7f51\u7edc\u4e0d\u53ef\u7528\uff0c\u8bf7\u786e\u5b9a", Error_Play_Text: "\u64ad\u653e\u51fa\u9519\u5566", Error_Retry_Text: "\u8bf7\u5c1d\u8bd5\u9000\u51fa\u91cd\u8bd5\u6216\u5237\u65b0", Error_AuthKey_Text: "\u53ef\u80fd\u9274\u6743\u8fc7\u671f\u3001\u57df\u540d\u4e0d\u5728\u767d\u540d\u5355\u6216\u8bf7\u6c42\u88ab\u62e6\u622a", Error_H5_Not_Support_Text: "h5\u4e0d\u652f\u6301\u6b64\u683c\u5f0f\uff0c\u8bf7\u4f7f\u7528flash\u64ad\u653e\u5668", Error_Not_Support_M3U8_Text: "\u6d4f\u89c8\u5668\u4e0d\u652f\u6301m3u8\u89c6\u9891\u64ad\u653e", Error_Not_Support_MP4_Text: "\u6d4f\u89c8\u5668\u4e0d\u652f\u6301mp4\u89c6\u9891\u64ad\u653e", Error_Not_Support_encrypt_Text: "\u64ad\u653e\u52a0\u5bc6\u89c6\u9891\uff0c\u8bf7\u8bbe\u7f6e\u5c5e\u6027encryptType to 1", Error_Vod_URL_Is_Empty_Text: "\u83b7\u53d6\u64ad\u653e\u5730\u5740\u4e3a\u7a7a", Error_Vod_Fetch_Urls_Text: "\u83b7\u53d6\u5730\u5740\u51fa\u9519\u5566\uff0c\u8bf7\u5c1d\u8bd5\u9000\u51fa\u91cd\u8bd5\u6216\u5237\u65b0", Fetch_Playauth_Error: "\u83b7\u53d6\u64ad\u653e\u51ed\u8bc1\u51fa\u9519\u5566\uff0c\u8bf7\u5c1d\u8bd5\u9000\u51fa\u91cd\u8bd5\u6216\u5237\u65b0", Error_Playauth_Decode_Text: "playauth\u89e3\u6790\u9519\u8bef", Error_Vid_Not_Same_Text: "\u4e0d\u80fd\u66f4\u65b0\u5730\u5740\uff0cvid\u548c\u64ad\u653e\u4e2d\u7684\u4e0d\u4e00\u81f4", Error_Playauth_Expired_Text: "\u51ed\u8bc1\u5df2\u8fc7\u671f\uff0c\u8bf7\u5c1d\u8bd5\u9000\u51fa\u91cd\u8bd5\u6216\u5237\u65b0", Error_MTS_Fetch_Urls_Text: "MTS\u83b7\u53d6\u53d6\u6570\u5931\u8d25", Error_Load_M3U8_Failed_Text: "\u83b7\u53d6m3u8\u6587\u4ef6\u5931\u8d25", Error_Load_M3U8_Timeout_Text: "\u83b7\u53d6m3u8\u6587\u4ef6\u8d85\u65f6", Error_M3U8_Decode_Text: "\u83b7\u53d6m3u8\u6587\u4ef6\u89e3\u6790\u5931\u8d25", Error_TX_Decode_Text: "\u89e3\u6790\u6570\u636e\u51fa\u9519", Error_Waiting_Timeout_Text: "\u7f13\u51b2\u6570\u636e\u8d85\u65f6\uff0c\u8bf7\u5c1d\u8bd5\u9000\u51fa\u91cd\u8bd5\u6216\u5237\u65b0", Error_Invalidate_Source: "\u64ad\u653e\u5730\u5740\u683c\u5f0f\u9700\u8981\u4e3amp4\u3001mp3\u3001m3u8\u3001mpd\u6216flv", Error_Empty_Source: "\u64ad\u653e\u5730\u5740\u4e0d\u80fd\u4e3a\u7a7a", Error_Vid_Empty_Source: "vid\u5bf9\u5e94\u7684\u89c6\u9891\u5730\u5740\u8fd8\u672a\u83b7\u53d6\u5230", Error_Fetch_NotStream: "\u6b64vid\u6ca1\u6709\u53ef\u64ad\u653e\u89c6\u9891", Error_Not_Found: "\u64ad\u653e\u5730\u5740\u4e0d\u5b58\u5728", Live_End: "\u4eb2\uff0c\u76f4\u64ad\u5df2\u7ed3\u675f", Play_Before_Fullscreen: "\u64ad\u653e\u540e\u518d\u5168\u5c4f", Can_Not_Seekable: "\u4e0d\u80fdseek\u5230\u8fd9\u91cc", Cancel_Text: "\u53d6\u6d88", OK_Text: "\u786e\u8ba4", Auto_Stream_Tip_Text: "\u7f51\u7edc\u4e0d\u7ed9\u529b\uff0c\u662f\u5426\u5207\u6362\u5230$$", Request_Block_Text: "\u6d4f\u89c8\u5668\u5b89\u5168\u7b56\u7565\u89c6\u9891\u5730\u5740\u4e0d\u80fd\u4e3ahttp\u534f\u8bae\uff0c\u4e0e\u7f51\u7ad9https\u534f\u8bae\u4e0d\u4e00\u81f4", Open_Html_By_File: "\u4e0d\u80fd\u76f4\u63a5\u5728\u6d4f\u89c8\u5668\u6253\u5f00html\u6587\u4ef6\uff0c\u8bf7\u90e8\u7f72\u5230\u670d\u52a1\u7aef", Maybe_Cors_Error: "\u8bf7\u786e\u8ba4\u662f\u5426\u5f00\u542f\u4e86\u5141\u8bb8\u8de8\u57df\u8bbf\u95ee<a href='https://help.aliyun.com/document_detail/62950.html' target='_blank'>\u53c2\u8003\u6587\u6863</a>", Speed_Switch_To: "\u500d\u901f\u5207\u6362\u5230 ", Curent_Volume: "\u5f53\u524d\u97f3\u91cf\uff1a", Volume_Mute: "\u8bbe\u7f6e\u4e3a\u9759\u97f3", Volume_UnMute: "\u8bbe\u7f6e\u4e3a\u975e\u9759\u97f3", ShiftLiveTime_Error: "\u76f4\u64ad\u5f00\u59cb\u65f6\u95f4\u4e0d\u80fd\u5927\u4e8e\u76f4\u64ad\u7ed3\u675f\u65f6\u95f4", Error_Not_Support_Format_On_Mobile: "\u79fb\u52a8\u7aef\u4e0d\u652f\u6301flv\u3001rmtp\u89c6\u9891\uff0c\u8bf7\u4f7f\u7528m3u8", SessionId_Ticket_Invalid: "DRM\u89c6\u9891\u64ad\u653e\uff0csessionId\u548cticket\u5c5e\u6027\u4e0d\u80fd\u4e3a\u7a7a", Http_Error: "Http\u7f51\u7edc\u8bf7\u6c42\u5931\u8d25", Http_Timeout: "http\u8bf7\u6c42\u8d85\u65f6", DRM_License_Expired: "DRM license\u8d85\u65f6\uff0c\u8bf7\u5237\u65b0", Not_Support_DRM: "\u6d4f\u89c8\u5668\u4e0d\u652f\u6301DRM\u89c6\u9891\u7684\u64ad\u653e", CC_Switch_To: "\u5b57\u5e55\u5207\u6362\u5230 ", AudioTrack_Switch_To: "\u97f3\u8f68\u5207\u6362\u5230 ", Subtitle: "\u5b57\u5e55", AudioTrack: "\u97f3\u8f68", Quality: "\u6e05\u6670\u5ea6", Auto: "\u81ea\u52a8", Quality_Switch_To: "\u6e05\u6670\u5ea6\u5207\u6362\u5230 ", Fullscreen: "\u5168\u5c4f", Setting: "\u8bbe\u7f6e", Volume: "\u97f3\u91cf", Play: "\u64ad\u653e", Pause: "\u6682\u505c", CloseSubtitle: "\u5173\u95ed\u5b57\u5e55", OpenSubtitle: "\u6253\u5f00\u5b57\u5e55", ExistFullScreen: "\u9000\u51fa\u5168\u5c4f", Muted: "\u9759\u97f3", Retry: "\u91cd\u8bd5", SwitchToLive: "\u8fd4\u56de\u76f4\u64ad", iOSNotSupportVodEncription: "iOS\u4e0d\u652f\u6301\u70b9\u64ad\u52a0\u5bc6\u64ad\u653e", UseChromeForVodEncription: "\u6d4f\u89c8\u5668\u4e0d\u652f\u6301\u70b9\u64ad\u52a0\u5bc6\u64ad\u653e\uff0c\u8bf7\u4f7f\u7528\u6700\u65b0Chrome\u6d4f\u89c8\u5668" } }, {}], 13: [function (e, t, i) { var n = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; if (window.Uint8Array) for (var d = new Uint8Array(256), r = 0; r < n.length; r++) d[n.charCodeAt(r)] = r; var u = function (e) { for (var t = "", i = 0; i < e.length; i += 16e3) { var r = e.subarray(i, i + 16e3); t += String.fromCharCode.apply(null, r) } return t }; var unpackPlayReady = function (e) { var t = function (e, t, i) { if (!e) return ""; var r; if (i || e.byteLength % 2 == 0 || console.log("Data has an incorrect length, must be even."), e instanceof ArrayBuffer) r = e; else { var o = new Uint8Array(e.byteLength); o.set(new Uint8Array(e)), r = o.buffer } for (var n = Math.floor(e.byteLength / 2), a = new Uint16Array(n), s = new DataView(r), l = 0; l < n; l++) a[l] = s.getUint16(2 * l, t); return u(a) }(e, !0, !0); if (-1 != t.indexOf("PlayReadyKeyMessage")) { for (var i = (new DOMParser).parseFromString(t, "application/xml"), r = i.getElementsByTagName("HttpHeader"), o = {}, n = 0; n < r.length; ++n) { var a = r[n].querySelector("name"), s = r[n].querySelector("value"); o[a.textContent] = s.textContent } return {header: o, changange: i.querySelector("Challenge").textContent} } console.log("PlayReady request is already unwrapped.") }; t.exports = { decode: function (e) { var t, i, r, o, n, a = .75 * e.length, s = e.length, l = 0; "=" === e[e.length - 1] && (a--, "=" === e[e.length - 2] && a--); var u = new ArrayBuffer(a), c = new Uint8Array(u); for (t = 0; t < s; t += 4) i = d[e.charCodeAt(t)], r = d[e.charCodeAt(t + 1)], o = d[e.charCodeAt(t + 2)], n = d[e.charCodeAt(t + 3)], c[l++] = i << 2 | r >> 4, c[l++] = (15 & r) << 4 | o >> 2, c[l++] = (3 & o) << 6 | 63 & n; return u }, encode: function (e) { var t, i = new Uint8Array(e), r = i.length, o = ""; for (t = 0; t < r; t += 3) o += n[i[t] >> 2], o += n[(3 & i[t]) << 4 | i[t + 1] >> 4], o += n[(15 & i[t + 1]) << 2 | i[t + 2] >> 6], o += n[63 & i[t + 2]]; return r % 3 == 2 ? o = o.substring(0, o.length - 1) + "=" : r % 3 == 1 && (o = o.substring(0, o.length - 2) + "=="), o }, unpackPlayReady: unpackPlayReady } }, {}], 14: [function (e, t, i) { var r = e("./oo"), o = e("../player/base/event/eventtype"); t.exports.stopPropagation = function (e) { window.event ? window.event.cancelBubble = !0 : e.stopPropagation() }, t.exports.register = function (e) { e.util = {stopPropagation: t.exports.stopPropagation}, e.Component = r.extend, e.EventType = o.Player } }, {"../player/base/event/eventtype": 43, "./oo": 27}], 15: [function (e, t, i) { var r = e("../lang/index"); t.exports.LOAD_START = "loadstart", t.exports.LOADED_METADATA = "loadedmetadata", t.exports.LOADED_DATA = "loadeddata", t.exports.PROGRESS = "progress", t.exports.CAN_PLAY = "canplay", t.exports.CAN_PLYA_THROUGH = "canplaythrough", t.exports.PLAY = "play", t.exports.PAUSE = "pause", t.exports.ENDED = "ended", t.exports.PLAYING = "playing", t.exports.WAITING = "waiting", t.exports.ERROR = "error", t.exports.SUSPEND = "suspend", t.exports.STALLED = "stalled", t.exports.AuthKeyExpiredEvent = "authkeyexpired", t.exports.DRMKeySystem = { 4: "com.microsoft.playready", 5: "com.widevine.alpha" }, t.exports.EncryptionType = { Private: 1, Standard: 2, ChinaDRM: 3, PlayReady: 4, Widevine: 5 }, t.exports.VodEncryptionType = { AliyunVoDEncryption: 1, HLSEncryption: 2 }, t.exports.DRMType = { Widevine: "Widevine", PlayReady: "PlayReady" }, t.exports.ErrorCode = { InvalidParameter: 4001, AuthKeyExpired: 4002, InvalidSourceURL: 4003, NotFoundSourceURL: 4004, StartLoadData: 4005, LoadedMetadata: 4006, PlayingError: 4007, LoadingTimeout: 4008, RequestDataError: 4009, EncrptyVideoNotSupport: 4010, FormatNotSupport: 4011, PlayauthDecode: 4012, PlayDataDecode: 4013, NetworkUnavaiable: 4014, UserAbort: 4015, NetworkError: 4016, URLsIsEmpty: 4017, CrossDomain: 4027, OtherError: 4400, ServerAPIError: 4500, FlashNotInstalled: 4600 }, t.exports.AuthKeyExpired = 7200, t.exports.AuthKeyRefreshExpired = 7e3, t.exports.AuthInfoExpired = 100, t.exports.VideoErrorCode = { 1: 4015, 2: 4016, 3: 4013, 4: 4400 }, t.exports.IconType = { FontClass: "fontclass", Symbol: "symbol", Sprite: "Sprite" }, t.exports.SelectedStreamLevel = "selectedStreamLevel", t.exports.SelectedCC = "selectedCC", t.exports.WidthMapToLevel = { 0: "OD", 640: "FD", 960: "LD", 1280: "SD", 1920: "HD", 2580: "2K", 3840: "4K" }; var o = function () { t.exports.VideoErrorCodeText = { 1: r.get("Error_Load_Abort_Text"), 2: r.get("Error_Network_Text"), 3: r.get("Error_Decode_Text"), 4: r.get("Error_Server_Network_NotSupport_Text") }, t.exports.VideoLevels = { 0: r.get("OD"), 640: r.get("FD"), 960: r.get("LD"), 1280: r.get("SD"), 1920: r.get("HD"), 2580: r.get("2K"), 3840: r.get("4K") }, t.exports.QualityLevels = { OD: r.get("OD"), LD: r.get("LD"), FD: r.get("FD"), SD: r.get("SD"), HD: r.get("HD"), "2K": r.get("2K"), "4K": r.get("4K"), XLD: r.get("XLD"), FHD: r.get("FHD"), SQ: r.get("SQ"), HQ: r.get("HQ") }, t.exports.SpeedLevels = [{key: .5, text: r.get("Speed_05X_Text")}, { key: 1, text: r.get("Speed_1X_Text") }, {key: 1.25, text: r.get("Speed_125X_Text")}, {key: 1.5, text: r.get("Speed_15X_Text")}, { key: 2, text: r.get("Speed_2X_Text") }] }; o(), t.exports.updateByLanguage = o }, {"../lang/index": 11}], 16: [function (e, t, i) { t.exports.get = function (e) { for (var t = e + "", i = document.cookie.split(";"), r = 0; r < i.length; r++) { var o = i[r].trim(); if (0 == o.indexOf(t)) return unescape(o.substring(t.length + 1, o.length)) } return "" }, t.exports.set = function (e, t, i) { var r = new Date; r.setTime(r.getTime() + 24 * i * 60 * 60 * 1e3); var o = "expires=" + r.toGMTString(); document.cookie = e + "=" + escape(t) + "; " + o } }, {}], 17: [function (e, i, t) { var r = e("./object"); i.exports.cache = {}, i.exports.guid = function (e, t) { var i, r, o = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""), n = []; if (t = t || o.length, e) for (i = 0; i < e; i++) n[i] = o[0 | Math.random() * t]; else for (n[8] = n[13] = n[18] = n[23] = "-", n[14] = "4", i = 0; i < 36; i++) n[i] || (r = 0 | 16 * Math.random(), n[i] = o[19 == i ? 3 & r | 8 : r]); return n.join("") }, i.exports.expando = "vdata" + (new Date).getTime(), i.exports.getData = function (e) { var t = e[i.exports.expando]; return t || (t = e[i.exports.expando] = i.exports.guid(), i.exports.cache[t] = {}), i.exports.cache[t] }, i.exports.hasData = function (e) { var t = ""; return e && (t = e[i.exports.expando]), !(!t || r.isEmpty(i.exports.cache[t])) }, i.exports.removeData = function (t) { var e = ""; if (t && (e = t[i.exports.expando]), e) { delete i.exports.cache[e]; try { delete t[i.exports.expando] } catch (e) { t.removeAttribute ? t.removeAttribute(i.exports.expando) : t[i.exports.expando] = null } } } }, {"./object": 26}], 18: [function (e, c, t) { var r = e("./object"); c.exports.el = function (e) { return document.getElementById(e) }, c.exports.createEl = function (e, t) { var i; return e = e || "div", t = t || {}, i = document.createElement(e), r.each(t, function (e, t) { -1 !== e.indexOf("aria-") || "role" == e ? i.setAttribute(e, t) : i[e] = t }), i }, c.exports.addClass = function (e, t) { -1 == (" " + e.className + " ").indexOf(" " + t + " ") && (e.className = "" === e.className ? t : e.className + " " + t) }, c.exports.removeClass = function (e, t) { var i, r; if (-1 != e.className.indexOf(t)) { for (r = (i = e.className.split(" ")).length - 1; 0 <= r; r--) i[r] === t && i.splice(r, 1); e.className = i.join(" ") } }, c.exports.hasClass = function (e, t) { return -1 != e.className.indexOf(t) }, c.exports.getClasses = function (e) { return e.className ? e.className.split(" ") : [] }, c.exports.getElementAttributes = function (e) { var t, i, r, o, n; if (t = {}, i = ",autoplay,controls,loop,muted,default,", e && e.attributes && 0 < e.attributes.length) for (var a = (r = e.attributes).length - 1; 0 <= a; a--) o = r[a].name, n = r[a].value, "boolean" != typeof e[o] && -1 === i.indexOf("," + o + ",") || (n = null !== n), t[o] = n; return t }, c.exports.insertFirst = function (e, t) { t.firstChild ? t.insertBefore(e, t.firstChild) : t.appendChild(e) }, c.exports.blockTextSelection = function () { document.body.focus(), document.onselectstart = function () { return !1 } }, c.exports.unblockTextSelection = function () { document.onselectstart = function () { return !0 } }, c.exports.css = function (i, e, t) { return !(!i || !i.style) && (e && t ? (i.style[e] = t, !0) : t || "string" != typeof e ? !t && "object" == typeof e && (r.each(e, function (e, t) { i.style[e] = t }), !0) : i.style[e]) }, c.exports.getTransformName = function (e) { var t, i, r = ["transform", "WebkitTransform", "MozTransform", "msTransform", "OTransform"], o = r[0]; for (t = 0, i = r.length; t < i; t++) if (void 0 !== e.style[r[t]]) { o = r[t]; break } return o }, c.exports.getTransformEventName = function (e, t) { var i, r, o = ["", "Webkit", "Moz", "ms", "O"], n = t.toLowerCase(), a = ["transform", "WebkitTransform", "MozTransform", "msTransform", "OTransform"]; for (i = 0, r = a.length; i < r; i++) if (void 0 !== e.style[a[i]]) { 0 != i && (n = o[i] + t); break } return n }, c.exports.addCssByStyle = function (e) { var t = document, i = t.createElement("style"); if (i.setAttribute("type", "text/css"), i.styleSheet) i.styleSheet.cssText = e; else { var r = t.createTextNode(e); i.appendChild(r) } var o = t.getElementsByTagName("head"); o.length ? o[0].appendChild(i) : t.documentElement.appendChild(i) }, c.exports.getTranslateX = function (e) { var t = 0; if (e) try { var i = window.getComputedStyle(e), r = c.exports.getTransformName(e); t = new WebKitCSSMatrix(i[r]).m41 } catch (e) { console.log(e) } return t }, c.exports.getPointerPosition = function (e, t) { var i = {}, r = c.exports.findPosition(e), o = e.offsetWidth, n = e.offsetHeight, a = r.top, s = r.left, l = t.pageY, u = t.pageX; return t.changedTouches && (u = t.changedTouches[0].pageX, l = t.changedTouches[0].pageY), i.y = Math.max(0, Math.min(1, (a - l + n) / n)), i.x = Math.max(0, Math.min(1, (u - s) / o)), i }, c.exports.findPosition = function (e) { var t; if (e.getBoundingClientRect && e.parentNode && (t = e.getBoundingClientRect()), !t) return { left: 0, top: 0 }; var i = document.documentElement, r = document.body, o = i.clientLeft || r.clientLeft || 0, n = window.pageXOffset || r.scrollLeft, a = t.left + n - o, s = i.clientTop || r.clientTop || 0, l = window.pageYOffset || r.scrollTop, u = t.top + l - s; return {left: Math.round(a), top: Math.round(u)} } }, {"./object": 26}], 19: [function (e, l, t) { var u = e("./object"), c = e("./data"), i = e("./ua"), r = e("fastclick"); function d(t, i, e, r) { u.each(e, function (e) { t(i, e, r) }) } l.exports.on = function (n, e, t) { if (n) { if (u.isArray(e)) return d(l.exports.on, n, e, t); i.IS_MOBILE && "click" == e && r(n); var a = c.getData(n); a.handlers || (a.handlers = {}), a.handlers[e] || (a.handlers[e] = []), t.guid || (t.guid = c.guid()), a.handlers[e].push(t), a.dispatcher || (a.disabled = !1, a.dispatcher = function (e) { if (!a.disabled) { e = l.exports.fixEvent(e); var t = a.handlers[e.type]; if (t) for (var i = t.slice(0), r = 0, o = i.length; r < o && !e.isImmediatePropagationStopped(); r++) i[r].call(n, e) } }), 1 == a.handlers[e].length && (n.addEventListener ? n.addEventListener(e, a.dispatcher, !1) : n.attachEvent && n.attachEvent("on" + e, a.dispatcher)) } }, l.exports.off = function (t, e, i) { if (t && c.hasData(t)) { var r = c.getData(t); if (r.handlers) { if (u.isArray(e)) return d(l.exports.off, t, e, i); var o = function (e) { r.handlers[e] = [], l.exports.cleanUpEvents(t, e) }; if (e) { var n = r.handlers[e]; if (n) if (i) { if (i.guid) for (var a = 0; a < n.length; a++) n[a].guid === i.guid && n.splice(a--, 1); l.exports.cleanUpEvents(t, e) } else o(e) } else for (var s in r.handlers) o(s) } } }, l.exports.cleanUpEvents = function (e, t) { var i = c.getData(e); 0 === i.handlers[t].length && (delete i.handlers[t], e.removeEventListener ? e.removeEventListener(t, i.dispatcher, !1) : e.detachEvent && e.detachEvent("on" + t, i.dispatcher)), u.isEmpty(i.handlers) && (delete i.handlers, delete i.dispatcher, delete i.disabled), u.isEmpty(i) && c.removeData(e) }, l.exports.fixEvent = function (e) { function t() { return !0 } function i() { return !1 } if (!e || !e.isPropagationStopped) { var r = e || window.event; for (var o in e = {}, r) "layerX" !== o && "layerY" !== o && "keyboardEvent.keyLocation" !== o && ("returnValue" == o && r.preventDefault || (e[o] = r[o])); if (e.target || (e.target = e.srcElement || document), e.relatedTarget = e.fromElement === e.target ? e.toElement : e.fromElement, e.preventDefault = function () { r.preventDefault && r.preventDefault(), e.returnValue = !1, e.isDefaultPrevented = t, e.defaultPrevented = !0 }, e.isDefaultPrevented = i, e.defaultPrevented = !1, e.stopPropagation = function () { r.stopPropagation && r.stopPropagation(), e.cancelBubble = !0, e.isPropagationStopped = t }, e.isPropagationStopped = i, e.stopImmediatePropagation = function () { r.stopImmediatePropagation && r.stopImmediatePropagation(), e.isImmediatePropagationStopped = t, e.stopPropagation() }, e.isImmediatePropagationStopped = i, null != e.clientX) { var n = document.documentElement, a = document.body; e.pageX = e.clientX + (n && n.scrollLeft || a && a.scrollLeft || 0) - (n && n.clientLeft || a && a.clientLeft || 0), e.pageY = e.clientY + (n && n.scrollTop || a && a.scrollTop || 0) - (n && n.clientTop || a && a.clientTop || 0) } e.which = e.charCode || e.keyCode, null != e.button && (e.button = 1 & e.button ? 0 : 4 & e.button ? 1 : 2 & e.button ? 2 : 0) } return e }, l.exports.trigger = function (e, t) { if (e) { var i = c.hasData(e) ? c.getData(e) : {}, r = e.parentNode || e.ownerDocument; if ("string" == typeof t) { var o = null; (e.paramData || 0 == e.paramData) && (o = e.paramData, e.paramData = null, e.removeAttribute(o)), t = { type: t, target: e, paramData: o } } if (t = l.exports.fixEvent(t), i.dispatcher && i.dispatcher.call(e, t), r && !t.isPropagationStopped() && !1 !== t.bubbles) l.exports.trigger(r, t); else if (!r && !t.defaultPrevented) { var n = c.getData(t.target); t.target[t.type] && (n.disabled = !0, "function" == typeof t.target[t.type] && t.target[t.type](), n.disabled = !1) } return !t.defaultPrevented } }, l.exports.one = function (e, t, i) { if (e) { if (u.isArray(t)) return d(l.exports.one, e, t, i); var r = function () { l.exports.off(e, t, r), i.apply(this, arguments) }; r.guid = i.guid = i.guid || c.guid(), l.exports.on(e, t, r) } } }, {"./data": 17, "./object": 26, "./ua": 31, fastclick: 1}], 20: [function (e, t, i) { var o = e("./data"); t.exports.bind = function (e, t, i) { t.guid || (t.guid = o.guid()); var r = function () { return t.apply(e, arguments) }; return r.guid = i ? i + "_" + t.guid : t.guid, r } }, {"./data": 17}], 21: [function (e, t, i) { var r = /^((?:[a-zA-Z0-9+\-.]+:)?)(\/\/[^\/\;?#]*)?(.*?)??(;.*?)?(\?.*?)?(#.*?)?$/, c = /^([^\/;?#]*)(.*)$/, o = /(?:\/|^)\.(?=\/)/g, n = /(?:\/|^)\.\.\/(?!\.\.\/).*?(?=\/)/g, d = { buildAbsoluteURL: function (e, t, i) { if (i = i || {}, e = e.trim(), !(t = t.trim())) { if (!i.alwaysNormalize) return e; var r = d.parseURL(e); if (!r) throw new Error("Error trying to parse base URL."); return r.path = d.normalizePath(r.path), d.buildURLFromParts(r) } var o = d.parseURL(t); if (!o) throw new Error("Error trying to parse relative URL."); if (o.scheme) return i.alwaysNormalize ? (o.path = d.normalizePath(o.path), d.buildURLFromParts(o)) : t; var n = d.parseURL(e); if (!n) throw new Error("Error trying to parse base URL."); if (!n.netLoc && n.path && "/" !== n.path[0]) { var a = c.exec(n.path); n.netLoc = a[1], n.path = a[2] } n.netLoc && !n.path && (n.path = "/"); var s = { scheme: n.scheme, netLoc: o.netLoc, path: null, params: o.params, query: o.query, fragment: o.fragment }; if (!o.netLoc && (s.netLoc = n.netLoc, "/" !== o.path[0])) if (o.path) { var l = n.path, u = l.substring(0, l.lastIndexOf("/") + 1) + o.path; s.path = d.normalizePath(u) } else s.path = n.path, o.params || (s.params = n.params, o.query || (s.query = n.query)); return null === s.path && (s.path = i.alwaysNormalize ? d.normalizePath(o.path) : o.path), d.buildURLFromParts(s) }, parseURL: function (e) { var t = r.exec(e); return t ? { scheme: t[1] || "", netLoc: t[2] || "", path: t[3] || "", params: t[4] || "", query: t[5] || "", fragment: t[6] || "" } : null }, normalizePath: function (e) { for (e = e.split("").reverse().join("").replace(o, ""); e.length !== (e = e.replace(n, "")).length;) ; return e.split("").reverse().join("") }, buildURLFromParts: function (e) { return e.scheme + e.netLoc + e.path + e.params + e.query + e.fragment } }; t.exports = d }, {}], 22: [function (e, t, i) { var r = /^(\d+)x(\d+)$/, o = /\s*(.+?)\s*=((?:\".*?\")|.*?)(?:,|$)/g, n = function (e) { for (var t in"string" == typeof e && (e = this.parseAttrList(e)), e) e.hasOwnProperty(t) && (this[t] = e[t]) }; n.prototype = { decimalInteger: function (e) { var t = parseInt(this[e], 10); return t > Number.MAX_SAFE_INTEGER ? 1 / 0 : t }, hexadecimalInteger: function (e) { if (this[e]) { var t = (this[e] || "0x").slice(2); t = (1 & t.length ? "0" : "") + t; for (var i = new Uint8Array(t.length / 2), r = 0; r < t.length / 2; r++) i[r] = parseInt(t.slice(2 * r, 2 * r + 2), 16); return i } return null }, hexadecimalIntegerAsNumber: function (e) { var t = parseInt(this[e], 16); return t > Number.MAX_SAFE_INTEGER ? 1 / 0 : t }, decimalFloatingPoint: function (e) { return parseFloat(this[e]) }, enumeratedString: function (e) { return this[e] }, decimalResolution: function (e) { var t = r.exec(this[e]); if (null !== t) return {width: parseInt(t[1], 10), height: parseInt(t[2], 10)} }, parseAttrList: function (e) { var t, i = {}; for (o.lastIndex = 0; null !== (t = o.exec(e));) { var r = t[2]; 0 === r.indexOf('"') && r.lastIndexOf('"') === r.length - 1 && (r = r.slice(1, -1)), i[t[1]] = r } return i } }, t.exports = n }, {}], 23: [function (e, t, i) { var P = e("./attrlist"), r = e("../io"), o = e("./URLToolkit"), c = /#EXT-X-STREAM-INF:([^\n\r]*)[\r\n]+([^\r\n]+)/g, u = /#EXT-X-MEDIA:(.*)/g, w = new RegExp([/#EXTINF:(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source, /|(?!#)(\S+)/.source, /|#EXT-X-BYTERANGE:*(.+)/.source, /|#EXT-X-PROGRAM-DATE-TIME:(.+)/.source, /|#.*/.source].join(""), "g"), C = /(?:(?:#(EXTM3U))|(?:#EXT-X-(PLAYLIST-TYPE):(.+))|(?:#EXT-X-(MEDIA-SEQUENCE): *(\d+))|(?:#EXT-X-(TARGETDURATION): *(\d+))|(?:#EXT-X-(KEY):(.+))|(?:#EXT-X-(START):(.+))|(?:#EXT-X-(ENDLIST))|(?:#EXT-X-(DISCONTINUITY-SEQ)UENCE:(\d+))|(?:#EXT-X-(DIS)CONTINUITY))|(?:#EXT-X-(VERSION):(\d+))|(?:#EXT-X-(MAP):(.+))|(?:(#)(.*):(.*))|(?:(#)(.*))(?:.*)\r?\n?/, k = function () { this.method = null, this.key = null, this.iv = null, this._uri = null }, I = function () { this._url = null, this._byteRange = null, this._decryptdata = null, this.tagList = [] }; I.prototype.getUrl = function () { return !this._url && this.relurl && (this._url = o.buildAbsoluteURL(this.baseurl, this.relurl, {alwaysNormalize: !0})), this._url }, I.prototype.Seturl = function (e) { this._url = e }, I.prototype.getProgramDateTime = function () { return !this._programDateTime && this.rawProgramDateTime && (this._programDateTime = new Date(Date.parse(this.rawProgramDateTime))), this._programDateTime }, I.prototype.GetbyteRange = function () { if (!this._byteRange) { var e = this._byteRange = []; if (this.rawByteRange) { var t = this.rawByteRange.split("@", 2); if (1 === t.length) { var i = this.lastByteRangeEndOffset; e[0] = i || 0 } else e[0] = parseInt(t[1]); e[1] = parseInt(t[0]) + e[0] } } return this._byteRange }, I.prototype.getByteRangeStartOffset = function () { return this.byteRange[0] }, I.prototype.getByteRangeEndOffset = function () { return this.byteRange[1] }; I.prototype.getDecryptdata = function () { return this._decryptdata || (this._decryptdata = this.fragmentDecryptdataFromLevelkey(this.levelkey, this.sn)), this._decryptdata }; var n = function () { this.loaders = {} }; n.prototype = { parseMasterPlaylist: function (e, t) { var i, r = []; for (c.lastIndex = 0; null != (i = c.exec(e));) { var o = {}, n = o.attrs = new P(i[1]); o.url = this.resolve(i[2], t); var a = n.decimalResolution("RESOLUTION"); a && (o.width = a.width, o.height = a.height), o.bitrate = n.decimalInteger("AVERAGE-BANDWIDTH") || n.decimalInteger("BANDWIDTH"), o.name = n.NAME; var s = n.CODECS; if (s) { s = s.split(/[ ,]+/); for (var l = 0; l < s.length; l++) { var u = s[l]; -1 !== u.indexOf("avc1") ? o.videoCodec = this.avc1toavcoti(u) : -1 !== u.indexOf("hvc1") ? o.videoCodec = u : o.audioCodec = u } } r.push(o) } return r }, parseMasterPlaylistMedia: function (e, t, i, r) { var o, n = [], a = 0; for (u.lastIndex = 0; null != (o = u.exec(e));) { var s = {}, l = new P(o[1]); l.TYPE === i && (s.groupId = l["GROUP-ID"], s.name = l.NAME, s.type = i, s["default"] = "YES" === l.DEFAULT, s.autoselect = "YES" === l.AUTOSELECT, s.forced = "YES" === l.FORCED, l.URI && (s.url = this.resolve(l.URI, t)), s.lang = l.LANGUAGE, s.name || (s.name = s.lang), r && (s.audioCodec = r), s.id = a++, n.push(s)) } return n }, avc1toavcoti: function (e) { var t, i = e.split("."); return 2 < i.length ? (t = i.shift() + ".", t += parseInt(i.shift()).toString(16), t += ("000" + parseInt(i.shift()).toString(16)).substr(-4)) : t = e, t }, parseLevelPlaylist: function (e, t, i, r) { var o, n, a = 0, s = 0, l = {type: null, version: null, url: t, fragments: [], live: !0, startSN: 0}, u = new k, c = 0, d = null, p = new I; for (w.lastIndex = 0; null !== (o = w.exec(e));) { var h = o[1]; if (h) { p.duration = parseFloat(h); var f = (" " + o[2]).slice(1); p.title = f || null, p.tagList.push(f ? ["INF", h, f] : ["INF", h]) } else if (o[3]) { if (!isNaN(p.duration)) { var _ = a++; p.type = r, p.start = s, p.levelkey = u, p.sn = _, p.level = i, p.cc = c, p.baseurl = t, p.relurl = (" " + o[3]).slice(1), l.fragments.push(p), s += (d = p).duration, p = new I } } else if (o[4]) { if (p.rawByteRange = (" " + o[4]).slice(1), d) { var g = d.byteRangeEndOffset; g && (p.lastByteRangeEndOffset = g) } } else if (o[5]) p.rawProgramDateTime = (" " + o[5]).slice(1), p.tagList.push(["PROGRAM-DATE-TIME", p.rawProgramDateTime]), void 0 === l.programDateTime && (l.programDateTime = new Date(new Date(Date.parse(o[5])) - 1e3 * s)); else { for (o = o[0].match(C), n = 1; n < o.length && void 0 === o[n]; n++) ; var y = (" " + o[n + 1]).slice(1), v = (" " + o[n + 2]).slice(1); switch (o[n]) { case"#": p.tagList.push(v ? [y, v] : [y]); break; case"PLAYLIST-TYPE": l.type = y.toUpperCase(); break; case"MEDIA-SEQUENCE": a = l.startSN = parseInt(y); break; case"TARGETDURATION": l.targetduration = parseFloat(y); break; case"VERSION": l.version = parseInt(y); break; case"EXTM3U": break; case"ENDLIST": l.live = !1; break; case"DIS": c++, p.tagList.push(["DIS"]); break; case"DISCONTINUITY-SEQ": c = parseInt(y); break; case"KEY": var m = new P(y), S = m.enumeratedString("METHOD"), T = m.URI, b = m.hexadecimalInteger("IV"); S && (u = new k, T && 0 <= ["AES-128", "SAMPLE-AES"].indexOf(S) && (u.method = S, u.baseuri = t, u.reluri = T, u.key = null, u.iv = b)); break; case"START": var x = new P(y).decimalFloatingPoint("TIME-OFFSET"); isNaN(x) || (l.startTimeOffset = x); break; case"MAP": var E = new P(y); p.relurl = E.URI, p.rawByteRange = E.BYTERANGE, p.baseurl = t, p.level = i, p.type = r, p.sn = "initSegment", l.initSegment = p, p = new I; break; default: console.log("line parsed but not handled: result") } } } return (p = d) && !p.relurl && (l.fragments.pop(), s -= p.duration), l.totalduration = s, l.averagetargetduration = s / l.fragments.length, l.endSN = a - 1, l }, load: function (n, a) { var s = this; r.get(n, function (e) { var t = s.parseMasterPlaylist(e, n); if (t.length) { var i = s.parseMasterPlaylistMedia(e, n, "AUDIO", t[0].audioCodec), r = s.parseMasterPlaylistMedia(e, n, "SUBTITLES"); if (i.length) { var o = !1; i.forEach(function (e) { e.url || (o = !0) }), !1 === o && t[0].audioCodec && !t[0].attrs.AUDIO && (console.log("audio codec signaled in quality level, but no embedded audio track signaled, create one"), i.unshift({ type: "main", name: "main" })) } } a({levels: t, audioTracks: i, subtitles: r, url: n}) }, function (e) { console.log(e) }) }, resolve: function (e, t) { return o.buildAbsoluteURL(t, e, {alwaysNormalize: !0}) }, parseMasterPlaylist: function (e, t) { var i, r = []; for (c.lastIndex = 0; null != (i = c.exec(e));) { var o = {}, n = o.attrs = new P(i[1]); o.url = this.resolve(i[2], t); var a = n.decimalResolution("RESOLUTION"); a && (o.width = a.width, o.height = a.height), o.bitrate = n.decimalInteger("AVERAGE-BANDWIDTH") || n.decimalInteger("BANDWIDTH"), o.name = n.NAME; var s = n.CODECS; if (s) { s = s.split(/[ ,]+/); for (var l = 0; l < s.length; l++) { var u = s[l]; -1 !== u.indexOf("avc1") ? o.videoCodec = this.avc1toavcoti(u) : -1 !== u.indexOf("hvc1") ? o.videoCodec = u : o.audioCodec = u } } r.push(o) } return r }, parseMasterPlaylistMedia: function (e, t, i, r) { var o, n = [], a = 0; for (u.lastIndex = 0; null != (o = u.exec(e));) { var s = {}, l = new P(o[1]); l.TYPE === i && (s.groupId = l["GROUP-ID"], s.name = l.NAME, s.type = i, s["default"] = "YES" === l.DEFAULT, s.autoselect = "YES" === l.AUTOSELECT, s.forced = "YES" === l.FORCED, l.URI && (s.url = this.resolve(l.URI, t)), s.lang = l.LANGUAGE, s.name || (s.name = s.lang), r && (s.audioCodec = r), s.id = a++, n.push(s)) } return n }, avc1toavcoti: function (e) { var t, i = e.split("."); return 2 < i.length ? (t = i.shift() + ".", t += parseInt(i.shift()).toString(16), t += ("000" + parseInt(i.shift()).toString(16)).substr(-4)) : t = e, t }, parseLevelPlaylist: function (e, t, i, r) { var o, n, a = 0, s = 0, l = {type: null, version: null, url: t, fragments: [], live: !0, startSN: 0}, u = new k, c = 0, d = null, p = new I; for (w.lastIndex = 0; null !== (o = w.exec(e));) { var h = o[1]; if (h) { p.duration = parseFloat(h); var f = (" " + o[2]).slice(1); p.title = f || null, p.tagList.push(f ? ["INF", h, f] : ["INF", h]) } else if (o[3]) { if (!isNaN(p.duration)) { var _ = a++; p.type = r, p.start = s, p.levelkey = u, p.sn = _, p.level = i, p.cc = c, p.baseurl = t, p.relurl = (" " + o[3]).slice(1), l.fragments.push(p), s += (d = p).duration, p = new I } } else if (o[4]) { if (p.rawByteRange = (" " + o[4]).slice(1), d) { var g = d.byteRangeEndOffset; g && (p.lastByteRangeEndOffset = g) } } else if (o[5]) p.rawProgramDateTime = (" " + o[5]).slice(1), p.tagList.push(["PROGRAM-DATE-TIME", p.rawProgramDateTime]), void 0 === l.programDateTime && (l.programDateTime = new Date(new Date(Date.parse(o[5])) - 1e3 * s)); else { for (o = o[0].match(C), n = 1; n < o.length && void 0 === o[n]; n++) ; var y = (" " + o[n + 1]).slice(1), v = (" " + o[n + 2]).slice(1); switch (o[n]) { case"#": p.tagList.push(v ? [y, v] : [y]); break; case"PLAYLIST-TYPE": l.type = y.toUpperCase(); break; case"MEDIA-SEQUENCE": a = l.startSN = parseInt(y); break; case"TARGETDURATION": l.targetduration = parseFloat(y); break; case"VERSION": l.version = parseInt(y); break; case"EXTM3U": break; case"ENDLIST": l.live = !1; break; case"DIS": c++, p.tagList.push(["DIS"]); break; case"DISCONTINUITY-SEQ": c = parseInt(y); break; case"KEY": var m = new P(y), S = m.enumeratedString("METHOD"), T = m.URI, b = m.hexadecimalInteger("IV"); S && (u = new k, T && 0 <= ["AES-128", "SAMPLE-AES"].indexOf(S) && (u.method = S, u.baseuri = t, u.reluri = T, u.key = null, u.iv = b)); break; case"START": var x = new P(y).decimalFloatingPoint("TIME-OFFSET"); isNaN(x) || (l.startTimeOffset = x); break; case"MAP": var E = new P(y); p.relurl = E.URI, p.rawByteRange = E.BYTERANGE, p.baseurl = t, p.level = i, p.type = r, p.sn = "initSegment", l.initSegment = p, p = new I; break; default: console.log("line parsed but not handled: " + o) } } } return (p = d) && !p.relurl && (l.fragments.pop(), s -= p.duration), l.totalduration = s, l.averagetargetduration = s / l.fragments.length, l.endSN = a - 1, l } }, t.exports = n }, {"../io": 24, "./URLToolkit": 21, "./attrlist": 22}], 24: [function (e, s, t) { var h = e("./url"); s.exports.get = function (e, t, i, r, o) { s.exports.ajax("GET", e, {}, t, i, r, o) }, s.exports.post = function (e, t, i, r, o, n) { var a = {"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", Accept: "application/json"}; s.exports.ajax("POST", e, t, i, r, o, n, a) }, s.exports.postWithHeader = function (e, t, i, r, o) { s.exports.ajax("POST", e, t, r, o, !0, !1, i) }, s.exports.ajax = function (e, t, i, r, o, n, a, s) { var l, u, c, d; o = o || function () { }, "undefined" == typeof XMLHttpRequest && (window.XMLHttpRequest = function () { try { return new window.ActiveXObject("Msxml2.XMLHTTP.6.0") } catch (e) { } try { return new window.ActiveXObject("Msxml2.XMLHTTP.3.0") } catch (e) { } try { return new window.ActiveXObject("Msxml2.XMLHTTP") } catch (e) { } throw new Error("This browser does not support XMLHttpRequest.") }), u = new XMLHttpRequest, c = h.parseUrl(t), d = window.location, !(c.protocol + c.host !== d.protocol + d.host) || !window.XDomainRequest || "withCredentials" in u ? (l = "file:" == c.protocol || "file:" == d.protocol, u.onreadystatechange = function () { 4 === u.readyState && (200 === u.status || l && 0 === u.status ? r(u.responseText) : o(u.responseText)) }) : ((u = new window.XDomainRequest).onload = function () { r(u.responseText) }, u.onerror = o, u.onprogress = function () { }, u.ontimeout = o); try { if (void 0 === n && (n = !0), u.open(e, t, n), a && (u.withCredentials = !0), s) for (var p in s) s.hasOwnProperty(p) && u.setRequestHeader(p, s[p]) } catch (e) { return void o(e) } try { u.send(i) } catch (e) { o(e) } }, s.exports.jsonp = function (e, t, i) { var r = "jsonp_callback_" + Math.round(1e5 * Math.random()), o = document.createElement("script"); e && (o.src = e + (0 <= e.indexOf("?") ? "&" : "?") + "callback=" + r + "&cb=" + r, o.onerror = function () { delete window[r], document.body.removeChild(o), i() }, o.onload = function () { setTimeout(function () { window[r] && (delete window[r], document.body.removeChild(o)) }, 0) }, window[r] = function (e) { delete window[r], document.body.removeChild(o), t(e) }, document.body.appendChild(o)) }, s.exports.loadJS = function (e, t) { var i = document.getElementsByTagName("HEAD").item(0), r = document.createElement("script"); r.type = "text/javascript", r.src = e, r.onload = function () { t && t() }, i.appendChild(r) } }, {"./url": 32}], 25: [function (e, t, i) { var s = e("./dom"); t.exports.render = function (e, t) { var i = t.align ? t.align : "tl", r = t.x ? t.x : 0, o = t.y ? t.y : 0, n = r.indexOf && 0 < r.indexOf("%") ? "" : "px", a = o.indexOf && 0 < o.indexOf("%") ? "" : "px"; "tl" === i ? s.css(e, { "float": "left", "margin-left": r + n, "margin-top": o + a }) : "tr" === i ? s.css(e, { "float": "right", "margin-right": r + n, "margin-top": o + a }) : "tlabs" === i ? s.css(e, { position: "absolute", left: r + n, top: o + a }) : "trabs" === i ? s.css(e, { position: "absolute", right: r + n, top: o + a }) : "blabs" === i ? s.css(e, { position: "absolute", left: r + n, bottom: o + a }) : "brabs" === i ? s.css(e, { position: "absolute", right: r + n, bottom: o + a }) : "cc" === i && s.addClass(e, "center") } }, {"./dom": 18}], 26: [function (e, a, t) { var s = Object.prototype.hasOwnProperty; a.exports.create = Object.create || function (e) { function t() { } return t.prototype = e, new t }, a.exports.isArray = function (e) { return "[object Array]" === Object.prototype.toString.call(arg) }, a.exports.isEmpty = function (e) { for (var t in e) if (null !== e[t]) return !1; return !0 }, a.exports.each = function (e, t, i) { if (a.exports.isArray(e)) for (var r = 0, o = e.length; r < o && !1 !== t.call(i || this, e[r], r); ++r) ; else for (var n in e) if (s.call(e, n) && !1 === t.call(i || this, n, e[n])) break; return e }, a.exports.merge = function (e, t) { if (!t) return e; for (var i in t) s.call(t, i) && (e[i] = t[i]); return e }, a.exports.deepMerge = function (e, t) { var i, r, o; for (i in e = a.exports.copy(e), t) s.call(t, i) && (r = e[i], o = t[i], a.exports.isPlain(r) && a.exports.isPlain(o) ? e[i] = a.exports.deepMerge(r, o) : e[i] = t[i]); return e }, a.exports.copy = function (e) { return a.exports.merge({}, e) }, a.exports.isPlain = function (e) { return !!e && "object" == typeof e && "[object Object]" === e.toString() && e.constructor === Object }, a.exports.isArray = Array.isArray || function (e) { return "[object Array]" === Object.prototype.toString.call(e) }, a.exports.unescape = function (e) { return e.replace(/&([^;]+);/g, function (e, t) { return {amp: "&", lt: "<", gt: ">", quot: '"', "#x27": "'", "#x60": "`"}[t.toLowerCase()] || e }) } }, {}], 27: [function (e, t, i) { var o = e("./object"), n = function () { }; (n = function () { }).extend = function (e) { var t, i; for (var r in t = (e = e || {}).init || e.init || this.prototype.init || this.prototype.init || function () { }, (((i = function () { t.apply(this, arguments) }).prototype = o.create(this.prototype)).constructor = i).extend = n.extend, i.create = n.create, e) e.hasOwnProperty(r) && (i.prototype[r] = e[r]); return i }, n.create = function () { var e = o.create(this.prototype); return this.apply(e, arguments), e }, t.exports = n }, {"./object": 26}], 28: [function (e, f, t) { var _ = e("./object"), i = e("../config"), r = e("./dom"), o = e("./cookie"), n = e("./constants"), a = e("../lang/index"), s = e("./ua"), g = e("../player/base/plugin/defaultemptycomponent"), y = { preload: !0, autoplay: !0, useNativeControls: !1, width: "100%", height: "100%", cover: "", from: "", trackLog: !0, logBatched: !0, isLive: !1, playsinline: !0, showBarTime: 5e3, rePlay: !1, liveRetry: 5, liveRetryInterval: 1, liveRetryStep: 0, vodRetry: 3, format: "", definition: "", defaultDefinition: "", loadDataTimeout: 20, waitingTimeout: 60, delayLoadingShow: 1, controlBarForOver: !1, controlBarVisibility: "hover", enableSystemMenu: !1, qualitySort: "asc", x5_video_position: "normal", x5_type: "", x5_fullscreen: !1, x5_orientation: "landscape|portrait", x5LandscapeAsFullScreen: !0, autoPlayDelay: 0, autoPlayDelayDisplayText: "", useHlsPluginForSafari: !1, enableMSEForAndroid: !0, encryptType: 0, language: "zh-cn", languageTexts: {}, mediaType: "video", outputType: "", playConfig: {}, reAuthInfo: {}, components: [], liveTimeShiftUrl: "", liveShiftSource: "", liveShiftTime: "", videoHeight: "100%", videoWidth: "100%", enableWorker: !0, authTimeout: "", enableMockFullscreen: !1, region: "cn-shanghai", debug: !1, progressMarkers: [], snapshotWatermark: { left: "500", top: "100", text: "", font: "16px \u5b8b\u4f53", fillColor: "#FFFFFF", strokeColor: "#FFFFFF" }, liveStartTime: "", liveOverTime: "", enableStashBufferForFlv: !0, stashInitialSizeForFlv: 32, flvOption: {}, hlsOption: {stopLoadAsPaused: !1}, hlsLoadingTimeOut: 2e4, useHlsPlugOnMobile: !0, nudgeMaxRetry: 5, tracks: [], recreatePlayer: function () { }, diagnosisButtonVisible: !0, _native: !0, ai: { label: !1, meta: {url: "http://172.19.61.105:8085/meta/query", getMeta: ""}, boxes: "", host: "", app: "", streamName: "", startDateTime: 0, waitMetaDataTime: 2, displayAttrs: { header: "\u59d3\u540d", "\u8bc1\u4ef6\u53f7\u7801": "text", "\u6027\u522b": "text", "\u5e74\u9f84": "text", "\u53d1\u578b": "text", "\u4eba\u8138\u5927\u56fe": function (e) { }, "\u4eba\u8138\u5c0f\u56fe": function (e) { } }, getClass: function (e, t) { return "" } }, thumbnailUrl: "", skinRes: "//" + i.domain + "/de/prismplayer-flash/" + i.flashVersion + "/atlas/defaultSkin" }; f.exports.defaultH5Layout = [{name: "bigPlayButton", align: "blabs", x: 30, y: 80}, { name: "H5Loading", align: "cc" }, {name: "errorDisplay", align: "tlabs", x: 0, y: 0}, {name: "infoDisplay"}, { name: "tooltip", align: "blabs", x: 0, y: 50 }, {name: "thumbnail"}, { name: "controlBar", align: "blabs", x: 0, y: 0, children: [{name: "progress", align: "blabs", x: 0, y: 44}, { name: "playButton", align: "tl", x: 15, y: 12 }, {name: "timeDisplay", align: "tl", x: 10, y: 5}, { name: "fullScreenButton", align: "tr", x: 10, y: 12 }, {name: "subtitle", align: "tr", x: 15, y: 12}, { name: "setting", align: "tr", x: 15, y: 12 }, {name: "volume", align: "tr", x: 5, y: 10}] }], f.exports.defaultAudioLayout = [{ name: "controlBar", align: "blabs", x: 0, y: 0, children: [{name: "progress", align: "blabs", x: 0, y: 44}, { name: "playButton", align: "tl", x: 15, y: 12 }, {name: "timeDisplay", align: "tl", x: 10, y: 5}, {name: "volume", align: "tr", x: 5, y: 10}] }], f.exports.defaultFlashLayout = [{name: "bigPlayButton", align: "blabs", x: 30, y: 80}, { name: "controlBar", align: "blabs", x: 0, y: 0, children: [{name: "progress", align: "tlabs", x: 0, y: 0}, { name: "playButton", align: "tl", x: 15, y: 26 }, {name: "nextButton", align: "tl", x: 10, y: 26}, { name: "timeDisplay", align: "tl", x: 10, y: 24 }, {name: "fullScreenButton", align: "tr", x: 10, y: 25}, { name: "streamButton", align: "tr", x: 10, y: 23 }, {name: "volume", align: "tr", x: 10, y: 25}] }, { name: "fullControlBar", align: "tlabs", x: 0, y: 0, children: [{name: "fullTitle", align: "tl", x: 25, y: 6}, { name: "fullNormalScreenButton", align: "tr", x: 24, y: 13 }, {name: "fullTimeDisplay", align: "tr", x: 10, y: 12}, {name: "fullZoom", align: "cc"}] }], f.exports.canPlayType = function (e) { var t = document.createElement("video"); return t.canPlayType ? t.canPlayType(e) : "" }, f.exports.canPlayHls = function () { return "" != f.exports.canPlayType("application/x-mpegURL") }, f.exports.isUsedHlsPluginOnMobile = function (e) { return !(!s.IS_MOBILE || !s.IS_CHROME && !s.IS_FIREFOX) }, f.exports.isSafariUsedHlsPlugin = function (e) { return !!(s.os.pc && s.browser.safari && e) }, f.exports.hasUIComponent = function (e, t) { if (void 0 === e || !e || 0 == e.length) return !1; for (var i = 0, r = e.length; i < r; i++) { var o = e[i].name; if (o == t) return !0; if ("controlBar" == o) return f.exports.hasUIComponent(e[i].children, t) } return !1 }, f.exports.validateSource = function (e) { return !0 }, f.exports.supportH5Video = function () { return void 0 !== document.createElement("video").canPlayType }, f.exports.createWrapper = function (e) { var t, i = e.id; if (!(t = "string" == typeof i ? (0 === i.indexOf("#") && (i = i.slice(1)), r.el(i)) : i) || !t.nodeName) throw new TypeError("\u6ca1\u6709\u4e3a\u64ad\u653e\u5668\u6307\u5b9a\u5bb9\u5668"); return f.exports.adjustContainerLayout(t, e), t }, f.exports.adjustContainerLayout = function (e, t) { t.width && !e.style.width && (e.style.width = t.width), t.height && !e.style.height && (e.style.height = t.height) }, f.exports.isSupportHls = function () { var e = window.MediaSource = window.MediaSource || window.WebKitMediaSource, t = window.SourceBuffer = window.SourceBuffer || window.WebKitSourceBuffer, i = e && "function" == typeof e.isTypeSupported && e.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"'), r = !t || t.prototype && "function" == typeof t.prototype.appendBuffer && "function" == typeof t.prototype.remove; return i && r }, f.exports.isSupportFlv = function () { return f.exports.isSupportHls() }, f.exports.isSupportMSE = function () { return !!window.Promise && !!window.Uint8Array && !!Array.prototype.forEach && f.exports.isSupportedMediaSource() }, f.exports.isSupportedMediaSource = function () { return !!window.MediaSource && !!MediaSource.isTypeSupported }, f.exports.isSupportedDrm = function () { return !!(window.MediaKeys && window.navigator && window.navigator.requestMediaKeySystemAccess && window.MediaKeySystemAccess && window.MediaKeySystemAccess.prototype.getConfiguration) && f.exports.isSupportMSE() }, f.exports.isAudio = function (e) { return e && 0 < e.toLowerCase().indexOf(".mp3") }, f.exports.isLiveShift = function (e) { return e.isLive && e.liveStartTime && e.liveOverTime }, f.exports.isHls = function (e) { return e && 0 < e.toLowerCase().indexOf(".m3u8") }, f.exports.isDash = function (e) { return e && 0 < e.toLowerCase().indexOf(".mpd") }, f.exports.isFlv = function (e) { return e && 0 < e.toLowerCase().indexOf(".flv") }, f.exports.isRTMP = function (e) { return e && -1 < e.toLowerCase().indexOf("rtmp:") }, f.exports.checkSecuritSupport = function () { return f.exports.isSupportHls() ? "" : s.IS_IOS ? a.get("iOSNotSupportVodEncription") : a.get("UseChromeForVodEncription") }, f.exports.findSelectedStreamLevel = function (e, t) { var i = t; if (!i && !(i = o.get(n.SelectedStreamLevel))) return o.set(n.SelectedStreamLevel, e[0].definition, 365), 0; for (var r = 0; r < e.length; r++) if (e[r].definition == i) return r; return 0 }, f.exports.handleOption = function (e, t) { var i = _.merge(_.copy(y), e), r = [{name: "fullScreenButton", align: "tr", x: 20, y: 12}, { name: "subtitle", align: "tr", x: 15, y: 12 }, {name: "setting", align: "tr", x: 15, y: 12}, {name: "volume", align: "tr", x: 5, y: 10}], o = !1; if (e.useFlashPrism || f.exports.isRTMP(e.source)) o = !0, r = [{ name: "liveIco", align: "tlabs", x: 15, y: 25 }, {name: "fullScreenButton", align: "tr", x: 10, y: 25}, { name: "volume", align: "tr", x: 10, y: 25 }]; else { var n = f.exports.isLiveShift(i); n ? (r.push({name: "liveShiftProgress", align: "tlabs", x: 0, y: 0}), r.push({ name: "playButton", align: "tl", x: 15, y: 12 }), r.push({name: "liveDisplay", align: "tl", x: 15, y: 6})) : r.push({ name: "liveDisplay", align: "tlabs", x: 15, y: 6 }) } if (e.isLive) if (void 0 === e.skinLayout) i.skinLayout = [{ name: "errorDisplay", align: "tlabs", x: 0, y: 0 }, {name: "infoDisplay"}, {name: "bigPlayButton", align: "blabs", x: 30, y: 80}, { name: "tooltip", align: "blabs", x: 0, y: 56 }, {name: "H5Loading", align: "cc"}, { name: "controlBar", align: "blabs", x: 0, y: 0, children: r }]; else if (0 != e.skinLayout) { for (var a = e.skinLayout.length, s = [], l = -1, u = 0; u < a; u++) if ("controlBar" == i.skinLayout[u].name) { l = u; for (var c = i.skinLayout[u].children.length, d = 0; d < c; d++) { var p = i.skinLayout[u].children[d].name; if ("liveDisplay" == p || "liveIco" == p || "fullScreenButton" == p || "volume" == p || "snapshot" == p || "setting" == p || "subtitle" == p || n && ("progress" == p || "playButton" == p || "timeDisplay" == p)) { var h = i.skinLayout[u].children[d]; "progress" == p ? h.name = "liveShiftProgress" : "timeDisplay" == p ? h.name = "liveShiftTimeDisplay" : o && "liveDisplay" == p && (h.name = "liveIco"), s.push(h) } } break } -1 != l && (i.skinLayout[l].children = s) } return (void 0 === e.components || !e.components || _.isArray(e.components) && 0 == e.components.length) && "false" != e.components && (i.components = [g]), i } }, { "../config": 5, "../lang/index": 11, "../player/base/plugin/defaultemptycomponent": 63, "./constants": 15, "./cookie": 16, "./dom": 18, "./object": 26, "./ua": 31 }], 29: [function (e, t, i) { arguments[4][28][0].apply(i, arguments) }, { "../config": 5, "../lang/index": 11, "../player/base/plugin/defaultemptycomponent": 63, "./constants": 15, "./cookie": 16, "./dom": 18, "./object": 26, "./ua": 31, dup: 28 }], 30: [function (e, t, i) { t.exports.set = function (t, i) { try { window.localStorage && localStorage.setItem(t, i) } catch (e) { window[t + "_localStorage"] = i } }, t.exports.get = function (t) { try { if (window.localStorage) return localStorage.getItem(t) } catch (e) { return window[t + "_localStorage"] } return "" } }, {}], 31: [function (e, C, t) { if (C.exports.USER_AGENT = navigator.userAgent, C.exports.IS_IPHONE = /iPhone/i.test(C.exports.USER_AGENT), C.exports.IS_IPAD = /iPad/i.test(C.exports.USER_AGENT), C.exports.IS_IPOD = /iPod/i.test(C.exports.USER_AGENT), C.exports.IS_MAC = /mac/i.test(C.exports.USER_AGENT), C.exports.IS_EDGE = /Edge/i.test(C.exports.USER_AGENT), C.exports.IS_IE11 = /Trident\/7.0/i.test(C.exports.USER_AGENT), C.exports.IS_X5 = /qqbrowser/i.test(C.exports.USER_AGENT.toLowerCase()), C.exports.IS_CHROME = /Chrome/i.test(C.exports.USER_AGENT) && !C.exports.IS_EDGE && !C.exports.IS_X5, C.exports.IS_SAFARI = /Safari/i.test(C.exports.USER_AGENT) && !C.exports.IS_CHROME, C.exports.IS_FIREFOX = /Firefox/i.test(C.exports.USER_AGENT), document.all) try { var i = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); C.exports.HAS_FLASH = !!i } catch (e) { C.exports.HAS_FLASH = !1 } else if (navigator.plugins && 0 < navigator.plugins.length) { i = navigator.plugins["Shockwave Flash"]; C.exports.HAS_FLASH = !!i } else C.exports.HAS_FLASH = !1; var r, o, n, a; C.exports.IS_MAC_SAFARI = C.exports.IS_MAC && C.exports.IS_SAFARI && !C.exports.IS_CHROME && !C.exports.HAS_FLASH, C.exports.IS_IOS = C.exports.IS_IPHONE || C.exports.IS_IPAD || C.exports.IS_IPOD, C.exports.IOS_VERSION = function () { var e = C.exports.USER_AGENT.match(/OS (\d+)_/i); if (e && e[1]) return e[1] }(), C.exports.IS_ANDROID = /Android/i.test(C.exports.USER_AGENT), C.exports.ANDROID_VERSION = (n = C.exports.USER_AGENT.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i)) ? (r = n[1] && parseFloat(n[1]), o = n[2] && parseFloat(n[2]), r && o ? parseFloat(n[1] + "." + n[2]) : r || null) : null, C.exports.IS_OLD_ANDROID = C.exports.IS_ANDROID && /webkit/i.test(C.exports.USER_AGENT) && C.exports.ANDROID_VERSION < 2.3, C.exports.TOUCH_ENABLED = !!("ontouchstart" in window || window.DocumentTouch && document instanceof window.DocumentTouch), C.exports.IS_MOBILE = C.exports.IS_IOS || C.exports.IS_ANDROID, C.exports.IS_H5 = C.exports.IS_MOBILE || !C.exports.HAS_FLASH, C.exports.IS_PC = !C.exports.IS_MOBILE, C.exports.is_X5 = /micromessenger/i.test(C.exports.USER_AGENT) || /qqbrowser/i.test(C.exports.USER_AGENT), C.exports.getHost = function (e) { var t = ""; if (void 0 === e || null == e || "" == e) return ""; var i = e.indexOf("//"), r = e; -1 < i && (r = e.substring(i + 2)); t = r; var o = r.split("/"); return o && 0 < o.length && (t = o[0]), (o = t.split(":")) && 0 < o.length && (t = o[0]), t }, C.exports.dingTalk = function () { var e = C.exports.USER_AGENT.toLowerCase(); return /dingtalk/i.test(e) }, C.exports.wechat = function () { var e = C.exports.USER_AGENT.toLowerCase(); return /micromessenger/i.test(e) }, C.exports.inIFrame = function () { return self != top }, C.exports.getReferer = function () { var t = document.referrer; if (C.exports.inIFrame()) try { t = top.document.referrer } catch (e) { t = document.referrer } return t }, C.exports.getHref = function () { location.href; if (C.exports.inIFrame()) try { top.location.href } catch (e) { location.href } return location.href }, a = C.exports, function (e, t) { var i = this.os = {}, r = this.browser = {}, o = e.match(/Web[kK]it[\/]{0,1}([\d.]+)/), n = e.match(/(Android);?[\s\/]+([\d.]+)?/), a = !!e.match(/\(Macintosh\; Intel /), s = e.match(/(iPad).*OS\s([\d_]+)/), l = e.match(/(iPod)(.*OS\s([\d_]+))?/), u = !s && e.match(/(iPhone\sOS)\s([\d_]+)/), c = e.match(/(webOS|hpwOS)[\s\/]([\d.]+)/), d = /Win\d{2}|Windows/.test(t), p = e.match(/Windows Phone ([\d.]+)/), h = c && e.match(/TouchPad/), f = e.match(/Kindle\/([\d.]+)/), _ = e.match(/Silk\/([\d._]+)/), g = e.match(/(BlackBerry).*Version\/([\d.]+)/), y = e.match(/(BB10).*Version\/([\d.]+)/), v = e.match(/(RIM\sTablet\sOS)\s([\d.]+)/), m = e.match(/PlayBook/), S = e.match(/Chrome\/([\d.]+)/) || e.match(/CriOS\/([\d.]+)/), T = e.match(/Firefox\/([\d.]+)/), b = e.match(/\((?:Mobile|Tablet); rv:([\d.]+)\).*Firefox\/[\d.]+/), x = e.match(/MSIE\s([\d.]+)/) || e.match(/Trident\/[\d](?=[^\?]+).*rv:([0-9.].)/), E = !S && e.match(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/), P = E || e.match(/Version\/([\d.]+)([^S](Safari)|[^M]*(Mobile)[^S]*(Safari))/); if ((r.webkit = !!o) && (r.version = o[1]), n && (i.android = !0, i.version = n[2]), u && !l && (i.ios = i.iphone = !0, i.version = u[2].replace(/_/g, ".")), s && (i.ios = i.ipad = !0, i.version = s[2].replace(/_/g, ".")), l && (i.ios = i.ipod = !0, i.version = l[3] ? l[3].replace(/_/g, ".") : null), p && (i.wp = !0, i.version = p[1]), c && (i.webos = !0, i.version = c[2]), h && (i.touchpad = !0), g && (i.blackberry = !0, i.version = g[2]), y && (i.bb10 = !0, i.version = y[2]), v && (i.rimtabletos = !0, i.version = v[2]), m && (r.playbook = !0), f && (i.kindle = !0, i.version = f[1]), _ && (r.silk = !0, r.version = _[1]), !_ && i.android && e.match(/Kindle Fire/) && (r.silk = !0), S && (r.chrome = !0, r.version = S[1]), T && (r.firefox = !0, r.version = T[1]), b && (i.firefoxos = !0, i.version = b[1]), x && (r.ie = !0, r.version = x[1]), P && (a || i.ios || d || n) && (r.safari = !0, i.ios || (r.version = P[1])), E && (r.webview = !0), a) { var w = e.match(/[\d]*_[\d]*_[\d]*/); w && 0 < w.length && w[0] && (i.version = w[0].replace(/_/g, ".")) } i.tablet = !!(s || m || n && !e.match(/Mobile/) || T && e.match(/Tablet/) || x && !e.match(/Phone/) && e.match(/Touch/)), i.phone = !(i.tablet || i.ipod || !(n || u || c || g || y || S && e.match(/Android/) || S && e.match(/CriOS\/([\d.]+)/) || T && e.match(/Mobile/) || x && e.match(/Touch/))), i.pc = !i.tablet && !i.phone, a ? i.name = "macOS" : d ? (i.name = "windows", i.version = function () { var e = navigator.userAgent, t = ""; return (-1 < e.indexOf("Windows NT 5.0") || -1 < e.indexOf("Windows 2000")) && (t = "2000"), (-1 < e.indexOf("Windows NT 5.1") || -1 < e.indexOf("Windows XP")) && (t = "XP"), (-1 < e.indexOf("Windows NT 5.2") || -1 < e.indexOf("Windows 2003")) && (t = "2003"), (-1 < e.indexOf("Windows NT 6.0") || -1 < e.indexOf("Windows Vista")) && (t = "Vista"), (-1 < e.indexOf("Windows NT 6.1") || -1 < e.indexOf("Windows 7")) && (t = "7"), (-1 < e.indexOf("Windows NT 6.2") || -1 < e.indexOf("Windows 8")) && (t = "8"), (-1 < e.indexOf("Windows NT 6.3") || -1 < e.indexOf("Windows 8.1")) && (t = "8.1"), (-1 < e.indexOf("Windows NT 10") || -1 < e.indexOf("Windows 10")) && (t = "10"), t }()) : i.name = function () { var e = navigator.userAgent, t = "other", i = C.exports.os; if (i.ios) return "iOS"; if (i.android) return "android"; if (-1 < e.indexOf("Baiduspider")) return "Baiduspider"; if (-1 < e.indexOf("PlayStation")) return "PS4"; var r = "Win32" == navigator.platform || "Windows" == navigator.platform || -1 < e.indexOf("Windows"), o = "Mac68K" == navigator.platform || "MacPPC" == navigator.platform || "Macintosh" == navigator.platform || "MacIntel" == navigator.platform; return o && (t = "macOS"), "X11" != navigator.platform || r || o || (t = "Unix"), -1 < String(navigator.platform).indexOf("Linux") && (t = "Linux"), r ? "windows" : t }(), r.name = function () { var e = navigator.userAgent.toLowerCase(), t = C.exports.browser; return t.firefox ? "Firefox" : t.ie ? /edge/.test(e) ? "Edge" : "IE" : /micromessenger/.test(e) ? "\u5fae\u4fe1\u5185\u7f6e\u6d4f\u89c8\u5668" : /qqbrowser/.test(e) ? "QQ\u6d4f\u89c8\u5668" : t.webview ? "webview" : t.chrome ? "Chrome" : t.safari ? "Safari" : /baiduspider/.test(e) ? "Baiduspider" : /ucweb/.test(e) || /UCBrowser/.test(e) ? "UC" : /opera/.test(e) ? "Opera" : /ucweb/.test(e) ? "UC" : /360se/.test(e) ? "360\u6d4f\u89c8\u5668" : /bidubrowser/.test(e) ? "\u767e\u5ea6\u6d4f\u89c8\u5668" : /metasr/.test(e) ? "\u641c\u72d7\u6d4f\u89c8\u5668" : /lbbrowser/.test(e) ? "\u730e\u8c79\u6d4f\u89c8\u5668" : /playstation/.test(e) ? "PS4\u6d4f\u89c8\u5668" : void 0 }() }.call(a, navigator.userAgent, navigator.platform) }, {}], 32: [function (e, t, i) { var s = e("./dom"); t.exports.getAbsoluteURL = function (e) { return e.match(/^https?:\/\//) || (e = s.createEl("div", {innerHTML: '<a href="' + e + '">x</a>'}).firstChild.href), e }, t.exports.parseUrl = function (e) { var t, i, r, o, n; o = ["protocol", "hostname", "port", "pathname", "search", "hash", "host"], (r = "" === (i = s.createEl("a", {href: e})).host && "file:" !== i.protocol) && ((t = s.createEl("div")).innerHTML = '<a href="' + e + '"></a>', i = t.firstChild, t.setAttribute("style", "display:none; position:absolute;"), document.body.appendChild(t)), n = {}; for (var a = 0; a < o.length; a++) n[o[a]] = i[o[a]]; return n.segments = i.pathname.replace(/^\//, "").split("/"), r && document.body.removeChild(t), n } }, {"./dom": 18}], 33: [function (e, r, t) { var i = e("./dom"), o = e("./ua"), n = e("./playerutil"); r.exports.formatTime = function (e) { var t, i, r, o = Math.floor(e); return t = Math.floor(o / 3600), o %= 3600, i = Math.floor(o / 60), r = o % 60, !(t === 1 / 0 || isNaN(t) || i === 1 / 0 || isNaN(i) || r === 1 / 0 || isNaN(r)) && ("00" === (t = 10 <= t ? t : "0" + t) ? "" : t + ":") + (i = 10 <= i ? i : "0" + i) + ":" + (r = 10 <= r ? r : "0" + r) }, r.exports.extractTime = function (e) { if (e) { var t = parseInt(e.getHours()), i = parseInt(e.getMinutes()), r = parseInt(e.getSeconds()); return ("00" === (t = 10 <= t ? t : "0" + t) ? "" : t + ":") + (i = 10 <= i ? i : "0" + i) + ":" + (r = 10 <= r ? r : "0" + r) } return "" }, r.exports.convertToTimestamp = function (e, t) { var i = ""; return e && (t ? i = e.gettime() : (i = Date.parse(e), i /= 1e3)), i }, r.exports.convertToDate = function (e, t) { var i = ""; if (e) { t || 1e3, (i = new Date).setTime(1e3 * e) } return i }, r.exports.parseTime = function (e) { if (!e) return "00:00:00"; var t = e.split(":"), i = 0, r = 0, o = 0; return 3 === t.length ? (i = t[0], r = t[1], o = t[2]) : 2 === t.length ? (r = t[0], o = t[1]) : 1 === t.length && (o = t[0]), 3600 * (i = parseInt(i, 10)) + 60 * (r = parseInt(r, 10)) + (o = Math.ceil(parseFloat(o))) }, r.exports.formatDate = function (e, t) { var i = { "M+": e.getMonth() + 1, "d+": e.getDate(), "H+": e.getHours(), "m+": e.getMinutes(), "s+": e.getSeconds(), "q+": Math.floor((e.getMonth() + 3) / 3), S: e.getMilliseconds() }; for (var r in/(y+)/.test(t) && (t = t.replace(RegExp.$1, (e.getFullYear() + "").substr(4 - RegExp.$1.length))), i) new RegExp("(" + r + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[r] : ("00" + i[r]).substr(("" + i[r]).length))); return t }, r.exports.sleep = function (e) { for (var t = Date.now(); Date.now() - t <= e;) ; }, r.exports.htmlEncodeAll = function (e) { return null == e ? "" : e.replace(/\</g, "<").replace(/\>/g, ">").replace(/\&/g, "&").replace(/"/g, """).replace(/'/g, "'") }, r.exports.toBinary = function (e) { if (!window.atob) return ""; for (var t = atob(e), i = t.length, r = new Uint8Array(i), o = 0; o < i; o++) r[o] = t.charCodeAt(o); return r }, r.exports.readyBinary = function (e) { for (var t = new Uint8Array(e), i = t.length, r = "", o = 0; o < i; o++) r += t[o]; return r }, r.exports.delayHide = function (e, t) { e && (void 0 === t && (t = 1e3), e.delayHanlder && clearTimeout(e.delayHanlder), e.delayHanlder = setTimeout(function () { i.css(e, "display", "none") }, t)) }, r.exports.openInFile = function () { return -1 != window.location.protocol.toLowerCase().indexOf("file") }, r.exports.contentProtocolMixed = function (e) { return !!(o.os.pc && (n.isHls(e) && !o.browser.safari || n.isFlv(e)) && "https:" == window.location.protocol.toLowerCase() && e && -1 < e.toLowerCase().indexOf("http://")) }, r.exports.queryString = function (e) { var t, i, r, o, n; return 2 !== (i = (e = decodeURIComponent(e)).split("?")).length ? {} : (n = i[1], (t = n.split("&")) ? (r = {}, o = 0, $(t).each(function () { var e; 2 === (e = t[o].split("=")).length && (r[e[0]] = e[1].replace(/\+/g, " ")), o++ }), r) : {}) }, r.exports.log = function (e) { var t = window.location.href, i = r.exports.queryString(t); i && 1 == i.debug && console.log(e) } }, {"./dom": 18, "./playerutil": 29, "./ua": 31}], 34: [function (e, t, i) { var s = e("./vttparse"), l = function (e) { for (var t = 5381, i = e.length; i;) t = 33 * t ^ e.charCodeAt(--i); return (t >>> 0).toString() }, r = { parse: function (e, t, i) { var r, o = e.trim().replace(/\r\n|\n\r|\n|\r/g, "\n").split("\n"), n = [], a = new s; a.oncue = function (e) { e.id = l(e.startTime) + l(e.endTime) + l(e.text), e.text = decodeURIComponent(escape(e.text)), e.isBig = !1; var t = e.text.split("#xywh="); if (2 == t.length) { var i = t[1].split(","); e.x = i[0], e.y = i[1], e.w = i[2], e.h = i[3], e.isBig = !0 } 0 < e.endTime && n.push(e) }, a.onparsingerror = function (e) { r = e }, a.onflush = function () { if (r && i) return i(r), void console.log(r); t(n) }, o.forEach(function (e) { a.parse(e + "\n") }), a.flush() } }; t.exports = r }, {"./vttparse": 36}], 35: [function (e, t, i) { t.exports = function () { if ("undefined" != typeof window && window.VTTCue) return window.VTTCue; var S = {"": !0, lr: !0, rl: !0}, t = {start: !0, middle: !0, end: !0, left: !0, right: !0}; function T(e) { return "string" == typeof e && (!!t[e.toLowerCase()] && e.toLowerCase()) } function b(e) { for (var t = 1; t < arguments.length; t++) { var i = arguments[t]; for (var r in i) e[r] = i[r] } return e } function e(e, t, i) { var r = this, o = function () { if ("undefined" != typeof navigator) return /MSIE\s8\.0/.test(navigator.userAgent) }(), n = {}; o ? r = document.createElement("custom") : n.enumerable = !0, r.hasBeenReset = !1; var a = "", s = !1, l = e, u = t, c = i, d = null, p = "", h = !0, f = "auto", _ = "start", g = 50, y = "middle", v = 50, m = "middle"; if (Object.defineProperty(r, "id", b({}, n, { get: function () { return a }, set: function (e) { a = "" + e } })), Object.defineProperty(r, "pauseOnExit", b({}, n, { get: function () { return s }, set: function (e) { s = !!e } })), Object.defineProperty(r, "startTime", b({}, n, { get: function () { return l }, set: function (e) { if ("number" != typeof e) throw new TypeError("Start time must be set to a number."); l = e, this.hasBeenReset = !0 } })), Object.defineProperty(r, "endTime", b({}, n, { get: function () { return u }, set: function (e) { if ("number" != typeof e) throw new TypeError("End time must be set to a number."); u = e, this.hasBeenReset = !0 } })), Object.defineProperty(r, "text", b({}, n, { get: function () { return c }, set: function (e) { c = "" + e, this.hasBeenReset = !0 } })), Object.defineProperty(r, "region", b({}, n, { get: function () { return d }, set: function (e) { d = e, this.hasBeenReset = !0 } })), Object.defineProperty(r, "vertical", b({}, n, { get: function () { return p }, set: function (e) { var t = function (e) { return "string" == typeof e && !!S[e.toLowerCase()] && e.toLowerCase() }(e); if (!1 === t) throw new SyntaxError("An invalid or illegal string was specified."); p = t, this.hasBeenReset = !0 } })), Object.defineProperty(r, "snapToLines", b({}, n, { get: function () { return h }, set: function (e) { h = !!e, this.hasBeenReset = !0 } })), Object.defineProperty(r, "line", b({}, n, { get: function () { return f }, set: function (e) { if ("number" != typeof e && "auto" !== e) throw new SyntaxError("An invalid number or illegal string was specified."); f = e, this.hasBeenReset = !0 } })), Object.defineProperty(r, "lineAlign", b({}, n, { get: function () { return _ }, set: function (e) { var t = T(e); if (!t) throw new SyntaxError("An invalid or illegal string was specified."); _ = t, this.hasBeenReset = !0 } })), Object.defineProperty(r, "position", b({}, n, { get: function () { return g }, set: function (e) { if (e < 0 || 100 < e) throw new Error("Position must be between 0 and 100."); g = e, this.hasBeenReset = !0 } })), Object.defineProperty(r, "positionAlign", b({}, n, { get: function () { return y }, set: function (e) { var t = T(e); if (!t) throw new SyntaxError("An invalid or illegal string was specified."); y = t, this.hasBeenReset = !0 } })), Object.defineProperty(r, "size", b({}, n, { get: function () { return v }, set: function (e) { if (e < 0 || 100 < e) throw new Error("Size must be between 0 and 100."); v = e, this.hasBeenReset = !0 } })), Object.defineProperty(r, "align", b({}, n, { get: function () { return m }, set: function (e) { var t = T(e); if (!t) throw new SyntaxError("An invalid or illegal string was specified."); m = t, this.hasBeenReset = !0 } })), r.displayState = void 0, o) return r } return e.prototype.getCueAsHTML = function () { return window.WebVTT.convertCueToDOMTree(window, this.text) }, e }() }, {}], 36: [function (e, t, i) { var s = e("./vttcue"), r = function () { return { decode: function (e) { if (!e) return ""; if ("string" != typeof e) throw new Error("Error - expected string data."); return decodeURIComponent(encodeURIComponent(e)) } } }; function o() { this.window = window, this.state = "INITIAL", this.buffer = "", this.decoder = new r, this.regionList = [] } function l() { this.values = Object.create(null) } function u(e, t, i, r) { var o = r ? e.split(r) : [e]; for (var n in o) if ("string" == typeof o[n]) { var a = o[n].split(i); if (2 === a.length) t(a[0], a[1]) } } l.prototype = { set: function (e, t) { this.get(e) || "" === t || (this.values[e] = t) }, get: function (e, t, i) { return i ? this.has(e) ? this.values[e] : t[i] : this.has(e) ? this.values[e] : t }, has: function (e) { return e in this.values }, alt: function (e, t, i) { for (var r = 0; r < i.length; ++r) if (t === i[r]) { this.set(e, t); break } }, integer: function (e, t) { /^-?\d+$/.test(t) && this.set(e, parseInt(t, 10)) }, percent: function (e, t) { return !!(t.match(/^([\d]{1,3})(\.[\d]*)?%$/) && 0 <= (t = parseFloat(t)) && t <= 100) && (this.set(e, t), !0) } }; var c = new s(0, 0, 0), d = "middle" === c.align ? "middle" : "center"; function p(t, e, a) { var i = t; function r() { var e = function (e) { function t(e, t, i, r) { return 3600 * (0 | e) + 60 * (0 | t) + (0 | i) + (0 | r) / 1e3 } var i = e.match(/^(\d+):(\d{2})(:\d{2})?(\.\d{3})?/); if (!i) return null; var r = i[4]; return r && (r = r.replace(".", "")), i[3] ? t(i[1], i[2], i[3].replace(":", ""), r) : 59 < i[1] ? t(i[1], i[2], 0, r) : t(0, i[1], i[2], r) }(t); if (null === e) throw new Error("Malformed timestamp: " + i); return t = t.replace(/^[^\sa-zA-Z-]+/, ""), e } function o() { t = t.replace(/^\s+/, "") } if (o(), e.startTime = r(), o(), "--\x3e" !== t.substr(0, 3)) throw new Error("Malformed time stamp (time stamps must be separated by '--\x3e'): " + i); t = t.substr(3), o(), e.endTime = r(), o(), function (e, t) { var n = new l; u(e, function (e, t) { switch (e) { case"region": for (var i = a.length - 1; 0 <= i; i--) if (a[i].id === t) { n.set(e, a[i].region); break } break; case"vertical": n.alt(e, t, ["rl", "lr"]); break; case"line": var r = t.split(","), o = r[0]; n.integer(e, o), n.percent(e, o) && n.set("snapToLines", !1), n.alt(e, o, ["auto"]), 2 === r.length && n.alt("lineAlign", r[1], ["start", d, "end"]); break; case"position": r = t.split(","), n.percent(e, r[0]), 2 === r.length && n.alt("positionAlign", r[1], ["start", d, "end", "line-left", "line-right", "auto"]); break; case"size": n.percent(e, t); break; case"align": n.alt(e, t, ["start", d, "end", "left", "right"]) } }, /:/, /\s/), t.region = n.get("region", null), t.vertical = n.get("vertical", ""); var i = n.get("line", "auto"); "auto" === i && -1 === c.line && (i = -1), t.line = i, t.lineAlign = n.get("lineAlign", "start"), t.snapToLines = n.get("snapToLines", !0), t.size = n.get("size", 100), t.align = n.get("align", d); var r = n.get("position", "auto"); "auto" === r && 50 === c.position && (r = "start" === t.align || "left" === t.align ? 0 : "end" === t.align || "right" === t.align ? 100 : 50), t.position = r }(t, e) } o.prototype = { parse: function (e) { var r = this; function t() { var e = r.buffer, t = 0; for (e = function (e) { return e.replace(/<br(?: \/)?>/gi, "\n") }(e); t < e.length && "\r" !== e[t] && "\n" !== e[t];) ++t; var i = e.substr(0, t); return "\r" === e[t] && ++t, "\n" === e[t] && ++t, r.buffer = e.substr(t), i } e && (r.buffer += r.decoder.decode(e, {stream: !0})); try { var i; if ("INITIAL" === r.state) { if (!/\r\n|\n/.test(r.buffer)) return this; var o = (i = t()).match(/^WEBVTT([ \t].*)?$/); if (!o || !o[0]) throw new Error("Malformed WebVTT signature."); r.state = "HEADER" } for (var n = !1; r.buffer;) { if (!/\r\n|\n/.test(r.buffer)) return this; switch (n ? n = !1 : i = t(), r.state) { case"HEADER": /:/.test(i) ? u(i, function (e, t) { switch (e) { case"Region": console.log("parse region", t) } }, /:/) : i || (r.state = "ID"); continue; case"NOTE": i || (r.state = "ID"); continue; case"ID": if (/^NOTE($|[ \t])/.test(i)) { r.state = "NOTE"; break } if (!i) continue; if (r.cue = new s(0, 0, ""), r.state = "CUE", -1 === i.indexOf("--\x3e")) { r.cue.id = i; continue } case"CUE": try { p(i, r.cue, r.regionList) } catch (e) { r.cue = null, r.state = "BADCUE"; continue } r.state = "CUETEXT"; continue; case"CUETEXT": var a = -1 !== i.indexOf("--\x3e"); if (!i || a && (n = !0)) { r.oncue && r.oncue(r.cue), r.cue = null, r.state = "ID"; continue } r.cue.text && (r.cue.text += "\n"), r.cue.text += i; continue; case"BADCUE": i || (r.state = "ID"); continue } } } catch (e) { "CUETEXT" === r.state && r.cue && r.oncue && r.oncue(r.cue), r.cue = null, r.state = "INITIAL" === r.state ? "BADWEBVTT" : "BADCUE" } return this }, flush: function () { var e = this; try { if (e.buffer += e.decoder.decode(), (e.cue || "HEADER" === e.state) && (e.buffer += "\n\n", e.parse()), "INITIAL" === e.state) throw new Error("Malformed WebVTT signature.") } catch (e) { throw e } return e.onflush && e.onflush(), this } }, t.exports = o }, {"./vttcue": 35}], 37: [function (e, t, i) { var o = e("../lib/io"); e("../lib/storage"); function r(e) { this._uploadDuration = e.logDuration || 5, this._uploadCount = e.logCount || 10, this._logReportTo = e.logReportTo, this._logs = [], this._retry = 0, this._disposed = !1, this._supportLocalStorage = !0; var t = this; window && (window.onbeforeunload = function (e) { if (0 < t._logs.length) if (t._supportLocalStorage) localStorage.setItem("__aliplayer_log_data", JSON.stringify(t._logs)); else { t._report(); !function (e) { for (var t = (new Date).getTime(), i = t; i < t + e;) i = (new Date).getTime() }(500) } }); try { if (localStorage) { var i = localStorage.getItem("__aliplayer_log_data"); localStorage.removeItem("__aliplayer_log_data"), i && (this._logs = JSON.parse(i)) } else this._supportLocalStorage = !1 } catch (e) { this._supportLocalStorage = !1 } this._start() } r.prototype.add = function (e) { var t = this._logs.length; if (e.__time__ = Math.round(new Date / 1e3), 0 < t && "4001" == e.e) { var i = this._logs[t - 1]; if ("4001" == i.e && i.__time__ - e.__time__ < 5) return } this._logs.push(e), (this._logs.length > this._uploadCount || "4001" == e.e || "2002" == e.e) && this._report() }, r.prototype.dispose = function () { this._report(), this._disposed = !0 }, r.prototype._start = function () { this._disposed = !1; this._retry = 0, this._report() }, r.prototype._report = function (t) { if (this._tickHandler && (clearTimeout(this._tickHandler), this._tickHandler = null), t || (t = this._logs.splice(0, this._uploadCount)), 0 < t.length) { var e = JSON.stringify({__logs__: t, __source__: ""}), i = this, r = { "Content-Type": "application/json;charset=UTF-8", "x-log-apiversion": "0.6.0", "x-log-bodyrawsize": e.length }; o.postWithHeader(this._logReportTo, e, r, function (e) { i._tick() }, function (e) { 0 == i._retry ? (i._retry = 1, i._report(t)) : i._tick() }) } else this._tick() }, r.prototype._tick = function () { if (!this._disposed) { this._retry = 0; var e = this; this._logs.length > this._uploadCount ? e._report() : this._tickHandler = setTimeout(function () { e._report() }, 1e3 * this._uploadDuration) } }, t.exports = r }, {"../lib/io": 24, "../lib/storage": 30}], 38: [function (e, t, i) { var r = e("../lib/oo"), u = e("../lib/object"), v = e("../lib/data"), c = e("../lib/io"), m = e("../lib/ua"), S = e("../config"), o = e("../player/base/event/eventtype"), T = e("./util"), b = e("./log"), n = 0, d = { STARTFETCHDATA: 1003, COMPLETEFETCHDATA: 1004, PREPARE: 1101, PREPAREEND: 1102, STARTPLAY: 2e3, PLAY: 2001, STOP: 2002, PAUSE: 2003, SEEK: 2004, FULLSREEM: 2005, QUITFULLSCREEM: 2006, RESOLUTION: 2007, RESOLUTION_DONE: 2008, RECOVER: 2010, SEEK_END: 2011, FETCHEDIP: 2020, CDNDETECT: 2021, DETECT: 2022, UNDERLOAD: 3002, LOADED: 3001, HEARTBEAT: 9001, ERROR: 4001, ERRORRETRY: 4002, SNAPSHOT: 2027, ROTATE: 2028, IMAGE: 2029, THUMBNAILSTART: 2031, THUMBNAILCOMPLETE: 2032, CCSTART: 2033, CCCOMPLETE: 2034, AUDIOTRACKSTART: 2033, AUDIOTRACKCOMPLETE: 2034 }, a = r.extend({ init: function (e, t, i) { void 0 === i && (i = !0), this.trackLog = i, this.player = e, this.requestId = "", this.sessionId = v.guid(), this.playId = 0, this.firstPlay = !0, this.osName = m.os.name, this.osVersion = m.os.version || "", this.exName = m.browser.name, this.exVersion = m.browser.version || "", this._logService = "", t.logBatched && (this._logService = new b(S)); var r = this.player.getOptions(), o = t.from ? t.from : "", n = (r.isLive, r.isLive ? "live" : "vod"), a = "pc"; m.IS_IPAD ? a = "pad" : m.os.phone && (a = "phone"); var s = this.encodeURL(m.getReferer()), l = m.getHref(), u = this.encodeURL(l), c = ""; l && (c = m.getHost(l)); var d = S.h5Version, p = T.getUuid(), h = r.source ? this.encodeURL(r.source) : "", f = m.getHost(r.source), _ = r.userId ? r.userId + "" : "0", g = this.sessionId, y = (new Date).getTime(); this._userNetInfo = {cdnIp: "", localIp: ""}; this.opt = { APIVersion: "0.6.0", t: y, ll: "info", lv: "1.0", pd: "player", md: "saas_player", ui: "saas_player", sm: "play", os: this.osName, ov: this.osVersion, et: this.exName, ev: this.exVersion, uat: m.USER_AGENT, hn: "0.0.0.0", bi: o, ri: g, e: "0", args: "0", vt: n, tt: a, dm: "h5", av: d, uuid: p, vu: h, vd: f, ua: _, dn: "custom", cdn_ip: "0.0.0.0", app_n: c, r: s, pu: u }, this.bindEvent() }, updateVideoInfo: function (e) { var t = e.from ? e.from : ""; this.opt.bi = t + "", this.updateSourceInfo() }, updateSourceInfo: function () { var e = this.player.getOptions(); if (e) { var t = e.source ? this.encodeURL(e.source) : "", i = m.getHost(e.source); this.opt.vu = t, this.opt.vd = i } }, replay: function () { this.reset(), this.player.trigger(o.Video.LoadStart), this.player.trigger(o.Video.LoadedMetadata), this.player.trigger(o.Video.LoadedData) }, bindEvent: function () { var t = this; this.player.on(o.Player.Init, function () { t._onPlayerInit() }), this.player.on(o.Video.LoadStart, function () { t._onPlayerloadstart() }), this.player.on(o.Video.LoadedMetadata, function () { t._onPlayerLoadMetadata() }), this.player.on(o.Video.LoadedData, function () { t._onPlayerLoaddata() }), this.player.on(o.Video.Play, function () { t._onPlayerPlay() }), this.player.on(o.Video.Playing, function () { t._onPlayerReady() }), this.player.on(o.Video.Ended, function () { t._onPlayerFinish() }), this.player.on(o.Video.Pause, function () { t._onPlayerPause() }), this.player.on(o.Private.SeekStart, function (e) { t._onPlayerSeekStart(e) }), this.player.on(o.Private.EndStart, function (e) { t._seekEndData = e.paramData }), this.player.on(o.Player.Waiting, function () { t._waitingDelayLoadingShowHandle && (clearTimeout(t._waitingDelayLoadingShowHandle), t._waitingDelayLoadingShowHandle = null), t._waitingDelayLoadingShowHandle = setTimeout(function () { t._onPlayerLoaded() }, 1e3 * t.player._options.delayLoadingShow) }), this.player.on(o.Video.CanPlayThrough, function () { }), this.player.on(o.Video.CanPlay, function () { t._waitingDelayLoadingShowHandle && (clearTimeout(t._waitingDelayLoadingShowHandle), t._waitingDelayLoadingShowHandle = null), t._onPlayerUnderload(), t._onPlayerCanplay() }), this.player.on(o.Video.TimeUpdate, function () { t._waitingDelayLoadingShowHandle && (clearTimeout(t._waitingDelayLoadingShowHandle), t._waitingDelayLoadingShowHandle = null), t._seekEndData && t.seeking && t._onPlayerSeekEnd() }), this.player.on(o.Player.Error, function () { t._onPlayerError() }), this.player.on(o.Player.RequestFullScreen, function () { t._onFullscreenChange(1) }), this.player.on(o.Player.CancelFullScreen, function () { t._onFullscreenChange(0) }), this.player.on(o.Private.PREPARE, function (e) { t._prepareTime = (new Date).getTime(), t._log("PREPARE", {dn: e.paramData}) }), this.player.on(o.Player.Snapshoted, function () { t._log("SNAPSHOT") }), setInterval(function () { if (t.player.getCurrentTime()) { var e = Math.floor(1e3 * t.player.getCurrentTime()); t.player.paused() || 30 <= ++n && (t._log("HEARTBEAT", {vt: e, interval: 1e3 * n}), n = 0) } }, 1e3) }, removeEvent: function () { this.player.off("init"), this.player.off("ready"), this.player.off("ended"), this.player.off("play"), this.player.off("pause"), this.player.off("seekStart"), this.player.off("seekEnd"), this.player.off("canplaythrough"), this.player.off("playing"), this.player.off("timeupdate"), this.player.off("error"), this.player.off("fullscreenchange"), this.player.off(o.Private.PREPARE), this._logService && this._logService.dispose() }, reset: function () { this.startTimePlay = 0, this.buffer_flag = 0, this.firstPlay = !1, this.playId = 0, this.loadstarted = 0, this._LoadedData = 0, this._canPlay = 0 }, encodeURL: function (e) { if (!e) return ""; var t = this.player.getOptions(); return t && !t.logBatched ? encodeURIComponent(e) : e }, _onFullscreenChange: function (e) { e ? this._log("FULLSREEM", {}) : this._log("QUITFULLSCREEM", {}) }, _onPlayerloadstart: function () { this.loadstartTime = (new Date).getTime(), this.playId = v.guid(), !this.loadstarted && this.player._isPreload() && (this.loadstarted = 1, this._log("STARTPLAY", {vt: (new Date).getTime()})) }, _onPlayerLoadMetadata: function () { this.loadMetaDataCost = (new Date).getTime() - this.loadstartTime }, _onPlayerLoaddata: function () { if (!this._LoadedData && !this.buffer_flag) { var e = 0, t = 0; this.player.tag && (e = this.player.tag.videoWidth, t = this.player.tag.videoHeight), this._log("PREPAREEND", { tc: (new Date).getTime() - this._prepareTime, cc: (new Date).getTime() - this.loadstartTime, md: this.loadMetaDataCost, mi: JSON.stringify({type: "video", definition: e + "*" + t}) }) } this._LoadedData = 1 }, _onPlayerCanplay: function () { this._canPlay = 1, this._reportPlay() }, _onPlayerInit: function () { this.buffer_flag = 0, this.pause_flag = 0, this.startTimePlay = 0, this.loadstarted = 0, this._LoadedData = 0, this._canPlay = 0 }, _onPlayerReady: function () { this.startTimePlay || (this.startTimePlay = (new Date).getTime()) }, _onPlayerFinish: function () { this._log("STOP", {vt: Math.floor(1e3 * this.player.getCurrentTime())}), this.reset() }, _reportPlay: function () { return !(this.buffer_flag || !this._LoadedData || !this.playstartTime) && (this.first_play_time = (new Date).getTime(), this._log("PLAY", { dsm: "fix", tc: this.first_play_time - this.loadstartTime, fc: this.first_play_time - this.playstartTime }), this.buffer_flag = 1, !0) }, _onPlayerPlay: function () { this.playstartTime = (new Date).getTime(), 0 == this.playId && (this.playId = v.guid()), this.firstPlay || 0 != this.pause_flag || this.seeking || (this.sessionId = v.guid()), this.player._isPreload() || (this._log("STARTPLAY", {vt: (new Date).getTime()}), this.loadstartTime = (new Date).getTime()), this._canPlay && this._reportPlay() || this.buffer_flag && this.pause_flag && (this.pause_flag = 0, this.pauseEndTime = (new Date).getTime(), this._log("RECOVER", { vt: Math.floor(1e3 * this.player.getCurrentTime()), cost: this.pauseEndTime - this.pauseTime })) }, _onPlayerPause: function () { this.buffer_flag && this.startTimePlay && (this.seeking || (this.pause_flag = 1, this.pauseTime = (new Date).getTime(), this._log("PAUSE", {vt: Math.floor(1e3 * this.player.getCurrentTime())}))) }, _onPlayerSeekStart: function (e) { this.seekStartTime = e.paramData.fromTime, this.seeking = !0, this.startTimePlay = 0, this.seekStartStamp = (new Date).getTime() }, _onPlayerSeekEnd: function () { this.seekEndStamp = (new Date).getTime(), this._log("SEEK", { drag_from_timestamp: Math.floor(1e3 * this.seekStartTime), drag_to_timestamp: Math.floor(1e3 * this._seekEndData.toTime) }), this._log("SEEK_END", { vt: Math.floor(1e3 * this.player.getCurrentTime()), cost: this.seekEndStamp - this.seekStartStamp }), this.seeking = !1, this._seekEndData = null }, _onPlayerLoaded: function () { this.buffer_flag && this.startTimePlay && (this.stucking || this.seeking || (this.stuckStartTime = (new Date).getTime(), this.stuckStartTime - this.startTimePlay <= 1e3 || (this.stucking = !0, this._log("UNDERLOAD", {vt: Math.floor(1e3 * this.player.getCurrentTime())}), this.stuckStartTime = (new Date).getTime()))) }, _onPlayerUnderload: function () { if ((this.buffer_flag || !this.player._options || !this.player._options.autoplay) && this.stucking && !this.seeking) { var e = Math.floor(1e3 * this.player.getCurrentTime()), t = this.stuckStartTime || (new Date).getTime(), i = Math.floor((new Date).getTime() - t); 0 < i && this._log("LOADED", {vt: e, cost: i}), this.stucking = !1 } }, _onPlayerHeartBeat: function () { if (!this.seeking) { var e = Math.floor(1e3 * this.player.getCurrentTime()), t = this; this.timer || (this.timer = setTimeout(function () { !t.seeking && t._log("HEARTBEAT", {progress: e}), clearTimeout(t.timer), t.timer = null }, 6e4)), console.log("timeupdate") } }, _onPlayerError: function () { this.playId = 0, this._LoadedData = 1, this.buffer_flag || this._reportPlay() }, _log: function (e, t) { if (this.trackLog) { this.updateSourceInfo(); var i = u.copy(this.opt); this.requestId = v.guid(); var r = S.logReportTo; i.e = d[e] + "", i.ri = this.sessionId, i.t = (new Date).getTime() + "", i.cdn_ip = this._userNetInfo.cdnIp, i.hn = this._userNetInfo.localIp; var o = this.player.getCurrentQuality(); "" != o && (i.definition = o.definition); var n = []; u.each(t, function (e, t) { n.push(e + "=" + t) }); var a = "", s = this.player.getOptions(); s && s.vid && (a = s.vid), n.push("vid=" + a); try { Aliplayer && Aliplayer.__logCallback__ && (i.args = n, Aliplayer.__logCallback__(i)) } catch (e) { console.log(e) } if ("" == (n = n.join("&")) && (n = "0"), i.args = this.encodeURL(n), this._logService) this._logService.add(i); else { var l = []; u.each(i, function (e, t) { l.push(e + "=" + t) }), l = l.join("&"), c.jsonp(r + "?" + l, function () { }, function () { }) } return this.sessionId } } }); t.exports = a }, { "../config": 5, "../lib/data": 17, "../lib/io": 24, "../lib/object": 26, "../lib/oo": 27, "../lib/ua": 31, "../player/base/event/eventtype": 43, "./log": 37, "./util": 39 }], 39: [function (e, t, i) { var r = e("../lib/cookie"), o = e("../lib/data"), n = e("../lib/ua"); t.exports.getUuid = function () { var e = r.get("p_h5_u"); return e || (e = o.guid(), r.set("p_h5_u", e, 730)), e }, t.exports.getTerminalType = function () { var e = "pc"; return n.IS_IPAD ? e = "pad" : n.IS_ANDROID ? e = "android" : n.IS_IOS && (e = "iphone"), e }, t.exports.returnUTCDate = function (e) { var t = e.getUTCFullYear(), i = e.getUTCMonth(), r = e.getUTCDate(), o = e.getUTCHours(), n = e.getUTCMinutes(), a = e.getUTCSeconds(), s = e.getUTCMilliseconds(); return Date.UTC(t, i, r, o, n, a, s) }, t.exports.getRfc822 = function (e) { return e.toUTCString().replace("UTC", "GMT") } }, {"../lib/cookie": 16, "../lib/data": 17, "../lib/ua": 31}], 40: [function (e, t, i) { var s = e("./base/player"), l = e("./flash/flashplayer"), u = e("./saas/mtsplayer"), c = e("./saas/vodplayer"), d = e("./taotv/taotvplayer"), p = e("./audio/audioplayer"), h = e("./hls/hlsplayer"), f = e("./flv/flvplayer"), _ = e("./drm/drmplayer"), g = e("../lib/ua"), y = e("../lib/playerutil"), v = (e("../lib/dom"), e("../lib/io"), e("../lang/index")); t.exports.create = function (e, t) { "function" != typeof t && (t = function () { }), e.readyCallback = t, v.setCurrentLanguage(e.language, "h5", e.languageTexts); var i = y.handleOption(e), r = i.source, o = y.isAudio(r); o && (i.mediaType = "audio"); var n, a = y.createWrapper(i); return a.player ? a.player : (o ? n = new p(a, i) : !i.useFlashPrism && y.isFlv(r) && y.isSupportFlv() ? n = new f(a, i) : g.IS_MOBILE || !i.useFlashPrism && !y.isRTMP(r) ? i.vid && !i.source ? n = i.authInfo ? new u(a, i) : i.playauth || i.accessKeyId && i.accessKeySecret ? new c(a, i) : new d(a, i) : y.isDash(r) && y.isSupportMSE() ? n = new _(a, i) : y.isHls(r) ? y.canPlayHls() ? n = y.isSupportHls() && (y.isUsedHlsPluginOnMobile() || y.isSafariUsedHlsPlugin(i.useHlsPluginForSafari)) ? new h(a, i) : new s(a, i) : y.isSupportHls() ? n = new h(a, i) : g.os.pc ? i.userH5Prism || i.useH5Prism || (n = new l(a, i)) : n = new s(a, i) : n = (g.os.pc, new s(a, i)) : n = new l(a, i), n) } }, { "../lang/index": 11, "../lib/dom": 18, "../lib/io": 24, "../lib/playerutil": 29, "../lib/ua": 31, "./audio/audioplayer": 41, "./base/player": 62, "./drm/drmplayer": 69, "./flash/flashplayer": 70, "./flv/flvplayer": 72, "./hls/hlsplayer": 74, "./saas/mtsplayer": 78, "./saas/vodplayer": 84, "./taotv/taotvplayer": 93 }], 41: [function (e, t, i) { var r = e("../base/player"), o = e("../../ui/component"), n = e("../../lib/dom"), a = e("../../lib/object"), s = e("../../lib/playerutil"), l = r.extend({ init: function (e, t) { this._isAudio = !0, void 0 === t.skinLayout && (t.skinLayout = s.defaultAudioLayout), r.call(this, e, t) } }); l.prototype.createEl = function () { "AUDIO" !== this.tag.tagName && (this._el = this.tag, this.tag = o.prototype.createEl.call(this, "audio")); var t = this._el, e = this.tag; e.player = this; var i = n.getElementAttributes(e); return a.each(i, function (e) { t.setAttribute(e, i[e]) }), this.setVideoAttrs(), e.parentNode && e.parentNode.insertBefore(t, e), n.insertFirst(e, t), t }, t.exports = l }, { "../../lib/dom": 18, "../../lib/object": 26, "../../lib/playerutil": 29, "../../ui/component": 94, "../base/player": 62 }], 42: [function (e, t, i) { var a = e("../../../lib/event"), s = e("./eventtype"), r = e("../eventHandler/video/index"), o = e("../eventHandler/player/index"); t.exports.offAll = function (e) { var t = e.tag, i = e._el; for (var r in s.Video) a.off(t, s.Video[r]); for (var o in s.Player) a.off(i, s.Player[o]); for (var n in s.Private) a.off(i, s.Private[n]) }, t.exports.onAll = function (e) { r.bind(e), o.bind(e) } }, { "../../../lib/event": 19, "../eventHandler/player/index": 47, "../eventHandler/video/index": 56, "./eventtype": 43 }], 43: [function (e, t, i) { t.exports = { Video: { TimeUpdate: "timeupdate", Play: "play", Playing: "playing", Pause: "pause", CanPlay: "canplay", Waiting: "waiting", Ended: "ended", Error: "error", Suspend: "suspend", Stalled: "stalled", LoadStart: "loadstart", DurationChange: "durationchange", LoadedData: "loadeddata", LoadedMetadata: "loadedmetadata", Progress: "progress", CanPlayThrough: "canplaythrough", ContextMenu: "contextmenu", Seeking: "seeking", Seeked: "seeked", ManualEnded: "manualended" }, Player: { TimeUpdate: "timeupdate", DurationChange: "durationchange", Init: "init", Ready: "ready", Play: "play", Pause: "pause", CanPlay: "canplay", Waiting: "waiting", Ended: "ended", Error: "error", RequestFullScreen: "requestFullScreen", CancelFullScreen: "cancelFullScreen", Snapshoted: "snapshoted", Snapshoting: "snapshoting", OnM3u8Retry: "onM3u8Retry", LiveStreamStop: "liveStreamStop", AutoPlayPrevented: "autoPlayPrevented", AutoPlay: "autoplay", StartSeek: "startSeek", CompleteSeek: "completeSeek", TextTrackReady: "textTrackReady", AudioTrackReady: "audioTrackReady", AudioTrackUpdated: "audioTrackUpdated", LevelsLoaded: "levelsLoaded", AudioTrackSwitch: "audioTrackSwitch", AudioTrackSwitched: "audioTrackSwitched", LevelSwitch: "levelSwitch", LevelSwitched: "levelSwitched", MarkerDotOver: "markerDotOver", MarkerDotOut: "markerDotOut" }, Private: { Play_Btn_Show: "play_btn_show", UiH5Ready: "uiH5Ready", Error_Hide: "error_hide", Error_Show: "error_show", Info_Show: "info_show", Info_Hide: "info_hide", H5_Loading_Show: "h5_loading_show", H5_Loading_Hide: "h5_loading_hide", HideProgress: "hideProgress", CancelHideProgress: "cancelHideProgress", Click: "click", MouseOver: "mouseover", MouseOut: "mouseout", MouseEnter: "mouseenter", MouseLeave: "mouseleave", TouchStart: "touchstart", TouchMove: "touchmove", TouchEnd: "touchend", HideBar: "hideBar", ShowBar: "showBar", ReadyState: "readyState", SourceLoaded: "sourceloaded", QualityChange: "qualitychange", Play_Btn_Hide: "play_btn_hide", Cover_Hide: "cover_hide", Cover_Show: "cover_show", SeekStart: "seekStart", EndStart: "endStart", UpdateProgressBar: "updateProgressBar", LifeCycleChanged: "lifeCycleChanged", Dispose: "dispose", Created: "created", Snapshot_Hide: "snapshot_hide", AutoStreamShow: "auto_stream_show", AutoStreamHide: "auto_stream_hide", VolumnChanged: "volumnchanged", LiveShiftQueryCompleted: "liveShiftQueryCompleted", StreamSelectorHide: "streamSelectorHide", SpeedSelectorHide: "speedSelectorHide", SettingShow: "settingShow", SettingHide: "settingHide", SelectorShow: "selectorShow", SelectorHide: "selectorHide", SettingListShow: "settingListShow", SettingListHide: "settingListHide", ThumbnailHide: "thumbnailHide", ThumbnailShow: "thumbnailShow", ThumbnailLoaded: "thumbnailLoaded", TooltipShow: "tooltipShow", TooltipHide: "tooltipHide", SelectorUpdateList: "selectorUpdateList", SelectorValueChange: "selectorValueChange", VolumeVisibilityChange: "volumeVisibilityChange", ChangeURL: "changeURL", UpdateToSettingList: "updateToSettingList", CCChanged: "CCChanged", CCStateChanged: "CCStateChanged", PlayClick: "click", ProgressMarkerLoaded: "progressMarkerLoaded", MarkerTextShow: "markerTextShow", MarkerTextHide: "markerTextHide", PREPARE: "prepare", ProgressMarkerChanged: "progressMarkerChanged" } } }, {}], 44: [function (e, t, i) { e("../../event/eventtype"); var r = e("../../../../lib/dom"), o = e("../../../../lib/ua"); t.exports.handle = function () { o.IS_IOS || r.removeClass(this.el(), "prism-fullscreen") } }, {"../../../../lib/dom": 18, "../../../../lib/ua": 31, "../../event/eventtype": 43}], 45: [function (e, t, i) { var r = e("../../event/eventtype"); t.exports.handle = function (e) { var t = this; this._enteredProgressMarker && t.one(r.Player.CanPlay, function () { t.pause() }), t._seeking = !1, t.trigger(r.Player.CompleteSeek, e.paramData.toTime) } }, {"../../event/eventtype": 43}], 46: [function (e, t, i) { var r = e("../../event/eventtype"), o = (e("../../../../lib/constants"), e("../../../../lang/index"), e("../../../../monitor/util")); t.exports.handle = function (e) { var t = this, i = e.paramData; t.trigger(r.Private.H5_Loading_Hide), t.trigger(r.Private.Cover_Hide), t.trigger(r.Private.Play_Btn_Hide), t.trigger(r.Private.SettingListHide), t.trigger(r.Private.SelectorHide), t.trigger(r.Private.VolumeVisibilityChange, ""), i = i || {}, t._monitor && (i.uuid = o.getUuid(), i.requestId = t._serverRequestId, i.cdnIp = t._monitor._userNetInfo.cdnIp, i.localIp = t._monitor._userNetInfo.localIp), t._isError = !0, t.trigger(r.Private.Error_Show, i), t.trigger(r.Private.LifeCycleChanged, { type: r.Player.Error, data: i }) } }, { "../../../../lang/index": 11, "../../../../lib/constants": 15, "../../../../monitor/util": 39, "../../event/eventtype": 43 }], 47: [function (e, t, i) { var r = e("../../event/eventtype"), o = e("../../../../lib/event"), n = e("./lifecyclecommon"), a = { endStart: e("./endstart"), seekStart: e("./seekstart"), requestFullScreen: e("./requestfullscreen"), cancelFullScreen: e("./cancelfullscreen"), error: e("./error") }, s = [r.Private.EndStart, r.Private.SeekStart, r.Player.RequestFullScreen, r.Player.CancelFullScreen, r.Player.Error, r.Player.Ready, r.Private.Dispose, r.Private.Created], l = function (t, i, r) { var e = t.el(); o.on(e, i, function (e) { (r && r.handle ? r.handle : n.handle).call(t, e, i) }) }; t.exports.bind = function (e) { e.el(); for (var t = 0; t < s.length; t++) { var i = s[t]; "undefined" != a[i] && l(e, i, a[i]) } } }, { "../../../../lib/event": 19, "../../event/eventtype": 43, "./cancelfullscreen": 44, "./endstart": 45, "./error": 46, "./lifecyclecommon": 48, "./requestfullscreen": 49, "./seekstart": 50 }], 48: [function (e, t, i) { var r = e("../../event/eventtype"); t.exports.handle = function (e, t) { this.trigger(r.Private.LifeCycleChanged, {type: t, data: e}) } }, {"../../event/eventtype": 43}], 49: [function (e, t, i) { e("../../event/eventtype"); var r = e("../../../../lib/dom"), o = e("../../../../lib/ua"); t.exports.handle = function () { o.IS_IOS || r.addClass(this.el(), "prism-fullscreen") } }, {"../../../../lib/dom": 18, "../../../../lib/ua": 31, "../../event/eventtype": 43}], 50: [function (e, t, i) { var r = e("../../event/eventtype"); t.exports.handle = function (e) { this._seeking = !0, this.trigger(r.Player.StartSeek, e.paramData.fromTime) } }, {"../../event/eventtype": 43}], 51: [function (e, t, i) { var r = e("../../event/eventtype"); t.exports.handle = function (e) { var t = this; t._retrySwitchUrlCount = 0, t._liveRetryCount = 0, t._clearLiveErrorHandle(); var i = (new Date).getTime() - t.readyTime; t._options.autoplay || t._options._autoplay || !t.paused() || (t.trigger(r.Private.H5_Loading_Hide), t.trigger(r.Private.Play_Btn_Show)), t.trigger(r.Player.CanPlay, {loadtime: i}) } }, {"../../event/eventtype": 43}], 52: [function (e, t, i) { var r = e("../../event/eventtype"), o = e("../../../../lib/dom"), n = e("../../../../lib/ua"); t.exports.handle = function (e) { var t = this.tag; "none" === t.style.display && n.IS_IOS && setTimeout(function () { o.css(t, "display", "block") }, 100), this.trigger(r.Video.CanPlayThrough) } }, {"../../../../lib/dom": 18, "../../../../lib/ua": 31, "../../event/eventtype": 43}], 53: [function (e, t, i) { t.exports.handle = function (e, t) { var i = ""; e && e.paramData && (i = e.paramData), this.trigger(t, i) } }, {}], 54: [function (e, t, i) { var r = e("../../event/eventtype"); e("../../../../lang/index"); t.exports.handle = function (e) { var t = this; t.waiting = !1, t._ended = !0, t._monitor && t._monitor._onPlayerInit(), t._options.rePlay ? (t.seek(0), t.tag.play()) : t._options.isLive && t.trigger(r.Private.H5_Loading_Hide), t.trigger(r.Private.Play_Btn_Show), t.trigger(r.Player.Ended) } }, {"../../../../lang/index": 11, "../../event/eventtype": 43}], 55: [function (e, t, i) { var c = e("../../event/eventtype"), d = (e("../../../../lib/ua"), e("../../../../lib/playerutil"), e("../../../../lib/constants")), p = e("../../../../lang/index"); t.exports.handle = function (e) { var t = this; if (t.waiting = !1, t._clearTimeout(), t.checkOnline()) { var i, r = "", o = e.target || e.srcElement, n = o.error.message; r = ""; if (o.error.code && (i = o.error.code, r = d.VideoErrorCode[o.error.code], n = i + " || " + n), t._options.isLive) t._options.liveRetry > t._liveRetryCount ? t._reloadAndPlayForM3u8() : (t._liveRetryCount = 0, t.trigger(c.Player.LiveStreamStop), t._liveErrorHandle = setTimeout(function () { var e = { mediaId: "ISLIVE", error_code: r, error_msg: p.get("Error_Play_Text") + "\uff0c" + p.get("Error_Retry_Text") }; t.logError(e), t.trigger("error", e) })); else if (t._reloadForVod()) ; else { var a = p.get("Error_Play_Text"), s = !1; if (i < 4) { if (3 == i && t._firstDecodeError) { var l = t.getCurrentTime() + 1; return t._loadByUrlInner(t._options.source, l, !0), void(t._firstDecodeError = !1) } a = d.VideoErrorCodeText[i] } else t._eventState == d.SUSPEND ? (a = p.get("Error_Load_Abort_Text"), r = d.ErrorCode.RequestDataError) : t._eventState == d.LOAD_START ? (a = p.get("Error_Network_Text"), 0 < t._options.source.indexOf("auth_key") && (a = a + "\uff0c" + p.get("Error_AuthKey_Text")), r = d.ErrorCode.StartLoadData) : t._eventState == d.LOADED_METADATA && (a = p.get("Error_Play_Text"), r = d.ErrorCode.PlayingError); a = a + "\uff0c" + p.get("Error_Retry_Text"), 1 < t._urls.length && t._retrySwitchUrlCount < 3 && -1 == t._options.source.indexOf(".mpd") && (t.switchUrl(), s = !0); var u = {mediaId: t._options.vid ? t._options.vid : "", error_code: r, error_msg: n}; s || (t.logError(u), u.display_msg = a, t.trigger(c.Player.Error, u)) } } } }, { "../../../../lang/index": 11, "../../../../lib/constants": 15, "../../../../lib/playerutil": 29, "../../../../lib/ua": 31, "../../event/eventtype": 43 }], 56: [function (e, t, i) { var o = e("../../../../lib/event"), n = e("../../event/eventtype"), r = { canplay: e("./canplay"), canplaythrough: e("./canplaythrough"), common: e("./common"), ended: e("./ended"), error: e("./error"), pause: e("./pause"), play: e("./play"), playing: e("./playing"), waiting: e("./waiting"), timeupdate: e("./timeupdate"), manualended: e("./ended") }, a = function (t, i, r) { var e = t.tag; o.on(e, i, function (e) { r.handle.call(t, e, i), i != n.Video.Error && (i == n.Video.ManualEnded && (i = n.Video.Ended), t.trigger(n.Private.LifeCycleChanged, { type: i, data: e })) }) }; t.exports.bind = function (e) { e.tag; for (var t in n.Video) { var i = n.Video[t]; a(e, i, void 0 !== r[i] ? r[i] : r.common) } } }, { "../../../../lib/event": 19, "../../event/eventtype": 43, "./canplay": 51, "./canplaythrough": 52, "./common": 53, "./ended": 54, "./error": 55, "./pause": 57, "./play": 58, "./playing": 59, "./timeupdate": 60, "./waiting": 61 }], 57: [function (e, t, i) { var r = e("../../event/eventtype"); t.exports.handle = function (e) { var t = this; t._clearTimeout(), t.trigger(r.Private.AutoStreamHide), t.trigger(r.Player.Pause), t._isManualPause && (t.trigger(r.Private.Play_Btn_Show), t.trigger(r.Private.H5_Loading_Hide)), t.waiting = !1 } }, {"../../event/eventtype": 43}], 58: [function (e, t, i) { var r = e("../../event/eventtype"); t.exports.handle = function (e) { var t = this; t.trigger(r.Private.Error_Hide), t.trigger(r.Private.Cover_Hide), t.trigger(r.Private.AutoStreamHide), t.waiting = !1, t.trigger(r.Player.Play) } }, {"../../event/eventtype": 43}], 59: [function (e, t, i) { var o = e("../../event/eventtype"); t.exports.handle = function (e) { var t = this; t.trigger(o.Private.H5_Loading_Hide), t.trigger(o.Private.Cover_Hide), t.trigger(o.Private.Info_Hide), t.waiting = !1, t._ended = !1, t._liveRetryCount = 0, t._vodRetryCount = 0, t._firstDecodeError = !0; var i = t.getCurrentTime(); if (t._waitingReloadTime != i && (t._waitingTimeoutCount = 0), t._checkTimeoutHandle && (clearTimeout(t._checkTimeoutHandle), t._checkTimeoutHandle = null), t._waitingLoadedHandle && (clearTimeout(t._waitingLoadedHandle), t._waitingLoadedHandle = null), t._waitingDelayLoadingShowHandle && (clearTimeout(t._waitingDelayLoadingShowHandle), t._waitingDelayLoadingShowHandle = null), t._waitingTimeoutHandle && (clearTimeout(t._waitingTimeoutHandle), t._waitingTimeoutHandle = null, t._ccService && t._options.isLive)) { var r = t._ccService.getCurrentSubtitle(); t._setDefaultCC = !0, r && t._ccService["switch"](r) } t.trigger(o.Private.AutoStreamHide), t.trigger(o.Player.Playing), t.trigger(o.Private.Play_Btn_Hide), t.trigger(o.Private.Error_Hide) } }, {"../../event/eventtype": 43}], 60: [function (e, t, i) { var n = e("../../event/eventtype"), a = e("../../../../lib/ua"), s = e("../../../../lib/event"), l = e("../../plugin/status"); t.exports.handle = function (e) { var i = this; i.trigger(n.Player.TimeUpdate, e.timeStamp); var t = i.getCurrentTime(); if (i.waiting && !i._TimeUpdateStamp && (i._TimeUpdateStamp = t), 0 != i.waiting && i._TimeUpdateStamp == t || (i.trigger(n.Private.H5_Loading_Hide), i.trigger(n.Private.AutoStreamHide), i._checkTimeoutHandle && clearTimeout(i._checkTimeoutHandle), i._waitingTimeoutHandle && clearTimeout(i._waitingTimeoutHandle), i._waitingLoadedHandle && clearTimeout(i._waitingLoadedHandle), i.waiting = !1), i._TimeUpdateStamp = t, !i._options.isLive) { var r = i.getDuration(), o = !1; r < t && !i.paused() ? o = !0 : r - t < .2 && 0 <= a.browser.version.indexOf("49.") && !i.paused() ? o = !0 : i.exceedPreviewTime(t) && (o = !0), o && !i._ended && (i.pause(), s.trigger(i.tag, n.Video.ManualEnded)) } i._playingSlientPause && (clearTimeout(i._playingSlientPause), i._playingSlientPause = null), i._playingSlientPause = setTimeout(function () { if (i._status == l.playing) { var e = i.getCurrentTime(), t = i._options.isLive ? 0 : e; i._loadByUrlInner(i._options.source, t, !0) } }, 2e3) } }, {"../../../../lib/event": 19, "../../../../lib/ua": 31, "../../event/eventtype": 43, "../../plugin/status": 66}], 61: [function (e, t, i) { var n = e("../../event/eventtype"), a = e("../../../../lib/constants"), s = e("../../../../lib/event"), l = e("../../../../lang/index"); t.exports.handle = function (e) { var i = this; if (!i._options.isLive) { var t = this.getCurrentTime(), r = this.getDuration(); if (r - t < .5 || r < t) return i.pause(), i._ended = !0, void s.trigger(this.tag, n.Video.ManualEnded) } i.waiting = !0; var o = function () { i._checkTimeoutHandle && (clearTimeout(i._checkTimeoutHandle), i._checkTimeoutHandle = null), i._waitingTimeoutHandle && (clearTimeout(i._waitingTimeoutHandle), i._waitingTimeoutHandle = null), i._waitingLoadedHandle && (clearTimeout(i._waitingLoadedHandle), i._waitingLoadedHandle = null), i._waitingDelayLoadingShowHandle && (clearTimeout(i._waitingDelayLoadingShowHandle), i._waitingDelayLoadingShowHandle = null) }; o(), i._waitingDelayLoadingShowHandle = setTimeout(function () { i.trigger(n.Private.H5_Loading_Show) }, 1e3 * i._options.delayLoadingShow), i._TimeUpdateStamp = null, i._checkTimeoutHandle = setTimeout(function () { i.trigger(n.Private.AutoStreamShow) }, 1e3 * i._options.loadDataTimeout), i.trigger(n.Player.Waiting), i._waitingTimeoutHandle = setTimeout(function () { if (i.tag && i._options) { i.pause(); var e = { mediaId: i._options.vid ? i._options.vid : "", error_code: a.ErrorCode.LoadingTimeout, error_msg: l.get("Error_Waiting_Timeout_Text") }; i.logError(e), i.trigger("error", e) } }, 1e3 * i._options.waitingTimeout), i._waitingLoadedHandle = setTimeout(function () { var e = i.getCurrentTime(); if (0 == i._waitingTimeoutCount && e != i._waitingReloadTime) { i._waitingTimeoutCount = 1, i._waitingReloadTime = e; var t = i._options.isLive ? 0 : e; i._loadByUrlInner(i._options.source, t, !0) } }, i._options.waitingTimeout / 2 * 1e3), i.on("error", function () { o() }) } }, { "../../../../lang/index": 11, "../../../../lib/constants": 15, "../../../../lib/event": 19, "../../event/eventtype": 43 }], 62: [function (e, t, i) { var n = e("../../ui/component"), a = e("../../lib/object"), o = e("../../lib/dom"), s = e("../../lib/event"), l = (e("../../lib/io"), e("../../ui/exports")), u = e("../../monitor/monitor"), r = e("../../lib/ua"), c = e("../../lib/constants"), d = e("../../lib/util"), p = (e("../../config"), e("../../lib/playerutil")), h = e("./x5play"), f = e("../../lib/cookie"), _ = e("../../lang/index"), g = e("../../feature/autoPlayDelay"), y = e("./event/eventmanager"), v = e("../../ui/component/cover"), m = e("../../ui/component/play-animation"), S = e("../../commonui/autostreamselector"), T = e("./event/eventtype"), b = e("./plugin/lifecyclemanager"), x = e("../service/export"), E = e("../../ui/component/progressmarker"), P = n.extend({ init: function (e, t) { if (this.tag = e, this.loaded = !1, this.played = !1, this.waiting = !1, this._urls = [], this._currentPlayIndex = 0, this._retrySwitchUrlCount = 0, this._isError = !1, this._isHls = !1, this._liveRetryCount = 0, this._vodRetryCount = 0, this._seeking = !1, this._serverRequestId = 0, this._waitingTimeoutCount = 0, this._waitingReloadTime = 0, this._created = !1, this._firstDecodeError = !0, this._enteredProgressMarker = !1, this._liveShiftSeekStartTime = 0, this._duration = 0, this.__disposed = !1, void 0 === t.skinLayout && (t.skinLayout = p.defaultH5Layout), n.call(this, this, t), this.addClass("prism-player"), t.plugins && a.each(t.plugins, function (e, t) { this[e](t) }, this), this._createService(), this.UI = {}, t.useNativeControls ? this.tag.setAttribute("controls", "controls") : this.UI = l, this.initChildren(), y.onAll(this), this._lifeCycleManager = new b(this), this._options.trackLog && (this._monitor = new u(this, { video_id: 0, album_id: 0, from: this._options.from, source: this._options.source, logBatched: this._options.logBatched }, this._options.trackLog)), this._overrideNativePlay(), !this._liveshiftService || this._liveshiftService.validate()) { if (this._options.extraInfo) { var i = this._options.extraInfo; i.liveRetry && (this._options.liveRetry = i.liveRetry) } if (this.on(T.Private.ReadyState, function () { this.trigger(T.Player.Ready) }), this._thumbnailService && this._options.thumbnailUrl && this._thumbnailService.get(this._options.thumbnailUrl), 0 < this._options.progressMarkers.length && this.trigger(T.Private.ProgressMarkerLoaded, this._options.progressMarkers), this._options.source && this._options._native && this._executeReadyCallback(), this._options.autoplay || this._options.preload ? this.trigger(T.Private.H5_Loading_Show) : this.trigger(T.Private.Play_Btn_Show), this._extraMultiSources(), this._options.source) if (this.trigger(T.Private.PREPARE, "custom"), this._options.autoPlayDelay) { this._autoPlayDelay = new g(this); var r = this; this._autoPlayDelay.handle(function () { r.initPlay() }) } else this.initPlay() } else { var o = { mediaId: this._options.vid ? this._options.vid : "", error_code: c.ErrorCode.InvalidParameter, error_msg: _.get("ShiftLiveTime_Error") }; this.trigger(T.Player.Error, o) } } }); P.prototype.initPlay = function (e) { this._initPlayBehavior(e, this._options.source) }, P.prototype.initChildren = function () { var e = this.options(), t = e.skinLayout; if (!1 !== t && !a.isArray(t)) throw new Error("PrismPlayer Error: skinLayout should be false or type of array!"); !1 !== t && 0 !== t.length && (this.options({children: t}), n.prototype.initChildren.call(this)), this.UI.cover = v, this.addChild("cover", e), this.UI.playanimation = m, this.addChild("playanimation", e), this.UI.autoStreamSelector = S, this.addChild("autoStreamSelector", e), this.UI.progressMarker = E, this.addChild("progressMarker", e), this.trigger(T.Private.UiH5Ready) }, P.prototype.createEl = function () { var e = !1; "VIDEO" !== this.tag.tagName ? (this._el = this.tag, this.tag = n.prototype.createEl.call(this, "video"), this._options.playsinline && (this.tag.setAttribute("webkit-playsinline", ""), this.tag.setAttribute("playsinline", ""), this.tag.setAttribute("x-webkit-airplay", ""), this.tag.setAttribute("x5-playsinline", ""))) : (e = !0, this._el = this.tag.parentNode); var t = this._el, i = this.tag; this._options.enableSystemMenu || (i.addEventListener ? i.addEventListener("contextmenu", function (e) { e.preventDefault() }, !1) : i.attachEvent("oncontextmenu", function () { window.event.returnValue = !1 })), i.player = this; var r = o.getElementAttributes(i); return a.each(r, function (e) { t.setAttribute(e, r[e]) }), this.setVideoAttrs(), e || (i.parentNode && i.parentNode.insertBefore(t, i), o.insertFirst(i, t)), t }, P.prototype.setVideoAttrs = function () { var e = this._options.preload, t = this._options.autoplay; if (this.tag.style.width = this._options.videoWidth || "100%", this.tag.style.height = this._options.videoHeight || "100%", e && this.tag.setAttribute("preload", "preload"), t && !this._isEnabledAILabel() && this.tag.setAttribute("autoplay", "autoplay"), r.IS_IOS && this.tag.setAttribute("poster", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KTMInWQAAAMZJREFUeAHt0DEBAAAAwqD1T20LL4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMDAc2CcpAABaODCqQAAAABJRU5ErkJggg=="), this._options.extraInfo) for (var i in this._options.extraInfo) this.tag.setAttribute(i, this._options.extraInfo[i]); h.adaptX5Play(this) }, P.prototype.checkOnline = function () { if (!this._options || this._options.debug) return !0; if (0 != navigator.onLine) return !0; var e = { mediaId: this._options.vid ? this._options.vid : "", error_code: c.ErrorCode.NetworkUnavaiable, error_msg: _.get("Error_Offline_Text") }; return e.display_msg = _.get("Error_Offline_Text"), this.trigger(T.Player.Error, e), !1 }, P.prototype.id = function () { return this.el().id }, P.prototype.renderUI = function () { }, P.prototype.switchUrl = function () { if (0 != this._urls.length) { this._currentPlayIndex = this._currentPlayIndex + 1, this._urls.length <= this._currentPlayIndex && (this._currentPlayIndex = 0, this._retrySwitchUrlCount++); var e = this._urls[this._currentPlayIndex]; f.set(c.SelectedStreamLevel, e.definition, 365), this.trigger(T.Private.QualityChange, _.get("Quality_Change_Fail_Switch_Text")); var t = this.getCurrentTime(); this._vodRetryCount = 0, this._originalSource = "", this._loadByUrlInner(e.Url, t, !0) } }, P.prototype.setControls = function () { var e = this.options(); if (e.useNativeControls) this.tag.setAttribute("controls", "controls"); else if ("object" == typeof e.controls) { var t = this._initControlBar(e.controls); this.addChild(t) } }, P.prototype._initControlBar = function (e) { return new ControlBar(this, e) }, P.prototype.getMetaData = function () { var t = this, i = this.tag; t._readyStateTimer && clearInterval(t._readyStateTimer), t._readyStateTimer = window.setInterval(function (e) { t.tag ? i && 0 < i.readyState && (t._duration = i.duration < 1 ? 0 : i.duration, t.trigger(T.Private.ReadyState), clearInterval(t._readyStateTimer)) : clearInterval(t._readyStateTimer) }, 100) }, P.prototype.getReadyTime = function () { return this.readyTime }, P.prototype.readyState = function () { return this.tag.readyState }, P.prototype.getError = function () { return this.tag.error }, P.prototype.getRecentOccuredEvent = function () { return this._eventState }, P.prototype.getSourceUrl = function () { return this._options ? this._options.source : "" }, P.prototype.getMonitorInfo = function () { return this._monitor ? this._monitor.opt : {} }, P.prototype.getCurrentQuality = function () { if (0 < this._urls.length) { var e = this._urls[this._currentPlayIndex]; return {width: e.width, url: e.Url, definition: e.definition} } return "" }, P.prototype.setSpeed = function (e) { this.tag && (this._originalPlaybackRate = e, this.tag.playbackRate = e) }, P.prototype.play = function (e) { return this.tag && (this.tag.ended || this._ended ? this.replay() : ((this._options.preload || this.loaded) && this.tag.src || this._initLoad(this._options.source), this.trigger(T.Private.Cover_Hide), this.tag.play())), this._isManualPlay = e || !1, this }, P.prototype.replay = function () { return this._monitor && this._monitor.replay(), this.seek(0), this.tag.play(), this }, P.prototype.pause = function (e) { return this.tag && this.tag.pause(), this._isManualPause = e || !1, this }, P.prototype.stop = function () { return this.tag.setAttribute("src", null), this }, P.prototype.paused = function () { if (this.tag) return !1 !== this.tag.paused }, P.prototype.getDuration = function () { var e = 0; return this.tag && (e = this.isPreview() ? this._vodDuration || this.tag.duration : this._duration && this._duration != 1 / 0 ? this._duration : this.tag.duration), e }, P.prototype.getDisplayDuration = function () { var e = 0; return this.tag && (e = this._vodDuration || this.getDuration()), e }, P.prototype.getCurrentTime = function () { return this.tag ? this.tag.currentTime : 0 }, P.prototype.seek = function (e) { e === this.tag.duration && e--; var t = this._originalPlaybackRate || this.tag.playbackRate; try { var i = this; this.tag.currentTime = e, setTimeout(function () { i.tag && (i.tag.playbackRate = t) }) } catch (e) { console.log(e) } return this }, P.prototype.firstNewUrlloadByUrl = function (e, t) { this._clearTimeout(), this._options.vid = 0, this._options.source = e, this._monitor && this._monitor.updateVideoInfo({ video_id: 0, album_id: 0, source: e, from: this._options.from }), this.trigger(T.Private.ChangeURL), this.initPlay(), this._options.autoplay && this.trigger(T.Private.Cover_Hide), this._options.autoplay ? this.trigger(T.Player.Play) : this.trigger(T.Player.Pause), t || (t = 0), !t && 0 != t || isNaN(t) || this.seek(t) }, P.prototype._loadByUrlInner = function (e, t, i) { this.loadByUrl(e, t, i, !0) }, P.prototype.loadByUrl = function (e, t, i, r) { this._monitor && !r && this._monitor.reset(), this._isError = !1, this._duration = 0, this._clearTimeout(), this.trigger(T.Private.Error_Hide), this._options.vid = 0, this._options.source = e, this._monitor && this._monitor.updateVideoInfo({ video_id: 0, album_id: 0, source: e, from: this._options.from }), r || (this.trigger(T.Private.ChangeURL), this._vodRetryCount = 0), this._options._autoplay = i, this.initPlay(i), (this._options.autoplay || i) && this.trigger(T.Private.Cover_Hide), this._options.autoplay || i ? this.trigger(T.Player.Play) : this.trigger(T.Player.Pause); var o = this; this._options.isLive || s.one(this.tag, T.Video.CanPlay, function (e) { !t && 0 != t || isNaN(t) || o.seek(t) }) }, P.prototype.dispose = function () { this.__disposed = !0, this.trigger(T.Private.Dispose), this.tag.pause(), y.offAll(this), this._monitor && (this._monitor.removeEvent(), this._monitor = null), this._autoPlayDelay && this._autoPlayDelay.dispose(), this._checkTimeoutHandle && (clearTimeout(this._checkTimeoutHandle), this._checkTimeoutHandle = null), this._waitingTimeoutHandle && (clearTimeout(this._waitingTimeoutHandle), this._waitingTimeoutHandle = null), this._playingSlientPause && (clearTimeout(this._playingSlientPause), this._playingSlientPause = null), this._waitingLoadedHandle && (clearTimeout(this._waitingLoadedHandle), this._waitingLoadedHandle = null), this._readyStateTimer && (clearInterval(this._readyStateTimer), this._readyStateTimer = null), this._vodRetryCountHandle && (clearTimeout(this._vodRetryCountHandle), this._vodRetryCountHandle = null), this._waitingDelayLoadingShowHandle && (clearTimeout(this._waitingDelayLoadingShowHandle), this._waitingDelayLoadingShowHandle = null), this._disposeService(), this._clearLiveErrorHandle(), this._el.innerHTML = "", this.destroy(), this.tag = null, this._options.recreatePlayer = null, this._options = null }, P.prototype.mute = function () { this._muteInner(), this._originalVolumn = this.tag.volume; var e = _.get("Volume_Mute"); return this._player.trigger(T.Private.Info_Show, { text: e, duration: 1e3, align: "lb" }), this._setInnerVolume(0), this }, P.prototype._muteInner = function () { this.tag.muted = !0, this.trigger(T.Private.VolumnChanged, -1) }, P.prototype.unMute = function () { this._unMuteInner(); var e = _.get("Volume_UnMute"); return this._player.trigger(T.Private.Info_Show, { text: e, duration: 1e3, align: "lb" }), this._setInnerVolume(this._originalVolumn || .5), this }, P.prototype._unMuteInner = function () { this.tag.muted = !1, this.trigger(T.Private.VolumnChanged, -2) }, P.prototype.muted = function () { return this.tag.muted }, P.prototype.getVolume = function () { return this.tag.volume }, P.prototype.getOptions = function () { return this._options }, P.prototype.setVolume = function (e, t) { 0 != e ? this._unMuteInner() : 0 == e && this._muteInner(), this._setInnerVolume(e); var i = _.get("Curent_Volume") + "<span>" + (100 * e).toFixed() + "%</span>"; this._player.trigger(T.Private.Info_Show, {text: i, duration: 1e3, align: "lb"}) }, P.prototype._setInnerVolume = function (e) { this.tag.volume = e, this.trigger(T.Private.VolumnChanged, e) }, P.prototype.hideProgress = function () { this.trigger(T.Private.HideProgress) }, P.prototype.cancelHideProgress = function () { this.trigger(T.Private.CancelHideProgress) }, P.prototype.setPlayerSize = function (e, t) { this._el.style.width = e, this._el.style.height = t }, P.prototype.getBuffered = function () { return this.tag.buffered }, P.prototype.setRotate = function (e) { this.tag && (this._rotate = e, this._setTransform(), this.log("ROTATE", {rotation: e})) }, P.prototype.getRotate = function (e) { return void 0 === this._rotate ? 0 : this._rotate }, P.prototype.setImage = function (e) { this.tag && (this._image = e, this._setTransform(), this.log("IMAGE", { mirror: "horizon" == e ? 2 : 1, text: e })) }, P.prototype.getImage = function () { return this._image }, P.prototype.cancelImage = function () { this.tag && (this._image = "", this._setTransform(), this.log("IMAGE", {mirror: 0})) }, P.prototype.setCover = function (e) { var t = document.querySelector("#" + this.id() + " .prism-cover"); t && e && (t.style.backgroundImage = "url(" + e + ")", this._options.cover = e, this.trigger(T.Private.Cover_Show)) }, P.prototype._setTransform = function () { this._transformProp || (this._transformProp = o.getTransformName(this.tag)); var e = " translate(-50%, -50%)"; this._rotate && (e += " rotate(" + this._rotate + "deg)"), this._image && ("vertical" == this._image ? e += " scaleY(-1)" : "horizon" == this._image && (e += " scaleX(-1)")), this.tag.style[this._transformProp] = e }, P.prototype._startPlay = function () { this.tag.paused && this.tag.play() }, P.prototype._initPlayBehavior = function (e, t) { if (this._checkSupportVideoType()) return !1; if (p.validateSource(t)) return void 0 === e && (e = !1), this._created || (this._created = !0, this.trigger(T.Private.Created)), this.loaded || this.trigger(T.Player.Init), this._options.autoplay || this._options._autoplay || this._options.preload || e ? (this._options._preload = !0, this._initLoad(t), (this._options.autoplay || this._options._autoplay) && this._startPlay()) : this.trigger(T.Private.Play_Btn_Show), !0; var i = { mediaId: this._options.vid ? this._options.vid : "", error_code: c.ErrorCode.InvalidSourceURL, error_msg: "InvalidSourceURL" }; return i.display_msg = _.get("Error_Invalidate_Source"), this.trigger(T.Player.Error, i), !1 }, P.prototype._isPreload = function () { return this._options.autoplay || this._options.preload || this._options._preload }, P.prototype._initLoad = function (e) { this.getMetaData(), e && (this._isPreload() && !r.IS_MOBILE ? this.trigger(T.Private.H5_Loading_Show) : (this.trigger(T.Private.H5_Loading_Hide), this.trigger(T.Private.Play_Btn_Show)), this.tag.setAttribute("src", e), this.loaded = !0) }, P.prototype._clearLiveErrorHandle = function () { this._liveErrorHandle && (clearTimeout(this._liveErrorHandle), this._liveErrorHandle = null) }, P.prototype._reloadAndPlayForM3u8 = function () { 0 == this._liveRetryCount && this.trigger(T.Player.OnM3u8Retry); var e = this._options, t = e.liveRetryInterval + e.liveRetryStep * this._liveRetryCount; d.sleep(1e3 * t), this._liveRetryCount++, this.tag.load(this._options.source), this.tag.play() }, P.prototype._checkSupportVideoType = function () { if (!this.tag.canPlayType || !this._options.source || !r.IS_MOBILE) return ""; var e = this._options.source, t = ""; if (0 < e.indexOf("m3u8") ? "" != this.tag.canPlayType("application/x-mpegURL") || p.isSupportHls() || (t = _.get("Error_Not_Support_M3U8_Text")) : 0 < e.indexOf("mp4") ? "" == this.tag.canPlayType("video/mp4") && (t = _.get("Error_Not_Support_MP4_Text")) : (p.isRTMP(e) || p.isFlv(e)) && r.IS_MOBILE && (t = _.get("Error_Not_Support_Format_On_Mobile")), t) { var i = { mediaId: this._options.vid ? this._options.vid : "", error_code: c.ErrorCode.FormatNotSupport, error_msg: t }; this.logError(i), i.display_msg = t, this.trigger(T.Player.Error, i) } return t }, P.prototype.getComponent = function (e) { return this._lifeCycleManager.getComponent(e) }, P.prototype.logError = function (e, t) { e || (e = {}), e.vt = this.getCurrentTime(), this._serverRequestId = this.log(t ? "ERRORRETRY" : "ERROR", e) }, P.prototype.log = function (e, t) { var i = 0, r = 0; if (this._monitor) return this._options && (i = this._options.vid || "0", r = this._options.from || "0"), this._monitor.updateVideoInfo({ video_id: i, album_id: 0, source: this._options.source, from: r }), this._monitor._log(e, t) }, P.prototype.setSanpshotProperties = function (e, t, i) { if (this._snapshotMatric || (this._snapshotMatric = {}), this._snapshotMatric.width = e, this._snapshotMatric.height = t, 1 < i) throw new Error("rate doesn't allow more than 1"); this._snapshotMatric.rate = i }, P.prototype.getStatus = function () { return this._status ? this._status : "init" }, P.prototype.enterProgressMarker = function () { this._enteredProgressMarker = !0 }, P.prototype.isInProgressMarker = function () { return this._enteredProgressMarker }, P.prototype.exitProgressMarker = function () { this._enteredProgressMarker = !1 }, P.prototype.setProgressMarkers = function (e) { e || (e = []), this.trigger(T.Private.ProgressMarkerChanged, e) }, P.prototype.getProgressMarkers = function () { return this._progressMarkerService ? this._progressMarkerService.progressMarkers : [] }, P.prototype.setPreviewTime = function (e) { this._options.playConfig || (this._options.playConfig = {}), this._options.playConfig.PreviewTime = e }, P.prototype.getPreviewTime = function () { var e = 0; return this._options.playConfig && (e = this._options.playConfig.PreviewTime), e }, P.prototype.exceedPreviewTime = function (e) { return this.isPreview() && e >= this._options.playConfig.PreviewTime }, P.prototype.isPreview = function () { var e = this._options.playConfig.PreviewTime, t = this._vodDuration || this.tag.duration; return 0 < e && e < t }, P.prototype._getSanpshotMatric = function () { return this._snapshotMatric || (this._snapshotMatric = {}), this._snapshotMatric }, P.prototype._overrideNativePlay = function () { var r = this.tag.play, o = this; this.tag.play = function () { if (console.log("do play"), !o._options.source) { var e = { mediaId: o._options.vid ? o._options.vid : "", error_code: c.ErrorCode.InvalidSourceURL, error_msg: "InvalidSourceURL" }; return o._options.vid ? e.display_msg = _.get("Error_Vid_Empty_Source") : e.display_msg = _.get("Error_Empty_Source"), void o.trigger(T.Player.Error, e) } o.readyTime = (new Date).getTime(); var t = r.apply(o.tag); void 0 !== t && t.then(function () { o.trigger(T.Player.AutoPlay, !0), console.log("do play successfully") })["catch"](function (e) { console.log("do play failed"), !o.tag || !o.tag.paused || o._isError || o._options._autoplay || o._switchedLevel || (o.trigger(T.Private.Play_Btn_Show), o.trigger(T.Private.H5_Loading_Hide), o.trigger(T.Player.AutoPlayPrevented), o.trigger(T.Player.AutoPlay, !1), o._options.cover && o.trigger(T.Private.Cover_Show)) }); var i = o._originalPlaybackRate || o.tag.playbackRate; setTimeout(function () { o.tag && (o.tag.playbackRate = i) }) } }, P.prototype._extraMultiSources = function () { var e = this._options.source; if (e && -1 < e.indexOf("{") && -1 < e.indexOf("}")) { var t = ""; try { t = JSON.parse(e) } catch (e) { console.error(e), console.error("\u5730\u5740json\u4e32\u683c\u5f0f\u4e0d\u5bf9") } var i = []; for (var r in t) { var o = c.QualityLevels[r]; i.push({definition: r, Url: t[r], desc: o || r}) } if (0 < i.length) { this._currentPlayIndex = p.findSelectedStreamLevel(i); var n = i[this._currentPlayIndex]; this._urls = i, this._options.source = n.Url, this.trigger(T.Private.SourceLoaded, n) } } }, P.prototype._isEnabledAILabel = function () { return this._options.ai && this._options.ai.label }, P.prototype._createService = function () { if (x) for (var e = x.length, t = 0; t < e; t++) { var i = x[t], r = i.condition; void 0 === r ? r = !0 : "function" == typeof r && (r = r.call(this)), r && (this[i.name] = new i.service(this)) } }, P.prototype._disposeService = function () { if (x) for (var e = x.length, t = 0; t < e; t++) { var i = this[x[t].name]; void 0 !== i && i.dispose && i.dispose() } }, P.prototype._executeReadyCallback = function () { try { this._options.autoplay || this._options.preload || (this.trigger(T.Private.H5_Loading_Hide), this.trigger(T.Private.Play_Btn_Show)), this._options.readyCallback(this) } catch (e) { console.log(e) } }, P.prototype._clearTimeout = function () { this._checkTimeoutHandle && (clearTimeout(this._checkTimeoutHandle), this._checkTimeoutHandle = null), this._waitingTimeoutHandle && (clearTimeout(this._waitingTimeoutHandle), this._waitingTimeoutHandle = null), this._clearLiveErrorHandle() }, P.prototype._reloadForVod = function () { if (this._originalSource || (this._originalSource = this._options.source), this._vodRetryCount < this._options.vodRetry && navigator.onLine) { var e = this.getCurrentTime(), t = this._originalSource; t.indexOf("auth_key=") < 0 && (t = t && 0 < t.indexOf("?") ? t + "&_t=" + (new Date).valueOf() : t + "?_t=" + (new Date).valueOf()), this._vodRetryCountHandle && clearTimeout(this._vodRetryCountHandle); var i = this; return console.log("_reloadForVod"), this._vodRetryCountHandle = setTimeout(function () { console.log("reload vod because failed"), i._loadByUrlInner(t, e, !0) }, 100 * this._vodRetryCount), this._vodRetryCount = this._vodRetryCount + 1, !0 } return !1 }, t.exports = P }, { "../../commonui/autostreamselector": 2, "../../config": 5, "../../feature/autoPlayDelay": 7, "../../lang/index": 11, "../../lib/constants": 15, "../../lib/cookie": 16, "../../lib/dom": 18, "../../lib/event": 19, "../../lib/io": 24, "../../lib/object": 26, "../../lib/playerutil": 29, "../../lib/ua": 31, "../../lib/util": 33, "../../monitor/monitor": 38, "../../ui/component": 94, "../../ui/component/cover": 98, "../../ui/component/play-animation": 104, "../../ui/component/progressmarker": 107, "../../ui/exports": 124, "../service/export": 87, "./event/eventmanager": 42, "./event/eventtype": 43, "./plugin/lifecyclemanager": 65, "./x5play": 67 }], 63: [function (e, t, i) { var r = e("../../../lib/oo").extend({}); t.exports = r }, {"../../../lib/oo": 27}], 64: [function (e, t, i) { t.exports = { createEl: "createEl", created: "created", ready: "ready", loading: "loading", play: "play", pause: "pause", playing: "playing", waiting: "waiting", timeUpdate: "timeupdate", error: "error", ended: "ended", dispose: "dispose", markerDotOver: "markerDotOver", markerDotOut: "markerDotOut" } }, {}], 65: [function (e, t, i) { var constr,args; var s = e("../../../lib/object"), u = e("../event/eventtype"), c = e("./lifecycle"), r = e("./status"), o = function (t) { (this._player = t)._status = "init", this.components = []; var e = t.getOptions().components; if (e && s.isArray(e) && 0 < e.length) for (var i = 0; i < e.length; i++) { var r = e[i]; if (!r) return void console.log("The " + i + " custome component is " + r); if (constr = void 0 === r.type ? r : r.type, args = void 0 === r.args ? [] : r.args, name = void 0 === r.name ? "" : r.name, !constr) return void console.log(name + " compenent is " + constr); args && 0 < args.length ? args = [].concat.call([constr], args) : args = []; var o = new (Function.prototype.bind.apply(constr, args)), n = o[c.createEl]; n && "function" == typeof n && n.call(o, t.el(), t), this.components.push({name: name, obj: o}) } var a = this; t.on(u.Private.LifeCycleChanged, function (e) { 0 != a.components.length && l.call(a, t, e) }) }; o.prototype.getComponent = function (e) { var t = null, i = this.components.length; if (e) for (var r = 0; r < i; r++) if (this.components[r].name == e) { t = this.components[r].obj; break } return t }; var l = function (e, t) { if (t) { var i = t.paramData, r = i.type, o = i.data; (function (e) { return e == u.Video.LoadStart || e == u.Video.LoadedData || e == u.Video.LoadedMetadata })(r) && (r = c.loading), d(e, r); for (var n = this.components.length, a = 0; a < n; a++) { var s = this.components[a].obj, l = s[r]; l && "function" == typeof l && l.call(s, e, o) } r == u.Private.Dispose && (this.components = []) } }, d = function (e, t) { void 0 !== r[t] && (t != r.pause || e._status != r.error && e._status != r.ended) && (e._status = t) }; t.exports = o }, {"../../../lib/object": 26, "../event/eventtype": 43, "./lifecycle": 64, "./status": 66}], 66: [function (e, t, i) { t.exports = { init: "init", ready: "ready", loading: "loading", play: "play", pause: "pause", playing: "playing", waiting: "waiting", error: "error", ended: "ended" } }, {}], 67: [function (e, t, i) { var r = e("../../lib/ua"), o = e("../../lib/dom"), n = function (e, t) { var i = e.el().style.height, r = e.el().style.width; e.originalLayout = { container: {height: i, width: r}, video: {width: e.tag.style.width, height: e.tag.style.height} }; var o = document.body.clientHeight * (window.devicePixelRatio || 1) + "px", n = document.body.clientWidth + "px"; t ? (height = o, width = n) : (height = i.indexOf("%") ? i : i + "px", width = r.indexOf("%") ? r : r + "px"), e.tag.style.width = n, e.tag.style.height = o, e.el().style.height = t ? o : height }; t.exports.isAndroidX5 = function () { return r.os.android && r.is_X5 || r.dingTalk() }, t.exports.adaptX5Play = function (e) { r.os.android && r.is_X5 && ("h5" == e._options.x5_type && (e.tag.setAttribute("x5-video-player-type", e._options.x5_type), window.onresize = function () { n(e, e._options.x5_fullscreen || "center" == e._options.x5_video_position), function (e) { if ("landscape" == e._x5VideoOrientation) { e._originalTagWidth = e.tag.style.width, e._originalTagHeight = e.tag.style.height; var t = document.querySelector("#" + e.id() + " .prism-controlbar"); t && parseFloat(t.offsetHeight), e.tag.style.height = "100%", e.tag.style.width = window.screen.width + "px" } }(e) }, e.tag.addEventListener("x5videoenterfullscreen", function () { n(e, e._options.x5_fullscreen || "center" == e._options.x5_video_position), e.trigger("x5requestFullScreen") }), e.tag.addEventListener("x5videoexitfullscreen", function () { !function (e, t) { if (e.originalLayout) { var i = e.originalLayout; e.el().style.height = i.container.height, e.el().style.width = i.container.width, e.tag.style.width = i.video.width, e.tag.style.height = i.video.height } }(e), e.trigger("x5cancelFullScreen"), e.fullscreenService.getIsFullScreen() && e.fullscreenService.cancelFullScreen() }), e.on("requestFullScreen", function () { "top" == e._options.x5_video_position && o.removeClass(e.tag, "x5-top-left"), r.os.android && r.is_X5 && e._options.x5LandscapeAsFullScreen && (e.tag.setAttribute("x5-video-orientation", "landscape"), e._x5VideoOrientation = "landscape") }), e.on("cancelFullScreen", function () { "top" == e._options.x5_video_position && o.addClass(e.tag, "x5-top-left"), r.os.android && r.is_X5 && e._options.x5LandscapeAsFullScreen && (e.tag.setAttribute("x5-video-orientation", "portrait"), n(e, e._options.x5_fullscreen || "center" == e._options.x5_video_position), e._x5VideoOrientation = "portrait") })), void 0 !== e._options.x5_fullscreen && e._options.x5_fullscreen && (e.tag.setAttribute("x5-video-player-fullscreen", e._options.x5_fullscreen), o.addClass(e.tag, "x5-full-screen")), "top" == e._options.x5_video_position && o.addClass(e.tag, "x5-top-left"), void 0 !== e._options.x5_orientation && e.tag.setAttribute("x5-video-orientation", e._options.x5_orientation)) } }, {"../../lib/dom": 18, "../../lib/ua": 31}], 68: [function (e, t, i) { var c = e("../../lib/io"), d = e("../../config"), p = e("../../lib/constants"), h = e("../../lib/util"), f = e("../../lib/playerutil"), _ = (e("../../lib/dom"), e("../../lang/index")), g = e("../base/event/eventtype"), y = e("../saas/drm"); t.exports.inject = function (e, t, i, r, a, o, n) { var s = r.source; if (o || function (e, t) { return !(e._drm || !f.isDash(t)) }(e, s)) { t.prototype._checkDrmReady = function () { if (null == e._drm) throw new Error("please invoke this method after ready event") }, e._isDrm = !0, e._drm = null, e._isLoadedDrm = !1, t.prototype.play = function (e) { this._checkDrmReady(), this._isManualPlay = e || !1; if (this.trigger(g.Private.Cover_Hide), this.tag.ended) this.replay(); else { this.getCurrentTime(); this.tag.paused && this.tag.play() } return this }, t.prototype.replay = function () { if (this.tag.paused) { this._monitor && this._monitor.replay(); var e = this; this._drm.load(this._options.source).then(function () { e._options._autoplay = !0, e._initPlayBehavior(!0), console.log("The video has now been loaded!") })["catch"](u) } return this }, t.prototype.pause = function (e) { return this._checkDrmReady(), this._isManualPause = e || !1, this.tag.pause(), this }, t.prototype.stop = function () { return this._checkDrmReady(), this.tag.setAttribute("src", null), this }, t.prototype.initPlay = function (e) { if (h.contentProtocolMixed(s)) { var t = { mediaId: this._options.vid ? this._options.vid : "", error_code: p.ErrorCode.InvalidSourceURL, error_msg: "InvalidSourceURL" }; return t.display_msg = _.get("Request_Block_Text"), void this.trigger(g.Player.Error, t) } function i(i, t) { var r = !i._drm, o = function () { l(i, i._drm); var e = {drm: {requestLicenseKey: y.requestLicenseKey(i), servers: {}}}; p.DRMKeySystem[4] && (e.drm.servers[p.DRMKeySystem[5]] = "https://foo.bar/drm/widevine", e.drm.servers[p.DRMKeySystem[4]] = "https://foo.bar/drm/playready"), i._drm.configure(e), a && a(i._drm), r && i._executeReadyCallback(), i._drm.load(i._options.source).then(function () { i._initPlayBehavior(t), console.log("The video has now been loaded!") })["catch"](function (e) { u(i, e) }) }, n = function (e) { if (!e || i.__support && i.__support.drm[e]) o(); else { var t = { mediaId: i._options.vid ? i._options.vid : "", error_code: p.ErrorCode.EncrptyVideoNotSupport, error_msg: _.get("Not_Support_DRM") }; i.trigger(g.Player.Error, t) } }; i.destroy(function (t) { try { t._drm = new shaka.Player(t.tag); var e = t._getItemBySource(); if (e) { var i = p.DRMKeySystem[e.encryptionType]; t.__support ? n(i) : shaka.Player.probeSupport().then(function (e) { t.__support = e, n(i) }) } else o() } catch (e) { console.log(e) } }) } (that = this)._isLoadedDrm && "undefined" != typeof shaka ? i(this, e) : (this.trigger(g.Private.H5_Loading_Show), function (e) { var t = "aliplayer-drm-min.js", i = "https://" + d.domain + "/de/prismplayer/" + d.h5Version + "/drm/" + t; d.domain ? -1 < d.domain.indexOf("g-assets.daily") ? i = "http://" + d.domain + "/de/prismplayer/" + d.h5Version + "/drm/" + t : -1 < d.domain.indexOf("localhost") && (i = "http://" + d.domain + "/build/drm/" + t) : i = "de/prismplayer/" + d.h5Version + "/drm/" + t; var r = this; c.loadJS(i, function () { shaka.polyfill.installAll(), e.apply(r) }) }.call(that, function () { this._isLoadedDrm = !0, i(this, e) })) }, t.prototype.destroy = function (e) { if (this._drm) { var t = this; this._drm.destroy().then(function () { t._drm = null, e(t) }) } else e(this) }, t.prototype.dispose = function () { i.dispose.call(this), this.destroy() }, t.prototype._getDRMEncryptItem = function () { var e = this._urls; if (e && 0 < e.length) { for (var t = e.length, i = 0; i < t; i++) { var r = e[i]; if (r.Url == this._options.source && 1 * r.encryption) return r } return "" } return "" }, t.prototype._getItemBySource = function () { var e = this._urls; if (e && 0 < e.length) { for (var t = e.length, i = 0; i < t; i++) { var r = e[i]; if (r.Url == this._options.source) return r } return "" } return "" }; var l = function (t, e) { e.addEventListener("error", function (e) { !function (e, t) { u(e, t.detail) }(t, e) }) } } function u(t, i) { var r = "Error code:" + i.code + "message:" + i.message; console.log(r); var o = p.ErrorCode.OtherError; r = _.get("Error_Play_Text"); i.code == shaka.util.Error.Code.EXPIRED ? (o = p.ErrorCode.AuthKeyExpired, r = _.get("DRM_License_Expired")) : i.code == shaka.util.Error.Code.HTTP_ERROR ? (o = p.ErrorCode.NetworkError, r = _.get("Http_Error")) : i.code == shaka.util.Error.Code.HTTP_ERROR ? (o = p.ErrorCode.LoadingTimeout, r = _.get("Http_Timeout")) : i.category == shaka.util.Error.NETWORK && (o = p.ErrorCode.NetworkError, r = _.get("Error_Network_Text")); !function () { if (setTimeout(function () { t.trigger(g.Private.Play_Btn_Hide) }), t.checkOnline()) { var e = {mediaId: t._options.vid ? t._options.vid : "", error_code: o, error_msg: i.message}; t.logError(e), e.display_msg = i.code + "|" + r, t.trigger(g.Player.Error, e) } }() } } }, { "../../config": 5, "../../lang/index": 11, "../../lib/constants": 15, "../../lib/dom": 18, "../../lib/io": 24, "../../lib/playerutil": 29, "../../lib/util": 33, "../base/event/eventtype": 43, "../saas/drm": 76 }], 69: [function (e, t, i) { var r = e("../base/player"), o = e("./drminjector"), n = r.extend({ init: function (e, t) { o.inject(this, n, r.prototype, t, function (e) { }), t._native = !1, r.call(this, e, t) } }); t.exports = n }, {"../base/player": 62, "./drminjector": 68}], 70: [function (e, t, i) { var o = e("../../ui/component"), n = e("../../lib/data"), s = e("../../lib/ua"), a = e("../../lib/constants"), l = e("../../lib/dom"), u = e("../../lib/object"), c = e("../../config"), d = e("../../lang/index"), p = e("../../lib/playerutil"), h = e("../../lib/util"), r = e("../../ui/component/info-display"), f = e("../../ui/component/error-display"), _ = e("../../feature/autoPlayDelay"), g = e("../../commonui/autostreamselector"), y = e("../base/event/eventtype"), v = e("../saas/ststoken"), m = o.extend({ init: function (e, t) { if (void 0 === t.skinLayout && (t.skinLayout = p.defaultFlashLayout), o.call(this, this, t), this._id = "prism-player-" + n.guid(), this.tag = e, this._el = this.tag, this._childrenUI = [f], this.initChildren(), this.id = this._id, window[this.id] = this, d.setCurrentLanguage(this._options.language, "flash", this._options.languageTexts), h.openInFile()) { var i = { mediaId: this._options.vid ? this._options.vid : "", error_code: a.ErrorCode.FormatNotSupport, error_msg: d.get("Open_Html_By_File", "flash") }; this.trigger(y.Private.Error_Show, i) } else if (s.IS_MOBILE) this.trigger(y.Private.Error_Show, { mediaId: this._options.vid ? this._options.vid : "", error_code: a.ErrorCode.FormatNotSupport, error_msg: d.get("Cant_Use_Flash_On_Mobile", "flash") }); else { if (this._options.vid && this._options.accessKeyId && this._options.securityToken && this._options.accessKeySecret) { var r = this; v.getPlayAuth(this._options, function (e) { r._options.playauth = e, r._createPlayer() }, function (e) { var t = {mediaId: r._options.vid, error_code: e.Code, error_msg: e.Message}; e.sri && (t.sri = e.sri), t.display_msg = e.display_msg, r.trigger(y.Private.Error_Show, t) }, "flash") } else this._createPlayer(); this._status = "init" } }, _createPlayer: function () { if (this._options.autoPlayDelay) { var e = new _(this), t = this; e.handle(function () { t._options.autoplay = !0, t._initPlayer(), t._childrenUI = [r, g], t.initChildren() }) } else this._initPlayer(), this._childrenUI = [r, g], this.initChildren(); if (!s.HAS_FLASH) { var i = d.get("Flash_Not_Ready", "flash"); this.trigger(y.Private.Info_Show, {text: i, align: "tc", isBlack: !1}) } }, _initPlayer: function () { var e = "//" + c.domain + "/de/prismplayer-flash/" + c.flashVersion + "/PrismPlayer.swf"; this._options.playerSwfPath ? e = this._options.playerSwfPath : c.domain ? -1 < c.domain.indexOf("localhost") && (e = "//" + c.domain + "/build/flash//PrismPlayer.swf") : e = "de/prismplayer-flash/" + c.flashVersion + "/PrismPlayer.swf"; var t = this._comboFlashVars(), i = this._options.wmode ? this._options.wmode : "opaque"; this.tag.innerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="100%" height="100%" id="' + this.id + '"><param name=movie value="' + e + '"><param name=quality value=High><param name="FlashVars" value="' + t + '"><param name="WMode" value="' + i + '"><param name="AllowScriptAccess" value="always"><param name="AllowFullScreen" value="true"><param name="AllowFullScreenInteractive" value="true"><embed name="' + this.id + '" src="' + e + '" quality=high pluginspage="//www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="100%" height="100%" AllowScriptAccess="always" AllowFullScreen="true" AllowFullScreenInteractive="true" WMode="' + i + '" FlashVars="' + t + '"></embed></object>' }, _getPlayer: function (e) { return -1 != navigator.appName.indexOf("Microsoft") ? document.getElementById(e) : document[e] }, _getLowerQualityLevel: function () { var e = this._getVideoUrls(); if (!e) return ""; var t = e.Urls, i = e.index; return t && 0 == t.length || -1 == i ? "" : 0 < i ? {item: t[i - 1], index: i - 1} : "" }, _comboFlashVars: function () { var e = encodeURIComponent(s.getReferer()), t = s.getHref(), i = encodeURIComponent(t), r = ""; t && (r = s.getHost(t)); var o = this._options, n = { autoPlay: o.autoplay ? 1 : 0, isInner: 0, actRequest: 1, vid: o.vid, diagnosisButtonVisible: o.diagnosisButtonVisible ? 1 : 0, domain: o.domain ? o.domain : "//tv.taobao.com", statisticService: o.statisticService ? o.statisticService : c.logReportTo, videoInfoService: o.videoInfoService ? o.videoInfoService : "/player/json/getBaseVideoInfo.do", disablePing: o.trackLog ? 0 : 1, namespace: this.id, barMode: 0 != o.barMode ? 1 : 0, isLive: o.isLive ? 1 : 0, waterMark: o.waterMark, environment: o.environment, vurl: o.source ? encodeURIComponent(o.source) : "", plugins: o.plugins ? o.plugins : "", snapShotShow: o.snapshot ? 1 : 0, accessId: o.accId ? o.accId : "", accessKey: o.accSecret ? o.accSecret : "", apiKey: o.apiKey ? o.apiKey : "", flashApiKey: o.flashApiKey ? o.flashApiKey : "", disableSeek: o.disableSeek ? 1 : 0, disableFullScreen: o.disableFullScreen ? 1 : 0, stsToken: o.stsToken ? o.stsToken : "", domainRegion: o.domainRegion ? o.domainRegion : "", authInfo: o.authInfo ? encodeURIComponent(o.authInfo) : "", playDomain: o.playDomain ? o.playDomain : "", stretcherZoomType: o.stretcherZoomType ? o.stretcherZoomType : "", playauth: o.playauth ? o.playauth.replace(/\+/g, "%2B") : "", prismType: o.prismType ? o.prismType : 0, formats: o.formats ? o.formats : "", notShowTips: o.notShowTips ? 1 : 0, showBarTime: o.showBarTime ? o.showBarTime : 0, showBuffer: 0 == o.showBuffer ? 0 : 1, rePlay: o.rePlay ? 1 : 0, encryp: o.encryp ? o.encryp : "", secret: o.secret ? o.secret : "", mediaType: "video", logInfo: { ud: s.getHost(o.source), os: s.os.name, ov: s.os.version || "", et: s.browser.name, ev: s.browser.version || "", uat: s.USER_AGENT, r: e, pu: i, app_n: r } }, a = []; return void 0 !== o.rtmpBufferTime && (n.rtmpBufferTime = o.rtmpBufferTime), o.cover && (n.cover = o.cover), o.extraInfo && (n.extraInfo = encodeURIComponent(JSON.stringify(o.extraInfo))), n.logInfo && (n.logInfo = encodeURIComponent(JSON.stringify(n.logInfo))), n.languageData = encodeURIComponent(JSON.stringify(d.getLanguageData("flash"))), n.language = d.getCurrentLanguage(), u.each(n, function (e, t) { a.push(e + "=" + t) }), a.join("&") }, initChildren: function () { for (var e = this._childrenUI.length, t = 0; t < e; t++) { var i = new this._childrenUI[t](this, this._options), r = i.el(); r.id = i.id(), this.contentEl().appendChild(r), i.bindEvent() } var o = document.querySelector("#" + this._options.id + " .prism-info-display"); l.css(o, "display", "none") }, flashReady: function () { this.flashPlayer = this._getPlayer(this.id), this._isReady = !0; var e, t = this._options.skinRes, i = this._options.skinLayout; if (!1 !== i && !u.isArray(i)) throw new Error("PrismPlayer Error: skinLayout should be false or type of array!"); if ("string" != typeof t) throw new Error("PrismPlayer Error: skinRes should be string!"); e = 0 != i && 0 !== i.length && { skinRes: t, skinLayout: i }, this.flashPlayer.setPlayerSkin(e), this.trigger("ready"); var r = this; window.addEventListener("beforeunload", function () { try { r.flashPlayer.setPlayerCloseStatus() } catch (e) { } }) }, jsReady: function () { return !0 }, snapshoted: function (e) { var t = h.toBinary(e), i = "data:image/jpeg;base64," + e; this.trigger("snapshoted", {time: this.getCurrentTime(), base64: i, binary: t}) }, uiReady: function () { this._status = "ready", this.trigger("uiReady") }, loadedmetadata: function () { "ended" != this._status && (this._status = "loading", this.trigger("loadedmetadata")) }, onPlay: function () { this._status = "play", this.trigger("play"), this._clearTimeoutHandle(), this.trigger(y.Private.AutoStreamHide) }, onEnded: function () { this._clearTimeoutHandle(), this._status = "ended", this.trigger("ended") }, onPause: function () { this._status = "pause", this._clearTimeoutHandle(), this.trigger(y.Private.AutoStreamHide), this.trigger("pause") }, onBulletScreenReady: function () { this.trigger("bSReady") }, onBulletScreenMsgSend: function (e) { this.trigger("bSSendMsg", e) }, onVideoRender: function (e) { this._clearTimeoutHandle(), this.trigger("videoRender"), this.trigger("canplay", {loadtime: e}) }, onVideoError: function (e) { this._clearTimeoutHandle(), this._status = "error", this.trigger("error", {errortype: e}) }, onM3u8Retry: function () { this.trigger("m3u8Retry") }, hideBar: function () { this.trigger("hideBar") }, showBar: function () { this.trigger("showBar") }, liveStreamStop: function () { this.trigger("liveStreamStop") }, stsTokenExpired: function () { this._status = "error", this.trigger("stsTokenExpired") }, onVideoBuffer: function () { if ("pause" != this._status) { this._status = "waiting", this.trigger("waiting"), this._clearTimeoutHandle(); var e = this; this._checkTimeoutHandle = setTimeout(function () { e.trigger(y.Private.AutoStreamShow) }, 1e3 * this._options.loadDataTimeout), this._checkVideoStatus() } }, startSeek: function (e) { this.trigger("startSeek", e) }, completeSeek: function (e) { this.trigger("completeSeek", e) }, _invoke: function () { var e = arguments[0], t = arguments; if (Array.prototype.shift.call(t), !this.flashPlayer) throw new Error("PrismPlayer Error: flash player is not ready\uff0cplease use api after ready event occured!"); if ("function" != typeof this.flashPlayer[e]) throw new Error("PrismPlayer Error: function " + e + " is not found!"); return this.flashPlayer[e].apply(this.flashPlayer, t) }, play: function () { this._invoke("playVideo") }, replay: function () { this._invoke("replayVideo") }, pause: function () { this._invoke("pauseVideo") }, stop: function () { this._invoke("stopVideo") }, seek: function (e) { this._invoke("seekVideo", e) }, getCurrentTime: function () { return this._invoke("getCurrentTime") }, getDuration: function () { return this._invoke("getDuration") }, getStatus: function () { return this._status }, _getVideoUrls: function () { var e = this._invoke("getVideoUrls"), t = []; if (e && e.Urls) for (var i = 0; i < e.Urls.length; i++) { var r = e.Urls[i].value, o = r.desc.indexOf("_"), n = d.get(r.definition, "flash"); r.desc = 0 < o ? n + "_" + r.height : n, t.push(r) } return {Urls: t, index: e.index} }, _getVideoStatus: function () { return this._invoke("getVideoStatus") }, _checkVideoStatus: function () { if (this.flashPlayer && !this._checkVideoStatusHandler) { var t = this, i = function () { t._checkVideoStatusHandler = setTimeout(function () { var e = t._getVideoStatus(); "playing" == e.videoStatus && "bufferFull" == e.bufferStatus ? (t._status = "playing", t._clearTimeoutHandle()) : "videoPlayOver" == e.videoStatus && (t._status = "ended", t._clearTimeoutHandle()), i() }, 500) }; i() } }, _clearTimeoutHandle: function () { this._checkTimeoutHandle && (clearTimeout(this._checkTimeoutHandle), this._checkTimeoutHandle = null) }, _changeStream: function (e) { return this._invoke("changeStream", e) }, mute: function () { this.setVolume(0) }, unMute: function () { this.setVolume(.5) }, getVolume: function () { return this._invoke("getVolume") }, setVolume: function (e) { this._invoke("setVolume", e) }, loadByVid: function (e) { this._invoke("loadByVid", e, !1) }, loadByUrl: function (e, t) { this._invoke("loadByUrl", e, t) }, dispose: function () { this._clearTimeoutHandle(), this._checkVideoStatusHandler && (clearTimeout(this._checkVideoStatusHandler), this._checkVideoStatusHandler = null), this._invoke("pauseVideo"); var e = this; setTimeout(function () { e.off("completeSeek"), e.off("startSeek"), e.off("stsTokenExpired"), e.off("liveStreamStop"), e.off("showBar"), e.off("hideBar"), e.off("m3u8Retry"), e.off("error"), e.off("canplay"), e.off("pause"), e.off("ended"), e.off("play"), e.off("loadedmetadata"), e.off("snapshoted"), e.off("uiReady"), e.off("ready"), e.flashPlayer = null, e._el && (e._el.innerHTML = "") }) }, showBSMsg: function (e) { this._invoke("showBSMsg", e) }, setToastEnabled: function (e) { this._invoke("setToastEnabled", e) }, setLoadingInvisible: function () { this._invoke("setLoadingInvisible") }, setPlayerSize: function (e, t) { this._el.style.width = e, this._el.style.height = t } }); t.exports = m }, { "../../commonui/autostreamselector": 2, "../../config": 5, "../../feature/autoPlayDelay": 7, "../../lang/index": 11, "../../lib/constants": 15, "../../lib/data": 17, "../../lib/dom": 18, "../../lib/object": 26, "../../lib/playerutil": 29, "../../lib/ua": 31, "../../lib/util": 33, "../../ui/component": 94, "../../ui/component/error-display": 99, "../../ui/component/info-display": 102, "../base/event/eventtype": 43, "../saas/ststoken": 81 }], 71: [function (e, t, i) { var a = e("../../lib/io"), d = e("../../config"), p = e("../../lib/constants"), h = e("../../lib/util"), u = e("../../lib/playerutil"), c = (e("../../lib/dom"), e("../../lib/ua")), f = e("../../lang/index"), _ = e("../base/event/eventtype"); e("../base/player"); t.exports.inject = function (e, t, i, r, s, o) { var n = r.source; if (o || function (e, t) { return !(e._flv || !u.isFlv(t)) }(e, n)) { e._Type = t, e._superType = i, e._superPt = i.prototype, e._disposed = !1, t.prototype._checkFlvReady = function () { if (null == e._flv) throw new Error("please invoke this method after ready event") }, e._isFlv = !0, e._flv = null, e._isLoadedFlv = !1, e._originalUrl = "", t.prototype.play = function (e) { this._checkFlvReady(), this._isManualPlay = e || !1; if (this.trigger(_.Private.Cover_Hide), this._options.isLive && e) this._loadByUrlInner(this._options.source, 0, liveForceLoad); else if (this.tag.ended || this._ended) this.replay(); else { if (0 == this._seeking) { var t = 0; this.tag.ended || this._ended || 0 == (t = this.getCurrentTime()) && (t = -1), -1 != t && this.seek(t) } this.tag.paused && (this._hasLoaded || (this.getMetaData(), this._flv.load()), this._flv.play()) } return this }, t.prototype.seek = function (e) { this._checkFlvReady(), e === this.tag.duration && e--; try { this._flv.currentTime = e } catch (e) { console.log(e) } return this }, t.prototype.pause = function (e) { return this._checkFlvReady(), this._isManualPause = e || !1, this._flv.pause(), this }, t.prototype.getProgramDateTime = function () { if (this._checkFlvReady(), !this._metadata) return ""; var e = this._flv.getFirstSample(), t = e && e.pts ? e.pts : 0; return console.log("\u63a8\u6d41\u65f6\u95f4\uff1a" + this._metadata.NtpTime), console.log("\u9996\u5e27PTS\uff1a" + t), this._metadata.NtpTime + t }, t.prototype.initPlay = function (e) { if (c.browser.safari && this.trigger(_.Private.Snapshot_Hide), h.contentProtocolMixed(n)) { var t = { mediaId: this._options.vid ? this._options.vid : "", error_code: p.ErrorCode.InvalidSourceURL, error_msg: "InvalidSourceURL" }; return t.display_msg = f.get("Request_Block_Text"), void this.trigger(_.Player.Error, t) } function i(t, e) { var i = !t._flv; t._destroyFlv(); var r = t._options.isLive, o = {isLive: r, enableWorker: t._options.enableWorker, stashInitialSize: 2048}, n = {type: "flv", isLive: r, url: t._options.source}; for (var a in r ? (o.enableStashBuffer = t._options.enableStashBufferForFlv, stashInitialSize = t._options.stashInitialSizeForFlv, o.autoCleanupSourceBuffer = !1) : o.lazyLoadMaxDuration = 600, t._options.flvOption) "cors" == a || "hasAudio" == a || "withCredentials" == a || "hasVideo" == a || "type" == a ? n[a] = t._options.flvOption[a] : o[a] = t._options.flvOption[a]; t._originalUrl = t._options.source, flvjs.LoggingControl.enableAll = t._options.debug, t._flv = flvjs.createPlayer(n, o), l(t, t._flv), t._flv.on(flvjs.Events.MEDIA_INFO, function (e) { t._metadata = e.metadata }), t._flv.attachMediaElement(t.tag), t._initPlayBehavior(e) && ((t._options.preload || t._options.autoplay) && (t._hasLoaded = !0, t._flv.load()), t._options.autoplay && !t.tag.paused && t._flv.play(), s && s(t._flv), i && t._executeReadyCallback()) } (that = this)._isLoadedFlv && "undefined" != typeof Hls ? setTimeout(function () { i(that, e) }, 1e3) : (this.trigger(_.Private.H5_Loading_Show), function (e, t) { var i = "aliplayer-flv-min.js", r = "https://" + d.domain + "/de/prismplayer/" + d.h5Version + "/flv/" + i; d.domain ? -1 < d.domain.indexOf("g-assets.daily") ? r = "http://" + d.domain + "/de/prismplayer/" + d.h5Version + "/flv/" + i : -1 < d.domain.indexOf("localhost") && (r = "http://" + d.domain + "/build/flv/" + i) : r = "de/prismplayer/" + d.h5Version + "/flv/" + i; var o = this; a.loadJS(r, function () { e.apply(o) }) }.call(that, function () { this._isLoadedFlv = !0, i(that, e) }, this._options.debug)) }, t.prototype._destroyFlv = function () { try { this._flv && (this._flv.pause(), this._flv.destroy()) } catch (e) { console.log(e) } this.loaded = !1, this._hasLoaded = !1, this._flv = null }, t.prototype.dispose = function () { this._disposed || (this._disposed = !0, this._superPt && this._superPt.dispose.call(this), this._destroyFlv(), this._superPt && (t.prototype.play = this._superPt.play, t.prototype.pause = this._superPt.pause, t.prototype.initPlay = this._superPt.initPlay, t.prototype.seek = this._superPt.seek, t.prototype.canSeekable = this._superPt.canSeekable)) }, t.prototype.canSeekable = function (e) { var t = this._flv.mediaInfo; return !(!this._flv._isTimepointBuffered(e) && t && !t.hasKeyframesIndex) }; var l = function (u, e) { var c = !1; e.on(flvjs.Events.ERROR, function (e, t, i) { var r = p.ErrorCode.OtherError, o = f.get("Error_Play_Text"); if (t == flvjs.ErrorDetails.NETWORK_EXCEPTION) { var n = u.getOptions().source; !n || 0 != n.toLowerCase().indexOf("http://") && 0 != n.toLowerCase().indexOf("https://") ? (r = p.ErrorCode.InvalidSourceURL, o = f.get("Error_Invalidate_Source_Widthout_Protocal"), c = !0) : o = navigator.onLine ? (r = p.ErrorCode.RequestDataError, f.get("Maybe_Cors_Error")) : (r = p.ErrorCode.NetworkError, f.get("Error_Network_Text")) } else t == flvjs.ErrorDetails.NETWORK_STATUS_CODE_INVALID ? "404" == i.code ? (r = p.ErrorCode.NotFoundSourceURL, o = f.get("Error_Not_Found")) : "403" == i.code ? (r = p.ErrorCode.AuthKeyExpired, o = f.get("Error_AuthKey_Text"), c = !0) : (r = p.ErrorCode.NetworkError, o = f.get("Error_Network_Text")) : t == flvjs.ErrorDetails.NETWORK_TIMEOUT ? (r = p.ErrorCode.LoadingTimeout, o = f.get("Error_Waiting_Timeout_Text")) : t != flvjs.ErrorDetails.MEDIA_FORMAT_UNSUPPORTED && t != flvjs.ErrorDetails.MEDIA_CODEC_UNSUPPORTED || (r = p.ErrorCode.FormatNotSupport, o = f.get("Error_H5_Not_Support_Text"), c = !0); var a = function () { if (setTimeout(function () { u.trigger(_.Private.Play_Btn_Hide) }), u.checkOnline()) { var e = { mediaId: u._options && u._options.vid ? u._options.vid : "", error_code: r, error_msg: i.msg }; u.logError(e), e.display_msg = o, d.cityBrain && (u.flv = null), u.trigger(_.Player.Error, e) } }; if (u._options && u._options.isLive && !c) { var s = u._options; if (s.liveRetry > u._liveRetryCount) { 0 == u._liveRetryCount && u.trigger(_.Player.OnM3u8Retry); var l = s.liveRetryInterval + s.liveRetryStep * u._liveRetryCount; u._liveRetryCount++, h.sleep(1e3 * l), u._loadByUrlInner(s.source) } else u._liveErrorHandle && clearTimeout(u._liveErrorHandle), u.trigger(_.Player.LiveStreamStop), u._liveErrorHandle = setTimeout(a, 500) } else { if (u._reloadForVod()) return; a() } }) } } } }, { "../../config": 5, "../../lang/index": 11, "../../lib/constants": 15, "../../lib/dom": 18, "../../lib/io": 24, "../../lib/playerutil": 29, "../../lib/ua": 31, "../../lib/util": 33, "../base/event/eventtype": 43, "../base/player": 62 }], 72: [function (e, t, i) { var r = e("../base/player"), o = e("./flvinjector"), n = r.extend({ init: function (e, t) { o.inject(this, n, r, t, function (e) { }), t._native = !1, r.call(this, e, t) } }); t.exports = n }, {"../base/player": 62, "./flvinjector": 71}], 73: [function (e, t, i) { var c = e("../../lib/io"), d = e("../../config"), p = e("../../lib/constants"), h = e("../../lib/util"), f = e("../../lib/playerutil"), _ = (e("../../lib/dom"), e("../../lib/ua")), g = e("../../lang/index"), y = e("../base/event/eventtype"); e("../base/player"); t.exports.inject = function (e, t, i, r, n, o) { var a = r.source, s = r.useHlsPluginForSafari, l = r.useHlsPlugOnMobile; if (n || o || function (e, t, i, r) { return !(e._hls || !f.isHls(t) || !(!f.canPlayHls() || f.isSafariUsedHlsPlugin(i) || r && f.isUsedHlsPluginOnMobile())) }(e, a, s, l)) { e._Type = t, e._superType = i, e._superPt = i.prototype, e._disposed = !1, t.prototype._checkHlsReady = function () { if (null == e._hls) throw new Error("please invoke this method after ready event") }, e._isHls = !0, e._hls = null, e._isLoadedHls = !1, e._stopLoadAsPaused = !0, t.prototype.play = function (e) { this._checkHlsReady(), this._isManualPlay = e || !1; if (this.trigger(y.Private.Cover_Hide), this._options.autoplay || this._options.preload || this._loadSourced || (this._loadSourced = !0, this._options._autoplay = !0, this._hls.loadSource(this._options.source)), this.tag.ended || this._ended) this.replay(); else if (this.tag.paused && (this.tag.play(), this._stopLoadAsPaused)) { var t = this.getCurrentTime(); this._hls.startLoad(t) } return this }, t.prototype.replay = function () { return this._monitor && this._monitor.replay(), this._hls.startLoad(0), this.tag.play(), this }, t.prototype.pause = function (e) { return this.tag && (this._checkHlsReady(), this.tag.pause(), this._stopLoadAsPaused && this._hls.stopLoad()), this._isManualPause = e || !1, this }, t.prototype.stop = function () { return this._checkHlsReady(), this.tag.setAttribute("src", null), this._hls.stopLoad(), this }, t.prototype.seek = function (e) { this._checkHlsReady(); try { this._superPt.seek.call(this, e), this.tag.paused && this._stopLoadAsPaused && this._hls.startLoad(e) } catch (e) { console.log(e) } return this }, t.prototype.getProgramDateTime = function () { if (this._checkHlsReady(), -1 == this._hls.currentLevel) return ""; var e = this._hls.currentLevel, t = this._hls.levels[e].details; if (t) { var i = t.programDateTime; if (console.log("ProgramDateTime=" + i), i) return new Date(i).valueOf() } return 0 }, t.prototype._reloadAndPlayForM3u8 = function () { 0 == this._liveRetryCount && this.trigger(y.Player.OnM3u8Retry), this._liveRetryCount++ }, t.prototype._switchLevel = function (e) { this.trigger(y.Player.LevelSwitch); for (var t = this._hls.levels, i = 0; i < t.length; i++) if (t[i].url == e) { this._hls.currentLevel = i; break } this._switchedLevel = !0; var r = this; setTimeout(function () { r.trigger(y.Player.LevelSwitched), this._switchedLevel = !1 }, 1e3) }, t.prototype.initPlay = function (e) { if (h.contentProtocolMixed(a)) { var t = { mediaId: this._options.vid ? this._options.vid : "", error_code: p.ErrorCode.InvalidSourceURL, error_msg: "InvalidSourceURL" }; return t.display_msg = g.get("Request_Block_Text"), void this.trigger(y.Player.Error, t) } function i(a, e) { var t = !a._hls; a._destroyHls(); var i = { xhrSetup: function (e, t) { e.withCredentials = a._options.withCredentials || !1 } }, r = a._options.loadingTimeOut || a._options.hlsLoadingTimeOut; for (var o in r && (i.manifestLoadingTimeOut = r, i.levelLoadingTimeOut = r, i.fragLoadingTimeOut = r), a._options.nudgeMaxRetry && (i.nudgeMaxRetry = a._options.nudgeMaxRetry), a._options.maxMaxBufferLength && (i.maxMaxBufferLength = a._options.maxMaxBufferLength), a._options.maxBufferSize && (i.maxBufferSize = a._options.maxBufferSize), a._options.maxBufferLength && (i.maxBufferLength = a._options.maxBufferLength), n && (i._sce_dlgtqredxx = n), i.enableWorker = a._options.enableWorker, i.debug = a._options.debug, a._stopLoadAsPaused = a._options.hlsOption.stopLoadAsPaused, a._options.hlsOption) i[o] = a._options.hlsOption[o]; _.IS_IE11 && n && (i.enableWorker = !1), a._hls = new Hls(i), u(a, a._hls), a._loadSourced = !1, a._hls.attachMedia(a.tag), a._hls.on(Hls.Events.MEDIA_ATTACHED, function () { (a._options.autoplay || a._options.preload || e) && (a._loadSourced = !0, a._hls.loadSource(a._options.source)), a._hls.on(Hls.Events.MANIFEST_PARSED, function () { a._initPlayBehavior(e || a._loadSourced) }), a._hls.on(Hls.Events.AUDIO_TRACKS_UPDATED, function (e, t) { a.trigger(y.Player.AudioTrackUpdated, t) }), a._hls.on(Hls.Events.MANIFEST_LOADED, function (e, t) { a.trigger(y.Player.LevelsLoaded, t) }), a._hls.on(Hls.Events.LEVEL_SWITCHED, function (e, t) { if (a._qualityService) { for (var i = a._hls.levels[t.level].url, r = a._qualityService.levels, o = "", n = 0; n < r.length; n++) if (r[n].Url == i) { o = r[n].desc; break } o && a.trigger(y.Private.QualityChange, {levelSwitch: !0, url: i, desc: o}) } }), a._hls.on(Hls.Events.AUDIO_TRACK_SWITCH, function (e, t) { a.trigger(y.Player.AudioTrackSwitch, t), setTimeout(function () { a.trigger(y.Player.AudioTrackSwitched, t) }, 1e3) }), t && a._executeReadyCallback() }) } this._isLoadedHls && "undefined" != typeof Hls ? i(this, e) : (this.trigger(y.Private.H5_Loading_Show), function (e, t, i) { var r = "aliplayer-hls-min.js", o = "https://" + d.domain + "/de/prismplayer/" + d.h5Version + "/hls/" + r; d.domain ? -1 < d.domain.indexOf("g-assets.daily") ? o = "http://" + d.domain + "/de/prismplayer/" + d.h5Version + "/hls/" + r : -1 < d.domain.indexOf("localhost") && (o = "http://" + d.domain + "/build/hls/" + r) : o = "de/prismplayer/" + d.h5Version + "/hls/" + r; var n = this; c.loadJS(o, function () { e.apply(n) }) }.call(this, function () { this._isLoadedHls = !0, i(this, e) }, this._options.debug)) }, t.prototype._destroyHls = function () { this._hls && this._hls.destroy(), this._hls = null }, t.prototype.dispose = function () { this._disposed || (this._disposed = !0, this._superPt && this._superPt.dispose.call(this), this._destroyHls(), this._superPt && (t.prototype.play = this._superPt.play, t.prototype.pause = this._superPt.pause, t.prototype.initPlay = this._superPt.initPlay, t.prototype.replay = this._superPt.replay, t.prototype.stop = this._superPt.stop, t.prototype.seek = this._superPt.seek)) }; var u = function (l, e) { e.on(Hls.Events.ERROR, function (e, t) { if (l._options && t.details != Hls.ErrorDetails.FRAG_LOOP_LOADING_ERROR && 1 != l._seeking && (0 != t.fatal || t.type == Hls.ErrorTypes.NETWORK_ERROR)) { l._clearTimeout(); var i = p.ErrorCode.LoadedMetadata, r = g.get("Error_Play_Text"), o = !1; if (t.details == Hls.ErrorDetails.MANIFEST_LOAD_ERROR) { o = !0; t.networkDetails; r = t.response ? "404" == t.response.code ? (i = p.ErrorCode.NotFoundSourceURL, g.get("Error_Not_Found")) : "403" == t.response.code ? (i = p.ErrorCode.AuthKeyExpired, g.get("Error_AuthKey_Text")) : "0" == t.response.code && navigator.onLine ? (i = p.ErrorCode.RequestDataError, r + "\uff0c" + g.get("Maybe_Cors_Error")) : g.get("Error_Load_M3U8_Failed_Text") : g.get("Error_Load_M3U8_Failed_Text") } else t.details == Hls.ErrorDetails.MANIFEST_LOAD_TIMEOUT ? (o = !0, r = g.get("Error_Load_M3U8_Timeout_Text")) : t.details == Hls.ErrorDetails.MANIFEST_PARSING_ERROR || t.details == Hls.ErrorDetails.MANIFEST_INCOMPATIBLE_CODECS_ERROR ? (o = !0, r = g.get("Error_M3U8_Decode_Text")) : t.type == Hls.ErrorTypes.NETWORK_ERROR ? (i = p.ErrorCode.NetworkError, r = g.get("Error_Network_Text")) : t.type != Hls.ErrorTypes.MUX_ERROR && t.type != Hls.ErrorTypes.MEDIA_ERROR || (i = p.ErrorCode.PlayDataDecode, r = g.get("Error_TX_Decode_Text")); r = r + "(" + t.details + ")"; var n = function () { if (l.pause(), setTimeout(function () { l.trigger(y.Private.Play_Btn_Hide) }), l.checkOnline()) { var e = { mediaId: l._options && l._options.vid ? l._options.vid : "", error_code: i, error_msg: t.details }; l.logError(e), e.display_msg = r, l.trigger(y.Player.Error, e) } }; if (l._options && l._options.isLive) { var a = l._options; if (a.liveRetry > l._liveRetryCount) { 0 == l._liveRetryCount && l.trigger(y.Player.OnM3u8Retry); var s = a.liveRetryInterval + a.liveRetryStep * l._liveRetryCount; l._liveRetryCount++, h.sleep(1e3 * s), o && l._loadByUrlInner(l._options.source, 0, !0) } else l._liveErrorHandle && clearTimeout(l._liveErrorHandle), l.trigger(y.Player.LiveStreamStop), l._liveErrorHandle = setTimeout(n, 500) } else { if (l._reloadForVod()) return; n() } } }) } } } }, { "../../config": 5, "../../lang/index": 11, "../../lib/constants": 15, "../../lib/dom": 18, "../../lib/io": 24, "../../lib/playerutil": 29, "../../lib/ua": 31, "../../lib/util": 33, "../base/event/eventtype": 43, "../base/player": 62 }], 74: [function (e, t, i) { var r = e("../base/player"), o = e("./hlsinjector"), n = r.extend({ init: function (e, t) { t._native = !1, o.inject(this, n, r, t), r.call(this, e, t) } }); t.exports = n }, {"../base/player": 62, "./hlsinjector": 73}], 75: [function (e, t, i) { var r = e("../../lib/constants"), o = e("../../lib/oo").extend({ init: function (e) { this.player = e, this.tickhandle = null } }); o.prototype.tick = function (e, t) { var i = this; this.tickhandle = setTimeout(function () { i.player && i.player.trigger(r.AuthKeyExpiredEvent), t && t() }, 1e3 * e) }, o.prototype.clearTick = function (e) { this.tickhandle && clearTimeout(this.tickhandle) }, t.exports = o }, {"../../lib/constants": 15, "../../lib/oo": 27}], 76: [function (e, t, i) { var l = e("../../lib/io"), u = (e("../../lib/ua"), e("../../lib/bufferbase64")), c = e("../../lib/constants"), d = e("./signature"), p = e("./util"), h = e("../../lang/index"), f = function (e, r, o) { var t = d.randomUUID(), i = "https://mts." + e.domainRegion + ".aliyuncs.com/?", n = { AccessKeyId: e.accessId, Action: "GetLicense", MediaId: e.vid, LicenseUrl: i, data: e.data, SecurityToken: e.stsToken, Format: "JSON", Type: e.encryptionType, Version: "2014-06-18", SignatureMethod: "HMAC-SHA1", SignatureVersion: "1.0", SignatureNonce: t }; e.header && (n.Header = e.header); var a = i + ("Signature=" + d.AliyunEncodeURI(d.makeChangeSiga(n, e.accessSecret, "POST"))), s = d.makeUTF8sort(n, "=", "&"); l.post(a, s, function (e) { if (e) { var t = JSON.parse(e); if (r) { var i = t.License; r(i) } } else o && o(p.createError("MPS\u83b7\u53d6License\u5931\u8d25")) }, function (e) { if (o) { var t = {Code: "", Message: h.get("Error_MTS_Fetch_Urls_Text")}; try { t = JSON.parse(e) } catch (e) { } o({Code: c.ErrorCode.ServerAPIError, Message: t.Code + "|" + t.Message, sri: t.requestId || ""}) } }) }; t.exports.requestLicenseKey = function (e) { var l = e; return l._options.vid && (l.__vid = l._options.vid), function (e, i) { var t = l._options, r = l._getDRMEncryptItem(); if (r) { var o = { vid: l.__vid, accessId: t.accId, accessSecret: t.accSecret, stsToken: t.stsToken, domainRegion: t.domainRegion, authInfo: t.authInfo, encryptionType: r.encryptionType }; if (r.encryptionType == c.EncryptionType.Widevine) o.data = u.encode(e.message); else if (r.encryptionType == c.EncryptionType.PlayReady) { var n = u.unpackPlayReady(e.message); o.data = n.changange, n.header && (o.header = JSON.stringify(n.header)) } console.log(o.data); var a = l.__licenseKeys, s = l.__vid + r.Url; a && a[s], f(o, function (e) { l.__licenseKeys || (l.__licenseKeys = {}), 10 < o.data.length && (l.__licenseKeys[s] = e); var t = u.decode(e); i(t) }, function (e) { var t = {mediaId: l.__vid, error_code: e.Code, error_msg: e.Message}; l.logError(t), l.trigger("error", t) }) } } } }, { "../../lang/index": 11, "../../lib/bufferbase64": 13, "../../lib/constants": 15, "../../lib/io": 24, "../../lib/ua": 31, "./signature": 80, "./util": 82 }], 77: [function (e, t, i) { var n = e("../../lib/io"), u = e("../../lib/constants"), c = e("./signature"), d = e("./util"), p = e("../../lang/index"), h = e("../../lib/ua"); var f = function (e, o) { var t = ""; e.sort(function (e, t) { var i = parseInt(e.bitrate), r = parseInt(t.bitrate); if ("desc" == o) { if (r < i) return -1; if (i < r) return 1 } else { if (i < r) return -1; if (r < i) return 1 } }); for (var i = e.length, r = 0; r < i; r++) { var n = e[r], a = u.QualityLevels[n.definition], s = ""; s = void 0 === a ? n.bitrate : t == a ? a + n.bitrate : a, n.desc = s, t = a } }, _ = function (e, o) { var t = ""; e.sort(function (e, t) { var i = parseInt(e.width), r = parseInt(t.width); if ("desc" == o) { if (r < i) return -1; if (i < r) return 1 } else { if (i < r) return -1; if (r < i) return 1 } }); for (var i = e.length, r = 0; r < i; r++) { var n = e[r], a = u.QualityLevels[n.definition], s = ""; s = void 0 === a ? "" : t == a ? a + n.height : a, n.desc = s, t = a } }; t.exports.getDataByAuthInfo = function (e, a, s, l) { c.returnUTCDate(), c.randomUUID(); var t = c.randomUUID(), i = { AccessKeyId: e.accessId, Action: "PlayInfo", MediaId: e.vid, Formats: e.format, AuthInfo: e.authInfo, AuthTimeout: e.authTimeout || u.AuthKeyExpired, IncludeSnapshotList: e.includeSnapshotList, Rand: e.rand, SecurityToken: e.stsToken, Format: "JSON", Version: "2014-06-18", SignatureMethod: "HMAC-SHA1", SignatureVersion: "1.0", Terminal: h.IS_CHROME ? "Chrome" : h.IS_EDGE ? "Edge" : h.IS_IE11 ? "IE" : h.IS_SAFARI ? "Safari" : h.IS_FIREFOX ? "Firefox" : "", SignatureNonce: t }, r = c.makeUTF8sort(i, "=", "&") + "&Signature=" + c.AliyunEncodeURI(c.makeChangeSiga(i, e.accessSecret)), o = "https://mts." + e.domainRegion + ".aliyuncs.com/?" + r; n.get(o, function (e) { if (e) { var t = JSON.parse(e), i = t.PlayInfoList.PlayInfo, r = t.SnapshotList ? t.SnapshotList.Snapshot : [], o = ""; r && 0 < r.length && (o = r[0].Url); var n = function (e, t) { for (var i = [], r = [], o = [], n = [], a = e.length - 1; 0 <= a; a--) { var s = e[a]; "mp4" == s.format ? r.push(s) : "mp3" == s.format ? o.push(s) : "m3u8" == s.format ? i.push(s) : n.push(s) } return 0 < o.length ? (f(o, t), o) : 0 < r.length ? (_(r, t), r) : 0 < i.length ? (_(i, t), i) : (_(n, t), n) }(i, a); s && s({requestId: t.RequestId, urls: n, thumbnailUrl: o}) } else l && l(d.createError("MPS\u83b7\u53d6\u53d6\u6570\u5931\u8d25")) }, function (e) { if (l) { var t = {Code: "", Message: p.get("Error_MTS_Fetch_Urls_Text")}; try { t = JSON.parse(e) } catch (e) { } l({Code: u.ErrorCode.ServerAPIError, Message: t.Code + "|" + t.Message, sri: t.requestId || ""}) } }) } }, { "../../lang/index": 11, "../../lib/constants": 15, "../../lib/io": 24, "../../lib/ua": 31, "./signature": 80, "./util": 82 }], 78: [function (e, t, i) { var r = e("./saasplayer"), o = (e("../../lib/constants"), e("./mts")), n = r.extend({ init: function (e, t) { r.call(this, e, t), this.service = o, this.loadByMts() } }); n.prototype.loadByMts = function (e) { var t = { vid: this._options.vid, accessId: this._options.accId, accessSecret: this._options.accSecret, stsToken: this._options.stsToken, domainRegion: this._options.domainRegion, authInfo: this._options.authInfo, format: this._options.format, includeSnapshotList: this._options.includeSnapshotList || !1, defaultDefinition: this._options.defaultDefinition, authTimeout: this._options.authTimeout }; this.loadData(t, e) }, n.prototype.replayByVidAndAuthInfo = function (e, t, i, r, o, n) { this.trigger("error_hide"), this._options.source = "", this._isError = !1, this._duration = 0, this._options.cover = "", this._vodRetryCount = 0, this._clearTimeout(), this.reloadNewVideoInfo(e, t, i, r, o, n) }, n.prototype.reloadNewVideoInfo = function (e, t, i, r, o, n) { if (this.trigger("error_hide"), this._options.source = "", e && (this._options.vid = e, this._options.accId = t, this._options.accessSecret = i, this._options.stsToken = r, this._options.domainRegion = n, this._options.authInfo = o), !(this._options.vid && this._options.accId && this._options.accessSecret && this._options.stsToken && this._options.domainRegion && this._options.authInfo)) throw new Error("\u9700\u8981\u63d0\u4f9bvid\u3001accId\u3001accessSecret\u3001stsToken\u3001domainRegion\u548cauthInfo\u53c2\u6570"); this.log("STARTFETCHDATA", JSON.stringify({it: "mps", pa: {vid: e}})), this.loadByMts(!0) }, t.exports = n }, {"../../lib/constants": 15, "./mts": 77, "./saasplayer": 79}], 79: [function (e, t, i) { var c = e("../base/player"), r = e("../audio/audioplayer"), n = (e("../../lib/event"), e("../../lib/io")), d = e("../../lib/constants"), o = e("./signature"), a = e("./authkeyexpiredhandle"), p = e("../hls/hlsinjector"), h = e("../flv/flvinjector"), f = e("../drm/drminjector"), _ = (e("../../lib/cookie"), e("../../lang/index")), s = e("../../config"), g = e("../../lib/playerutil"), y = e("../base/event/eventtype"), v = c.extend({ init: function (e, t) { this._authKeyExpiredHandle = new a(this), c.prototype._videoCreateEl || (c.prototype._videoCreateEl = c.prototype.createEl), "mp3" == t.format ? (t.height = "auto", t.mediaType = "audio", c.prototype.createEl = r.prototype.createEl, r.call(this, e, t)) : (c.prototype.createEl = c.prototype._videoCreateEl, t._native = !1, c.call(this, e, t)) } }); v.prototype.loadData = function (e, t) { if ("undefined" != typeof _sce_r_skjhfnck || "" != e.format && "m3u8" != e.format && 1 != this._options.encryptType) this._loadData(e, t); else { var i = "aliplayer-vod-min.js", r = "https://" + s.domain + "/de/prismplayer/" + s.h5Version + "/hls/" + i; s.domain ? -1 < s.domain.indexOf("g-assets.daily") ? r = "http://" + s.domain + "/de/prismplayer/" + s.h5Version + "/hls/" + i : -1 < s.domain.indexOf("localhost") && (r = "http://" + s.domain + "/build/hls/" + i) : r = "de/prismplayer/" + s.h5Version + "/hls/" + i; var o = this; n.loadJS(r, function () { o._loadData(e, t) }) } }, v.prototype._loadData = function (n, a) { var s = (new Date).getTime(), l = this; if (this._urls = [], this._currentPlayIndex = 0, this._retrySwitchUrlCount = 0, this._authKeyExpiredHandle.clearTick(), "" != n.format && "m3u8" != n.format || 1 != this._options.encryptType) n.rand = o.randomUUID(); else { var u = _sce_r_skjhfnck(); n.rand = _sce_lgtcaygl(u) } this.trigger(y.Private.H5_Loading_Show), this.service.getDataByAuthInfo(n, this._options.qualitySort, function (e) { if (l.log("COMPLETEFETCHDATA", {cost: (new Date).getTime() - s}), e.urls && 0 == e.urls.length) l._mtsError_message(l, { Code: d.ErrorCode.URLsIsEmpty, Message: _.get("Error_Vod_URL_Is_Empty_Text") + (n.format ? "(format:" + n.format + ")" : "") }, ""); else { l.log("COMPLETEFETCHDATA", { cost: (new Date).getTime() - s, mi: JSON.stringify(e.urls) }), l._urls = e.urls, l._currentPlayIndex = g.findSelectedStreamLevel(l._urls, n.defaultDefinition); var t = e.urls[l._currentPlayIndex], i = t.Url; if (l._vodDuration = t.duration || 0, l._options.source = i, l.encType = "", l.trigger(y.Private.PREPARE, t.definition), l.UI.cover && e.coverUrl && !l._options.cover && l.setCover(e.coverUrl), g.isHls(i)) { var r = ""; if (t.encryptionType == d.EncryptionType.Private) { l.encType = t.encryptionType; var o = g.checkSecuritSupport(); if (o) return void l._mtsError_message(l, { Code: d.ErrorCode.EncrptyVideoNotSupport, Message: o, display_msg: o }, ""); r = _sce_dlgtqred(u, t.rand, t.plaintext) } p.inject(l, v, c, l._options, r) } else g.isFlv(i) ? h.inject(l, v, c, l._options) : g.isDash(i) ? f.inject(l, v, c, l._options) : l._player._executeReadyCallback(); l._authKeyExpiredHandle.tick(d.AuthKeyRefreshExpired), l.trigger(y.Private.SourceLoaded, t), l.initPlay(a), l.trigger(y.Private.ChangeURL), e.thumbnailUrl && l._thumbnailService.get(e.thumbnailUrl) } }, function (e) { l._mtsError_message(l, e, "") }) }, v.prototype._changeStream = function (e, t) { this._urls.length > e && (this.loadByUrl(this._urls[e].Url, this.getCurrentTime()), this._currentPlayIndex = e, this.trigger(y.Private.QualityChange, t || _.get("Quality_Change_Fail_Switch_Text"))) }, v.prototype._getLowerQualityLevel = function () { if (0 == this._urls.length || -1 == this._currentPlayIndex) return ""; if ("asc" == this.options().qualitySort) { if (0 < this._currentPlayIndex) return { item: this._urls[this._currentPlayIndex - 1], index: this._currentPlayIndex - 1 } } else if (this._currentPlayIndex < this._urls.length - 1) return { item: this._urls[this._currentPlayIndex + 1], index: this._currentPlayIndex + 1 }; return "" }, v.prototype._mtsError_message = function (e, t, i) { var r = e; r.trigger(y.Private.H5_Loading_Hide); var o = t.Code ? t.Code : "OTHER_ERR_CODE", n = t.Message ? t.Message : "OTHER_ERR_MSG", a = (d.ErrorCode.ServerAPIError, t.display_msg || ""); -1 < n.indexOf("InvalidParameter.Rand") || -1 < n.indexOf('"Rand" is not valid.') ? (d.ErrorCode.EncrptyVideoNotSupport, a = _.get("Error_Not_Support_encrypt_Text")) : -1 < n.indexOf("SecurityToken.Expired") ? (d.ErrorCode.AuthKeyExpired, a = _.get("Error_Playauth_Expired_Text")) : -1 < n.indexOf("InvalidVideo.NoneStream") && (d.ErrorCode.URLsIsEmpty, a = _.get("Error_Fetch_NotStream") + "(" + r._options.format + "|" + r._options.definition + ")"); var s = r._options.vid ? r._options.vid : "0", l = (r._options.from && r._options.from, {mediaId: s, error_code: o, error_msg: n}); t.sri && (l.sri = t.sri), r.logError(l), l.display_msg = (a || _.get("Error_Vod_Fetch_Urls_Text")) + "</br>" + n, r.trigger("error", l), console.log("PrismPlayer Error: " + i + "! error_msg :" + n + ";") }, t.exports = v }, { "../../config": 5, "../../lang/index": 11, "../../lib/constants": 15, "../../lib/cookie": 16, "../../lib/event": 19, "../../lib/io": 24, "../../lib/playerutil": 29, "../audio/audioplayer": 41, "../base/event/eventtype": 43, "../base/player": 62, "../drm/drminjector": 68, "../flv/flvinjector": 71, "../hls/hlsinjector": 73, "./authkeyexpiredhandle": 75, "./signature": 80 }], 80: [function (e, c, t) { var r = e("crypto-js/hmac-sha1"), o = e("crypto-js/enc-base64"), i = e("crypto-js/enc-utf8"); c.exports.randomUUID = function () { for (var e = [], t = "0123456789abcdef", i = 0; i < 36; i++) e[i] = t.substr(Math.floor(16 * Math.random()), 1); return e[14] = "4", e[19] = t.substr(3 & e[19] | 8, 1), e[8] = e[13] = e[18] = e[23] = "-", e.join("") }, c.exports.returnUTCDate = function () { var e = new Date, t = e.getUTCFullYear(), i = e.getUTCMonth(), r = e.getUTCDate(), o = e.getUTCHours(), n = e.getUTCMinutes(), a = e.getUTCSeconds(), s = e.getUTCMilliseconds(); return Date.UTC(t, i, r, o, n, a, s) }, c.exports.AliyunEncodeURI = function (e) { var t = encodeURIComponent(e); return t = (t = (t = t.replace("+", "%2B")).replace("*", "%2A")).replace("%7E", "~") }, c.exports.makesort = function (e, t, i) { if (!e) throw new Error("PrismPlayer Error: vid should not be null!"); var r = []; for (var o in e) r.push(o); var n = r.sort(), a = "", s = n.length; for (o = 0; o < s; o++) "" == a ? a = n[o] + t + e[n[o]] : a += i + n[o] + t + e[n[o]]; return a }, c.exports.makeUTF8sort = function (e, t, i) { if (!e) throw new Error("PrismPlayer Error: vid should not be null!"); var r = []; for (var o in e) r.push(o); var n = r.sort(), a = "", s = n.length; for (o = 0; o < s; o++) { var l = c.exports.AliyunEncodeURI(n[o]), u = c.exports.AliyunEncodeURI(e[n[o]]); "" == a ? a = l + t + u : a += i + l + t + u } return a }, c.exports.makeChangeSiga = function (e, t, i) { if (!e) throw new Error("PrismPlayer Error: vid should not be null!"); return i || (i = "GET"), o.stringify(r(i + "&" + c.exports.AliyunEncodeURI("/") + "&" + c.exports.AliyunEncodeURI(c.exports.makeUTF8sort(e, "=", "&")), t + "&")) }, c.exports.ISODateString = function (e) { function t(e) { return e < 10 ? "0" + e : e } return e.getUTCFullYear() + "-" + t(e.getUTCMonth() + 1) + "-" + t(e.getUTCDate()) + "T" + t(e.getUTCHours()) + ":" + t(e.getUTCMinutes()) + ":" + t(e.getUTCSeconds()) + "Z" }, c.exports.encPlayAuth = function (e) { if (!(e = i.stringify(o.parse(e)))) throw new Error("playuth\u53c2\u6570\u89e3\u6790\u4e3a\u7a7a"); return JSON.parse(e) }, c.exports.encRsa = function () { } }, {"crypto-js/enc-base64": 126, "crypto-js/enc-utf8": 127, "crypto-js/hmac-sha1": 128}], 81: [function (e, t, i) { var l = e("../../lib/io"), u = e("../../lib/constants"), c = e("./signature"), d = e("./util"), p = e("../../lang/index"); t.exports.getPlayAuth = function (e, i, r, o) { c.randomUUID(); var t = c.randomUUID(), n = { AccessKeyId: e.accessKeyId, Action: "GetVideoPlayAuth", VideoId: e.vid, AuthTimeout: u.AuthInfoExpired, SecurityToken: e.securityToken, Format: "JSON", Version: "2017-03-21", SignatureMethod: "HMAC-SHA1", SignatureVersion: "1.0", SignatureNonce: t }, a = c.makeUTF8sort(n, "=", "&") + "&Signature=" + c.AliyunEncodeURI(c.makeChangeSiga(n, e.accessKeySecret)), s = "https://vod." + e.region + ".aliyuncs.com/?" + a; l.get(s, function (e) { if (e) { var t = JSON.parse(e); i && i(t.PlayAuth) } else r && r(d.createError("\u83b7\u53d6\u89c6\u9891\u64ad\u653e\u51ed\u8bc1\u5931\u8d25")) }, function (e) { if (r) { var t = {Code: "", Message: p.get("Fetch_Playauth_Error")}; try { (t = JSON.parse(e)).Code } catch (e) { } r({ Code: u.ErrorCode.ServerAPIError, Message: t.Code + "|" + t.Message, sri: t.requestId, display_msg: p.get("Fetch_Playauth_Error", o) }) } }) } }, {"../../lang/index": 11, "../../lib/constants": 15, "../../lib/io": 24, "./signature": 80, "./util": 82}], 82: [function (e, t, i) { t.exports.createError = function (e, t) { return {requestId: "", code: t || "", message: e} } }, {}], 83: [function (e, t, i) { var l = e("../../lib/io"), p = e("../../lib/constants"), u = e("./signature"), c = e("./util"), d = e("../../config"), h = e("../../lang/index"); t.exports.getDataByAuthInfo = function (e, n, a, s) { u.randomUUID(); var t = u.randomUUID(), i = { AccessKeyId: e.accessId, Action: "GetPlayInfo", VideoId: e.vid, Formats: e.format, AuthTimeout: e.authTimeout || p.AuthKeyExpired, Rand: e.rand, SecurityToken: e.stsToken, StreamType: e.mediaType, Format: "JSON", Version: "2017-03-21", SignatureMethod: "HMAC-SHA1", SignatureVersion: "1.0", SignatureNonce: t, PlayerVersion: d.h5Version, Definition: e.definition, Channel: "HTML5" }; e.authInfo && (i.AuthInfo = e.authInfo), e.outputType && (i.OutputType = e.outputType), e.playConfig && (i.PlayConfig = JSON.stringify(e.playConfig)), e.reAuthInfo && (i.ReAuthInfo = JSON.stringify(e.reAuthInfo)); var r = u.makeUTF8sort(i, "=", "&") + "&Signature=" + u.AliyunEncodeURI(u.makeChangeSiga(i, e.accessSecret)), o = "https://vod." + e.domainRegion + ".aliyuncs.com/?" + r; l.get(o, function (e) { if (e) { var t = JSON.parse(e), i = "", r = t.VideoBase.ThumbnailList; r && r.Thumbnail && 0 < r.Thumbnail.length && (i = r.Thumbnail[0].URL); var o = function (e, t) { for (var i = [], r = [], o = [], n = [], a = e.length - 1; 0 <= a; a--) { var s = e[a], l = (c = void 0, (c = {}).width = (u = s).Width, c.height = u.Height, c.definition = u.Definition, c.Url = u.PlayURL, c.format = u.Format, c.desc = p.QualityLevels[c.definition], c.encryptionType = p.VodEncryptionType[u.EncryptType], c.plaintext = u.Plaintext, c.rand = u.Rand, c.encrypt = u.Encrypt, c.duration = u.Duration, c); "mp4" == l.format ? r.push(l) : "mp3" == l.format ? o.push(l) : "m3u8" == l.format ? i.push(l) : n.push(l) } var u, c, d = []; return d = 0 < o.length ? o : 0 < r.length ? r : 0 < i.length ? i : n, "asc" == t && d.reverse(), d }(t.PlayInfoList.PlayInfo, n); a && a({requestId: t.RequestId, urls: o, thumbnailUrl: i, coverUrl: t.VideoBase.CoverURL}) } else s && s(c.createError("\u70b9\u64ad\u670d\u52a1\u83b7\u53d6\u53d6\u6570\u5931\u8d25")) }, function (e) { if (s) { var t = {Code: "", Message: h.get("Error_Vod_Fetch_Urls_Text")}; try { t = JSON.parse(e) } catch (e) { } s({Code: p.ErrorCode.ServerAPIError, Message: t.Code + "|" + t.Message, sri: t.requestId || ""}) } }) } }, { "../../config": 5, "../../lang/index": 11, "../../lib/constants": 15, "../../lib/io": 24, "./signature": 80, "./util": 82 }], 84: [function (e, t, i) { var r = e("./saasplayer"), l = e("../../lib/constants"), o = e("./vod"), u = e("./signature"), n = (e("./authkeyexpiredhandle"), e("./ststoken"), r.extend({ init: function (e, t) { r.call(this, e, t), this.service = o, this.loadByVod() } })); n.prototype.loadByVod = function (e) { var t = "", i = "", r = "", o = "", n = ""; if (this._options.accessKeyId && this._options.accessKeySecret) t = this._options.accessKeyId, i = this._options.accessKeySecret, r = this._options.securityToken, o = this._options.region, this.log("STARTFETCHDATA", JSON.stringify({ it: "sts", pa: {vid: this._options.vid} })); else { try { var a = u.encPlayAuth(this._options.playauth); t = a.AccessKeyId, i = a.AccessKeySecret, r = a.SecurityToken, o = a.Region, n = a.AuthInfo } catch (e) { var s = { Code: l.ErrorCode.PlayauthDecode, Message: "playauth decoded failed.", displayMessage: "playauth\u89e3\u6790\u9519\u8bef" }; return void this._mtsError_message(this, s, this._options.playauth) } this._options.from = a.CustomerId ? a.CustomerId : "", this.log("STARTFETCHDATA", JSON.stringify({ it: "playAuth", pa: {vid: this._options.vid} })) } this._loadByVodBySTS(t, i, r, o, n, e) }, n.prototype.replayByVidAndPlayAuth = function (e, t) { this.trigger("error_hide"), this._options.source = "", this._options.vid = e, this._options.playauth = t, this._isError = !1, this._duration = 0, this._options.cover = "", this._vodRetryCount = 0, this._clearTimeout(), this.loadByVod(!0) }, n.prototype.updateSourcesByVidAndPlayAuth = function (e, t) { if (e == this._options.vid) { this._options.vid = e, this._options.playauth = t; try { var i = u.encPlayAuth(this._options.playauth) } catch (e) { return void console.log("playauth\u89e3\u6790\u9519\u8bef") } var r = { vid: e, accessId: i.AccessKeyId, accessSecret: i.AccessKeySecret, stsToken: i.SecurityToken, domainRegion: i.Region, authInfo: i.AuthInfo, playDomain: i.PlayDomain, format: this._options.format, mediaType: this._options.mediaType }; this._authKeyExpiredHandle.clearTick(); var o = this; this.service.loadData(r, this._options.qualitySort, function (e) { o._serverRequestId = e.requestId, 0 != e.urls.length && (o._urls = e.urls), o._authKeyExpiredHandle.tick(l.AuthKeyRefreshExpired) }, function (e) { console.log(e) }) } else console.log("\u4e0d\u80fd\u66f4\u65b0\u5730\u5740\uff0cvid\u548c\u64ad\u653e\u4e2d\u7684\u4e0d\u4e00\u81f4") }, n.prototype.reloaduserPlayInfoAndVidRequestMts = function (e, t) { this.replayByVidAndPlayAuth(e, t, accessSecret) }, n.prototype._loadByVodBySTS = function (e, t, i, r, o, n) { var a = { vid: this._options.vid, accessId: e, accessSecret: t, stsToken: i, authInfo: o, domainRegion: r, format: this._options.format, mediaType: this._options.mediaType, definition: this._options.definition, defaultDefinition: this._options.defaultDefinition, authTimeout: this._options.authTimeout, outputType: this._options.outputType, playConfig: this._options.playConfig, reAuthInfo: this._options.reAuthInfo }; this.loadData(a, n) }, t.exports = n }, { "../../lib/constants": 15, "./authkeyexpiredhandle": 75, "./saasplayer": 79, "./signature": 80, "./ststoken": 81, "./vod": 83 }], 85: [function (e, t, i) { var o = e("../base/event/eventtype"), r = function (i) { this._player = i, this._video = i.tag; var r = this; this._isCreated = !1, this._canPlayTriggered = !1, this._defaultTrack = "", i.on(o.Private.ChangeURL, function () { r._isCreated = !1, r._canPlayTriggered = !1, r._defaultTrack = "" }), i.on(o.Player.CanPlay, function () { if (!r._player._drm && !r._canPlayTriggered) { var e = r._getTracks(); e && (r._isCreated = !0, i.trigger(o.Player.AudioTrackReady, e), r._notifyDefaultValue(e)), r._canPlayTriggered = !0 } }), i.on(o.Player.AudioTrackUpdated, function (e) { if (!r._isCreated) { var t = r._getTracks(e.paramData.audioTracks); t && (r._isCreated = !0, i.trigger(o.Player.AudioTrackReady, t), r._notifyDefaultValue(t)) } }) }; r.prototype._notifyDefaultValue = function (e) { !this._defaultTrack && 0 < e.length && (this._defaultTrack = e[0]), this._defaultTrack && this._player.trigger(o.Private.SelectorUpdateList, { type: "audio", text: this._defaultTrack.text }) }, r.prototype.support = function () { return !!this._video.audioTracks }, r.prototype._getTracks = function (e) { if (!this.support() && !e) return null; this._video && this._video.audioTracks && (!e || e && 0 == e.length) && (e = this._video.audioTracks); for (var t = [], i = e ? e.length : 0, r = 0; r < i; r++) { var o = e[r], n = {value: o.id, text: o.label || o.name || o.language}; (o["default"] || o.enabled) && (this._defaultTrack = n), t.push(n) } return t }, r.prototype["switch"] = function (e) { if (this._player._hls) this._player._hls.audioTrack = 1 * e; else for (var t = this._video.audioTracks ? this._video.audioTracks.length : 0, i = 0; i < t; i++) { var r = this._video.audioTracks[i]; r.id == e ? r.enabled = !0 : r.enabled = !1 } }, r.prototype.dispose = function () { this._player = null }, t.exports = r }, {"../base/event/eventtype": 43}], 86: [function (e, t, i) { var r = e("../base/event/eventtype"), o = e("../../lib/dom"), n = e("../../lib/ua"), l = e("../../lib/cookie"), u = e("../../lib/constants"), a = function (e) { this._video = e.tag, this._player = e, this._isCreated = !1, this._backupCC = "", this.tracks = [], this._defaultTrack = "", this._currentValue = ""; var t = this; e.on(r.Private.ChangeURL, function () { t._disabledTracks(), t._isCreated = !1, t._defaultTrack = "" }), e.on(r.Player.CanPlay, function () { t._player._drm || (t._isCreated || (t.tracks = t._getTracks(), e.trigger(r.Player.TextTrackReady, t.tracks)), t._isCreated && !t._player._setDefaultCC || !t._defaultTrack || (e.trigger(r.Private.SelectorUpdateList, { type: "cc", text: t._defaultTrack.text }), t["switch"](t._defaultTrack.value), t._player._setDefaultCC = !1, t._isCreated = !0)) }), this._adaptiveCueStype(), e.on(r.Player.RequestFullScreen, function () { t._adaptiveCueStype() }), e.on(r.Player.CancelFullScreen, function () { t._adaptiveCueStype() }) }; a.prototype._adaptiveCueStype = function () { var e = -10; if (n.IS_SAFARI) { e = -65; var t = this._player.fullscreenService; t && t.getIsFullScreen() && (e = -95) } else n.IS_MOBILE && (e = -30); o.addCssByStyle("video::-webkit-media-text-track-container{transform: translateY(" + e + "px) !important;}") }, a.prototype.close = function () { for (var e = this._video && this._video.textTracks ? this._video.textTracks.length : 0, t = 0; t < e; t++) { var i = this._video.textTracks[t]; "expired" != i.mode && ("showing" == i.mode && (this._backupCC = i), i.mode = "disabled") } }, a.prototype.open = function () { if (this.tracks && !(this.tracks.length < 2)) { var e = this._backupCC ? this._backupCC.language : "", t = this._backupCC ? this._backupCC.label : ""; return e || (e = this.tracks[1].value, t = this.tracks[1].text), this["switch"](e), t } }, a.prototype.getCurrentSubtitle = function () { return this._currentValue }, a.prototype._getTracks = function () { if (this._player._drm) return []; var e = this._video && this._video.textTracks ? this._video.textTracks.length : 0; this._defaultTrack = {value: "off", text: "Off"}; for (var t = [this._defaultTrack], i = l.get(u.SelectedCC), r = "", o = !1, n = 0; n < e; n++) { var a = this._video.textTracks[n]; if ("expired" != a.mode && "subtitles" == a.kind) { var s = {value: a.language, text: a.label}; a["default"] && (this._defaultTrack = s, o = !0), s.value == i && (r = s), t.push(s) } } return !o && r && (this._defaultTrack = r), t }, a.prototype._disabledTracks = function () { for (var e = this._video && this._video.textTracks ? this._video.textTracks.length : 0, t = 0; t < e; t++) { this._video.textTracks[t].mode = "expired" } }, a.prototype["switch"] = function (e) { if (this.close(), "off" != e) { for (var t = this._video && this._video.textTracks ? this._video.textTracks.length : 0, i = 0; i < t; i++) { var r = this._video.textTracks[i]; r.language === e && "expired" != r.mode && (this._video.textTracks[i].mode = "showing") } this._currentValue = e } else this.close() }, a.prototype.dispose = function () { this._player = null }, t.exports = a }, { "../../lib/constants": 15, "../../lib/cookie": 16, "../../lib/dom": 18, "../../lib/ua": 31, "../base/event/eventtype": 43 }], 87: [function (e, t, i) { var r = e("../../lib/playerutil"); t.exports = [{service: e("./ccservice"), name: "_ccService", condition: !0}, { service: e("./audiotrackservice"), name: "_audioTrackService" }, {service: e("./qualityservice"), name: "_qualityService"}, { service: e("./fullscreenservice"), name: "fullscreenService", condition: function () { return !0 } }, { service: e("./liveshiftservice"), name: "_liveshiftService", condition: function () { var e = this.options(); return r.isLiveShift(e) } }, { service: e("./thumbnailservice"), name: "_thumbnailService", condition: function () { return !0 } }, { service: e("./progressmarkerservice"), name: "_progressMarkerService", condition: function () { return !0 } }] }, { "../../lib/playerutil": 29, "./audiotrackservice": 85, "./ccservice": 86, "./fullscreenservice": 88, "./liveshiftservice": 89, "./progressmarkerservice": 90, "./qualityservice": 91, "./thumbnailservice": 92 }], 88: [function (e, t, i) { var o = e("../../lib/ua"), n = e("../../lib/dom"), a = e("../../lib/event"), s = e("../base/event/eventtype"), r = e("../base/x5play"), l = e("../../lang/index"), u = function () { var e; n.createEl("div"); var t = [["requestFullscreen", "exitFullscreen", "fullscreenElement", "fullscreenEnabled", "fullscreenchange", "fullscreenerror", "fullScreen"], ["webkitRequestFullscreen", "webkitExitFullscreen", "webkitFullscreenElement", "webkitFullscreenEnabled", "webkitfullscreenchange", "webkitfullscreenerror", "webkitfullScreen"], ["webkitRequestFullScreen", "webkitCancelFullScreen", "webkitCurrentFullScreenElement", "webkitFullscreenEnabled", "webkitfullscreenchange", "webkitfullscreenerror", "webkitIsFullScreen"], ["mozRequestFullScreen", "mozCancelFullScreen", "mozFullScreenElement", "mozFullScreenEnabled", "mozfullscreenchange", "mozfullscreenerror", "mozFullScreen"], ["msRequestFullscreen", "msExitFullscreen", "msFullscreenElement", "msFullscreenEnabled", "MSFullscreenChange", "MSFullscreenError", "MSFullScreen"]], i = !(e = {}); if (o.IS_IOS && (e.requestFn = "webkitEnterFullscreen", e.cancelFn = "webkitExitFullscreen", e.fullscreenElement = "webkitFullscreenElement", e.eventName = "webkitfullscreenchange", e.isFullScreen = "webkitDisplayingFullscreen", document[e.requestFn] && (i = !0)), !i) { for (var r = 0; r < 5; r++) if (t[r][1] in document) { e.requestFn = t[r][0], e.cancelFn = t[r][1], e.fullscreenElement = t[r][2], e.eventName = t[r][4], e.isFullScreen = t[r][6]; break } "requestFullscreen" in document ? e.requestFn = "requestFullscreen" : "webkitRequestFullscreen" in document ? e.requestFn = "webkitRequestFullscreen" : "webkitRequestFullScreen" in document ? e.requestFn = "webkitRequestFullScreen" : "webkitEnterFullscreen" in document ? e.requestFn = "webkitEnterFullscreen" : "mozRequestFullScreen" in document ? e.requestFn = "mozRequestFullScreen" : "msRequestFullscreen" in document && (e.requestFn = "msRequestFullscreen"), "fullscreenchange" in document ? e.eventName = "fullscreenchange" : "webkitfullscreenchange" in document ? e.eventName = "webkitfullscreenchange" : "webkitfullscreenchange" in document ? e.eventName = "webkitfullscreenchange" : "webkitfullscreenchange" in document ? e.eventName = "webkitfullscreenchange" : "mozfullscreenchange" in document ? e.eventName = "mozfullscreenchange" : "MSFullscreenChange" in document && (e.eventName = "MSFullscreenChange"), "fullScreen" in document ? e.isFullScreen = "fullScreen" : "webkitfullScreen" in document ? e.isFullScreen = "webkitfullScreen" : "webkitIsFullScreen" in document ? e.isFullScreen = "webkitIsFullScreen" : "webkitDisplayingFullscreen" in document ? e.isFullScreen = "webkitDisplayingFullscreen" : "mozFullScreen" in document ? e.isFullScreen = "mozFullScreen" : "mozfullScreen" in document ? e.isFullScreen = "mozfullScreen" : "MSFullScreen" in document && (e.isFullScreen = "MSFullScreen"), "fullscreenElement" in document ? e.fullscreenElement = "fullscreenElement" : "webkitFullscreenElement" in document ? e.fullscreenElement = "webkitFullscreenElement" : "webkitFullScreenElement" in document ? e.fullscreenElement = "webkitFullScreenElement" : "mozFullScreenElement" in document ? e.fullscreenElement = "mozFullScreenElement" : "msFullscreenElement" in document ? e.fullscreenElement = "msFullscreenElement" : "MSFullscreenElement" in document && (e.fullscreenElement = "MSFullscreenElement") } return e.requestFn ? e : null }(), c = function (e) { this.isFullWindow = !1, this.isFullScreen = !1, this.isFullScreenChanged = !1, this._requestFullScreenTimer = null, this._cancelFullScreenTimer = null, this._player = e; var r = this, o = u; this._fullscreenChanged = function (e) { if (null != r._player) { var t = document[o.isFullScreen]; if (void 0 !== t) r.isFullScreen = t; else { var i = document[o.fullscreenElement]; r.isFullScreen = null != i } (r.isFullScreenChanged = !0) === r.isFullScreen ? r._player.trigger(s.Player.RequestFullScreen) : r._player.trigger(s.Player.CancelFullScreen) } }, o && a.on(document, o.eventName, this._fullscreenChanged) }; c.prototype.requestFullScreen = function () { if (!r.isAndroidX5() || !this._player.paused()) { var e = u, t = this._player.el(), i = this; if (o.IS_IOS) return (t = this._player.tag)[e.requestFn](), i._player.trigger(s.Player.RequestFullScreen), this; this.isFullScreen = !0, this.isFullScreenChanged = !1, this._requestFullScreenTimer = null, this._cancelFullScreenTimer || clearTimeout(this._cancelFullScreenTimer); i = this; return e && !this._player._options.enableMockFullscreen ? (t[e.requestFn](), this._requestFullScreenTimer = setTimeout(function () { i.isFullScreenChanged || (d.apply(i), i._player.trigger(s.Player.RequestFullScreen)), i._requestFullScreenTimer = null }, 1e3)) : (d.apply(i), this._player.trigger(s.Player.RequestFullScreen)), this._player } this._player.trigger(s.Private.Info_Show, l.get("Play_Before_Fullscreen")) }, c.prototype.cancelFullScreen = function () { var e = u; this.isFullScreen = !1, this.isFullScreenChanged = !1, this._cancelFullScreenTimer = null, this._requestFullScreenTimer || clearTimeout(this._requestFullScreenTimer); var t = this; return e && !this._player._options.enableMockFullscreen ? (document[e.cancelFn](), t._cancelFullScreenTimer = setTimeout(function () { t.isFullScreenChanged || (p.apply(t), t._player.trigger(s.Player.CancelFullScreen)), t._cancelFullScreenTimer = null }, 500)) : (p.apply(t), this._player.trigger(s.Player.CancelFullScreen)), this._player.tag.paused || this._player.trigger(s.Player.Play), this._player }, c.prototype.getIsFullScreen = function () { return this.isFullScreen }, c.prototype.dispose = function () { this._player = null; var e = u; a.off(document, e.eventName, this._fullscreenChanged) }; var d = function () { this.isFullWindow = !0, this.docOrigOverflow = document.documentElement.style.overflow, document.documentElement.style.overflow = "hidden", n.addClass(document.getElementsByTagName("body")[0], "prism-full-window") }, p = function () { this.isFullWindow = !1, document.documentElement.style.overflow = this.docOrigOverflow, n.removeClass(document.getElementsByTagName("body")[0], "prism-full-window") }; t.exports = c }, { "../../lang/index": 11, "../../lib/dom": 18, "../../lib/event": 19, "../../lib/ua": 31, "../base/event/eventtype": 43, "../base/x5play": 67 }], 89: [function (e, t, i) { var o = e("../../lib/io"), n = e("../../lib/util"), a = e("../../lib/playerUtil"), s = e("../../lang/index"), l = (e("../flv/flvinjector"), e("../hls/hlsinjector")), u = e("../../lib/constants"), c = e("../base/event/eventtype"), d = (e("../../lib/url"), function (e, t) { if (e && e) { var i = new Date(e), r = new Date(t), o = r.valueOf() / 1e3 - i.valueOf() / 1e3; return {start: i, end: r, endDisplay: n.extractTime(r), totalTime: o} } }), p = function (e, t) { t && (e.currentTimestamp = t, e.currentTime = n.convertToDate(t), e.currentTimeDisplay = n.extractTime(e.currentTime), e.liveShiftStart = e.liveTimeRange.start, e.liveShiftEnd = e.liveTimeRange.end, e.liveShiftStartDisplay = n.extractTime(e.liveShiftStart), e.liveShiftEndDisplay = n.extractTime(e.liveShiftEnd), e.availableLiveShiftTime = t - e.liveShiftStart.valueOf() / 1e3, e.timestampStart = n.convertToTimestamp(e.liveShiftStart), e.timestampEnd, n.convertToTimestamp(e.liveShiftEnd)) }, r = function (t) { this._player = t, this._isLiveShift = !1; var r = this, e = function () { var e = t._options.source; this._originalPlayUrl = e, this._liveShiftUrl = t._options.liveTimeShiftUrl, this.liveTimeRange = d(t._options.liveStartTime, t._options.liveOverTime), this.availableLiveShiftTime = 0, this.seekTime = -1 }; e.call(this), t.liveShiftSerivce = { setLiveTimeRange: function (e, t) { r.setLiveTimeRange(e, t) }, queryLiveShift: function (e, t, i) { r.queryLiveShift(e, t, i) } }, t.on(c.Private.ChangeURL, function () { e.call(r) }) }; r.prototype.validate = function () { return !(this.liveTimeRange.start >= this.liveTimeRange.end) }, r.prototype.switchToLive = function () { var e = that._player._options.recreatePlayer; e && this._isLiveShift && (this._player.dispose(), setTimeout(function () { e() }, 1e3), this._isLiveShift = !1) }, r.prototype.getBaseTime = function () { this.liveShiftStartDisplay; return -1 == this.seekTime ? n.parseTime(this.currentTimeDisplay) : n.parseTime(this.liveShiftStartDisplay) + this.seekTime }, r.prototype.getSourceUrl = function (e, t) { var i = this._originalPlayUrl; return this.availableLiveShiftTime <= e ? i : (this._isLiveShift = !0, (e = parseInt(e)) <= 5 && (e = 5), (i = this._switchLiveShiftPlayer(t)) && (i = i.replace("lhs_offset_unix_s_0", "z")), i = -1 == i.indexOf("?") ? i + "?lhs_offset_unix_s_0=" + e : i + "&lhs_offset_unix_s_0=" + e) }, r.prototype._switchLiveShiftPlayer = function (e) { var t = this._originalPlayUrl, i = this._player._options.liveShiftSource, r = this._player._options.source; if (a.isHls(r)) t = r; else if (a.isFlv(t) && i && a.isHls(i)) { this._player._flv && this._player._destroyFlv(); var o = this._player._superType, n = this._player._Type; return this._player._options._autoplay = !0, l.inject(this._player, n, o, this._player._options, "", !0), i } return t }, r.prototype.getTimeline = function (i, r) { if (this._player.trigger(c.Private.LiveShiftQueryCompleted), !this._liveShiftUrl) return p(this, (new Date).valueOf() / 1e3), void(i && i()); var o = this; this.queryLiveShift(this._liveShiftUrl, function (e) { if (e) { var t = e; 0 == t.retCode ? (p(o, t.content.current), i && i()) : r({ Code: u.ErrorCode.ServerAPIError, Message: t.retCode + "|" + t.description + "|" + t.content }) } else console.log("\u83b7\u53d6\u76f4\u64ad\u65f6\u79fb\u6570\u636e\u5931\u8d25") }, function (e) { if (r && e) { var t = {}; if (e) { if (-1 < e.indexOf("403 Forbidden")) t.Code = u.ErrorCode.AuthKeyExpired, t.Message = "Query liveshift failed:" + s.get("Error_AuthKey_Text"); else { var i; t = e; try { i = JSON.parse(e) } catch (e) { } i && (t.Code = u.ErrorCode.ServerAPIError, t.Message = i.retCode + "|" + i.description + "|" + i.content) } r(t) } } }) }, r.prototype.start = function (e, t) { var i = this, r = function () { i._loopHandler = setTimeout(function () { i.getTimeline(function () { }, t), r() }, e) }; i.getTimeline(function (e) { i._localLiveTimeHandler || i.tickLocalLiveTime() }, t), r() }, r.prototype.tickLocalLiveTime = function () { var e = this, t = function () { e._localLiveTimeHandler = setTimeout(function () { e.currentTimestamp++, p(e, e.currentTimestamp), e._player.trigger(c.Private.LiveShiftQueryCompleted), t() }, 1e3) }; t() }, r.prototype.setLiveTimeRange = function (e, t) { e || (e = this._player._options.liveStartTime), t || (t = this._player._options.liveOverTime), this.liveTimeRange = d(e, t), p(this, this.currentTimestamp), this._player.trigger(c.Private.LiveShiftQueryCompleted) }, r.prototype.queryLiveShift = function (e, i, r) { o.get(e, function (e) { if (e) { var t = JSON.parse(e); 0 == t.retCode ? i && i(t) : r && r(t) } else r && r(e) }, function (e) { r && r(e) }) }, r.prototype.stop = function (e) { this._loopHandler && (clearTimeout(this._loopHandler), this._loopHandler = null) }, r.prototype.dispose = function () { this.stop(), this._localLiveTimeHandler && (clearTimeout(this._localLiveTimeHandler), this._localLiveTimeHandler = null), this._player = null }, t.exports = r }, { "../../lang/index": 11, "../../lib/constants": 15, "../../lib/io": 24, "../../lib/playerUtil": 28, "../../lib/url": 32, "../../lib/util": 33, "../base/event/eventtype": 43, "../flv/flvinjector": 71, "../hls/hlsinjector": 73 }], 90: [function (e, t, i) { var c = e("../base/event/eventtype"), d = (e("../../lang/index"), e("../../lib/hls/hlsparse"), e("../../lib/object"), e("../../lib/dom")), p = e("../../lib/event"), r = (e("../../lib/playerutil"), function (l) { this.progressMarkers = [], this._player = l; var u = this; l.on(c.Private.ProgressMarkerLoaded, function (e) { var t = e.paramData; t && 0 < t.length && (u.progressMarkers = t) }); var i = function () { var e = document.querySelector("#" + l.id() + " .prism-progress-marker"); if (e) { e.innerHTML = ""; var n = u._player.getDuration(); if (0 < n) { for (var t = 0; t < u.progressMarkers.length; t++) { var i = u.progressMarkers[t]; if (void 0 !== i.offset && "" !== i.offset) { var r = document.createElement("div"); d.addClass(r, "prism-marker-dot"); var o = u.progressMarkers[t].offset / n; r.style.left = 100 * o + "%", e.appendChild(r); var a = function (e, t) { return function () { u._player.trigger(c.Private.MarkerTextShow, {left: e, progressMarker: t}) } }(o, u.progressMarkers[t]); p.on(r, "mouseover", a), p.on(r, "mouseout", function (e) { u._player.trigger(c.Private.MarkerTextHide) }), p.on(r, "touchstart", a), p.on(r, "mousemove", function (e) { e.preventDefault() }), p.on(r, "touchmove", function (e) { e.preventDefault() }) } } var s = document.querySelector("#" + u._player.id() + " .prism-progress-cursor"); u._player.on(s, "click", function (e) { for (var t = u._player.getCurrentTime(), i = 0; i < u.progressMarkers.length; i++) { var r = u.progressMarkers[i]; if (r && (t - 1 < r.offset && r.offset < t + 1)) { var o = r.offset / n * 100 + "%"; u._player.trigger(c.Private.MarkerTextShow, {left: o, progressMarker: r}) } } }) } } }; l.on(c.Private.ProgressMarkerChanged, function (e) { var t = e.paramData; t && 0 < t.length && (u.progressMarkers = t, i()) }), l.on(c.Video.LoadedMetadata, i) }); r.prototype.dispose = function () { this._player = null, this.progressMarkers = [] }, t.exports = r }, { "../../lang/index": 11, "../../lib/dom": 18, "../../lib/event": 19, "../../lib/hls/hlsparse": 23, "../../lib/object": 26, "../../lib/playerutil": 29, "../base/event/eventtype": 43 }], 91: [function (e, t, i) { var l = e("../base/event/eventtype"), u = e("../../lang/index"), r = e("../../lib/hls/hlsparse"), c = e("../../lib/object"), o = e("../../lib/playerutil"), n = function (a) { this.levels = [], this._player = a; var s = this; a.on(l.Player.LevelsLoaded, function (e) { if (0 < s.levels.length && (s.levels = []), (e = e.paramData) && e.levels) { for (var t = e.levels.length - 1; -1 < t; t--) { var i = e.levels[t]; if (i.url && 0 < i.url.length && i.attrs && i.attrs.BANDWIDTH) { var r = i.url; c.isArray(r) && (r = r[0]); var o = { Url: r, desc: i.height || i.width, bitrate: i.bitrate, resolution: i.attrs.RESOLUTION, bandwidth: i.attrs.BANDWIDTH }; s.levels.push(o) } } if (0 < s.levels.length) { var n = u.get("Auto"); s.levels.push({Url: e.url, desc: n}), a.trigger(l.Private.SelectorUpdateList, { type: "quality", text: n }) } } }), a.on(l.Video.LoadStart, function () { if (a._options) { var e = a._options.source; !a._hls && e && o.isHls(e) && s.loadLevels(e) } }) }; (n.prototype = { loadLevels: function (e) { var t = new r, i = this; t.load(e, function (e) { i._player.trigger(l.Player.LevelsLoaded, e) }) } }).dispose = function () { this._player = null }, t.exports = n }, { "../../lang/index": 11, "../../lib/hls/hlsparse": 23, "../../lib/object": 26, "../../lib/playerutil": 29, "../base/event/eventtype": 43 }], 92: [function (e, t, i) { var r = e("../../lib/io"), o = e("../../lib/url"), n = e("../../lib/vtt/thumbnailvtt"), a = e("../base/event/eventtype"), s = function (e) { this._player = e, this.cues = [], this.baseUrl = ""; var t = this; e.on(a.Private.ChangeURL, function () { t.cues = [], t.baseUrl = "" }) }; (s.prototype = { get: function (e) { var t = this; this.baseUrl = function (e) { var t = o.parseUrl(e); if (t) { var i = t.segments; if (i && 0 < i.length) { var r = i[i.length - 1]; baseUrl = e.replace(r, "") } } return baseUrl }(e), r.get(e, function (e) { e && n.parse(e, function (e) { t.cues = e, t._player.trigger(a.Private.ThumbnailLoaded, e) }) }, function (e) { console.log(e) }) }, findAvailableCue: function (e) { for (var t = this.cues.length, i = 0; i < t; i++) { var r = this.cues[i]; if (r.startTime <= e && e < r.endTime) return r } return null }, makeUrl: function (e) { return -1 == e.indexOf("://") && (e = this.baseUrl + e), e } }).dispose = function () { this._player = null }, t.exports = s }, {"../../lib/io": 24, "../../lib/url": 32, "../../lib/vtt/thumbnailvtt": 34, "../base/event/eventtype": 43}], 93: [function (e, t, i) { var a = e("../base/player"), s = e("../hls/hlsinjector"), r = e("../../lib/io"), o = a.extend({ init: function (e, t) { a.call(this, e, t), this.loadVideoInfo() } }); o.prototype.loadVideoInfo = function (i) { this.trigger("error_hide"); var o = this._options.vid, n = this; if (!o) throw new Error("PrismPlayer Error: vid should not be null!"); r.jsonp("//tv.taobao.com/player/json/getBaseVideoInfo.do?vid=" + o + "&playerType=3", function (e) { if (1 !== e.status || !e.data.source) throw new Error("PrismPlayer Error: #vid:" + o + " cannot find video resource!"); var t, r = -1; _.each(e.data.source, function (e, t) { var i = +e.substring(1); r < i && (r = i) }), t = e.data.source["v" + r], t = _.unescape(t), n._options.source = t, s.inject(n, TaobaoTVPlayer, a.prototype, n._options), n.initPlay(), i && i() }, function () { throw new Error("PrismPlayer Error: network error!") }) }, o.prototype.loadByVid = function (e) { this._options.vid = e; var t = this; if (!e) throw new Error("PrismPlayer Error: vid should not be null!"); this._monitor && this._monitor.updateVideoInfo({ video_id: e, album_id: data.data.baseInfo.aid, source: src, from: t._options.from }), this._options.autoplay = !0, this.loadVideoInfo(function () { t.cover && t._options.autoplay && (Dom.css(t.cover, "display", "none"), delete t.cover), t.tag.play() }) }, t.exports = o }, {"../../lib/io": 24, "../base/player": 62, "../hls/hlsinjector": 73}], 94: [function (e, t, i) { var r = e("../lib/oo"), o = e("../lib/data"), a = e("../lib/object"), n = e("../lib/dom"), s = e("../lib/event"), l = e("../lib/function"), u = e("../lib/layout"), c = (e("../lib/constants"), e("../lib/util"), e("../player/base/event/eventtype")), d = e("./component/util"), p = r.extend({ init: function (e, t) { var i = this; this._player = e, this._eventState = "", this._options = a.copy(t), this._el = this.createEl(); var r = e.id; "function" == typeof e.id && (r = e.id()), this._id = r + "_component_" + o.guid(), this._children = [], this._childIndex = {}, this._player.on(c.Private.UiH5Ready, function () { i.renderUI(), i.syncUI(), i.bindEvent() }) } }); p.prototype.renderUI = function () { u.render(this.el(), this.options()), this.el().id = this.id() }, p.prototype.syncUI = function () { }, p.prototype.bindEvent = function () { }, p.prototype.createEl = function (e, t) { return n.createEl(e, t) }, p.prototype.options = function (e) { return void 0 === e ? this._options : this._options = a.merge(this._options, e) }, p.prototype.el = function () { return this._el }, p.prototype._contentEl, p.prototype.player = function () { return this._player }, p.prototype.contentEl = function () { return this._contentEl || this._el }, p.prototype._id, p.prototype.id = function () { return this._id }, p.prototype.getId = function () { return this._id }, p.prototype.addChild = function (e, t) { var i; if ("string" == typeof e) { if (!this._player.UI[e]) return; i = new this._player.UI[e](this._player, t) } else i = e; if (this._children.push(i), "function" == typeof i.id && (this._childIndex[i.id()] = i), "function" == typeof i.el && i.el()) { var r = i.el(); r.id = i.id(), this.contentEl().appendChild(r) } return i }, p.prototype.removeChild = function (e) { if (e && this._children) { for (var t = !1, i = this._children.length - 1; 0 <= i; i--) if (this._children[i] === e) { t = !0, this._children.splice(i, 1); break } if (t) { this._childIndex[e.id] = null; var r = e.el(); r && r.parentNode === this.contentEl() && this.contentEl().removeChild(e.el()) } } }, p.prototype.initChildren = function () { var i, e, t, r, o; if (e = (i = this).options().children) if (a.isArray(e)) for (var n = 0; n < e.length; n++) o = "string" == typeof(t = e[n]) ? (r = t, {}) : (r = t.name, t), i.addChild(r, o); else a.each(e, function (e, t) { !1 !== t && i.addChild(e, t) }) }, p.prototype.on = function (e, t) { return s.on(this._el, e, l.bind(this, t)), this }, p.prototype.off = function (e, t) { return s.off(this._el, e, t), this }, p.prototype.one = function (e, t) { return s.one(this._el, e, l.bind(this, t)), this }, p.prototype.trigger = function (e, t) { if (this._el) return (t || 0 == t) && (this._el.paramData = t), this._eventState = e, s.trigger(this._el, e), this }, p.prototype.off = function (e) { return s.off(this._el, e), this }, p.prototype.addClass = function (e) { return n.addClass(this._el, e), this }, p.prototype.removeClass = function (e) { return n.removeClass(this._el, e), this }, p.prototype.show = function () { return this._el.style.display = "block", this }, p.prototype.hide = function () { return this._el.style.display = "none", this }, p.prototype.destroy = function () { if (this.trigger({ type: "destroy", bubbles: !1 }), this._children) for (var e = this._children.length - 1; 0 <= e; e--) this._children[e].destroy && this._children[e].destroy(); "function" == typeof this.disposeUI && this.disposeUI(), this.children_ = null, this.childIndex_ = null, this.off(), this._el.parentNode && this._el.id != this._player.id() && this._el.parentNode.removeChild(this._el), o.removeData(this._el), this._el = null }, p.prototype.registerControlBarTooltip = d.registerTooltipEvent, t.exports = p }, { "../lib/constants": 15, "../lib/data": 17, "../lib/dom": 18, "../lib/event": 19, "../lib/function": 20, "../lib/layout": 25, "../lib/object": 26, "../lib/oo": 27, "../lib/util": 33, "../player/base/event/eventtype": 43, "./component/util": 121 }], 95: [function (e, t, i) { var r = e("../component"), o = e("../../lib/dom"), n = e("../../lib/event"), a = e("../../player/base/event/eventtype"), s = e("../../player/base/plugin/status"), l = r.extend({ init: function (e, t) { r.call(this, e, t), this.addClass(t.className || "prism-big-play-btn") }, createEl: function () { var e = r.prototype.createEl.call(this, "div"); return e.innerHTML = '<div class="outter"></div>', e }, bindEvent: function () { var t = this; this._player.on(a.Player.Play, function () { t.addClass("playing"), t.removeClass("pause"), t._hide() }), this._player.on(a.Player.Pause, function () { if (!t._player._switchSourcing) { t.removeClass("playing"), t.addClass("pause"); var e = t._player._status; e != s.ended && e != s.error && e != s.playing && t._show() } }); var e = document.querySelector("#" + t.id() + " .outter"); n.on(this.el(), "mouseover", function () { o.addClass(e, "big-playbtn-hover-animation") }), n.on(this.el(), "mouseout", function () { o.removeClass(e, "big-playbtn-hover-animation") }), this.on(a.Private.PlayClick, function () { if (t._player.paused()) { var e = t._player.getCurrentTime(); (t._player.getDuration() <= e || t._player._ended || t._player.exceedPreviewTime(e)) && t._player.seek(0), t._player.play(!0) } else t._player.pause(!0) }), this._player.on(a.Private.Play_Btn_Show, function () { t._show() }), this._player.on(a.Private.Play_Btn_Hide, function () { t._hide() }) }, _show: function () { o.css(this.el(), "display", "block") }, _hide: function () { o.css(this.el(), "display", "none") } }); t.exports = l }, { "../../lib/dom": 18, "../../lib/event": 19, "../../player/base/event/eventtype": 43, "../../player/base/plugin/status": 66, "../component": 94 }], 96: [function (e, t, i) { var r = e("../component"), o = e("../../lib/dom"), n = e("./util"), a = e("../../lang/index"), s = e("../../player/base/event/eventtype"), l = r.extend({ init: function (e, t) { this.isOpened = !1, r.call(this, e, t), this.addClass(t.className || "prism-cc-btn") }, createEl: function () { return r.prototype.createEl.call(this, "div") }, bindEvent: function () { var i = this; this.on("click", function () { o.addClass(i._el, "disabled"); var e = "on", t = ""; i.isOpened ? (i._player._ccService.close(), e = "off") : t = i._player._ccService.open(), i.isOpened = !i.isOpened, i._player.trigger(s.Private.CCStateChanged, { value: e, lang: t }), i.disabledHandler && clearTimeout(i.disabledHandler), i.disabledHandler = setTimeout(function () { o.removeClass(i._el, "disabled") }, 1e3), i._player.trigger(s.Private.MarkerTextHide) }), this._player.on(s.Private.CCChanged, function (e) { var t = e.paramData; i.isOpened = "off" != t }), n.registerTooltipEvent.call(this, this.el(), function () { return i.isOpened ? a.get("CloseSubtitle") : a.get("OpenSubtitle") }) }, disposeUI: function () { this.disabledHandler && (clearTimeout(this.disabledHandler), this.disabledHandler = null) } }); t.exports = l }, { "../../lang/index": 11, "../../lib/dom": 18, "../../player/base/event/eventtype": 43, "../component": 94, "./util": 121 }], 97: [function (e, t, i) { var r = e("../component"), n = e("../../player/base/event/eventtype"), a = e("../../lib/event"), s = e("../../lib/dom"), o = r.extend({ init: function (e, t) { r.call(this, e, t), this.addClass(t.className || "prism-controlbar"), this.initChildren(), this.onEvent() }, createEl: function () { var e = r.prototype.createEl.call(this); return e.innerHTML = '<div class="prism-controlbar-bg"></div>', e }, onEvent: function () { var i = this.player(), e = i.options(), r = this; a.on(this._el, "mouseover", function () { var e = document.querySelector("#" + r.id() + " .prism-progress-cursor"); s.css(e, "display", "block") }), a.on(this._el, "mouseout", function (e) { var t = document.querySelector("#" + r.id() + " .prism-progress-cursor"); s.css(t, "display", "none"), i.trigger(n.Private.ThumbnailHide) }), this.timer = null; var t = e.controlBarVisibility; if (1 == e.controlBarForOver && (t = "hover"), "hover" == t) { r.hide(); var o = function () { r._hideHandler && clearTimeout(r._hideHandler), r._show(), i.fullscreenService.getIsFullScreen() && r._hide() }; i.on(n.Private.MouseOver, function () { o() }), a.on(this._player.tag, "click", function (e) { e && e.target == e.currentTarget && o() }), a.on(this._player.tag, "touchstart", function (e) { e && e.target == e.currentTarget && o() }), i.on(n.Private.MouseOut, function () { r._hideHandler = setTimeout(function () { r.hide(), i.trigger(n.Private.HideBar), i.trigger(n.Private.VolumeVisibilityChange, ""), i.trigger(n.Private.SettingListHide) }) }) } else "click" == t ? (i.on(n.Private.Click, function (e) { i._isError || (e.preventDefault(), e.stopPropagation(), r._show(), r._hide()) }), i.on(n.Player.Ready, function () { r._hide() }), i.on(n.Private.TouchStart, function () { r._show() }), i.on(n.Private.TouchMove, function () { r._show() }), i.on(n.Private.TouchEnd, function () { r._hide() })) : r._show() }, _show: function () { this.show(), this._player.trigger(n.Private.ShowBar), this.timer && (clearTimeout(this.timer), this.timer = null) }, _hide: function () { var e = this, t = this.player().options().showBarTime; this.timer = setTimeout(function () { e.hide(), e._player.trigger(n.Private.HideBar), e._player.trigger(n.Private.VolumeVisibilityChange, ""), e._player.trigger(n.Private.SettingListHide) }, t) }, disposeUI: function () { this.timer && (clearTimeout(this.timer), this.timer = null), this._hideHandler && (clearTimeout(this._hideHandler), this._hideHandler = null) } }); t.exports = o }, {"../../lib/dom": 18, "../../lib/event": 19, "../../player/base/event/eventtype": 43, "../component": 94}], 98: [function (e, t, i) { var r = e("../component"), o = e("../../lib/dom"), n = e("../../player/base/event/eventtype"), a = r.extend({ init: function (e, t) { r.call(this, e, t), this.addClass(t.className || "prism-cover") }, createEl: function () { var e = r.prototype.createEl.call(this, "div"), t = this.options().cover; return t ? e.style.backgroundImage = "url(" + t + ")" : o.css(e, "display", "none"), e }, _hide: function (e) { var t = document.querySelector("#" + this.id() + " .prism-cover"); t && o.css(t, "display", "none") }, _show: function (e) { var t = document.querySelector("#" + this.id() + " .prism-cover"); t && o.css(t, "display", "block") }, bindEvent: function () { this._player.on(n.Private.Cover_Show, this._show), this._player.on(n.Private.Cover_Hide, this._hide) } }); t.exports = a }, {"../../lib/dom": 18, "../../player/base/event/eventtype": 43, "../component": 94}], 99: [function (e, t, i) { var r = e("../component"), h = e("../../lib/util"), f = e("../../lib/dom"), o = e("../../lib/event"), n = e("../../lib/ua"), _ = e("../../lang/index"), a = e("../../player/base/event/eventtype"), s = r.extend({ init: function (e, t) { r.call(this, e, t), this.className = t.className ? t.className : "prism-ErrorMessage", this.addClass(this.className) }, createEl: function () { var e = r.prototype.createEl.call(this, "div"); return e.innerHTML = "<div class='prism-error-content'><p></p></div><div class='prism-error-operation'><a class='prism-button prism-button-refresh'>" + _.get("Refresh_Text") + "</a><a class='prism-button prism-button-retry' target='_blank'>" + _.get("Retry") + "</a><a class='prism-button prism-button-orange' target='_blank'>" + _.get("Detection_Text") + "</a></div><div class='prism-detect-info prism-center'><p class='errorCode'><span class='info-label'>code\uff1a</span><span class='info-content'></span></p><p class='vid'><span class='info-label'>vid:</span><span class='info-content'></span></p><p class='uuid'><span class='info-label'>uuid:</span><span class='info-content'></span></p><p class='requestId'><span class='info-label'>requestId:</span><span class='info-content'></span></p><p class='dateTime'><span class='info-label'>" + _.get("Play_DateTime") + "\uff1a</span><span class='info-content'></span></p></div>", e }, bindEvent: function () { var i = this; i._player.on(a.Private.Error_Show, function (e) { var t = null; i._player.getMonitorInfo && (t = i._player.getMonitorInfo()), i._show(e, t) }), i._player.on(a.Private.Error_Hide, function () { i._hide() }); var e = document.querySelector("#" + i.id() + " .prism-button-refresh"); if (o.on(e, "click", function () { location.reload(!0) }), n.IS_MOBILE) { e = document.querySelector("#" + i.id() + " .prism-detect-info"); f.addClass(e, "prism-width90") } var t = document.querySelector("#" + i.id() + " .prism-button-retry"); o.on(t, "click", function () { var e = i._player.getCurrentTime(), t = i._player._options.source; i._player._setDefaultCC = !0, i._player._loadByUrlInner(t, e, !0) }) }, _show: function (e, t) { var i = e.paramData, r = "", o = ""; i.mediaId && (r = i.mediaId); var n = document.querySelector("#" + this.id() + " .prism-button-orange"); if (n) { if (t && this._player._options.diagnosisButtonVisible) { t.vu ? o = decodeURIComponent(t.vu) : f.css(n, "display", "none"); var a = "//player.alicdn.com/detection.html?from=h5&vid=" + r + "&source=" + (o ? encodeURIComponent(o) : "") + "&uuid=" + t.uuid + "&lang=" + _.getCurrentLanguage(); n && (n.href = a) } else f.css(n, "display", "none"); var s = i.display_msg || i.error_msg; document.querySelector("#" + this.id() + " .prism-error-content p").innerHTML = s, document.querySelector("#" + this.id() + " .errorCode .info-content").innerText = i.error_code; var l = document.querySelector("#" + this.id() + " .vid"); if (i.mediaId ? (f.css(l, "display", "block"), document.querySelector("#" + this.id() + " .vid .info-content").innerText = i.mediaId) : f.css(l, "display", "none"), i.uuid) document.querySelector("#" + this.id() + " .uuid .info-content").innerText = i.uuid; else { var u = document.querySelector("#" + this.id() + " .uuid"); f.css(u, "display", "none") } if (i.requestId) document.querySelector("#" + this.id() + " .requestId .info-content").innerText = i.requestId; else { var c = document.querySelector("#" + this.id() + " .requestId"); f.css(c, "display", "none") } document.querySelector("#" + this.id() + " .dateTime .info-content").innerText = h.formatDate(new Date, "yyyy-MM-dd HH:mm:ss"); var d = document.querySelector("#" + this.id()); f.css(d, "display", "block"); var p = this; p.playHideHandler && clearTimeout(p.playHideHandler), p.playHideHandler = setTimeout(function () { p._player.trigger("play_btn_hide") }) } }, _hide: function () { var e = document.querySelector("#" + this.id()); f.css(e, "display", "none") }, disposeUI: function () { this.playHideHandler && (clearTimeout(this.playHideHandler), this.playHideHandler = null) } }); t.exports = s }, { "../../lang/index": 11, "../../lib/dom": 18, "../../lib/event": 19, "../../lib/ua": 31, "../../lib/util": 33, "../../player/base/event/eventtype": 43, "../component": 94 }], 100: [function (e, t, i) { var r = e("../component"), o = e("../../player/base/event/eventtype"), n = (e("../../lib/event"), e("../../lib/ua")), a = e("../../lang/index"), s = e("./util"), l = r.extend({ init: function (e, t) { r.call(this, e, t), this.addClass(t.className || "prism-fullscreen-btn") }, bindEvent: function () { var e = this; this._player.on(o.Player.RequestFullScreen, function () { n.IS_IOS || e.addClass("fullscreen") }), this._player.on(o.Player.CancelFullScreen, function () { e.removeClass("fullscreen") }), s.registerTooltipEvent.call(this, this.el(), function () { return e._player.fullscreenService.getIsFullScreen() ? a.get("ExistFullScreen") : a.get("Fullscreen") }), this.on("click", function () { e._player.fullscreenService.getIsFullScreen() ? e._player.fullscreenService.cancelFullScreen() : e._player.fullscreenService.requestFullScreen(), e._player.trigger(o.Private.MarkerTextHide) }) } }); t.exports = l }, { "../../lang/index": 11, "../../lib/event": 19, "../../lib/ua": 31, "../../player/base/event/eventtype": 43, "../component": 94, "./util": 121 }], 101: [function (e, t, i) { "use strict"; var r = e("../component"), o = e("../../lib/dom"), n = e("../../player/base/event/eventtype"), a = r.extend({ init: function (e, t) { r.call(this, e, t), this.addClass(t.className || "prism-hide") }, createEl: function () { var e = r.prototype.createEl.call(this, "div"); return e.innerHTML = '<div class="circle"></div> <div class="circle1"></div>', e }, _loading_hide: function (e) { var t = document.querySelector("#" + this.id() + " .prism-loading"); t && (o.removeClass(t, "prism-loading"), o.addClass(t, "prism-hide")) }, _loading_show: function (e) { var t = document.querySelector("#" + this.id() + " .prism-hide"); t && (o.removeClass(t, "prism-hide"), o.addClass(t, "prism-loading")) }, bindEvent: function () { this._player.on(n.Private.H5_Loading_Show, this._loading_show), this._player.on(n.Private.H5_Loading_Hide, this._loading_hide) } }); t.exports = a }, {"../../lib/dom": 18, "../../player/base/event/eventtype": 43, "../component": 94}], 102: [function (e, t, i) { var r = e("../component"), o = (e("../../lib/util"), e("../../lib/dom")), n = (e("../../lib/event"), e("../../lib/ua"), e("../../lang/index"), e("../../player/base/event/eventtype")), a = r.extend({ init: function (e, t) { r.call(this, e, t), this.className = t.className ? t.className : "prism-info-display", this.addClass(this.className) }, createEl: function () { return r.prototype.createEl.call(this, "p") }, bindEvent: function () { var r = this; r._player.on(n.Private.Info_Show, function (e) { var t = document.querySelector("#" + r.id()), i = e.paramData; i && (void 0 !== i.text && i.text ? (t.innerHTML = i.text, void 0 !== i.duration && i.duration && (r.handler && clearTimeout(r.handler), r.handler = setTimeout(function () { o.css(t, "display", "none") }, i.duration)), "lb" == i.align ? (o.addClass(t, "prism-info-left-bottom"), o.removeClass(t, "prism-info-top-center")) : "tc" == i.align ? (o.addClass(t, "prism-info-top-center"), o.removeClass(t, "prism-info-left-bottom")) : (o.removeClass(t, "prism-info-left-bottom"), o.removeClass(t, "prism-info-top-center")), i.isBlack ? o.addClass(t, "prism-info-black") : o.removeClass(t, "prism-info-black")) : t.innerHTML = i, o.css(t, "display", "block")) }), r._player.on(n.Private.Info_Hide, function (e) { var t = document.querySelector("#" + r.id()); o.css(t, "display", "none") }) }, disposeUI: function () { this.handler && (clearTimeout(this.handler), this.handler = null) } }); t.exports = a }, { "../../lang/index": 11, "../../lib/dom": 18, "../../lib/event": 19, "../../lib/ua": 31, "../../lib/util": 33, "../../player/base/event/eventtype": 43, "../component": 94 }], 103: [function (e, t, i) { var r = e("../component"), o = e("./util"), n = (e("../../lib/util"), e("../../lib/dom")), a = e("../../lib/event"), s = e("../../lib/playerUtil"), l = e("../../lang/index"), u = r.extend({ init: function (e, t) { r.call(this, e, t), this.className = t.className ? t.className : "prism-live-display", this.addClass(this.className) }, createEl: function () { var e = r.prototype.createEl.call(this, "p"); return e.innerText = "LIVE", s.isLiveShift(this._player._options) && n.addClass(e, "live-shift-display"), e }, bindEvent: function () { var e = document.querySelector("#" + this.id()), t = this; s.isLiveShift(this._player._options) && (a.on(e, "click", function () { t._player._liveshiftService.switchToLive() }), o.registerTooltipEvent.call(this, this.el(), l.get("SwitchToLive"))) } }); t.exports = u }, { "../../lang/index": 11, "../../lib/dom": 18, "../../lib/event": 19, "../../lib/playerUtil": 28, "../../lib/util": 33, "../component": 94, "./util": 121 }], 104: [function (e, t, i) { var r = e("../component"), o = (e("../../lib/dom"), e("../../lib/event"), e("../../player/base/event/eventtype")), n = e("../../player/base/plugin/status"), a = r.extend({ init: function (e, t) { r.call(this, e, t), this.addClass(t.className || "prism-animation") }, bindEvent: function () { var t = this; this._player.on(o.Player.Play, function () { t._player._isManualPlay && (t.removeClass("prism-pause-animation"), t.addClass("prism-play-animation"), t.removeClass("play-apply-animation"), t.playHandler && clearTimeout(t.playHandler), t.playHandler = setTimeout(function () { t.addClass("play-apply-animation") })) }), this._player.on(o.Player.Pause, function () { var e = t._player._status; e != n.ended && e != n.error && t._player._isManualPause && (t.removeClass("prism-play-animation"), t.addClass("prism-pause-animation"), t.removeClass("play-apply-animation"), t.pauseHandler && clearTimeout(t.pauseHandler), t.pauseHandler = setTimeout(function () { t.addClass("play-apply-animation") })) }) }, disposeUI: function () { this.playHandler && (clearTimeout(this.playHandler), this.playHandler = null), this.pauseHandler && (clearTimeout(this.pauseHandler), this.pauseHandler = null) } }); t.exports = a }, { "../../lib/dom": 18, "../../lib/event": 19, "../../player/base/event/eventtype": 43, "../../player/base/plugin/status": 66, "../component": 94 }], 105: [function (e, t, i) { var r = e("../component"), o = e("../../player/base/event/eventtype"), n = e("./util"), a = e("../../lang/index"), s = r.extend({ init: function (e, t) { r.call(this, e, t), this.addClass(t.className || "prism-play-btn") }, bindEvent: function () { var t = this; this._player.on(o.Player.Play, function () { t.addClass("playing") }), this._player.on(o.Player.Pause, function () { t.removeClass("playing") }), this.on(o.Private.PlayClick, function () { if (t._player.paused()) { var e = t._player.getCurrentTime(); (t._player.getDuration() <= e || t._player._ended || t._player.exceedPreviewTime(e)) && t._player.seek(0), t._player.play(!0), t.addClass("playing") } else t._player.pause(!0), t.removeClass("playing"); t._player.trigger(o.Private.MarkerTextHide) }), n.registerTooltipEvent.call(this, this.el(), function () { return t._player.paused() ? a.get("Play") : a.get("Pause") }) } }); t.exports = s }, {"../../lang/index": 11, "../../player/base/event/eventtype": 43, "../component": 94, "./util": 121}], 106: [function (e, t, i) { var r = e("../component"), a = e("../../lib/dom"), n = (e("../../lib/constants"), e("../../lib/event")), s = e("../../lib/ua"), l = e("../../lib/function"), o = e("../../lang/index"), u = e("../../config"), c = e("../../lib/util"), d = e("../../player/base/event/eventtype"), p = r.extend({ init: function (e, t) { r.call(this, e, t), this.className = t.className ? t.className : "prism-progress", this.addClass(this.className) }, createEl: function () { var e = r.prototype.createEl.call(this); return e.innerHTML = '<div class="prism-progress-loaded"></div><div class="prism-progress-played"></div><div class="prism-progress-marker"></div><div class="prism-progress-cursor"><img></img></div><p class="prism-progress-time"></p>', e }, bindEvent: function () { var t = this; this.loadedNode = document.querySelector("#" + this.id() + " .prism-progress-loaded"), this.playedNode = document.querySelector("#" + this.id() + " .prism-progress-played"), this.cursorNode = document.querySelector("#" + this.id() + " .prism-progress-cursor"), this.timeNode = document.querySelector("#" + this.id() + " .prism-progress-time"), this.timeNode = document.querySelector("#" + this._player._options.id + " .prism-progress-time"); var i = document.querySelector("#" + this.id()), e = document.querySelector("#" + this.id() + " .prism-progress-cursor img"), r = "https://" + u.domain + "/de/prismplayer/" + u.h5Version + "/skins/default/img/dragcursor.png"; u.domain ? -1 < u.domain.indexOf("localhost") && (r = "//" + u.domain + "/build/skins/default/img/dragcursor.png") : r = "de/prismplayer/" + u.h5Version + "/skins/default/img/dragcursor.png", e.src = r, n.on(this.cursorNode, "mousedown", function (e) { t._onMouseDown(e) }), n.on(this.cursorNode, "touchstart", function (e) { t._onMouseDown(e) }), n.on(i, "mousemove", function (e) { t._progressMove(e) }), n.on(i, "touchmove", function (e) { t._progressMove(e) }); var o = function (e) { t._progressDown = e }; n.on(i, "mousedown", function (e) { o(!0) }), n.on(i, "touchstart", function (e) { o(!0) }), n.on(i, "mouseup", function (e) { o(!1) }), n.on(i, "touchend", function (e) { o(!1) }), n.on(this._el, "click", function (e) { t._onMouseClick(e) }), this._player.on(d.Private.HideProgress, function (e) { t._hideProgress(e) }), this._player.on(d.Private.CancelHideProgress, function (e) { t._cancelHideProgress(e) }), n.on(i, d.Private.MouseOver, function (e) { t._onMouseOver(e) }), n.on(i, d.Private.MouseOut, function (e) { t._onMouseOut(e) }), n.on(this.controlNode, d.Private.MouseLeave, function (e) { t._offMouseUp() }), s.IS_PC ? (n.on(i, "mouseover", function () { a.addClass(i, "prism-progress-hover"), a.addClass(t.cursorNode, "cursor-hover") }), n.on(i, "mouseout", function (e) { a.removeClass(i, "prism-progress-hover"), a.removeClass(t.cursorNode, "cursor-hover"), t._progressDown = !1 })) : (a.addClass(i, "prism-progress-hover"), a.addClass(t.cursorNode, "cursor-hover")), this.bindTimeupdate = l.bind(this, this._onTimeupdate), this._player.on(d.Player.TimeUpdate, this.bindTimeupdate), s.IS_IPAD ? this.interval = setInterval(function () { t._onProgress() }, 500) : this._player.on(d.Video.Progress, function () { t._onProgress() }) }, _progressMove: function (e) { e.preventDefault(); var t = this._getSeconds(e); if (t != 1 / 0) { var i = c.formatTime(t), r = this._getDistance(e); this.cursorNode && (this._player.trigger(d.Private.ThumbnailShow, { time: t, formatTime: i, left: r, progressWidth: this.el().offsetWidth }), this._progressDown && this._onMouseMove(e)) } }, _hideProgress: function (e) { n.off(this.cursorNode, "mousedown"), n.off(this.cursorNode, "touchstart") }, _cancelHideProgress: function (e) { var t = this; n.on(this.cursorNode, "mousedown", function (e) { t._onMouseDown(e) }), n.on(this.cursorNode, "touchstart", function (e) { t._onMouseDown(e) }) }, _canSeekable: function (e) { var t = !0; return "function" == typeof this._player.canSeekable && (t = this._player.canSeekable(e)), t }, _onMouseOver: function (e) { this._cursorHideHandler && (clearTimeout(this._cursorHideHandler), this._cursorHideHandler = null), this._mouseInProgress || this._updateCursorPosition(this._player.getCurrentTime()), this._mouseInProgress = !0 }, _onMouseOut: function (e) { var t = this; this._cursorHideHandler && clearTimeout(this._cursorHideHandler), this._cursorHideHandler = setTimeout(function () { t._player.trigger(d.Private.ThumbnailHide), t._mouseInProgress = !1 }) }, _getSeconds: function (e) { var t = this._getDistance(e), i = this.el().offsetWidth, r = this._player.getDuration() ? t / i * this._player.getDuration() : 0; return r < 0 && (r = 0), r > this._player.getDuration() && (r = this._player.getDuration()), r }, _getDistance: function (e) { for (var t = this.el().offsetLeft, i = this.el(); i = i.offsetParent;) { var r = a.getTranslateX(i); t += i.offsetLeft + r } var o = e.touches ? e.touches[0].pageX : e.pageX; return Math.abs(o - t) }, _onMouseClick: function (e) { var t = this, i = t._getSeconds(e); if (t._canSeekable(i)) { t._player.exceedPreviewTime(i) && (i = t._player.getPreviewTime()), t._updateCursorPosition(i); this._mouseClickTimeHandle && clearTimeout(this._mouseClickTimeHandle), this._mouseClickTimeHandle = setTimeout(function () { t._player._seeking = !0, t._player.trigger(d.Private.SeekStart, {fromTime: t._player.getCurrentTime()}), t._player.seek(i), t._player.trigger(d.Private.EndStart, {toTime: i}), t._mouseClickTimeHandle = null, t._inWaitingSeek = !1 }, 300), this._inWaitingSeek = !0 } else t._player.trigger(d.Private.Info_Show, {text: o.get("Can_Not_Seekable"), duration: 2e3}) }, _onMouseDown: function (e) { var t = this; e.preventDefault(), this._player.trigger(d.Private.SeekStart, {fromTime: this._player.getCurrentTime()}), n.on(this.controlNode, "mousemove", function (e) { t._onMouseMove(e) }), n.on(this.controlNode, "touchmove", function (e) { t._onMouseMove(e) }), n.on(this._player.tag, "mouseup", function (e) { t._onPlayerMouseUp(e) }), n.on(this._player.tag, "touchend", function (e) { t._onPlayerMouseUp(e) }), n.on(this.controlNode, "mouseup", function (e) { t._onControlBarMouseUp(e) }), n.on(this.controlNode, "touchend", function (e) { t._onControlBarMouseUp(e) }) }, _onMouseUp: function (e) { this._onMouseUpIntern(e) }, _onControlBarMouseUp: function (e) { this._onMouseUpIntern(e) }, _onPlayerMouseUp: function (e) { this._onMouseUpIntern(e) }, _offMouseUp: function () { n.off(this.controlNode, "mousemove"), n.off(this.controlNode, "touchmove"), n.off(this._player.tag, "mouseup"), n.off(this._player.tag, "touchend"), n.off(this.controlNode, "mouseup"), n.off(this.controlNode, "touchend") }, _onMouseUpIntern: function (e) { e.preventDefault(), this._offMouseUp(); var t = this.playedNode.offsetWidth / this.el().offsetWidth * this._player.getDuration(); this._player.getDuration(); isNaN(t) || this._player.seek(t), this._player.trigger(d.Private.EndStart, {toTime: t}) }, _onMouseMove: function (e) { e.preventDefault(); var t = this._getSeconds(e); this._player.exceedPreviewTime(t) && (t = this._player.getPreviewTime()), this._player.seek(t), this._updateProgressBar(this.playedNode, t), this._updateCursorPosition(t) }, _onTimeupdate: function (e) { this._inWaitingSeek || this._player._seeking || this._progressDown || (this._updateProgressBar(this.playedNode, this._player.getCurrentTime()), this._updateCursorPosition(this._player.getCurrentTime()), this._player.trigger(d.Private.UpdateProgressBar, {time: this._player.getCurrentTime()})) }, _onProgress: function (e) { this._player.getDuration() && 1 <= this._player.getBuffered().length && this._updateProgressBar(this.loadedNode, this._player.getBuffered().end(this._player.getBuffered().length - 1)) }, _updateProgressBar: function (e, t) { var i = this._player.getDuration(); if (1 != this._player._switchSourcing && i) { var r = t / i + .005; 1 < r && (r = 1), e && a.css(e, "width", 100 * r + "%") } }, _updateCursorPosition: function (e) { var t = this._player.getDuration(); if (1 != this._player._switchSourcing && t) { var i = 1, r = this._player.el().clientWidth, o = 10 / r, n = e / t - o; 0 != r && (i = 1 - o), n = n < 0 ? 0 : n, this.cursorNode && (i < n ? (a.css(this.cursorNode, "right", "0px"), a.css(this.cursorNode, "left", "auto")) : (a.css(this.cursorNode, "right", "auto"), a.css(this.cursorNode, "left", 100 * n + "%"))) } }, disposeUI: function () { this.cursorNodeHandler && (clearTimeout(this.cursorNodeHandler), this.cursorNodeHandler = null), this._cursorHideHandler && (clearTimeout(this._cursorHideHandler), this._cursorHideHandler = null), this._mouseClickTimeHandle && (clearTimeout(this._mouseClickTimeHandle), this._mouseClickTimeHandle = null) } }); t.exports = p }, { "../../config": 5, "../../lang/index": 11, "../../lib/constants": 15, "../../lib/dom": 18, "../../lib/event": 19, "../../lib/function": 20, "../../lib/ua": 31, "../../lib/util": 33, "../../player/base/event/eventtype": 43, "../component": 94 }], 107: [function (e, t, i) { var r = e("../component"), o = (e("../../lib/util"), e("../../lib/dom")), n = e("../../lib/event"), a = e("../../player/base/event/eventtype"), s = r.extend({ init: function (e, t) { r.call(this, e, t), this.className = t.className ? t.className : "prism-marker-text", this.addClass(this.className) }, createEl: function () { var e = r.prototype.createEl.call(this, "div"); return e.innerHTML = "<p></p>", e }, bindEvent: function () { var r = this; r._player.on(a.Private.MarkerTextShow, function (e) { var t = e.paramData, i = a.Player.MarkerDotOver; if (r._player.trigger(i, e.paramData), t.progressMarker.isCustomized) r._player.trigger(a.Private.LifeCycleChanged, { type: i, data: e.paramData }); else { r._thumbnailShowHanlde && (o.css(r.el(), "display", "none"), clearTimeout(r._thumbnailShowHanlde)), r._thumbnailShowHanlde = setTimeout(function () { if (document.querySelector("#" + r.id() + " p").innerText = t.progressMarker.text || "", t) { o.css(r.el(), "display", "block"); var e = r._player.el().offsetWidth; left = e * t.left, width = r.el().offsetWidth, left + width > e ? (o.css(r.el(), "right", "0px"), o.css(r.el(), "left", "auto")) : (left -= width / 2, left = left < 0 ? 0 : left, o.css(r.el(), "right", "auto"), o.css(r.el(), "left", left + "px")) } }, 30) } }), r._player.on(a.Private.MarkerTextHide, function (e) { r._player.trigger(a.Player.MarkerDotOut), r._player.trigger(a.Private.LifeCycleChanged, { type: a.Player.MarkerDotOut, data: "" }), r._thumbnailShowHanlde && clearTimeout(r._thumbnailShowHanlde), o.css(r.el(), "display", "none") }), n.on(r._player.tag, "click", function (e) { e && e.target == e.currentTarget && r._player.trigger(a.Private.MarkerTextHide) }), n.on(r._player.tag, "touchstart", function (e) { e && e.target == e.currentTarget && r._player.trigger(a.Private.MarkerTextHide) }) }, disposeUI: function () { this._thumbnailShowHanlde && (clearTimeout(this._thumbnailShowHanlde), this._thumbnailShowHanlde = null) } }); t.exports = s }, { "../../lib/dom": 18, "../../lib/event": 19, "../../lib/util": 33, "../../player/base/event/eventtype": 43, "../component": 94 }], 108: [function (e, t, i) { var r = e("./selector"), s = e("../../../lib/object"), u = (e("../../../lib/util"), e("../../../lib/cookie")), l = e("../../../lib/dom"), c = (e("../../../lib/event"), e("../../../lib/constants")), d = e("../../../lang/index"), p = e("../../../player/base/event/eventtype"), o = r.extend({ init: function (e, t) { this.Name = d.get("Quality"), this.Type = "quality", this.Tooltip = d.get("Quality_Switch_To"), r.call(this, e, t), this._isMasterLevel = !1 }, showTip: function (e, t) { this._player.trigger(p.Private.Info_Show, {text: e, duration: t, align: "lb"}) }, bindEvent: function () { this.bindCommonEvent(); var s = this; this._player.on(p.Private.QualityChange, function (e) { var t = s._player._urls, i = e.paramData; if (i.levelSwitch) { var r = i.desc; s._autoSWitchDesc = r, s._updateText(r) } else if (0 < s._player._currentPlayIndex) { s._autoSWitchDesc = ""; var o = s._player._currentPlayIndex, n = t[o - 1].desc, a = t[o].desc; s.showTip(n + e.paramData + a, 1e3), s._player.trigger(p.Private.SelectorValueChange, t[o].Url) } }); var e = document.querySelector("#" + s.id() + " .selector-list"); this._player.on(p.Player.LevelSwitch, function () { l.addClass(e, "disabled") }), this._player.on(p.Player.LevelSwitched, function () { l.removeClass(e, "disabled") }) }, generateList: function (e) { var t = this._player._urls, o = this._player._currentPlayIndex, i = this._player._qualityService.levels; 0 < i.length && (this._isMasterLevel = !0, o = (t = i).length - 1); var n = document.querySelector("#" + this.id() + " .selector-list"); if (0 < t.length) { var a = this; s.each(t, function (e, t) { if (e.desc) { var i = l.createEl.call(this, "li", {key: e.Url, index: t, text: e.desc}), r = l.createEl.call(this, "span", {key: e.Url, index: t, text: e.desc}); t == o && (l.addClass(i, "current"), a._previousSelection = i), r.innerText = e.desc, i.appendChild(r), n.appendChild(i) } }) } this._autoSWitchDesc && this._updateText(this._autoSWitchDesc) }, execute: function (e) { if (this._player._switchSourcing = !0, this._isMasterLevel) { var t = this._player._qualityService.levels; for (n = 0; n < t.length; n++) t[n].Url == e && t[n].desc != d.get("Auto") && this._updateText(""); this._player._switchLevel && this._player._switchLevel(e) } else { for (var i = this._player._urls.length, r = this._player._currentPlayIndex, o = -1, n = 0; n < i; n++) if (this._player._urls[n].Url == e) { o = this._player._currentPlayIndex = n, u.set(c.SelectedStreamLevel, this._player._urls[n].definition, 365); break } if (r != o && -1 < o) { var a = this._player.getCurrentTime(); this._previousCurrentTime ? "playing" != this._player._status && (a = this._previousCurrentTime) : this._previousCurrentTime = a, this._previousCurrentTime = a; var s = this._player.autoplay || "pause" != this._player._status; this._player.autoplay || 0 != a || (s = !1), this._player._loadByUrlInner(e, a, s) } } var l = this; setTimeout(function () { l._player._switchSourcing = !1 }) }, _updateText: function (e) { var t = document.querySelector("#" + this.id() + " .selector-list .current"), i = document.querySelector("#" + this.id() + " .selector-list .current span"), r = d.get("Auto"); i && i.innerText && -1 < i.innerText.indexOf(r) && (r += e ? "(" + e + ")" : "", i.innerText = r, t && (t.text = r)) } }); t.exports = o }, { "../../../lang/index": 11, "../../../lib/constants": 15, "../../../lib/cookie": 16, "../../../lib/dom": 18, "../../../lib/event": 19, "../../../lib/object": 26, "../../../lib/util": 33, "../../../player/base/event/eventtype": 43, "./selector": 114 }], 109: [function (e, t, i) { var r = e("./selector"), a = e("../../../lib/object"), s = (e("../../../lib/util"), e("../../../lib/cookie"), e("../../../lib/dom")), o = (e("../../../lib/event"), e("./util"), e("../../../lang/index")), l = e("../../../player/base/event/eventtype"), n = r.extend({ init: function (e, t) { this.Name = o.get("AudioTrack"), this.Type = "audio", this.Tooltip = o.get("AudioTrack_Switch_To"), r.call(this, e, t) }, bindEvent: function () { this.bindCommonEvent(); var o = this, n = document.querySelector("#" + o.id() + " .selector-list"); document.querySelector("#" + o.id() + " .header"); o._player.on(l.Private.ChangeURL, function () { o._hasGeneratedList = !1 }), this._player.on(l.Player.AudioTrackSwitch, function () { s.addClass(n, "disabled") }), this._player.on(l.Player.AudioTrackSwitched, function () { s.removeClass(n, "disabled") }), o._player.on(l.Player.AudioTrackReady, function (e) { o._hasGeneratedList || (o._clear(), (e = e.paramData) && (a.each(e, function (e, t) { var i = s.createEl.call(o, "li", {key: e.value, text: e.text}), r = s.createEl.call(o, "span", {key: e.value, text: e.text}); r.innerText = e.text, i.appendChild(r), n.appendChild(i) }), o._hasGeneratedList = !0)) }) }, execute: function (e) { this._player._audioTrackService["switch"](e) } }); t.exports = n }, { "../../../lang/index": 11, "../../../lib/cookie": 16, "../../../lib/dom": 18, "../../../lib/event": 19, "../../../lib/object": 26, "../../../lib/util": 33, "../../../player/base/event/eventtype": 43, "./selector": 114, "./util": 116 }], 110: [function (e, t, i) { var r = e("../../component"), o = (e("../../../lib/dom"), e("../../../player/base/event/eventtype")), n = e("./list"), a = e("../../../lang/index"), s = e("../util"), l = r.extend({ init: function (e, t) { r.call(this, e, t), this.addClass(t.className || "prism-setting-btn"), this._settingList = new n(e, t), e.addChild(this._settingList, t) }, createEl: function () { return r.prototype.createEl.call(this, "div") }, bindEvent: function () { var e = this; this.on("click", function () { e._settingList.isOpened ? e._player.trigger(o.Private.SettingListHide) : e._player.trigger(o.Private.SettingListShow), e._player.trigger(o.Private.SelectorHide), e._player.trigger(o.Private.MarkerTextHide), e._player.trigger(o.Private.VolumeVisibilityChange, "") }), s.registerTooltipEvent.call(this, this.el(), a.get("Setting")) } }); t.exports = l }, { "../../../lang/index": 11, "../../../lib/dom": 18, "../../../player/base/event/eventtype": 43, "../../component": 94, "../util": 121, "./list": 113 }], 111: [function (e, t, i) { var r = e("./selector"), s = e("../../../lib/object"), l = e("../../../lib/dom"), o = (e("../../../lib/event"), e("./util"), e("../../../lib/cookie")), n = e("../../../lib/constants"), a = e("../../../lang/index"), u = e("../../../player/base/event/eventtype"), c = r.extend({ init: function (e, t) { this.Name = a.get("Subtitle"), this.Type = "cc", this.Tooltip = a.get("CC_Switch_To"), r.call(this, e, t) }, bindEvent: function () { this.bindCommonEvent(); var o = this; this._player.on(u.Private.CCStateChanged, function (e) { var t = e.paramData.value, i = e.paramData.lang; "on" == t && i ? o._backCCText = i : "off" == t && "" == o._backCCText && (o._backCCText = o._previousSelection.text); var r = "Off"; "on" == t && (r = o._backCCText), o._player.trigger(u.Private.SelectorUpdateList, { type: "cc", text: r }) }) }, generateList: function (o) { var n = document.querySelector("#" + this.id() + " .selector-list"), e = this._player._ccService.tracks, a = this; s.each(e, function (e, t) { var i = l.createEl.call(this, "li", {key: e.value, text: e.text}), r = l.createEl.call(this, "span", {key: e.value, text: e.text}); e.text == o && (l.addClass(i, "current"), a._previousSelection = i), r.innerText = e.text, i.appendChild(r), n.appendChild(i) }) }, execute: function (e) { this._backCCText = "", o.set(n.SelectedCC, e, 365), this._player._ccService["switch"](e), this._player.trigger(u.Private.CCChanged, e) } }); t.exports = c }, { "../../../lang/index": 11, "../../../lib/constants": 15, "../../../lib/cookie": 16, "../../../lib/dom": 18, "../../../lib/event": 19, "../../../lib/object": 26, "../../../player/base/event/eventtype": 43, "./selector": 114, "./util": 116 }], 112: [function (e, t, i) { t.exports = {CC: e("./cc"), Speed: e("./speed"), Quality: e("./Quality"), Audio: e("./audio")} }, {"./Quality": 108, "./audio": 109, "./cc": 111, "./speed": 115}], 113: [function (e, t, i) { var a = e("../../component"), r = e("../../../lib/dom"), n = e("../../../lib/ua"), s = e("../../../lib/event"), l = e("../../../player/base/event/eventtype"), o = e("./export"), u = e("./util"), c = e("../../../lang/index"), d = a.extend({ init: function (e, t) { for (var i in this.isOpened = !1, a.call(this, e, t), this.addClass(t.className || "prism-setting-list"), o) { var r = new o[i](e, t); e.addChild(r, t) } }, createEl: function () { var e = a.prototype.createEl.call(this, "div"), t = "<div class='prism-setting-item prism-setting-{type}' type={type}><div class='setting-content'><span class='setting-title'>{value}</span><span class='array'></span><span class='current-setting'></span></div></div>", i = t.replace(/{type}/g, "speed").replace("{value}", c.get("Speed")), r = t.replace(/{type}/g, "cc").replace("{value}", c.get("Subtitle")), o = t.replace(/{type}/g, "audio").replace("{value}", c.get("AudioTrack")), n = t.replace(/{type}/g, "quality").replace("{value}", c.get("Quality")); return e.innerHTML = i + r + o + n, e }, bindEvent: function () { document.querySelector("#" + this.id() + " .prism-setting-speed .current-setting").innerText = c.get("Speed_1X_Text"); var o = this, t = function () { o._player.trigger(l.Private.SettingListHide), o.isOpened = !1 }, i = function (e) { e && e.text && (document.querySelector("#" + o.id() + " .prism-setting-" + e.type + " .current-setting").innerText = e.text) }; this._player.on(l.Private.SettingListShow, function (e) { o.isOpened = !0; e = e.paramData; i(e), r.css(o.el(), "display", "block") }), this._player.on(l.Private.UpdateToSettingList, function (e) { e = e.paramData; i(e) }), this._player.on(l.Private.SelectorUpdateList, function (e) { e = e.paramData; i(e), o._player.trigger(l.Private.SelectorValueChange, e) }), this._player.on(l.Private.SettingListHide, function () { o.isOpened = !1, r.css(o.el(), "display", "none") }), s.on(this.el(), "click", function (e) { o._player.trigger(l.Private.SettingListHide); var t = e.srcElement ? e.srcElement : e.target; if (t = u.findItemElementForList(t)) { var i = t.getAttribute("type"); o._player.trigger(l.Private.SelectorShow, {type: i}) } }); var e = n.IS_MOBILE ? "touchleave" : "mouseleave"; s.on(this.el(), e, function () { t() }), s.on(this._player.tag, "click", function (e) { e && e.target == e.currentTarget && t() }), s.on(this._player.tag, "touchstart", function (e) { e && e.target == e.currentTarget && t() }), this._player.on(l.Private.QualityChange, function (e) { var t = e.paramData; if (t.levelSwitch) { var i = document.querySelector("#" + o.id() + " .prism-setting-quality .current-setting"), r = c.get("Auto"); -1 < i.innerText.indexOf(r) && (i.innerText = r + (t.desc ? "(" + t.desc + ")" : "")) } }) } }); t.exports = d }, { "../../../lang/index": 11, "../../../lib/dom": 18, "../../../lib/event": 19, "../../../lib/ua": 31, "../../../player/base/event/eventtype": 43, "../../component": 94, "./export": 112, "./util": 116 }], 114: [function (e, t, i) { var r = e("../../component"), o = (e("../../../lib/object"), e("../../../lib/util"), e("../../../lib/ua")), a = (e("../../../lib/cookie"), e("../../../lib/dom")), s = e("../../../lib/event"), l = e("./util"), u = (e("../../../lang/index"), e("../../../player/base/event/eventtype")), n = r.extend({ init: function (e, t) { this._hasGeneratedList = !1, this._previousSelection = null, this._backupSelector = "", r.call(this, e, t), this.className = t.className ? t.className : "prism-" + this.Type + "-selector prism-setting-selector", this.addClass(this.className) }, createEl: function () { var e = r.prototype.createEl.call(this, "div"); return e.innerHTML = '<div class="header"><div class="left-array"></div><span>' + this.Name + '</span></div><ul class="selector-list"></ul>', e }, bindEvent: function () { this.bindCommonEvent() }, bindCommonEvent: function () { var n = this, e = document.querySelector("#" + n.id() + " .selector-list"), t = document.querySelector("#" + n.id() + " .header"); this._player.on(u.Private.ChangeURL, function () { n._hasGeneratedList = !1 }), s.on(t, "click", function () { n._player.trigger(u.Private.SelectorHide), n._player.trigger(u.Private.SettingListShow, { type: n.Type, text: n._previousSelection ? n._previousSelection.text : "" }) }), s.on(e, "click", function (e) { var t = e.srcElement ? e.srcElement : e.target, i = t.key, r = t.text; if (void 0 !== r) { n._previousSelection && a.removeClass(n._previousSelection, "current"), n._previousSelection = l.findliElementForSelector(t), a.addClass(n._previousSelection, "current"), n.execute && n.execute(i); var o = n.Tooltip + "<span>" + r + "</span>"; n._player.trigger(u.Private.Info_Show, {text: o, duration: 1e3, align: "lb"}) } }), n._player.on(u.Private.SelectorHide, function () { i() }), n._player.on(u.Private.SelectorValueChange, function (e) { var t = e.paramData; if (t) { if (t.type != n.Type) return; var i = document.querySelectorAll("#" + n.id() + " .selector-list li"); if (i) { var r = i.length; 0 == r && (n._backupSelector = t.text); for (var o = 0; o < r; o++) if (i[o].text == t.text) { n._previousSelection && a.removeClass(n._previousSelection, "current"), a.addClass(i[o], "current"), n._previousSelection = i[o]; break } } } }), n._player.on(u.Private.SelectorShow, function (e) { if ((e = e.paramData).type == n.Type) { var t = document.querySelector("#" + n._player.id() + " .prism-" + e.type + "-selector"); n._hasGeneratedList || (n._clear(), n.generateList(n._backupSelector), n._backupSelector = "", n._hasGeneratedList = !0), a.css(t, "display", "block") } }); var i = function () { a.css(n.el(), "display", "none"), n._player.trigger(u.Private.UpdateToSettingList, { type: n.Type, text: n._previousSelection ? n._previousSelection.text : "" }) }, r = o.IS_MOBILE ? "touchleave" : "mouseleave"; s.on(this.el(), r, function () { i() }), s.on(this._player.tag, "click", function (e) { e && e.target == e.currentTarget && i() }), s.on(this._player.tag, "touchstart", function (e) { e && e.target == e.currentTarget && i() }) }, setSelected: function (e) { }, generateList: function () { }, _clear: function () { document.querySelector("#" + this.id() + " .selector-list").innerHTML = "" } }); t.exports = n }, { "../../../lang/index": 11, "../../../lib/cookie": 16, "../../../lib/dom": 18, "../../../lib/event": 19, "../../../lib/object": 26, "../../../lib/ua": 31, "../../../lib/util": 33, "../../../player/base/event/eventtype": 43, "../../component": 94, "./util": 116 }], 115: [function (e, t, i) { var r = e("./selector"), a = e("../../../lib/object"), s = (e("../../../lib/util"), e("../../../lib/cookie"), e("../../../lib/dom")), l = (e("../../../lib/event"), e("./util"), e("../../../lib/constants")), u = e("../../../lang/index"), o = (e("../../../player/base/event/eventtype"), r.extend({ init: function (e, t) { this.Name = u.get("Speed"), this.Type = "speed", this.Tooltip = u.get("Speed_Switch_To"), r.call(this, e, t) }, generateList: function () { var o = document.querySelector("#" + this.id() + " .selector-list"), e = l.SpeedLevels, n = this; a.each(e, function (e, t) { var i = s.createEl.call(this, "li", {key: e.key, text: e.text}), r = s.createEl.call(this, "span", {key: e.key, text: e.text}); r.innerText = e.text, e.text == u.get("Speed_1X_Text") && (s.addClass(i, "current"), n._previousSelection = i), i.appendChild(r), o.appendChild(i) }) }, execute: function (e) { this._player.setSpeed(e) } })); t.exports = o }, { "../../../lang/index": 11, "../../../lib/constants": 15, "../../../lib/cookie": 16, "../../../lib/dom": 18, "../../../lib/event": 19, "../../../lib/object": 26, "../../../lib/util": 33, "../../../player/base/event/eventtype": 43, "./selector": 114, "./util": 116 }], 116: [function (e, i, t) { i.exports.findliElementForSelector = function (e) { if (!e || "li" == e.tagName.toLowerCase()) return e; var t = e.parentElement; return t && "li" == t.tagName.toLowerCase() ? t : null }, i.exports.findliElementByKey = function (e, t) { document.querySelectors(e); return null }, i.exports.findItemElementForList = function (e) { if (!e || -1 < e.className.indexOf("prism-setting-item")) return e; var t = e.parentElement; return t && (e = i.exports.findItemElementForList(t)), e } }, {}], 117: [function (e, t, i) { var r = e("../component"), o = e("../../lib/dom"), f = e("../../lib/util"), n = e("../../lang/index"), _ = e("../../player/base/event/eventtype"), a = e("./util"), s = r.extend({ init: function (e, t) { r.call(this, e, t), this.addClass(t.className || "prism-snapshot-btn") }, createEl: function () { return r.prototype.createEl.call(this, "div") }, bindEvent: function () { var h = this; this._player.on(_.Private.Snapshot_Hide, function () { o.css(h._el, "display", "none") }), a.registerTooltipEvent.call(this, this.el(), n.get("Snapshot")), this.on("click", function () { h.trigger(_.Player.Snapshoting); var e = document.createElement("canvas"), t = h._player.tag, i = t.videoWidth, r = t.videoHeight, o = h._player._getSanpshotMatric(); e.width = o.width || i, e.height = o.height || r; var n = h._player.getCurrentTime(), a = e.getContext("2d"); a.save(); var s = h._player.getImage(); "vertical" == s ? (a.translate(0, e.height), a.scale(1, -1)) : "horizon" == s && (a.translate(e.width, 0), a.scale(-1, 1)), a.drawImage(t, 0, 0, i, r), a.restore(), g(a, h._player.getOptions()); var l = "", u = ""; try { l = e.toDataURL("image/jpeg", o.rate || 1) } catch (e) { u = e } var c = "", d = "", p = ""; l && (d = (c = l).substr(c.indexOf(",") + 1), p = f.toBinary(d)), h.trigger(_.Player.Snapshoted, { time: n, base64: c, binary: p, error: u }) }) } }), g = function (e, t) { var i = t.snapshotWatermark; i && i.text && (e.font = i.font, i.fillColor && (e.fillStyle = i.fillColor, e.fillText(i.text, i.left, i.top)), i.strokeColor && (e.strokeStyle = i.strokeColor, e.strokeText(i.text, i.left, i.top)), e.stroke()) }; t.exports = s }, { "../../lang/index": 11, "../../lib/dom": 18, "../../lib/util": 33, "../../player/base/event/eventtype": 43, "../component": 94, "./util": 121 }], 118: [function (e, t, i) { var r = e("../component"), c = (e("../../lib/util"), e("../../lib/dom")), o = e("../../lib/event"), n = (e("../../lib/ua"), e("../../lang/index"), e("../../player/base/event/eventtype")), a = r.extend({ init: function (e, t) { r.call(this, e, t), this.className = t.className ? t.className : "prism-thumbnail", this.addClass(this.className) }, createEl: function () { var e = r.prototype.createEl.call(this, "div"); return e.innerHTML = "<img></img><span></span>", e }, bindEvent: function () { var u = this; o.on(this._el, "mousemove", function (e) { e.preventDefault() }), o.on(this._el, "touchmove", function (e) { e.preventDefault() }), u._player.on(n.Private.ThumbnailLoaded, function (e) { var t = e.paramData; if (t && 0 < t.length) { var i = u._player._thumbnailService.makeUrl(t[0].text); u._player.log("THUMBNAILSTART", {tu: encodeURIComponent(i)}); var r = (new Date).getTime(); if (t[0].isBig) c.css(u.el(), "background", "url(" + i + ")"), c.css(u.el(), "width", t[0].w + "px"), c.css(u.el(), "height", t[0].h + "px"), u._player.log("THUMBNAILCOMPLETE", {ftt: (new Date).getTime() - r}); else { var o = document.querySelector("#" + u.id() + " img"); o.onload = function () { var e = o.width, t = o.height; c.css(u.el(), "width", e + "px"), c.css(u.el(), "height", t + "px"), u._player.log("THUMBNAILCOMPLETE", {ftt: (new Date).getTime() - r}) }, o.src = i } } }), u._player.on(n.Private.ThumbnailShow, function (l) { u._thumbnailShowHanlde && clearTimeout(u._thumbnailShowHanlde), u._thumbnailShowHanlde = setTimeout(function () { var e = document.querySelector("#" + u.id() + " span"), t = l.paramData; if (e.innerText = t.formatTime, t) { var i = u._player._thumbnailService.findAvailableCue(t.time); if (i) if (i.isBig) { var r = u._player._thumbnailService.makeUrl(i.text); c.css(u.el(), "background", "url(" + r + ")"), i.w, i.h; var o = -1 * i.x + "px " + -1 * i.y + "px"; c.css(u.el(), "background-position", o) } else { var n = document.querySelector("#" + u.id() + " img"); r = u._player._thumbnailService.makeUrl(i.text), n.src != r && (n.src = r) } else c.css(u.el(), "border", "none"), c.css(e, "left", "0px"); c.css(u.el(), "display", "block"); var a = 0, s = i ? u.el().offsetWidth : e.offsetWidth; a = t.left + s > t.progressWidth ? t.left - s : (a = t.left - s / 2) < 0 ? 0 : a, c.css(u.el(), "left", a + "px") } }, 30) }), u._player.on(n.Private.ThumbnailHide, function (e) { u._thumbnailShowHanlde && clearTimeout(u._thumbnailShowHanlde), c.css(u.el(), "display", "none") }) }, _createSamllThumbnail: function () { }, disposeUI: function () { this._thumbnailShowHanlde && (clearTimeout(this._thumbnailShowHanlde), this._thumbnailShowHanlde = null) } }); t.exports = a }, { "../../lang/index": 11, "../../lib/dom": 18, "../../lib/event": 19, "../../lib/ua": 31, "../../lib/util": 33, "../../player/base/event/eventtype": 43, "../component": 94 }], 119: [function (e, t, i) { var r = e("../component"), o = e("../../lib/util"), n = e("../../player/base/event/eventtype"), a = r.extend({ init: function (e, t) { r.call(this, e, t), this.className = t.className ? t.className : "prism-time-display", this.addClass(this.className) }, createEl: function () { var e = r.prototype.createEl.call(this, "div"); return e.innerHTML = '<span class="current-time">00:00</span> <span class="time-bound">/</span> <span class="duration">00:00</span>', e }, bindEvent: function () { var i = this; this._player.on(n.Video.DurationChange, function () { var e = o.formatTime(i._player.getDisplayDuration()); e ? (document.querySelector("#" + i.id() + " .time-bound").style.display = "inline", document.querySelector("#" + i.id() + " .duration").style.display = "inline", document.querySelector("#" + i.id() + " .duration").innerText = e) : (document.querySelector("#" + i.id() + " .duration").style.display = "none", document.querySelector("#" + i.id() + " .time-bound").style.display = "none") }), this._player.on(n.Video.TimeUpdate, function () { var e = i._player.getCurrentTime(), t = o.formatTime(e); document.querySelector("#" + i.id() + " .current-time") && (t ? (document.querySelector("#" + i.id() + " .current-time").style.display = "inline", document.querySelector("#" + i.id() + " .current-time").innerText = t) : document.querySelector("#" + i.id() + " .current-time").style.display = "none") }) } }); t.exports = a }, {"../../lib/util": 33, "../../player/base/event/eventtype": 43, "../component": 94}], 120: [function (e, t, i) { var r = e("../component"), s = e("../../lib/dom"), o = e("../../player/base/event/eventtype"), n = r.extend({ init: function (e, t) { r.call(this, e, t), this.className = t.className ? t.className : "prism-tooltip", this.addClass(this.className) }, createEl: function () { var e = r.prototype.createEl.call(this, "p"); return e.innerText = "\u63d0\u793a\u4fe1\u606f", e }, bindEvent: function () { var a = this; a._player.on(o.Private.TooltipShow, function (e) { var t = document.querySelector("#" + a.id()), i = e.paramData; t.innerText = i.text, s.css(t, "display", "block"); var r = t.offsetWidth, o = document.querySelector("#" + a._player.id() + " .prism-controlbar"); if (o) { var n = o.offsetWidth; i.left + r > n ? s.css(t, "left", n - r + "px") : s.css(t, "left", i.left - (r - i.width) / 2 + "px") } }), a._player.on(o.Private.TooltipHide, function (e) { var t = document.querySelector("#" + a.id()); s.css(t, "display", "none") }) } }); t.exports = n }, {"../../lib/dom": 18, "../../player/base/event/eventtype": 43, "../component": 94}], 121: [function (e, t, i) { var r = e("../../lib/event"), s = e("../../player/base/event/eventtype"); t.exports.registerTooltipEvent = function (e, o) { var n = this, a = function () { n._controlbarTooltipHandler && (clearTimeout(n._controlbarTooltipHandler), n._controlbarTooltipHandler = null) }; r.on(this.el(), "mouseover", function (e) { a(), n._controlbarTooltipHandler = setTimeout(function () { n._player.trigger(s.Private.TooltipHide) }, 4e3); var t = n.el().offsetLeft, i = n.el().offsetWidth, r = o; "function" == typeof r && (r = o.call(this)), n._player.trigger(s.Private.TooltipShow, { left: t, width: i, text: r }) }), r.on(this.el(), "mouseout", function () { a(), n._player.trigger(s.Private.TooltipHide) }) }, t.exports.throttle = function (i, r) { var o = Date.now(); return function () { var e = arguments, t = Date.now(); r <= t - o && (i(e), o = t) } } }, {"../../lib/event": 19, "../../player/base/event/eventtype": 43}], 122: [function (e, t, i) { var r = e("../component"), o = e("../../lib/dom"), n = e("../../lib/event"), a = e("../../player/base/event/eventtype"), s = e("./util"), l = e("../../lang/index"), u = e("./volumecontrol"), c = r.extend({ init: function (e, t) { r.call(this, e, t), this.addClass(t.className || "prism-volume"); var i = new u(e, t); e.addChild(i, t) }, createEl: function () { var e = r.prototype.createEl.call(this, "div"); return e.innerHTML = '<div class="volume-icon"><div class="short-horizontal"></div><div class="long-horizontal"></div></div>', e }, bindEvent: function () { var i = this; this.icon = document.querySelector("#" + i.id() + " .volume-icon"), s.registerTooltipEvent.call(this, this.el(), function () { return i._player.muted() || 0 == i._player.getVolume() ? l.get("Muted") : l.get("Volume") }), n.on(this.icon, "click", function (e) { var t = i.el().offsetLeft; i._player.trigger(a.Private.SettingListHide), i._player.trigger(a.Private.SelectorHide), i._player.trigger(a.Private.VolumeVisibilityChange, t), i._player.trigger(a.Private.MarkerTextHide) }); var e = document.querySelector("#" + i.id() + " .long-horizontal"), t = document.querySelector("#" + i.id() + " .short-horizontal"); n.on(this.el(), "mouseover", function () { o.removeClass(e, "volume-hover-animation"), setTimeout(function () { o.addClass(e, "volume-hover-animation") }), setTimeout(function () { o.removeClass(e, "volume-hover-animation"), o.addClass(t, "volume-hover-animation"), setTimeout(function () { o.removeClass(t, "volume-hover-animation"), o.addClass(e, "volume-hover-animation") }, 300) }, 300) }) } }); t.exports = c }, { "../../lang/index": 11, "../../lib/dom": 18, "../../lib/event": 19, "../../player/base/event/eventtype": 43, "../component": 94, "./util": 121, "./volumecontrol": 123 }], 123: [function (e, t, i) { var r = e("../component"), o = e("../../lib/dom"), n = e("../../lib/event"), a = e("../../player/base/event/eventtype"), s = (e("./util"), e("../../lang/index"), r.extend({ init: function (e, t) { r.call(this, e, t), this.addClass(t.className || "prism-volume-control"), this._shown = !1 }, createEl: function () { var e = r.prototype.createEl.call(this, "div"); return e.innerHTML = '<div class="volume-range"><div class="volume-value"></div><div class="volume-cursor"></div></div>', e }, bindEvent: function () { var r = this; this.icon = document.querySelector("#" + r._player.id() + " .volume-icon"), this.control = document.querySelector("#" + r.id()), this.volumnValue = document.querySelector("#" + r.id() + " .volume-value"), this.volumnRange = document.querySelector("#" + r.id() + " .volume-range"), this.volumnCursor = document.querySelector("#" + r.id() + " .volume-cursor"), this._player.on(a.Private.VolumeVisibilityChange, function (e) { var t = e.paramData; if (!r._shown && t) { var i = r._player.getVolume(); r._setVolumnUI(i), o.css(r.control, "display", "block"), t && o.css(r.control, "left", t - 5 + "px"), r._shown = !0 } else o.css(r.control, "display", "none"), r._shown = !1 }), n.on(this.volumnRange, "click", function (e) { var t = o.getPointerPosition(r.volumnRange, e).y; t < 0 || 1 < t || (t < 0 && (t = 0), 1 < t && (t = 1), r._setVolumnUI(t), r._setMuteUI(t), r._player.setVolume(t)) }), n.on(this._player.tag, "click", function (e) { e && e.target == e.currentTarget && o.css(r.control, "display", "none") }), n.on(this._player.tag, "touchstart", function (e) { e && e.target == e.currentTarget && o.css(r.control, "display", "none") }), n.on(this.volumnCursor, "mousedown", function (e) { r._onMouseDown(e) }), n.on(this.volumnCursor, "touchstart", function (e) { r._onMouseDown(e) }), this._player.on(a.Private.VolumnChanged, function (e) { var t = e.paramData; -1 < t && r._setVolumnUI(t), r._setMuteUI(t) }), n.on(this.control, "mouseleave", function () { o.css(r.control, "display", "none"), r._shown = !1 }), n.on(this.control, "mouseover", function () { o.addClass(r.control, "hover") }), r._rangeBottom = r._getBottom() }, _getBottom: function () { if (window.getComputedStyle) { var e = window.getComputedStyle(this.volumnRange, null).getPropertyValue("bottom"); return parseFloat(e) } return 26 }, _onMouseDown: function (e) { var t = this; e.preventDefault(), n.on(this.control, "mousemove", function (e) { t._onMouseMove(e) }), n.on(this.control, "touchmove", function (e) { t._onMouseMove(e) }), n.on(this._player.tag, "mouseup", function (e) { t._onMouseUp(e) }), n.on(this._player.tag, "touchend", function (e) { t._onMouseUp(e) }), n.on(this.control, "mouseup", function (e) { t._onMouseUp(e) }), n.on(this.control, "touchend", function (e) { t._onMouseUp(e) }) }, _onMouseUp: function (e) { if (e.preventDefault(), this._offEvent(), this.volumnRange.offsetHeight) { var t = (this.volumnValue.offsetHeight / this.volumnRange.offsetHeight).toFixed(2); this._player.setVolume(t), this._setMuteUI(t) } }, _onMouseMove: function (e) { e.preventDefault(); var t = o.getPointerPosition(this.volumnRange, e).y; t < 0 || 1 < t || (t < 0 && (t = 0), 1 < t && (t = 1), this._setVolumnUI(t)) }, _getPosition: function (e) { for (var t = this.volumnRange, i = 0; t = t.offsetParent;) i += t.offsetTop; var r = this.volumnRange.offsetHeight, o = this.volumnCursor.offsetHeight, n = e.touches ? e.touches[0].pageY : e.pageY; return r < n - i && (n = e.clientY), (r - (n - i) + o) / (r = this.volumnRange.offsetHeight) }, _offEvent: function () { n.off(this._player.tag, "mouseup"), n.off(this._player.tag, "touchend"), n.off(this.control, "mousemove"), n.off(this.control, "touchmove"), n.off(this.control, "mouseup"), n.off(this.control, "touchend") }, _setMuteUI: function (e) { isNaN(e) || (0 == e || -1 == e ? o.addClass(this.icon, "mute") : o.removeClass(this.icon, "mute")) }, _setVolumnUI: function (e) { isNaN(e) || (o.css(this.volumnValue, "height", 100 * e + "%"), 1 == e && (e = .99), o.css(this.volumnCursor, "bottom", 100 * e + "%")) } })); t.exports = s }, { "../../lang/index": 11, "../../lib/dom": 18, "../../lib/event": 19, "../../player/base/event/eventtype": 43, "../component": 94, "./util": 121 }], 124: [function (e, t, i) { t.exports = { H5Loading: e("./component/h5-loading"), bigPlayButton: e("./component/big-play-button"), controlBar: e("./component/controlbar"), progress: e("./component/progress"), playButton: e("./component/play-button"), liveDisplay: e("./component/live-display"), timeDisplay: e("./component/time-display"), fullScreenButton: e("./component/fullscreen-button"), volume: e("./component/volume"), snapshot: e("./component/snapshot"), errorDisplay: e("./component/error-display"), infoDisplay: e("./component/info-display"), liveShiftProgress: e("../commonui/liveshiftprogress"), liveShiftTimeDisplay: e("../commonui/livetimedisplay"), setting: e("./component/setting/button"), subtitle: e("./component/cc-button"), thumbnail: e("./component/thumbnail"), tooltip: e("./component/tooltip") } }, { "../commonui/liveshiftprogress": 3, "../commonui/livetimedisplay": 4, "./component/big-play-button": 95, "./component/cc-button": 96, "./component/controlbar": 97, "./component/error-display": 99, "./component/fullscreen-button": 100, "./component/h5-loading": 101, "./component/info-display": 102, "./component/live-display": 103, "./component/play-button": 105, "./component/progress": 106, "./component/setting/button": 110, "./component/snapshot": 117, "./component/thumbnail": 118, "./component/time-display": 119, "./component/tooltip": 120, "./component/volume": 122 }], 125: [function (e, t, i) { var r, o; r = this, o = function () { var c, i, e, t, r, d, o, n, a, s, l, u, p = p || (c = Math, i = Object.create || function () { function i() { } return function (e) { var t; return i.prototype = e, t = new i, i.prototype = null, t } }(), t = (e = {}).lib = {}, r = t.Base = { extend: function (e) { var t = i(this); return e && t.mixIn(e), t.hasOwnProperty("init") && this.init !== t.init || (t.init = function () { t.$super.init.apply(this, arguments) }), (t.init.prototype = t).$super = this, t }, create: function () { var e = this.extend(); return e.init.apply(e, arguments), e }, init: function () { }, mixIn: function (e) { for (var t in e) e.hasOwnProperty(t) && (this[t] = e[t]); e.hasOwnProperty("toString") && (this.toString = e.toString) }, clone: function () { return this.init.prototype.extend(this) } }, d = t.WordArray = r.extend({ init: function (e, t) { e = this.words = e || [], this.sigBytes = null != t ? t : 4 * e.length }, toString: function (e) { return (e || n).stringify(this) }, concat: function (e) { var t = this.words, i = e.words, r = this.sigBytes, o = e.sigBytes; if (this.clamp(), r % 4) for (var n = 0; n < o; n++) { var a = i[n >>> 2] >>> 24 - n % 4 * 8 & 255; t[r + n >>> 2] |= a << 24 - (r + n) % 4 * 8 } else for (n = 0; n < o; n += 4) t[r + n >>> 2] = i[n >>> 2]; return this.sigBytes += o, this }, clamp: function () { var e = this.words, t = this.sigBytes; e[t >>> 2] &= 4294967295 << 32 - t % 4 * 8, e.length = c.ceil(t / 4) }, clone: function () { var e = r.clone.call(this); return e.words = this.words.slice(0), e }, random: function (e) { for (var t, i = [], r = function (t) { t = t; var i = 987654321, r = 4294967295; return function () { var e = ((i = 36969 * (65535 & i) + (i >> 16) & r) << 16) + (t = 18e3 * (65535 & t) + (t >> 16) & r) & r; return e /= 4294967296, (e += .5) * (.5 < c.random() ? 1 : -1) } }, o = 0; o < e; o += 4) { var n = r(4294967296 * (t || c.random())); t = 987654071 * n(), i.push(4294967296 * n() | 0) } return new d.init(i, e) } }), o = e.enc = {}, n = o.Hex = { stringify: function (e) { for (var t = e.words, i = e.sigBytes, r = [], o = 0; o < i; o++) { var n = t[o >>> 2] >>> 24 - o % 4 * 8 & 255; r.push((n >>> 4).toString(16)), r.push((15 & n).toString(16)) } return r.join("") }, parse: function (e) { for (var t = e.length, i = [], r = 0; r < t; r += 2) i[r >>> 3] |= parseInt(e.substr(r, 2), 16) << 24 - r % 8 * 4; return new d.init(i, t / 2) } }, a = o.Latin1 = { stringify: function (e) { for (var t = e.words, i = e.sigBytes, r = [], o = 0; o < i; o++) { var n = t[o >>> 2] >>> 24 - o % 4 * 8 & 255; r.push(String.fromCharCode(n)) } return r.join("") }, parse: function (e) { for (var t = e.length, i = [], r = 0; r < t; r++) i[r >>> 2] |= (255 & e.charCodeAt(r)) << 24 - r % 4 * 8; return new d.init(i, t) } }, s = o.Utf8 = { stringify: function (e) { try { return decodeURIComponent(escape(a.stringify(e))) } catch (e) { throw new Error("Malformed UTF-8 data") } }, parse: function (e) { return a.parse(unescape(encodeURIComponent(e))) } }, l = t.BufferedBlockAlgorithm = r.extend({ reset: function () { this._data = new d.init, this._nDataBytes = 0 }, _append: function (e) { "string" == typeof e && (e = s.parse(e)), this._data.concat(e), this._nDataBytes += e.sigBytes }, _process: function (e) { var t = this._data, i = t.words, r = t.sigBytes, o = this.blockSize, n = r / (4 * o), a = (n = e ? c.ceil(n) : c.max((0 | n) - this._minBufferSize, 0)) * o, s = c.min(4 * a, r); if (a) { for (var l = 0; l < a; l += o) this._doProcessBlock(i, l); var u = i.splice(0, a); t.sigBytes -= s } return new d.init(u, s) }, clone: function () { var e = r.clone.call(this); return e._data = this._data.clone(), e }, _minBufferSize: 0 }), t.Hasher = l.extend({ cfg: r.extend(), init: function (e) { this.cfg = this.cfg.extend(e), this.reset() }, reset: function () { l.reset.call(this), this._doReset() }, update: function (e) { return this._append(e), this._process(), this }, finalize: function (e) { return e && this._append(e), this._doFinalize() }, blockSize: 16, _createHelper: function (i) { return function (e, t) { return new i.init(t).finalize(e) } }, _createHmacHelper: function (i) { return function (e, t) { return new u.HMAC.init(i, t).finalize(e) } } }), u = e.algo = {}, e); return p }, "object" == typeof i ? t.exports = i = o() : "function" == typeof define && define.amd ? define([], o) : r.CryptoJS = o() }, {}], 126: [function (e, t, i) { var r, o; r = this, o = function (e) { var t, l; return l = (t = e).lib.WordArray, t.enc.Base64 = { stringify: function (e) { var t = e.words, i = e.sigBytes, r = this._map; e.clamp(); for (var o = [], n = 0; n < i; n += 3) for (var a = (t[n >>> 2] >>> 24 - n % 4 * 8 & 255) << 16 | (t[n + 1 >>> 2] >>> 24 - (n + 1) % 4 * 8 & 255) << 8 | t[n + 2 >>> 2] >>> 24 - (n + 2) % 4 * 8 & 255, s = 0; s < 4 && n + .75 * s < i; s++) o.push(r.charAt(a >>> 6 * (3 - s) & 63)); var l = r.charAt(64); if (l) for (; o.length % 4;) o.push(l); return o.join("") }, parse: function (e) { var t = e.length, i = this._map, r = this._reverseMap; if (!r) { r = this._reverseMap = []; for (var o = 0; o < i.length; o++) r[i.charCodeAt(o)] = o } var n = i.charAt(64); if (n) { var a = e.indexOf(n); -1 !== a && (t = a) } return function (e, t, i) { for (var r = [], o = 0, n = 0; n < t; n++) if (n % 4) { var a = i[e.charCodeAt(n - 1)] << n % 4 * 2, s = i[e.charCodeAt(n)] >>> 6 - n % 4 * 2; r[o >>> 2] |= (a | s) << 24 - o % 4 * 8, o++ } return l.create(r, o) }(e, t, r) }, _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" }, e.enc.Base64 }, "object" == typeof i ? t.exports = i = o(e("./core")) : "function" == typeof define && define.amd ? define(["./core"], o) : o(r.CryptoJS) }, {"./core": 125}], 127: [function (e, t, i) { var r, o; r = this, o = function (e) { return e.enc.Utf8 }, "object" == typeof i ? t.exports = i = o(e("./core")) : "function" == typeof define && define.amd ? define(["./core"], o) : o(r.CryptoJS) }, {"./core": 125}], 128: [function (e, t, i) { var r, o; r = this, o = function (e) { return e.HmacSHA1 }, "object" == typeof i ? t.exports = i = o(e("./core"), e("./sha1"), e("./hmac")) : "function" == typeof define && define.amd ? define(["./core", "./sha1", "./hmac"], o) : o(r.CryptoJS) }, {"./core": 125, "./hmac": 129, "./sha1": 130}], 129: [function (e, t, i) { var r, o; r = this, o = function (e) { var t, i, u; i = (t = e).lib.Base, u = t.enc.Utf8, t.algo.HMAC = i.extend({ init: function (e, t) { e = this._hasher = new e.init, "string" == typeof t && (t = u.parse(t)); var i = e.blockSize, r = 4 * i; t.sigBytes > r && (t = e.finalize(t)), t.clamp(); for (var o = this._oKey = t.clone(), n = this._iKey = t.clone(), a = o.words, s = n.words, l = 0; l < i; l++) a[l] ^= 1549556828, s[l] ^= 909522486; o.sigBytes = n.sigBytes = r, this.reset() }, reset: function () { var e = this._hasher; e.reset(), e.update(this._iKey) }, update: function (e) { return this._hasher.update(e), this }, finalize: function (e) { var t = this._hasher, i = t.finalize(e); return t.reset(), t.finalize(this._oKey.clone().concat(i)) } }) }, "object" == typeof i ? t.exports = i = o(e("./core")) : "function" == typeof define && define.amd ? define(["./core"], o) : o(r.CryptoJS) }, {"./core": 125}], 130: [function (e, t, i) { var r, o; r = this, o = function (e) { var t, i, r, o, n, d, a; return i = (t = e).lib, r = i.WordArray, o = i.Hasher, n = t.algo, d = [], a = n.SHA1 = o.extend({ _doReset: function () { this._hash = new r.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) }, _doProcessBlock: function (e, t) { for (var i = this._hash.words, r = i[0], o = i[1], n = i[2], a = i[3], s = i[4], l = 0; l < 80; l++) { if (l < 16) d[l] = 0 | e[t + l]; else { var u = d[l - 3] ^ d[l - 8] ^ d[l - 14] ^ d[l - 16]; d[l] = u << 1 | u >>> 31 } var c = (r << 5 | r >>> 27) + s + d[l]; c += l < 20 ? 1518500249 + (o & n | ~o & a) : l < 40 ? 1859775393 + (o ^ n ^ a) : l < 60 ? (o & n | o & a | n & a) - 1894007588 : (o ^ n ^ a) - 899497514, s = a, a = n, n = o << 30 | o >>> 2, o = r, r = c } i[0] = i[0] + r | 0, i[1] = i[1] + o | 0, i[2] = i[2] + n | 0, i[3] = i[3] + a | 0, i[4] = i[4] + s | 0 }, _doFinalize: function () { var e = this._data, t = e.words, i = 8 * this._nDataBytes, r = 8 * e.sigBytes; return t[r >>> 5] |= 128 << 24 - r % 32, t[14 + (64 + r >>> 9 << 4)] = Math.floor(i / 4294967296), t[15 + (64 + r >>> 9 << 4)] = i, e.sigBytes = 4 * t.length, this._process(), this._hash }, clone: function () { var e = o.clone.call(this); return e._hash = this._hash.clone(), e } }), t.SHA1 = o._createHelper(a), t.HmacSHA1 = o._createHmacHelper(a), e.SHA1 }, "object" == typeof i ? t.exports = i = o(e("./core")) : "function" == typeof define && define.amd ? define(["./core"], o) : o(r.CryptoJS) }, {"./core": 125}] }, {}, [6]);