! function(e, t) {
	"object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define
		.amd ? define("yzmplayer", [], t) : "object" == typeof exports ? exports.yzmplayer = t() : e.yzmplayer = t()
}("undefined" != typeof self ? self : this, function() {
	return function(e) {
		function t(i) {
			if (n[i]) return n[i].exports;
			var a = n[i] = {
				i: i,
				l: !1,
				exports: {}
			};
			return e[i].call(a.exports, a, a.exports, t), a.l = !0, a.exports
		}
		var n = {};
		return t.m = e, t.c = n, t.d = function(e, n, i) {
			t.o(e, n) || Object.defineProperty(e, n, {
				configurable: !1,
				enumerable: !0,
				get: i
			})
		}, t.n = function(e) {
			var n = e && e.__esModule ? function() {
				return e.default
			} : function() {
				return e
			};
			return t.d(n, "a", n), n
		}, t.o = function(e, t) {
			return Object.prototype.hasOwnProperty.call(e, t)
		}, t.p = "/", t(t.s = 5)
	}([
		function(e, t, n) {
			"use strict";
			Object.defineProperty(t, "__esModule", {
				value: !0
			});
			var i = /mobile/i.test(window.navigator.userAgent),
				a = {
					secondToTime: function(e) {
						var t = function(e) {
								return e < 10 ? "0" + e : "" + e
							},
							n = Math.floor(e / 3600),
							i = Math.floor((e - 3600 * n) / 60),
							a = Math.floor(e - 3600 * n - 60 * i);
						return (n > 0 ? [n, i, a] : [i, a]).map(t).join(":")
					},
					getElementViewLeft: function(e) {
						var t = e.offsetLeft,
							n = e.offsetParent,
							i = document.body.scrollLeft + document.documentElement.scrollLeft;
						if (document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement)
							for (; null !== n && n !== e;) t += n.offsetLeft, n = n.offsetParent;
						else
							for (; null !== n;) t += n.offsetLeft, n = n.offsetParent;
						return t - i
					},
					getScrollPosition: function() {
						return {
							left: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0,
							top: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0
						}
					},
					setScrollPosition: function(e) {
						var t = e.left,
							n = void 0 === t ? 0 : t,
							i = e.top,
							a = void 0 === i ? 0 : i;
						this.isFirefox ? (document.documentElement.scrollLeft = n, document.documentElement.scrollTop = a) : window.scrollTo(
							n, a)
					},
					isMobile: i,
					isFirefox: /firefox/i.test(window.navigator.userAgent),
					isChrome: /chrome/i.test(window.navigator.userAgent),
					storage: {
						set: function(e, t) {
							localStorage.setItem(e, t)
						},
						get: function(e) {
							return localStorage.getItem(e)
						}
					},
					cumulativeOffset: function(e) {
						var t = 0,
							n = 0;
						do {
							t += e.offsetTop || 0, n += e.offsetLeft || 0, e = e.offsetParent
						} while (e);
						return {
							top: t,
							left: n
						}
					},
					nameMap: {
						dragStart: i ? "touchstart" : "mousedown",
						dragMove: i ? "touchmove" : "mousemove",
						dragEnd: i ? "touchend" : "mouseup"
					}
				};
			t.default = a
		},
		function(e, t, n) {
			"use strict";
			var i, a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
				return typeof e
			} : function(e) {
				return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" :
					typeof e
			};
			i = function() {
				return this
			}();
			try {
				i = i || Function("return this")() || (0, eval)("this")
			} catch (e) {
				"object" === ("undefined" == typeof window ? "undefined" : a(window)) && (i = window)
			}
			e.exports = i
		},
		function(e, t, n) {
			"use strict";

			function i(e) {
				return e && e.__esModule ? e : {
					default: e
				}
			}
			Object.defineProperty(t, "__esModule", {
				value: !0
			});
			var a = n(16),
				o = i(a),
				s = n(17),
				r = i(s),
				l = n(18),
				c = i(l),
				u = n(19),
				d = i(u),
				p = n(20),
				h = i(p),
				y = n(21),
				m = i(y),
				f = n(22),
				v = i(f),
				g = n(23),
				b = i(g),
				k = n(24),
				w = i(k),
				x = n(25),
				S = i(x),
				T = n(26),
				L = i(T),
				M = n(27),
				_ = i(M),
				q = n(28),
				E = i(q),
				B = n(29),
				P = i(B),
				C = n(30),
				O = i(C),
				z = n(31),
				F = i(z),
				I = {
					play: o.default,
					pause: r.default,
					volumeUp: c.default,
					volumeDown: d.default,
					volumeOff: h.default,
					full: m.default,
					fullWeb: v.default,
					setting: b.default,
					right: w.default,
					comment: S.default,
					commentOff: L.default,
					send: _.default,
					pallette: E.default,
					camera: P.default,
					subtitle: O.default,
					loading: F.default
				};
			t.default = I
		},
		function(e, t, n) {
			"use strict";
			e.exports = n(33)
		},
		function(e, t, n) {
			var i = n(3);
			e.exports = function(e) {
				"use strict";
				e = e || {};
				var t = "",
					n = e.enableSubtitle,
					a = e.subtitle,
					o = e.current,
					s = e.pic,
					r = i.$escape,
					l = e.screenshot,
					c = e.preload,
					u = e.url,
					n = a && "webvtt" === a.type;
				return t += '\n<video\n    class="yzmplayer-video ', o && (t += "yzmplayer-video-current"), t +=
					'"\n    webkit-playsinline\n    playsinline\n    ', s && (t += 'poster="', t += r(s), t += '"'), t += "\n    ",
					(l || n) && (t += 'crossorigin="anonymous"'), t += "\n    ", c && (t += 'preload="', t += r(c), t += '"'), t +=
					"\n    ", u && (t += 'src="', t += r(u), t += '"'), t += "\n    >\n    ", n && (t +=
						'\n    <track kind="metadata" default src="', t += r(a.url), t += '"></track>\n    '), t += "\n</video>"
			}
		},
		function(e, t, n) {
			"use strict";
			Object.defineProperty(t, "__esModule", {
				value: !0
			}), n(6);
			var i = n(7),
				a = function(e) {
					return e && e.__esModule ? e : {
						default: e
					}
				}(i);

			console.log('%c页面加载完毕消耗了' + Math.round(performance.now() * 100) / 100 + 'ms',
				'background:#fff;color:#333;text-shadow:0 0 2px #eee,0 0 3px #eee,0 0 3px #eee,0 0 2px #eee,0 0 3px #eee;');
			t.default = a.default
		},
		function(e, t) {},
		function(e, t, n) {
			"use strict";

			function i(e) {
				return e && e.__esModule ? e : {
					default: e
				}
			}

			function a(e, t) {
				if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
			}
			Object.defineProperty(t, "__esModule", {
				value: !0
			});
			var o = function() {
					function e(e, t) {
						for (var n = 0; n < t.length; n++) {
							var i = t[n];
							i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(
								e, i.key, i)
						}
					}
					return function(t, n, i) {
						return n && e(t.prototype, n), i && e(t, i), t
					}
				}(),
				s = n(8),
				r = i(s),
				l = n(0),
				c = i(l),
				u = n(12),
				d = i(u),
				p = n(14),
				h = i(p),
				y = n(15),
				m = i(y),
				f = n(2),
				v = i(f),
				g = n(35),
				b = i(g),
				k = n(36),
				w = i(k),
				x = n(37),
				S = i(x),
				T = n(38),
				L = i(T),
				M = n(39),
				_ = i(M),
				q = n(40),
				E = i(q),
				B = n(41),
				P = i(B),
				C = n(42),
				O = i(C),
				z = n(43),
				F = i(z),
				I = n(45),
				j = i(I),
				D = n(46),
				W = i(D),
				H = n(47),
				A = i(H),
				V = n(48),
				R = i(V),
				X = n(49),
				N = i(X),
				U = n(4),
				$ = i(U),
				Q = 0,
				J = [],
				Y = function() {
					function e(t) {
						var n = this;
						a(this, e), this.options = (0, d.default)(t), this.options.video.quality && (this.qualityIndex = this.options.video
								.defaultQuality, this.quality = this.options.video.quality[this.options.video.defaultQuality]), this.tran =
							new h.default(this.options.lang).tran, this.events = new w.default, this.user = new L.default(this), this.container =
							this.options.container, this.container.classList.add("yzmplayer"), this.options.danmaku || this.container.classList
							.add("yzmplayer-no-danmaku"), this.options.live && this.container.classList.add("yzmplayer-live"), c.default.isMobile &&
							this.container.classList.add("yzmplayer-mobile"), this.arrow = this.container.offsetWidth <= 500, this.arrow &&
							this.container.classList.add("yzmplayer-arrow"), this.template = new m.default({
								container: this.container,
								options: this.options,
								index: Q,
								tran: this.tran
							}), this.video = this.template.video, this.bar = new E.default(this.template), this.bezel = new O.default(
								this.template.bezel), this.fullScreen = new S.default(this), this.controller = new F.default(this), this.options
							.danmaku && (this.danmaku = new b.default({
								container: this.template.danmaku,
								opacity: this.user.get("opacity"),
								callback: function() {
									setTimeout(function() {
										n.template.danmakuLoading.style.display = "none", setTimeout(function() {
											document.getElementById('link2-success').style.display = "block"
										}, 1 * 1500), n.options.autoplay && n.play()
									}, 0)
								},
								error: function(e) {
									document.getElementById('link2-success').remove(), setTimeout(function() {
										document.getElementById('link2-error').style.display = "block"
									}, 1 * 1000), n.notice(e)
								},
								apiBackend: this.options.apiBackend,
								borderColor: this.options.theme,
								height: this.arrow ? 24 : 30,
								time: function() {
									return n.video.currentTime
								},
								unlimited: this.user.get("unlimited"),
								api: {
									id: this.options.danmaku.id,
									address: this.options.danmaku.api,
									token: this.options.danmaku.token,
									maximum: this.options.danmaku.maximum,
									addition: this.options.danmaku.addition,
									user: this.options.danmaku.user
								},
								events: this.events
							}), this.comment = new W.default(this)), this.setting = new j.default(this), document.addEventListener(
								"click",
								function() {
									n.focus = !1
								}, !0), this.container.addEventListener("click", function() {
								n.focus = !0
							}, !0), this.paused = !0, this.time = new P.default(this), this.hotkey = new A.default(this), this.contextmenu =
							new R.default(this), this.initVideo(this.video, this.quality && this.quality.type || this.options.video.type),
							this.infoPanel = new N.default(this), !this.danmaku && this.options.autoplay && this.play(), Q++, J.push(this)
					}
					return o(e, [{
						key: "seek",
						value: function(e) {
							e = Math.max(e, 0), this.video.duration && (e = Math.min(e, this.video.duration)), this.video.currentTime <
								e ? this.notice(this.tran("FF") + " " + (e - this.video.currentTime).toFixed(0) + " " + this.tran("s")) :
								this.video.currentTime > e && this.notice(this.tran("REW") + " " + (this.video.currentTime - e).toFixed(
									0) + " " + this.tran("s")), this.video.currentTime = e, this.danmaku && this.danmaku.seek(), this.bar.set(
									"played", e / this.video.duration, "width")
						}
					}, {
						key: "play",
						value: function() {
							var e = this;
							if (this.paused = !1, this.video.paused && this.bezel.switch(v.default.play), this.template.playButton.innerHTML =
								v.default.pause, r.default.resolve(this.video.play()).catch(function() {
									e.pause()
								}).then(function() {}), this.time.enable("loading"), this.time.enable("progress"), this.container.classList
								.remove("yzmplayer-paused"), this.container.classList.add("yzmplayer-playing"), this.danmaku && this.danmaku
								.play(), this.options.mutex)
								for (var t = 0; t < J.length; t++) this !== J[t] && J[t].pause()
						}
					}, {
						key: "pause",
						value: function() {
							this.paused = !0, this.container.classList.remove("yzmplayer-loading"), this.video.paused || this.bezel.switch(
									v.default.pause), this.ended = !1, this.template.playButton.innerHTML = v.default.play, this.video.pause(),
								this.time.disable("loading"), this.time.disable("progress"), this.container.classList.remove(
									"yzmplayer-playing"), this.container.classList.add("yzmplayer-paused"), this.danmaku && this.danmaku.pause()
						}
					}, {
						key: "switchVolumeIcon",
						value: function() {
							this.volume() >= .95 ? this.template.volumeIcon.innerHTML = v.default.volumeUp : this.volume() > 0 ? this
								.template.volumeIcon.innerHTML = v.default.volumeDown : this.template.volumeIcon.innerHTML = v.default.volumeOff
						}
					}, {
						key: "volume",
						value: function(e, t, n) {
							if (e = parseFloat(e), !isNaN(e)) {
								e = Math.max(e, 0), e = Math.min(e, 1), this.bar.set("volume", e, "width");
								var i = (100 * e).toFixed(0) + "%";
								this.template.volumeBarWrapWrap.dataset.balloon = i, t || this.user.set("volume", e), n || this.notice(
									this.tran("Volume") + " " + (100 * e).toFixed(0) + "%"), this.video.volume = e, this.video.muted && (
									this.video.muted = !1), this.switchVolumeIcon()
							}
							return this.video.volume
						}
					}, {
						key: "toggle",
						value: function() {
							this.video.paused ? this.play() : this.pause()
						}
					}, {
						key: "on",
						value: function(e, t) {
							this.events.on(e, t)
						}
					}, {
						key: "switchVideo",
						value: function(e, t) {
							this.pause(), this.video.poster = e.pic ? e.pic : "", this.video.src = e.url, this.initMSE(this.video, e.type ||
								"auto"), t && (this.template.danmakuLoading.style.display = "block", this.bar.set("played", 0, "width"),
								this.bar.set("loaded", 0, "width"), this.template.ptime.innerHTML = "00:00", this.template.danmaku.innerHTML =
								"", this.danmaku && this.danmaku.reload({
									id: t.id,
									address: t.api,
									token: t.token,
									maximum: t.maximum,
									addition: t.addition,
									user: t.user
								}))
						}
					}, {
						key: "initMSE",
						value: function(e, t) {
							var n = this;
							if (this.type = t, this.options.video.customType && this.options.video.customType[t]) "[object Function]" ===
								Object.prototype.toString.call(this.options.video.customType[t]) ? this.options.video.customType[t](this
									.video, this) : console.error("Illegal customType: " + t);
							else switch ("auto" === this.type && (/m3u8(#|\?|$)/i.exec(e.src) ? this.type = "hls" : /.flv(#|\?|$)/i.exec(
									e.src) ? this.type = "flv" : /.mpd(#|\?|$)/i.exec(e.src) ? this.type = "dash" : this.type = "normal"),
								this.type) {
								case "hls":
									if (Hls)
										if (Hls.isSupported()) {
											var i = new Hls;
											i.loadSource(e.src), i.attachMedia(e)
										} else this.notice("Error: Hls is not supported.");
									else this.notice("Error: Can't find Hls.");
									break;
								case "flv":
									if (flvjs && flvjs.isSupported())
										if (flvjs.isSupported()) {
											var a = flvjs.createPlayer({
												type: "flv",
												url: e.src
											});
											a.attachMediaElement(e), a.load()
										} else this.notice("Error: flvjs is not supported.");
									else this.notice("Error: Can't find flvjs.");
									break;
								case "dash":
									dashjs ? dashjs.MediaPlayer().create().initialize(e, e.src, !1) : this.notice(
										"Error: Can't find dashjs.");
									break;
								case "webtorrent":
									if (WebTorrent)
										if (WebTorrent.WEBRTC_SUPPORT) {
											this.container.classList.add("yzmplayer-loading");
											var o = new WebTorrent,
												s = e.src;
											o.add(s, function(e) {
												e.files.find(function(e) {
													return e.name.endsWith(".mp4")
												}).renderTo(n.video, {
													autoplay: n.options.autoplay
												}, function() {
													n.container.classList.remove("yzmplayer-loading")
												})
											})
										} else this.notice("Error: Webtorrent is not supported.");
									else this.notice("Error: Can't find Webtorrent.")
							}
						}
					}, {
						key: "initVideo",
						value: function(e, t) {
							var n = this;
							this.initMSE(e, t), this.on("durationchange", function() {
								1 !== e.duration && (n.template.dtime.innerHTML = c.default.secondToTime(e.duration))
							}), this.on("progress", function() {
								var t = e.buffered.length ? e.buffered.end(e.buffered.length - 1) / e.duration : 0;
								n.bar.set("loaded", t, "width")
							}), this.on("error", function() {
								setTimeout(function() {
									document.getElementById('link3-error').style.display = "block"
								}, 5 * 1000), n.tran && n.notice && (n.type, n.notice(n.tran("This video fails to load"), -1))
							}), this.ended = !1, this.on("ended", function() {
								n.bar.set("played", 1, "width"), n.setting.loop ? (n.seek(0), e.play()) : (n.ended = !0, n.pause()), n
									.danmaku && (n.danmaku.danIndex = 0)
							}), this.on("play", function() {
								n.paused && n.play()
							}), this.on("pause", function() {
								n.paused || n.pause()
							});
							for (var i = 0; i < this.events.videoEvents.length; i++) ! function(t) {
								e.addEventListener(n.events.videoEvents[t], function() {
									n.events.trigger(n.events.videoEvents[t])
								})
							}(i);
							this.volume(this.user.get("volume"), !0, !0), this.options.subtitle && (this.subtitle = new _.default(
									this.template.subtitle, this.video, this.options.subtitle, this.events), this.user.get("subtitle") ||
								this.subtitle.hide())
						}
					}, {
						key: "switchQuality",
						value: function(e) {
							var t = this;
							if (this.qualityIndex !== e && !this.switchingQuality) {
								this.qualityIndex = e, this.switchingQuality = !0, this.quality = this.options.video.quality[e], this.template
									.qualityButton.innerHTML = this.quality.name;
								var n = this.video.paused;
								this.video.pause();
								var i = (0, $.default)({
										current: !1,
										pic: null,
										screenshot: this.options.screenshot,
										preload: "auto",
										url: this.quality.url,
										subtitle: this.options.subtitle
									}),
									a = (new DOMParser).parseFromString(i, "text/html").body.firstChild;
								this.template.videoWrap.insertBefore(a, this.template.videoWrap.getElementsByTagName("div")[0]), this.prevVideo =
									this.video, this.video = a, this.initVideo(this.video, this.quality.type || this.options.video.type),
									this.seek(this.prevVideo.currentTime), this.notice(this.tran("Switching to") + " " + this.quality.name +
										" " + this.tran("quality"), -1), this.events.trigger("quality_start", this.quality), this.on("canplay",
										function() {
											if (t.prevVideo) {
												if (t.video.currentTime !== t.prevVideo.currentTime) return void t.seek(t.prevVideo.currentTime);
												t.template.videoWrap.removeChild(t.prevVideo), t.video.classList.add("yzmplayer-video-current"), n ||
													t.video.play(), t.prevVideo = null, t.notice(t.tran("Switched to") + " " + t.quality.name + " " + t
														.tran("quality")), t.switchingQuality = !1, t.events.trigger("quality_end")
											}
										})
							}
						}
					}, {
						key: "notice",
						value: function(e) {
							var t = this,
								n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 2e3,
								i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : .8;
							this.template.notice.innerHTML = e, this.template.notice.style.opacity = i, this.noticeTime &&
								clearTimeout(this.noticeTime), this.events.trigger("notice_show", e), this.noticeTime = setTimeout(
									function() {
										t.template.notice.style.opacity = 0, t.events.trigger("notice_hide")
									}, n)
						}
					}, {
						key: "resize",
						value: function() {
							this.danmaku && this.danmaku.resize(), this.events.trigger("resize")
						}
					}, {
						key: "speed",
						value: function(e) {
							this.video.playbackRate = e
						}
					}, {
						key: "destroy",
						value: function() {
							J.splice(J.indexOf(this), 1), this.pause(), this.controller.destroy(), this.time.destroy(), this.video.src =
								"", this.container.innerHTML = "", this.events.trigger("destroy");
							for (var e in this) this.hasOwnProperty(e) && "paused" !== e && delete this[e]
						}
					}]), e
				}();
			t.default = Y
		},
		function(e, t, n) {
			"use strict";
			(function(t) {
				function n() {}

				function i(e, t) {
					return function() {
						e.apply(t, arguments)
					}
				}

				function a(e) {
					if (!(this instanceof a)) throw new TypeError("Promises must be constructed via new");
					if ("function" != typeof e) throw new TypeError("not a function");
					this._state = 0, this._handled = !1, this._value = void 0, this._deferreds = [], u(e, this)
				}

				function o(e, t) {
					for (; 3 === e._state;) e = e._value;
					if (0 === e._state) return void e._deferreds.push(t);
					e._handled = !0, a._immediateFn(function() {
						var n = 1 === e._state ? t.onFulfilled : t.onRejected;
						if (null === n) return void(1 === e._state ? s : r)(t.promise, e._value);
						var i;
						try {
							i = n(e._value)
						} catch (e) {
							return void r(t.promise, e)
						}
						s(t.promise, i)
					})
				}

				function s(e, t) {
					try {
						if (t === e) throw new TypeError("A promise cannot be resolved with itself.");
						if (t && ("object" === (void 0 === t ? "undefined" : d(t)) || "function" == typeof t)) {
							var n = t.then;
							if (t instanceof a) return e._state = 3, e._value = t, void l(e);
							if ("function" == typeof n) return void u(i(n, t), e)
						}
						e._state = 1, e._value = t, l(e)
					} catch (t) {
						r(e, t)
					}
				}

				function r(e, t) {
					e._state = 2, e._value = t, l(e)
				}

				function l(e) {
					2 === e._state && 0 === e._deferreds.length && a._immediateFn(function() {
						e._handled || a._unhandledRejectionFn(e._value)
					});
					for (var t = 0, n = e._deferreds.length; t < n; t++) o(e, e._deferreds[t]);
					e._deferreds = null
				}

				function c(e, t, n) {
					this.onFulfilled = "function" == typeof e ? e : null, this.onRejected = "function" == typeof t ? t : null,
						this.promise = n
				}

				function u(e, t) {
					var n = !1;
					try {
						e(function(e) {
							n || (n = !0, s(t, e))
						}, function(e) {
							n || (n = !0, r(t, e))
						})
					} catch (e) {
						if (n) return;
						n = !0, r(t, e)
					}
				}
				var d = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
						return typeof e
					} : function(e) {
						return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" :
							typeof e
					},
					p = setTimeout;
				a.prototype.catch = function(e) {
					return this.then(null, e)
				}, a.prototype.then = function(e, t) {
					var i = new this.constructor(n);
					return o(this, new c(e, t, i)), i
				}, a.all = function(e) {
					return new a(function(t, n) {
						function i(e, s) {
							try {
								if (s && ("object" === (void 0 === s ? "undefined" : d(s)) || "function" == typeof s)) {
									var r = s.then;
									if ("function" == typeof r) return void r.call(s, function(t) {
										i(e, t)
									}, n)
								}
								a[e] = s, 0 == --o && t(a)
							} catch (e) {
								n(e)
							}
						}
						if (!e || void 0 === e.length) throw new TypeError("Promise.all accepts an array");
						var a = Array.prototype.slice.call(e);
						if (0 === a.length) return t([]);
						for (var o = a.length, s = 0; s < a.length; s++) i(s, a[s])
					})
				}, a.resolve = function(e) {
					return e && "object" === (void 0 === e ? "undefined" : d(e)) && e.constructor === a ? e : new a(function(t) {
						t(e)
					})
				}, a.reject = function(e) {
					return new a(function(t, n) {
						n(e)
					})
				}, a.race = function(e) {
					return new a(function(t, n) {
						for (var i = 0, a = e.length; i < a; i++) e[i].then(t, n)
					})
				}, a._immediateFn = "function" == typeof t && function(e) {
					t(e)
				} || function(e) {
					p(e, 0)
				}, a._unhandledRejectionFn = function(e) {
					"undefined" != typeof console && console && console.warn("Possible Unhandled Promise Rejection:", e)
				}, e.exports = a
			}).call(t, n(9).setImmediate)
		},
		function(e, t, n) {
			"use strict";

			function i(e, t) {
				this._id = e, this._clearFn = t
			}
			var a = Function.prototype.apply;
			t.setTimeout = function() {
				return new i(a.call(setTimeout, window, arguments), clearTimeout)
			}, t.setInterval = function() {
				return new i(a.call(setInterval, window, arguments), clearInterval)
			}, t.clearTimeout = t.clearInterval = function(e) {
				e && e.close()
			}, i.prototype.unref = i.prototype.ref = function() {}, i.prototype.close = function() {
				this._clearFn.call(window, this._id)
			}, t.enroll = function(e, t) {
				clearTimeout(e._idleTimeoutId), e._idleTimeout = t
			}, t.unenroll = function(e) {
				clearTimeout(e._idleTimeoutId), e._idleTimeout = -1
			}, t._unrefActive = t.active = function(e) {
				clearTimeout(e._idleTimeoutId);
				var t = e._idleTimeout;
				t >= 0 && (e._idleTimeoutId = setTimeout(function() {
					e._onTimeout && e._onTimeout()
				}, t))
			}, n(10), t.setImmediate = setImmediate, t.clearImmediate = clearImmediate
		},
		function(e, t, n) {
			"use strict";
			(function(e, t) {
				! function(e, n) {
					function i(e) {
						"function" != typeof e && (e = new Function("" + e));
						for (var t = new Array(arguments.length - 1), n = 0; n < t.length; n++) t[n] = arguments[n + 1];
						var i = {
							callback: e,
							args: t
						};
						return c[l] = i, r(l), l++
					}

					function a(e) {
						delete c[e]
					}

					function o(e) {
						var t = e.callback,
							i = e.args;
						switch (i.length) {
							case 0:
								t();
								break;
							case 1:
								t(i[0]);
								break;
							case 2:
								t(i[0], i[1]);
								break;
							case 3:
								t(i[0], i[1], i[2]);
								break;
							default:
								t.apply(n, i)
						}
					}

					function s(e) {
						if (u) setTimeout(s, 0, e);
						else {
							var t = c[e];
							if (t) {
								u = !0;
								try {
									o(t)
								} finally {
									a(e), u = !1
								}
							}
						}
					}
					if (!e.setImmediate) {
						var r, l = 1,
							c = {},
							u = !1,
							d = e.document,
							p = Object.getPrototypeOf && Object.getPrototypeOf(e);
						p = p && p.setTimeout ? p : e, "[object process]" === {}.toString.call(e.process) ? function() {
							r = function(e) {
								t.nextTick(function() {
									s(e)
								})
							}
						}() : function() {
							if (e.postMessage && !e.importScripts) {
								var t = !0,
									n = e.onmessage;
								return e.onmessage = function() {
									t = !1
								}, e.postMessage("", "*"), e.onmessage = n, t
							}
						}() ? function() {
							var t = "setImmediate$" + Math.random() + "$",
								n = function(n) {
									n.source === e && "string" == typeof n.data && 0 === n.data.indexOf(t) && s(+n.data.slice(t.length))
								};
							e.addEventListener ? e.addEventListener("message", n, !1) : e.attachEvent("onmessage", n), r = function(n) {
								e.postMessage(t + n, "*")
							}
						}() : e.MessageChannel ? function() {
							var e = new MessageChannel;
							e.port1.onmessage = function(e) {
								s(e.data)
							}, r = function(t) {
								e.port2.postMessage(t)
							}
						}() : d && "onreadystatechange" in d.createElement("script") ? function() {
							var e = d.documentElement;
							r = function(t) {
								var n = d.createElement("script");
								n.onreadystatechange = function() {
									s(t), n.onreadystatechange = null, e.removeChild(n), n = null
								}, e.appendChild(n)
							}
						}() : function() {
							r = function(e) {
								setTimeout(s, 0, e)
							}
						}(), p.setImmediate = i, p.clearImmediate = a
					}
				}("undefined" == typeof self ? void 0 === e ? void 0 : e : self)
			}).call(t, n(1), n(11))
		},
		function(e, t, n) {
			"use strict";

			function i() {
				throw new Error("setTimeout has not been defined")
			}

			function a() {
				throw new Error("clearTimeout has not been defined")
			}

			function o(e) {
				if (d === setTimeout) return setTimeout(e, 0);
				if ((d === i || !d) && setTimeout) return d = setTimeout, setTimeout(e, 0);
				try {
					return d(e, 0)
				} catch (t) {
					try {
						return d.call(null, e, 0)
					} catch (t) {
						return d.call(this, e, 0)
					}
				}
			}

			function s(e) {
				if (p === clearTimeout) return clearTimeout(e);
				if ((p === a || !p) && clearTimeout) return p = clearTimeout, clearTimeout(e);
				try {
					return p(e)
				} catch (t) {
					try {
						return p.call(null, e)
					} catch (t) {
						return p.call(this, e)
					}
				}
			}

			function r() {
				f && y && (f = !1, y.length ? m = y.concat(m) : v = -1, m.length && l())
			}

			function l() {
				if (!f) {
					var e = o(r);
					f = !0;
					for (var t = m.length; t;) {
						for (y = m, m = []; ++v < t;) y && y[v].run();
						v = -1, t = m.length
					}
					y = null, f = !1, s(e)
				}
			}

			function c(e, t) {
				this.fun = e, this.array = t
			}

			function u() {}
			var d, p, h = e.exports = {};
			! function() {
				try {
					d = "function" == typeof setTimeout ? setTimeout : i
				} catch (e) {
					d = i
				}
				try {
					p = "function" == typeof clearTimeout ? clearTimeout : a
				} catch (e) {
					p = a
				}
			}();
			var y, m = [],
				f = !1,
				v = -1;
			h.nextTick = function(e) {
					var t = new Array(arguments.length - 1);
					if (arguments.length > 1)
						for (var n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
					m.push(new c(e, t)), 1 !== m.length || f || o(l)
				}, c.prototype.run = function() {
					this.fun.apply(null, this.array)
				}, h.title = "browser", h.browser = !0, h.env = {}, h.argv = [], h.version = "", h.versions = {}, h.on = u, h.addListener =
				u, h.once = u, h.off = u, h.removeListener = u, h.removeAllListeners = u, h.emit = u, h.prependListener = u, h.prependOnceListener =
				u, h.listeners = function(e) {
					return []
				}, h.binding = function(e) {
					throw new Error("process.binding is not supported")
				}, h.cwd = function() {
					return "/"
				}, h.chdir = function(e) {
					throw new Error("process.chdir is not supported")
				}, h.umask = function() {
					return 0
				}
		},
		function(e, t, n) {
			"use strict";
			Object.defineProperty(t, "__esModule", {
				value: !0
			});
			var i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
					return typeof e
				} : function(e) {
					return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" :
						typeof e
				},
				a = n(13),
				o = function(e) {
					return e && e.__esModule ? e : {
						default: e
					}
				}(a);
			t.default = function(e) {
				var t = {
					container: e.element || document.getElementsByClassName("yzmplayer")[0],
					live: !1,
					autoplay: !1,
					theme: "#b7daff",
					loop: !1,
					lang: (navigator.language || navigator.browserLanguage).toLowerCase(),
					screenshot: !1,
					hotkey: !0,
					preload: "auto",
					volume: .7,
					apiBackend: o.default,
					video: {},
					contextmenu: [],
					mutex: !0
				};
				for (var n in t) t.hasOwnProperty(n) && !e.hasOwnProperty(n) && (e[n] = t[n]);
				return e.video && !e.video.type && (e.video.type = "auto"), "object" === i(e.danmaku) && e.danmaku && !e.danmaku
					.user && (e.danmaku.user = "DIYgod"), e.subtitle && (!e.subtitle.type && (e.subtitle.type = "webvtt"), !e.subtitle
						.fontSize && (e.subtitle.fontSize = "20px"), !e.subtitle.bottom && (e.subtitle.bottom = "40px"), !e.subtitle.color &&
						(e.subtitle.color = "#fff")), e.video.quality && (e.video.url = [e.video.quality[e.video.defaultQuality].url]),
					e.lang && (e.lang = e.lang.toLowerCase()), e.contextmenu = e.contextmenu.concat(), e
			}
		},
		function(e, t, n) {
			"use strict";
			Object.defineProperty(t, "__esModule", {
				value: !0
			});
			var i = function(e, t, n, i, a) {
				var o = new XMLHttpRequest;
				o.onreadystatechange = function() {
					if (4 === o.readyState) {
						if (o.status >= 200 && o.status < 300 || 304 === o.status) {
							var e = JSON.parse(o.responseText);
							return 23 !== e.code ? i(o, e) : n(o, e)
						}
						a(o)
					}
				}, o.open(null !== t ? "POST" : "GET", e, !0), o.send(null !== t ? JSON.stringify(t) : null)
			};
			t.default = {
				send: function(e, t, n) {
					i(e, t, function(e, t) {
						console.log("发送弹幕成功"), n && n()
					}, function(e, t) {
						alert(t.msg)
					}, function(e) {
						console.log("Request was unsuccessful: " + e.status)
					})
				},
				read: function(e, t) {
					i(e, null, function(e, n) {
						t(null, n.danmuku)
					}, function(e, n) {
						t({
							status: e.status,
							response: n
						})
					}, function(e) {
						t({
							status: e.status,
							response: null
						})
					})
				}
			}
		},
		function(e, t, n) {
			"use strict";

			function i(e) {
				var t = this;
				this.lang = e, this.tran = function(e) {
					return a[t.lang] && a[t.lang][e] ? a[t.lang][e] : e
				}
			}
			Object.defineProperty(t, "__esModule", {
				value: !0
			});
			var a = {
				"zh-cn": {
					"Danmaku is loading": "弹幕加载中",
					Top: "顶部",
					Bottom: "底部",
					Rolling: "滚动",
					"Input danmaku, hit Enter": "发个弹幕见证当下",
					"About author": "关于作者",
					"yzmplayer feedback": "播放器意见反馈",
					"About yzmplayer": "关于 yzmplayer 播放器",
					Loop: "洗脑循环",
					Speed: "速度",
					"Opacity for danmaku": "弹幕透明度",
					Normal: "正常",
					"Please input danmaku content!": "要输入弹幕内容啊喂！",
					"Set danmaku color": "弹幕颜色",
					"Set danmaku type": "弹幕模式",
					"Show danmaku": "显示弹幕",
					"This video fails to load": "视频加载失败",
					"Switching to": "正在切换至",
					"Switched to": "已经切换至",
					quality: "画质",
					FF: "快进",
					REW: "快退",
					"Unlimited danmaku": "海量弹幕",
					"Send danmaku": "发送弹幕",
					Setting: "设置",
					"Full screen": "全屏",
					"Web full screen": "页面全屏",
					Send: "发送",
					Screenshot: "截图",
					s: "秒",
					"Show subtitle": "显示字幕",
					"Hide subtitle": "隐藏字幕",
					Volume: "音量",
					Live: "直播",
					"Video info": "视频统计信息"
				},
				"zh-tw": {
					"Danmaku is loading": "彈幕加載中",
					Top: "頂部",
					Bottom: "底部",
					Rolling: "滾動",
					"Input danmaku, hit Enter": "輸入彈幕，Enter 發送",
					"About author": "關於作者",
					"yzmplayer feedback": "播放器意見反饋",
					"About yzmplayer": "關於 yzmplayer 播放器",
					Loop: "循環播放",
					Speed: "速度",
					"Opacity for danmaku": "彈幕透明度",
					Normal: "正常",
					"Please input danmaku content!": "請輸入彈幕内容啊！",
					"Set danmaku color": "設置彈幕顏色",
					"Set danmaku type": "設置彈幕類型",
					"Show danmaku": "顯示彈幕",
					"This video fails to load": "視頻加載失敗",
					"Switching to": "正在切換至",
					"Switched to": "已經切換至",
					quality: "畫質",
					FF: "快進",
					REW: "快退",
					"Unlimited danmaku": "海量彈幕",
					"Send danmaku": "發送彈幕",
					Setting: "設置",
					"Full screen": "全屏",
					"Web full screen": "頁面全屏",
					Send: "發送",
					Screenshot: "截圖",
					s: "秒",
					"Show subtitle": "顯示字幕",
					"Hide subtitle": "隱藏字幕",
					Volume: "音量",
					Live: "直播",
					"Video info": "視頻統計信息"
				}
			};
			t.default = i
		},
		function(e, t, n) {
			"use strict";

			function i(e) {
				return e && e.__esModule ? e : {
					default: e
				}
			}

			function a(e, t) {
				if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
			}
			Object.defineProperty(t, "__esModule", {
				value: !0
			});
			var o = function() {
					function e(e, t) {
						for (var n = 0; n < t.length; n++) {
							var i = t[n];
							i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(
								e, i.key, i)
						}
					}
					return function(t, n, i) {
						return n && e(t.prototype, n), i && e(t, i), t
					}
				}(),
				s = n(2),
				r = i(s),
				l = n(32),
				c = i(l),
				u = function() {
					function e(t) {
						a(this, e), this.container = t.container, this.options = t.options, this.index = t.index, this.tran = t.tran,
							this.init()
					}
					return o(e, [{
						key: "init",
						value: function() {
							this.container.innerHTML = (0, c.default)({
									options: this.options,
									index: this.index,
									tran: this.tran,
									icons: r.default,
									video: {
										current: !0,
										pic: this.options.video.pic,
										screenshot: this.options.screenshot,
										preload: this.options.preload,
										url: this.options.video.url,
										subtitle: this.options.subtitle
									}
								}), this.volumeBar = this.container.querySelector(".yzmplayer-volume-bar-inner"), this.volumeBarWrap =
								this.container.querySelector(".yzmplayer-volume-bar"), this.volumeBarWrapWrap = this.container.querySelector(
									".yzmplayer-volume-bar-wrap"), this.volumeButton = this.container.querySelector(".yzmplayer-volume"),
								this.volumeIcon = this.container.querySelector(".yzmplayer-volume-icon .yzmplayer-icon-content"), this.playedBar =
								this.container.querySelector(".yzmplayer-played"), this.loadedBar = this.container.querySelector(
									".yzmplayer-loaded"), this.playedBarWrap = this.container.querySelector(".yzmplayer-bar-wrap"), this.playedBarTime =
								this.container.querySelector(".yzmplayer-bar-time"), this.danmaku = this.container.querySelector(
									".yzmplayer-danmaku"), this.danmakuLoading = this.container.querySelector(".yzmplayer-danloading"),
								this.video = this.container.querySelector(".yzmplayer-video-current"), this.bezel = this.container.querySelector(
									".yzmplayer-bezel-icon"), this.playButton = this.container.querySelector(".yzmplayer-play-icon"), this.videoWrap =
								this.container.querySelector(".yzmplayer-video-wrap"), this.controllerMask = this.container.querySelector(
									".yzmplayer-controller-mask"), this.ptime = this.container.querySelector(".yzmplayer-ptime"), this.settingButton =
								this.container.querySelector(".yzmplayer-setting-icon"), this.settingBox = this.container.querySelector(
									".yzmplayer-setting-box"), this.mask = this.container.querySelector(".yzmplayer-mask"), this.loop =
								this.container.querySelector(".yzmplayer-setting-loop"), this.loopToggle = this.container.querySelector(
									".yzmplayer-setting-loop .yzmplayer-toggle-setting-input"), this.showDanmaku = this.container.querySelector(
									".yzmplayer-setting-showdan"), this.showDanmakuToggle = this.container.querySelector(
									".yzmplayer-showdan-setting-input"), this.unlimitDanmaku = this.container.querySelector(
									".yzmplayer-setting-danunlimit"), this.unlimitDanmakuToggle = this.container.querySelector(
									".yzmplayer-danunlimit-setting-input"), this.speed = this.container.querySelector(
									".yzmplayer-setting-speed"), this.speedItem = this.container.querySelectorAll(
									".yzmplayer-setting-speed-item"), this.danmakuOpacityBar = this.container.querySelector(
									".yzmplayer-danmaku-bar-inner"), this.danmakuOpacityBarWrap = this.container.querySelector(
									".yzmplayer-danmaku-bar"), this.danmakuOpacityBarWrapWrap = this.container.querySelector(
									".yzmplayer-danmaku-bar-wrap"), this.danmakuOpacityBox = this.container.querySelector(
									".yzmplayer-setting-danmaku"), this.dtime = this.container.querySelector(".yzmplayer-dtime"), this.controller =
								this.container.querySelector(".yzmplayer-controller"), this.commentInput = this.container.querySelector(
									".yzmplayer-comment-input"), this.commentButton = this.container.querySelector(
									".yzmplayer-comment-icon"), this.yzmcomment = this.container.querySelector(
									".yzm-yzmplayer-comment-input"), this.commentSettingBox = this.container.querySelector(
									".yzmplayer-comment-setting-box"), this.commentSettingButton = this.container.querySelector(
									".yzmplayer-comment-setting-icon"), this.commentSettingFill = this.container.querySelector(
									".yzmplayer-comment-setting-icon path"), this.commentSendButton = this.container.querySelector(
									".yzmplayer-send-icon"), this.commentSendFill = this.container.querySelector(
									".yzmplayer-send-icon path"), this.commentColorSettingBox = this.container.querySelector(
									".yzmplayer-comment-setting-color"), this.browserFullButton = this.container.querySelector(
									".yzmplayer-full-icon"), this.webFullButton = this.container.querySelector(".yzmplayer-full-in-icon"),
								this.menu = this.container.querySelector(".yzmplayer-menu"), this.menuItem = this.container.querySelectorAll(
									".yzmplayer-menu-item"), this.qualityList = this.container.querySelector(".yzmplayer-quality-list"),
								this.camareButton = this.container.querySelector(".yzmplayer-camera-icon"), this.subtitleButton = this.container
								.querySelector(".yzmplayer-subtitle-icon"), this.subtitleButtonInner = this.container.querySelector(
									".yzmplayer-subtitle-icon .yzmplayer-icon-content"), this.subtitle = this.container.querySelector(
									".yzmplayer-subtitle"), this.qualityButton = this.container.querySelector(".yzmplayer-quality-icon"),
								this.barPreview = this.container.querySelector(".yzmplayer-bar-preview"), this.barWrap = this.container.querySelector(
									".yzmplayer-bar-wrap"), this.notice = this.container.querySelector(".yzmplayer-notice"), this.infoPanel =
								this.container.querySelector(".yzmplayer-info-panel"), this.infoPanelClose = this.container.querySelector(
									".yzmplayer-info-panel-close"), this.infoVersion = this.container.querySelector(
									".yzmplayer-info-panel-item-version .yzmplayer-info-panel-item-data"), this.infoFPS = this.container.querySelector(
									".yzmplayer-info-panel-item-fps .yzmplayer-info-panel-item-data"), this.infoType = this.container.querySelector(
									".yzmplayer-info-panel-item-type .yzmplayer-info-panel-item-data"), this.infoUrl = this.container.querySelector(
									".yzmplayer-info-panel-item-url .yzmplayer-info-panel-item-data"), this.infoResolution = this.container
								.querySelector(".yzmplayer-info-panel-item-resolution .yzmplayer-info-panel-item-data"), this.infoDuration =
								this.container.querySelector(".yzmplayer-info-panel-item-duration .yzmplayer-info-panel-item-data"),
								this.infoDanmakuId = this.container.querySelector(
									".yzmplayer-info-panel-item-danmaku-id .yzmplayer-info-panel-item-data"), this.infoDanmakuApi = this.container
								.querySelector(".yzmplayer-info-panel-item-danmaku-api .yzmplayer-info-panel-item-data"), this.infoDanmakuAmount =
								this.container.querySelector(".yzmplayer-info-panel-item-danmaku-amount .yzmplayer-info-panel-item-data")
						}
					}]), e
				}();
			t.default = u
		},
		function(e, t) {
			e.exports =
				'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><path d="M17.982 9.275L8.06 3.27A2.013 2.013 0 005 4.994v12.011a2.017 2.017 0 003.06 1.725l9.922-6.005a2.017 2.017 0 000-3.45z"></path></svg>'
		},
		function(e, t) {
			e.exports =
				'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><path d="M7 3a2 2 0 00-2 2v12a2 2 0 104 0V5a2 2 0 00-2-2zM15 3a2 2 0 00-2 2v12a2 2 0 104 0V5a2 2 0 00-2-2z"></path></svg>'
		},
		function(e, t) {
			e.exports =
				'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><path d="M10.188 4.65L6 8H5a2 2 0 00-2 2v2a2 2 0 002 2h1l4.188 3.35a.5.5 0 00.812-.39V5.04a.498.498 0 00-.812-.39zM14.446 3.778a1 1 0 00-.862 1.804 6.002 6.002 0 01-.007 10.838 1 1 0 00.86 1.806A8.001 8.001 0 0019 11a8.001 8.001 0 00-4.554-7.222z"></path><path d="M15 11a3.998 3.998 0 00-2-3.465v6.93A3.998 3.998 0 0015 11z"></path></svg>'
		},
		function(e, t) {
			e.exports =
				'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><path d="M10.188 4.65L6 8H5a2 2 0 00-2 2v2a2 2 0 002 2h1l4.188 3.35a.5.5 0 00.812-.39V5.04a.498.498 0 00-.812-.39zM14.446 3.778a1 1 0 00-.862 1.804 6.002 6.002 0 01-.007 10.838 1 1 0 00.86 1.806A8.001 8.001 0 0019 11a8.001 8.001 0 00-4.554-7.222z"></path><path d="M15 11a3.998 3.998 0 00-2-3.465v6.93A3.998 3.998 0 0015 11z"></path></svg>'
		},
		function(e, t) {
			e.exports =
				'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><path d="M15 11a3.998 3.998 0 00-2-3.465v2.636l1.865 1.865A4.02 4.02 0 0015 11z"></path><path d="M13.583 5.583A5.998 5.998 0 0117 11a6 6 0 01-.585 2.587l1.477 1.477a8.001 8.001 0 00-3.446-11.286 1 1 0 00-.863 1.805zM18.778 18.778l-2.121-2.121-1.414-1.414-1.415-1.415L13 13l-2-2-3.889-3.889-3.889-3.889a.999.999 0 10-1.414 1.414L5.172 8H5a2 2 0 00-2 2v2a2 2 0 002 2h1l4.188 3.35a.5.5 0 00.812-.39v-3.131l2.587 2.587-.01.005a1 1 0 00.86 1.806c.215-.102.424-.214.627-.333l2.3 2.3a1.001 1.001 0 001.414-1.416zM11 5.04a.5.5 0 00-.813-.39L8.682 5.854 11 8.172V5.04z"></path></svg>'
		},
		function(e, t) {
			e.exports =
				'<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" version="1.1" viewBox="0 0 1024 1024"><path class="yzmplayer-fill" style="fill:#ffffff" d="M172.76790012 458.3867064c-16.56714924 0-30.76756226-13.41150166-30.76756226-30.76756226V276.93697895C142.00033786 205.93491169 182.23484286 163.33367119 249.29235047 163.33367119h148.31542969c16.56714924 0 30.76756226 13.41150166 30.76756298 30.76756226s-13.41150166 30.76756226-30.76756298 30.76756228H250.08126254c-28.40082677 0-46.54579943 8.67803065-46.54580015 52.8570953v150.68216519c0 15.77823717-14.20041374 29.97865091-30.76756227 29.97865018z m597.99518975 441.79064149H622.44766018c-16.56714924 0-29.97865091-13.41150166-29.97865019-29.97865019s13.41150166-29.97865091 29.97865019-29.9786509h148.31542969c28.40082677 0 46.54579943-8.67803065 46.54580016-52.85709459V635.89187494c0-16.56714924 13.41150166-29.97865091 29.97865019-29.97865019s29.97865091 13.41150166 29.97865092 29.97865019v150.68216518c0.78891208 71.00206727-39.44559292 113.60330777-106.50310127 113.60330777z" id="yzmplayer-full"></path></svg>'
		},
		function(e, t) {
			e.exports =
				'<svg id="yemian"xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><path d="M18 4H4a2 2 0 00-2 2v10a2 2 0 002 2h14a2 2 0 002-2V6a2 2 0 00-2-2zM8 15.5a.5.5 0 01-.5.5h-3a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5h1a.5.5 0 01.5.5V14h1.5a.5.5 0 01.5.5v1zm0-8a.5.5 0 01-.5.5H6v1.5a.5.5 0 01-.5.5h-1a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5h3a.5.5 0 01.5.5v1zm10 8a.5.5 0 01-.5.5h-3a.5.5 0 01-.5-.5v-1a.5.5 0 01.5-.5H16v-1.5a.5.5 0 01.5-.5h1a.5.5 0 01.5.5v3zm0-6a.5.5 0 01-.5.5h-1a.5.5 0 01-.5-.5V8h-1.5a.5.5 0 01-.5-.5v-1a.5.5 0 01.5-.5h3a.5.5 0 01.5.5v3z"></path></svg><svg id="tuichuuyemian" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><path d="M18 4H4a2 2 0 00-2 2v10a2 2 0 002 2h14a2 2 0 002-2V6a2 2 0 00-2-2zM8 15.5a.5.5 0 01-.5.5h-1a.5.5 0 01-.5-.5V14H4.5a.5.5 0 01-.5-.5v-1a.5.5 0 01.5-.5h3a.5.5 0 01.5.5v3zm0-6a.5.5 0 01-.5.5h-3a.5.5 0 01-.5-.5v-1a.5.5 0 01.5-.5H6V6.5a.5.5 0 01.5-.5h1a.5.5 0 01.5.5v3zm10 4a.5.5 0 01-.5.5H16v1.5a.5.5 0 01-.5.5h-1a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5h3a.5.5 0 01.5.5v1zm0-4a.5.5 0 01-.5.5h-3a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5h1a.5.5 0 01.5.5V8h1.5a.5.5 0 01.5.5v1z"></path></svg>'
		},
		function(e, t) {
			e.exports =
				'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><circle cx="11" cy="11" r="2"></circle><path d="M19.164 8.861L17.6 8.6a6.978 6.978 0 00-1.186-2.099l.574-1.533a1 1 0 00-.436-1.217l-1.997-1.153a1.001 1.001 0 00-1.272.23l-1.008 1.225a7.04 7.04 0 00-2.55.001L8.716 2.829a1 1 0 00-1.272-.23L5.447 3.751a1 1 0 00-.436 1.217l.574 1.533A6.997 6.997 0 004.4 8.6l-1.564.261A.999.999 0 002 9.847v2.306c0 .489.353.906.836.986l1.613.269a7 7 0 001.228 2.075l-.558 1.487a1 1 0 00.436 1.217l1.997 1.153c.423.244.961.147 1.272-.23l1.04-1.263a7.089 7.089 0 002.272 0l1.04 1.263a1 1 0 001.272.23l1.997-1.153a1 1 0 00.436-1.217l-.557-1.487c.521-.61.94-1.31 1.228-2.075l1.613-.269a.999.999 0 00.835-.986V9.847a.999.999 0 00-.836-.986zM11 15a4 4 0 110-8 4 4 0 010 8z"></path></svg>'
		},
		function(e, t) {
			e.exports =
				'<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 32"><path d="M22 16l-10.105-10.6-1.895 1.987 8.211 8.613-8.211 8.612 1.895 1.988 8.211-8.613z"></path></svg>'
		},
		function(e, t) {
			e.exports =
				'<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" version="1.1" viewBox="0 0 1024 1024"><path class="yzmplayer-fill" style="fill:#ffffff" d="M634.307692 358.53846172H341.23076914c-24.23076943 0-45-19.61538487-45-45S315.84615401 269.69230742 341.23076914 269.69230742h293.07692285c24.23076943 0 43.84615342 19.61538487 43.84615429 45s-19.61538487 43.84615342-43.84615429 43.8461543z m-74.99999971 159.23076943c0-24.23076943-19.61538487-45-45-45H328.53846113c-24.23076943 0-45 19.61538487-45 45s19.61538487 45 45 45h186.92307773c24.23076943-1.15384658 43.84615342-20.76923057 43.84615343-45zM520.07692344 835.07692344c0-23.07692285-18.46153828-42.69230771-42.69230772-42.69230771H252.38461573c-54.23076914 0-96.92307685-47.30769229-96.92307686-106.15384688v-426.92307627c0-58.84615371 43.84615342-106.15384599 96.92307685-106.153846h630c54.23076914 0 96.92307685 47.30769229 96.92307686 106.153846v94.61538456c0 23.07692285 18.46153828 42.69230771 42.69230771 42.69230773s42.69230771-18.46153828 42.69230772-42.69230773v-94.61538456C1064.69230801 154.30769229 982.76923057 68.92307685 882.38461573 68.92307685H252.38461573C153.15384658 68.92307685 71.23076914 154.30769229 71.23076914 259.30769258v428.07692285c0 105.00000029 81.92307656 190.38461573 181.15384658 190.38461572H477.38461573c24.23076943 0 42.69230771-19.61538487 42.69230771-42.69230771z m323.07692255-521.53846172c0-27.69230742-23.07692285-50.76923115-50.76923026-50.76923115s-50.76923115 23.07692285-50.76923116 50.76923115 23.07692285 50.76923115 50.76923116 50.76923028c28.84615401 0 50.76923115-23.07692285 50.76923026-50.76923028m255.00000059 377.3076917c0-148.84615372-121.15384629-270-268.84615429-270S559.30769229 541.99999971 559.30769229 690.84615342s121.15384629 268.84615342 270 268.84615429 268.84615342-119.99999971 268.84615429-268.84615429z m-87.69230772 0c0 99.23076914-80.76923086 181.15384658-181.15384657 181.15384658s-181.15384658-80.76923086-181.15384571-181.15384658 80.76923086-180 181.15384571-180 181.15384658 80.76923086 181.15384657 180z m-167.30769287 114.23076944l170.76923086-184.61538458c15.00000029-16.15384599 13.84615371-41.53846114-2.30769228-56.53846143-16.15384599-15.00000029-41.53846114-13.84615371-56.53846142 2.30769229L807.38461513 724.307692 731.23076885 672.38461513c-18.46153828-12.69230801-42.69230771-8.07692344-55.38461484 10.38461573-12.69230801 18.46153828-8.07692344 42.69230771 10.38461484 55.38461572l106.15384687 72.69230743c6.92307685 4.61538457 15.00000029 6.92307685 23.07692285 6.92307685 9.23076914 0 19.61538487-4.61538457 27.69230742-12.69230801z" id="yzmplayer-comment"></path></svg>'
		},
		function(e, t) {
			e.exports =
				'<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 32"><path d="M27.090 0.131h-22.731c-2.354 0-4.262 1.839-4.262 4.109v16.401c0 2.269 1.908 4.109 4.262 4.109h4.262v-2.706h8.469l-8.853 8.135 1.579 1.451 7.487-6.88h9.787c2.353 0 4.262-1.84 4.262-4.109v-16.401c0-2.27-1.909-4.109-4.262-4.109v0zM28.511 19.304c0 1.512-1.272 2.738-2.841 2.738h-8.425l-0.076-0.070-0.076 0.070h-11.311c-1.569 0-2.841-1.226-2.841-2.738v-13.696c0-1.513 1.272-2.739 2.841-2.739h19.889c1.569 0 2.841-0.142 2.841 1.37v15.064z"></path></svg>'
		},
		function(e, t) {
			e.exports =
				'<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 1048 1024"><path d="M675.48206831 405.43059956c-21.34102395 0-38.61709113-17.27606717-38.61709114-38.61709114 0-21.34102395 17.27606717-38.61709113 38.61709113-38.6170903s38.61709113 17.27606717 38.6170903 38.6170903c0 21.34102395-17.27606717 38.61709113-38.6170903 38.61709114M825.88547437 93.44515543c-1.0162392 0-3.04871759 1.0162392-4.06495679 1.0162392L171.42740857 347.50496286c-32.51965512 9.14615277-57.92563586 35.56837271-67.07178864 68.08802865-9.14615277 34.55213351 0 69.10426785 25.40598074 94.5102486 5.08119598 5.08119598 11.17863116 8.12991357 18.29230555 10.1623928L284.22996353 557.86648401l104.67264139 30.48717673c48.77948309-45.7307655 144.30597089-134.14357891 159.54955883-148.37092768 15.24358878-15.24358878 39.63333032-15.24358878 54.87691911 0 15.24358878 15.24358878 15.24358878 39.63333032 0 54.87691911-18.29230637 18.29230637-132.11110052 123.98118613-157.51708127 147.35468847L498.65644147 883.06303852c2.03247839 7.11367438 5.08119598 14.22734958 10.16239279 19.30854556 18.29230637 18.29230637 42.68204792 28.45469834 69.10426703 28.45469833 8.12991357 0 17.27606717-1.0162392 25.40598157-3.04871759 33.53589431-9.14615277 58.94187506-33.53589431 68.08802783-66.05555026L943.76922531 218.44258075c1.0162392-2.03247839 1.0162392-3.04871759 2.0324784-5.08119598 9.14615277-34.55213351 0-69.10426785-25.40598074-94.5102486C894.98974222 94.46139462 860.43760788 84.29900183 825.88547437 93.44515543z"></path></svg>'
		},
		function(e, t) {
			e.exports =
				'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><path d="M16.5 8c1.289 0 2.49.375 3.5 1.022V6a2 2 0 00-2-2H4a2 2 0 00-2 2v10a2 2 0 002 2h7.022A6.5 6.5 0 0116.5 8zM7 13H5a1 1 0 010-2h2a1 1 0 010 2zm2-4H5a1 1 0 010-2h4a1 1 0 010 2z"></path><path d="M20.587 13.696l-.787-.131a3.503 3.503 0 00-.593-1.051l.301-.804a.46.46 0 00-.21-.56l-1.005-.581a.52.52 0 00-.656.113l-.499.607a3.53 3.53 0 00-1.276 0l-.499-.607a.52.52 0 00-.656-.113l-1.005.581a.46.46 0 00-.21.56l.301.804c-.254.31-.456.665-.593 1.051l-.787.131a.48.48 0 00-.413.465v1.209a.48.48 0 00.413.465l.811.135c.144.382.353.733.614 1.038l-.292.78a.46.46 0 00.21.56l1.005.581a.52.52 0 00.656-.113l.515-.626a3.549 3.549 0 001.136 0l.515.626a.52.52 0 00.656.113l1.005-.581a.46.46 0 00.21-.56l-.292-.78c.261-.305.47-.656.614-1.038l.811-.135A.48.48 0 0021 15.37v-1.209a.48.48 0 00-.413-.465zM16.5 16.057a1.29 1.29 0 11.002-2.582 1.29 1.29 0 01-.002 2.582z"></path></svg>'
		},
		function(e, t) {
			e.exports =
				'<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 32"><path d="M16 23c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6zM16 13c-2.206 0-4 1.794-4 4s1.794 4 4 4c2.206 0 4-1.794 4-4s-1.794-4-4-4zM27 28h-22c-1.654 0-3-1.346-3-3v-16c0-1.654 1.346-3 3-3h3c0.552 0 1 0.448 1 1s-0.448 1-1 1h-3c-0.551 0-1 0.449-1 1v16c0 0.552 0.449 1 1 1h22c0.552 0 1-0.448 1-1v-16c0-0.551-0.448-1-1-1h-11c-0.552 0-1-0.448-1-1s0.448-1 1-1h11c1.654 0 3 1.346 3 3v16c0 1.654-1.346 3-3 3zM24 10.5c0 0.828 0.672 1.5 1.5 1.5s1.5-0.672 1.5-1.5c0-0.828-0.672-1.5-1.5-1.5s-1.5 0.672-1.5 1.5zM15 4c0 0.552-0.448 1-1 1h-4c-0.552 0-1-0.448-1-1v0c0-0.552 0.448-1 1-1h4c0.552 0 1 0.448 1 1v0z"></path></svg>'
		},
		function(e, t) {
			e.exports =
				'<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 32"><path d="M26.667 5.333h-21.333c-0 0-0.001 0-0.001 0-1.472 0-2.666 1.194-2.666 2.666 0 0 0 0.001 0 0.001v-0 16c0 0 0 0.001 0 0.001 0 1.472 1.194 2.666 2.666 2.666 0 0 0.001 0 0.001 0h21.333c0 0 0.001 0 0.001 0 1.472 0 2.666-1.194 2.666-2.666 0-0 0-0.001 0-0.001v0-16c0-0 0-0.001 0-0.001 0-1.472-1.194-2.666-2.666-2.666-0 0-0.001 0-0.001 0h0zM5.333 16h5.333v2.667h-5.333v-2.667zM18.667 24h-13.333v-2.667h13.333v2.667zM26.667 24h-5.333v-2.667h5.333v2.667zM26.667 18.667h-13.333v-2.667h13.333v2.667z"></path></svg>'
		},
		function(e, t) {
			e.exports =
				'<svg version="1.1" viewBox="0 0 22 22"><svg x="7" y="1"><circle class="diplayer-loading-dot diplayer-loading-dot-0" cx="4" cy="4" r="2"></circle></svg><svg x="11" y="3"><circle class="diplayer-loading-dot diplayer-loading-dot-1" cx="4" cy="4" r="2"></circle></svg><svg x="13" y="7"><circle class="diplayer-loading-dot diplayer-loading-dot-2" cx="4" cy="4" r="2"></circle></svg><svg x="11" y="11"><circle class="diplayer-loading-dot diplayer-loading-dot-3" cx="4" cy="4" r="2"></circle></svg><svg x="7" y="13"><circle class="diplayer-loading-dot diplayer-loading-dot-4" cx="4" cy="4" r="2"></circle></svg><svg x="3" y="11"><circle class="diplayer-loading-dot diplayer-loading-dot-5" cx="4" cy="4" r="2"></circle></svg><svg x="1" y="7"><circle class="diplayer-loading-dot diplayer-loading-dot-6" cx="4" cy="4" r="2"></circle></svg><svg x="3" y="3"><circle class="diplayer-loading-dot diplayer-loading-dot-7" cx="4" cy="4" r="2"></circle></svg></svg>'
		},
		function(e, t, n) {
			var i = n(3);
			e.exports = function(e) {
				"use strict";
				e = e || {};
				var t = "",
					a = (arguments[1], e.video),
					o = e.options,
					s = i.$escape,
					r = e.tran,
					l = e.icons,
					c = e.index,
					u = i.$each;
				e.$value, e.$index;
				return t +=
					'<div id="loading-box"><div class="loading"><p class="pic"></p><div class="tips"></div></div><div type="button" id="close" ><div class="playlink"><span id="link1">播放器连接...</span><span id="link1-success">【完成】</span></div><div class="dmlink"><span id="link2">弹幕连接中...</span><span id="link2-success">【完成】</span><span id="link2-error">【失败】</span></div><span class="palycon" id="link3"><e id="link3_tip">等待视频连接中</e><e id="link3-error">【失败】</e><!--d class="wait"><e id="span">3</e>s</d--></span></div></div><div class="yzmplayer-mask"></div>\n<div class="yzmplayer-cplayer"><div class="yzmplayer-showing"><svg aria-hidden="true"><use xlink:href="#icon-play"></use></svg></div><div class="vod-title"><div id="landing-title" class="video-info"><ul class="u-title"><a id="vodlink" href="" target="_blank" ><span class="iconfont icon-back"></span></a><a id="vodtitle"><span></span></a></ul></div></div></div><div class="yzmplayer-video-wrap">\n    ',
					function(e) {
						t += e
					}(n(4)(a)), t += "\n    ", o.logo && (t += '\n    <div class="yzmplayer-logo">\n        <img src="', t += s(o.logo),
						t += '">\n    </div>\n    '), t += '\n    <div class="yzmplayer-danmaku"', o.danmaku && o.danmaku.bottm && (t +=
						' style="margin-bottom:', t += s(o.danmaku.bottm), t += '"'), t +=
					'>\n        <div class="yzmplayer-danmaku-item yzmplayer-danmaku-item--demo"></div>\n    </div>\n    <div class="yzmplayer-subtitle"></div>\n    <div class="yzmplayer-bezel">\n        <span class="yzmplayer-bezel-icon"></span>\n        ',
					o.danmaku && (t += '\n        <span class="yzmplayer-danloading">', t += s(r("Danmaku is loading")), t +=
						"</span>\n        "), t += '\n        <span class="diplayer-loading-icon">', t += l.loading, t +=
					'</span>\n    </div>\n</div>\n<div class="yzmplayer-controller-mask"></div>\n<div class="yzmplayer-controller">\n  <div class="controller-box">\n   <div class="yzmplayer-icons yzmplayer-icons-left">\n        <button class="yzmplayer-icon yzmplayer-play-icon">\n            <span class="yzmplayer-icon-content">',
					t += l.play, t +=
					'</span>\n        </button>\n    <button onclick="YZM.video.next();" class="yzmplayer-icon  icon-xj" data-balloon="下一集" data-balloon-pos="up">\n<span class="yzmplayer-icon-content"><svg aria-hidden="true" fill="#fff"><use xlink:href="#icon-play-xj"></use></svg></span></button>\n    <div class="yzmplayer-volume">\n            <button class="yzmplayer-icon yzmplayer-volume-icon">\n                <span class="yzmplayer-icon-content">',
					t += l.volumeDown, t +=
					'</span>\n            </button>\n            <div class="yzmplayer-volume-bar-wrap" data-balloon-pos="up">\n                <div class="yzmplayer-volume-bar">\n                    <div class="yzmplayer-volume-bar-inner" style="background: ',
					t += s(o.theme), t += ';">\n                        <span class="yzmplayer-thumb" style="background: ', t += s(
						o.theme), t +=
					'"></span>\n                    </div>\n                </div>\n            </div>\n        </div>\n        <span class="yzmplayer-time">\n            <span class="yzmplayer-ptime">0:00</span> /\n            <span class="yzmplayer-dtime">0:00</span>\n        </span>\n        ',
					o.live && (t +=
						'\n        <span class="yzmplayer-live-badge"><span class="yzmplayer-live-dot" style="background: ', t += s(o
							.theme), t += ';"></span>', t += s(r("Live")), t += "</span>\n        "), t +=
					'\n    </div>\n    <div class="yzmplayer-icons yzmplayer-icons-right">\n        ', o.video.quality && (t +=
						'\n        <div class="yzmplayer-quality">\n            <button class="yzmplayer-icon yzmplayer-quality-icon">',
						t += s(o.video.quality[o.video.defaultQuality].name), t +=
						'</button>\n            <div class="yzmplayer-quality-mask">\n                <div class="yzmplayer-quality-list"></div>\n                ',
						u(o.video.quality, function(e, n) {
							t += '\n                    <div class="yzmplayer-quality-item" data-index="', t += s(n), t += '">', t += s(
								e.name), t += "</div>\n                "
						}), t += "\n                </div>\n            </div>\n        </div>\n        "), t += "\n        ", o.screenshot &&
					(t += '\n        <a href="#" class="yzmplayer-icon yzmplayer-camera-icon" data-balloon="', t += s(r(
							"Screenshot")), t += '" data-balloon-pos="up">\n            <span class="yzmplayer-icon-content">', t += l.camera,
						t += "</span>\n        </a>\n        "), t +=
					'\n        <div class="yzmplayer-comment">\n            <button class="yzmplayer-icon yzmplayer-comment-icon" data-balloon="',
					t += s(r("Send danmaku")), t +=
					'" data-balloon-pos="up">\n                <span class="yzmplayer-icon-content">', t += l.comment, t +=
					"</span>\n            </button>\n        </div>\n        ", o.subtitle && (t +=
						'\n        <div class="yzmplayer-subtitle-btn">\n            <button class="yzmplayer-icon yzmplayer-subtitle-icon" data-balloon="',
						t += s(r("Hide subtitle")), t +=
						'" data-balloon-pos="up">\n                <span class="yzmplayer-icon-content">', t += l.subtitle, t +=
						"</span>\n            </button>\n        </div>\n        "), t +=
					'\n        <div class="yzmplayer-setting"><button class="yzmplayer-icon yzmplayer-setting-speeds "data-balloon="速度"data-balloon-pos="up"><span class="yzmplayer-label title">倍速</span><div class="yzmplayer-setting-speed-panel speed-stting"><div class="yzmplayer-setting-speed-item"data-speed="0.5"><span class="yzmplayer-label">0.5x</span></div><div class="yzmplayer-setting-speed-item"data-speed="0.75"><span class="yzmplayer-label">0.75x</span></div><div class="yzmplayer-setting-speed-item"data-speed="1"><span class="yzmplayer-label">正常</span></div><div class="yzmplayer-setting-speed-item"data-speed="1.25"><span class="yzmplayer-label">1.25x</span></div><div class="yzmplayer-setting-speed-item"data-speed="1.5"><span class="yzmplayer-label">1.5x</span></div><div class="yzmplayer-setting-speed-item"data-speed="2"><span class="yzmplayer-label">2.0x</span></div></div></button><button class="yzmplayer-icon yzmplayer-list-icon" data-balloon="弹幕列表" data-balloon-pos="up"><span class="yzmplayer-icon-content"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" version="1.1" viewBox="0 0 32 32"><path class="yzmplayer-fill" style="fill:#ffffff" d="M26.667 5.333h-21.333c-0 0-0.001 0-0.001 0-1.472 0-2.666 1.194-2.666 2.666 0 0 0 0.001 0 0.001v-0 16c0 0 0 0.001 0 0.001 0 1.472 1.194 2.666 2.666 2.666 0 0 0.001 0 0.001 0h21.333c0 0 0.001 0 0.001 0 1.472 0 2.666-1.194 2.666-2.666 0-0 0-0.001 0-0.001v0-16c0-0 0-0.001 0-0.001 0-1.472-1.194-2.666-2.666-2.666-0 0-0.001 0-0.001 0h0zM5.333 16h5.333v2.667h-5.333v-2.667zM18.667 24h-13.333v-2.667h13.333v2.667zM26.667 24h-5.333v-2.667h5.333v2.667zM26.667 18.667h-13.333v-2.667h13.333v2.667z" id="yzmplayer-full-in"></path></svg></span></button>\n            <button class="yzmplayer-icon yzmplayer-setting-icon" data-balloon="',
					t += s(r("Setting")), t += '" data-balloon-pos="up">\n                <span class="yzmplayer-icon-content">',
					t += l.setting, t +=
					'</span>\n            </button>\n            <div class="yzmplayer-setting-box">\n                <div class="yzmplayer-setting-origin-panel">\n                    <div class="yzmplayer-setting-item yzmplayer-setting-speed">\n                        <span class="yzmplayer-label">',
					t += s(r("Speed")), t += '</span>\n                        <div class="yzmplayer-toggle">', t += l.right, t +=
					'</div>\n                    </div>\n                    <div class="yzmplayer-setting-item yzmplayer-setting-loop">\n                        <span class="yzmplayer-label">',
					t += s(r("Loop")), t +=
					'</span>\n                        <div class="yzmplayer-toggle">\n                            <input class="yzmplayer-toggle-setting-input" type="checkbox" name="yzmplayer-toggle">\n                            <label for="yzmplayer-toggle"></label>\n                        </div>\n                    </div><div class="yzmplayer-setting-item yzmplayer-setting-jlast"><span class="yzmplayer-label">跳过片尾 <input id="jumptime" placeholder="单位/秒"></span><div class="yzmplayer-toggle"><input class="yzmplayer-toggle-setting-input" type="checkbox" name="yzmplayer-toggle"><label for="yzmplayer-toggle"></label></div></div><div class="yzmplayer-setting-item yzmplayer-setting-jfrist"><span class="yzmplayer-label">跳过片头 <input id="fristtime" placeholder="单位/秒"></span><div class="yzmplayer-toggle"><input class="yzmplayer-toggle-setting-input" type="checkbox" name="yzmplayer-toggle"><label for="yzmplayer-toggle"></label></div></div>\n             </div>\n                <div class="yzmplayer-setting-speed-panel">\n                    <div class="yzmplayer-setting-speed-item" data-speed="0.5">\n                        <span class="yzmplayer-label">0.5</span>\n                    </div>\n                    <div class="yzmplayer-setting-speed-item" data-speed="0.75">\n                        <span class="yzmplayer-label">0.75</span>\n                    </div>\n                    <div class="yzmplayer-setting-speed-item" data-speed="1">\n                        <span class="yzmplayer-label">',
					t += s(r("Normal")), t +=
					'</span>\n                    </div>\n                    <div class="yzmplayer-setting-speed-item" data-speed="1.25">\n                        <span class="yzmplayer-label">1.25</span>\n                    </div>\n                    <div class="yzmplayer-setting-speed-item" data-speed="1.5">\n                        <span class="yzmplayer-label">1.5</span>\n                    </div>\n                    <div class="yzmplayer-setting-speed-item" data-speed="2">\n                        <span class="yzmplayer-label">2</span>\n                    </div>\n                </div>\n            </div>\n        </div>\n        <div class="yzmplayer-full">\n            <button class="yzmplayer-icon yzmplayer-full-in-icon" data-balloon="',
					t += s(r("Web full screen")), t +=
					'" data-balloon-pos="up">\n                <span class="yzmplayer-icon-content">', t += l.fullWeb, t +=
					'</span>\n            </button>\n            <button class="yzmplayer-icon yzmplayer-full-icon" data-balloon="',
					t += s(r("Full screen")), t +=
					'" data-balloon-pos="up">\n                <span class="yzmplayer-icon-content">', t += l.full, t +=
					'</span>\n            </button><button class="yzmplayer-icon yzmplayer-fulloff-icon" data-balloon="退出全屏" data-balloon-pos="up"><span class="yzmplayer-icon-content"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" version="1.1" viewBox="0 0 1024 1024"><path class="yzmplayer-fill" style="fill:#ffffff" d="M308.3555518 432.05693128H150.1524268c-17.67162586 0-32.81873308-14.30560177-32.81873308-32.81873308s14.30560177-32.81873308 32.81873308-32.81873309h158.203125c30.29421522 0 49.64885273-9.25656603 49.6488535-56.38090166V150.1524268c0-17.67162586 14.30560177-32.81873308 32.81873308-32.81873308s32.81873308 14.30560177 32.81873309 32.81873308v160.72764287c-0.84150622 75.73553842-43.75831155 121.17686162-115.28631967 121.17686161z m321.45528573 471.24335092c-17.67162586 0-31.97722764-14.30560177-31.97722687-31.97722687V709.75390625c0-75.73553842 42.91680533-121.17686162 114.44481346-121.17686162h158.203125c17.67162586 0 31.97722764 14.30560177 31.97722763 31.97722764s-14.30560177 31.97722764-31.97722763 31.97722687H712.27842412c-30.29421522 0-49.64885273 9.25656603-49.64885273 56.38090089v160.72764287c-0.84150622 18.51313131-15.14710799 33.6602393-32.81873386 33.6602393z" id="yzmplayer-fulloff"></path></svg></span></button>\n        </div>\n    </div>\n    <div class="yzmplayer-bar-wrap">\n        <div class="yzmplayer-bar-time hidden">00:00</div>\n        <div class="yzmplayer-bar-preview"></div>\n        <div class="yzmplayer-bar">\n            <div class="yzmplayer-loaded" style="width: 0;"></div>\n            <div class="yzmplayer-played" style="width: 0; background: ',
					t += s(o.theme), t += '">\n                <span class="yzmplayer-thumb" style="background: ', t += s(o.theme),
					t +=
					'"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18" preserveAspectRatio="xMidYMid meet" style="width: 100%; height: 100%; transform: translate3d(0px, 0px, 0px);"><defs><clipPath id="__lottie_element_25"><rect width="18" height="18" x="0" y="0"></rect></clipPath></defs><g clip-path="url(#__lottie_element_25)"><g transform="matrix(1,0,0,1,8.937000274658203,8.25)" opacity="0.14" style="display: block;"><g opacity="1" transform="matrix(1,0,0,1,0.07500000298023224,1.2130000591278076)"><path fill="rgb(251,114,153)" fill-opacity="1" d=" M9,-3.5 C9,-3.5 9,3.5 9,3.5 C9,5.707600116729736 7.207600116729736,7.5 5,7.5 C5,7.5 -5,7.5 -5,7.5 C-7.207600116729736,7.5 -9,5.707600116729736 -9,3.5 C-9,3.5 -9,-3.5 -9,-3.5 C-9,-5.707600116729736 -7.207600116729736,-7.5 -5,-7.5 C-5,-7.5 5,-7.5 5,-7.5 C7.207600116729736,-7.5 9,-5.707600116729736 9,-3.5z"></path></g></g><g transform="matrix(1,0,0,1,9.140999794006348,8.67199993133545)" opacity="0.28" style="display: block;"><g opacity="1" transform="matrix(1,0,0,1,-0.1509999930858612,0.7990000247955322)"><path fill="rgb(251,114,153)" fill-opacity="1" d=" M8,-3 C8,-3 8,3 8,3 C8,4.931650161743164 6.431650161743164,6.5 4.5,6.5 C4.5,6.5 -4.5,6.5 -4.5,6.5 C-6.431650161743164,6.5 -8,4.931650161743164 -8,3 C-8,3 -8,-3 -8,-3 C-8,-4.931650161743164 -6.431650161743164,-6.5 -4.5,-6.5 C-4.5,-6.5 4.5,-6.5 4.5,-6.5 C6.431650161743164,-6.5 8,-4.931650161743164 8,-3z"></path></g></g><g transform="matrix(0.9883429408073425,-0.7275781631469727,0.6775955557823181,0.920446515083313,7.3224687576293945,-0.7606706619262695)" opacity="1" style="display: block;"><g opacity="1" transform="matrix(0.9937776327133179,-0.11138220876455307,0.11138220876455307,0.9937776327133179,-2.5239999294281006,1.3849999904632568)"><path fill="rgb(0,0,0)" fill-opacity="1" d=" M0.75,-1.25 C0.75,-1.25 0.75,1.25 0.75,1.25 C0.75,1.663925051689148 0.4139249920845032,2 0,2 C0,2 0,2 0,2 C-0.4139249920845032,2 -0.75,1.663925051689148 -0.75,1.25 C-0.75,1.25 -0.75,-1.25 -0.75,-1.25 C-0.75,-1.663925051689148 -0.4139249920845032,-2 0,-2 C0,-2 0,-2 0,-2 C0.4139249920845032,-2 0.75,-1.663925051689148 0.75,-1.25z" style="fill: #000;"></path></g></g><g transform="matrix(1.1436611413955688,0.7535901665687561,-0.6317168474197388,0.9587040543556213,16.0070743560791,2.902894973754883)" opacity="1" style="display: block;"><g opacity="1" transform="matrix(0.992861807346344,0.1192704513669014,-0.1192704513669014,0.992861807346344,-2.5239999294281006,1.3849999904632568)"><path fill="rgb(0,0,0)" fill-opacity="1" d=" M0.75,-1.25 C0.75,-1.25 0.75,1.25 0.75,1.25 C0.75,1.663925051689148 0.4139249920845032,2 0,2 C0,2 0,2 0,2 C-0.4139249920845032,2 -0.75,1.663925051689148 -0.75,1.25 C-0.75,1.25 -0.75,-1.25 -0.75,-1.25 C-0.75,-1.663925051689148 -0.4139249920845032,-2 0,-2 C0,-2 0,-2 0,-2 C0.4139249920845032,-2 0.75,-1.663925051689148 0.75,-1.25z" style="fill: #000;"></path></g></g><g transform="matrix(1,0,0,1,8.890999794006348,8.406000137329102)" opacity="1" style="display: block;"><g opacity="1" transform="matrix(1,0,0,1,0.09099999815225601,1.1009999513626099)"><path fill="rgb(255,255,255)" fill-opacity="1" d=" M7,-3 C7,-3 7,3 7,3 C7,4.379749774932861 5.879749774932861,5.5 4.5,5.5 C4.5,5.5 -4.5,5.5 -4.5,5.5 C-5.879749774932861,5.5 -7,4.379749774932861 -7,3 C-7,3 -7,-3 -7,-3 C-7,-4.379749774932861 -5.879749774932861,-5.5 -4.5,-5.5 C-4.5,-5.5 4.5,-5.5 4.5,-5.5 C5.879749774932861,-5.5 7,-4.379749774932861 7,-3z"></path><path stroke-linecap="butt" stroke-linejoin="miter" fill-opacity="0" stroke-miterlimit="4" stroke="rgb(0,0,0)" stroke-opacity="1" stroke-width="1.5" d=" M7,-3 C7,-3 7,3 7,3 C7,4.379749774932861 5.879749774932861,5.5 4.5,5.5 C4.5,5.5 -4.5,5.5 -4.5,5.5 C-5.879749774932861,5.5 -7,4.379749774932861 -7,3 C-7,3 -7,-3 -7,-3 C-7,-4.379749774932861 -5.879749774932861,-5.5 -4.5,-5.5 C-4.5,-5.5 4.5,-5.5 4.5,-5.5 C5.879749774932861,-5.5 7,-4.379749774932861 7,-3z"></path></g></g><g transform="matrix(1,0,0,1,8.89900016784668,8.083999633789062)" opacity="1" style="display: block;"><g opacity="1" transform="matrix(1,0,0,1,-2.5239999294281006,1.3849999904632568)"><path fill="rgb(0,0,0)" fill-opacity="1" d=" M0.875,-1.125 C0.875,-1.125 0.875,1.125 0.875,1.125 C0.875,1.607912540435791 0.48291251063346863,2 0,2 C0,2 0,2 0,2 C-0.48291251063346863,2 -0.875,1.607912540435791 -0.875,1.125 C-0.875,1.125 -0.875,-1.125 -0.875,-1.125 C-0.875,-1.607912540435791 -0.48291251063346863,-2 0,-2 C0,-2 0,-2 0,-2 C0.48291251063346863,-2 0.875,-1.607912540435791 0.875,-1.125z" style="fill: #000;"></path></g></g><g transform="matrix(1,0,0,1,14.008999824523926,8.083999633789062)" opacity="1" style="display: block;"><g opacity="1" transform="matrix(1,0,0,1,-2.5239999294281006,1.3849999904632568)"><path fill="rgb(0,0,0)" fill-opacity="1" d=" M0.8999999761581421,-1.100000023841858 C0.8999999761581421,-1.100000023841858 0.8999999761581421,1.100000023841858 0.8999999761581421,1.100000023841858 C0.8999999761581421,1.596709966659546 0.4967099726200104,2 0,2 C0,2 0,2 0,2 C-0.4967099726200104,2 -0.8999999761581421,1.596709966659546 -0.8999999761581421,1.100000023841858 C-0.8999999761581421,1.100000023841858 -0.8999999761581421,-1.100000023841858 -0.8999999761581421,-1.100000023841858 C-0.8999999761581421,-1.596709966659546 -0.4967099726200104,-2 0,-2 C0,-2 0,-2 0,-2 C0.4967099726200104,-2 0.8999999761581421,-1.596709966659546 0.8999999761581421,-1.100000023841858z" style="fill: #000;"></path></g></g></g></svg></span>\n            </div>\n        </div>\n  </div>\n    </div>\n  <div class="yzmplayer-icons yzmplayer-comment-box"><div class="yzmplayer-setting-item yzmplayer-setting-showdan showdan-setting"> <span class="yzmplayer-label"></span>\n<div class="yzmplayer-toggle"><input class="yzmplayer-showdan-setting-input"type="checkbox"name="yzmplayer-toggle-dan"><label for="yzmplayer-toggle-dan"></label></div></div>\n        <button class="yzmplayer-icon yzmplayer-comment-setting-icon" data-balloon="',
					t += s(r("Setting")), t += '" data-balloon-pos="up">\n            <span class="yzmplayer-icon-content">', t +=
					l.pallette, t +=
					'</span>\n        </button>\n        <div class="yzmplayer-comment-setting-box">\n <div class="yzmplayer-setting-item yzmplayer-setting-danunlimit">\n                        <span class="yzmplayer-label">',
					t += s(r("Unlimited danmaku")), t +=
					'</span>\n                        <div class="yzmplayer-toggle">\n                            <input class="yzmplayer-danunlimit-setting-input" type="checkbox" name="yzmplayer-toggle-danunlimit">\n                            <label for="yzmplayer-toggle-danunlimit"></label>\n                        </div>\n                    </div>\n                    <div class="yzmplayer-setting-item yzmplayer-setting-danmaku">\n                        <span class="yzmplayer-label">',
					t += s(r("Opacity for danmaku")), t +=
					'</span>\n                        <div class="yzmplayer-danmaku-bar-wrap">\n                            <div class="yzmplayer-danmaku-bar">\n                                <div class="yzmplayer-danmaku-bar-inner">\n                                    <span class="yzmplayer-thumb"></span>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                  <div class="yzmplayer-comment-setting-type">\n                <div class="yzmplayer-comment-setting-title">',
					t += s(r("Set danmaku type")), t +=
					'</div>\n                <label>\n                    <input type="radio" name="yzmplayer-danmaku-type-', t +=
					s(c), t += '" value="top">\n                    <span>', t += s(r("Top")), t +=
					'</span>\n                </label>\n                <label>\n                    <input type="radio" name="yzmplayer-danmaku-type-',
					t += s(c), t += '" value="right" checked>\n                    <span>', t += s(r("Rolling")), t +=
					'</span>\n                </label>\n                <label>\n                    <input type="radio" name="yzmplayer-danmaku-type-',
					t += s(c), t += '" value="bottom">\n                    <span>', t += s(r("Bottom")), t +=
					'</span>\n                </label>\n            </div>\n    <div class="yzmplayer-comment-setting-font"><div class="yzmplayer-comment-setting-title">弹幕大小</div><label><input type="radio"name="yzmplayer-danmaku-font-0"value="50px"><span>超大</span></label><label><input type="radio"name="yzmplayer-danmaku-font-0"value="35px"><span>较大</span></label><label><input type="radio"name="yzmplayer-danmaku-font-0"value="27.5px"checked=""><span>标准</span></label><label><input type="radio"name="yzmplayer-danmaku-font-0"value="18px"><span>较小</span></label></div>      <div class="yzmplayer-comment-setting-color">\n                <div class="yzmplayer-comment-setting-title">',
					t += s(r("Set danmaku color")), t +=
					'</div>\n                <label>\n                    <input type="radio" name="yzmplayer-danmaku-color-', t +=
					s(c), t +=
					'" value="#FE0302">\n                    <span style="background:#FE0302;"></span>\n                </label>\n                <label>\n                    <input type="radio" name="yzmplayer-danmaku-color-',
					t += s(c), t +=
					'" value="#FF7204">\n                    <span style="background: #FF7204"></span>\n                </label>\n                <label>\n                    <input type="radio" name="yzmplayer-danmaku-color-',
					t += s(c), t +=
					'" value="#FFAA02">\n                    <span style="background: #FFAA02"></span>\n                </label>\n                <label>\n                    <input type="radio" name="yzmplayer-danmaku-color-',
					t += s(c), t +=
					'" value="#FFD302">\n                    <span style="background: #FFD302"></span>\n                </label>\n                <label>\n                    <input type="radio" name="yzmplayer-danmaku-color-',
					t += s(c), t +=
					'" value="#FFFF00">\n                    <span style="background: #FFFF00"></span>\n                </label>\n                <label>\n                    <input type="radio" name="yzmplayer-danmaku-color-',
					t += s(c), t +=
					'" value="#A0EE00">\n                    <span style="background: #A0EE00"></span>\n                </label>\n<label>\n                    <input type="radio" name="yzmplayer-danmaku-color-',
					t += s(c), t +=
					'" value="#00CD00">\n                    <span style="background: #00CD00;"></span>\n                </label>\n                <label>\n                    <input type="radio" name="yzmplayer-danmaku-color-',
					t += s(c), t +=
					'" value="#019899">\n                    <span style="background: #019899"></span>\n                </label>\n                <label>\n                    <input type="radio" name="yzmplayer-danmaku-color-',
					t += s(c), t +=
					'" value="#4266BE">\n                    <span style="background: #4266BE"></span>\n                </label>\n                <label>\n                    <input type="radio" name="yzmplayer-danmaku-color-',
					t += s(c), t +=
					'" value="#89D5FF">\n                    <span style="background: #89D5FF"></span>\n                </label>\n                <label>\n                    <input type="radio" name="yzmplayer-danmaku-color-',
					t += s(c), t +=
					'" value="#CC0273">\n                    <span style="background: #CC0273"></span>\n                </label>\n                <label>\n                    <input type="radio" name="yzmplayer-danmaku-color-',
					t += s(c), t +=
					'" value="#222222">\n                    <span style="background: #222222"></span>\n                </label>\n            <label>\n                    <input type="radio" name="yzmplayer-danmaku-color-',
					t += s(c), t +=
					'" value="#9B9B9B">\n                    <span style="background: #9B9B9B"></span>\n                </label>\n          <label>\n                    <input type="radio" name="yzmplayer-danmaku-color-',
					t += s(c), t +=
					'" value="#FFFFFF" checked>\n                    <span style="background: #FFFFFF"></span>\n                </label>\n</div>\n                   </div>\n        <input class="yzmplayer-comment-input" type="text" placeholder="',
					t += s(r("Input danmaku, hit Enter")), t +=
					'" maxlength="30">\n        <button class="yzmplayer-icon yzmplayer-send-icon" data-balloon="', t += s(r(
						"Send")), t += '" data-balloon-pos="up">\n            <span class="yzmplayer-icon-content">', t += l.send, t +=
					'</span>\n        </button>\n<input id="dmtext" dmtype="right" size="27.5px" class="yzm-yzmplayer-comment-input" type="text" placeholder="',
					t += s(r("Input danmaku, hit Enter")), t +=
					'" maxlength="30" >\n        <button class="yzmplayer-icon yzm-yzmplayer-send-icon" data-balloon="', t += s(r(
						"Send")), t +=
					'" data-balloon-pos="up">发送	</button>\n   </div>\n  </div>\n<div class="yzmplayer-info-panel yzmplayer-info-panel-hide">\n    <div class="yzmplayer-info-panel-close">关闭</div>\n    <div class="yzmplayer-info-panel-item yzmplayer-info-panel-item-version">\n        <span class="yzmplayer-info-panel-item-title">播放器版本</span>\n        <span class="yzmplayer-info-panel-item-data"></span>\n    </div>\n    <div class="yzmplayer-info-panel-item yzmplayer-info-panel-item-fps">\n        <span class="yzmplayer-info-panel-item-title">播放器帧率</span>\n        <span class="yzmplayer-info-panel-item-data"></span>\n    </div>\n    <div class="yzmplayer-info-panel-item yzmplayer-info-panel-item-type">\n        <span class="yzmplayer-info-panel-item-title">视频类型</span>\n        <span class="yzmplayer-info-panel-item-data"></span>\n    </div>\n    <div class="yzmplayer-info-panel-item yzmplayer-info-panel-item-url">\n        <span class="yzmplayer-info-panel-item-title">视频地址</span>\n        <span class="yzmplayer-info-panel-item-data"></span>\n    </div>\n    <div class="yzmplayer-info-panel-item yzmplayer-info-panel-item-resolution">\n        <span class="yzmplayer-info-panel-item-title">视频分辨率</span>\n        <span class="yzmplayer-info-panel-item-data"></span>\n    </div>\n    <div class="yzmplayer-info-panel-item yzmplayer-info-panel-item-duration">\n        <span class="yzmplayer-info-panel-item-title">视频时长</span>\n        <span class="yzmplayer-info-panel-item-data"></span>\n    </div>\n    ',
					o.danmaku && (t +=
						'\n    <div class="yzmplayer-info-panel-item yzmplayer-info-panel-item-danmaku-id">\n        <span class="yzmplayer-info-panel-item-title">弹幕 ID</span>\n        <span class="yzmplayer-info-panel-item-data"></span>\n    </div>\n    <div class="yzmplayer-info-panel-item yzmplayer-info-panel-item-danmaku-api">\n        <span class="yzmplayer-info-panel-item-title">弹幕API</span>\n        <span class="yzmplayer-info-panel-item-data"></span>\n    </div>\n    <div class="yzmplayer-info-panel-item yzmplayer-info-panel-item-danmaku-amount">\n        <span class="yzmplayer-info-panel-item-title">弹幕数量</span>\n        <span class="yzmplayer-info-panel-item-data"></span>\n    </div>\n<div class="yzmplayer-info-panel-item yzmplayer-info-panel-item-title-amount"><span class="yzmplayer-info-panel-item-title">视频标题</span><span class="yzmplayer-info-panel-item-data" id="vod-title"></span></div>\n    '
					), t += '\n</div>\n<div class="yzmplayer-menu">\n    ', u(o.contextmenu, function(e, n) {
						t += '\n        <div class="yzmplayer-menu-item">\n            <a target="_blank" href="', t += s(e.link ||
							"javascript:void(0);"), t += '">', t += s(r(e.text)), t += "</a>\n        </div>\n    "
					}), t +=
					'\n</div>\n<div class="yzmplayer-notice"></div><div class="yzmplayer-danmu"><div class="yzmplayer-watching"><span class="yzmplayer-watching-number" title="播放器在线人数">1</span>人正在观看,<span class="danmuku-num">100</span>条弹幕</div><ul class="yzmplayer-list"><li>时间</li><li>弹幕内容</li><li>发送时间</li></ul><ul class="list-show"></ul></div><div class="svg-icon"><svg aria-hidden="true"><symbol id="icon-play" width="64" height="64" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><filter x="-11.2%" y="-10.8%" width="122.4%" height="125.5%" filterUnits="objectBoundingBox" id="pid-1-svgo-a"><feOffset dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset><feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur><feComposite in="shadowBlurOuter1" in2="SourceAlpha" operator="out" result="shadowBlurOuter1"></feComposite><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0" in="shadowBlurOuter1"></feColorMatrix></filter><path d="M52.352 13.5c4.837 0 8.707 4.32 8.647 9.72v21.06C61 49.62 57.128 54 52.29 54h-2.479c0 1.681-1.452 3-3.206 3S43.4 55.62 43.4 54H20.841c0 1.681-1.452 3-3.204 3-1.756 0-3.206-1.38-3.206-3h-2.722C6.87 54 3 49.68 3 44.28V23.22c0-5.4 3.87-9.72 8.709-9.72h11.25l-4.78-4.44c-.725-.661-.725-1.8 0-2.52.424-.36.908-.54 1.391-.54.546 0 1.029.18 1.392.54l7.5 6.96h7.318l7.5-6.96c.422-.36.907-.54 1.39-.54.544 0 1.029.18 1.392.54.725.659.725 1.8 0 2.52l-4.78 4.44h11.07zM26.527 45.54l17.418-10.08c1.45-.901 1.45-2.221 0-3.122L26.527 22.2c-1.452-.84-2.662-.12-2.662 1.56v20.22c0 1.74 1.21 2.4 2.662 1.561z" id="pid-1-svgo-b"></path></defs><g fill="none" fill-rule="evenodd"><use fill="#000" filter="url(#pid-1-svgo-a)" xlink:href="#pid-1-svgo-b"></use><use fill-opacity=".7" fill="#FFF" xlink:href="#pid-1-svgo-b"></use><path d="M26.527 45.541c-1.452.84-2.662.18-2.662-1.56V23.76c0-1.68 1.21-2.4 2.662-1.56L43.945 32.34c1.45.9 1.45 2.22 0 3.121L26.527 45.541z" fill="#000" opacity=".06"></path></g></symbol><symbol id="icon-play-xj" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><path d="M16 5a1 1 0 00-1 1v4.615a1.431 1.431 0 00-.615-.829L7.21 5.23A1.439 1.439 0 005 6.445v9.11a1.44 1.44 0 002.21 1.215l7.175-4.555a1.436 1.436 0 00.616-.828V16a1 1 0 002 0V6C17 5.448 16.552 5 16 5z"></path></symbol></svg></div>'
			}
		},
		function(e, t, n) {
			"use strict";
			(function(t) {
				function i(e) {
					return "string" != typeof e && (e = void 0 === e || null === e ? "" : "function" == typeof e ? i(e.call(e)) :
						JSON.stringify(e)), e
				}

				function a(e) {
					var t = "" + e,
						n = r.exec(t);
					if (!n) return e;
					var i = "",
						a = void 0,
						o = void 0,
						s = void 0;
					for (a = n.index, o = 0; a < t.length; a++) {
						switch (t.charCodeAt(a)) {
							case 34:
								s = "&#34;";
								break;
							case 38:
								s = "&#38;";
								break;
							case 39:
								s = "&#39;";
								break;
							case 60:
								s = "&#60;";
								break;
							case 62:
								s = "&#62;";
								break;
							default:
								continue
						}
						o !== a && (i += t.substring(o, a)), o = a + 1, i += s
					}
					return o !== a ? i + t.substring(o, a) : i
				}
				var o = n(34),
					s = Object.create(o ? t : window),
					r = /["&'<>]/;
				s.$escape = function(e) {
					return a(i(e))
				}, s.$each = function(e, t) {
					if (Array.isArray(e))
						for (var n = 0, i = e.length; n < i; n++) t(e[n], n);
					else
						for (var a in e) t(e[a], a)
				}, e.exports = s
			}).call(t, n(1))
		},
		function(e, t, n) {
			"use strict";
			(function(t) {
				e.exports = !1;
				try {
					e.exports = "[object process]" === Object.prototype.toString.call(t.process)
				} catch (e) {}
			}).call(t, n(1))
		},
		function(e, t, n) {
			"use strict";

			function i(e, t) {
				if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
			}
			Object.defineProperty(t, "__esModule", {
				value: !0
			});
			var a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
					return typeof e
				} : function(e) {
					return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" :
						typeof e
				},
				o = function() {
					function e(e, t) {
						for (var n = 0; n < t.length; n++) {
							var i = t[n];
							i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(
								e, i.key, i)
						}
					}
					return function(t, n, i) {
						return n && e(t.prototype, n), i && e(t, i), t
					}
				}(),
				s = function() {
					function e(t) {
						i(this, e), this.options = t, this.container = this.options.container, this.danTunnel = {
								right: {},
								top: {},
								bottom: {}
							}, this.danIndex = 0, this.dan = [], this.showing = !0, this._opacity = this.options.opacity, this.events =
							this.options.events, this.unlimited = this.options.unlimited, this._measure(""), this.load()
					}
					return o(e, [{
						key: "load",
						value: function() {
							var e = this,
								t = void 0;
							t = this.options.api.maximum ? this.options.api.address + "&id=" + this.options.api.id + "&max=" + this.options
								.api.maximum : this.options.api.address + "&id=" + this.options.api.id;
							var n = (this.options.api.addition || []).slice(0);
							n.push(t), this.events && this.events.trigger("danmaku_load_start", n), this._readAllEndpoints(n,
								function(t) {
									e.dan = [].concat.apply([], t).sort(function(e, t) {
										return e.time - t.time
									}), window.requestAnimationFrame(function() {
										e.frame()
									}), e.options.callback(), e.events && e.events.trigger("danmaku_load_end")
								})
						}
					}, {
						key: "reload",
						value: function(e) {
							this.options.api = e, this.dan = [], this.clear(), this.load()
						}
					}, {
						key: "_readAllEndpoints",
						value: function(e, t) {
							for (var n = this, i = [], a = 0, o = 0; o < e.length; ++o) this.options.apiBackend.read(e[o], function(o) {
								return function(s, r) {
									if (++a, s) s.response ? n.options.error(s.response.msg) : n.options.error("弹幕加载失败：" + s.status), i[
										o] = [];
									else {
										var l = ["right", "top", "bottom"];
										i[o] = r ? r.map(function(e) {
											return {
												time: e[0],
												type: e[1],
												color: e[2],
												author: e[3],
												text: e[4],
												size: e[7]
											}
										}) : []
									}
									if (a === e.length) return t(i)
								}
							}(o))
						}
					}, {
						key: "send",
						value: function(e, t) {
							var n = {
								token: this.options.api.token,
								player: this.options.api.id,
								author: this.options.api.user,
								time: this.options.time(),
								text: e.text,
								color: e.color,
								type: e.type,
								size: e.size
							};
							this.options.apiBackend.send(this.options.api.address, n, t), this.dan.splice(this.danIndex, 0, n), this.danIndex++;
							var i = {
								text: this.htmlEncode(n.text),
								color: n.color,
								type: n.type,
								size: n.size,
								border: "2px solid " + this.options.borderColor
							};
							this.draw(i), this.events && this.events.trigger("danmaku_send", n)
						}
					}, {
						key: "frame",
						value: function() {
							var e = this;
							if (this.dan.length && !this.paused && this.showing) {
								for (var t = this.dan[this.danIndex], n = []; t && this.options.time() > parseFloat(t.time);) n.push(t),
									t = this.dan[++this.danIndex];
								this.draw(n)
							}
							window.requestAnimationFrame(function() {
								e.frame()
							})
						}
					}, {
						key: "opacity",
						value: function(e) {
							if (void 0 !== e) {
								for (var t = this.container.getElementsByClassName("yzmplayer-danmaku-item"), n = 0; n < t.length; n++) t[
									n].style.opacity = e;
								this._opacity = e, this.events && this.events.trigger("danmaku_opacity", this._opacity)
							}
							return this._opacity
						}
					}, {
						key: "draw",
						value: function(e) {
							var t = this;
							if (this.showing) {
								var n = this.options.height,
									i = this.container.offsetWidth,
									o = this.container.offsetHeight,
									s = parseInt(o / n),
									r = function(e) {
										var n = e.offsetWidth || parseInt(e.style.width),
											i = e.getBoundingClientRect().right || t.container.getBoundingClientRect().right + n;
										return t.container.getBoundingClientRect().right - i
									},
									l = function(e) {
										return (i + e) / 5
									},
									c = function(e, n, o) {
										for (var c = i / l(o), u = 0; t.unlimited || u < s; u++) {
											var d = function(a) {
												var o = t.danTunnel[n][a + ""];
												if (!o || !o.length) return t.danTunnel[n][a + ""] = [e], e.addEventListener("animationend",
													function() {
														t.danTunnel[n][a + ""].splice(0, 1)
													}), {
													v: a % s
												};
												if ("right" !== n) return "continue";
												for (var u = 0; u < o.length; u++) {
													var d = r(o[u]) - 10;
													if (d <= i - c * l(parseInt(o[u].style.width)) || d <= 0) break;
													if (u === o.length - 1) return t.danTunnel[n][a + ""].push(e), e.addEventListener("animationend",
														function() {
															t.danTunnel[n][a + ""].splice(0, 1)
														}), {
														v: a % s
													}
												}
											}(u);
											switch (d) {
												case "continue":
													continue;
												default:
													if ("object" === (void 0 === d ? "undefined" : a(d))) return d.v
											}
										}
										return -1
									};
								"[object Array]" !== Object.prototype.toString.call(e) && (e = [e]);
								for (var u = document.createDocumentFragment(), d = 0; d < e.length; d++) ! function(a) {
									e[a].type || (e[a].type = "right"), e[a].color || (e[a].color = "#fff");
									e[a].size || (e[a].fontSize = "27.5px");
									var o = document.createElement("div");
									o.classList.add("yzmplayer-danmaku-item"), o.classList.add("yzmplayer-danmaku-" + e[a].type), e[a].border ?
										o.innerHTML = '<span style="border-bottom:' + e[a].border + '">' + e[a].text + "</span>" : o.innerHTML =
										e[a].text, o.style.opacity = t._opacity, o.style.color = e[a].color, o.style.fontSize = e[a].size, o.addEventListener(
											"animationend",
											function() {
												t.container.removeChild(o)
											});
									var s = t._measure(e[a].text),
										r = void 0;
									switch (e[a].type) {
										case "right":
											r = c(o, e[a].type, s), r >= 0 && (o.style.width = s + 1 + "px", o.style.top = n * r + "px", o.style
												.transform = "translateX(-" + i + "px)");
											break;
										case "top":
											r = c(o, e[a].type), r >= 0 && (o.style.top = n * r + "px");
											break;
										case "bottom":
											r = c(o, e[a].type), r >= 0 && (o.style.bottom = n * r + "px");
											break;
										default:
											console.error("Can't handled danmaku type: " + e[a].type)
									}
									r >= 0 && (o.classList.add("yzmplayer-danmaku-move"), u.appendChild(o))
								}(d);
								return this.container.appendChild(u), u
							}
						}
					}, {
						key: "play",
						value: function() {
							this.paused = !1
						}
					}, {
						key: "pause",
						value: function() {
							this.paused = !0
						}
					}, {
						key: "_measure",
						value: function(e) {
							if (!this.context) {
								var t = getComputedStyle(this.container.getElementsByClassName("yzmplayer-danmaku-item")[0], null);
								this.context = document.createElement("canvas").getContext("2d"), this.context.font = t.getPropertyValue(
									"font")
							}
							return this.context.measureText(e).width
						}
					}, {
						key: "seek",
						value: function() {
							this.clear();
							for (var e = 0; e < this.dan.length; e++) {
								if (this.dan[e].time >= this.options.time()) {
									this.danIndex = e;
									break
								}
								this.danIndex = this.dan.length
							}
						}
					}, {
						key: "clear",
						value: function() {
							this.danTunnel = {
								right: {},
								top: {},
								bottom: {}
							}, this.danIndex = 0, this.options.container.innerHTML = "", this.events && this.events.trigger(
								"danmaku_clear")
						}
					}, {
						key: "htmlEncode",
						value: function(e) {
							return e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(
								/'/g, "&#x27;").replace(/\//g, "&#x2f;")
						}
					}, {
						key: "resize",
						value: function() {
							for (var e = this.container.offsetWidth, t = this.container.getElementsByClassName(
									"yzmplayer-danmaku-item"), n = 0; n < t.length; n++) t[n].style.transform = "translateX(-" + e + "px)"
						}
					}, {
						key: "hide",
						value: function() {
							this.showing = !1, this.pause(), this.clear(), this.events && this.events.trigger("danmaku_hide")
						}
					}, {
						key: "show",
						value: function() {
							this.seek(), this.showing = !0, this.play(), this.events && this.events.trigger("danmaku_show")
						}
					}, {
						key: "unlimit",
						value: function(e) {
							this.unlimited = e
						}
					}]), e
				}();
			t.default = s
		},
		function(e, t, n) {
			"use strict";

			function i(e, t) {
				if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
			}
			Object.defineProperty(t, "__esModule", {
				value: !0
			});
			var a = function() {
					function e(e, t) {
						for (var n = 0; n < t.length; n++) {
							var i = t[n];
							i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(
								e, i.key, i)
						}
					}
					return function(t, n, i) {
						return n && e(t.prototype, n), i && e(t, i), t
					}
				}(),
				o = function() {
					function e() {
						i(this, e), this.events = {}, this.videoEvents = ["abort", "canplay", "canplaythrough", "durationchange",
							"emptied", "ended", "error", "loadeddata", "loadedmetadata", "loadstart", "mozaudioavailable", "pause",
							"play", "playing", "progress", "ratechange", "seeked", "seeking", "stalled", "suspend", "timeupdate",
							"volumechange", "waiting"
						], this.playerEvents = ["screenshot", "thumbnails_show", "thumbnails_hide", "danmaku_show", "danmaku_hide",
							"danmaku_clear", "danmaku_loaded", "danmaku_send", "danmaku_opacity", "contextmenu_show", "contextmenu_hide",
							"notice_show", "notice_hide", "quality_start", "quality_end", "destroy", "resize", "fullscreen",
							"fullscreen_cancel", "webfullscreen", "webfullscreen_cancel", "subtitle_show", "subtitle_hide",
							"subtitle_change"
						]
					}
					return a(e, [{
						key: "on",
						value: function(e, t) {
							this.type(e) && "function" == typeof t && (this.events[e] || (this.events[e] = []), this.events[e].push(t))
						}
					}, {
						key: "trigger",
						value: function(e, t) {
							if (this.events[e] && this.events[e].length)
								for (var n = 0; n < this.events[e].length; n++) this.events[e][n](t)
						}
					}, {
						key: "type",
						value: function(e) {
							return -1 !== this.playerEvents.indexOf(e) ? "player" : -1 !== this.videoEvents.indexOf(e) ? "video" : (
								console.error("Unknown event name: " + e), null)
						}
					}]), e
				}();
			t.default = o
		},
		function(e, t, n) {
			"use strict";

			function i(e, t) {
				if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
			}
			Object.defineProperty(t, "__esModule", {
				value: !0
			});
			var a = function() {
					function e(e, t) {
						for (var n = 0; n < t.length; n++) {
							var i = t[n];
							i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(
								e, i.key, i)
						}
					}
					return function(t, n, i) {
						return n && e(t.prototype, n), i && e(t, i), t
					}
				}(),
				o = n(0),
				s = function(e) {
					return e && e.__esModule ? e : {
						default: e
					}
				}(o),
				r = function() {
					function e(t) {
						var n = this;
						i(this, e), this.player = t, this.player.events.on("webfullscreen", function() {
							n.player.resize()
						}), this.player.events.on("webfullscreen_cancel", function() {
							n.player.resize(), s.default.setScrollPosition(n.lastScrollPosition)
						});
						var a = function() {
							n.player.resize(), n.isFullScreen("browser") ? n.player.events.trigger("fullscreen") : (s.default.setScrollPosition(
								n.lastScrollPosition), n.player.events.trigger("fullscreen_cancel"))
						};
						this.player.container.addEventListener("fullscreenchange", a), this.player.container.addEventListener(
							"mozfullscreenchange", a), this.player.container.addEventListener("webkitfullscreenchange", a)
					}
					return a(e, [{
						key: "isFullScreen",
						value: function() {
							switch (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "browser") {
								case "browser":
									return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement;
								case "web":
									return this.player.container.classList.contains("yzmplayer-fulled")
							}
						}
					}, {
						key: "request",
						value: function() {
							var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "browser",
								t = "browser" === e ? "web" : "browser",
								n = this.isFullScreen(t);
							switch (n || (this.lastScrollPosition = s.default.getScrollPosition()), e) {
								case "browser":
									this.player.container.requestFullscreen ? this.player.container.requestFullscreen() : this.player.container
										.mozRequestFullScreen ? this.player.container.mozRequestFullScreen() : this.player.container.webkitRequestFullscreen ?
										this.player.container.webkitRequestFullscreen() : this.player.video.webkitEnterFullscreen && this.player
										.video.webkitEnterFullscreen();
									break;
								case "web":
									this.player.container.classList.add("yzmplayer-fulled"), document.body.classList.add(
										"yzmplayer-web-fullscreen-fix"), this.player.events.trigger("webfullscreen")
							}
							n && this.cancel(t)
						}
					}, {
						key: "cancel",
						value: function() {
							switch (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "browser") {
								case "browser":
									document.cancelFullScreen ? document.cancelFullScreen() : document.mozCancelFullScreen ? document.mozCancelFullScreen() :
										document.webkitCancelFullScreen && document.webkitCancelFullScreen();
									break;
								case "web":
									this.player.container.classList.remove("yzmplayer-fulled"), document.body.classList.remove(
										"yzmplayer-web-fullscreen-fix"), this.player.events.trigger("webfullscreen_cancel")
							}
						}
					}, {
						key: "toggle",
						value: function() {
							var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "browser";
							this.isFullScreen(e) ? this.cancel(e) : this.request(e)
						}
					}]), e
				}();
			t.default = r
		},
		function(e, t, n) {
			"use strict";

			function i(e, t) {
				if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
			}
			Object.defineProperty(t, "__esModule", {
				value: !0
			});
			var a = function() {
					function e(e, t) {
						for (var n = 0; n < t.length; n++) {
							var i = t[n];
							i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(
								e, i.key, i)
						}
					}
					return function(t, n, i) {
						return n && e(t.prototype, n), i && e(t, i), t
					}
				}(),
				o = n(0),
				s = function(e) {
					return e && e.__esModule ? e : {
						default: e
					}
				}(o),
				r = function() {
					function e(t) {
						i(this, e), this.storageName = {
							opacity: "yzmplayer-danmaku-opacity",
							volume: "yzmplayer-volume",
							unlimited: "yzmplayer-danmaku-unlimited",
							danmaku: "yzmplayer-danmaku-show",
							subtitle: "yzmplayer-subtitle-show"
						}, this.default = {
							opacity: .7,
							volume: t.options.volume || .7,
							unlimited: (t.options.danmaku && t.options.danmaku.unlimited ? 1 : 0) || 0,
							danmaku: 1,
							subtitle: 1
						}, this.data = {}, this.init()
					}
					return a(e, [{
						key: "init",
						value: function() {
							for (var e in this.storageName) {
								var t = this.storageName[e];
								this.data[e] = parseFloat(s.default.storage.get(t) || this.default[e])
							}
						}
					}, {
						key: "get",
						value: function(e) {
							return this.data[e]
						}
					}, {
						key: "set",
						value: function(e, t) {
							this.data[e] = t, s.default.storage.set(this.storageName[e], t)
						}
					}]), e
				}();
			t.default = r
		},
		function(e, t, n) {
			"use strict";

			function i(e, t) {
				if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
			}
			Object.defineProperty(t, "__esModule", {
				value: !0
			});
			var a = function() {
					function e(e, t) {
						for (var n = 0; n < t.length; n++) {
							var i = t[n];
							i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(
								e, i.key, i)
						}
					}
					return function(t, n, i) {
						return n && e(t.prototype, n), i && e(t, i), t
					}
				}(),
				o = function() {
					function e(t, n, a, o) {
						i(this, e), this.container = t, this.video = n, this.options = a, this.events = o, this.init()
					}
					return a(e, [{
						key: "init",
						value: function() {
							var e = this;
							if (this.container.style.fontSize = this.options.fontSize, this.container.style.bottom = this.options.bottom,
								this.container.style.color = this.options.color, this.video.textTracks && this.video.textTracks[0]) {
								var t = this.video.textTracks[0];
								t.oncuechange = function() {
									var n = t.activeCues[0];
									if (n) {
										e.container.innerHTML = "";
										var i = document.createElement("p");
										i.appendChild(n.getCueAsHTML()), e.container.appendChild(i)
									} else e.container.innerHTML = "";
									e.events.trigger("subtitle_change")
								}
							}
						}
					}, {
						key: "show",
						value: function() {
							this.container.classList.remove("yzmplayer-subtitle-hide"), this.events.trigger("subtitle_show")
						}
					}, {
						key: "hide",
						value: function() {
							this.container.classList.add("yzmplayer-subtitle-hide"), this.events.trigger("subtitle_hide")
						}
					}, {
						key: "toggle",
						value: function() {
							this.container.classList.contains("yzmplayer-subtitle-hide") ? this.show() : this.hide()
						}
					}]), e
				}();
			t.default = o
		},
		function(e, t, n) {
			"use strict";

			function i(e, t) {
				if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
			}
			Object.defineProperty(t, "__esModule", {
				value: !0
			});
			var a = function() {
					function e(e, t) {
						for (var n = 0; n < t.length; n++) {
							var i = t[n];
							i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(
								e, i.key, i)
						}
					}
					return function(t, n, i) {
						return n && e(t.prototype, n), i && e(t, i), t
					}
				}(),
				o = function() {
					function e(t) {
						i(this, e), this.elements = {}, this.elements.volume = t.volumeBar, this.elements.played = t.playedBar, this.elements
							.loaded = t.loadedBar, this.elements.danmaku = t.danmakuOpacityBar
					}
					return a(e, [{
						key: "set",
						value: function(e, t, n) {
							t = Math.max(t, 0), t = Math.min(t, 1), this.elements[e].style[n] = 100 * t + "%"
						}
					}, {
						key: "get",
						value: function(e) {
							return parseFloat(this.elements[e].style.width) / 100
						}
					}]), e
				}();
			t.default = o
		},
		function(e, t, n) {
			"use strict";

			function i(e, t) {
				if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
			}
			Object.defineProperty(t, "__esModule", {
				value: !0
			});
			var a = function() {
					function e(e, t) {
						for (var n = 0; n < t.length; n++) {
							var i = t[n];
							i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(
								e, i.key, i)
						}
					}
					return function(t, n, i) {
						return n && e(t.prototype, n), i && e(t, i), t
					}
				}(),
				o = n(0),
				s = function(e) {
					return e && e.__esModule ? e : {
						default: e
					}
				}(o),
				r = function() {
					function e(t) {
						i(this, e), this.player = t, window.requestAnimationFrame = function() {
							return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame ||
								window.oRequestAnimationFrame || window.msRequestAnimationFrame || function(e) {
									window.setTimeout(e, 1e3 / 60)
								}
						}(), this.types = ["loading", "progress", "info", "fps"], this.init()
					}
					return a(e, [{
						key: "init",
						value: function() {
							for (var e = 0; e < this.types.length; e++) {
								var t = this.types[e];
								"fps" !== t && this["init" + t + "Checker"]()
							}
						}
					}, {
						key: "initloadingChecker",
						value: function() {
							var e = this,
								t = 0,
								n = 0,
								i = !1;
							this.loadingChecker = setInterval(function() {
								e.enableloadingChecker && (n = e.player.video.currentTime, i || n !== t || e.player.video.paused || (e
										.player.container.classList.add("yzmplayer-loading"), i = !0), i && n > t && !e.player.video.paused &&
									(e.player.container.classList.remove("yzmplayer-loading"), i = !1), t = n)
							}, 100)
						}
					}, {
						key: "initprogressChecker",
						value: function() {
							var e = this;
							this.progressChecker = setInterval(function() {
								if (e.enableprogressChecker) {
									e.player.bar.set("played", e.player.video.currentTime / e.player.video.duration, "width");
									var t = s.default.secondToTime(e.player.video.currentTime);
									e.player.template.ptime.innerHTML !== t && (e.player.template.ptime.innerHTML = s.default.secondToTime(
										e.player.video.currentTime))
								}
							}, 100)
						}
					}, {
						key: "initfpsChecker",
						value: function() {
							var e = this;
							window.requestAnimationFrame(function() {
								if (e.enablefpsChecker)
									if (e.initfpsChecker(), e.fpsStart) {
										e.fpsIndex++;
										var t = new Date;
										t - e.fpsStart > 1e3 && (e.player.infoPanel.fps(e.fpsIndex / (t - e.fpsStart) * 1e3), e.fpsStart =
											new Date, e.fpsIndex = 0)
									} else e.fpsStart = new Date, e.fpsIndex = 0;
								else e.fpsStart = 0, e.fpsIndex = 0
							})
						}
					}, {
						key: "initinfoChecker",
						value: function() {
							var e = this;
							this.infoChecker = setInterval(function() {
								e.enableinfoChecker && e.player.infoPanel.update()
							}, 1e3)
						}
					}, {
						key: "enable",
						value: function(e) {
							this["enable" + e + "Checker"] = !0, "fps" === e && this.initfpsChecker()
						}
					}, {
						key: "disable",
						value: function(e) {
							this["enable" + e + "Checker"] = !1
						}
					}, {
						key: "destroy",
						value: function(e) {
							this[e + "Checker"] && clearInterval(this[e + "Checker"])
						}
					}]), e
				}();
			t.default = r
		},
		function(e, t, n) {
			"use strict";

			function i(e, t) {
				if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
			}
			Object.defineProperty(t, "__esModule", {
				value: !0
			});
			var a = function() {
					function e(e, t) {
						for (var n = 0; n < t.length; n++) {
							var i = t[n];
							i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(
								e, i.key, i)
						}
					}
					return function(t, n, i) {
						return n && e(t.prototype, n), i && e(t, i), t
					}
				}(),
				o = function() {
					function e(t) {
						var n = this;
						i(this, e), this.container = t, this.container.addEventListener("animationend", function() {
							n.container.classList.remove("yzmplayer-bezel-transition")
						})
					}
					return a(e, [{
						key: "switch",
						value: function(e) {
							this.container.innerHTML = e, this.container.classList.add("yzmplayer-bezel-transition")
						}
					}]), e
				}();
			t.default = o
		},
		function(e, t, n) {
			"use strict";

			function i(e) {
				return e && e.__esModule ? e : {
					default: e
				}
			}

			function a(e, t) {
				if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
			}
			Object.defineProperty(t, "__esModule", {
				value: !0
			});
			var o = function() {
					function e(e, t) {
						for (var n = 0; n < t.length; n++) {
							var i = t[n];
							i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(
								e, i.key, i)
						}
					}
					return function(t, n, i) {
						return n && e(t.prototype, n), i && e(t, i), t
					}
				}(),
				s = n(0),
				r = i(s),
				l = n(44),
				c = i(l),
				u = n(2),
				d = i(u),
				p = function() {
					function e(t) {
						var n = this;
						a(this, e), this.player = t, this.autoHideTimer = 0, r.default.isMobile || (this.player.container.addEventListener(
								"mousemove",
								function() {
									n.setAutoHide()
								}), this.player.container.addEventListener("click", function() {
								n.setAutoHide()
							}), this.player.on("play", function() {
								n.setAutoHide()
							}), this.player.on("pause", function() {
								n.setAutoHide()
							})), this.initPlayButton(), this.initThumbnails(), this.initPlayedBar(), this.initFullButton(), this.initQualityButton(),
							this.initScreenshotButton(), this.initSubtitleButton(), r.default.isMobile || this.initVolumeButton()
					}
					return o(e, [{
						key: "initPlayButton",
						value: function() {
							var e = this;
							this.player.template.playButton.addEventListener("click", function() {
								e.player.toggle()
							}), r.default.isMobile ? (this.player.template.videoWrap.addEventListener("click", function() {
								e.toggle()
							}), this.player.template.controllerMask.addEventListener("click", function() {
								e.toggle()
							})) : (this.player.template.videoWrap.addEventListener("click", function() {
								e.player.toggle()
							}), this.player.template.controllerMask.addEventListener("click", function() {
								e.player.toggle()
							}))
						}
					}, {
						key: "initThumbnails",
						value: function() {
							var e = this;
							this.player.options.video.thumbnails && (this.thumbnails = new c.default({
								container: this.player.template.barPreview,
								barWidth: this.player.template.barWrap.offsetWidth,
								url: this.player.options.video.thumbnails,
								events: this.player.events
							}), this.player.on("loadedmetadata", function() {
								e.thumbnails.resize(160, e.player.video.videoHeight / e.player.video.videoWidth * 160)
							}))
						}
					}, {
						key: "initPlayedBar",
						value: function() {
							var e = this,
								t = function(t) {
									var n = ((t.clientX || t.changedTouches[0].clientX) - r.default.getElementViewLeft(e.player.template.playedBarWrap)) /
										e.player.template.playedBarWrap.clientWidth;
									n = Math.max(n, 0), n = Math.min(n, 1), e.player.bar.set("played", n, "width"), e.player.template.ptime
										.innerHTML = r.default.secondToTime(n * e.player.video.duration)
								},
								n = function n(i) {
									document.removeEventListener(r.default.nameMap.dragEnd, n), document.removeEventListener(r.default.nameMap
										.dragMove, t);
									var a = ((i.clientX || i.changedTouches[0].clientX) - r.default.getElementViewLeft(e.player.template.playedBarWrap)) /
										e.player.template.playedBarWrap.clientWidth;
									a = Math.max(a, 0), a = Math.min(a, 1), e.player.bar.set("played", a, "width"), e.player.seek(e.player.bar
										.get("played") * e.player.video.duration), e.player.time.enable("progress")
								};
							this.player.template.playedBarWrap.addEventListener(r.default.nameMap.dragStart, function() {
								e.player.time.disable("progress"), document.addEventListener(r.default.nameMap.dragMove, t), document.addEventListener(
									r.default.nameMap.dragEnd, n)
							}), this.player.template.playedBarWrap.addEventListener(r.default.nameMap.dragMove, function(t) {
								if (e.player.video.duration) {
									var n = r.default.cumulativeOffset(e.player.template.playedBarWrap).left,
										i = (t.clientX || t.changedTouches[0].clientX) - n;
									if (i < 0 || i > e.player.template.playedBarWrap.offsetWidth) return;
									var a = e.player.video.duration * (i / e.player.template.playedBarWrap.offsetWidth);
									r.default.isMobile && e.thumbnails && e.thumbnails.show(), e.thumbnails && e.thumbnails.move(i), e.player
										.template.playedBarTime.style.left = i - 20 + "px", e.player.template.playedBarTime.innerText = r.default
										.secondToTime(a), e.player.template.playedBarTime.classList.remove("hidden")
								}
							}), this.player.template.playedBarWrap.addEventListener(r.default.nameMap.dragEnd, function() {
								r.default.isMobile && e.thumbnails && e.thumbnails.hide()
							}), r.default.isMobile || (this.player.template.playedBarWrap.addEventListener("mouseenter", function() {
								e.player.video.duration && (e.thumbnails && e.thumbnails.show(), e.player.template.playedBarTime.classList
									.remove("hidden"))
							}), this.player.template.playedBarWrap.addEventListener("mouseleave", function() {
								e.player.video.duration && (e.thumbnails && e.thumbnails.hide(), e.player.template.playedBarTime.classList
									.add("hidden"))
							}))
						}
					}, {
						key: "initFullButton",
						value: function() {
							var e = this;
							this.player.template.browserFullButton.addEventListener("click", function() {
								e.player.fullScreen.toggle("browser")
							}), this.player.template.webFullButton.addEventListener("click", function() {
								e.player.fullScreen.toggle("web")
							})
						}
					}, {
						key: "initVolumeButton",
						value: function() {
							var e = this,
								t = function(t) {
									var n = t || window.event,
										i = ((n.clientX || n.changedTouches[0].clientX) - r.default.getElementViewLeft(e.player.template.volumeBarWrap) -
											5.5) / 35;
									e.player.volume(i)
								},
								n = function n() {
									document.removeEventListener(r.default.nameMap.dragEnd, n), document.removeEventListener(r.default.nameMap
										.dragMove, t), e.player.template.volumeButton.classList.remove("yzmplayer-volume-active")
								};
							this.player.template.volumeBarWrapWrap.addEventListener("click", function(t) {
								var n = t || window.event,
									i = ((n.clientX || n.changedTouches[0].clientX) - r.default.getElementViewLeft(e.player.template.volumeBarWrap) -
										5.5) / 35;
								e.player.volume(i)
							}), this.player.template.volumeBarWrapWrap.addEventListener(r.default.nameMap.dragStart, function() {
								document.addEventListener(r.default.nameMap.dragMove, t), document.addEventListener(r.default.nameMap.dragEnd,
									n), e.player.template.volumeButton.classList.add("yzmplayer-volume-active")
							}), this.player.template.volumeIcon.addEventListener("click", function() {
								e.player.video.muted ? (e.player.video.muted = !1, e.player.switchVolumeIcon(), e.player.bar.set(
									"volume", e.player.volume(), "width")) : (e.player.video.muted = !0, e.player.template.volumeIcon.innerHTML =
									d.default.volumeOff, e.player.bar.set("volume", 0, "width"))
							})
						}
					}, {
						key: "initQualityButton",
						value: function() {
							var e = this;
							this.player.options.video.quality && this.player.template.qualityList.addEventListener("click", function(
								t) {
								t.target.classList.contains("yzmplayer-quality-item") && e.player.switchQuality(t.target.dataset.index)
							})
						}
					}, {
						key: "initScreenshotButton",
						value: function() {
							var e = this;
							this.player.options.screenshot && this.player.template.camareButton.addEventListener("click", function() {
								var t = document.createElement("canvas");
								t.width = e.player.video.videoWidth, t.height = e.player.video.videoHeight, t.getContext("2d").drawImage(
									e.player.video, 0, 0, t.width, t.height);
								var n = t.toDataURL();
								e.player.template.camareButton.href = n, e.player.template.camareButton.download = "yzmplayer.png", e.player
									.events.trigger("screenshot", n)
							})
						}
					}, {
						key: "initSubtitleButton",
						value: function() {
							var e = this;
							this.player.options.subtitle && (this.player.events.on("subtitle_show", function() {
								e.player.template.subtitleButton.dataset.balloon = e.player.tran("Hide subtitle"), e.player.template.subtitleButtonInner
									.style.opacity = "", e.player.user.set("subtitle", 1)
							}), this.player.events.on("subtitle_hide", function() {
								e.player.template.subtitleButton.dataset.balloon = e.player.tran("Show subtitle"), e.player.template.subtitleButtonInner
									.style.opacity = "0.4", e.player.user.set("subtitle", 0)
							}), this.player.template.subtitleButton.addEventListener("click", function() {
								e.player.subtitle.toggle()
							}))
						}
					}, {
						key: "setAutoHide",
						value: function() {
							var e = this;
							this.show(), clearTimeout(this.autoHideTimer), this.autoHideTimer = setTimeout(function() {
								!e.player.video.played.length || e.player.paused || e.disableAutoHide || e.hide()
							}, 3e3)
						}
					}, {
						key: "show",
						value: function() {
							this.player.container.classList.remove("yzmplayer-hide-controller")
						}
					}, {
						key: "hide",
						value: function() {
							this.player.container.classList.add("yzmplayer-hide-controller"), this.player.setting.hide(), this.player
								.comment && this.player.comment.hide()
						}
					}, {
						key: "isShow",
						value: function() {
							return !this.player.container.classList.contains("yzmplayer-hide-controller")
						}
					}, {
						key: "toggle",
						value: function() {
							this.isShow() ? this.hide() : this.show()
						}
					}, {
						key: "destroy",
						value: function() {
							clearTimeout(this.autoHideTimer)
						}
					}]), e
				}();
			t.default = p
		},
		function(e, t, n) {
			"use strict";

			function i(e, t) {
				if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
			}
			Object.defineProperty(t, "__esModule", {
				value: !0
			});
			var a = function() {
					function e(e, t) {
						for (var n = 0; n < t.length; n++) {
							var i = t[n];
							i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(
								e, i.key, i)
						}
					}
					return function(t, n, i) {
						return n && e(t.prototype, n), i && e(t, i), t
					}
				}(),
				o = function() {
					function e(t) {
						i(this, e), this.container = t.container, this.barWidth = t.barWidth, this.container.style.backgroundImage =
							"url('" + t.url + "')", this.events = t.events
					}
					return a(e, [{
						key: "resize",
						value: function(e, t) {
							this.container.style.width = e + "px", this.container.style.height = t + "px", this.container.style.top =
								2 - t + "px"
						}
					}, {
						key: "show",
						value: function() {
							this.container.style.display = "block", this.events && this.events.trigger("thumbnails_show")
						}
					}, {
						key: "move",
						value: function(e) {
							this.container.style.backgroundPosition = "-" + 160 * (Math.ceil(e / this.barWidth * 100) - 1) + "px 0",
								this.container.style.left = e - this.container.offsetWidth / 2 + "px"
						}
					}, {
						key: "hide",
						value: function() {
							this.container.style.display = "none", this.events && this.events.trigger("thumbnails_hide")
						}
					}]), e
				}();
			t.default = o
		},
		function(e, t, n) {
			"use strict";

			function i(e, t) {
				if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
			}
			Object.defineProperty(t, "__esModule", {
				value: !0
			});
			var a = function() {
					function e(e, t) {
						for (var n = 0; n < t.length; n++) {
							var i = t[n];
							i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(
								e, i.key, i)
						}
					}
					return function(t, n, i) {
						return n && e(t.prototype, n), i && e(t, i), t
					}
				}(),
				o = n(0),
				s = function(e) {
					return e && e.__esModule ? e : {
						default: e
					}
				}(o),
				r = function() {
					function e(t) {
						var n = this;
						i(this, e), this.player = t, this.player.template.mask.addEventListener("click", function() {
								n.hide()
							}), this.player.template.settingButton.addEventListener("click", function() {
								n.show()
							}), this.loop = this.player.options.loop, this.player.template.loopToggle.checked = this.loop, this.player.template
							.loop.addEventListener("click", function() {
								n.player.template.loopToggle.checked = !n.player.template.loopToggle.checked, n.player.template.loopToggle.checked ?
									n.loop = !0 : n.loop = !1, n.hide()
							}), this.showDanmaku = this.player.user.get("danmaku"), this.showDanmaku || this.player.danmaku && this.player
							.danmaku.hide(), this.player.template.showDanmakuToggle.checked = this.showDanmaku, this.player.template.showDanmaku
							.addEventListener("click", function() {
								n.player.template.showDanmakuToggle.checked = !n.player.template.showDanmakuToggle.checked, n.player.template
									.showDanmakuToggle.checked ? (n.showDanmaku = !0, n.player.danmaku.show()) : (n.showDanmaku = !1, n.player
										.danmaku.hide()), n.player.user.set("danmaku", n.showDanmaku ? 1 : 0), n.hide()
							}), this.unlimitDanmaku = this.player.user.get("unlimited"), this.player.template.unlimitDanmakuToggle.checked =
							this.unlimitDanmaku, this.player.template.unlimitDanmaku.addEventListener("click", function() {
								n.player.template.unlimitDanmakuToggle.checked = !n.player.template.unlimitDanmakuToggle.checked, n.player.template
									.unlimitDanmakuToggle.checked ? (n.unlimitDanmaku = !0, n.player.danmaku.unlimit(!0)) : (n.unlimitDanmaku = !
										1, n.player.danmaku.unlimit(!1)), n.player.user.set("unlimited", n.unlimitDanmaku ? 1 : 0), n.hide()
							}), this.player.template.speed.addEventListener("click", function() {
								n.player.template.settingBox.classList.add("yzmplayer-setting-box-narrow"), n.player.template.settingBox.classList
									.add("yzmplayer-setting-box-speed")
							});
						for (var a = 0; a < this.player.template.speedItem.length; a++) ! function(e) {
							n.player.template.speedItem[e].addEventListener("click", function() {
								n.player.speed(n.player.template.speedItem[e].dataset.speed), n.hide()
							})
						}(a);
						if (this.player.danmaku) {
							this.player.on("danmaku_opacity", function(e) {
								n.player.bar.set("danmaku", e, "width"), n.player.user.set("opacity", e)
							}), this.player.danmaku.opacity(this.player.user.get("opacity"));
							var o = function(e) {
									var t = e || window.event,
										i = ((t.clientX || t.changedTouches[0].clientX) - s.default.getElementViewLeft(n.player.template.danmakuOpacityBarWrap)) /
										130;
									i = Math.max(i, 0), i = Math.min(i, 1), n.player.danmaku.opacity(i)
								},
								r = function e() {
									document.removeEventListener(s.default.nameMap.dragEnd, e), document.removeEventListener(s.default.nameMap.dragMove,
										o), n.player.template.danmakuOpacityBox.classList.remove("yzmplayer-setting-danmaku-active")
								};
							this.player.template.danmakuOpacityBarWrapWrap.addEventListener("click", function(e) {
								var t = e || window.event,
									i = ((t.clientX || t.changedTouches[0].clientX) - s.default.getElementViewLeft(n.player.template.danmakuOpacityBarWrap)) /
									130;
								i = Math.max(i, 0), i = Math.min(i, 1), n.player.danmaku.opacity(i)
							}), this.player.template.danmakuOpacityBarWrapWrap.addEventListener(s.default.nameMap.dragStart, function() {
								document.addEventListener(s.default.nameMap.dragMove, o), document.addEventListener(s.default.nameMap.dragEnd,
									r), n.player.template.danmakuOpacityBox.classList.add("yzmplayer-setting-danmaku-active")
							})
						}
					}
					return a(e, [{
						key: "hide",
						value: function() {
							var e = this;
							this.player.template.settingBox.classList.remove("yzmplayer-setting-box-open"), this.player.template.mask
								.classList.remove("yzmplayer-mask-show"), setTimeout(function() {
									e.player.template.settingBox.classList.remove("yzmplayer-setting-box-narrow"), e.player.template.settingBox
										.classList.remove("yzmplayer-setting-box-speed")
								}, 300), this.player.controller.disableAutoHide = !1
						}
					}, {
						key: "show",
						value: function() {
							this.player.template.settingBox.classList.add("yzmplayer-setting-box-open"), this.player.template.mask.classList
								.add("yzmplayer-mask-show"), this.player.controller.disableAutoHide = !0
						}
					}]), e
				}();
			t.default = r
		},
		function(e, t, n) {
			"use strict";

			function i(e, t) {
				if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
			}
			Object.defineProperty(t, "__esModule", {
				value: !0
			});
			var a = function() {
					function e(e, t) {
						for (var n = 0; n < t.length; n++) {
							var i = t[n];
							i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(
								e, i.key, i)
						}
					}
					return function(t, n, i) {
						return n && e(t.prototype, n), i && e(t, i), t
					}
				}(),
				o = function() {
					function e(t) {
						var n = this;
						i(this, e), this.player = t, this.player.template.mask.addEventListener("click", function() {
							n.hide()
						}), this.player.template.commentButton.addEventListener("click", function() {
							n.show()
						}), this.player.template.yzmcomment.addEventListener("click", function() {
							n.show()
						}), this.player.template.commentSettingButton.addEventListener("click", function() {
							n.toggleSetting()
						}), this.player.template.commentColorSettingBox.addEventListener("click", function() {
							if (n.player.template.commentColorSettingBox.querySelector("input:checked+span")) {
								var e = n.player.template.commentColorSettingBox.querySelector("input:checked").value;
								n.player.template.commentSettingFill.style.fill = e, n.player.template.commentInput.style.color = e, n.player
									.template.commentSendFill.style.fill = e
							}
						}), this.player.template.commentInput.addEventListener("click", function() {
							n.hideSetting()
						}), this.player.template.commentInput.addEventListener("keydown", function(e) {
							13 === (e || window.event).keyCode && n.send()
						}), this.player.template.commentSendButton.addEventListener("click", function() {
							n.send()
						})
					}
					return a(e, [{
						key: "show",
						value: function() {
							this.player.controller.disableAutoHide = !0, this.player.template.controller.classList.add(
									"yzmplayer-controller-comment"), this.player.template.mask.classList.add("yzmplayer-mask-show"), this.player
								.container.classList.add("yzmplayer-show-controller"), this.player.template.commentInput.focus()
						}
					}, {
						key: "hide",
						value: function() {
							this.player.template.controller.classList.remove("yzmplayer-controller-comment"), this.player.template.mask
								.classList.remove("yzmplayer-mask-show"), this.player.container.classList.remove(
									"yzmplayer-show-controller"), this.player.controller.disableAutoHide = !1, this.hideSetting()
						}
					}, {
						key: "showSetting",
						value: function() {
							this.player.template.commentSettingBox.classList.add("yzmplayer-comment-setting-open")
						}
					}, {
						key: "hideSetting",
						value: function() {
							this.player.template.commentSettingBox.classList.remove("yzmplayer-comment-setting-open")
						}
					}, {
						key: "toggleSetting",
						value: function() {
							this.player.template.commentSettingBox.classList.contains("yzmplayer-comment-setting-open") ? this.hideSetting() :
								this.showSetting()
						}
					}, {
						key: "send",
						value: function() {
							var e = this;
							if (this.player.template.commentInput.blur(), !this.player.template.commentInput.value.replace(
									/^\s+|\s+$/g, "")) return void this.player.notice(this.player.tran("Please input danmaku content!"));
							this.player.danmaku.send({
								text: this.player.template.commentInput.value,
								color: this.player.container.querySelector(".yzmplayer-comment-setting-color input:checked").value,
								type: this.player.container.querySelector(".yzmplayer-comment-setting-type input:checked").value,
								size: this.player.container.querySelector(".yzmplayer-comment-setting-font input:checked").value
							}, function() {
								e.player.template.commentInput.value = "", e.hide()
							})
						}
					}]), e
				}();
			t.default = o
		},
		function(e, t, n) {
			"use strict";

			function i(e, t) {
				if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
			}
			Object.defineProperty(t, "__esModule", {
				value: !0
			});
			var a = function e(t) {
				i(this, e), t.options.hotkey && document.addEventListener("keydown", function(e) {
					if (t.focus) {
						var n = document.activeElement.tagName.toUpperCase(),
							i = document.activeElement.getAttribute("contenteditable");
						if ("INPUT" !== n && "TEXTAREA" !== n && "" !== i && "true" !== i) {
							var a = e || window.event,
								o = void 0;
							switch (a.keyCode) {
								case 32:
									a.preventDefault(), t.toggle();
									break;
								case 37:
									a.preventDefault(), t.seek(t.video.currentTime - 5), t.controller.setAutoHide();
									break;
								case 39:
									a.preventDefault(), t.seek(t.video.currentTime + 5), t.controller.setAutoHide();
									break;
								case 38:
									a.preventDefault(), o = t.volume() + .1, t.volume(o);
									break;
								case 40:
									a.preventDefault(), o = t.volume() - .1, t.volume(o)
							}
						}
					}
				}), document.addEventListener("keydown", function(e) {
					switch ((e || window.event).keyCode) {
						case 27:
							t.fullScreen.isFullScreen("web") && t.fullScreen.cancel("web")
					}
				})
			};
			t.default = a
		},
		function(e, t, n) {
			"use strict";

			function i(e) {
				if (Array.isArray(e)) {
					for (var t = 0, n = Array(e.length); t < e.length; t++) n[t] = e[t];
					return n
				}
				return Array.from(e)
			}

			function a(e, t) {
				if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
			}
			Object.defineProperty(t, "__esModule", {
				value: !0
			});
			var o = function() {
					function e(e, t) {
						for (var n = 0; n < t.length; n++) {
							var i = t[n];
							i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(
								e, i.key, i)
						}
					}
					return function(t, n, i) {
						return n && e(t.prototype, n), i && e(t, i), t
					}
				}(),
				s = function() {
					function e(t) {
						var n = this;
						a(this, e), this.player = t, [].concat(i(this.player.template.menuItem)).map(function(e, t) {
							return n.player.options.contextmenu[t].click && e.addEventListener("click", function() {
								n.player.options.contextmenu[t].click(n.player), n.hide()
							}), e
						}), this.player.container.addEventListener("contextmenu", function(e) {
							var t = e || window.event;
							t.preventDefault();
							var i = n.player.container.getBoundingClientRect();
							n.show(t.clientX - i.left, t.clientY - i.top), n.player.template.mask.addEventListener("click", function() {
								n.hide()
							})
						})
					}
					return o(e, [{
						key: "show",
						value: function(e, t) {
							this.player.template.menu.classList.add("yzmplayer-menu-show");
							var n = this.player.container.getBoundingClientRect();
							e + this.player.template.menu.offsetWidth >= n.width ? (this.player.template.menu.style.right = n.width -
									e + "px", this.player.template.menu.style.left = "initial") : (this.player.template.menu.style.left = e +
									"px", this.player.template.menu.style.right = "initial"), t + this.player.template.menu.offsetHeight >=
								n.height ? (this.player.template.menu.style.bottom = n.height - t + "px", this.player.template.menu.style
									.top = "initial") : (this.player.template.menu.style.top = t + "px", this.player.template.menu.style.bottom =
									"initial"), this.player.template.mask.classList.add("yzmplayer-mask-show"), this.player.events.trigger(
									"contextmenu_show")
						}
					}, {
						key: "hide",
						value: function() {
							this.player.template.mask.classList.remove("yzmplayer-mask-show"), this.player.template.menu.classList.remove(
								"yzmplayer-menu-show"), this.player.events.trigger("contextmenu_hide")
						}
					}]), e
				}();
			t.default = s
		},
		function(e, t, n) {
			"use strict";

			function i(e, t) {
				if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
			}
			Object.defineProperty(t, "__esModule", {
				value: !0
			});
			var a = function() {
					function e(e, t) {
						for (var n = 0; n < t.length; n++) {
							var i = t[n];
							i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(
								e, i.key, i)
						}
					}
					return function(t, n, i) {
						return n && e(t.prototype, n), i && e(t, i), t
					}
				}(),
				o = function() {
					function e(t) {
						
						var n = this;
						i(this, e), this.container = t.template.infoPanel, this.template = t.template, this.video = t.video, this.player =
							t, this.template.infoPanelClose.addEventListener("click", function() {
								n.hide()
							})
					}
					return a(e, [{
						key: "show",
						value: function() {
							this.beginTime = Date.now(), this.update(), this.player.time.enable("info"), this.player.time.enable(
								"fps"), this.container.classList.remove("yzmplayer-info-panel-hide")
						}
					}, {
						key: "hide",
						value: function() {
							this.player.time.disable("info"), this.player.time.disable("fps"), this.container.classList.add(
								"yzmplayer-info-panel-hide")
						}
					}, {
						key: "triggle",
						value: function() {
							this.container.classList.contains("yzmplayer-info-panel-hide") ? this.show() : this.hide()
						}
					}, {
						key: "update",
						value: function() {
							function formatTime(a) {
								return [parseInt(a / 60 / 60), parseInt(a / 60 % 60), parseInt(a % 60)].join(":").replace(/\b(\d)\b/g,
									"0$1")
							}
							this.template.infoVersion.innerHTML = "1.2.1", this.template.infoType.innerHTML = this.player.type, this.template
								.infoUrl.innerHTML = this.player.options.video.url, this.template.infoResolution.innerHTML = this.player
								.video.videoWidth + " x " + this.player.video.videoHeight, this.template.infoDuration.innerHTML =
								formatTime(this.player.video.duration), this.player.options.danmaku && (this.template.infoDanmakuId.innerHTML =
									this.player.options.danmaku.id, this.template.infoDanmakuApi.innerHTML = this.player.options.danmaku.api,
									this.template.infoDanmakuAmount.innerHTML = this.player.danmaku.dan.length - 2)
						}
					}, {
						key: "fps",
						value: function(e) {
							this.template.infoFPS.innerHTML = "" + e.toFixed(1)
						}
					}]), e
				}();
			t.default = o
		}
	]).default
});
var yzmck = {
	set: function(a, b) {
		window.sessionStorage.setItem(a, b)
	},
	get: function(a) {
		return window.sessionStorage.getItem(a)
	},
	del: function(a) {
		window.sessionStorage.removeItem(a)
	},
	clear: function(a) {
		window.sessionStorage.clear()
	}
};
