JDVU

Untitled

Feb 20th, 2018
1,394
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 486.88 KB | None | 0 0
  1. /*! magcore-app-youtube: v2.1.3 (webpack: v1.13.1) */
  2. !function (e) {
  3. function t(i) {
  4. if (n[i]) return n[i].exports;
  5. var r = n[i] = {exports: {}, id: i, loaded: !1};
  6. return e[i].call(r.exports, r, r.exports, t), r.loaded = !0, r.exports
  7. }
  8.  
  9. var n = {};
  10. return t.m = e, t.c = n, t.p = "", t(0)
  11. }([function (e, t, n) {
  12. "use strict";
  13.  
  14. function i() {
  15. var e,
  16. t = -1 !== ["AuraHD2", "AuraHD3", "AuraHD8", "MAG254", "MAG275", "MAG276", "WR320"].indexOf(h.deviceModel());
  17. d.init([n(59), n(62), n(61), n(63), n(60)]), c.emit("ready"), d.pages.forEach(function (e) {
  18. e.emit("load")
  19. }), a = n(47), o = new (n(35))({
  20. $node: document.getElementById("exitMessage"), events: {
  21. keydown: function (e) {
  22. e.code === u.ok ? c.quit() : e.code !== u.back && e.code !== u.exit || (e.stop = !0, o.$node.style.visibility = "hidden", s.focus())
  23. }
  24. }
  25. }), o.$body.classList.add("modalExit"), o.$node.style.visibility = "hidden", o.$header.innerHTML = gettext("Exit from app?"), o.$content.innerHTML = "", o.$footer.innerHTML = "", o.$content.appendChild(e = document.createElement("div")), e.innerText = gettext("Ok"), e.className = "btn confirm" + (t ? "" : " old"), o.$content.appendChild(e = document.createElement("div")), e.className = "btn back" + (t ? "" : " old"), e.innerText = gettext("Cancel"), o.$footer.innerHTML = "", d.navigate("pm"), window.volumeWidget.classList.add("ready"), l = n(8)
  26. }
  27.  
  28. function r() {
  29. var e, t = !gSTB.GetStandByStatus(), n = gSTB.GetEnv(JSON.stringify({varList: ["standByMode"]}));
  30. try {
  31. n = JSON.parse(n).result
  32. } catch (i) {
  33. n = {standByMode: null}
  34. }
  35. return e = parseInt(n.standByMode, 10), gSTB.StandByMode !== e && (gSTB.StandByMode = e), 3 === e ? (gSTB.SetLedIndicatorMode(2), gSTB.StandBy(t), void gSTB.SetLedIndicatorMode(1)) : void(t ? (document.body.style.display = "none", gSTB.StandBy(t), gSTB.SetLedIndicatorMode(2), window.location = "") : (gSTB.StandBy(t), gSTB.SetLedIndicatorMode(1)))
  36. }
  37.  
  38. var o, a, s, l, c = n(3), u = n(1), d = n(2), h = n(22), p = (n(7), n(19));
  39. c.quit = function () {
  40. h.saveUserData(p.settingsFile, JSON.stringify(c.settings)), c.player && c.player.stop(), window.parent !== window ? ("pp" === d.current.id && d.back(), c.hide()) : window.location.href = n(39)() || "file:///home/web/services.html"
  41. }, c.reload = function () {
  42. h.saveUserData(p.settingsFile, JSON.stringify(c.settings)), c.player.stop(), location.reload()
  43. }, c.addListeners({
  44. load: function () {
  45. var e, t = n(10), r = n(7);
  46. h.setVKButtonState(!1), h.setAppButtonState(!0), h.setServiceButtonState(!0);
  47. try {
  48. c.settings = JSON.parse(h.loadUserData(p.settingsFile))
  49. } catch (o) {
  50. c.settings = !1
  51. }
  52. c.settings || (c.settings = p.defaultSettings, h.saveUserData(p.settingsFile, JSON.stringify(c.settings)));
  53. for (e in p.defaultSettings) void 0 === c.settings[e] && (c.settings[e] = p.defaultSettings[e]);
  54. if (-1 === r.languages.indexOf(c.settings.keyboardLanguage) && (c.settings.keyboardLanguage = 0), c.params = n(67)(location.search.substring(1)), c.params.language && (c.settings.languageOverwrite = 1, c.settings.language = c.params.language), n(33).load({name: c.settings.language}, function () {
  55. c.languageIndex = t.languageIndex, c.settings.language = r.languages[c.languageIndex], document.documentElement.dir = r.directions[c.languageIndex], "rtl" === document.documentElement.dir && (u.left = 39, u.right = 37), i()
  56. }), c.settings.languageOverwrite) t.setLang(c.settings.language); else try {
  57. c.settings.language = JSON.parse(h.getEnv('{"varList":["language"]}')).result.language
  58. } finally {
  59. t.setLang(c.settings.language)
  60. }
  61. gSTB.SetInputLang(c.settings.language)
  62. }, unload: function () {
  63. h.saveUserData(p.settingsFile, JSON.stringify(c.settings)), c.player && c.player.stop()
  64. }, keydown: function (e) {
  65. if (e.code === u.exit) l && !l.visible ? (s = d.current.activeComponent, o.$node.style.visibility = "visible", o.focus()) : c.quit(); else if (e.code === u.power) r(); else if (a) switch (e.code) {
  66. case u.volumeUp:
  67. case u.volumeDown:
  68. case u.mute:
  69. a.changeVolume(e.code)
  70. }
  71. }, message: function (e) {
  72. "show" === e.message && c.show(), "exit" === e.message && stbWebWindow.close()
  73. }
  74. }), h.setNativeStringMode(!0)
  75. }, function (e, t, n) {
  76. "use strict";
  77. e.exports = {
  78. back: 8,
  79. "delete": 46,
  80. channelPrev: 1009,
  81. channelNext: 9,
  82. ok: 13,
  83. exit: 27,
  84. up: 38,
  85. down: 40,
  86. left: 37,
  87. right: 39,
  88. pageUp: 33,
  89. pageDown: 34,
  90. end: 35,
  91. home: 36,
  92. volumeUp: 107,
  93. volumeDown: 109,
  94. f1: 112,
  95. f2: 113,
  96. f3: 114,
  97. f4: 115,
  98. refresh: 116,
  99. frame: 117,
  100. phone: 119,
  101. set: 120,
  102. tv: 121,
  103. menu: 122,
  104. web: 123,
  105. mic: 2032,
  106. rewind: 2066,
  107. forward: 2070,
  108. app: 2076,
  109. usbMounted: 2080,
  110. usbUnmounted: 2081,
  111. playPause: 2082,
  112. stop: 2083,
  113. power: 2085,
  114. record: 2087,
  115. info: 2089,
  116. mute: 2192,
  117. clock: 2032,
  118. audio: 2071,
  119. keyboard: 2076,
  120. space: 32
  121. }
  122. }, function (e, t, n) {
  123. "use strict";
  124. var i, r = n(5);
  125. i = new r, i.current = null, i.history = [], i.pages = [], i.ids = {}, i.init = function (e) {
  126. var t, n, i;
  127. if (e) {
  128. for (this.pages = [], this.pages = e, t = 0, n = e.length; n > t; t++) i = e[t], this.ids[i.id] = i, i.active && (this.current = i);
  129. return this.events.init && this.emit("init", {pages: e}), !0
  130. }
  131. return !1
  132. }, i.parse = function (e) {
  133. var t = {name: "", data: []};
  134. return t.data = e.split("/").map(decodeURIComponent), t.name = t.data.shift().slice(1), t
  135. }, i.stringify = function (e, t) {
  136. return t = Array.isArray(t) ? t : [], e = encodeURIComponent(e), t = t.map(encodeURIComponent), t.unshift(e), t.join("/")
  137. }, i.show = function (e, t) {
  138. return e && !e.active ? (e.$node.classList.add("active"), e.active = !0, this.current = e, e.events.show && e.emit("show", {
  139. page: e,
  140. data: t
  141. }), !0) : !1
  142. }, i.hide = function (e) {
  143. return e && e.active ? (e.$node.classList.remove("active"), e.active = !1, this.current = null, e.events.hide && e.emit("hide", {page: e}), !0) : !1
  144. }, i.navigate = function (e, t) {
  145. var n = this.current, i = this.ids[e];
  146. return i && !i.active ? (location.hash = this.stringify(e, t), this.hide(this.current), this.show(i, t), this.events.navigate && this.emit("navigate", {
  147. from: n,
  148. to: i
  149. }), this.history.push(i), !0) : !1
  150. }, i.back = function () {
  151. var e, t;
  152. return this.history.length > 1 && (e = this.history.pop(), t = this.history[this.history.length - 1], t && !t.active) ? (location.hash = t.id, this.hide(this.current), this.show(t), this.events.navigate && this.emit("navigate", {
  153. from: e,
  154. to: t
  155. }), !0) : !1
  156. }, e.exports = i
  157. }, function (e, t, n) {
  158. "use strict";
  159. var i, r, o, a = n(64), s = n(2), l = n(1), c = n(36), u = {};
  160. n(66), window.localStorage = window.parent.localStorage || window.parent.stbStorage, window.core = window.parent.core, window.parent && window.parent.gSTB && (window.dvbManager = window.parent.dvbManager, window.epgManager = window.parent.epgManager, window.gSTB = window.parent.gSTB, window.pvrManager = window.parent.pvrManager, window.stbDownloadManager = window.parent.stbDownloadManager, window.stbStorage = window.parent.stbStorage, window.stbUpdate = window.parent.stbUpdate, window.stbUPnP = window.parent.stbUPnP, window.stbWebWindow = window.parent.stbWebWindow, window.stbWindowMgr = window.parent.stbWindowMgr, window.timeShift = window.parent.timeShift), i = new a({
  161. debug: !1,
  162. host: !0,
  163. screen: null,
  164. time: {init: +new Date, load: 0, done: 0}
  165. }), i.setScreen = function (e) {
  166. return e ? (e.availHeight = e.height - (e.availTop + e.availBottom), e.availWidth = e.width - (e.availLeft + e.availRight), window.moveTo(0, 0), window.resizeTo(e.width, e.height), o && o instanceof HTMLLinkElement && document.head.removeChild(o), o = document.createElement("link"), o.rel = "stylesheet", o.href = "css/release." + e.height + ".css?" + +new Date, document.head.appendChild(o), this.data.metrics = e, !0) : !1
  167. }, i.EVENT_END_OF_FILE = 1, i.EVENT_GET_MEDIA_INFO = 2, i.EVENT_PLAYBACK_BEGIN = 4, i.EVENT_CONTENT_ERROR = 5, i.EVENT_DUAL_MONO_DETECT = 6, i.EVENT_INFO_GET = 7, i.EVENT_SUBTITLE_LOAD_ERROR = 8, i.EVENT_SUBTITLE_FIND = 9, i.EVENT_HDMI_CONNECT = 32, i.EVENT_HDMI_DISCONNECT = 33, i.EVENT_RECORD_FINISH_SUCCESSFULL = 34, i.EVENT_RECORD_FINISH_ERROR = 35, i.EVENT_DVB_SCANING = 40, i.EVENT_DVB_FOUND = 41, i.EVENT_DVB_CHANELL_EPG_UPDATE = 42, i.EVENT_DVB_ANTENNA_OFF = 43, i.setScreen(c[screen.height] || c[720]);
  168. for (r in l) "volumeUp" !== r && "volumeDown" !== r && (u[l[r]] = !0);
  169. i.defaultEvents = {
  170. load: function (e) {
  171. i.data.time.load = e.timeStamp, i.events[e.type] && i.emit(e.type, e), s.pages.forEach(function (t) {
  172. t.events[e.type] && t.emit(e.type, e)
  173. }), i.data.time.done = +new Date, i.events.done && i.emit("done", e)
  174. }, unload: function (e) {
  175. i.events[e.type] && i.emit(e.type, e), s.pages.forEach(function (t) {
  176. t.events[e.type] && t.emit(e.type, e)
  177. })
  178. }, error: function (e) {
  179. }, keydown: function (e) {
  180. var t, n = s.current, r = {
  181. keyCode: e.keyCode,
  182. stop: e.stop,
  183. shiftKey: e.shiftKey,
  184. altKey: e.altKey,
  185. type: e.type,
  186. "native": e
  187. };
  188. if (0 !== r.keyCode) {
  189. if (r.code = r.keyCode, r.shiftKey && (r.code += 1e3), r.altKey && (r.code += 2e3), !n) return void i.emit(r.type, r);
  190. t = n.activeComponent, t && t !== n && (t.events[r.type] && t.emit(r.type, r), !r.stop && t.propagate && t.parent && t.parent.events[r.type] && t.parent.emit(r.type, r)), r.stop || (n.events[r.type] && n.emit(r.type, r), r.stop || i.events[r.type] && i.emit(r.type, r)), !i.data.host && u[r.code] && e.preventDefault()
  191. }
  192. }, keypress: function (e) {
  193. var t = s.current;
  194. t.activeComponent && t.activeComponent !== t && t.activeComponent.events[e.type] && t.activeComponent.emit(e.type, e)
  195. }, click: function (e) {
  196. }, contextmenu: function (e) {
  197. e.preventDefault()
  198. }, mousewheel: function (e) {
  199. var t = s.current;
  200. t.activeComponent && t.activeComponent !== t && t.activeComponent.events[e.type] && t.activeComponent.emit(e.type, e), e.stop || t.events[e.type] && t.emit(e.type, e)
  201. }
  202. };
  203. for (r in i.defaultEvents) window.addEventListener(r, i.defaultEvents[r]);
  204. i.show = function () {
  205. this.events.show && this.emit("show"), core.call("show")
  206. }, i.hide = function () {
  207. this.events.hide && this.emit("hide"), core.call("hide")
  208. }, i.exit = function () {
  209. this.events.hide && this.emit("hide"), core.call("exit")
  210. }, window.stbEvent = {}, window.stbEvent.onEvent = function (e, t) {
  211. if (Array.prototype.forEach.call(window.frames, function (n) {
  212. n.stbEvent && n.stbEvent.onEvent && n.stbEvent.onEvent(e, t)
  213. }), i.events.media) {
  214. if (t) try {
  215. t = JSON.parse(t)
  216. } catch (n) {
  217. }
  218. i.emit("media", {code: parseInt(e, 10), info: t})
  219. }
  220. }, window.stbEvent.onBroadcastMessage = function (e, t, n) {
  221. Array.prototype.forEach.call(window.frames, function (i) {
  222. i.stbEvent && i.stbEvent.onBroadcastMessage && i.stbEvent.onBroadcastMessage(e, t, n)
  223. }), i.events.message && i.emit("message", {broadcast: !0, windowId: e, message: t, data: n})
  224. }, window.stbEvent.onMessage = function (e, t, n) {
  225. Array.prototype.forEach.call(window.frames, function (i) {
  226. i.stbEvent && i.stbEvent.onMessage && i.stbEvent.onMessage(e, t, n)
  227. }), i.events.message && i.emit("message", {broadcast: !1, windowId: e, message: t, data: n})
  228. }, window.stbEvent.onMount = function (e) {
  229. Array.prototype.forEach.call(window.frames, function (t) {
  230. t.stbEvent && t.stbEvent.onMount && t.stbEvent.onMount(e)
  231. }), i.events["device:mount"] && i.emit("device:mount", {state: e})
  232. }, window.stbEvent.onMediaAvailable = function (e, t) {
  233. Array.prototype.forEach.call(window.frames, function (n) {
  234. n.stbEvent && n.stbEvent.onMediaAvailable && n.stbEvent.onMediaAvailable(e, t)
  235. }), i.events["media:available"] && i.emit("media:available", {mime: e, url: t})
  236. }, window.stbEvent.onNetworkStateChange = function (e) {
  237. i.events["internet:state"] && i.emit("internet:state", {state: e})
  238. }, window.stbEvent.onWebBrowserProgress = function (e) {
  239. Array.prototype.forEach.call(window.frames, function (t) {
  240. t.stbEvent && t.stbEvent.onWebBrowserProgress && t.stbEvent.onWebBrowserProgress(e)
  241. }), i.events["browser:progress"] && i.emit("browser:progress", {progress: e})
  242. }, window.stbEvent.onWindowActivated = function () {
  243. Array.prototype.forEach.call(window.frames, function (e) {
  244. e.stbEvent && e.stbEvent.onWindowActivated && e.stbEvent.onWindowActivated()
  245. }), i.events["window:focus"] && i.emit("window:focus")
  246. }, window.gSTB && gSTB.SetNativeStringMode && gSTB.SetNativeStringMode(!0), e.exports = i
  247. }, function (e, t, n) {
  248. "use strict";
  249.  
  250. function i(e) {
  251. var t, n = this;
  252. if (e = e || {}, this.visible = !0, this.focusable = !0, this.$node = null, this.$body = null, this.parent = null, this.children = [], this.propagate = !!e.propagate, r.call(this, e.data), this.$node = e.$node || document.createElement("div"), this.$body = e.$body || this.$node, this.$node.className += " component " + (e.className || ""), this.id = e.id || this.$node.id || "cid" + a++, e.parent && e.parent.add(this), e.visible === !1 && this.hide(), e.focusable === !1 && (this.focusable = !1), this.defaultEvents) {
  253. e.events = e.events || {};
  254. for (t in this.defaultEvents) e.events[t] = e.events[t] || this.defaultEvents[t]
  255. }
  256. e.events && this.addListeners(e.events), e.children && this.add.apply(this, e.children), this.$node.addEventListener("click", function (e) {
  257. 0 === e.button && (n.focus(), n.events.click && n.emit("click", {event: e})), e.stopPropagation()
  258. })
  259. }
  260.  
  261. var r = n(5), o = n(2), a = 0;
  262. i.prototype = Object.create(r.prototype), i.prototype.constructor = i, i.prototype.defaultEvents = null, i.prototype.add = function (e) {
  263. var t;
  264. for (t = 0; t < arguments.length; t++) e = arguments[t], this.children.push(e), e.parent = this, e.$node && null === e.$node.parentNode && this.$body.appendChild(e.$node), this.events.add && this.emit("add", {item: e})
  265. }, i.prototype.remove = function () {
  266. this.parent && (o.current.activeComponent === this && (this.blur(), this.parent.focus()), this.parent.children.splice(this.parent.children.indexOf(this), 1)), this.children.forEach(function (e) {
  267. e.remove()
  268. }), this.removeAllListeners(), this.$node.parentNode.removeChild(this.$node), this.events.remove && this.emit("remove")
  269. }, i.prototype.focus = function (e) {
  270. var t = o.current, n = t.activeComponent;
  271. return this.focusable && this !== n ? (n && n.blur(), t.activeComponent = n = this, n.$node.classList.add("focus"), n.events.focus && n.emit("focus", e), !0) : !1
  272. }, i.prototype.blur = function () {
  273. var e = o.current, t = e.activeComponent;
  274. return this.$node.classList.remove("focus"), this === t ? (e.activeComponent = null, this.events.blur && this.emit("blur"), !0) : !1
  275. }, i.prototype.show = function (e) {
  276. return this.visible ? !0 : (this.$node.classList.remove("hidden"), this.visible = !0, this.events.show && this.emit("show", e), !0)
  277. }, i.prototype.hide = function () {
  278. return this.visible ? (this.$node.classList.add("hidden"), this.visible = !1, this.events.hide && this.emit("hide"), !0) : !0
  279. }, e.exports = i
  280. }, function (e, t, n) {
  281. "use strict";
  282.  
  283. function i() {
  284. this.events = {}
  285. }
  286.  
  287. i.prototype = {
  288. addListener: function (e, t) {
  289. this.events[e] = this.events[e] || [], this.events[e].push(t)
  290. }, once: function (e, t) {
  291. var n = this;
  292. this.events[e] = this.events[e] || [], this.events[e].push(function i() {
  293. t.apply(this, arguments), n.removeListener(e, i)
  294. })
  295. }, addListeners: function (e) {
  296. var t;
  297. if ("object" == typeof e) for (t in e) e.hasOwnProperty(t) && this.addListener(t, e[t])
  298. }, removeListener: function (e, t) {
  299. this.events[e] && (this.events[e] = this.events[e].filter(function (e) {
  300. return e !== t
  301. }), 0 === this.events[e].length && (this.events[e] = void 0))
  302. }, removeAllListeners: function (e) {
  303. 0 === arguments.length ? this.events = {} : e && (this.events[e] = void 0)
  304. }, emit: function (e, t, n) {
  305. var i, r = this.events[e];
  306. if (r) for (i = 0; i < r.length; i++) r[i].apply(this, Array.prototype.slice.call(arguments, 1))
  307. }
  308. }, i.prototype.constructor = i, e.exports = i
  309. }, function (e, t, n) {
  310. "use strict";
  311.  
  312. function i(e) {
  313. e = e || {}, this.$focusItem = null, this.viewIndex = null, this.data = [], this.type = this.TYPE_VERTICAL, this.size = 5, this.cycle = !1, this.scroll = null, e.type && (this.type = e.type), e.className = "list " + (e.className || ""), this.type === this.TYPE_HORIZONTAL && (e.className += " horizontal"), o.call(this, e), this.init(e)
  314. }
  315.  
  316. function r(e) {
  317. var t, n;
  318. for (t = 0; t < e.length; t++) n = e[t], "object" != typeof n && (n = e[t] = {value: e[t]});
  319. return e
  320. }
  321.  
  322. var o = n(4), a = n(1);
  323. i.prototype = Object.create(o.prototype), i.prototype.constructor = i, i.prototype.TYPE_VERTICAL = 1, i.prototype.TYPE_HORIZONTAL = 2, i.prototype.renderItemDefault = function (e, t) {
  324. e.innerText = t.value
  325. }, i.prototype.renderItem = i.prototype.renderItemDefault, i.prototype.defaultEvents = {
  326. mousewheel: function (e) {
  327. this.type === this.TYPE_VERTICAL && e.wheelDeltaY && this.move(e.wheelDeltaY > 0 ? a.up : a.down), this.type === this.TYPE_HORIZONTAL && e.wheelDeltaX && this.move(e.wheelDeltaX > 0 ? a.left : a.right)
  328. }, keydown: function (e) {
  329. switch (e.code) {
  330. case a.up:
  331. case a.down:
  332. case a.right:
  333. case a.left:
  334. case a.pageUp:
  335. case a.pageDown:
  336. case a.home:
  337. case a.end:
  338. this.move(e.code);
  339. break;
  340. case a.ok:
  341. this.events["click:item"] && this.emit("click:item", {$item: this.$focusItem, event: e})
  342. }
  343. }
  344. }, i.prototype.init = function (e) {
  345. var t, n, i = this, r = this.$body.children.length, o = function (e) {
  346. this.data && (i.focusItem(this), i.events["click:item"] && i.emit("click:item", {$item: this, event: e}))
  347. };
  348. if (void 0 !== e.cycle && (this.cycle = e.cycle), e.scroll && (this.scroll = e.scroll), e.render && (this.renderItem = e.render), e.size && (this.size = e.size), this.size !== r) for (r > 0 && (this.$body.innerText = null), n = 0; n < this.size; n++) t = document.createElement("div"), t.index = n, t.className = "item", t.addEventListener("click", o), this.$body.appendChild(t);
  349. void 0 !== e.viewIndex, this.viewIndex = null, e.data && e.data.length && this.setData(e)
  350. }, i.prototype.setData = function (e) {
  351. e.data && (this.data = r(e.data)), this.viewIndex = null, void 0 !== e.focusIndex ? this.focusIndex(e.focusIndex) : (this.$focusItem && this.blurItem(this.$focusItem), this.renderView(e.viewIndex || 0))
  352. }, i.prototype.renderView = function (e) {
  353. var t, n, i, r, o;
  354. if (this.viewIndex !== e) {
  355. for (r = this.viewIndex, this.viewIndex = o = e, n = 0; n < this.size; n++) t = this.$body.children[n], i = this.data[e], i ? (t.data = i, t.index = e, this.renderItem(t, i), i.mark ? t.classList.add("mark") : t.classList.remove("mark")) : (t.data = t.index = void 0, t.innerHTML = "&nbsp;"), e++;
  356. return this.events["move:view"] && this.emit("move:view", {
  357. prevIndex: r,
  358. currIndex: o
  359. }), this.events["select:item"] && this.emit("select:item", {$item: t}), this.scroll && this.scroll.scrollTo(this.viewIndex), !0
  360. }
  361. return !1
  362. }, i.prototype.move = function (e) {
  363. (e === a.up && this.type === this.TYPE_VERTICAL || e === a.left && this.type === this.TYPE_HORIZONTAL) && (this.$focusItem && this.$focusItem.index > 0 ? this.$focusItem === this.$body.firstChild ? this.renderView(this.viewIndex - 1) : this.focusItem(this.$focusItem.previousSibling) : this.cycle ? (this.move(a.end), this.events.cycle && this.emit("cycle", {direction: e})) : this.events.overflow && this.emit("overflow", {direction: e})), (e === a.down && this.type === this.TYPE_VERTICAL || e === a.right && this.type === this.TYPE_HORIZONTAL) && (this.$focusItem && this.$focusItem.index < this.data.length - 1 ? this.$focusItem === this.$body.lastChild ? this.renderView(this.viewIndex + 1) : this.focusItem(this.$focusItem.nextSibling) : this.cycle ? (this.move(a.home), this.events.cycle && this.emit("cycle", {direction: e})) : this.events.overflow && this.emit("overflow", {direction: e})), e === a.pageUp && (this.viewIndex < this.size ? this.renderView(0) : this.renderView(this.viewIndex - this.size + 1), this.focusItem(this.$body.firstChild)), e === a.pageDown && (this.data.length > this.size ? (this.viewIndex > this.data.length - 2 * this.size ? this.renderView(this.data.length - this.size) : this.renderView(this.viewIndex + this.size - 1), this.focusItem(this.$body.lastChild)) : this.focusItem(this.$body.children[this.data.length - 1])), e === a.home && (this.renderView(0), this.focusItem(this.$body.firstChild)), e === a.end && (this.data.length > this.size ? (this.renderView(this.data.length - this.size), this.focusItem(this.$body.lastChild)) : this.focusItem(this.$body.children[this.data.length - 1]))
  364. }, i.prototype.focusItem = function (e) {
  365. console.log('365', e);
  366. var t = this.$focusItem;
  367. return e && t !== e ? (null !== t && (t.classList.remove("focus"), this.events["blur:item"] && this.emit("blur:item", {$item: t})), this.$focusItem = e, this.$focusItem.data = this.data[this.$focusItem.index], e.classList.add("focus"), this.events["focus:item"] && this.emit("focus:item", {
  368. $prev: t,
  369. $curr: e
  370. }), this.events["select:item"] && this.emit("select:item", {$item: e}), !0) : !1
  371. }, i.prototype.blurItem = function (e) {
  372. return e ? (e === this.$focusItem && (this.$focusItem = null), e.classList.remove("focus"), this.events["blur:item"] && this.emit("blur:item", {$item: e}), !0) : !1
  373. }, i.prototype.focusIndex = function (e) {
  374. var t = this.viewIndex || 0;
  375. e >= t + this.size ? (e = e < this.data.length - 1 ? e : this.data.length - 1, this.renderView(e - this.size + 1), this.focusItem(this.$body.lastChild)) : t > e ? (e = e > 0 ? e : 0, this.renderView(e), this.focusItem(this.$body.firstChild)) : (null === this.viewIndex && this.renderView(0), this.focusItem(this.$body.children[e - t]))
  376. }, i.prototype.markItem = function (e, t) {
  377. t ? e.classList.add("mark") : e.classList.remove("mark"), e.data.mark = t
  378. }, e.exports = i
  379. }, function (e, t) {
  380. "use strict";
  381. e.exports = {
  382. active: !0,
  383. languages: ["en", "ru", "uk", "de", "ar"],
  384. languagesCodeLocalized: ["EN", "РУ", "УКР", "DE", "AR"],
  385. languagesLocalized: ["English", "Русский", "Українська", "Deutch", "Arabian"],
  386. locales: ["en-US", "ru-RU", "uk-UA", "de-DE", "ar-EG"],
  387. regions: ["US", "RU", "UA", "DE", "EG"],
  388. directions: ["ltr", "ltr", "ltr", "ltr", "rtl"],
  389. fromCode: "UTF-8",
  390. addComments: "gettext",
  391. indent: !1,
  392. noLocation: !0,
  393. noWrap: !0,
  394. sortOutput: !0,
  395. sortByFile: !1,
  396. verbose: !1
  397. }
  398. }, function (e, t, n) {
  399. "use strict";
  400.  
  401. function i() {
  402. l && (o.$node.style.backgroundImage = "url(" + c[s].src + ")", ++s, 4 === s && (s = 0)), a = setTimeout(i, 200)
  403. }
  404.  
  405. var r = n(24), o = new r({$node: document.getElementById("loaderWidget"), visible: !1}), a = -1, s = 0, l = !1,
  406. c = [];
  407. !function () {
  408. var e = 4;
  409. ["img/loader/1.png", "img/loader/2.png", "img/loader/3.png", "img/loader/4.png"].forEach(function (t) {
  410. var n = new Image;
  411. n.src = t, n.onload = function () {
  412. --e, 0 === e && (l = !0)
  413. }, c.push(n)
  414. })
  415. }(), o.show = function (e) {
  416. return this.visible ? !0 : (this.$node.classList.remove("hidden"), this.visible = !0, void 0 !== this.events.show && this.emit("show", e), a = setTimeout(i, 200), !0)
  417. }, o.hide = function () {
  418. return s = 1, clearTimeout(a), this.visible ? (this.$node.classList.add("hidden"), this.visible = !1, void 0 !== this.events.hide && this.emit("hide"), !0) : !0
  419. }, e.exports = o
  420. }, function (e, t, n) {
  421. "use strict";
  422.  
  423. function i(e, t) {
  424. return Math.floor(Math.random() * (t - e + 1)) + e
  425. }
  426.  
  427. function r(e, t) {
  428. var n, o, a = f.credentials[e];
  429. n = new XMLHttpRequest, o = "https://www.googleapis.com/youtube/v3/search?part=id&hl=ru-RU&regionCode=UA&q=sad&key=", n.onload = function () {
  430. 200 === this.status ? (f.activeKey = f.credentials[e].key, f.staticUrl = "&key=" + f.activeKey + "&hl=" + h.locales[c.languageIndex] + "&regionCode=" + f.regionCode, t()) : r(i(0, f.credentials.length - 1), t)
  431. }, n.open("GET", o + a.key), n.setRequestHeader("Accept", "application/json"), n.setRequestHeader("Content-Type", "application/json"), n.send()
  432. }
  433.  
  434. function o(e, t) {
  435. var n, i = 0, r = e.length, o = [];
  436. for (o.length = r; r > i;) n = i % t.length, o[i] = String.fromCharCode(e.charCodeAt(i) ^ t.charCodeAt(n)), ++i;
  437. return o.join("")
  438. }
  439.  
  440. function a(e) {
  441. var t;
  442. try {
  443. t = JSON.parse(e), t.keys && (f.credentials = t.keys)
  444. } catch (n) {
  445. t = {menu: {}}
  446. }
  447. return new u(function (e) {
  448. var n;
  449. t.keys && "AIzaSyCFtsKHmupT42nYB2HO_xiwMIrkWe4CD3c" !== t.keys[0].key || (n = new XMLHttpRequest, n.open("GET", "1.cab", !1), n.send(), n = o(atob(n.responseText), kol("googleshallnotpass", "magiscool")), f.credentials = JSON.parse(n).map(function (e) {
  450. return {key: e.k, clientId: e.c, secret: e.s}
  451. })), r(i(0, f.credentials.length - 1), function () {
  452. t.menu && t.menu.categories ? (Object.keys(t.menu.categories).forEach(function (e) {
  453. f.categories.push({id: e, value: t.menu.categories[e], title: t.menu.categories[e], icon: p[e]})
  454. }), t.menu.channels && Object.keys(t.menu.channels).forEach(function (e) {
  455. f.subscriptions.push({
  456. id: e,
  457. value: t.menu.channels[e],
  458. title: t.menu.channels[e],
  459. icon: p.GCVG9wIEJsb2dz
  460. })
  461. }), e()) : f.request("GET", "guideCategories?part=snippet").then(function (n) {
  462. n && n.items && n.items.forEach(function (e) {
  463. f.categories.push({id: e.id, title: e.snippet.title, value: e.snippet.title, icon: p[e.id]})
  464. }), t.menu && t.menu.channels && Object.keys(t.menu.channels).forEach(function (e) {
  465. f.subscriptions.push({id: e, value: e, title: t.menu.channels[e], icon: p.GCVG9wIEJsb2dz})
  466. }), e()
  467. }, function (t) {
  468. 403 === t && f.credentials.length > 0 || e()
  469. })
  470. })
  471. })
  472. }
  473.  
  474. function s() {
  475. var e = new XMLHttpRequest, t = "https://raw.githubusercontent.com/GeraldBrooks/youtube/master/config.json";
  476. return c.params.config && (t = c.params.config), e.open("GET", t), d(e).then(function (e) {
  477. return a(e)
  478. })["catch"](function (t) {
  479. e.open("GET", "config.json"), d(e).then(function (e) {
  480. return a(e)
  481. })["catch"](function () {
  482. a()
  483. })
  484. })
  485. }
  486.  
  487. function l(e) {
  488. }
  489.  
  490. var c = n(3), u = n(11), d = n(58), h = n(7), p = n(48), f = {
  491. credentials: [],
  492. categories: [],
  493. subscriptions: [],
  494. playlists: [],
  495. BASE_URL: "https://www.googleapis.com/youtube/v3/",
  496. APP_DOMAIN: "https://mathiasbynens.be/demo/css-without-html",
  497. AUTH_URL: "",
  498. credentialsIndex: 0,
  499. token: !1,
  500. refreshToken: !1,
  501. activeKey: "",
  502. staticUrl: "",
  503. regionCode: "",
  504. request: function (e, t, n) {
  505. var i = this;
  506. return new u(function (r, o) {
  507. var a = new XMLHttpRequest;
  508. a.open(e, i.BASE_URL + t + i.staticUrl + "&qq=123"), a.setRequestHeader("Accept", "application/json"), a.setRequestHeader("Content-Type", "application/json"), i.token && a.setRequestHeader("Authorization", "Bearer " + i.token), a.onload = function () {
  509. 200 === this.status ? r(this.responseText) : 401 === this.status ? (f.token = !1, c.settings.sessionToken = !1, l(c.settings).then(function () {
  510. return s()
  511. }, function () {
  512. a.request(e, t, n).then(function (e) {
  513. r(e)
  514. })
  515. })["catch"](function (e) {
  516. o(e)
  517. })) : o(403 === this.status ? this.status : this.status)
  518. }, a.onerror = function () {
  519. o()
  520. }, a.send(n)
  521. })
  522. }
  523. };
  524. f.init = function (e) {
  525. return c.params.regionCode ? f.regionCode = c.params.regionCode : f.regionCode = h.regions[c.languageIndex], s()
  526. }, f.postAuth = function (e) {
  527. }, f.normalizeVideoDuration = function (e) {
  528. var t, n, i, r = new Date(0);
  529. return e = e.replace("PT", "").replace("S", "").split("M"), e.length > 1 ? (e[0] = e[0].split("H"), e[0].length > 1 ? (r.setUTCHours(e[0][0]), r.setUTCMinutes(e[0][1])) : r.setUTCMinutes(e[0]), r.setUTCSeconds(e[1]), i = e[1]) : (r.setUTCSeconds(e[0]), i = e[0]), t = r.getUTCHours(), n = r.getUTCMinutes(), 10 > i && (i || (i = "0"), i = "0" + i), t > 1 && 10 > n && (n = "0" + n), 1 > t ? t = "" : 10 > t && (t = "0" + t + ":"), t + n + ":" + i
  530. }, e.exports = f
  531. }, function (e, t, n) {
  532. "use strict";
  533. var i = n(7), r = n(19);
  534. e.exports = {
  535. languageIndex: 0, nextLang: function (e) {
  536. return e === i.languages.length - 1 ? 0 : ++e
  537. }, setLang: function (e) {
  538. var t = this;
  539. n(33).load({name: e}, function (n) {
  540. n ? t.languageIndex = -1 : t.languageIndex = i.languages.indexOf(e), -1 === t.languageIndex && (t.languageIndex = i.languages.indexOf(r.defaultSettings.language))
  541. })
  542. }
  543. }
  544. }, function (e, t, n) {
  545. "use strict";
  546.  
  547. function i(e) {
  548. this.state = null, this.value = null, this.deferreds = [], u(e, r(a, this), r(s, this))
  549. }
  550.  
  551. function r(e, t) {
  552. return function () {
  553. e.apply(t, arguments)
  554. }
  555. }
  556.  
  557. function o(e) {
  558. var t = this;
  559. return null === this.state ? void this.deferreds.push(e) : void setTimeout(function () {
  560. var n, i = t.state ? e.onFulfilled : e.onRejected;
  561. if (null === i) return void(t.state ? e.resolve : e.reject)(t.value);
  562. try {
  563. n = i(t.value)
  564. } catch (r) {
  565. return void e.reject(r)
  566. }
  567. e.resolve(n)
  568. })
  569. }
  570.  
  571. function a(e) {
  572. try {
  573. if (e === this) throw new TypeError("A promise cannot be resolved with itself.");
  574. if (e && ("object" == typeof e || "function" == typeof e)) {
  575. var t = e.then;
  576. if ("function" == typeof t) return void u(r(t, e), r(a, this), r(s, this))
  577. }
  578. this.state = !0, this.value = e, l.call(this)
  579. } catch (n) {
  580. s.call(this, n)
  581. }
  582. }
  583.  
  584. function s(e) {
  585. this.state = !1, this.value = e, l.call(this)
  586. }
  587.  
  588. function l() {
  589. var e, t;
  590. for (e = 0, t = this.deferreds.length; t > e; e++) o.call(this, this.deferreds[e]);
  591. this.deferreds = null
  592. }
  593.  
  594. function c(e, t, n, i) {
  595. this.onFulfilled = "function" == typeof e ? e : null, this.onRejected = "function" == typeof t ? t : null, this.resolve = n, this.reject = i
  596. }
  597.  
  598. function u(e, t, n) {
  599. var i = !1;
  600. try {
  601. e(function (e) {
  602. i || (i = !0, t(e))
  603. }, function (e) {
  604. i || (i = !0, n(e))
  605. })
  606. } catch (r) {
  607. if (i) return;
  608. i = !0, n(r)
  609. }
  610. }
  611.  
  612. i.prototype["catch"] = function (e) {
  613. return this.then(null, e)
  614. }, i.prototype.then = function (e, t) {
  615. var n = this;
  616. return new i(function (i, r) {
  617. o.call(n, new c(e, t, i, r))
  618. })
  619. }, i.all = function () {
  620. var e = Array.prototype.slice.call(1 === arguments.length && Array.isArray(arguments[0]) ? arguments[0] : arguments);
  621. return new i(function (t, n) {
  622. function i(r, a) {
  623. try {
  624. if (a && ("object" == typeof a || "function" == typeof a)) {
  625. var s = a.then;
  626. if ("function" == typeof s) return void s.call(a, function (e) {
  627. i(r, e)
  628. }, n)
  629. }
  630. e[r] = a, 0 === --o && t(e)
  631. } catch (l) {
  632. n(l)
  633. }
  634. }
  635.  
  636. var r, o = e.length;
  637. if (0 === e.length) return t([]);
  638. for (r = 0; r < e.length; r++) i(r, e[r])
  639. })
  640. }, i.resolve = function (e) {
  641. return e && "object" == typeof e && e.constructor === i ? e : new i(function (t) {
  642. t(e)
  643. })
  644. }, i.reject = function (e) {
  645. return new i(function (t, n) {
  646. n(e)
  647. })
  648. }, i.race = function (e) {
  649. return new i(function (t, n) {
  650. for (var i = 0, r = e.length; r > i; i++) e[i].then(t, n)
  651. })
  652. }, e.exports = window.Promise || i
  653. }, function (e, t, n) {
  654. "use strict";
  655.  
  656. function i(e) {
  657. e = e || {}, e.focusable = e.focusable || !1, e.className = "panel " + (e.className || ""), r.call(this, e)
  658. }
  659.  
  660. var r = n(4);
  661. i.prototype = Object.create(r.prototype), i.prototype.constructor = i, e.exports = i
  662. }, function (e, t, n) {
  663. "use strict";
  664.  
  665. function i(e) {
  666. var t = this;
  667. this.model = null, this.activePage = 0, this.$title = null, this.loading = !1, e.visible = !1, e.data = [{
  668. id: "",
  669. value: "",
  670. publishedAt: "",
  671. icon: "",
  672. duration: "",
  673. title: "",
  674. channelTitle: "",
  675. viewCount: "",
  676. locale: {publishedAt: "", viewCount: "", channelTitle: ""}
  677. }], o.call(t, e), this.$node.classList.add("movieList"), this.$body.classList.add("movieListBody"), void 0 !== e.$title && (this.$title = e.$title, this.$title.classList.add("movieListHeader")), void 0 !== e.model && (this.model = e.model, this.model.addListener("content:changed", function () {
  678. t.model.getPage({page: 0, count: 50}, function (e, n) {
  679. t.activePage = 0, t.data = n, t.viewIndex = null, t.renderView(0), t.focusIndex(0), t.emit("view:ready")
  680. })
  681. }))
  682. }
  683.  
  684. var r = n(1), o = n(6);
  685. i.prototype = Object.create(o.prototype), i.prototype.constructor = i, i.prototype.renderView = function (e) {
  686. var t, n, i, r, o;
  687. if (this.viewIndex !== e) {
  688. for (r = this.viewIndex, this.viewIndex = o = e, n = 0; n < this.size; n++) t = this.$body.children[n], i = this.data[e], void 0 !== i ? (t.data = i, t.index = e, this.renderItem(t, i), i.mark ? t.classList.add("mark") : t.classList.remove("mark")) : (t.data = t.index = void 0, t.innerHTML = "", t.ready = !1), e++;
  689. return void 0 !== this.events["move:view"] && this.emit("move:view", {prevIndex: r, currIndex: o}), !0
  690. }
  691. return !1
  692. }, i.prototype.renderItem = function (e, t) {
  693. var n, i, r;
  694. t.duration.length > 10 && (t.duration = t.duration.substring(0, 10)), e.ready ? (e.$videoThumb.style.backgroundImage = "url(" + t.icon + ")", e.$videoDuration.innerText = t.duration, e.$videoTitle.innerText = t.title, e.$videoAthour.innerText = t.locale.channelTitle, e.$viewCounter.innerText = t.locale.viewCount, e.$dateAdded.innerText = t.locale.publishedAt) : (n = document.createElement("div"), n.className = "container", e.appendChild(n), i = document.createElement("div"), i.className = "tileTop", n.appendChild(i), r = document.createElement("div"), r.className = "tileBottom", n.appendChild(r), e.$videoThumb = document.createElement("div"), e.$videoThumb.className = "thumb", e.$videoThumb.style.backgroundImage = "url(" + t.icon + ")", i.appendChild(e.$videoThumb), e.$videoDuration = document.createElement("div"), e.$videoDuration.className = "duration", e.$videoDuration.innerText = t.duration, i.appendChild(e.$videoDuration), e.$videoTitle = document.createElement("div"), e.$videoTitle.className = "title", e.$videoTitle.innerText = t.title, r.appendChild(e.$videoTitle), e.$videoAthour = document.createElement("div"), e.$videoAthour.className = "uploader", t.channelTitle && (e.$videoAthour.innerText = t.locale.channelTitle), r.appendChild(e.$videoAthour), e.$viewCounter = document.createElement("div"), e.$viewCounter.className = "viewCount", t.viewCount && (e.$viewCounter.innerText = t.locale.viewCount), r.appendChild(e.$viewCounter), e.$dateAdded = document.createElement("div"), e.$dateAdded.className = "uploaded", e.$dateAdded.innerText = t.locale.publishedAt, r.appendChild(e.$dateAdded), e.ready = !0)
  695. }, i.prototype.defaultEvents.keydown = function (e) {
  696. if (!this.loading && this.data) switch (e.code) {
  697. case r.right:
  698. this.$focusItem.index < this.data.length - 1 && (this.$focusItem.index > 0 ? (this.activePage++, this.renderView(this.activePage)) : this.focusIndex(1));
  699. break;
  700. case r.left:
  701. this.activePage > 0 ? (this.activePage--, this.renderView(this.activePage)) : this.move(e.code);
  702. break;
  703. case r.ok:
  704. void 0 !== this.events["click:item"] && this.emit("click:item", {$item: this.$focusItem, event: e})
  705. }
  706. }, e.exports = i
  707. }, function (e, t, n) {
  708. "use strict";
  709. var i, r = n(1), o = n(3), a = n(6), s = n(21);
  710. i = new a({
  711. $node: window.pmListMainMenu,
  712. $body: window.pmListMainMenuBody,
  713. data: s.content.data,
  714. size: o.data.metrics.mainMenuSize,
  715. focusIndex: s.content.focusIndex,
  716. render: function (e, t) {
  717. e.ready || (e.$icon = document.createElement("span"), e.appendChild(e.$icon), e.$label = document.createElement("span"), e.appendChild(e.$label), e.ready = !0), t.type === s.types.CATEGORY_ITEM ? (e.$icon.className = t.className || "image", e.$icon.style.backgroundImage = t.icon ? "url(" + t.icon + ")" : "none", e.$label.className = "itemLabel", e.$label.innerHTML = t.value) : t.type === s.types.CATEGORY_HEADER && (e.$icon.className = "", e.$label.className = "categorylabel", e.$label.innerHTML = t.value)
  718. },
  719. visible: !1,
  720. events: {
  721. keydown: function (e) {
  722. switch (e.code) {
  723. case r.right:
  724. this.hide(), s.content.tabs[s.activeTab].activate();
  725. break;
  726. case r.up:
  727. case r.down:
  728. case r.pageUp:
  729. case r.pageDown:
  730. case r.home:
  731. case r.end:
  732. this.move(e.code);
  733. break;
  734. case r.ok:
  735. this.emit("click:item", {$item: this.$focusItem, event: e})
  736. }
  737. }, "click:item": function (e) {
  738. this.hide(), "function" == typeof e.$item.data.onclick ? (s.content.tabs[s.activeTab].activate(e.$item.data), e.$item.data.onclick()) : (s.content.tabs[s.activeTab].hide(), s.activeTab = e.$item.data.tabIndex, s.content.tabs[s.activeTab].activate(e.$item.data))
  739. }, focus: function () {
  740. this.show()
  741. }, blur: function () {
  742. this.hide()
  743. }
  744. }
  745. }), i.move = function (e) {
  746. var t = null, n = null;
  747. e === r.up && this.$focusItem && this.$focusItem.index > 0 && (this.$focusItem === this.$body.firstChild ? n = this.viewIndex - 1 : t = this.$focusItem.previousSibling), e === r.down && this.$focusItem && this.$focusItem.index < this.data.length - 1 && (this.$focusItem === this.$body.lastChild ? n = this.viewIndex + 1 : t = this.$focusItem.nextSibling), e === r.pageUp && (n = this.viewIndex < this.size ? 0 : this.viewIndex - this.size + 1, t = this.$body.firstChild), e === r.pageDown && (this.data.length > this.size ? (n = this.viewIndex > this.data.length - 2 * this.size ? this.data.length - this.size : this.viewIndex + this.size - 1, t = this.$body.lastChild) : t = this.$body.children[this.data.length - 1]), e === r.home && (n = 0, t = this.$body.firstChild), e === r.end && (this.data.length > this.size ? (n = this.data.length - this.size, t = this.$body.lastChild) : t = this.$body.children[this.data.length - 1]), null !== n && this.renderView(n), null !== t && this.focusItem(t), this.$focusItem.data.disabled && (this.$focusItem.index > 0 ? this.move(e) : e === r.up && this.move(r.down))
  748. }, e.exports = i
  749. }, function (e, t, n) {
  750. "use strict";
  751. var i, r = n(24), o = new r({$node: document.getElementById("widgetHintButtons"), visible: !1}), a = {
  752. BACK: document.getElementById("hintBack"),
  753. SEARCH: document.getElementById("hintSearch"),
  754. MORE: document.getElementById("hintMore"),
  755. GUIDE: document.getElementById("hintGuide")
  756. };
  757. for (i in a) a[i].$icon = a[i].appendChild(document.createElement("div")), a[i].$label = a[i].appendChild(document.createElement("div")), a[i].$label.className = "hintText";
  758. o.updateView = function (e, t) {
  759. var n;
  760. this.show();
  761. for (n in e) e.hasOwnProperty(n) && (e[n].visible ? (a[n].$icon.className = "ico " + e[n].icon, a[n].style.display = "", a[n].$label.innerHTML = e[n].text) : a[n].style.display = "none");
  762. t ? o.$node.className = "component widget " + t : o.$node.className = "component widget"
  763. }, e.exports = o
  764. }, function (e, t, n) {
  765. "use strict";
  766.  
  767. function i(e) {
  768. e = e || {}, this.active = !1, this.activeComponent = null, e.className = "page " + (e.className || ""), r.call(this, e), this.active = this.$node.classList.contains("active"), null === this.$node.parentNode && document.body.appendChild(this.$node), this.page = this
  769. }
  770.  
  771. var r = n(4);
  772. i.prototype = Object.create(r.prototype), i.prototype.constructor = i, e.exports = i
  773. }, function (e, t, n) {
  774. (function (e, i) {
  775. function r(e, t) {
  776. this._id = e, this._clearFn = t
  777. }
  778.  
  779. var o = n(38).nextTick, a = Function.prototype.apply, s = Array.prototype.slice, l = {}, c = 0;
  780. t.setTimeout = function () {
  781. return new r(a.call(setTimeout, window, arguments), clearTimeout)
  782. }, t.setInterval = function () {
  783. return new r(a.call(setInterval, window, arguments), clearInterval)
  784. }, t.clearTimeout = t.clearInterval = function (e) {
  785. e.close()
  786. }, r.prototype.unref = r.prototype.ref = function () {
  787. }, r.prototype.close = function () {
  788. this._clearFn.call(window, this._id)
  789. }, t.enroll = function (e, t) {
  790. clearTimeout(e._idleTimeoutId), e._idleTimeout = t
  791. }, t.unenroll = function (e) {
  792. clearTimeout(e._idleTimeoutId), e._idleTimeout = -1
  793. }, t._unrefActive = t.active = function (e) {
  794. clearTimeout(e._idleTimeoutId);
  795. var t = e._idleTimeout;
  796. t >= 0 && (e._idleTimeoutId = setTimeout(function () {
  797. e._onTimeout && e._onTimeout()
  798. }, t))
  799. }, t.setImmediate = "function" == typeof e ? e : function (e) {
  800. var n = c++, i = arguments.length < 2 ? !1 : s.call(arguments, 1);
  801. return l[n] = !0, o(function () {
  802. l[n] && (i ? e.apply(null, i) : e.call(null), t.clearImmediate(n))
  803. }), n
  804. }, t.clearImmediate = "function" == typeof i ? i : function (e) {
  805. delete l[e]
  806. }
  807. }).call(t, n(17).setImmediate, n(17).clearImmediate)
  808. }, function (e, t) {
  809. function n(e) {
  810. for (var t = {
  811. strictMode: !1,
  812. key: ["source", "protocol", "authority", "userInfo", "user", "password", "host", "port", "relative", "path", "directory", "file", "query", "anchor"],
  813. q: {name: "queryKey", parser: /(?:^|&)([^&=]*)=?([^&]*)/g},
  814. parser: {
  815. strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
  816. loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
  817. }
  818. }, n = t.parser[t.strictMode ? "strict" : "loose"].exec(e), i = {}, r = 14; r--;) i[t.key[r]] = n[r] || "";
  819. return i[t.q.name] = {}, i[t.key[12]].replace(t.q.parser, function (e, n, r) {
  820. n && (i[t.q.name][n] = r)
  821. }), i
  822. }
  823.  
  824. function i(e, t, n, i, r, o) {
  825. var a, s = null, l = null, c = new XMLHttpRequest;
  826. "AJAX " + e.toUpperCase() + " " + t;
  827. if (o = o !== !1, c.onreadystatechange = function () {
  828. var e;
  829. if (4 === c.readyState) {
  830. if (clearTimeout(l), "json" === r && 200 === c.status) try {
  831. s = JSON.parse(c.responseText)
  832. } catch (t) {
  833. s = null
  834. }
  835. "function" == typeof n && (e = "xml" === r ? c.responseXML : "json" === r ? s : c.responseText, n(e, c.status, c))
  836. }
  837. }, c.open(e, t, o), i) for (a in i) i.hasOwnProperty(a) && c.setRequestHeader(a, i[a]);
  838. return c.send(), l = setTimeout(function () {
  839. c.abort(), "function" == typeof n && n(null, 0)
  840. }, 6e4), c
  841. }
  842.  
  843. e.exports = {ajax: i, parseUri: n}
  844. }, function (e, t) {
  845. "use strict";
  846. e.exports = {
  847. defaultSettings: {
  848. safeSearch: 0,
  849. quality: 0,
  850. language: "en",
  851. languageOverwrite: 0,
  852. keyboardLanguage: 0,
  853. credentialsIndex: -1,
  854. refreshToken: null,
  855. sessionToken: null
  856. }, settingsFile: "youtube.json", logging: !1, ajaxDebug: !1
  857. }
  858. }, function (e, t, n) {
  859. function i(e) {
  860. return n(r(e))
  861. }
  862.  
  863. function r(e) {
  864. return o[e] || function () {
  865. throw new Error("Cannot find module '" + e + "'.")
  866. }()
  867. }
  868.  
  869. var o = {
  870. "./ar": 25,
  871. "./ar.js": 25,
  872. "./de": 26,
  873. "./de.js": 26,
  874. "./en": 27,
  875. "./en.js": 27,
  876. "./ru": 28,
  877. "./ru.js": 28,
  878. "./uk": 29,
  879. "./uk.js": 29
  880. };
  881. i.keys = function () {
  882. return Object.keys(o)
  883. }, i.resolve = r, e.exports = i, i.id = 20
  884. }, function (e, t, n) {
  885. "use strict";
  886. var i = n(2),
  887. r = {types: {CATEGORY_HEADER: 1, CATEGORY_ITEM: 2}, content: {data: [], focusIndex: 1, tabs: []}, activeTab: 3};
  888. r.content.data.push({
  889. disabled: !1, onclick: function () {
  890. i.navigate("ps")
  891. }, type: r.types.CATEGORY_ITEM, value: gettext("Search"), id: -2, className: "icon search"
  892. }), r.content.data.push({
  893. disabled: !1,
  894. tabIndex: 3,
  895. type: r.types.CATEGORY_ITEM,
  896. value: gettext("Main"),
  897. id: -2,
  898. className: "icon what-to-watch"
  899. }), r.content.data.push({
  900. disabled: !1,
  901. tabIndex: 2,
  902. type: r.types.CATEGORY_ITEM,
  903. value: gettext("Settings"),
  904. id: -2,
  905. className: "icon player-settings"
  906. }), e.exports = r
  907. }, function (e, t) {
  908. "use strict";
  909. e.exports = {
  910. initPlayer: gSTB.InitPlayer,
  911. saveUserData: gSTB.SaveUserData,
  912. loadUserData: gSTB.LoadUserData,
  913. setPosTime: gSTB.SetPosTime,
  914. getPosTime: gSTB.GetPosTime,
  915. play: gSTB.Play,
  916. pause: gSTB.Pause,
  917. continuePlay: gSTB.Continue,
  918. getVolume: gSTB.GetVolume,
  919. setVolume: gSTB.SetVolume,
  920. setNativeStringMode: gSTB && gSTB.SetNativeStringMode ? gSTB.SetNativeStringMode : function () {
  921. },
  922. setServiceButtonState: gSTB.EnableServiceButton,
  923. setVKButtonState: gSTB.EnableVKButton,
  924. setTvButtonState: gSTB.EnableTvButton,
  925. setAppButtonState: gSTB.EnableAppButton,
  926. hideVK: gSTB.HideVirtualKeyboard,
  927. showVK: gSTB.ShowVirtualKeyboard,
  928. getStandByStatus: gSTB.GetStandByStatus,
  929. setStandByStatus: gSTB.StandBy,
  930. getEnv: gSTB.GetEnv,
  931. isMuted: gSTB.GetMute,
  932. setMute: gSTB.SetMute,
  933. deviceModel: gSTB.GetDeviceModelExt
  934. }
  935. }, function (e, t) {
  936. "use strict";
  937. e.exports = function (e, t) {
  938. var n, i, r;
  939. return e ? (i = e.match(/(\d\d\d\d)-(\d\d)-(\d\d)T(\d\d):(\d\d):(\d\d).(\d\d\d)Z/), i.shift(), i.pop(), n = new Date(i[0], i[1] - 1, i[2], i[3], i[4], i[5]), n.setTime(t - n.getTime()), e = n.getTime(), n.getFullYear() > 1970 ? (r = n.getFullYear() - 1970, e = r + " " + ngettext("year", "years", +r) + " " + gettext("ago")) : n.getMonth() > 0 ? (r = n.getMonth() + 1, e = r + " " + ngettext("month", "months", +r) + " " + gettext("ago")) : n.getDate() > 1 ? (r = n.getDate(), e = r + " " + ngettext("day", "days", +r) + " " + gettext("ago")) : n.getHours() > 0 ? (r = n.getHours(), e = r + " " + ngettext("hour", "hours", +r) + " " + gettext("ago")) : n.getMinutes() > 0 ? (r = n.getMinutes(), e = r + " " + ngettext("minute", "minutes", +r) + " " + gettext("ago")) : (r = n.getSeconds(), e = r + " " + ngettext("second", "seconds", +r) + " " + gettext("ago")), e) : e
  940. }
  941. }, function (e, t, n) {
  942. "use strict";
  943.  
  944. function i(e) {
  945. e = e || {}, e.focusable = e.focusable || !1, e.visible = e.visible || !1, e.className = "widget " + (e.className || ""), r.call(this, e)
  946. }
  947.  
  948. var r = n(4);
  949. i.prototype = Object.create(r.prototype), i.prototype.constructor = i, e.exports = i
  950. }, function (e, t) {
  951. "use strict";
  952. e.exports = [[{value: "ض", className: "symbol"}, {value: "ص", className: "symbol"}, {
  953. value: "ث",
  954. className: "symbol"
  955. }, {value: "ق", className: "symbol"}, {value: "ف", className: "symbol"}, {
  956. value: "غ",
  957. className: "symbol"
  958. }, {value: "ع", className: "symbol"}, {value: "ه", className: "symbol"}, {
  959. value: "خ",
  960. className: "symbol"
  961. }, {value: "ح", className: "symbol"}, {value: "ج", className: "symbol"}, {
  962. value: "Delete",
  963. className: "symbol delete wide",
  964. colSpan: 2
  965. }, {value: "&nbsp;", className: "icon keyDelete"}], [{value: "د", className: "symbol"}, {
  966. value: "ش",
  967. className: "symbol"
  968. }, {value: "س", className: "symbol"}, {value: "ي", className: "symbol"}, {
  969. value: "ب",
  970. className: "symbol"
  971. }, {value: "ل", className: "symbol"}, {value: "ا", className: "symbol"}, {
  972. value: "ت",
  973. className: "symbol"
  974. }, {value: "ن", className: "symbol"}, {value: "ذ", className: "symbol"}, {
  975. value: "م",
  976. className: "symbol"
  977. }, {value: "ك", className: "symbol"}, {value: "123", className: "symbol nums wide"}, {
  978. value: "&nbsp;",
  979. className: "keyGlobe"
  980. }], [{value: "ط", className: "symbol"}, {value: "ئ", className: "symbol"}, {
  981. value: "ء",
  982. className: "symbol"
  983. }, {value: "ؤ", className: "symbol"}, {value: "ر", className: "symbol"}, {
  984. value: "لا",
  985. className: "symbol"
  986. }, {value: "ى", className: "symbol"}, {value: "ة", className: "symbol"}, {
  987. value: "و",
  988. className: "symbol"
  989. }, {value: "ز", className: "symbol"}, {value: "ظ", className: "symbol"}, {
  990. value: "&nbsp;",
  991. className: "icon keySpace",
  992. colSpan: 3
  993. }]]
  994. }, function (e, t) {
  995. "use strict";
  996. e.exports = [[{value: "q", className: "symbol"}, {value: "w", className: "symbol"}, {
  997. value: "e",
  998. className: "symbol"
  999. }, {value: "r", className: "symbol"}, {value: "t", className: "symbol"}, {
  1000. value: "z",
  1001. className: "symbol"
  1002. }, {value: "u", className: "symbol"}, {value: "i", className: "symbol"}, {
  1003. value: "o",
  1004. className: "symbol"
  1005. }, {value: "p", className: "symbol"}, {value: "ü", className: "symbol"}, {
  1006. value: "&nbsp;",
  1007. className: "icon keyDelete",
  1008. colSpan: 2
  1009. }], [{value: "a", className: "symbol"}, {value: "s", className: "symbol"}, {
  1010. value: "d",
  1011. className: "symbol"
  1012. }, {value: "f", className: "symbol"}, {value: "g", className: "symbol"}, {
  1013. value: "h",
  1014. className: "symbol"
  1015. }, {value: "j", className: "symbol"}, {value: "k", className: "symbol"}, {
  1016. value: "l",
  1017. className: "symbol"
  1018. }, {value: "ö", className: "symbol"}, {value: "ä", className: "symbol"}, {
  1019. value: "Delete",
  1020. className: "symbol delete",
  1021. colSpan: 2
  1022. }], [{value: "y", className: "symbol"}, {value: "x", className: "symbol"}, {
  1023. value: "c",
  1024. className: "symbol"
  1025. }, {value: "v", className: "symbol"}, {value: "b", className: "symbol"}, {
  1026. value: "n",
  1027. className: "symbol"
  1028. }, {value: "m", className: "symbol"}, {value: ".", className: "symbol"}, {
  1029. value: ",",
  1030. className: "symbol"
  1031. }, {value: "/", className: "symbol"}, {value: "@", className: "symbol"}, {
  1032. value: "123",
  1033. className: "symbol nums"
  1034. }, {value: "&nbsp;", className: "keyGlobe"}], [{value: "&nbsp;", className: "icon keySpace", colSpan: 13}]]
  1035. }, function (e, t) {
  1036. "use strict";
  1037. e.exports = [[{value: "q", className: "symbol"}, {value: "w", className: "symbol"}, {
  1038. value: "e",
  1039. className: "symbol"
  1040. }, {value: "r", className: "symbol"}, {value: "t", className: "symbol"}, {
  1041. value: "y",
  1042. className: "symbol"
  1043. }, {value: "u", className: "symbol"}, {value: "i", className: "symbol"}, {
  1044. value: "o",
  1045. className: "symbol"
  1046. }, {value: "p", className: "symbol"}, {value: "&nbsp;", className: "icon keyDelete", colSpan: 2}], [{
  1047. value: "a",
  1048. className: "symbol"
  1049. }, {value: "s", className: "symbol"}, {value: "d", className: "symbol"}, {
  1050. value: "f",
  1051. className: "symbol"
  1052. }, {value: "g", className: "symbol"}, {value: "h", className: "symbol"}, {
  1053. value: "j",
  1054. className: "symbol"
  1055. }, {value: "k", className: "symbol"}, {value: "l", className: "symbol"}, {
  1056. value: "-",
  1057. className: "symbol"
  1058. }, {value: "Delete", className: "symbol delete", colSpan: 2}], [{value: "z", className: "symbol"}, {
  1059. value: "x",
  1060. className: "symbol"
  1061. }, {value: "c", className: "symbol"}, {value: "v", className: "symbol"}, {
  1062. value: "b",
  1063. className: "symbol"
  1064. }, {value: "n", className: "symbol"}, {value: "m", className: "symbol"}, {
  1065. value: ",",
  1066. className: "symbol"
  1067. }, {value: ".", className: "symbol"}, {value: "/", className: "symbol"}, {
  1068. value: "123",
  1069. className: "symbol nums"
  1070. }, {value: "&nbsp;", className: "keyGlobe"}], [{value: "&nbsp;", className: "icon keySpace", colSpan: 12}]]
  1071. }, function (e, t) {
  1072. "use strict";
  1073. e.exports = [[{value: "й", className: "symbol"}, {value: "ц", className: "symbol"}, {
  1074. value: "у",
  1075. className: "symbol"
  1076. }, {value: "к", className: "symbol"}, {value: "е", className: "symbol"}, {
  1077. value: "н",
  1078. className: "symbol"
  1079. }, {value: "г", className: "symbol"}, {value: "ш", className: "symbol"}, {
  1080. value: "щ",
  1081. className: "symbol"
  1082. }, {value: "з", className: "symbol"}, {value: "х", className: "symbol"}, {
  1083. value: "ъ",
  1084. className: "symbol"
  1085. }, {value: "&nbsp;", className: "icon keyDelete", colSpan: 2}], [{value: "ф", className: "symbol"}, {
  1086. value: "ы",
  1087. className: "symbol"
  1088. }, {value: "в", className: "symbol"}, {value: "а", className: "symbol"}, {
  1089. value: "п",
  1090. className: "symbol"
  1091. }, {value: "р", className: "symbol"}, {value: "о", className: "symbol"}, {
  1092. value: "л",
  1093. className: "symbol"
  1094. }, {value: "д", className: "symbol"}, {value: "ж", className: "symbol"}, {
  1095. value: "э",
  1096. className: "symbol"
  1097. }, {value: "/", className: "symbol"}, {value: "Удалить", className: "symbol delete", colSpan: 2}], [{
  1098. value: "я",
  1099. className: "symbol"
  1100. }, {value: "ч", className: "symbol"}, {value: "с", className: "symbol"}, {
  1101. value: "м",
  1102. className: "symbol"
  1103. }, {value: "и", className: "symbol"}, {value: "т", className: "symbol"}, {
  1104. value: "ь",
  1105. className: "symbol"
  1106. }, {value: "б", className: "symbol"}, {value: "ю", className: "symbol"}, {
  1107. value: "ё",
  1108. className: "symbol"
  1109. }, {value: ".", className: "symbol"}, {value: ",", className: "symbol"}, {
  1110. value: "123",
  1111. className: "symbol nums"
  1112. }, {value: "&nbsp;", className: "keyGlobe"}], [{value: "&nbsp;", className: "icon keySpace", colSpan: 14}]]
  1113. }, function (e, t) {
  1114. "use strict";
  1115. e.exports = [[{value: "й", className: "symbol"}, {value: "ц", className: "symbol"}, {
  1116. value: "у",
  1117. className: "symbol"
  1118. }, {value: "к", className: "symbol"}, {value: "е", className: "symbol"}, {
  1119. value: "н",
  1120. className: "symbol"
  1121. }, {value: "г", className: "symbol"}, {value: "ш", className: "symbol"}, {
  1122. value: "щ",
  1123. className: "symbol"
  1124. }, {value: "з", className: "symbol"}, {value: "х", className: "symbol"}, {
  1125. value: "ї",
  1126. className: "symbol"
  1127. }, {value: "&nbsp;", className: "icon keyDelete", colSpan: 2}], [{value: "ф", className: "symbol"}, {
  1128. value: "і",
  1129. className: "symbol"
  1130. }, {value: "в", className: "symbol"}, {value: "а", className: "symbol"}, {
  1131. value: "п",
  1132. className: "symbol"
  1133. }, {value: "р", className: "symbol"}, {value: "о", className: "symbol"}, {
  1134. value: "л",
  1135. className: "symbol"
  1136. }, {value: "д", className: "symbol"}, {value: "ж", className: "symbol"}, {
  1137. value: "є",
  1138. className: "symbol"
  1139. }, {value: "/", className: "symbol"}, {value: "Удалить", className: "symbol delete", colSpan: 2}], [{
  1140. value: "ґ",
  1141. className: "symbol"
  1142. }, {value: "я", className: "symbol"}, {value: "ч", className: "symbol"}, {
  1143. value: "с",
  1144. className: "symbol"
  1145. }, {value: "м", className: "symbol"}, {value: "и", className: "symbol"}, {
  1146. value: "т",
  1147. className: "symbol"
  1148. }, {value: "ь", className: "symbol"}, {value: "б", className: "symbol"}, {
  1149. value: "ю",
  1150. className: "symbol"
  1151. }, {value: ".", className: "symbol"}, {value: ",", className: "symbol"}, {
  1152. value: "123",
  1153. className: "symbol nums"
  1154. }, {value: "&nbsp;", className: "keyGlobe"}], [{value: "&nbsp;", className: "icon keySpace", colSpan: 14}]]
  1155. }, function (e, t, n) {
  1156. "use strict";
  1157. var i = n(11), r = n(5), o = n(9), a = n(32), s = new r;
  1158. s.activeCategory = {}, s.pages = {}, s.ownChannel = null, s.cacheKey = function (e) {
  1159. return "c:" + e.category.id + ";p:" + e.page
  1160. }, s.getPage = function (e) {
  1161. var t, n, r = this;
  1162. return e.page = +e.page || 0, e.category = e.category || this.activeCategory, new i(function (i, s) {
  1163. if (t = a.get(r.cacheKey(e))) i(t); else {
  1164. if (n = "channels?part=snippet&categoryId=" + e.category.id + "&maxResults=" + e.count, e.page) {
  1165. if (!r.pages[e.page]) return r.activeCategory.totalResults === e.page ? void s("overflow") : void s("no page");
  1166. n += "&pageToken=" + r.pages[e.page]
  1167. }
  1168. o.request("GET", n).then(function (t) {
  1169. var n, o, s = [];
  1170. for (t = JSON.parse(t), t.pageInfo.totalResults && (r.activeCategory.totalResults = t.pageInfo.totalResults), t.nextPageToken && (r.pages[e.page + 1] = t.nextPageToken), t.prevPageToken && (r.pages[e.page - 1] = t.prevPageToken), t = t.items, o = t.length, n = 0; o > n; ++n) s.push({
  1171. value: t[n].id,
  1172. id: t[n].id,
  1173. title: t[n].snippet.localized.title,
  1174. icon: t[n].snippet.thumbnails.high.url
  1175. });
  1176. a.set(r.cacheKey(e), s, 3e5), i(s)
  1177. })["catch"](function (e) {
  1178. })
  1179. }
  1180. })
  1181. }, s.getInfo = function (e) {
  1182. return new i(function (t, n) {
  1183. o.request("GET", "channels?part=snippet&id=" + e).then(function (e) {
  1184. t(JSON.parse(e).items)
  1185. }, n)
  1186. })
  1187. }, s.getMine = function () {
  1188. return new i(function (e, t) {
  1189. null !== s.ownChannel ? e(s.ownChannel) : o.request("GET", "channels?part=snippet&mine=true").then(function (t) {
  1190. s.ownChannel = JSON.parse(t).items[0], s.ownChannel.title = s.ownChannel.snippet.title, s.ownChannel.icon = s.ownChannel.snippet.thumbnails["default"].url, o.ownChannel = s.ownChannel, e(s.ownChannel)
  1191. }, t)
  1192. })
  1193. }, s.setActiveCategory = function (e) {
  1194. return e && this.activeCategory.id !== e.id ? (this.activeCategory = e, this.pages = {}, void 0 !== this.events["category:changed"] && this.emit("category:changed", e), !0) : !1
  1195. }, e.exports = s
  1196. }, function (e, t, n) {
  1197. "use strict";
  1198. var i = n(5), r = new i;
  1199. r.data = {
  1200. quality: [gettext("Best"), "720p", "480p", "360p", "240p"],
  1201. safeSearch: [gettext("Off"), gettext("On")]
  1202. }, r.getNext = function (e, t) {
  1203. return r.data[e] && r.data[e][t] ? (++t, r.data[e].length === t && (t = 0), this.emit("changed", {
  1204. key: e,
  1205. value: r.data[e][t],
  1206. index: t
  1207. }), {value: r.data[e][t], index: t}) : void 0
  1208. }, e.exports = r
  1209. }, function (e, t, n) {
  1210. "use strict";
  1211. var i = {
  1212. store: {}, size: 0, set: function (e, t, n) {
  1213. var i, r, o = this;
  1214. r = this.store[e] ? this.store[e] : void 0, r && r.timeout && clearTimeout(r.timeout), i = {
  1215. value: t,
  1216. timeout: -1
  1217. }, "number" == typeof n && (i.timeout = setTimeout(function () {
  1218. o.remove(e)
  1219. }, n)), this.store[e] = i, ++this.size
  1220. }, get: function (e, t) {
  1221. return this.store[e] ? "function" != typeof t ? this.store[e].value : void t(this.store[e].value) : !1
  1222. }, remove: function (e) {
  1223. --this.size, this.store[e] = null
  1224. }, clear: function () {
  1225. var e = this.size;
  1226. return this.store = {}, e
  1227. }
  1228. };
  1229. e.exports = i
  1230. }, function (module, exports, __webpack_require__) {
  1231. "use strict";
  1232. var Emitter = __webpack_require__(5), gettext = new Emitter, meta = null, data = null;
  1233. gettext.load = function (e, t) {
  1234. var n = new XMLHttpRequest;
  1235. e.ext = e.ext || "json", e.path = e.path || "lang", n.responseType = "text", n.onload = function () {
  1236. var e;
  1237. try {
  1238. e = JSON.parse(n.responseText), meta = e.meta, data = e.data, t(null, data)
  1239. } catch (i) {
  1240. meta = null, data = null, n.onerror(i)
  1241. }
  1242. gettext.events.load && gettext.emit("load")
  1243. }, n.onerror = function (e) {
  1244. t(e), gettext.events.error && gettext.emit("error")
  1245. }, n.open("GET", e.path + "/" + e.name + "." + e.ext, !0), n.send(null)
  1246. }, window.gettext = function (e) {
  1247. return data && data[""][e] ? data[""][e] : e
  1248. }, window.pgettext = function (e, t) {
  1249. return data && data[e][t] ? data[e][t] : t
  1250. }, window.ngettext = function (msgId, plural, value) {
  1251. return data && meta ? data[""][msgId][eval("var n = " + value + "; " + meta.plural)] : 1 === value ? msgId : plural
  1252. }, module.exports = gettext
  1253. }, function (e, t, n) {
  1254. "use strict";
  1255.  
  1256. function i(e) {
  1257. e = e || {}, this.value = "", this.type = this.TYPE_TEXT, e.className = "input " + (e.className || ""), r.call(this, e), this.$line = this.$body.appendChild(document.createElement("div")), this.$line.className = "line", this.$caret = this.$line.appendChild(document.createElement("div")), this.$caret.className = "caret", this.$placeholder = this.$line.appendChild(document.createElement("div")), this.$placeholder.className = "placeholder", this.$caret.index = 0, this.init(e)
  1258. }
  1259.  
  1260. var r = n(4), o = n(1);
  1261. i.prototype = Object.create(r.prototype), i.prototype.constructor = i, i.prototype.TYPE_TEXT = 0, i.prototype.TYPE_PASSWORD = 1, i.prototype.defaultEvents = {
  1262. keypress: function (e) {
  1263. this.addChar(String.fromCharCode(e.keyCode), this.$caret.index)
  1264. }, keydown: function (e) {
  1265. switch (e.code) {
  1266. case o["delete"]:
  1267. this.removeChar(this.$caret.index);
  1268. break;
  1269. case o.back:
  1270. this.removeChar(this.$caret.index - 1);
  1271. break;
  1272. case o.left:
  1273. this.setCaretPosition(this.$caret.index - 1);
  1274. break;
  1275. case o.right:
  1276. this.setCaretPosition(this.$caret.index + 1);
  1277. break;
  1278. case o.end:
  1279. case o.down:
  1280. this.setCaretPosition(this.value.length);
  1281. break;
  1282. case o.home:
  1283. case o.up:
  1284. this.setCaretPosition(0)
  1285. }
  1286. }
  1287. }, i.prototype.init = function (e) {
  1288. e.type && (this.type = e.type), e.value && this.setValue(e.value), e.placeholder && (this.$placeholder.innerText = e.placeholder), this.$line.dir = e.direction || "ltr"
  1289. }, i.prototype.addChar = function (e, t) {
  1290. var n = document.createElement("div");
  1291. t = void 0 === t ? this.$caret.index : t, 0 === this.value.length && this.$line.removeChild(this.$placeholder), n.className = "char", this.value = this.value.substring(0, t) + e + this.value.substring(t, this.value.length), ++this.$caret.index, this.type === this.TYPE_PASSWORD ? n.innerText = "*" : " " === e ? n.innerHTML = "&nbsp;" : n.innerText = e, t >= this.value.length ? (this.$line.appendChild(n), this.$line.appendChild(this.$caret)) : (this.$line.insertBefore(this.$caret, this.$line.children[t]), this.$line.insertBefore(n, this.$caret)), this.events.input && this.emit("input", {value: this.value})
  1292. }, i.prototype.removeChar = function (e) {
  1293. var t = this.value;
  1294. e = void 0 === e ? this.$caret.index - 1 : e, this.value.length > 0 && (this.$caret.index === e && e < this.value.length ? this.$line.removeChild(this.$line.children[e + 1]) : this.$caret.index > e && (--this.$caret.index, this.$line.removeChild(this.$line.children[e])), this.value = this.value.substring(0, e) + this.value.substring(e + 1, this.value.length), this.events.input && t !== this.value && this.emit("input", {value: this.value})), 0 === this.value.length && this.$line.appendChild(this.$placeholder)
  1295. }, i.prototype.setCaretPosition = function (e) {
  1296. e >= 0 && e <= this.value.length && this.$caret.index !== e && (this.$line.removeChild(this.$caret), e === this.value.length ? this.$line.appendChild(this.$caret) : this.$line.insertBefore(this.$caret, this.$line.children[e]), this.$caret.index = e)
  1297. }, i.prototype.setValue = function (e) {
  1298. var t, n, i = this.value.length, r = e.length, o = 0;
  1299. if (e !== this.value) {
  1300. if (r > 0) {
  1301. if (this.$placeholder.parentNode === this.$line && this.$line.removeChild(this.$placeholder), this.$line.removeChild(this.$caret), r !== i) if (n = r - i, n > 0) for (o = 0; n > o; o++) t = this.$line.appendChild(document.createElement("div")), t.className = "char"; else for (o = 0; o > n; o--) this.$line.removeChild(this.$line.lastChild);
  1302. for (o = 0; r > o; o++) t = this.$line.children[o], this.type === this.TYPE_PASSWORD ? t.innerHTML = "*" : " " === e[o] ? t.innerHTML = "&nbsp;" : t.innerText = e[o];
  1303. this.value = e, this.$caret.index = r, this.$line.appendChild(this.$caret)
  1304. } else this.value = "", this.$line.innerText = "", this.$line.appendChild(this.$caret), this.$line.appendChild(this.$placeholder);
  1305. this.events.input && this.emit("input", {value: this.value})
  1306. }
  1307. }, e.exports = i
  1308. }, function (e, t, n) {
  1309. "use strict";
  1310.  
  1311. function i(e) {
  1312. e = e || {}, e.className = "modalMessage " + (e.className || ""), r.call(this, e), this.$header = this.$body.appendChild(document.createElement("div")), this.$content = this.$body.appendChild(document.createElement("div")), this.$footer = this.$body.appendChild(document.createElement("div")), this.$header.className = "header", this.$content.className = "content", this.$footer.className = "footer", this.$header.innerText = "header", this.$content.innerText = "content", this.$footer.innerText = "footer"
  1313. }
  1314.  
  1315. var r = n(70);
  1316. i.prototype = Object.create(r.prototype), i.prototype.constructor = i, e.exports = i
  1317. }, function (e, t) {
  1318. "use strict";
  1319. e.exports = {
  1320. 480: {
  1321. height: 480,
  1322. width: 720,
  1323. availTop: 24,
  1324. availBottom: 24,
  1325. availRight: 32,
  1326. availLeft: 48,
  1327. mainMenuSize: 8
  1328. },
  1329. 576: {height: 576, width: 720, availTop: 24, availBottom: 24, availRight: 28, availLeft: 54, mainMenuSize: 10},
  1330. 720: {height: 720, width: 1280, availTop: 10, availBottom: 10, availRight: 10, availLeft: 10, mainMenuSize: 9},
  1331. 1080: {height: 1080, width: 1920, availTop: 15, availBottom: 15, availRight: 15, availLeft: 15, mainMenuSize: 9}
  1332. }
  1333. }, function (e, t) {
  1334. "use strict";
  1335. e.exports = {
  1336. parse: function (e) {
  1337. var t = {};
  1338. return e.split("&").forEach(function (e) {
  1339. e = e.split("="), 2 === e.length && (t[e[0]] = decodeURIComponent(e[1]))
  1340. }), t
  1341. }, stringify: function (e) {
  1342. var t = [];
  1343. return Object.keys(e).forEach(function (n) {
  1344. t.push(n + "=" + encodeURIComponent(e[n]))
  1345. }), t.join("&")
  1346. }
  1347. }
  1348. }, function (e, t) {
  1349. function n() {
  1350. c && a && (c = !1, a.length ? l = a.concat(l) : u = -1, l.length && i())
  1351. }
  1352.  
  1353. function i() {
  1354. if (!c) {
  1355. var e = setTimeout(n);
  1356. c = !0;
  1357. for (var t = l.length; t;) {
  1358. for (a = l, l = []; ++u < t;) a && a[u].run();
  1359. u = -1, t = l.length
  1360. }
  1361. a = null, c = !1, clearTimeout(e)
  1362. }
  1363. }
  1364.  
  1365. function r(e, t) {
  1366. this.fun = e, this.array = t
  1367. }
  1368.  
  1369. function o() {
  1370. }
  1371.  
  1372. var a, s = e.exports = {}, l = [], c = !1, u = -1;
  1373. s.nextTick = function (e) {
  1374. var t = new Array(arguments.length - 1);
  1375. if (arguments.length > 1) for (var n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
  1376. l.push(new r(e, t)), 1 !== l.length || c || setTimeout(i, 0)
  1377. }, r.prototype.run = function () {
  1378. this.fun.apply(null, this.array)
  1379. }, s.title = "browser", s.browser = !0, s.env = {}, s.argv = [], s.version = "", s.versions = {}, s.on = o, s.addListener = o, s.once = o, s.off = o, s.removeListener = o, s.removeAllListeners = o, s.emit = o, s.binding = function (e) {
  1380. throw new Error("process.binding is not supported")
  1381. }, s.cwd = function () {
  1382. return "/"
  1383. }, s.chdir = function (e) {
  1384. throw new Error("process.chdir is not supported")
  1385. }, s.umask = function () {
  1386. return 0
  1387. }
  1388. }, function (e, t, n) {
  1389. "use strict";
  1390. var i = n(37).parse;
  1391. e.exports = function () {
  1392. var e = i(location.search.substring(1));
  1393. return e.referrer ? e.referrer : document.referrer ? location.href.split("#")[0] === document.referrer ? !1 : document.referrer : !1
  1394. }
  1395. }, function (e, t, n) {
  1396. "use strict";
  1397.  
  1398. function i(e) {
  1399. var t = this;
  1400. this.value = "", this.type = this.TYPE_TEXT, this.type = this.TYPE_TEXT, this.direction = "ltr", this.noprevent = !0, e = e || {}, e.className = "inputNative " + (e.className || ""), r.call(this, e), this.init(e), this.addListener("keydown", function (e) {
  1401. e.code === o.back && (e.stop = !0)
  1402. }), this.$body.addEventListener("input", function (e) {
  1403. t.value = t.$body.value, void 0 !== t.events.input && t.emit("input", {value: t.$body.value})
  1404. }), this.addListener("focus", function () {
  1405. t.$body.focus()
  1406. }), this.addListener("blur", function () {
  1407. t.$body.blur()
  1408. })
  1409. }
  1410.  
  1411. var r = n(4), o = n(1);
  1412. i.prototype = Object.create(r.prototype), i.prototype.constructor = i, i.prototype.init = function (e) {
  1413. void 0 !== e.type && (this.$body.type = this.type = e.type), void 0 !== e.value && (this.$body.value = this.value = e.value), void 0 !== e.placeholder && (this.$body.placeholder = e.placeholder), void 0 !== e.direction && (this.$node.dir = this.direction = e.direction)
  1414. }, i.prototype.addChar = function (e, t) {
  1415. t = void 0 === t ? this.value.length : t, this.value = this.value.substring(0, t) + e + this.value.substring(t, this.value.length), this.$body.value = this.value, void 0 !== this.events.input && this.emit("input", {value: this.value})
  1416. }, i.prototype.removeChar = function (e) {
  1417. e = void 0 === e ? this.value.length - 1 : e, this.value.length > 0 && (this.value = this.value.substring(0, e) + this.value.substring(e + 1, this.value.length), this.$body.value = this.value, void 0 !== this.events.input && this.emit("input", {value: this.value})), this.$body.value = this.value
  1418. }, i.prototype.setCaretPosition = function (e) {
  1419. this.$body.setSelectionRange(e, e)
  1420. }, i.prototype.getCaretPosition = function () {
  1421. return this.$body.selectionStart
  1422. }, i.prototype.setValue = function (e) {
  1423. this.$body.value !== e && (this.$body.value = e, void 0 !== this.events.input && this.emit("input", {value: this.value}))
  1424. }, e.exports = i
  1425. }, function (e, t, n) {
  1426. "use strict";
  1427.  
  1428. function i(e, t) {
  1429. var n = 1 ^ e;
  1430. N || (t ? (N = !0, d.getPage({page: x - 1, count: 1}).then(function (t) {
  1431. --x, --I, p[n].model.init({channel: t[0]}), T = n, E = e, m = n
  1432. }, function (e) {
  1433. })) : (N = !0, d.getPage({page: I + 1, count: 1}).then(function (t) {
  1434. ++x, ++I, p[e].model.init({channel: t[0]}), T = n, E = e, m = n
  1435. }, function (t) {
  1436. N = !1, "overflow" === t && (++x, ++I, p[e].model.init({
  1437. channel: {
  1438. id: "!",
  1439. title: ""
  1440. }
  1441. }), p[e].data = [{
  1442. id: "",
  1443. value: "",
  1444. publishedAt: "",
  1445. icon: "",
  1446. duration: "",
  1447. title: "",
  1448. channelTitle: "",
  1449. viewCount: "",
  1450. locale: {publishedAt: "", viewCount: "", channelTitle: ""}
  1451. }], p[e].viewIndex = null, p[e].renderView(0), p[e].focusIndex(0), p[e].$title.innerHTML = "", T = n, E = e, m = n, p[T].$node.style.top = w, p[E].$node.style.top = b, p[m].focus())
  1452. })))
  1453. }
  1454.  
  1455. var r = n(1), o = n(2), a = n(12), s = n(6), l = n(34), c = n(13), u = n(51), d = n(30), h = n(14), p = [],
  1456. f = document.getElementById("pm"), m = 0, g = new a({
  1457. $node: document.getElementById("pmTabCategoryContent"), visible: !1, events: {
  1458. focus: function () {
  1459. p[m].focus()
  1460. }, show: function () {
  1461. f.style.backgroundImage = ""
  1462. }
  1463. }
  1464. }), v = new l({
  1465. $node: document.getElementById("pmCategorySearch"),
  1466. $body: document.getElementById("pmCategorySearchBody"),
  1467. events: {
  1468. focus: function () {
  1469. this.setValue(""), o.navigate("ps")
  1470. }
  1471. }
  1472. }), y = n(8), b = 0, w = 0, T = 0, E = 1, x = 0, I = 1, S = -1, N = !0;
  1473. d.addListener("category:changed", function () {
  1474. clearTimeout(S), S = setTimeout(function () {
  1475. y.hide()
  1476. }, 1e4), 0 === p.length && (p.push(new c({
  1477. $node: document.getElementById("pmListCategoryVideos0Node"),
  1478. $body: document.getElementById("pmListCategoryVideos0Body"),
  1479. $title: document.getElementById("pmCategoryChannelTitle0"),
  1480. model: new u({type: "video"}),
  1481. size: 5,
  1482. viewIndex: 0,
  1483. focusIndex: 0,
  1484. type: s.prototype.TYPE_HORIZONTAL,
  1485. events: {
  1486. overflow: function (e) {
  1487. e.direction === r.left && h.focus()
  1488. }, "view:ready": function () {
  1489. p[T].$node.style.top = w, p[E] && (p[E].$node.style.top = b), this.$title.innerHTML = this.model.channel.title, this.show(), y.hide(), clearTimeout(S), p[m].focus(), N = !1
  1490. }, "view:error": function (e) {
  1491. N = !1, "empty" === e ? (this.data = [{
  1492. id: "",
  1493. value: "",
  1494. publishedAt: "",
  1495. icon: "img/no.image.png",
  1496. duration: "",
  1497. title: gettext("No videos"),
  1498. channelTitle: "",
  1499. viewCount: "",
  1500. locale: {publishedAt: "", viewCount: "", channelTitle: ""}
  1501. }], this.viewIndex = null, this.renderView(0), this.focusIndex(0), g.focusEntry = p[m], p[T].$node.style.top = w, p[E] && (p[E].$node.style.top = b), this.$title.innerHTML = this.model.channel.title, this.show(), y.hide(), clearTimeout(S), p[m].focus()) : 0 === x && i(0, !1)
  1502. }, "click:item": function (e) {
  1503. e.$item.data.id && o.navigate("pp", {
  1504. channel: this.model.channel,
  1505. video: e.$item.data,
  1506. playlist: this.data,
  1507. position: e.$item.index
  1508. })
  1509. }
  1510. }
  1511. })), p.push(new c({
  1512. $node: document.getElementById("pmListCategoryVideos1Node"),
  1513. $body: document.getElementById("pmListCategoryVideos1Body"),
  1514. $title: document.getElementById("pmCategoryChannelTitle1"),
  1515. model: new u({type: "video"}),
  1516. size: 5,
  1517. viewIndex: 0,
  1518. focusIndex: 0,
  1519. type: s.prototype.TYPE_HORIZONTAL,
  1520. events: {
  1521. overflow: function (e) {
  1522. e.direction === r.left && (h.focus(), g.focusEntry = this)
  1523. }, "view:ready": function () {
  1524. p[T].$node.style.top = w, p[E].$node.style.top = b, this.$title.innerHTML = this.model.channel.title, this.show(), y.hide(), clearTimeout(S), p[m].focus(), N = !1
  1525. }, "view:error": function (e) {
  1526. N = !1, "empty" === e && (this.data = [{
  1527. id: "",
  1528. value: "",
  1529. publishedAt: "",
  1530. icon: "img/no.image.png",
  1531. duration: "",
  1532. title: gettext("No videos"),
  1533. channelTitle: "",
  1534. viewCount: "",
  1535. locale: {publishedAt: "", viewCount: "", channelTitle: ""}
  1536. }], this.viewIndex = null, this.renderView(0), this.focusIndex(0), g.focusEntry = p[m], p[T].$node.style.top = w, p[E] && (p[E].$node.style.top = b), this.$title.innerHTML = this.model.channel.title, this.show(), y.hide(), clearTimeout(S), p[m].focus())
  1537. }, "click:item": function (e) {
  1538. e.$item.data.id && o.navigate("pp", {
  1539. channel: this.model.channel,
  1540. video: e.$item.data,
  1541. playlist: this.data,
  1542. position: e.$item.index
  1543. })
  1544. }
  1545. }
  1546. })), g.add(p[0]), g.add(p[1]), p[0].focus(), p[0].addListener("keydown", function (e) {
  1547. console.log('1546');
  1548. e.code === r.down ? i(0, !1) : e.code === r.up ? x > 0 ? i(0, !0) : v.focus() : e.code === r.playPause && o.navigate("pp", {
  1549. channel: this.model.channel,
  1550. video: this.$focusItem.data,
  1551. playlist: this.data,
  1552. position: this.$focusItem.index
  1553. })
  1554. }), p[1].addListener("keydown", function (e) {
  1555. console.log('1554');
  1556. e.code === r.down ? i(1, !1) : e.code === r.up ? x > 0 ? i(1, !0) : v.focus() : e.code === r.playPause && o.navigate("pp", {
  1557. channel: this.model.channel,
  1558. video: this.$focusItem.data,
  1559. playlist: this.data,
  1560. position: this.$focusItem.index
  1561. })
  1562. }), b = window.getComputedStyle(p[1].$node).getPropertyValue("top")), d.getPage({
  1563. page: 0,
  1564. count: 1
  1565. }).then(function (e) {
  1566. x = 0, T = 0, E = 1, I = 1, m = 0, p[T].model.filter({channel: e[0]}), d.getPage({
  1567. page: 1,
  1568. count: 1
  1569. }).then(function (e) {
  1570. p[E].model.filter({channel: e[0]}), p[m].focus()
  1571. })
  1572. })["catch"](function (e) {
  1573. })
  1574. }), g.activate = function (e) {
  1575. this.show(), d.setActiveCategory(e) ? y.show() : p[m].focus()
  1576. }, g.add(v), e.exports = g
  1577. }, function (e, t, n) {
  1578. "use strict";
  1579.  
  1580. function i(e, t) {
  1581. var n = 1 ^ e;
  1582. S || (t ? (S = !0, N.getPage({page: E - 1, count: 1}, function (t, i) {
  1583. --E, --x, d[n].data = data, d[n].viewIndex = null, d[n].renderView(0), d[n].focusIndex(0), d[n].emit("view:ready"), b = n, w = e, T = n
  1584. })) : (S = !0, N.getPage({page: x + 1, count: 1}, function (t, i) {
  1585. ++E, ++x, d[e].data = data, d[e].viewIndex = null, d[e].renderView(0), d[e].focusIndex(0), d[e].emit("view:ready"), b = n, w = e, T = n
  1586. })))
  1587. }
  1588.  
  1589. var r = n(1), o = n(2), a = n(12), s = n(6), l = n(13), c = n(53), u = (n(10), n(14)), d = [], h = new a({
  1590. $node: document.getElementById("pmTabChannelContent"), visible: !1, events: {
  1591. focus: function () {
  1592. d[T].focus()
  1593. }
  1594. }
  1595. }), p = n(8), f = document.getElementById("pm"), m = document.getElementById("pmChannelTitle"),
  1596. g = document.getElementById("pmChannelIcon"), v = 0, y = 0, b = 0, w = 1, T = 0, E = 0, x = 1, I = -1, S = !0,
  1597. N = new c, C = {id: null, title: null};
  1598. N.addListener("content:changed", function () {
  1599. clearTimeout(I), I = setTimeout(function () {
  1600. p.hide()
  1601. }, 1e4), 0 === d.length && (d.push(new l({
  1602. $node: document.getElementById("pmListChannelVideos0Node"),
  1603. $body: document.getElementById("pmListChannelVideos0Body"),
  1604. $title: document.getElementById("pmChannelTitle0"),
  1605. size: 5,
  1606. viewIndex: 0,
  1607. focusIndex: 0,
  1608. type: s.prototype.TYPE_HORIZONTAL,
  1609. events: {
  1610. overflow: function (e) {
  1611. e.direction === r.left && u.focus()
  1612. }, "view:ready": function () {
  1613. h.focusEntry = d[T], d[b].$node.style.top = y, d[w] && (d[w].$node.style.top = v), this.show(), p.hide(), clearTimeout(I), d[T].focus(), S = !1
  1614. }, "view:error": function (e) {
  1615. S = !1, "empty" === e ? (this.data = [{
  1616. id: "",
  1617. value: "",
  1618. publishedAt: "",
  1619. icon: "img/no.image.png",
  1620. duration: "",
  1621. title: gettext("No videos"),
  1622. channelTitle: "",
  1623. viewCount: "",
  1624. locale: {publishedAt: "", viewCount: "", channelTitle: ""}
  1625. }], this.viewIndex = null, this.renderView(0), this.focusIndex(0), h.focusEntry = d[T], d[b].$node.style.top = y, d[w] && (d[w].$node.style.top = v), this.show(), p.hide(), clearTimeout(I), d[T].focus()) : 0 === E && i(0, !1)
  1626. }, "click:item": function (e) {
  1627. e.$item.data.id && o.navigate("pp", {
  1628. channel: C,
  1629. video: e.$item.data,
  1630. playlist: this.data,
  1631. position: e.$item.index
  1632. })
  1633. }
  1634. }
  1635. })), d.push(new l({
  1636. $node: document.getElementById("pmListChannelVideos1Node"),
  1637. $body: document.getElementById("pmListChannelVideos1Body"),
  1638. $title: document.getElementById("pmChannelTitle1"),
  1639. size: 5,
  1640. viewIndex: 0,
  1641. focusIndex: 0,
  1642. type: s.prototype.TYPE_HORIZONTAL,
  1643. events: {
  1644. overflow: function (e) {
  1645. e.direction === r.left && u.focus()
  1646. }, "view:ready": function () {
  1647. h.focusEntry = d[T], d[b].$node.style.top = y, d[w].$node.style.top = v, this.show(), p.hide(), clearTimeout(I), d[T].focus(), S = !1
  1648. }, "view:error": function (e) {
  1649. S = !1, "empty" === e && (this.data = [{
  1650. id: "",
  1651. value: "",
  1652. publishedAt: "",
  1653. icon: " ",
  1654. duration: "",
  1655. title: " ",
  1656. channelTitle: "",
  1657. viewCount: "",
  1658. locale: {publishedAt: "", viewCount: "", channelTitle: ""}
  1659. }], this.viewIndex = null, this.renderView(0), this.focusIndex(0), h.focusEntry = d[T], d[b].$node.style.top = y, d[w] && (d[w].$node.style.top = v), this.$title.innerHTML = this.model.channel.title ? this.model.channel.title : "&nbsp;", this.show(), p.hide(), clearTimeout(I), d[T].focus())
  1660. }, "click:item": function (e) {
  1661. e.$item.data.id && o.navigate("pp", {
  1662. channel: C,
  1663. video: e.$item.data,
  1664. playlist: this.data,
  1665. position: e.$item.index
  1666. })
  1667. }
  1668. }
  1669. })), h.add(d[0]), h.add(d[1]), d[0].focus(), d[0].addListener("keydown", function (e) {
  1670. console.log('1669');
  1671. e.code === r.down ? i(0, !1) : e.code === r.up ? E > 0 && i(0, !0) : e.code === r.playPause && o.navigate("pp", {
  1672. channel: this.model.channel,
  1673. video: this.$focusItem.data,
  1674. playlist: this.data,
  1675. position: this.$focusItem.index
  1676. })
  1677. }), d[1].addListener("keydown", function (e) {
  1678. console.log('1677');
  1679. e.code === r.down ? i(1, !1) : e.code === r.up ? E > 0 && i(1, !0) : e.code === r.playPause && o.navigate("pp", {
  1680. channel: this.model.channel,
  1681. video: this.$focusItem.data,
  1682. playlist: this.data,
  1683. position: this.$focusItem.index
  1684. })
  1685. }), v = window.getComputedStyle(d[1].$node).getPropertyValue("top")), N.getPage({
  1686. page: 0,
  1687. count: 1
  1688. }, function (e, t) {
  1689. E = 0, b = 0, w = 1, x = 1, T = 0, d[b].data = t, d[b].viewIndex = null, d[b].renderView(0), d[b].focusIndex(0), d[b].emit("view:ready"), N.getPage({
  1690. page: 1,
  1691. count: 1
  1692. }, function (e, t) {
  1693. d[w].data = t, d[w].viewIndex = null, d[w].renderView(0), d[w].focusIndex(0), d[w].emit("view:ready"), d[T].focus()
  1694. })
  1695. })
  1696. }), h.activate = function (e) {
  1697. this.show(), d.length && d[T].focus(), N.channelId = C.id = e.id, N.getInfo({}, function (e, t) {
  1698. t.background = t.background.split("=")[0] + "=w1920-fcrop64=1,00000000ffffffff-nd-c0xffffffff-rj-k-no", f.style.backgroundImage = "url(" + t.background + ")", g.style.backgroundImage = "url(" + t.icon + ")", C.title = m.innerHTML = t.title, C.icon = t.icon, N.emit("content:changed")
  1699. })
  1700. }, e.exports = h
  1701. }, function (e, t, n) {
  1702. "use strict";
  1703.  
  1704. function i(e, t) {
  1705. var n = 1 ^ e;
  1706. N || (t ? (N = !0, d.getPage({page: x - 1, count: 1}, function (t, i) {
  1707. --x, --I, T = n, E = e, g = n, f[n].data = i, f[n].viewIndex = null, f[n].renderView(0), f[n].focusIndex(0), f[n].emit("view:ready")
  1708. })) : (N = !0, d.getPage({page: I + 1, count: 1}, function (t, i) {
  1709. return i ? void(t || 0 === i.length ? (++x, ++I, f[e].data = [{
  1710. id: "",
  1711. value: "",
  1712. publishedAt: "",
  1713. icon: "",
  1714. duration: "",
  1715. title: "",
  1716. channelTitle: "",
  1717. viewCount: "",
  1718. locale: {publishedAt: "", viewCount: "", channelTitle: ""}
  1719. }], f[e].viewIndex = null, f[e].renderView(0), f[e].focusIndex(0), f[e].$title.innerHTML = "", T = n, E = e, g = n, f[T].$node.style.top = w, f[E].$node.style.top = b, f[g].focus(), f[e].emit("view:ready")) : (++x, ++I, T = n, E = e, g = n, f[e].data = i, f[e].viewIndex = null, f[e].renderView(0), f[e].focusIndex(0), f[e].emit("view:ready"))) : void f[e].emit("view:ready")
  1720. })))
  1721. }
  1722.  
  1723. var r = n(1), o = n(2), a = n(12), s = n(6), l = n(34), c = n(13), u = n(54), d = new u, h = n(14), p = n(8),
  1724. f = [], m = document.getElementById("pm"), g = 0, v = new a({
  1725. $node: document.getElementById("pmTabMainContent"), visible: !1, events: {
  1726. focus: function () {
  1727. f[g].focus()
  1728. }, show: function () {
  1729. m.style.backgroundImage = ""
  1730. }
  1731. }
  1732. }), y = new l({
  1733. $node: document.getElementById("pmMainSearch"),
  1734. $body: document.getElementById("pmMainSearchBody"),
  1735. events: {
  1736. focus: function () {
  1737. this.setValue(""), o.navigate("ps")
  1738. }
  1739. }
  1740. }), b = 0, w = 0, T = 0, E = 1, x = 0, I = 1, S = -1, N = !0;
  1741. v.activate = function () {
  1742. this.show(), clearTimeout(S), S = setTimeout(function () {
  1743. p.hide()
  1744. }, 1e4), 0 === f.length && (p.show(), f.push(new c({
  1745. $node: document.getElementById("pmListMainVideos0Node"),
  1746. $body: document.getElementById("pmListMainVideos0Body"),
  1747. $title: document.getElementById("pmMainChannelTitle0"),
  1748. model: new u({type: "video"}),
  1749. size: 5,
  1750. viewIndex: 0,
  1751. focusIndex: 0,
  1752. type: s.prototype.TYPE_HORIZONTAL,
  1753. events: {
  1754. overflow: function (e) {
  1755. e.direction === r.left && h.focus()
  1756. }, "view:ready": function () {
  1757. v.focusEntry = f[g], f[T].$node.style.top = w, f[E] && (f[E].$node.style.top = b), this.$title.innerHTML = "", f[g] && f[g].data.length > 0 && f[g].data[0].value && (p.hide(), clearTimeout(S)), this.show(), f[g].focus(), N = !1
  1758. }, "view:error": function (e) {
  1759. N = !1, "empty" === e ? (this.data = [{
  1760. id: "",
  1761. value: "",
  1762. publishedAt: "",
  1763. icon: "img/no.image.png",
  1764. duration: "",
  1765. title: gettext("No videos"),
  1766. channelTitle: "",
  1767. viewCount: "",
  1768. locale: {publishedAt: "", viewCount: "", channelTitle: ""}
  1769. }], this.viewIndex = null, this.renderView(0), this.focusIndex(0), v.focusEntry = f[g], f[T].$node.style.top = w, f[E] && (f[E].$node.style.top = b), this.$title.innerHTML = this.model.channel.title, p.hide(), this.show(), clearTimeout(S), f[g].focus()) : 0 === x && i(0, !1)
  1770. }, "click:item": function (e) {
  1771. e.$item.data.id && o.navigate("pp", {
  1772. channel: this.model.channel,
  1773. video: e.$item.data,
  1774. playlist: this.data,
  1775. position: e.$item.index
  1776. })
  1777. }, focus: function () {
  1778. v.focusEntry = this
  1779. }
  1780. }
  1781. })), f.push(new c({
  1782. $node: document.getElementById("pmListMainVideos1Node"),
  1783. $body: document.getElementById("pmListMainVideos1Body"),
  1784. $title: document.getElementById("pmMainChannelTitle1"),
  1785. model: new u({type: "video"}),
  1786. size: 5,
  1787. viewIndex: 0,
  1788. focusIndex: 0,
  1789. type: s.prototype.TYPE_HORIZONTAL,
  1790. events: {
  1791. overflow: function (e) {
  1792. e.direction === r.left && h.focus()
  1793. }, "view:ready": function () {
  1794. v.focusEntry = f[g], f[T].$node.style.top = w, f[E].$node.style.top = b, this.$title.innerHTML = "", f[g] && f[g].data.length > 0 && f[g].data[0].value && (p.hide(), clearTimeout(S)), this.show(), clearTimeout(S), f[g].focus(), N = !1
  1795. }, "view:error": function (e) {
  1796. N = !1, "empty" === e && (this.data = [{
  1797. id: "",
  1798. value: "",
  1799. publishedAt: "",
  1800. icon: "img/no.image.png",
  1801. duration: "",
  1802. title: gettext("No videos"),
  1803. channelTitle: "",
  1804. viewCount: "",
  1805. locale: {publishedAt: "", viewCount: "", channelTitle: ""}
  1806. }], this.viewIndex = null, this.renderView(0), this.focusIndex(0), v.focusEntry = f[g], f[T].$node.style.top = w, f[E] && (f[E].$node.style.top = b), this.$title.innerHTML = this.model.channel.title, this.show(), p.hide(), clearTimeout(S), f[g].focus())
  1807. }, "click:item": function (e) {
  1808. e.$item.data.id && o.navigate("pp", {
  1809. channel: this.model.channel,
  1810. video: e.$item.data,
  1811. playlist: this.data,
  1812. position: e.$item.index
  1813. })
  1814. }, focus: function () {
  1815. v.focusEntry = this
  1816. }
  1817. }
  1818. })), v.add(f[0]), v.add(f[1]), f[0].addListener("keydown", function (e) {
  1819. console.log('1818');
  1820. e.code === r.down ? i(0, !1) : e.code === r.up ? x > 0 ? i(0, !0) : y.focus() : e.code === r.playPause && o.navigate("pp", {
  1821. channel: this.model.channel,
  1822. video: this.$focusItem.data,
  1823. playlist: this.data,
  1824. position: this.$focusItem.index
  1825. })
  1826. }), f[1].addListener("keydown", function (e) {
  1827. console.log('1826');
  1828. e.code === r.down ? i(1, !1) : e.code === r.up ? x > 0 ? i(1, !0) : y.focus() : e.code === r.playPause && o.navigate("pp", {
  1829. channel: this.model.channel,
  1830. video: this.$focusItem.data,
  1831. playlist: this.data,
  1832. position: this.$focusItem.index
  1833. })
  1834. }), b = window.getComputedStyle(f[1].$node).getPropertyValue("top"), d.getPage({
  1835. page: 0,
  1836. count: 1
  1837. }, function (e, t) {
  1838. x = 0, T = 0, E = 1, I = 1, g = 0, f[T].data = t, f[T].viewIndex = null, f[T].renderView(0), f[T].focusIndex(0), f[T].emit("view:ready"), d.getPage({
  1839. page: 1,
  1840. count: 1
  1841. }, function (e, t) {
  1842. f[E].data = t, f[E].viewIndex = null, f[E].renderView(0), f[E].focusIndex(0), f[E].emit("view:ready"), f[g].focus()
  1843. })
  1844. })), f[g].focus()
  1845. }, v.add(y), e.exports = v
  1846. }, function (e, t, n) {
  1847. "use strict";
  1848.  
  1849. function i() {
  1850. return c.languageIndex !== T ? (o ? (o.show(), s = u.current.activeComponent, o.focus()) : (o = new p({
  1851. visible: !1,
  1852. events: {
  1853. keydown: function (e) {
  1854. var t, n;
  1855. e.code === l.ok ? (c.settings.language = m.languages[T], T = -1, c.settings.languageOverwrite = 1, c.reload()) : e.code === l.back && (r.data[r.size - 1].value = T = c.languageIndex, e.stop = !0, o.hide(), b.show(), s.focus(), t = r.$focusItem.index, n = r.viewIndex, r.viewIndex = null, r.renderView(n), r.focusIndex(t))
  1856. }
  1857. }
  1858. }), o.$body.classList.add("modalExit"), o.$header.innerHTML = gettext("In order to apply a new language, you must restart the application"), o.$content.innerHTML = "", o.$content.appendChild(a = document.createElement("div")), a.innerText = gettext("Ok"), a.className = "btn confirm" + (w ? " old" : ""), o.$content.appendChild(a = document.createElement("div")), a.className = "btn back" + (w ? " old" : ""), a.innerText = gettext("Cancel"), o.$footer.innerHTML = "", u.current.add(o), b.hide(), o.show(), s = u.current.activeComponent, o.focus()), !0) : !1
  1859. }
  1860.  
  1861. var r, o, a, s, l = n(1), c = n(3), u = n(2), d = n(6), h = n(12), p = n(35), f = (n(9), n(22)), m = n(7),
  1862. g = document.getElementById("pm"), v = new h({
  1863. $node: document.getElementById("pmTabSettings"), visible: !1, events: {
  1864. show: function () {
  1865. g.style.backgroundImage = ""
  1866. }
  1867. }
  1868. }), y = n(14), b = n(15),
  1869. w = -1 !== ["AuraHD2", "AuraHD3", "AuraHD8", "MAG254", "MAG275", "MAG276", "WR320"].indexOf(f.deviceModel()),
  1870. T = c.languageIndex;
  1871. y.addListener("focus", function () {
  1872. i()
  1873. }), v.activate = function () {
  1874. var e, t;
  1875. r || (t = n(10), e = n(31), r = new d({
  1876. $node: document.getElementById("pmSettingsList"),
  1877. type: d.prototype.TYPE_HORIZONTAL,
  1878. size: 1,
  1879. data: [{
  1880. title: gettext("Language"),
  1881. value: c.languageIndex,
  1882. values: m.languagesLocalized,
  1883. description: gettext("Interface language"),
  1884. icon: "icon flag",
  1885. onclick: function (e) {
  1886. var n = t.nextLang(this.value);
  1887. this.value = n, T = n, e.$value.innerText = m.languagesLocalized[n]
  1888. }
  1889. }],
  1890. render: function (e, t) {
  1891. e.ready || (e.$container = e.appendChild(document.createElement("div")), e.$container.className = "container", e.$title = e.$container.appendChild(document.createElement("div")), e.$title.className = "title", e.$value = e.$container.appendChild(document.createElement("div")), e.$value.className = "value", e.$icon = e.$container.appendChild(document.createElement("div")), e.$description = e.appendChild(document.createElement("div")), e.$description.className = "description", e.ready = !0), e.$title.innerText = t.title, e.$value.innerHTML = t.values[t.value], e.$icon.className = t.icon, e.$description.innerText = t.description
  1892. },
  1893. events: {
  1894. keydown: function (e) {
  1895. switch (e.code) {
  1896. case l.right:
  1897. break;
  1898. case l.left:
  1899. this.viewIndex > 0 && this.viewIndex < this.data.length - this.size ? this.renderView(this.viewIndex + 1) : this.move(e.code);
  1900. break;
  1901. case l.ok:
  1902. void 0 !== this.events["click:item"] && this.emit("click:item", {
  1903. $item: this.$focusItem,
  1904. event: e
  1905. });
  1906. break;
  1907. case l.back:
  1908. case l.exit:
  1909. i() && (e.stop = !0)
  1910. }
  1911. }, "click:item": function (e) {
  1912. e.$item.data.onclick(e.$item)
  1913. }, overflow: function (e) {
  1914. e.direction === l.left && y.focus()
  1915. }
  1916. }
  1917. }), v.add(r), r.renderView = function (e) {
  1918. var t, n, i, r, o;
  1919. if (this.viewIndex !== e) {
  1920. for (r = this.viewIndex, this.viewIndex = o = e, n = 0; n < this.size; n++) t = this.$body.children[n], i = this.data[e], void 0 !== i ? (t.data = i, t.index = e, this.renderItem(t, i), i.mark ? t.classList.add("mark") : t.classList.remove("mark")) : (t.data = t.index = void 0, t.innerHTML = "", t.ready = !1), e++;
  1921. return void 0 !== this.events["move:view"] && this.emit("move:view", {prevIndex: r, currIndex: o}), !0
  1922. }
  1923. return !1
  1924. }), this.show(), r.focus(), r.focusIndex(0), v.focusEntry = r
  1925. }, e.exports = v
  1926. }, function (e, t, n) {
  1927. "use strict";
  1928. var i, r, o = n(1), a = n(3), s = n(12), l = n(6), c = (n(19), n(13)),
  1929. u = new s({visible: !1, focusable: !0, $node: document.getElementById("ppPanelVideo")}), d = new l({
  1930. $node: document.getElementById("ppMenuList"),
  1931. cycle: !0,
  1932. size: 3,
  1933. visible: !1,
  1934. data: [{value: "icon playlist"}, {value: "icon related"}, {value: "icon upload"}],
  1935. render: function (e, t) {
  1936. e.className = t.value
  1937. },
  1938. events: {
  1939. "focus:item": function (e) {
  1940. h[e.$curr.index].focus()
  1941. }
  1942. }
  1943. }), h = [], p = -1, f = 10;
  1944. u.addListener("show", function (e) {
  1945. console.log('1944');
  1946. var t = h[0].$focusItem && h[0].$focusItem.$videoThumb ? 0 : 1;
  1947. u.focus(), i = e.video, r = {
  1948. id: i.channelId,
  1949. title: i.channelTitle
  1950. }, d.show(), d.$focusItem = null, d.focusIndex(t), void 0 !== e.onDelayPlayNext && (f = e.onDelayPlayNext, p = setInterval(function () {
  1951. 0 >= f ? (h[t].$focusItem.$videoThumb.innerText = "", h[t].emit("keydown", {code: o.right}), h[t].emit("keydown", {code: o.ok})) : h[0].$focusItem && h[0].$focusItem.$videoThumb && (--f, h[0].$focusItem.$videoThumb.innerText = f)
  1952. }, 1e3))
  1953. }), u.addListener("hide", function () {
  1954. d.hide(), clearInterval(p)
  1955. }), h.push(new c({
  1956. visible: !1,
  1957. $node: document.getElementById("ppChannelVideoListNode"),
  1958. $body: document.getElementById("ppChannelVideoListBody"),
  1959. $title: document.getElementById("ppChannelTitle"),
  1960. type: l.prototype.TYPE_HORIZONTAL,
  1961. events: {
  1962. "view:ready": function () {
  1963. this.focusIndex(0)
  1964. }, "view:error": function () {
  1965. d.focusIndex(1)
  1966. }, focus: function () {
  1967. this.show()
  1968. }, blur: function () {
  1969. this.hide()
  1970. }, keydown: function (e) {
  1971. switch (e.code) {
  1972. case o.right:
  1973. this.$focusItem && this.$focusItem.index < this.data.length - 1 && (this.$focusItem.index > 0 ? (this.activePage++, this.renderView(this.activePage)) : this.focusIndex(1));
  1974. break;
  1975. case o.left:
  1976. this.activePage > 0 ? (this.activePage--, this.renderView(this.activePage)) : this.move(e.code);
  1977. break;
  1978. case o.ok:
  1979. this.emit("click:item", {$item: this.$focusItem, event: e})
  1980. }
  1981. clearInterval(p), h[d.$focusItem.index].$focusItem && (h[d.$focusItem.index].$focusItem.$videoThumb.innerText = ""), e.code !== o.down && e.code !== o.up || d.move(e.code)
  1982. }, "click:item": function (e) {
  1983. i = e.$item.data, a.player.playContent({
  1984. channel: r,
  1985. video: i,
  1986. playlist: this.data,
  1987. position: this.$focusItem.index
  1988. })
  1989. }
  1990. }
  1991. })), h.push(new c({
  1992. visible: !1,
  1993. $node: document.getElementById("ppVideoRelationsListNode"),
  1994. $body: document.getElementById("ppVideoRelationsListBody"),
  1995. $title: document.getElementById("ppVideoRelationsTitle"),
  1996. type: l.prototype.TYPE_HORIZONTAL,
  1997. events: {
  1998. focus: function () {
  1999. this.show()
  2000. }, "view:ready": function () {
  2001. this.focusIndex(0)
  2002. }, blur: function () {
  2003. this.hide()
  2004. }, keydown: function (e) {
  2005. switch (e.code) {
  2006. case o.right:
  2007. this.$focusItem && this.$focusItem.index < this.data.length - 1 && (this.$focusItem.index > 0 ? (this.activePage++, this.renderView(this.activePage)) : this.focusIndex(1));
  2008. break;
  2009. case o.left:
  2010. this.activePage > 0 ? (this.activePage--, this.renderView(this.activePage)) : this.move(e.code);
  2011. break;
  2012. case o.ok:
  2013. this.emit("click:item", {$item: this.$focusItem, event: e})
  2014. }
  2015. clearInterval(p), h[d.$focusItem.index].$focusItem && (h[d.$focusItem.index].$focusItem.$videoThumb.innerText = ""), e.code !== o.down && e.code !== o.up || d.move(e.code)
  2016. }, "click:item": function (e) {
  2017. i = e.$item.data, r = {id: i.channelId, title: i.channelTitle}, a.player.playContent({
  2018. channel: r,
  2019. video: i,
  2020. playlist: this.data,
  2021. position: this.$focusItem.index
  2022. })
  2023. }
  2024. }
  2025. })), h.push(new c({
  2026. visible: !1,
  2027. $node: document.getElementById("ppChannelUploadsListNode"),
  2028. $body: document.getElementById("ppChannelUploadsVideoListBody"),
  2029. $title: document.getElementById("ppChannelUploadsTitle"),
  2030. type: l.prototype.TYPE_HORIZONTAL,
  2031. events: {
  2032. focus: function () {
  2033. this.show()
  2034. }, "view:ready": function () {
  2035. this.focusIndex(0)
  2036. }, blur: function () {
  2037. this.hide()
  2038. }, keydown: function (e) {
  2039. switch (e.code) {
  2040. case o.right:
  2041. this.$focusItem && this.$focusItem.index < this.data.length - 1 && (this.$focusItem.index > 0 ? (this.activePage++, this.renderView(this.activePage)) : this.focusIndex(1));
  2042. break;
  2043. case o.left:
  2044. this.activePage > 0 ? (this.activePage--, this.renderView(this.activePage)) : this.move(e.code);
  2045. break;
  2046. case o.ok:
  2047. this.emit("click:item", {$item: this.$focusItem, event: e})
  2048. }
  2049. clearInterval(p), h[d.$focusItem.index].$focusItem && (h[d.$focusItem.index].$focusItem.$videoThumb.innerText = ""), e.code !== o.down && e.code !== o.up || d.move(e.code)
  2050. }, "click:item": function (e) {
  2051. i = e.$item.data, a.player.playContent({
  2052. channel: r,
  2053. video: i,
  2054. playlist: this.data,
  2055. position: this.$focusItem.index
  2056. })
  2057. }
  2058. }
  2059. })), h.forEach(function (e) {
  2060. u.add(e)
  2061. }), e.exports = u
  2062. }, function (e, t, n) {
  2063. "use strict";
  2064. var i, r = n(3), o = n(69), a = n(10), s = n(7), l = new o({
  2065. $node: document.getElementById("psKeyboard"), cycleY: !1, events: {
  2066. "click:item": function (e) {
  2067. -1 !== e.$item.data.className.indexOf("keyGlobe") ? (r.settings.keyboardLanguage = a.nextLang(r.settings.keyboardLanguage), this.viewIndex = null, this.init({data: n(20)("./" + s.languages[r.settings.keyboardLanguage])}), this.focusItem(i), gSTB.SetInputLang(s.languages[r.settings.keyboardLanguage])) : -1 !== e.$item.data.className.indexOf("nums") ? this.init({
  2068. data: [[{
  2069. value: "1",
  2070. className: "symbol"
  2071. }, {value: "2", className: "symbol"}, {value: "3", className: "symbol"}, {
  2072. value: "^",
  2073. className: "symbol"
  2074. }, {value: "`", className: "symbol"}, {value: "!", className: "symbol"}, {
  2075. value: "#",
  2076. className: "symbol"
  2077. }, {value: "$", className: "symbol"}, {value: "%", className: "symbol"}], [{
  2078. value: "4",
  2079. className: "symbol"
  2080. }, {value: "5", className: "symbol"}, {value: "6", className: "symbol"}, {
  2081. value: "&",
  2082. className: "symbol"
  2083. }, {value: "(", className: "symbol"}, {value: ")", className: "symbol"}, {
  2084. value: "*",
  2085. className: "symbol"
  2086. }, {value: ";", className: "symbol"}, {value: ":", className: "symbol"}], [{
  2087. value: "7",
  2088. className: "symbol"
  2089. }, {value: "8", className: "symbol"}, {value: "9", className: "symbol"}, {
  2090. value: "~",
  2091. className: "symbol"
  2092. }, {value: "/", className: "symbol"}, {value: "|", className: "symbol"}, {
  2093. value: "%",
  2094. className: "symbol"
  2095. }, {value: ":", className: "symbol"}, {value: "?", className: "symbol"}], [{
  2096. value: "№",
  2097. className: "symbol"
  2098. }, {value: "0", className: "symbol"}, {value: "[", className: "symbol"}, {
  2099. value: "]",
  2100. className: "symbol"
  2101. }, {value: '"', className: "symbol"}, {value: "'", className: "symbol"}, {
  2102. value: "{",
  2103. className: "symbol"
  2104. }, {value: "}", className: "symbol"}, {value: "ABC", className: "symbol letters"}]]
  2105. }) : -1 !== e.$item.data.className.indexOf("letters") && this.init({data: n(20)("./" + s.languages[r.settings.keyboardLanguage])})
  2106. }
  2107. }, render: function (e, t) {
  2108. "keyGlobe" === t.className ? (e.innerHTML = s.languagesCodeLocalized[r.settings.keyboardLanguage], i = e) : e.innerHTML = t.value, t.className && (e.className = "item " + t.className)
  2109. }, data: n(20)("./" + s.languages[r.settings.keyboardLanguage])
  2110. });
  2111. gSTB.SetInputLang(s.languages[r.settings.keyboardLanguage]), e.exports = l
  2112. }, function (e, t, n) {
  2113. "use strict";
  2114.  
  2115. function i() {
  2116. u.isMuted && (h.setMute(0), u.isMuted = !1, p.classList.remove("muted")), u.currentVolume >= g && (u.currentVolume -= g, p.innerText = u.currentVolume.toString(), 0 !== u.currentVolume && u.currentVolume - g > 0 ? f.innerText = (u.currentVolume - g).toString() : f.innerText = "", m.innerText = (u.currentVolume + g).toString(), h.setVolume(u.currentVolume))
  2117. }
  2118.  
  2119. function r() {
  2120. u.isMuted && (h.setMute(0), u.isMuted = !1, p.classList.remove("muted")), u.currentVolume + g <= 100 && (u.currentVolume += g, p.innerText = u.currentVolume.toString(), 100 !== u.currentVolume ? m.innerText = (u.currentVolume + g).toString() : m.innerText = "", h.setVolume(u.currentVolume), f.innerText = (u.currentVolume - g).toString())
  2121. }
  2122.  
  2123. function o() {
  2124. u.isMuted ? (h.setMute(0), u.isMuted = !1, p.classList.remove("muted")) : (h.setMute(1), u.isMuted = !0, p.classList.add("muted"))
  2125. }
  2126.  
  2127. var a, s = "volumeWidget", l = document.getElementById(s), c = n(24), u = new c({$node: l, visible: !1}), d = n(1),
  2128. h = n(22), p = document.getElementById("volumeCurrentValue"), f = document.getElementById("volumeBotValue"),
  2129. m = document.getElementById("volumeTopValue"), g = 5;
  2130. u.isMuted = !!h.isMuted(), u.currentVolume = h.getVolume(), p.innerText = u.currentVolume.toString(), u.currentVolume <= 100 - g && (m.innerText = (u.currentVolume + g).toString()), u.currentVolume >= g ? f.innerText = (u.currentVolume - g).toString() : f.innerText = "0", u.changeVolume = function (e) {
  2131. switch (e) {
  2132. case d.volumeDown:
  2133. i();
  2134. break;
  2135. case d.volumeUp:
  2136. r();
  2137. break;
  2138. case d.mute:
  2139. o()
  2140. }
  2141. this.display(2)
  2142. }, u.display = function (e) {
  2143. u.visible && clearTimeout(a), void 0 !== e && (a = setTimeout(function () {
  2144. u.hide()
  2145. }, 1e3 * e)), this.show()
  2146. }, u.setValue = function (e) {
  2147. 0 > e || e > 100 || (this.currentVolume = e, p.innerText = u.currentVolume.toString(), 0 !== u.currentVolume && u.currentVolume - g > 0 ? f.innerText = (u.currentVolume - g).toString() : f.innerText = "", 100 !== u.currentVolume ? m.innerText = (u.currentVolume + g).toString() : m.innerText = "")
  2148. }, e.exports = u
  2149. }, function (e, t) {
  2150. "use strict";
  2151. e.exports = {
  2152. GCQmVzdCBvZiBZb3VUdWJl: "icon popular",
  2153. GCUGFpZCBDaGFubmVscw: "icon purchases",
  2154. GCTXVzaWM: "icon music",
  2155. GCQ29tZWR5: "icon humor",
  2156. GCRmlsbSAmIEVudGVydGFpbm1lbnQ: "icon entertainment",
  2157. GCR2FtaW5n: "icon games",
  2158. GCQmVhdXR5ICYgRmFzaGlvbg: "icon social",
  2159. GCRnJvbSBUVg: "fa fa-youtube-play",
  2160. GCQXV0b21vdGl2ZQ: "fa fa-car",
  2161. GCQW5pbWF0aW9u: "fa fa-picture-o",
  2162. GCVG9wIFlvdVR1YmUgQ29sbGVjdGlvbnM: "icon popular",
  2163. GCVG9wIEJsb2dz: "icon social",
  2164. GCU3BvcnRz: "icon sport",
  2165. GCSG93LXRvICYgRElZ: "fa fa-wrench",
  2166. GCVGVjaA: "icon hobbie",
  2167. GCU2NpZW5jZSAmIEVkdWNhdGlvbg: "fa fa-book",
  2168. GCQ29va2luZyAmIEhlYWx0aA: "fa fa-spoon",
  2169. GCQ2F1c2VzICYgTm9uLXByb2ZpdHM: "fa fa-users",
  2170. GCTmV3cyAmIFBvbGl0aWNz: "icon news",
  2171. GCTGlmZXN0eWxl: "fa fa-leaf"
  2172. }
  2173. }, function (e, t, n) {
  2174. "use strict";
  2175.  
  2176. function i(e) {
  2177. this.pages = {}, this.channel = null, s.call(this), e = e || {}, void 0 !== e.events && this.addListeners(e.events), this.init(e)
  2178. }
  2179.  
  2180. var r, o, a = n(11), s = n(50), l = n(9);
  2181. i.prototype = Object.create(s.prototype), i.prototype.constructor = i, i.prototype.getPage = function (e) {
  2182. var t = this;
  2183. return o || (r = n(23), o = gettext("Author")), e.channel = e.channel || this.channel, e.count = e.count || 6, e.page = +e.page || 0, new a(function (n, i) {
  2184. return e.channel ? void t.getPlaylists({count: 1, channel: e.channel, page: e.page}).then(function (r) {
  2185. e.playlist = r[0], t.getPlayListItems(e).then(n, i)
  2186. }) : void i(e)
  2187. })
  2188. }, i.prototype.getPlaylists = function (e) {
  2189. var t = this, n = "playlists?part=id";
  2190. if (e.channel = e.channel || this.channel, e.channel) {
  2191. if (e.page) {
  2192. if (!t.pages[e.page]) return a.reject("no page");
  2193. n += "&pageToken=" + t.pages[e.page]
  2194. }
  2195. return n += "&channelId=" + e.channel.id + "&maxResults=" + e.count, l.request("GET", n).then(function (n) {
  2196. return n = JSON.parse(n), n.nextPageToken && (t.pages[e.page + 1] = n.nextPageToken), n.prevPageToken && (t.pages[e.page - 1] = n.prevPageToken), n.items
  2197. })
  2198. }
  2199. }, i.prototype.getTotalInfoPlaylists = function (e) {
  2200. var t = this, n = "playlists?part=snippet";
  2201. if (e.channel = void 0 === e.channel ? this.channel : e.channel, e.page) {
  2202. if (!t.pages[e.page]) return a.reject("no page");
  2203. n += "&pageToken=" + t.pages[e.page]
  2204. }
  2205. if (e.channel) n += "&channelId=" + e.channel.id; else {
  2206. if (!(void 0 !== e.id && e.id.length > 0)) return a.resolve([]);
  2207. n += "&id=" + e.id
  2208. }
  2209. return void 0 !== e.count && (n += "&maxResults=" + e.count), l.request("GET", n).then(function (n) {
  2210. return n = JSON.parse(n), n.nextPageToken && (t.pages[e.page + 1] = n.nextPageToken), n.prevPageToken && (t.pages[e.page - 1] = n.prevPageToken), n.items
  2211. })
  2212. }, i.prototype.getChannelBackground = function (e) {
  2213. return e = e || this.channel, l.request("GET", "channels?part=brandingSettings&id=" + e.id).then(function (e) {
  2214. return e = JSON.parse(e), e.items[0].brandingSettings.image.bannerTvImageUrl
  2215. })
  2216. }, i.prototype.init = function (e) {
  2217. var t = !1;
  2218. return void 0 !== e.channel && (this.channel ? this.channel && this.channel.id !== e.channel.id && (t = !0, this.channel = e.channel) : (t = !0, this.channel = e.channel)), e.mode && this.mode !== e.mode && (this.mode = e.mode), t ? (this.pages = {}, this.emit("content:changed", e), !0) : !1
  2219. }, e.exports = i
  2220. }, function (e, t, n) {
  2221. "use strict";
  2222.  
  2223. function i(e) {
  2224. return e && e.playlist ? "pid:" + e.playlist.id + ";p:" + e.page : "PLAYLIST"
  2225. }
  2226.  
  2227. function r(e) {
  2228. this.pages = {}, this.playlist = null, l.call(this), e = e || {}, void 0 !== e.events && this.addListeners(e.events), this.init(e)
  2229. }
  2230.  
  2231. var o, a, s = n(11), l = n(5), c = n(9), u = !1, d = n(32);
  2232. r.prototype = Object.create(l.prototype), r.prototype.constructor = r, r.prototype.getPage = function (e) {
  2233. var t, n = this;
  2234. return e.playlist = e.playlist || this.playlist, e.page = +e.page || 0, e.count = e.count || 20, new s(function (r, o) {
  2235. if (t = d.get(i(e))) r(t); else {
  2236. if (!e.playlist.id) return void o(e);
  2237. n.getPlayListItems(e).then(r, o)
  2238. }
  2239. })
  2240. }, r.prototype.getPlayListItems = function (e) {
  2241. var t = this, r = [], l = "",
  2242. h = "playlistItems?part=snippet&playlistId=" + e.playlist.id + "&maxResults=" + (e.count || 30);
  2243. if (e.page = +e.page || 0, u || (u = n(10), o = n(23), a = gettext("Author")), e.page) {
  2244. if (!t.pages[e.page]) return s.reject();
  2245. h += "&pageToken=" + t.pages[e.page]
  2246. }
  2247. return c.request("GET", h).then(function (n) {
  2248. try {
  2249. n = JSON.parse(n), n.nextPageToken && (t.pages[e.page + 1] = n.nextPageToken), n.prevPageToken && (t.pages[e.page - 1] = n.prevPageToken), n.items.forEach(function (e) {
  2250. l += e.snippet.resourceId.videoId + ","
  2251. })
  2252. } catch (s) {
  2253. }
  2254. return t.getMovies(l.substr(0, l.length - 1)).then(function (t) {
  2255. var n, s, l = +new Date;
  2256. for (n = t.length, s = 0; n > s; ++s) r.push({
  2257. value: 1,
  2258. id: t[s].id,
  2259. channelTitle: t[s].snippet.channelTitle,
  2260. duration: c.normalizeVideoDuration(t[s].contentDetails.duration),
  2261. realDuration: t[s].contentDetails.duration,
  2262. viewCount: t[s].statistics.viewCount,
  2263. publishedAt: t[s].snippet.publishedAt,
  2264. dimension: t[s].contentDetails.dimension,
  2265. definition: t[s].contentDetails.definition,
  2266. title: t[s].snippet.localized.title,
  2267. icon: t[s].snippet.thumbnails.high.url,
  2268. channelId: t[s].snippet.channelId,
  2269. type: "video",
  2270. locale: {
  2271. publishedAt: o(t[s].snippet.publishedAt, l),
  2272. viewCount: t[s].statistics.viewCount + " " + ngettext("view", "views", +t[s].statistics.viewCount),
  2273. channelTitle: a + ": " + t[s].snippet.channelTitle
  2274. }
  2275. });
  2276. return d.set(i(e), r, 3e5), r
  2277. })
  2278. })
  2279. }, r.prototype.getMovies = function (e) {
  2280. var t, n, i, r, o = [];
  2281. for (n = e.split(","), i = 0, r = n.length; r > i; ++i) (t = d.get("vid:" + n[i])) && o.push(t);
  2282. return c.request("GET", "videos?part=statistics,contentDetails,snippet&id=" + e).then(function (e) {
  2283. for (e = JSON.parse(e).items, i = 0, r = e.length; r > i; ++i) d.set("vid:" + e[i].id, e[i], 6e4);
  2284. return e
  2285. })
  2286. }, r.prototype.init = function (e) {
  2287. return void 0 !== e.playlist ? (this.playlist ? this.playlist && this.playlist.id !== e.playlist.id && (this.playlist = e.playlist) : this.playlist = e.playlist, this.pages = {}, this.emit("content:changed", e), !0) : !1
  2288. }, e.exports = r
  2289. }, function (e, t, n) {
  2290. "use strict";
  2291.  
  2292. function i(e) {
  2293. this.pages = {}, this.searchQuery = "", this.relatedToVideoId = "", this.channelId = "", this.order = "", this.type = "", u.call(this), e = e || {}, this.filter(e)
  2294. }
  2295.  
  2296. var r, o, a, s = n(11), l = n(3), c = n(9), u = n(49);
  2297. i.prototype = Object.create(u.prototype), i.prototype.constructor = i, i.prototype.getPage = function (e) {
  2298. var t, i = this;
  2299. return r || (r = n(10), a = n(23), o = gettext("Author")), new s(function (n, r) {
  2300. if (e.channel = e.channel || i.channel, e.type = i.type, e.searchQuery = e.searchQuery || i.searchQuery, e.page = +e.page || 0, e.relatedToVideoId = e.relatedToVideoId || i.relatedToVideoId, t = "search?part=id&maxResults=" + (e.count || 6), e.page) {
  2301. if (!i.pages[e.page]) return void r();
  2302. t += "&pageToken=" + i.pages[e.page]
  2303. }
  2304. e.channel && e.channel.id && (t += "&channelId=" + e.channel.id), i.order && (t += "&order=" + i.order), e.relatedToVideoId ? t += "&type=video&relatedToVideoId=" + e.relatedToVideoId : e.type && (t += "&type=video"), e.searchQuery && (t += "&q=" + encodeURIComponent(e.searchQuery)), l.settings.safeSearch && (t += "&safeSearch=strict"), c.request("GET", t).then(function (t) {
  2305. var l, u = [], d = 0, h = {}, p = {}, f = "", m = "", g = "";
  2306. if (t = JSON.parse(t), t.nextPageToken && (i.pages[e.page + 1] = t.nextPageToken), t.prevPageToken && (i.pages[e.page - 1] = t.prevPageToken), t = t.items, 0 === t.length) r("empty"); else {
  2307. for (d = t.length, l = 0; d > l; ++l) "youtube#video" === t[l].id.kind ? f += t[l].id.videoId + "," : "youtube#channel" === t[l].id.kind ? (m += t[l].id.channelId + ",", h[l] = 1) : "youtube#playlist" === t[l].id.kind && (g += t[l].id.playlistId + ",", p[l] = 1);
  2308. s.all([i.getMovies(f.substr(0, f.length - 1)), i.getChannelsInfo(m.substr(0, m.length - 1)), i.getTotalInfoPlaylists({
  2309. id: g.substr(0, g.length - 1),
  2310. channel: !1
  2311. })]).then(function (e) {
  2312. var t = +new Date, i = 0, r = 0, s = 0;
  2313. for (l = 0; d > l; ++l) h[l] && e[1][r] ? (u.push({
  2314. value: 1,
  2315. id: e[1][r].id,
  2316. title: e[1][r].snippet.localized.title,
  2317. icon: e[1][r].snippet.thumbnails.high.url,
  2318. type: "channel",
  2319. viewCount: e[1][r].statistics.viewCount,
  2320. commentCount: e[1][r].statistics.commentCount,
  2321. subscriberCount: e[1][r].statistics.subscriberCount,
  2322. hiddenSubscriberCount: e[1][r].statistics.hiddenSubscriberCount,
  2323. videoCount: e[1][r].statistics.videoCount,
  2324. locale: {subscriberCount: e[1][r].statistics.subscriberCount + " " + ngettext("subscriber", "subscribers", +e[1][r].statistics.subscriberCount)}
  2325. }), ++r) : p[l] && e[2][s] ? (u.push({
  2326. value: 1,
  2327. playlistId: e[2][s].id,
  2328. channel: {title: e[2][s].snippet.channelTitle, id: e[2][s].snippet.channelId},
  2329. title: e[2][s].snippet.title,
  2330. icon: e[2][s].snippet.thumbnails.high.url,
  2331. type: "playlist",
  2332. channelTitle: e[2][s].snippet.channelTitle,
  2333. viewCount: " ",
  2334. duration: " ",
  2335. publishedAt: e[2][s].snippet.publishedAt,
  2336. locale: {
  2337. publishedAt: a(e[2][s].snippet.publishedAt, t),
  2338. viewCount: " ",
  2339. channelTitle: e[2][s].snippet.channelTitle ? o + ": " + e[2][s].snippet.channelTitle : " "
  2340. }
  2341. }), ++s) : e[0][i] && (u.push({
  2342. value: 1,
  2343. id: e[0][i].id,
  2344. channelTitle: e[0][i].snippet.channelTitle,
  2345. duration: c.normalizeVideoDuration(e[0][i].contentDetails.duration),
  2346. realDuration: e[0][i].contentDetails.duration,
  2347. viewCount: e[0][i].statistics.viewCount,
  2348. publishedAt: e[0][i].snippet.publishedAt,
  2349. dimension: e[0][i].contentDetails.dimension,
  2350. definition: e[0][i].contentDetails.definition,
  2351. title: e[0][i].snippet.localized.title,
  2352. icon: e[0][i].snippet.thumbnails.high.url,
  2353. channelId: e[0][i].snippet.channelId,
  2354. type: "video",
  2355. locale: {
  2356. publishedAt: a(e[0][i].snippet.publishedAt, t),
  2357. viewCount: ngettext("view", "views", +e[0][i].statistics.viewCount) + " " + e[0][i].statistics.viewCount,
  2358. channelTitle: o + ": " + e[0][i].snippet.channelTitle
  2359. }
  2360. }), ++i);
  2361. n(u)
  2362. }, function (e) {
  2363. })["catch"](function (e) {
  2364. })
  2365. }
  2366. })["catch"](function (e) {
  2367. })
  2368. })
  2369. }, i.prototype.getChannelsInfo = function (e) {
  2370. return e ? c.request("GET", "channels?part=snippet,statistics&id=" + e).then(function (e) {
  2371. return JSON.parse(e).items
  2372. }) : s.resolve([])
  2373. }, i.prototype.filter = function (e) {
  2374. var t = !1;
  2375. return void 0 !== e.channel && this.init({channel: e.channel}), void 0 !== e.searchQuery && this.searchQuery !== e.searchQuery && (t = !0, this.searchQuery = e.searchQuery), void 0 !== e.relatedToVideoId && this.relatedToVideoId !== e.relatedToVideoId && (t = !0, this.relatedToVideoId = e.relatedToVideoId), void 0 !== e.order && this.order !== e.order && (t = !0, this.order = e.order), void 0 !== e.type && this.type !== e.type && (t = !0, this.type = e.type), t ? (this.pages = {}, this.emit("content:changed", e), !0) : !1
  2376. }, e.exports = i
  2377. }, function (e, t, n) {
  2378. (function (t, n) {
  2379. e.exports = function (e) {
  2380. function t(i) {
  2381. if (n[i]) return n[i].exports;
  2382. var r = n[i] = {i: i, l: !1, exports: {}};
  2383. return e[i].call(r.exports, r, r.exports, t), r.l = !0, r.exports
  2384. }
  2385.  
  2386. var n = {};
  2387. return t.m = e, t.c = n, t.i = function (e) {
  2388. return e
  2389. }, t.d = function (e, n, i) {
  2390. t.o(e, n) || Object.defineProperty(e, n, {configurable: !1, enumerable: !0, get: i})
  2391. }, t.n = function (e) {
  2392. var n = e && e.__esModule ? function () {
  2393. return e["default"]
  2394. } : function () {
  2395. return e
  2396. };
  2397. return t.d(n, "a", n), n
  2398. }, t.o = function (e, t) {
  2399. return Object.prototype.hasOwnProperty.call(e, t)
  2400. }, t.p = "", t(t.s = 54)
  2401. }([function (e, t, n) {
  2402. "use strict";
  2403. (function (e) {
  2404. function i() {
  2405. try {
  2406. var e = new Uint8Array(1);
  2407. return e.__proto__ = {
  2408. __proto__: Uint8Array.prototype, foo: function () {
  2409. return 42
  2410. }
  2411. }, 42 === e.foo() && "function" == typeof e.subarray && 0 === e.subarray(1, 1).byteLength
  2412. } catch (t) {
  2413. return !1
  2414. }
  2415. }
  2416.  
  2417. function r() {
  2418. return a.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823
  2419. }
  2420.  
  2421. function o(e, t) {
  2422. if (r() < t) throw new RangeError("Invalid typed array length");
  2423. return a.TYPED_ARRAY_SUPPORT ? (e = new Uint8Array(t), e.__proto__ = a.prototype) : (null === e && (e = new a(t)), e.length = t), e
  2424. }
  2425.  
  2426. function a(e, t, n) {
  2427. if (!(a.TYPED_ARRAY_SUPPORT || this instanceof a)) return new a(e, t, n);
  2428. if ("number" == typeof e) {
  2429. if ("string" == typeof t) throw new Error("If encoding is specified then the first argument must be a string");
  2430. return u(this, e)
  2431. }
  2432. return s(this, e, t, n)
  2433. }
  2434.  
  2435. function s(e, t, n, i) {
  2436. if ("number" == typeof t) throw new TypeError('"value" argument must not be a number');
  2437. return "undefined" != typeof ArrayBuffer && t instanceof ArrayBuffer ? p(e, t, n, i) : "string" == typeof t ? d(e, t, n) : f(e, t)
  2438. }
  2439.  
  2440. function l(e) {
  2441. if ("number" != typeof e) throw new TypeError('"size" argument must be a number');
  2442. if (0 > e) throw new RangeError('"size" argument must not be negative')
  2443. }
  2444.  
  2445. function c(e, t, n, i) {
  2446. return l(t), 0 >= t ? o(e, t) : void 0 !== n ? "string" == typeof i ? o(e, t).fill(n, i) : o(e, t).fill(n) : o(e, t)
  2447. }
  2448.  
  2449. function u(e, t) {
  2450. if (l(t), e = o(e, 0 > t ? 0 : 0 | m(t)), !a.TYPED_ARRAY_SUPPORT) for (var n = 0; t > n; ++n) e[n] = 0;
  2451. return e
  2452. }
  2453.  
  2454. function d(e, t, n) {
  2455. if ("string" == typeof n && "" !== n || (n = "utf8"), !a.isEncoding(n)) throw new TypeError('"encoding" must be a valid string encoding');
  2456. var i = 0 | v(t, n);
  2457. e = o(e, i);
  2458. var r = e.write(t, n);
  2459. return r !== i && (e = e.slice(0, r)), e
  2460. }
  2461.  
  2462. function h(e, t) {
  2463. var n = t.length < 0 ? 0 : 0 | m(t.length);
  2464. e = o(e, n);
  2465. for (var i = 0; n > i; i += 1) e[i] = 255 & t[i];
  2466. return e
  2467. }
  2468.  
  2469. function p(e, t, n, i) {
  2470. if (t.byteLength, 0 > n || t.byteLength < n) throw new RangeError("'offset' is out of bounds");
  2471. if (t.byteLength < n + (i || 0)) throw new RangeError("'length' is out of bounds");
  2472. return t = void 0 === n && void 0 === i ? new Uint8Array(t) : void 0 === i ? new Uint8Array(t, n) : new Uint8Array(t, n, i), a.TYPED_ARRAY_SUPPORT ? (e = t, e.__proto__ = a.prototype) : e = h(e, t), e
  2473. }
  2474.  
  2475. function f(e, t) {
  2476. if (a.isBuffer(t)) {
  2477. var n = 0 | m(t.length);
  2478. return e = o(e, n), 0 === e.length ? e : (t.copy(e, 0, 0, n), e)
  2479. }
  2480. if (t) {
  2481. if ("undefined" != typeof ArrayBuffer && t.buffer instanceof ArrayBuffer || "length" in t) return "number" != typeof t.length || J(t.length) ? o(e, 0) : h(e, t);
  2482. if ("Buffer" === t.type && K(t.data)) return h(e, t.data)
  2483. }
  2484. throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")
  2485. }
  2486.  
  2487. function m(e) {
  2488. if (e >= r()) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + r().toString(16) + " bytes");
  2489. return 0 | e
  2490. }
  2491.  
  2492. function g(e) {
  2493. return +e != e && (e = 0), a.alloc(+e)
  2494. }
  2495.  
  2496. function v(e, t) {
  2497. if (a.isBuffer(e)) return e.length;
  2498. if ("undefined" != typeof ArrayBuffer && "function" == typeof ArrayBuffer.isView && (ArrayBuffer.isView(e) || e instanceof ArrayBuffer)) return e.byteLength;
  2499. "string" != typeof e && (e = "" + e);
  2500. var n = e.length;
  2501. if (0 === n) return 0;
  2502. for (var i = !1; ;) switch (t) {
  2503. case"ascii":
  2504. case"latin1":
  2505. case"binary":
  2506. return n;
  2507. case"utf8":
  2508. case"utf-8":
  2509. case void 0:
  2510. return G(e).length;
  2511. case"ucs2":
  2512. case"ucs-2":
  2513. case"utf16le":
  2514. case"utf-16le":
  2515. return 2 * n;
  2516. case"hex":
  2517. return n >>> 1;
  2518. case"base64":
  2519. return W(e).length;
  2520. default:
  2521. if (i) return G(e).length;
  2522. t = ("" + t).toLowerCase(), i = !0
  2523. }
  2524. }
  2525.  
  2526. function y(e, t, n) {
  2527. var i = !1;
  2528. if ((void 0 === t || 0 > t) && (t = 0), t > this.length) return "";
  2529. if ((void 0 === n || n > this.length) && (n = this.length), 0 >= n) return "";
  2530. if (n >>>= 0, t >>>= 0, t >= n) return "";
  2531. for (e || (e = "utf8"); ;) switch (e) {
  2532. case"hex":
  2533. return $(this, t, n);
  2534. case"utf8":
  2535. case"utf-8":
  2536. return _(this, t, n);
  2537. case"ascii":
  2538. return O(this, t, n);
  2539. case"latin1":
  2540. case"binary":
  2541. return L(this, t, n);
  2542. case"base64":
  2543. return A(this, t, n);
  2544. case"ucs2":
  2545. case"ucs-2":
  2546. case"utf16le":
  2547. case"utf-16le":
  2548. return D(this, t, n);
  2549. default:
  2550. if (i) throw new TypeError("Unknown encoding: " + e);
  2551. e = (e + "").toLowerCase(), i = !0
  2552. }
  2553. }
  2554.  
  2555. function b(e, t, n) {
  2556. var i = e[t];
  2557. e[t] = e[n], e[n] = i
  2558. }
  2559.  
  2560. function w(e, t, n, i, r) {
  2561. if (0 === e.length) return -1;
  2562. if ("string" == typeof n ? (i = n, n = 0) : n > 2147483647 ? n = 2147483647 : -2147483648 > n && (n = -2147483648), n = +n, isNaN(n) && (n = r ? 0 : e.length - 1), 0 > n && (n = e.length + n), n >= e.length) {
  2563. if (r) return -1;
  2564. n = e.length - 1
  2565. } else if (0 > n) {
  2566. if (!r) return -1;
  2567. n = 0
  2568. }
  2569. if ("string" == typeof t && (t = a.from(t, i)), a.isBuffer(t)) return 0 === t.length ? -1 : T(e, t, n, i, r);
  2570. if ("number" == typeof t) return t = 255 & t, a.TYPED_ARRAY_SUPPORT && "function" == typeof Uint8Array.prototype.indexOf ? r ? Uint8Array.prototype.indexOf.call(e, t, n) : Uint8Array.prototype.lastIndexOf.call(e, t, n) : T(e, [t], n, i, r);
  2571. throw new TypeError("val must be string, number or Buffer")
  2572. }
  2573.  
  2574. function T(e, t, n, i, r) {
  2575. function o(e, t) {
  2576. return 1 === a ? e[t] : e.readUInt16BE(t * a)
  2577. }
  2578.  
  2579. var a = 1, s = e.length, l = t.length;
  2580. if (void 0 !== i && (i = String(i).toLowerCase(), "ucs2" === i || "ucs-2" === i || "utf16le" === i || "utf-16le" === i)) {
  2581. if (e.length < 2 || t.length < 2) return -1;
  2582. a = 2, s /= 2, l /= 2, n /= 2
  2583. }
  2584. var c;
  2585. if (r) {
  2586. var u = -1;
  2587. for (c = n; s > c; c++) if (o(e, c) === o(t, -1 === u ? 0 : c - u)) {
  2588. if (-1 === u && (u = c), c - u + 1 === l) return u * a
  2589. } else -1 !== u && (c -= c - u), u = -1
  2590. } else for (n + l > s && (n = s - l),
  2591. c = n; c >= 0; c--) {
  2592. for (var d = !0, h = 0; l > h; h++) if (o(e, c + h) !== o(t, h)) {
  2593. d = !1;
  2594. break
  2595. }
  2596. if (d) return c
  2597. }
  2598. return -1
  2599. }
  2600.  
  2601. function E(e, t, n, i) {
  2602. n = Number(n) || 0;
  2603. var r = e.length - n;
  2604. i ? (i = Number(i), i > r && (i = r)) : i = r;
  2605. var o = t.length;
  2606. if (o % 2 !== 0) throw new TypeError("Invalid hex string");
  2607. i > o / 2 && (i = o / 2);
  2608. for (var a = 0; i > a; ++a) {
  2609. var s = parseInt(t.substr(2 * a, 2), 16);
  2610. if (isNaN(s)) return a;
  2611. e[n + a] = s
  2612. }
  2613. return a
  2614. }
  2615.  
  2616. function x(e, t, n, i) {
  2617. return X(G(t, e.length - n), e, n, i)
  2618. }
  2619.  
  2620. function I(e, t, n, i) {
  2621. return X(Y(t), e, n, i)
  2622. }
  2623.  
  2624. function S(e, t, n, i) {
  2625. return I(e, t, n, i)
  2626. }
  2627.  
  2628. function N(e, t, n, i) {
  2629. return X(W(t), e, n, i)
  2630. }
  2631.  
  2632. function C(e, t, n, i) {
  2633. return X(z(t, e.length - n), e, n, i)
  2634. }
  2635.  
  2636. function A(e, t, n) {
  2637. return 0 === t && n === e.length ? Q.fromByteArray(e) : Q.fromByteArray(e.slice(t, n))
  2638. }
  2639.  
  2640. function _(e, t, n) {
  2641. n = Math.min(e.length, n);
  2642. for (var i = [], r = t; n > r;) {
  2643. var o = e[r], a = null, s = o > 239 ? 4 : o > 223 ? 3 : o > 191 ? 2 : 1;
  2644. if (n >= r + s) {
  2645. var l, c, u, d;
  2646. switch (s) {
  2647. case 1:
  2648. 128 > o && (a = o);
  2649. break;
  2650. case 2:
  2651. l = e[r + 1], 128 === (192 & l) && (d = (31 & o) << 6 | 63 & l, d > 127 && (a = d));
  2652. break;
  2653. case 3:
  2654. l = e[r + 1], c = e[r + 2], 128 === (192 & l) && 128 === (192 & c) && (d = (15 & o) << 12 | (63 & l) << 6 | 63 & c, d > 2047 && (55296 > d || d > 57343) && (a = d));
  2655. break;
  2656. case 4:
  2657. l = e[r + 1], c = e[r + 2], u = e[r + 3], 128 === (192 & l) && 128 === (192 & c) && 128 === (192 & u) && (d = (15 & o) << 18 | (63 & l) << 12 | (63 & c) << 6 | 63 & u, d > 65535 && 1114112 > d && (a = d))
  2658. }
  2659. }
  2660. null === a ? (a = 65533, s = 1) : a > 65535 && (a -= 65536, i.push(a >>> 10 & 1023 | 55296), a = 56320 | 1023 & a), i.push(a), r += s
  2661. }
  2662. return k(i)
  2663. }
  2664.  
  2665. function k(e) {
  2666. var t = e.length;
  2667. if (ee >= t) return String.fromCharCode.apply(String, e);
  2668. for (var n = "", i = 0; t > i;) n += String.fromCharCode.apply(String, e.slice(i, i += ee));
  2669. return n
  2670. }
  2671.  
  2672. function O(e, t, n) {
  2673. var i = "";
  2674. n = Math.min(e.length, n);
  2675. for (var r = t; n > r; ++r) i += String.fromCharCode(127 & e[r]);
  2676. return i
  2677. }
  2678.  
  2679. function L(e, t, n) {
  2680. var i = "";
  2681. n = Math.min(e.length, n);
  2682. for (var r = t; n > r; ++r) i += String.fromCharCode(e[r]);
  2683. return i
  2684. }
  2685.  
  2686. function $(e, t, n) {
  2687. var i = e.length;
  2688. (!t || 0 > t) && (t = 0), (!n || 0 > n || n > i) && (n = i);
  2689. for (var r = "", o = t; n > o; ++o) r += F(e[o]);
  2690. return r
  2691. }
  2692.  
  2693. function D(e, t, n) {
  2694. for (var i = e.slice(t, n), r = "", o = 0; o < i.length; o += 2) r += String.fromCharCode(i[o] + 256 * i[o + 1]);
  2695. return r
  2696. }
  2697.  
  2698. function B(e, t, n) {
  2699. if (e % 1 !== 0 || 0 > e) throw new RangeError("offset is not uint");
  2700. if (e + t > n) throw new RangeError("Trying to access beyond buffer length")
  2701. }
  2702.  
  2703. function P(e, t, n, i, r, o) {
  2704. if (!a.isBuffer(e)) throw new TypeError('"buffer" argument must be a Buffer instance');
  2705. if (t > r || o > t) throw new RangeError('"value" argument is out of bounds');
  2706. if (n + i > e.length) throw new RangeError("Index out of range")
  2707. }
  2708.  
  2709. function R(e, t, n, i) {
  2710. 0 > t && (t = 65535 + t + 1);
  2711. for (var r = 0, o = Math.min(e.length - n, 2); o > r; ++r) e[n + r] = (t & 255 << 8 * (i ? r : 1 - r)) >>> 8 * (i ? r : 1 - r)
  2712. }
  2713.  
  2714. function M(e, t, n, i) {
  2715. 0 > t && (t = 4294967295 + t + 1);
  2716. for (var r = 0, o = Math.min(e.length - n, 4); o > r; ++r) e[n + r] = t >>> 8 * (i ? r : 3 - r) & 255
  2717. }
  2718.  
  2719. function q(e, t, n, i, r, o) {
  2720. if (n + i > e.length) throw new RangeError("Index out of range");
  2721. if (0 > n) throw new RangeError("Index out of range")
  2722. }
  2723.  
  2724. function V(e, t, n, i, r) {
  2725. return r || q(e, t, n, 4, 3.4028234663852886e38, -3.4028234663852886e38), Z.write(e, t, n, i, 23, 4), n + 4
  2726. }
  2727.  
  2728. function U(e, t, n, i, r) {
  2729. return r || q(e, t, n, 8, 1.7976931348623157e308, -1.7976931348623157e308), Z.write(e, t, n, i, 52, 8), n + 8
  2730. }
  2731.  
  2732. function H(e) {
  2733. if (e = j(e).replace(te, ""), e.length < 2) return "";
  2734. for (; e.length % 4 !== 0;) e += "=";
  2735. return e
  2736. }
  2737.  
  2738. function j(e) {
  2739. return e.trim ? e.trim() : e.replace(/^\s+|\s+$/g, "")
  2740. }
  2741.  
  2742. function F(e) {
  2743. return 16 > e ? "0" + e.toString(16) : e.toString(16)
  2744. }
  2745.  
  2746. function G(e, t) {
  2747. t = t || 1 / 0;
  2748. for (var n, i = e.length, r = null, o = [], a = 0; i > a; ++a) {
  2749. if (n = e.charCodeAt(a), n > 55295 && 57344 > n) {
  2750. if (!r) {
  2751. if (n > 56319) {
  2752. (t -= 3) > -1 && o.push(239, 191, 189);
  2753. continue
  2754. }
  2755. if (a + 1 === i) {
  2756. (t -= 3) > -1 && o.push(239, 191, 189);
  2757. continue
  2758. }
  2759. r = n;
  2760. continue
  2761. }
  2762. if (56320 > n) {
  2763. (t -= 3) > -1 && o.push(239, 191, 189), r = n;
  2764. continue
  2765. }
  2766. n = (r - 55296 << 10 | n - 56320) + 65536
  2767. } else r && (t -= 3) > -1 && o.push(239, 191, 189);
  2768. if (r = null, 128 > n) {
  2769. if ((t -= 1) < 0) break;
  2770. o.push(n)
  2771. } else if (2048 > n) {
  2772. if ((t -= 2) < 0) break;
  2773. o.push(n >> 6 | 192, 63 & n | 128)
  2774. } else if (65536 > n) {
  2775. if ((t -= 3) < 0) break;
  2776. o.push(n >> 12 | 224, n >> 6 & 63 | 128, 63 & n | 128)
  2777. } else {
  2778. if (!(1114112 > n)) throw new Error("Invalid code point");
  2779. if ((t -= 4) < 0) break;
  2780. o.push(n >> 18 | 240, n >> 12 & 63 | 128, n >> 6 & 63 | 128, 63 & n | 128)
  2781. }
  2782. }
  2783. return o
  2784. }
  2785.  
  2786. function Y(e) {
  2787. for (var t = [], n = 0; n < e.length; ++n) t.push(255 & e.charCodeAt(n));
  2788. return t
  2789. }
  2790.  
  2791. function z(e, t) {
  2792. for (var n, i, r, o = [], a = 0; a < e.length && !((t -= 2) < 0); ++a) n = e.charCodeAt(a), i = n >> 8, r = n % 256, o.push(r), o.push(i);
  2793. return o
  2794. }
  2795.  
  2796. function W(e) {
  2797. return Q.toByteArray(H(e))
  2798. }
  2799.  
  2800. function X(e, t, n, i) {
  2801. for (var r = 0; i > r && !(r + n >= t.length || r >= e.length); ++r) t[r + n] = e[r];
  2802. return r
  2803. }
  2804.  
  2805. function J(e) {
  2806. return e !== e
  2807. }
  2808.  
  2809. var Q = n(38), Z = n(39), K = n(21);
  2810. t.Buffer = a, t.SlowBuffer = g, t.INSPECT_MAX_BYTES = 50, a.TYPED_ARRAY_SUPPORT = void 0 !== e.TYPED_ARRAY_SUPPORT ? e.TYPED_ARRAY_SUPPORT : i(), t.kMaxLength = r(), a.poolSize = 8192, a._augment = function (e) {
  2811. return e.__proto__ = a.prototype, e
  2812. }, a.from = function (e, t, n) {
  2813. return s(null, e, t, n)
  2814. }, a.TYPED_ARRAY_SUPPORT && (a.prototype.__proto__ = Uint8Array.prototype, a.__proto__ = Uint8Array, "undefined" != typeof Symbol && Symbol.species && a[Symbol.species] === a && Object.defineProperty(a, Symbol.species, {
  2815. value: null,
  2816. configurable: !0
  2817. })), a.alloc = function (e, t, n) {
  2818. return c(null, e, t, n)
  2819. }, a.allocUnsafe = function (e) {
  2820. return u(null, e)
  2821. }, a.allocUnsafeSlow = function (e) {
  2822. return u(null, e)
  2823. }, a.isBuffer = function (e) {
  2824. return !(null == e || !e._isBuffer)
  2825. }, a.compare = function (e, t) {
  2826. if (!a.isBuffer(e) || !a.isBuffer(t)) throw new TypeError("Arguments must be Buffers");
  2827. if (e === t) return 0;
  2828. for (var n = e.length, i = t.length, r = 0, o = Math.min(n, i); o > r; ++r) if (e[r] !== t[r]) {
  2829. n = e[r], i = t[r];
  2830. break
  2831. }
  2832. return i > n ? -1 : n > i ? 1 : 0
  2833. }, a.isEncoding = function (e) {
  2834. switch (String(e).toLowerCase()) {
  2835. case"hex":
  2836. case"utf8":
  2837. case"utf-8":
  2838. case"ascii":
  2839. case"latin1":
  2840. case"binary":
  2841. case"base64":
  2842. case"ucs2":
  2843. case"ucs-2":
  2844. case"utf16le":
  2845. case"utf-16le":
  2846. return !0;
  2847. default:
  2848. return !1
  2849. }
  2850. }, a.concat = function (e, t) {
  2851. if (!K(e)) throw new TypeError('"list" argument must be an Array of Buffers');
  2852. if (0 === e.length) return a.alloc(0);
  2853. var n;
  2854. if (void 0 === t) for (t = 0, n = 0; n < e.length; ++n) t += e[n].length;
  2855. var i = a.allocUnsafe(t), r = 0;
  2856. for (n = 0; n < e.length; ++n) {
  2857. var o = e[n];
  2858. if (!a.isBuffer(o)) throw new TypeError('"list" argument must be an Array of Buffers');
  2859. o.copy(i, r), r += o.length
  2860. }
  2861. return i
  2862. }, a.byteLength = v, a.prototype._isBuffer = !0, a.prototype.swap16 = function () {
  2863. var e = this.length;
  2864. if (e % 2 !== 0) throw new RangeError("Buffer size must be a multiple of 16-bits");
  2865. for (var t = 0; e > t; t += 2) b(this, t, t + 1);
  2866. return this
  2867. }, a.prototype.swap32 = function () {
  2868. var e = this.length;
  2869. if (e % 4 !== 0) throw new RangeError("Buffer size must be a multiple of 32-bits");
  2870. for (var t = 0; e > t; t += 4) b(this, t, t + 3), b(this, t + 1, t + 2);
  2871. return this
  2872. }, a.prototype.swap64 = function () {
  2873. var e = this.length;
  2874. if (e % 8 !== 0) throw new RangeError("Buffer size must be a multiple of 64-bits");
  2875. for (var t = 0; e > t; t += 8) b(this, t, t + 7), b(this, t + 1, t + 6), b(this, t + 2, t + 5), b(this, t + 3, t + 4);
  2876. return this
  2877. }, a.prototype.toString = function () {
  2878. var e = 0 | this.length;
  2879. return 0 === e ? "" : 0 === arguments.length ? _(this, 0, e) : y.apply(this, arguments)
  2880. }, a.prototype.equals = function (e) {
  2881. if (!a.isBuffer(e)) throw new TypeError("Argument must be a Buffer");
  2882. return this === e ? !0 : 0 === a.compare(this, e)
  2883. }, a.prototype.inspect = function () {
  2884. var e = "", n = t.INSPECT_MAX_BYTES;
  2885. return this.length > 0 && (e = this.toString("hex", 0, n).match(/.{2}/g).join(" "), this.length > n && (e += " ... ")), "<Buffer " + e + ">"
  2886. }, a.prototype.compare = function (e, t, n, i, r) {
  2887. if (!a.isBuffer(e)) throw new TypeError("Argument must be a Buffer");
  2888. if (void 0 === t && (t = 0), void 0 === n && (n = e ? e.length : 0), void 0 === i && (i = 0), void 0 === r && (r = this.length), 0 > t || n > e.length || 0 > i || r > this.length) throw new RangeError("out of range index");
  2889. if (i >= r && t >= n) return 0;
  2890. if (i >= r) return -1;
  2891. if (t >= n) return 1;
  2892. if (t >>>= 0, n >>>= 0, i >>>= 0, r >>>= 0, this === e) return 0;
  2893. for (var o = r - i, s = n - t, l = Math.min(o, s), c = this.slice(i, r), u = e.slice(t, n), d = 0; l > d; ++d) if (c[d] !== u[d]) {
  2894. o = c[d], s = u[d];
  2895. break
  2896. }
  2897. return s > o ? -1 : o > s ? 1 : 0
  2898. }, a.prototype.includes = function (e, t, n) {
  2899. return -1 !== this.indexOf(e, t, n)
  2900. }, a.prototype.indexOf = function (e, t, n) {
  2901. return w(this, e, t, n, !0)
  2902. }, a.prototype.lastIndexOf = function (e, t, n) {
  2903. return w(this, e, t, n, !1)
  2904. }, a.prototype.write = function (e, t, n, i) {
  2905. if (void 0 === t) i = "utf8", n = this.length, t = 0; else if (void 0 === n && "string" == typeof t) i = t, n = this.length, t = 0; else {
  2906. if (!isFinite(t)) throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");
  2907. t = 0 | t, isFinite(n) ? (n = 0 | n, void 0 === i && (i = "utf8")) : (i = n, n = void 0)
  2908. }
  2909. var r = this.length - t;
  2910. if ((void 0 === n || n > r) && (n = r), e.length > 0 && (0 > n || 0 > t) || t > this.length) throw new RangeError("Attempt to write outside buffer bounds");
  2911. i || (i = "utf8");
  2912. for (var o = !1; ;) switch (i) {
  2913. case"hex":
  2914. return E(this, e, t, n);
  2915. case"utf8":
  2916. case"utf-8":
  2917. return x(this, e, t, n);
  2918. case"ascii":
  2919. return I(this, e, t, n);
  2920. case"latin1":
  2921. case"binary":
  2922. return S(this, e, t, n);
  2923. case"base64":
  2924. return N(this, e, t, n);
  2925. case"ucs2":
  2926. case"ucs-2":
  2927. case"utf16le":
  2928. case"utf-16le":
  2929. return C(this, e, t, n);
  2930. default:
  2931. if (o) throw new TypeError("Unknown encoding: " + i);
  2932. i = ("" + i).toLowerCase(), o = !0
  2933. }
  2934. }, a.prototype.toJSON = function () {
  2935. return {type: "Buffer", data: Array.prototype.slice.call(this._arr || this, 0)}
  2936. };
  2937. var ee = 4096;
  2938. a.prototype.slice = function (e, t) {
  2939. var n = this.length;
  2940. e = ~~e, t = void 0 === t ? n : ~~t, 0 > e ? (e += n, 0 > e && (e = 0)) : e > n && (e = n), 0 > t ? (t += n, 0 > t && (t = 0)) : t > n && (t = n), e > t && (t = e);
  2941. var i;
  2942. if (a.TYPED_ARRAY_SUPPORT) i = this.subarray(e, t), i.__proto__ = a.prototype; else {
  2943. var r = t - e;
  2944. i = new a(r, void 0);
  2945. for (var o = 0; r > o; ++o) i[o] = this[o + e]
  2946. }
  2947. return i
  2948. }, a.prototype.readUIntLE = function (e, t, n) {
  2949. e = 0 | e, t = 0 | t, n || B(e, t, this.length);
  2950. for (var i = this[e], r = 1, o = 0; ++o < t && (r *= 256);) i += this[e + o] * r;
  2951. return i
  2952. }, a.prototype.readUIntBE = function (e, t, n) {
  2953. e = 0 | e, t = 0 | t, n || B(e, t, this.length);
  2954. for (var i = this[e + --t], r = 1; t > 0 && (r *= 256);) i += this[e + --t] * r;
  2955. return i
  2956. }, a.prototype.readUInt8 = function (e, t) {
  2957. return t || B(e, 1, this.length), this[e]
  2958. }, a.prototype.readUInt16LE = function (e, t) {
  2959. return t || B(e, 2, this.length), this[e] | this[e + 1] << 8
  2960. }, a.prototype.readUInt16BE = function (e, t) {
  2961. return t || B(e, 2, this.length), this[e] << 8 | this[e + 1]
  2962. }, a.prototype.readUInt32LE = function (e, t) {
  2963. return t || B(e, 4, this.length), (this[e] | this[e + 1] << 8 | this[e + 2] << 16) + 16777216 * this[e + 3]
  2964. }, a.prototype.readUInt32BE = function (e, t) {
  2965. return t || B(e, 4, this.length), 16777216 * this[e] + (this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3])
  2966. }, a.prototype.readIntLE = function (e, t, n) {
  2967. e = 0 | e, t = 0 | t, n || B(e, t, this.length);
  2968. for (var i = this[e], r = 1, o = 0; ++o < t && (r *= 256);) i += this[e + o] * r;
  2969. return r *= 128, i >= r && (i -= Math.pow(2, 8 * t)), i
  2970. }, a.prototype.readIntBE = function (e, t, n) {
  2971. e = 0 | e, t = 0 | t, n || B(e, t, this.length);
  2972. for (var i = t, r = 1, o = this[e + --i]; i > 0 && (r *= 256);) o += this[e + --i] * r;
  2973. return r *= 128, o >= r && (o -= Math.pow(2, 8 * t)), o
  2974. }, a.prototype.readInt8 = function (e, t) {
  2975. return t || B(e, 1, this.length), 128 & this[e] ? -1 * (255 - this[e] + 1) : this[e]
  2976. }, a.prototype.readInt16LE = function (e, t) {
  2977. t || B(e, 2, this.length);
  2978. var n = this[e] | this[e + 1] << 8;
  2979. return 32768 & n ? 4294901760 | n : n
  2980. }, a.prototype.readInt16BE = function (e, t) {
  2981. t || B(e, 2, this.length);
  2982. var n = this[e + 1] | this[e] << 8;
  2983. return 32768 & n ? 4294901760 | n : n
  2984. }, a.prototype.readInt32LE = function (e, t) {
  2985. return t || B(e, 4, this.length), this[e] | this[e + 1] << 8 | this[e + 2] << 16 | this[e + 3] << 24
  2986. }, a.prototype.readInt32BE = function (e, t) {
  2987. return t || B(e, 4, this.length), this[e] << 24 | this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3]
  2988. }, a.prototype.readFloatLE = function (e, t) {
  2989. return t || B(e, 4, this.length), Z.read(this, e, !0, 23, 4)
  2990. }, a.prototype.readFloatBE = function (e, t) {
  2991. return t || B(e, 4, this.length), Z.read(this, e, !1, 23, 4)
  2992. }, a.prototype.readDoubleLE = function (e, t) {
  2993. return t || B(e, 8, this.length), Z.read(this, e, !0, 52, 8)
  2994. }, a.prototype.readDoubleBE = function (e, t) {
  2995. return t || B(e, 8, this.length), Z.read(this, e, !1, 52, 8)
  2996. }, a.prototype.writeUIntLE = function (e, t, n, i) {
  2997. if (e = +e, t = 0 | t, n = 0 | n, !i) {
  2998. var r = Math.pow(2, 8 * n) - 1;
  2999. P(this, e, t, n, r, 0)
  3000. }
  3001. var o = 1, a = 0;
  3002. for (this[t] = 255 & e; ++a < n && (o *= 256);) this[t + a] = e / o & 255;
  3003. return t + n
  3004. }, a.prototype.writeUIntBE = function (e, t, n, i) {
  3005. if (e = +e, t = 0 | t, n = 0 | n, !i) {
  3006. var r = Math.pow(2, 8 * n) - 1;
  3007. P(this, e, t, n, r, 0)
  3008. }
  3009. var o = n - 1, a = 1;
  3010. for (this[t + o] = 255 & e; --o >= 0 && (a *= 256);) this[t + o] = e / a & 255;
  3011. return t + n
  3012. }, a.prototype.writeUInt8 = function (e, t, n) {
  3013. return e = +e, t = 0 | t, n || P(this, e, t, 1, 255, 0), a.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), this[t] = 255 & e, t + 1
  3014. }, a.prototype.writeUInt16LE = function (e, t, n) {
  3015. return e = +e, t = 0 | t, n || P(this, e, t, 2, 65535, 0), a.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : R(this, e, t, !0), t + 2
  3016. }, a.prototype.writeUInt16BE = function (e, t, n) {
  3017. return e = +e, t = 0 | t, n || P(this, e, t, 2, 65535, 0), a.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : R(this, e, t, !1), t + 2
  3018. }, a.prototype.writeUInt32LE = function (e, t, n) {
  3019. return e = +e, t = 0 | t, n || P(this, e, t, 4, 4294967295, 0), a.TYPED_ARRAY_SUPPORT ? (this[t + 3] = e >>> 24, this[t + 2] = e >>> 16, this[t + 1] = e >>> 8, this[t] = 255 & e) : M(this, e, t, !0), t + 4
  3020. }, a.prototype.writeUInt32BE = function (e, t, n) {
  3021. return e = +e, t = 0 | t, n || P(this, e, t, 4, 4294967295, 0), a.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : M(this, e, t, !1), t + 4
  3022. }, a.prototype.writeIntLE = function (e, t, n, i) {
  3023. if (e = +e, t = 0 | t, !i) {
  3024. var r = Math.pow(2, 8 * n - 1);
  3025. P(this, e, t, n, r - 1, -r)
  3026. }
  3027. var o = 0, a = 1, s = 0;
  3028. for (this[t] = 255 & e; ++o < n && (a *= 256);) 0 > e && 0 === s && 0 !== this[t + o - 1] && (s = 1), this[t + o] = (e / a >> 0) - s & 255;
  3029. return t + n
  3030. }, a.prototype.writeIntBE = function (e, t, n, i) {
  3031. if (e = +e, t = 0 | t, !i) {
  3032. var r = Math.pow(2, 8 * n - 1);
  3033. P(this, e, t, n, r - 1, -r)
  3034. }
  3035. var o = n - 1, a = 1, s = 0;
  3036. for (this[t + o] = 255 & e; --o >= 0 && (a *= 256);) 0 > e && 0 === s && 0 !== this[t + o + 1] && (s = 1), this[t + o] = (e / a >> 0) - s & 255;
  3037. return t + n
  3038. }, a.prototype.writeInt8 = function (e, t, n) {
  3039. return e = +e, t = 0 | t, n || P(this, e, t, 1, 127, -128), a.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), 0 > e && (e = 255 + e + 1), this[t] = 255 & e, t + 1
  3040. }, a.prototype.writeInt16LE = function (e, t, n) {
  3041. return e = +e, t = 0 | t, n || P(this, e, t, 2, 32767, -32768), a.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : R(this, e, t, !0), t + 2
  3042. }, a.prototype.writeInt16BE = function (e, t, n) {
  3043. return e = +e, t = 0 | t, n || P(this, e, t, 2, 32767, -32768), a.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : R(this, e, t, !1), t + 2
  3044. }, a.prototype.writeInt32LE = function (e, t, n) {
  3045. return e = +e, t = 0 | t, n || P(this, e, t, 4, 2147483647, -2147483648), a.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8, this[t + 2] = e >>> 16, this[t + 3] = e >>> 24) : M(this, e, t, !0), t + 4
  3046. }, a.prototype.writeInt32BE = function (e, t, n) {
  3047. return e = +e, t = 0 | t, n || P(this, e, t, 4, 2147483647, -2147483648), 0 > e && (e = 4294967295 + e + 1), a.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : M(this, e, t, !1), t + 4
  3048. }, a.prototype.writeFloatLE = function (e, t, n) {
  3049. return V(this, e, t, !0, n)
  3050. }, a.prototype.writeFloatBE = function (e, t, n) {
  3051. return V(this, e, t, !1, n)
  3052. }, a.prototype.writeDoubleLE = function (e, t, n) {
  3053. return U(this, e, t, !0, n)
  3054. }, a.prototype.writeDoubleBE = function (e, t, n) {
  3055. return U(this, e, t, !1, n)
  3056. }, a.prototype.copy = function (e, t, n, i) {
  3057. if (n || (n = 0), i || 0 === i || (i = this.length), t >= e.length && (t = e.length), t || (t = 0), i > 0 && n > i && (i = n), i === n) return 0;
  3058. if (0 === e.length || 0 === this.length) return 0;
  3059. if (0 > t) throw new RangeError("targetStart out of bounds");
  3060. if (0 > n || n >= this.length) throw new RangeError("sourceStart out of bounds");
  3061. if (0 > i) throw new RangeError("sourceEnd out of bounds");
  3062. i > this.length && (i = this.length), e.length - t < i - n && (i = e.length - t + n);
  3063. var r, o = i - n;
  3064. if (this === e && t > n && i > t) for (r = o - 1; r >= 0; --r) e[r + t] = this[r + n]; else if (1e3 > o || !a.TYPED_ARRAY_SUPPORT) for (r = 0; o > r; ++r) e[r + t] = this[r + n]; else Uint8Array.prototype.set.call(e, this.subarray(n, n + o), t);
  3065. return o
  3066. }, a.prototype.fill = function (e, t, n, i) {
  3067. if ("string" == typeof e) {
  3068. if ("string" == typeof t ? (i = t, t = 0, n = this.length) : "string" == typeof n && (i = n, n = this.length), 1 === e.length) {
  3069. var r = e.charCodeAt(0);
  3070. 256 > r && (e = r)
  3071. }
  3072. if (void 0 !== i && "string" != typeof i) throw new TypeError("encoding must be a string");
  3073. if ("string" == typeof i && !a.isEncoding(i)) throw new TypeError("Unknown encoding: " + i)
  3074. } else "number" == typeof e && (e = 255 & e);
  3075. if (0 > t || this.length < t || this.length < n) throw new RangeError("Out of range index");
  3076. if (t >= n) return this;
  3077. t >>>= 0, n = void 0 === n ? this.length : n >>> 0, e || (e = 0);
  3078. var o;
  3079. if ("number" == typeof e) for (o = t; n > o; ++o) this[o] = e; else {
  3080. var s = a.isBuffer(e) ? e : G(new a(e, i).toString()), l = s.length;
  3081. for (o = 0; n - t > o; ++o) this[o + t] = s[o % l]
  3082. }
  3083. return this
  3084. };
  3085. var te = /[^+\/0-9A-Za-z-_]/g
  3086. }).call(t, n(2))
  3087. }, function (e, t, n) {
  3088. "use strict";
  3089.  
  3090. function i(e) {
  3091. return this instanceof i ? (c.call(this, e), u.call(this, e), e && e.readable === !1 && (this.readable = !1), e && e.writable === !1 && (this.writable = !1), this.allowHalfOpen = !0, e && e.allowHalfOpen === !1 && (this.allowHalfOpen = !1), void this.once("end", r)) : new i(e)
  3092. }
  3093.  
  3094. function r() {
  3095. this.allowHalfOpen || this._writableState.ended || s(o, this)
  3096. }
  3097.  
  3098. function o(e) {
  3099. e.end()
  3100. }
  3101.  
  3102. var a = Object.keys || function (e) {
  3103. var t = [];
  3104. for (var n in e) t.push(n);
  3105. return t
  3106. };
  3107. e.exports = i;
  3108. var s = n(12), l = n(5);
  3109. l.inherits = n(3);
  3110. var c = n(23), u = n(15);
  3111. l.inherits(i, c);
  3112. for (var d = a(u.prototype), h = 0; h < d.length; h++) {
  3113. var p = d[h];
  3114. i.prototype[p] || (i.prototype[p] = u.prototype[p])
  3115. }
  3116. }, function (e, t) {
  3117. var n;
  3118. n = function () {
  3119. return this
  3120. }();
  3121. try {
  3122. n = n || Function("return this")() || (0, eval)("this")
  3123. } catch (i) {
  3124. "object" == typeof window && (n = window)
  3125. }
  3126. e.exports = n
  3127. }, function (e, t) {
  3128. "function" == typeof Object.create ? e.exports = function (e, t) {
  3129. e.super_ = t, e.prototype = Object.create(t.prototype, {
  3130. constructor: {
  3131. value: e,
  3132. enumerable: !1,
  3133. writable: !0,
  3134. configurable: !0
  3135. }
  3136. })
  3137. } : e.exports = function (e, t) {
  3138. e.super_ = t;
  3139. var n = function () {
  3140. };
  3141. n.prototype = t.prototype, e.prototype = new n, e.prototype.constructor = e
  3142. }
  3143. }, function (e, t) {
  3144. function n() {
  3145. throw new Error("setTimeout has not been defined")
  3146. }
  3147.  
  3148. function i() {
  3149. throw new Error("clearTimeout has not been defined")
  3150. }
  3151.  
  3152. function r(e) {
  3153. if (u === setTimeout) return setTimeout(e, 0);
  3154. if ((u === n || !u) && setTimeout) return u = setTimeout, setTimeout(e, 0);
  3155. try {
  3156. return u(e, 0)
  3157. } catch (t) {
  3158. try {
  3159. return u.call(null, e, 0)
  3160. } catch (t) {
  3161. return u.call(this, e, 0)
  3162. }
  3163. }
  3164. }
  3165.  
  3166. function o(e) {
  3167. if (d === clearTimeout) return clearTimeout(e);
  3168. if ((d === i || !d) && clearTimeout) return d = clearTimeout, clearTimeout(e);
  3169. try {
  3170. return d(e)
  3171. } catch (t) {
  3172. try {
  3173. return d.call(null, e)
  3174. } catch (t) {
  3175. return d.call(this, e)
  3176. }
  3177. }
  3178. }
  3179.  
  3180. function a() {
  3181. m && p && (m = !1, p.length ? f = p.concat(f) : g = -1, f.length && s())
  3182. }
  3183.  
  3184. function s() {
  3185. if (!m) {
  3186. var e = r(a);
  3187. m = !0;
  3188. for (var t = f.length; t;) {
  3189. for (p = f, f = []; ++g < t;) p && p[g].run();
  3190. g = -1, t = f.length
  3191. }
  3192. p = null, m = !1, o(e)
  3193. }
  3194. }
  3195.  
  3196. function l(e, t) {
  3197. this.fun = e, this.array = t
  3198. }
  3199.  
  3200. function c() {
  3201. }
  3202.  
  3203. var u, d, h = e.exports = {};
  3204. !function () {
  3205. try {
  3206. u = "function" == typeof setTimeout ? setTimeout : n
  3207. } catch (e) {
  3208. u = n
  3209. }
  3210. try {
  3211. d = "function" == typeof clearTimeout ? clearTimeout : i
  3212. } catch (e) {
  3213. d = i
  3214. }
  3215. }();
  3216. var p, f = [], m = !1, g = -1;
  3217. h.nextTick = function (e) {
  3218. var t = new Array(arguments.length - 1);
  3219. if (arguments.length > 1) for (var n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
  3220. f.push(new l(e, t)), 1 !== f.length || m || r(s)
  3221. }, l.prototype.run = function () {
  3222. this.fun.apply(null, this.array)
  3223. }, h.title = "browser", h.browser = !0, h.env = {}, h.argv = [], h.version = "", h.versions = {}, h.on = c, h.addListener = c, h.once = c, h.off = c, h.removeListener = c, h.removeAllListeners = c, h.emit = c, h.binding = function (e) {
  3224. throw new Error("process.binding is not supported")
  3225. }, h.cwd = function () {
  3226. return "/"
  3227. }, h.chdir = function (e) {
  3228. throw new Error("process.chdir is not supported")
  3229. }, h.umask = function () {
  3230. return 0
  3231. }
  3232. }, function (e, t, n) {
  3233. (function (e) {
  3234. function n(e) {
  3235. return Array.isArray ? Array.isArray(e) : "[object Array]" === g(e)
  3236. }
  3237.  
  3238. function i(e) {
  3239. return "boolean" == typeof e
  3240. }
  3241.  
  3242. function r(e) {
  3243. return null === e
  3244. }
  3245.  
  3246. function o(e) {
  3247. return null == e
  3248. }
  3249.  
  3250. function a(e) {
  3251. return "number" == typeof e
  3252. }
  3253.  
  3254. function s(e) {
  3255. return "string" == typeof e
  3256. }
  3257.  
  3258. function l(e) {
  3259. return "symbol" == typeof e
  3260. }
  3261.  
  3262. function c(e) {
  3263. return void 0 === e
  3264. }
  3265.  
  3266. function u(e) {
  3267. return "[object RegExp]" === g(e)
  3268. }
  3269.  
  3270. function d(e) {
  3271. return "object" == typeof e && null !== e
  3272. }
  3273.  
  3274. function h(e) {
  3275. return "[object Date]" === g(e)
  3276. }
  3277.  
  3278. function p(e) {
  3279. return "[object Error]" === g(e) || e instanceof Error
  3280. }
  3281.  
  3282. function f(e) {
  3283. return "function" == typeof e
  3284. }
  3285.  
  3286. function m(e) {
  3287. return null === e || "boolean" == typeof e || "number" == typeof e || "string" == typeof e || "symbol" == typeof e || "undefined" == typeof e
  3288. }
  3289.  
  3290. function g(e) {
  3291. return Object.prototype.toString.call(e)
  3292. }
  3293.  
  3294. t.isArray = n, t.isBoolean = i, t.isNull = r, t.isNullOrUndefined = o, t.isNumber = a, t.isString = s, t.isSymbol = l, t.isUndefined = c, t.isRegExp = u, t.isObject = d, t.isDate = h, t.isError = p, t.isFunction = f, t.isPrimitive = m, t.isBuffer = e.isBuffer
  3295. }).call(t, n(0).Buffer)
  3296. }, function (e, t, n) {
  3297. function i() {
  3298. r.call(this)
  3299. }
  3300.  
  3301. e.exports = i;
  3302. var r = n(7).EventEmitter, o = n(3);
  3303. o(i, r), i.Readable = n(47), i.Writable = n(49), i.Duplex = n(44), i.Transform = n(48), i.PassThrough = n(46), i.Stream = i, i.prototype.pipe = function (e, t) {
  3304. function n(t) {
  3305. e.writable && !1 === e.write(t) && c.pause && c.pause()
  3306. }
  3307.  
  3308. function i() {
  3309. c.readable && c.resume && c.resume()
  3310. }
  3311.  
  3312. function o() {
  3313. u || (u = !0, e.end())
  3314. }
  3315.  
  3316. function a() {
  3317. u || (u = !0, "function" == typeof e.destroy && e.destroy())
  3318. }
  3319.  
  3320. function s(e) {
  3321. if (l(), 0 === r.listenerCount(this, "error")) throw e
  3322. }
  3323.  
  3324. function l() {
  3325. c.removeListener("data", n), e.removeListener("drain", i), c.removeListener("end", o), c.removeListener("close", a), c.removeListener("error", s), e.removeListener("error", s), c.removeListener("end", l), c.removeListener("close", l), e.removeListener("close", l)
  3326. }
  3327.  
  3328. var c = this;
  3329. c.on("data", n), e.on("drain", i), e._isStdio || t && t.end === !1 || (c.on("end", o), c.on("close", a));
  3330. var u = !1;
  3331. return c.on("error", s), e.on("error", s), c.on("end", l), c.on("close", l), e.on("close", l), e.emit("pipe", c), e
  3332. }
  3333. }, function (e, t) {
  3334. function n() {
  3335. this._events = this._events || {}, this._maxListeners = this._maxListeners || void 0
  3336. }
  3337.  
  3338. function i(e) {
  3339. return "function" == typeof e
  3340. }
  3341.  
  3342. function r(e) {
  3343. return "number" == typeof e
  3344. }
  3345.  
  3346. function o(e) {
  3347. return "object" == typeof e && null !== e
  3348. }
  3349.  
  3350. function a(e) {
  3351. return void 0 === e
  3352. }
  3353.  
  3354. e.exports = n, n.EventEmitter = n, n.prototype._events = void 0, n.prototype._maxListeners = void 0, n.defaultMaxListeners = 10, n.prototype.setMaxListeners = function (e) {
  3355. if (!r(e) || 0 > e || isNaN(e)) throw TypeError("n must be a positive number");
  3356. return this._maxListeners = e, this
  3357. }, n.prototype.emit = function (e) {
  3358. var t, n, r, s, l, c;
  3359. if (this._events || (this._events = {}), "error" === e && (!this._events.error || o(this._events.error) && !this._events.error.length)) {
  3360. if (t = arguments[1], t instanceof Error) throw t;
  3361. var u = new Error('Uncaught, unspecified "error" event. (' + t + ")");
  3362. throw u.context = t, u
  3363. }
  3364. if (n = this._events[e], a(n)) return !1;
  3365. if (i(n)) switch (arguments.length) {
  3366. case 1:
  3367. n.call(this);
  3368. break;
  3369. case 2:
  3370. n.call(this, arguments[1]);
  3371. break;
  3372. case 3:
  3373. n.call(this, arguments[1], arguments[2]);
  3374. break;
  3375. default:
  3376. s = Array.prototype.slice.call(arguments, 1), n.apply(this, s)
  3377. } else if (o(n)) for (s = Array.prototype.slice.call(arguments, 1), c = n.slice(), r = c.length, l = 0; r > l; l++) c[l].apply(this, s);
  3378. return !0
  3379. }, n.prototype.addListener = function (e, t) {
  3380. var r;
  3381. if (!i(t)) throw TypeError("listener must be a function");
  3382. return this._events || (this._events = {}), this._events.newListener && this.emit("newListener", e, i(t.listener) ? t.listener : t), this._events[e] ? o(this._events[e]) ? this._events[e].push(t) : this._events[e] = [this._events[e], t] : this._events[e] = t, o(this._events[e]) && !this._events[e].warned && (r = a(this._maxListeners) ? n.defaultMaxListeners : this._maxListeners, r && r > 0 && this._events[e].length > r && (this._events[e].warned = !0, "function" == typeof console.trace)), this
  3383. }, n.prototype.on = n.prototype.addListener, n.prototype.once = function (e, t) {
  3384. function n() {
  3385. this.removeListener(e, n), r || (r = !0, t.apply(this, arguments))
  3386. }
  3387.  
  3388. if (!i(t)) throw TypeError("listener must be a function");
  3389. var r = !1;
  3390. return n.listener = t, this.on(e, n), this
  3391. }, n.prototype.removeListener = function (e, t) {
  3392. var n, r, a, s;
  3393. if (!i(t)) throw TypeError("listener must be a function");
  3394. if (!this._events || !this._events[e]) return this;
  3395. if (n = this._events[e], a = n.length, r = -1, n === t || i(n.listener) && n.listener === t) delete this._events[e], this._events.removeListener && this.emit("removeListener", e, t); else if (o(n)) {
  3396. for (s = a; s-- > 0;) if (n[s] === t || n[s].listener && n[s].listener === t) {
  3397. r = s;
  3398. break
  3399. }
  3400. if (0 > r) return this;
  3401. 1 === n.length ? (n.length = 0, delete this._events[e]) : n.splice(r, 1), this._events.removeListener && this.emit("removeListener", e, t)
  3402. }
  3403. return this
  3404. }, n.prototype.removeAllListeners = function (e) {
  3405. var t, n;
  3406. if (!this._events) return this;
  3407. if (!this._events.removeListener) return 0 === arguments.length ? this._events = {} : this._events[e] && delete this._events[e], this;
  3408. if (0 === arguments.length) {
  3409. for (t in this._events) "removeListener" !== t && this.removeAllListeners(t);
  3410. return this.removeAllListeners("removeListener"), this._events = {}, this
  3411. }
  3412. if (n = this._events[e], i(n)) this.removeListener(e, n); else if (n) for (; n.length;) this.removeListener(e, n[n.length - 1]);
  3413. return delete this._events[e], this
  3414. }, n.prototype.listeners = function (e) {
  3415. var t;
  3416. return t = this._events && this._events[e] ? i(this._events[e]) ? [this._events[e]] : this._events[e].slice() : []
  3417. }, n.prototype.listenerCount = function (e) {
  3418. if (this._events) {
  3419. var t = this._events[e];
  3420. if (i(t)) return 1;
  3421. if (t) return t.length
  3422. }
  3423. return 0
  3424. }, n.listenerCount = function (e, t) {
  3425. return e.listenerCount(t)
  3426. }
  3427. }, function (e, t, n) {
  3428. "use strict";
  3429.  
  3430. function i() {
  3431. this.protocol = null, this.slashes = null, this.auth = null, this.host = null, this.port = null, this.hostname = null, this.hash = null, this.search = null, this.query = null, this.pathname = null, this.path = null, this.href = null
  3432. }
  3433.  
  3434. function r(e, t, n) {
  3435. if (e && c.isObject(e) && e instanceof i) return e;
  3436. var r = new i;
  3437. return r.parse(e, t, n), r
  3438. }
  3439.  
  3440. function o(e) {
  3441. return c.isString(e) && (e = r(e)), e instanceof i ? e.format() : i.prototype.format.call(e)
  3442. }
  3443.  
  3444. function a(e, t) {
  3445. return r(e, !1, !0).resolve(t)
  3446. }
  3447.  
  3448. function s(e, t) {
  3449. return e ? r(e, !1, !0).resolveObject(t) : t
  3450. }
  3451.  
  3452. var l = n(41), c = n(51);
  3453. t.parse = r, t.resolve = a, t.resolveObject = s, t.format = o, t.Url = i;
  3454. var u = /^([a-z0-9.+-]+:)/i, d = /:[0-9]*$/, h = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,
  3455. p = ["<", ">", '"', "`", " ", "\r", "\n", " "], f = ["{", "}", "|", "\\", "^", "`"].concat(p),
  3456. m = ["'"].concat(f), g = ["%", "/", "?", ";", "#"].concat(m), v = ["/", "?", "#"], y = 255,
  3457. b = /^[+a-z0-9A-Z_-]{0,63}$/, w = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,
  3458. T = {javascript: !0, "javascript:": !0}, E = {javascript: !0, "javascript:": !0}, x = {
  3459. http: !0,
  3460. https: !0,
  3461. ftp: !0,
  3462. gopher: !0,
  3463. file: !0,
  3464. "http:": !0,
  3465. "https:": !0,
  3466. "ftp:": !0,
  3467. "gopher:": !0,
  3468. "file:": !0
  3469. }, I = n(13);
  3470. i.prototype.parse = function (e, t, n) {
  3471. if (!c.isString(e)) throw new TypeError("Parameter 'url' must be a string, not " + typeof e);
  3472. var i = e.indexOf("?"), r = -1 !== i && i < e.indexOf("#") ? "?" : "#", o = e.split(r), a = /\\/g;
  3473. o[0] = o[0].replace(a, "/"), e = o.join(r);
  3474. var s = e;
  3475. if (s = s.trim(), !n && 1 === e.split("#").length) {
  3476. var d = h.exec(s);
  3477. if (d) return this.path = s, this.href = s, this.pathname = d[1], d[2] ? (this.search = d[2], t ? this.query = I.parse(this.search.substr(1)) : this.query = this.search.substr(1)) : t && (this.search = "", this.query = {}), this
  3478. }
  3479. var p = u.exec(s);
  3480. if (p) {
  3481. p = p[0];
  3482. var f = p.toLowerCase();
  3483. this.protocol = f, s = s.substr(p.length)
  3484. }
  3485. if (n || p || s.match(/^\/\/[^@\/]+@[^@\/]+/)) {
  3486. var S = "//" === s.substr(0, 2);
  3487. !S || p && E[p] || (s = s.substr(2), this.slashes = !0)
  3488. }
  3489. if (!E[p] && (S || p && !x[p])) {
  3490. for (var N = -1, C = 0; C < v.length; C++) {
  3491. var A = s.indexOf(v[C]);
  3492. -1 !== A && (-1 === N || N > A) && (N = A)
  3493. }
  3494. var _, k;
  3495. k = -1 === N ? s.lastIndexOf("@") : s.lastIndexOf("@", N), -1 !== k && (_ = s.slice(0, k), s = s.slice(k + 1), this.auth = decodeURIComponent(_)), N = -1;
  3496. for (var C = 0; C < g.length; C++) {
  3497. var A = s.indexOf(g[C]);
  3498. -1 !== A && (-1 === N || N > A) && (N = A)
  3499. }
  3500. -1 === N && (N = s.length), this.host = s.slice(0, N), s = s.slice(N), this.parseHost(), this.hostname = this.hostname || "";
  3501. var O = "[" === this.hostname[0] && "]" === this.hostname[this.hostname.length - 1];
  3502. if (!O) for (var L = this.hostname.split(/\./), C = 0, $ = L.length; $ > C; C++) {
  3503. var D = L[C];
  3504. if (D && !D.match(b)) {
  3505. for (var B = "", P = 0, R = D.length; R > P; P++) B += D.charCodeAt(P) > 127 ? "x" : D[P];
  3506. if (!B.match(b)) {
  3507. var M = L.slice(0, C), q = L.slice(C + 1), V = D.match(w);
  3508. V && (M.push(V[1]), q.unshift(V[2])), q.length && (s = "/" + q.join(".") + s), this.hostname = M.join(".");
  3509. break
  3510. }
  3511. }
  3512. }
  3513. this.hostname.length > y ? this.hostname = "" : this.hostname = this.hostname.toLowerCase(), O || (this.hostname = l.toASCII(this.hostname));
  3514. var U = this.port ? ":" + this.port : "", H = this.hostname || "";
  3515. this.host = H + U, this.href += this.host, O && (this.hostname = this.hostname.substr(1, this.hostname.length - 2), "/" !== s[0] && (s = "/" + s))
  3516. }
  3517. if (!T[f]) for (var C = 0, $ = m.length; $ > C; C++) {
  3518. var j = m[C];
  3519. if (-1 !== s.indexOf(j)) {
  3520. var F = encodeURIComponent(j);
  3521. F === j && (F = escape(j)), s = s.split(j).join(F)
  3522. }
  3523. }
  3524. var G = s.indexOf("#");
  3525. -1 !== G && (this.hash = s.substr(G), s = s.slice(0, G));
  3526. var Y = s.indexOf("?");
  3527. if (-1 !== Y ? (this.search = s.substr(Y), this.query = s.substr(Y + 1), t && (this.query = I.parse(this.query)), s = s.slice(0, Y)) : t && (this.search = "", this.query = {}), s && (this.pathname = s), x[f] && this.hostname && !this.pathname && (this.pathname = "/"), this.pathname || this.search) {
  3528. var U = this.pathname || "", z = this.search || "";
  3529. this.path = U + z
  3530. }
  3531. return this.href = this.format(), this
  3532. }, i.prototype.format = function () {
  3533. var e = this.auth || "";
  3534. e && (e = encodeURIComponent(e), e = e.replace(/%3A/i, ":"), e += "@");
  3535. var t = this.protocol || "", n = this.pathname || "", i = this.hash || "", r = !1, o = "";
  3536. this.host ? r = e + this.host : this.hostname && (r = e + (-1 === this.hostname.indexOf(":") ? this.hostname : "[" + this.hostname + "]"), this.port && (r += ":" + this.port)), this.query && c.isObject(this.query) && Object.keys(this.query).length && (o = I.stringify(this.query));
  3537. var a = this.search || o && "?" + o || "";
  3538. return t && ":" !== t.substr(-1) && (t += ":"), this.slashes || (!t || x[t]) && r !== !1 ? (r = "//" + (r || ""), n && "/" !== n.charAt(0) && (n = "/" + n)) : r || (r = ""), i && "#" !== i.charAt(0) && (i = "#" + i), a && "?" !== a.charAt(0) && (a = "?" + a), n = n.replace(/[?#]/g, function (e) {
  3539. return encodeURIComponent(e)
  3540. }), a = a.replace("#", "%23"), t + r + n + a + i
  3541. }, i.prototype.resolve = function (e) {
  3542. return this.resolveObject(r(e, !1, !0)).format()
  3543. }, i.prototype.resolveObject = function (e) {
  3544. if (c.isString(e)) {
  3545. var t = new i;
  3546. t.parse(e, !1, !0), e = t
  3547. }
  3548. for (var n = new i, r = Object.keys(this), o = 0; o < r.length; o++) {
  3549. var a = r[o];
  3550. n[a] = this[a]
  3551. }
  3552. if (n.hash = e.hash, "" === e.href) return n.href = n.format(), n;
  3553. if (e.slashes && !e.protocol) {
  3554. for (var s = Object.keys(e), l = 0; l < s.length; l++) {
  3555. var u = s[l];
  3556. "protocol" !== u && (n[u] = e[u])
  3557. }
  3558. return x[n.protocol] && n.hostname && !n.pathname && (n.path = n.pathname = "/"), n.href = n.format(), n
  3559. }
  3560. if (e.protocol && e.protocol !== n.protocol) {
  3561. if (!x[e.protocol]) {
  3562. for (var d = Object.keys(e), h = 0; h < d.length; h++) {
  3563. var p = d[h];
  3564. n[p] = e[p]
  3565. }
  3566. return n.href = n.format(), n
  3567. }
  3568. if (n.protocol = e.protocol, e.host || E[e.protocol]) n.pathname = e.pathname; else {
  3569. for (var f = (e.pathname || "").split("/"); f.length && !(e.host = f.shift());) ;
  3570. e.host || (e.host = ""), e.hostname || (e.hostname = ""), "" !== f[0] && f.unshift(""), f.length < 2 && f.unshift(""), n.pathname = f.join("/")
  3571. }
  3572. if (n.search = e.search, n.query = e.query, n.host = e.host || "", n.auth = e.auth, n.hostname = e.hostname || e.host, n.port = e.port, n.pathname || n.search) {
  3573. var m = n.pathname || "", g = n.search || "";
  3574. n.path = m + g
  3575. }
  3576. return n.slashes = n.slashes || e.slashes, n.href = n.format(), n
  3577. }
  3578. var v = n.pathname && "/" === n.pathname.charAt(0),
  3579. y = e.host || e.pathname && "/" === e.pathname.charAt(0), b = y || v || n.host && e.pathname, w = b,
  3580. T = n.pathname && n.pathname.split("/") || [], f = e.pathname && e.pathname.split("/") || [],
  3581. I = n.protocol && !x[n.protocol];
  3582. if (I && (n.hostname = "", n.port = null, n.host && ("" === T[0] ? T[0] = n.host : T.unshift(n.host)), n.host = "", e.protocol && (e.hostname = null, e.port = null, e.host && ("" === f[0] ? f[0] = e.host : f.unshift(e.host)), e.host = null), b = b && ("" === f[0] || "" === T[0])), y) n.host = e.host || "" === e.host ? e.host : n.host, n.hostname = e.hostname || "" === e.hostname ? e.hostname : n.hostname, n.search = e.search, n.query = e.query, T = f; else if (f.length) T || (T = []), T.pop(), T = T.concat(f), n.search = e.search, n.query = e.query; else if (!c.isNullOrUndefined(e.search)) {
  3583. if (I) {
  3584. n.hostname = n.host = T.shift();
  3585. var S = n.host && n.host.indexOf("@") > 0 ? n.host.split("@") : !1;
  3586. S && (n.auth = S.shift(), n.host = n.hostname = S.shift())
  3587. }
  3588. return n.search = e.search, n.query = e.query, c.isNull(n.pathname) && c.isNull(n.search) || (n.path = (n.pathname ? n.pathname : "") + (n.search ? n.search : "")), n.href = n.format(), n
  3589. }
  3590. if (!T.length) return n.pathname = null, n.search ? n.path = "/" + n.search : n.path = null, n.href = n.format(), n;
  3591. for (var N = T.slice(-1)[0], C = (n.host || e.host || T.length > 1) && ("." === N || ".." === N) || "" === N, A = 0, _ = T.length; _ >= 0; _--) N = T[_], "." === N ? T.splice(_, 1) : ".." === N ? (T.splice(_, 1), A++) : A && (T.splice(_, 1), A--);
  3592. if (!b && !w) for (; A--; A) T.unshift("..");
  3593. !b || "" === T[0] || T[0] && "/" === T[0].charAt(0) || T.unshift(""), C && "/" !== T.join("/").substr(-1) && T.push("");
  3594. var k = "" === T[0] || T[0] && "/" === T[0].charAt(0);
  3595. if (I) {
  3596. n.hostname = n.host = k ? "" : T.length ? T.shift() : "";
  3597. var S = n.host && n.host.indexOf("@") > 0 ? n.host.split("@") : !1;
  3598. S && (n.auth = S.shift(), n.host = n.hostname = S.shift())
  3599. }
  3600. return b = b || n.host && T.length, b && !k && T.unshift(""), T.length ? n.pathname = T.join("/") : (n.pathname = null, n.path = null), c.isNull(n.pathname) && c.isNull(n.search) || (n.path = (n.pathname ? n.pathname : "") + (n.search ? n.search : "")), n.auth = e.auth || n.auth, n.slashes = n.slashes || e.slashes, n.href = n.format(), n
  3601. }, i.prototype.parseHost = function () {
  3602. var e = this.host, t = d.exec(e);
  3603. t && (t = t[0], ":" !== t && (this.port = t.substr(1)), e = e.substr(0, e.length - t.length)), e && (this.hostname = e)
  3604. }
  3605. }, function (e, t, n) {
  3606. var i = n(13), r = n(8), o = n(29).AllHtmlEntities, a = n(19), s = "https://www.youtube.com/watch?v=",
  3607. l = /(?:(\d+)h)?(?:(\d+)m(?!s))?(?:(\d+)s)?(?:(\d+)(?:ms)?)?/;
  3608. t.parseTime = function (e) {
  3609. var t = l.exec(e.toString()), n = t[1] || 0, i = t[2] || 0, r = t[3] || 0, o = t[4] || 0;
  3610. return 36e5 * n + 6e4 * i + 1e3 * r + parseInt(o, 10)
  3611. };
  3612. var c = {mp3: 1, vorbis: 2, aac: 3, opus: 4, flac: 5},
  3613. u = {"Sorenson H.283": 1, "MPEG-4 Visual": 2, VP8: 3, VP9: 4, "H.264": 5};
  3614. t.sortFormats = function (e, t) {
  3615. function n(e) {
  3616. if (e.bitrate) {
  3617. var t = e.bitrate.split("-");
  3618. return parseFloat(t[t.length - 1], 10)
  3619. }
  3620. return 0
  3621. }
  3622.  
  3623. function i(e) {
  3624. var t = e.audioBitrate || 0, n = c[e.audioEncoding] || 0;
  3625. return t + n / 10
  3626. }
  3627.  
  3628. var r = e.resolution ? parseInt(e.resolution.slice(0, -1), 10) : 0,
  3629. o = t.resolution ? parseInt(t.resolution.slice(0, -1), 10) : 0, a = 2 * ~~!!r + ~~!!e.audioBitrate,
  3630. s = 2 * ~~!!o + ~~!!t.audioBitrate;
  3631. if (a === s) {
  3632. if (r === o) {
  3633. var l = n(e), d = n(t);
  3634. if (l === d) {
  3635. var h = i(e), p = i(t);
  3636. if (h === p) {
  3637. var f = u[e.encoding] || 0, m = u[t.encoding] || 0;
  3638. return m - f
  3639. }
  3640. return p - h
  3641. }
  3642. return d - l
  3643. }
  3644. return o - r
  3645. }
  3646. return s - a
  3647. }, t.chooseFormat = function (e, n) {
  3648. if ("object" == typeof n.format) return n.format;
  3649. if (n.filter && (e = t.filterFormats(e, n.filter), 0 === e.length)) return new Error("No formats found with custom filter");
  3650. var i, r = n.quality || "highest";
  3651. switch (r) {
  3652. case"highest":
  3653. i = e[0];
  3654. break;
  3655. case"lowest":
  3656. i = e[e.length - 1];
  3657. break;
  3658. default:
  3659. var o = function (t) {
  3660. for (var n = 0, i = e.length; i > n; n++) if (e[n].itag === "" + t) return e[n];
  3661. return null
  3662. };
  3663. if (Array.isArray(r)) for (var a = 0, s = r.length; s > a && !(i = o(r[a])); a++) ; else i = o(r)
  3664. }
  3665. return i ? i.rtmp ? new Error("rtmp protocol not supported") : i : new Error("No such format found: " + r)
  3666. }, t.filterFormats = function (e, t) {
  3667. var n;
  3668. switch (t) {
  3669. case"video":
  3670. n = function (e) {
  3671. return e.bitrate
  3672. };
  3673. break;
  3674. case"videoonly":
  3675. n = function (e) {
  3676. return e.bitrate && !e.audioBitrate
  3677. };
  3678. break;
  3679. case"audio":
  3680. n = function (e) {
  3681. return e.audioBitrate
  3682. };
  3683. break;
  3684. case"audioonly":
  3685. n = function (e) {
  3686. return !e.bitrate && e.audioBitrate
  3687. };
  3688. break;
  3689. default:
  3690. n = t
  3691. }
  3692. return e.filter(n)
  3693. }, t.between = function (e, t, n) {
  3694. var i;
  3695. return i = e.indexOf(t), -1 === i ? "" : (e = e.slice(i + t.length), i = e.indexOf(n), -1 === i ? "" : e = e.slice(0, i))
  3696. };
  3697. var d = /^[a-zA-Z0-9-_]{11}$/;
  3698. t.getVideoID = function (e) {
  3699. if (d.test(e)) return e;
  3700. var t = r.parse(e, !0), n = t.query.v;
  3701. if ("youtu.be" === t.hostname || ("youtube.com" === t.hostname || "www.youtube.com" === t.hostname) && !n) {
  3702. var i = t.pathname.split("/");
  3703. n = i[i.length - 1]
  3704. }
  3705. if (!n) throw new Error("No video id found: " + e);
  3706. if (!d.test(n)) throw new Error("Video id (" + n + ") does not match expected format (" + d.toString() + ")");
  3707. return n
  3708. }, t.parseFormats = function (e, t) {
  3709. var n = [];
  3710. return e.url_encoded_fmt_stream_map && (n = n.concat(e.url_encoded_fmt_stream_map.split(","))), e.adaptive_fmts && (n = n.concat(e.adaptive_fmts.split(","))), n = n.map(function (e) {
  3711. var t = i.parse(e), n = a[t.itag];
  3712. for (var r in n) t[r] = n[r];
  3713. return t
  3714. }), delete e.url_encoded_fmt_stream_map, delete e.adaptive_fmts, n
  3715. }, t.getVideoDescription = function (e) {
  3716. var t = /<p.*?id="eow-description".*?>(.+?)<\/p>[\n\r\s]*?<\/div>/im, n = e.match(t);
  3717. return n ? (new o).decode(n[1].replace(/\n/g, " ").replace(/\s*<\s*br\s*\/?\s*>\s*/gi, "\n").replace(/<\s*\/\s*p\s*>\s*<\s*p[^>]*>/gi, "\n").replace(/<.*?>/gi, "")).trim() : ""
  3718. };
  3719. var h = /<a href="\/channel\/([\w-]+)"[^>]+>(.+?(?=<\/a>))/, p = /<a href="\/user\/([^"]+)/;
  3720. t.getAuthor = function (e) {
  3721. var n = t.between(e, '<div id="watch7-user-header" class=" spf-link ">', '<div id="watch8-action-buttons" class="watch-action-buttons clearfix">');
  3722. if ("" === n) return {};
  3723. n = (new o).decode(n);
  3724. var i = n.match(h), a = n.match(p);
  3725. return {
  3726. id: i[1],
  3727. name: i[2],
  3728. avatar: r.resolve(s, t.between(n, 'data-thumb="', '"')),
  3729. user: a ? a[1] : null,
  3730. channel_url: "https://www.youtube.com/channel/" + i[1],
  3731. user_url: a ? "https://www.youtube.com/user/" + a[1] : null
  3732. }
  3733. }, t.getPublished = function (e) {
  3734. return Date.parse(t.between(e, '<meta itemprop="datePublished" content="', '">'))
  3735. }, t.getRelatedVideos = function (e) {
  3736. var n = t.between(e, "'RELATED_PLAYER_ARGS': {\"rvs\":", "},");
  3737. try {
  3738. n = JSON.parse(n)
  3739. } catch (r) {
  3740. return []
  3741. }
  3742. return n.split(",").map(function (e) {
  3743. return i.parse(e)
  3744. })
  3745. }, t.parallel = function (e, t) {
  3746. function n(e, n, s) {
  3747. if (!o) {
  3748. if (n) return o = !0, void t(n);
  3749. a[e] = s, ++i === r && t(null, a)
  3750. }
  3751. }
  3752.  
  3753. var i = 0, r = e.length, o = !1, a = [];
  3754. if (r > 0) for (var s = 0; r > s; s++) e[s](n.bind(null, s)); else t(null, a)
  3755. }, t.objectAssign = function (e, n, i) {
  3756. for (var r in n) i && "object" == typeof n[r] && null != n[r] && e[r] ? t.objectAssign(e[r], n[r]) : e[r] = n[r];
  3757. return e
  3758. }
  3759. }, function (e, t, n) {
  3760. function i(e, t, n) {
  3761. var i, r, s, c = e.href, u = new l;
  3762. if (t = t || {}, n && (t.onload = n), t.debugMode, c && ("string" == typeof c || c instanceof String) && c.length > 0) {
  3763. if (t && "object" == typeof t) for (i = 0; i < a.length; i++) void 0 === t[a[i]] && (t[a[i]] = o[a[i]]);
  3764. if (s = new XMLHttpRequest, s.open(t.method, c, t.async), t.headers && "object" == typeof t.headers) for (r = Object.keys(t.headers), i = 0; i < r.length; i++) s.setRequestHeader(r[i], t.headers[r[i]]);
  3765. return s.responseType = t.type, s.timeout = t.timeout, s.onload = function () {
  3766. var e = new l;
  3767. e.statusCode = this.status, e.responseText = this.response || this.responseText, e.setEncoding = function () {
  3768. }, t.debugMode, u.emit("response", e), e.emit("data", e.responseText), e.emit("end"), t.onload && "function" == typeof t.onload && t.onload.call(this, !1, this.response || this.responseText, this.status)
  3769. }, s.onerror = function (e) {
  3770. u.emit("error", e), t.onload && "function" == typeof t.onload && t.onload.call(this, e, this.response || this.responseText, this.status)
  3771. }, s.ontimeout = function () {
  3772. u.emit("error", new Error("Timeout response time")), t.onload && "function" == typeof t.onload && t.onload.call(this, new Error("Timeout response time"), null, this.status)
  3773. }, s.send(t.data ? t.data : null), u
  3774. }
  3775. return !1
  3776. }
  3777.  
  3778. var r = n(8).parse, o = {
  3779. method: "GET",
  3780. async: !0,
  3781. headers: {},
  3782. type: "text",
  3783. data: null,
  3784. timeout: 3e4,
  3785. onload: null,
  3786. onerror: null,
  3787. ontimeout: null
  3788. }, a = Object.keys(o), s = n(9), l = n(37);
  3789. l.prototype.on = l.prototype.addListener, e.exports = function (e, t, n) {
  3790. var o = r(e);
  3791. return s.objectAssign(o, t, !0), i(o, t, n)
  3792. }
  3793. }, function (e, t, n) {
  3794. "use strict";
  3795. (function (e) {
  3796. var i = n(0), r = i.Buffer, o = i.SlowBuffer, a = i.kMaxLength || 2147483647;
  3797. t.alloc = function (e, t, n) {
  3798. if ("function" == typeof r.alloc) return r.alloc(e, t, n);
  3799. if ("number" == typeof n) throw new TypeError("encoding must not be number");
  3800. if ("number" != typeof e) throw new TypeError("size must be a number");
  3801. if (e > a) throw new RangeError("size is too large");
  3802. var i = n, o = t;
  3803. void 0 === o && (i = void 0, o = 0);
  3804. var s = new r(e);
  3805. if ("string" == typeof o) for (var l = new r(o, i), c = l.length, u = -1; ++u < e;) s[u] = l[u % c]; else s.fill(o);
  3806. return s
  3807. }, t.allocUnsafe = function (e) {
  3808. if ("function" == typeof r.allocUnsafe) return r.allocUnsafe(e);
  3809. if ("number" != typeof e) throw new TypeError("size must be a number");
  3810. if (e > a) throw new RangeError("size is too large");
  3811. return new r(e)
  3812. }, t.from = function (t, n, i) {
  3813. if ("function" == typeof r.from && (!e.Uint8Array || Uint8Array.from !== r.from)) return r.from(t, n, i);
  3814. if ("number" == typeof t) throw new TypeError('"value" argument must not be a number');
  3815. if ("string" == typeof t) return new r(t, n);
  3816. if ("undefined" != typeof ArrayBuffer && t instanceof ArrayBuffer) {
  3817. var o = n;
  3818. if (1 === arguments.length) return new r(t);
  3819. "undefined" == typeof o && (o = 0);
  3820. var a = i;
  3821. if ("undefined" == typeof a && (a = t.byteLength - o), o >= t.byteLength) throw new RangeError("'offset' is out of bounds");
  3822. if (a > t.byteLength - o) throw new RangeError("'length' is out of bounds");
  3823. return new r(t.slice(o, o + a))
  3824. }
  3825. if (r.isBuffer(t)) {
  3826. var s = new r(t.length);
  3827. return t.copy(s, 0, 0, t.length), s
  3828. }
  3829. if (t) {
  3830. if (Array.isArray(t) || "undefined" != typeof ArrayBuffer && t.buffer instanceof ArrayBuffer || "length" in t) return new r(t);
  3831. if ("Buffer" === t.type && Array.isArray(t.data)) return new r(t.data)
  3832. }
  3833. throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")
  3834. }, t.allocUnsafeSlow = function (e) {
  3835. if ("function" == typeof r.allocUnsafeSlow) return r.allocUnsafeSlow(e);
  3836. if ("number" != typeof e) throw new TypeError("size must be a number");
  3837. if (e >= a) throw new RangeError("size is too large");
  3838. return new o(e)
  3839. }
  3840. }).call(t, n(2))
  3841. }, function (e, t, n) {
  3842. "use strict";
  3843. (function (t) {
  3844. function n(e, n, i, r) {
  3845. if ("function" != typeof e) throw new TypeError('"callback" argument must be a function');
  3846. var o, a, s = arguments.length;
  3847. switch (s) {
  3848. case 0:
  3849. case 1:
  3850. return t.nextTick(e);
  3851. case 2:
  3852. return t.nextTick(function () {
  3853. e.call(null, n)
  3854. });
  3855. case 3:
  3856. return t.nextTick(function () {
  3857. e.call(null, n, i)
  3858. });
  3859. case 4:
  3860. return t.nextTick(function () {
  3861. e.call(null, n, i, r)
  3862. });
  3863. default:
  3864. for (o = new Array(s - 1), a = 0; a < o.length;) o[a++] = arguments[a];
  3865. return t.nextTick(function () {
  3866. e.apply(null, o)
  3867. })
  3868. }
  3869. }
  3870.  
  3871. !t.version || 0 === t.version.indexOf("v0.") || 0 === t.version.indexOf("v1.") && 0 !== t.version.indexOf("v1.8.") ? e.exports = n : e.exports = t.nextTick
  3872. }).call(t, n(4))
  3873. }, function (e, t, n) {
  3874. "use strict";
  3875. t.decode = t.parse = n(42), t.encode = t.stringify = n(43)
  3876. }, function (e, t, n) {
  3877. "use strict";
  3878.  
  3879. function i(e) {
  3880. this.afterTransform = function (t, n) {
  3881. return r(e, t, n)
  3882. }, this.needTransform = !1, this.transforming = !1, this.writecb = null, this.writechunk = null, this.writeencoding = null
  3883. }
  3884.  
  3885. function r(e, t, n) {
  3886. var i = e._transformState;
  3887. i.transforming = !1;
  3888. var r = i.writecb;
  3889. if (!r) return e.emit("error", new Error("no writecb in Transform class"));
  3890. i.writechunk = null, i.writecb = null, null !== n && void 0 !== n && e.push(n), r(t);
  3891. var o = e._readableState;
  3892. o.reading = !1, (o.needReadable || o.length < o.highWaterMark) && e._read(o.highWaterMark)
  3893. }
  3894.  
  3895. function o(e) {
  3896. if (!(this instanceof o)) return new o(e);
  3897. s.call(this, e), this._transformState = new i(this);
  3898. var t = this;
  3899. this._readableState.needReadable = !0, this._readableState.sync = !1, e && ("function" == typeof e.transform && (this._transform = e.transform), "function" == typeof e.flush && (this._flush = e.flush)), this.once("prefinish", function () {
  3900. "function" == typeof this._flush ? this._flush(function (e, n) {
  3901. a(t, e, n)
  3902. }) : a(t)
  3903. })
  3904. }
  3905.  
  3906. function a(e, t, n) {
  3907. if (t) return e.emit("error", t);
  3908. null !== n && void 0 !== n && e.push(n);
  3909. var i = e._writableState, r = e._transformState;
  3910. if (i.length) throw new Error("Calling transform done when ws.length != 0");
  3911. if (r.transforming) throw new Error("Calling transform done when still transforming");
  3912. return e.push(null)
  3913. }
  3914.  
  3915. e.exports = o;
  3916. var s = n(1), l = n(5);
  3917. l.inherits = n(3), l.inherits(o, s), o.prototype.push = function (e, t) {
  3918. return this._transformState.needTransform = !1, s.prototype.push.call(this, e, t)
  3919. }, o.prototype._transform = function (e, t, n) {
  3920. throw new Error("_transform() is not implemented")
  3921. }, o.prototype._write = function (e, t, n) {
  3922. var i = this._transformState;
  3923. if (i.writecb = n, i.writechunk = e, i.writeencoding = t, !i.transforming) {
  3924. var r = this._readableState;
  3925. (i.needTransform || r.needReadable || r.length < r.highWaterMark) && this._read(r.highWaterMark)
  3926. }
  3927. }, o.prototype._read = function (e) {
  3928. var t = this._transformState;
  3929. null !== t.writechunk && t.writecb && !t.transforming ? (t.transforming = !0, this._transform(t.writechunk, t.writeencoding, t.afterTransform)) : t.needTransform = !0
  3930. }
  3931. }, function (e, t, n) {
  3932. "use strict";
  3933. (function (t, i) {
  3934. function r() {
  3935. }
  3936.  
  3937. function o(e, t, n) {
  3938. this.chunk = e, this.encoding = t, this.callback = n, this.next = null
  3939. }
  3940.  
  3941. function a(e, t) {
  3942. I = I || n(1), e = e || {}, this.objectMode = !!e.objectMode, t instanceof I && (this.objectMode = this.objectMode || !!e.writableObjectMode);
  3943. var i = e.highWaterMark, r = this.objectMode ? 16 : 16384;
  3944. this.highWaterMark = i || 0 === i ? i : r, this.highWaterMark = ~~this.highWaterMark, this.needDrain = !1, this.ending = !1, this.ended = !1, this.finished = !1;
  3945. var o = e.decodeStrings === !1;
  3946. this.decodeStrings = !o, this.defaultEncoding = e.defaultEncoding || "utf8", this.length = 0, this.writing = !1, this.corked = 0, this.sync = !0, this.bufferProcessing = !1, this.onwrite = function (e) {
  3947. m(t, e)
  3948. }, this.writecb = null, this.writelen = 0, this.bufferedRequest = null, this.lastBufferedRequest = null, this.pendingcb = 0, this.prefinished = !1, this.errorEmitted = !1, this.bufferedRequestCount = 0, this.corkedRequestsFree = new x(this)
  3949. }
  3950.  
  3951. function s(e) {
  3952. return I = I || n(1), L.call(s, this) || this instanceof I ? (this._writableState = new a(e, this), this.writable = !0, e && ("function" == typeof e.write && (this._write = e.write), "function" == typeof e.writev && (this._writev = e.writev)), void A.call(this)) : new s(e)
  3953. }
  3954.  
  3955. function l(e, t) {
  3956. var n = new Error("write after end");
  3957. e.emit("error", n), S(t, n)
  3958. }
  3959.  
  3960. function c(e, t, n, i) {
  3961. var r = !0, o = !1;
  3962. return null === n ? o = new TypeError("May not write null values to stream") : k.isBuffer(n) || "string" == typeof n || void 0 === n || t.objectMode || (o = new TypeError("Invalid non-string/buffer chunk")), o && (e.emit("error", o), S(i, o), r = !1), r
  3963. }
  3964.  
  3965. function u(e, t, n) {
  3966. return e.objectMode || e.decodeStrings === !1 || "string" != typeof t || (t = O.from(t, n)), t
  3967. }
  3968.  
  3969. function d(e, t, n, i, r) {
  3970. n = u(t, n, i), k.isBuffer(n) && (i = "buffer");
  3971. var a = t.objectMode ? 1 : n.length;
  3972. t.length += a;
  3973. var s = t.length < t.highWaterMark;
  3974. if (s || (t.needDrain = !0), t.writing || t.corked) {
  3975. var l = t.lastBufferedRequest;
  3976. t.lastBufferedRequest = new o(n, i, r), l ? l.next = t.lastBufferedRequest : t.bufferedRequest = t.lastBufferedRequest, t.bufferedRequestCount += 1
  3977. } else h(e, t, !1, a, n, i, r);
  3978. return s
  3979. }
  3980.  
  3981. function h(e, t, n, i, r, o, a) {
  3982. t.writelen = i, t.writecb = a, t.writing = !0, t.sync = !0, n ? e._writev(r, t.onwrite) : e._write(r, o, t.onwrite), t.sync = !1
  3983. }
  3984.  
  3985. function p(e, t, n, i, r) {
  3986. --t.pendingcb, n ? S(r, i) : r(i), e._writableState.errorEmitted = !0, e.emit("error", i)
  3987. }
  3988.  
  3989. function f(e) {
  3990. e.writing = !1, e.writecb = null, e.length -= e.writelen, e.writelen = 0
  3991. }
  3992.  
  3993. function m(e, t) {
  3994. var n = e._writableState, i = n.sync, r = n.writecb;
  3995. if (f(n), t) p(e, n, i, t, r); else {
  3996. var o = b(n);
  3997. o || n.corked || n.bufferProcessing || !n.bufferedRequest || y(e, n), i ? N(g, e, n, o, r) : g(e, n, o, r)
  3998. }
  3999. }
  4000.  
  4001. function g(e, t, n, i) {
  4002. n || v(e, t), t.pendingcb--, i(), T(e, t)
  4003. }
  4004.  
  4005. function v(e, t) {
  4006. 0 === t.length && t.needDrain && (t.needDrain = !1, e.emit("drain"))
  4007. }
  4008.  
  4009. function y(e, t) {
  4010. t.bufferProcessing = !0;
  4011. var n = t.bufferedRequest;
  4012. if (e._writev && n && n.next) {
  4013. var i = t.bufferedRequestCount, r = new Array(i), o = t.corkedRequestsFree;
  4014. o.entry = n;
  4015. for (var a = 0; n;) r[a] = n, n = n.next, a += 1;
  4016. h(e, t, !0, t.length, r, "", o.finish), t.pendingcb++, t.lastBufferedRequest = null, o.next ? (t.corkedRequestsFree = o.next, o.next = null) : t.corkedRequestsFree = new x(t)
  4017. } else {
  4018. for (; n;) {
  4019. var s = n.chunk, l = n.encoding, c = n.callback, u = t.objectMode ? 1 : s.length;
  4020. if (h(e, t, !1, u, s, l, c), n = n.next, t.writing) break
  4021. }
  4022. null === n && (t.lastBufferedRequest = null)
  4023. }
  4024. t.bufferedRequestCount = 0, t.bufferedRequest = n, t.bufferProcessing = !1
  4025. }
  4026.  
  4027. function b(e) {
  4028. return e.ending && 0 === e.length && null === e.bufferedRequest && !e.finished && !e.writing
  4029. }
  4030.  
  4031. function w(e, t) {
  4032. t.prefinished || (t.prefinished = !0, e.emit("prefinish"))
  4033. }
  4034.  
  4035. function T(e, t) {
  4036. var n = b(t);
  4037. return n && (0 === t.pendingcb ? (w(e, t), t.finished = !0, e.emit("finish")) : w(e, t)), n
  4038. }
  4039.  
  4040. function E(e, t, n) {
  4041. t.ending = !0, T(e, t), n && (t.finished ? S(n) : e.once("finish", n)), t.ended = !0, e.writable = !1
  4042. }
  4043.  
  4044. function x(e) {
  4045. var t = this;
  4046. this.next = null, this.entry = null, this.finish = function (n) {
  4047. var i = t.entry;
  4048. for (t.entry = null; i;) {
  4049. var r = i.callback;
  4050. e.pendingcb--, r(n), i = i.next
  4051. }
  4052. e.corkedRequestsFree ? e.corkedRequestsFree.next = t : e.corkedRequestsFree = t
  4053. }
  4054. }
  4055.  
  4056. e.exports = s;
  4057. var I, S = n(12), N = !t.browser && ["v0.10", "v0.9."].indexOf(t.version.slice(0, 5)) > -1 ? i : S;
  4058. s.WritableState = a;
  4059. var C = n(5);
  4060. C.inherits = n(3);
  4061. var A, _ = {deprecate: n(52)};
  4062. !function () {
  4063. try {
  4064. A = n(6)
  4065. } catch (e) {
  4066. } finally {
  4067. A || (A = n(7).EventEmitter)
  4068. }
  4069. }();
  4070. var k = n(0).Buffer, O = n(11);
  4071. C.inherits(s, A), a.prototype.getBuffer = function () {
  4072. for (var e = this.bufferedRequest, t = []; e;) t.push(e), e = e.next;
  4073. return t
  4074. }, function () {
  4075. try {
  4076. Object.defineProperty(a.prototype, "buffer", {
  4077. get: _.deprecate(function () {
  4078. return this.getBuffer()
  4079. }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")
  4080. })
  4081. } catch (e) {
  4082. }
  4083. }();
  4084. var L;
  4085. "function" == typeof Symbol && Symbol.hasInstance && "function" == typeof Function.prototype[Symbol.hasInstance] ? (L = Function.prototype[Symbol.hasInstance], Object.defineProperty(s, Symbol.hasInstance, {
  4086. value: function (e) {
  4087. return L.call(this, e) ? !0 : e && e._writableState instanceof a
  4088. }
  4089. })) : L = function (e) {
  4090. return e instanceof this
  4091. }, s.prototype.pipe = function () {
  4092. this.emit("error", new Error("Cannot pipe, not readable"))
  4093. }, s.prototype.write = function (e, t, n) {
  4094. var i = this._writableState, o = !1;
  4095. return "function" == typeof t && (n = t, t = null), k.isBuffer(e) ? t = "buffer" : t || (t = i.defaultEncoding), "function" != typeof n && (n = r), i.ended ? l(this, n) : c(this, i, e, n) && (i.pendingcb++, o = d(this, i, e, t, n)), o
  4096. }, s.prototype.cork = function () {
  4097. var e = this._writableState;
  4098. e.corked++
  4099. }, s.prototype.uncork = function () {
  4100. var e = this._writableState;
  4101. e.corked && (e.corked--, e.writing || e.corked || e.finished || e.bufferProcessing || !e.bufferedRequest || y(this, e))
  4102. }, s.prototype.setDefaultEncoding = function (e) {
  4103. if ("string" == typeof e && (e = e.toLowerCase()), !(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((e + "").toLowerCase()) > -1)) throw new TypeError("Unknown encoding: " + e);
  4104. return this._writableState.defaultEncoding = e, this
  4105. }, s.prototype._write = function (e, t, n) {
  4106. n(new Error("_write() is not implemented"))
  4107. }, s.prototype._writev = null, s.prototype.end = function (e, t, n) {
  4108. var i = this._writableState;
  4109. "function" == typeof e ? (n = e, e = null, t = null) : "function" == typeof t && (n = t, t = null), null !== e && void 0 !== e && this.write(e, t), i.corked && (i.corked = 1, this.uncork()), i.ending || i.finished || E(this, i, n)
  4110. }
  4111. }).call(t, n(4), n(24).setImmediate)
  4112. }, function (e, t, n) {
  4113. function i(e) {
  4114. if (e && !l(e)) throw new Error("Unknown encoding: " + e)
  4115. }
  4116.  
  4117. function r(e) {
  4118. return e.toString(this.encoding)
  4119. }
  4120.  
  4121. function o(e) {
  4122. this.charReceived = e.length % 2, this.charLength = this.charReceived ? 2 : 0
  4123. }
  4124.  
  4125. function a(e) {
  4126. this.charReceived = e.length % 3, this.charLength = this.charReceived ? 3 : 0
  4127. }
  4128.  
  4129. var s = n(0).Buffer, l = s.isEncoding || function (e) {
  4130. switch (e && e.toLowerCase()) {
  4131. case"hex":
  4132. case"utf8":
  4133. case"utf-8":
  4134. case"ascii":
  4135. case"binary":
  4136. case"base64":
  4137. case"ucs2":
  4138. case"ucs-2":
  4139. case"utf16le":
  4140. case"utf-16le":
  4141. case"raw":
  4142. return !0;
  4143. default:
  4144. return !1
  4145. }
  4146. }, c = t.StringDecoder = function (e) {
  4147. switch (this.encoding = (e || "utf8").toLowerCase().replace(/[-_]/, ""), i(e), this.encoding) {
  4148. case"utf8":
  4149. this.surrogateSize = 3;
  4150. break;
  4151. case"ucs2":
  4152. case"utf16le":
  4153. this.surrogateSize = 2, this.detectIncompleteChar = o;
  4154. break;
  4155. case"base64":
  4156. this.surrogateSize = 3, this.detectIncompleteChar = a;
  4157. break;
  4158. default:
  4159. return void(this.write = r)
  4160. }
  4161. this.charBuffer = new s(6), this.charReceived = 0, this.charLength = 0
  4162. };
  4163. c.prototype.write = function (e) {
  4164. for (var t = ""; this.charLength;) {
  4165. var n = e.length >= this.charLength - this.charReceived ? this.charLength - this.charReceived : e.length;
  4166. if (e.copy(this.charBuffer, this.charReceived, 0, n), this.charReceived += n, this.charReceived < this.charLength) return "";
  4167. e = e.slice(n, e.length), t = this.charBuffer.slice(0, this.charLength).toString(this.encoding);
  4168. var i = t.charCodeAt(t.length - 1);
  4169. if (!(i >= 55296 && 56319 >= i)) {
  4170. if (this.charReceived = this.charLength = 0, 0 === e.length) return t;
  4171. break
  4172. }
  4173. this.charLength += this.surrogateSize, t = ""
  4174. }
  4175. this.detectIncompleteChar(e);
  4176. var r = e.length;
  4177. this.charLength && (e.copy(this.charBuffer, 0, e.length - this.charReceived, r), r -= this.charReceived), t += e.toString(this.encoding, 0, r);
  4178. var r = t.length - 1, i = t.charCodeAt(r);
  4179. if (i >= 55296 && 56319 >= i) {
  4180. var o = this.surrogateSize;
  4181. return this.charLength += o, this.charReceived += o, this.charBuffer.copy(this.charBuffer, o, 0, o), e.copy(this.charBuffer, 0, 0, o), t.substring(0, r)
  4182. }
  4183. return t
  4184. }, c.prototype.detectIncompleteChar = function (e) {
  4185. for (var t = e.length >= 3 ? 3 : e.length; t > 0; t--) {
  4186. var n = e[e.length - t];
  4187. if (1 == t && n >> 5 == 6) {
  4188. this.charLength = 2;
  4189. break
  4190. }
  4191. if (2 >= t && n >> 4 == 14) {
  4192. this.charLength = 3;
  4193. break
  4194. }
  4195. if (3 >= t && n >> 3 == 30) {
  4196. this.charLength = 4;
  4197. break
  4198. }
  4199. }
  4200. this.charReceived = t
  4201. }, c.prototype.end = function (e) {
  4202. var t = "";
  4203. if (e && e.length && (t = this.write(e)), this.charReceived) {
  4204. var n = this.charReceived, i = this.charBuffer, r = this.encoding;
  4205. t += i.slice(0, n).toString(r)
  4206. }
  4207. return t
  4208. }
  4209. }, function (e, t) {
  4210. function n() {
  4211. }
  4212.  
  4213. function i(e, t) {
  4214. for (var n = r.length, i = []; n--;) {
  4215. var o, a = r[n], s = a[0], l = a[1], c = l[0],
  4216. u = 32 > c || c > 126 || 62 === c || 60 === c || 38 === c || 34 === c || 39 === c;
  4217. if (u && (o = t[c] = t[c] || {}), l[1]) {
  4218. var d = l[1];
  4219. e[s] = String.fromCharCode(c) + String.fromCharCode(d), i.push(u && (o[d] = s))
  4220. } else e[s] = String.fromCharCode(c), i.push(u && (o[""] = s))
  4221. }
  4222. }
  4223.  
  4224. var r = [["Aacute", [193]], ["aacute", [225]], ["Abreve", [258]], ["abreve", [259]], ["ac", [8766]], ["acd", [8767]], ["acE", [8766, 819]], ["Acirc", [194]], ["acirc", [226]], ["acute", [180]], ["Acy", [1040]], ["acy", [1072]], ["AElig", [198]], ["aelig", [230]], ["af", [8289]], ["Afr", [120068]], ["afr", [120094]], ["Agrave", [192]], ["agrave", [224]], ["alefsym", [8501]], ["aleph", [8501]], ["Alpha", [913]], ["alpha", [945]], ["Amacr", [256]], ["amacr", [257]], ["amalg", [10815]], ["amp", [38]], ["AMP", [38]], ["andand", [10837]], ["And", [10835]], ["and", [8743]], ["andd", [10844]], ["andslope", [10840]], ["andv", [10842]], ["ang", [8736]], ["ange", [10660]], ["angle", [8736]], ["angmsdaa", [10664]], ["angmsdab", [10665]], ["angmsdac", [10666]], ["angmsdad", [10667]], ["angmsdae", [10668]], ["angmsdaf", [10669]], ["angmsdag", [10670]], ["angmsdah", [10671]], ["angmsd", [8737]], ["angrt", [8735]], ["angrtvb", [8894]], ["angrtvbd", [10653]], ["angsph", [8738]], ["angst", [197]], ["angzarr", [9084]], ["Aogon", [260]], ["aogon", [261]], ["Aopf", [120120]], ["aopf", [120146]], ["apacir", [10863]], ["ap", [8776]], ["apE", [10864]], ["ape", [8778]], ["apid", [8779]], ["apos", [39]], ["ApplyFunction", [8289]], ["approx", [8776]], ["approxeq", [8778]], ["Aring", [197]], ["aring", [229]], ["Ascr", [119964]], ["ascr", [119990]], ["Assign", [8788]], ["ast", [42]], ["asymp", [8776]], ["asympeq", [8781]], ["Atilde", [195]], ["atilde", [227]], ["Auml", [196]], ["auml", [228]], ["awconint", [8755]], ["awint", [10769]], ["backcong", [8780]], ["backepsilon", [1014]], ["backprime", [8245]], ["backsim", [8765]], ["backsimeq", [8909]], ["Backslash", [8726]], ["Barv", [10983]], ["barvee", [8893]], ["barwed", [8965]], ["Barwed", [8966]], ["barwedge", [8965]], ["bbrk", [9141]], ["bbrktbrk", [9142]], ["bcong", [8780]], ["Bcy", [1041]], ["bcy", [1073]], ["bdquo", [8222]], ["becaus", [8757]], ["because", [8757]], ["Because", [8757]], ["bemptyv", [10672]], ["bepsi", [1014]], ["bernou", [8492]], ["Bernoullis", [8492]], ["Beta", [914]], ["beta", [946]], ["beth", [8502]], ["between", [8812]], ["Bfr", [120069]], ["bfr", [120095]], ["bigcap", [8898]], ["bigcirc", [9711]], ["bigcup", [8899]], ["bigodot", [10752]], ["bigoplus", [10753]], ["bigotimes", [10754]], ["bigsqcup", [10758]], ["bigstar", [9733]], ["bigtriangledown", [9661]], ["bigtriangleup", [9651]], ["biguplus", [10756]], ["bigvee", [8897]], ["bigwedge", [8896]], ["bkarow", [10509]], ["blacklozenge", [10731]], ["blacksquare", [9642]], ["blacktriangle", [9652]], ["blacktriangledown", [9662]], ["blacktriangleleft", [9666]], ["blacktriangleright", [9656]], ["blank", [9251]], ["blk12", [9618]], ["blk14", [9617]], ["blk34", [9619]], ["block", [9608]], ["bne", [61, 8421]], ["bnequiv", [8801, 8421]], ["bNot", [10989]], ["bnot", [8976]], ["Bopf", [120121]], ["bopf", [120147]], ["bot", [8869]], ["bottom", [8869]], ["bowtie", [8904]], ["boxbox", [10697]], ["boxdl", [9488]], ["boxdL", [9557]], ["boxDl", [9558]], ["boxDL", [9559]], ["boxdr", [9484]], ["boxdR", [9554]], ["boxDr", [9555]], ["boxDR", [9556]], ["boxh", [9472]], ["boxH", [9552]], ["boxhd", [9516]], ["boxHd", [9572]], ["boxhD", [9573]], ["boxHD", [9574]], ["boxhu", [9524]], ["boxHu", [9575]], ["boxhU", [9576]], ["boxHU", [9577]], ["boxminus", [8863]], ["boxplus", [8862]], ["boxtimes", [8864]], ["boxul", [9496]], ["boxuL", [9563]], ["boxUl", [9564]], ["boxUL", [9565]], ["boxur", [9492]], ["boxuR", [9560]], ["boxUr", [9561]], ["boxUR", [9562]], ["boxv", [9474]], ["boxV", [9553]], ["boxvh", [9532]], ["boxvH", [9578]], ["boxVh", [9579]], ["boxVH", [9580]], ["boxvl", [9508]], ["boxvL", [9569]], ["boxVl", [9570]], ["boxVL", [9571]], ["boxvr", [9500]], ["boxvR", [9566]], ["boxVr", [9567]], ["boxVR", [9568]], ["bprime", [8245]], ["breve", [728]], ["Breve", [728]], ["brvbar", [166]], ["bscr", [119991]], ["Bscr", [8492]], ["bsemi", [8271]], ["bsim", [8765]], ["bsime", [8909]], ["bsolb", [10693]], ["bsol", [92]], ["bsolhsub", [10184]], ["bull", [8226]], ["bullet", [8226]], ["bump", [8782]], ["bumpE", [10926]], ["bumpe", [8783]], ["Bumpeq", [8782]], ["bumpeq", [8783]], ["Cacute", [262]], ["cacute", [263]], ["capand", [10820]], ["capbrcup", [10825]], ["capcap", [10827]], ["cap", [8745]], ["Cap", [8914]], ["capcup", [10823]], ["capdot", [10816]], ["CapitalDifferentialD", [8517]], ["caps", [8745, 65024]], ["caret", [8257]], ["caron", [711]], ["Cayleys", [8493]], ["ccaps", [10829]], ["Ccaron", [268]], ["ccaron", [269]], ["Ccedil", [199]], ["ccedil", [231]], ["Ccirc", [264]], ["ccirc", [265]], ["Cconint", [8752]], ["ccups", [10828]], ["ccupssm", [10832]], ["Cdot", [266]], ["cdot", [267]], ["cedil", [184]], ["Cedilla", [184]], ["cemptyv", [10674]], ["cent", [162]], ["centerdot", [183]], ["CenterDot", [183]], ["cfr", [120096]], ["Cfr", [8493]], ["CHcy", [1063]], ["chcy", [1095]], ["check", [10003]], ["checkmark", [10003]], ["Chi", [935]], ["chi", [967]], ["circ", [710]], ["circeq", [8791]], ["circlearrowleft", [8634]], ["circlearrowright", [8635]], ["circledast", [8859]], ["circledcirc", [8858]], ["circleddash", [8861]], ["CircleDot", [8857]], ["circledR", [174]], ["circledS", [9416]], ["CircleMinus", [8854]], ["CirclePlus", [8853]], ["CircleTimes", [8855]], ["cir", [9675]], ["cirE", [10691]], ["cire", [8791]], ["cirfnint", [10768]], ["cirmid", [10991]], ["cirscir", [10690]], ["ClockwiseContourIntegral", [8754]], ["CloseCurlyDoubleQuote", [8221]], ["CloseCurlyQuote", [8217]], ["clubs", [9827]], ["clubsuit", [9827]], ["colon", [58]], ["Colon", [8759]], ["Colone", [10868]], ["colone", [8788]], ["coloneq", [8788]], ["comma", [44]], ["commat", [64]], ["comp", [8705]], ["compfn", [8728]], ["complement", [8705]], ["complexes", [8450]], ["cong", [8773]], ["congdot", [10861]], ["Congruent", [8801]], ["conint", [8750]], ["Conint", [8751]], ["ContourIntegral", [8750]], ["copf", [120148]], ["Copf", [8450]], ["coprod", [8720]], ["Coproduct", [8720]], ["copy", [169]], ["COPY", [169]], ["copysr", [8471]], ["CounterClockwiseContourIntegral", [8755]], ["crarr", [8629]], ["cross", [10007]], ["Cross", [10799]], ["Cscr", [119966]], ["cscr", [119992]], ["csub", [10959]], ["csube", [10961]], ["csup", [10960]], ["csupe", [10962]], ["ctdot", [8943]], ["cudarrl", [10552]], ["cudarrr", [10549]], ["cuepr", [8926]], ["cuesc", [8927]], ["cularr", [8630]], ["cularrp", [10557]], ["cupbrcap", [10824]], ["cupcap", [10822]], ["CupCap", [8781]], ["cup", [8746]], ["Cup", [8915]], ["cupcup", [10826]], ["cupdot", [8845]], ["cupor", [10821]], ["cups", [8746, 65024]], ["curarr", [8631]], ["curarrm", [10556]], ["curlyeqprec", [8926]], ["curlyeqsucc", [8927]], ["curlyvee", [8910]], ["curlywedge", [8911]], ["curren", [164]], ["curvearrowleft", [8630]], ["curvearrowright", [8631]], ["cuvee", [8910]], ["cuwed", [8911]], ["cwconint", [8754]], ["cwint", [8753]], ["cylcty", [9005]], ["dagger", [8224]], ["Dagger", [8225]], ["daleth", [8504]], ["darr", [8595]], ["Darr", [8609]], ["dArr", [8659]], ["dash", [8208]], ["Dashv", [10980]], ["dashv", [8867]], ["dbkarow", [10511]], ["dblac", [733]], ["Dcaron", [270]], ["dcaron", [271]], ["Dcy", [1044]], ["dcy", [1076]], ["ddagger", [8225]], ["ddarr", [8650]], ["DD", [8517]], ["dd", [8518]], ["DDotrahd", [10513]], ["ddotseq", [10871]], ["deg", [176]], ["Del", [8711]], ["Delta", [916]], ["delta", [948]], ["demptyv", [10673]], ["dfisht", [10623]], ["Dfr", [120071]], ["dfr", [120097]], ["dHar", [10597]], ["dharl", [8643]], ["dharr", [8642]], ["DiacriticalAcute", [180]], ["DiacriticalDot", [729]], ["DiacriticalDoubleAcute", [733]], ["DiacriticalGrave", [96]], ["DiacriticalTilde", [732]], ["diam", [8900]], ["diamond", [8900]], ["Diamond", [8900]], ["diamondsuit", [9830]], ["diams", [9830]], ["die", [168]], ["DifferentialD", [8518]], ["digamma", [989]], ["disin", [8946]], ["div", [247]], ["divide", [247]], ["divideontimes", [8903]], ["divonx", [8903]], ["DJcy", [1026]], ["djcy", [1106]], ["dlcorn", [8990]], ["dlcrop", [8973]], ["dollar", [36]], ["Dopf", [120123]], ["dopf", [120149]], ["Dot", [168]], ["dot", [729]], ["DotDot", [8412]], ["doteq", [8784]], ["doteqdot", [8785]], ["DotEqual", [8784]], ["dotminus", [8760]], ["dotplus", [8724]], ["dotsquare", [8865]], ["doublebarwedge", [8966]], ["DoubleContourIntegral", [8751]], ["DoubleDot", [168]], ["DoubleDownArrow", [8659]], ["DoubleLeftArrow", [8656]], ["DoubleLeftRightArrow", [8660]], ["DoubleLeftTee", [10980]], ["DoubleLongLeftArrow", [10232]], ["DoubleLongLeftRightArrow", [10234]], ["DoubleLongRightArrow", [10233]], ["DoubleRightArrow", [8658]], ["DoubleRightTee", [8872]], ["DoubleUpArrow", [8657]], ["DoubleUpDownArrow", [8661]], ["DoubleVerticalBar", [8741]], ["DownArrowBar", [10515]], ["downarrow", [8595]], ["DownArrow", [8595]], ["Downarrow", [8659]], ["DownArrowUpArrow", [8693]], ["DownBreve", [785]], ["downdownarrows", [8650]], ["downharpoonleft", [8643]], ["downharpoonright", [8642]], ["DownLeftRightVector", [10576]], ["DownLeftTeeVector", [10590]], ["DownLeftVectorBar", [10582]], ["DownLeftVector", [8637]], ["DownRightTeeVector", [10591]], ["DownRightVectorBar", [10583]], ["DownRightVector", [8641]], ["DownTeeArrow", [8615]], ["DownTee", [8868]], ["drbkarow", [10512]], ["drcorn", [8991]], ["drcrop", [8972]], ["Dscr", [119967]], ["dscr", [119993]], ["DScy", [1029]], ["dscy", [1109]], ["dsol", [10742]], ["Dstrok", [272]], ["dstrok", [273]], ["dtdot", [8945]], ["dtri", [9663]], ["dtrif", [9662]], ["duarr", [8693]], ["duhar", [10607]], ["dwangle", [10662]], ["DZcy", [1039]], ["dzcy", [1119]], ["dzigrarr", [10239]], ["Eacute", [201]], ["eacute", [233]], ["easter", [10862]], ["Ecaron", [282]], ["ecaron", [283]], ["Ecirc", [202]], ["ecirc", [234]], ["ecir", [8790]], ["ecolon", [8789]], ["Ecy", [1069]], ["ecy", [1101]], ["eDDot", [10871]], ["Edot", [278]], ["edot", [279]], ["eDot", [8785]], ["ee", [8519]], ["efDot", [8786]], ["Efr", [120072]], ["efr", [120098]], ["eg", [10906]], ["Egrave", [200]], ["egrave", [232]], ["egs", [10902]], ["egsdot", [10904]], ["el", [10905]], ["Element", [8712]], ["elinters", [9191]], ["ell", [8467]], ["els", [10901]], ["elsdot", [10903]], ["Emacr", [274]], ["emacr", [275]], ["empty", [8709]], ["emptyset", [8709]], ["EmptySmallSquare", [9723]], ["emptyv", [8709]], ["EmptyVerySmallSquare", [9643]], ["emsp13", [8196]], ["emsp14", [8197]], ["emsp", [8195]], ["ENG", [330]], ["eng", [331]], ["ensp", [8194]], ["Eogon", [280]], ["eogon", [281]], ["Eopf", [120124]], ["eopf", [120150]], ["epar", [8917]], ["eparsl", [10723]], ["eplus", [10865]], ["epsi", [949]], ["Epsilon", [917]], ["epsilon", [949]], ["epsiv", [1013]], ["eqcirc", [8790]], ["eqcolon", [8789]], ["eqsim", [8770]], ["eqslantgtr", [10902]], ["eqslantless", [10901]], ["Equal", [10869]], ["equals", [61]], ["EqualTilde", [8770]], ["equest", [8799]], ["Equilibrium", [8652]], ["equiv", [8801]], ["equivDD", [10872]], ["eqvparsl", [10725]], ["erarr", [10609]], ["erDot", [8787]], ["escr", [8495]], ["Escr", [8496]], ["esdot", [8784]], ["Esim", [10867]], ["esim", [8770]], ["Eta", [919]], ["eta", [951]], ["ETH", [208]], ["eth", [240]], ["Euml", [203]], ["euml", [235]], ["euro", [8364]], ["excl", [33]], ["exist", [8707]], ["Exists", [8707]], ["expectation", [8496]], ["exponentiale", [8519]], ["ExponentialE", [8519]], ["fallingdotseq", [8786]], ["Fcy", [1060]], ["fcy", [1092]], ["female", [9792]], ["ffilig", [64259]], ["fflig", [64256]], ["ffllig", [64260]], ["Ffr", [120073]], ["ffr", [120099]], ["filig", [64257]], ["FilledSmallSquare", [9724]], ["FilledVerySmallSquare", [9642]], ["fjlig", [102, 106]], ["flat", [9837]], ["fllig", [64258]], ["fltns", [9649]], ["fnof", [402]], ["Fopf", [120125]], ["fopf", [120151]], ["forall", [8704]], ["ForAll", [8704]], ["fork", [8916]], ["forkv", [10969]], ["Fouriertrf", [8497]], ["fpartint", [10765]], ["frac12", [189]], ["frac13", [8531]], ["frac14", [188]], ["frac15", [8533]], ["frac16", [8537]], ["frac18", [8539]], ["frac23", [8532]], ["frac25", [8534]], ["frac34", [190]], ["frac35", [8535]], ["frac38", [8540]], ["frac45", [8536]], ["frac56", [8538]], ["frac58", [8541]], ["frac78", [8542]], ["frasl", [8260]], ["frown", [8994]], ["fscr", [119995]], ["Fscr", [8497]], ["gacute", [501]], ["Gamma", [915]], ["gamma", [947]], ["Gammad", [988]], ["gammad", [989]], ["gap", [10886]], ["Gbreve", [286]], ["gbreve", [287]], ["Gcedil", [290]], ["Gcirc", [284]], ["gcirc", [285]], ["Gcy", [1043]], ["gcy", [1075]], ["Gdot", [288]], ["gdot", [289]], ["ge", [8805]], ["gE", [8807]], ["gEl", [10892]], ["gel", [8923]], ["geq", [8805]], ["geqq", [8807]], ["geqslant", [10878]], ["gescc", [10921]], ["ges", [10878]], ["gesdot", [10880]], ["gesdoto", [10882]], ["gesdotol", [10884]], ["gesl", [8923, 65024]], ["gesles", [10900]], ["Gfr", [120074]], ["gfr", [120100]], ["gg", [8811]], ["Gg", [8921]], ["ggg", [8921]], ["gimel", [8503]], ["GJcy", [1027]], ["gjcy", [1107]], ["gla", [10917]], ["gl", [8823]], ["glE", [10898]], ["glj", [10916]], ["gnap", [10890]], ["gnapprox", [10890]], ["gne", [10888]], ["gnE", [8809]], ["gneq", [10888]], ["gneqq", [8809]], ["gnsim", [8935]], ["Gopf", [120126]], ["gopf", [120152]], ["grave", [96]], ["GreaterEqual", [8805]], ["GreaterEqualLess", [8923]], ["GreaterFullEqual", [8807]], ["GreaterGreater", [10914]], ["GreaterLess", [8823]], ["GreaterSlantEqual", [10878]], ["GreaterTilde", [8819]], ["Gscr", [119970]], ["gscr", [8458]], ["gsim", [8819]], ["gsime", [10894]], ["gsiml", [10896]], ["gtcc", [10919]], ["gtcir", [10874]], ["gt", [62]], ["GT", [62]], ["Gt", [8811]], ["gtdot", [8919]], ["gtlPar", [10645]], ["gtquest", [10876]], ["gtrapprox", [10886]], ["gtrarr", [10616]], ["gtrdot", [8919]], ["gtreqless", [8923]], ["gtreqqless", [10892]], ["gtrless", [8823]], ["gtrsim", [8819]], ["gvertneqq", [8809, 65024]], ["gvnE", [8809, 65024]], ["Hacek", [711]], ["hairsp", [8202]], ["half", [189]], ["hamilt", [8459]], ["HARDcy", [1066]], ["hardcy", [1098]], ["harrcir", [10568]], ["harr", [8596]], ["hArr", [8660]], ["harrw", [8621]], ["Hat", [94]], ["hbar", [8463]], ["Hcirc", [292]], ["hcirc", [293]], ["hearts", [9829]], ["heartsuit", [9829]], ["hellip", [8230]], ["hercon", [8889]], ["hfr", [120101]], ["Hfr", [8460]], ["HilbertSpace", [8459]], ["hksearow", [10533]], ["hkswarow", [10534]], ["hoarr", [8703]], ["homtht", [8763]], ["hookleftarrow", [8617]], ["hookrightarrow", [8618]], ["hopf", [120153]], ["Hopf", [8461]], ["horbar", [8213]], ["HorizontalLine", [9472]], ["hscr", [119997]], ["Hscr", [8459]], ["hslash", [8463]], ["Hstrok", [294]], ["hstrok", [295]], ["HumpDownHump", [8782]], ["HumpEqual", [8783]], ["hybull", [8259]], ["hyphen", [8208]], ["Iacute", [205]], ["iacute", [237]], ["ic", [8291]], ["Icirc", [206]], ["icirc", [238]], ["Icy", [1048]], ["icy", [1080]], ["Idot", [304]], ["IEcy", [1045]], ["iecy", [1077]], ["iexcl", [161]], ["iff", [8660]], ["ifr", [120102]], ["Ifr", [8465]], ["Igrave", [204]], ["igrave", [236]], ["ii", [8520]], ["iiiint", [10764]], ["iiint", [8749]], ["iinfin", [10716]], ["iiota", [8489]], ["IJlig", [306]], ["ijlig", [307]], ["Imacr", [298]], ["imacr", [299]], ["image", [8465]], ["ImaginaryI", [8520]], ["imagline", [8464]], ["imagpart", [8465]], ["imath", [305]], ["Im", [8465]], ["imof", [8887]], ["imped", [437]], ["Implies", [8658]], ["incare", [8453]], ["in", [8712]], ["infin", [8734]], ["infintie", [10717]], ["inodot", [305]], ["intcal", [8890]], ["int", [8747]], ["Int", [8748]], ["integers", [8484]], ["Integral", [8747]], ["intercal", [8890]], ["Intersection", [8898]], ["intlarhk", [10775]], ["intprod", [10812]], ["InvisibleComma", [8291]], ["InvisibleTimes", [8290]], ["IOcy", [1025]], ["iocy", [1105]], ["Iogon", [302]], ["iogon", [303]], ["Iopf", [120128]], ["iopf", [120154]], ["Iota", [921]], ["iota", [953]], ["iprod", [10812]], ["iquest", [191]], ["iscr", [119998]], ["Iscr", [8464]], ["isin", [8712]], ["isindot", [8949]], ["isinE", [8953]], ["isins", [8948]], ["isinsv", [8947]], ["isinv", [8712]], ["it", [8290]], ["Itilde", [296]], ["itilde", [297]], ["Iukcy", [1030]], ["iukcy", [1110]], ["Iuml", [207]], ["iuml", [239]], ["Jcirc", [308]], ["jcirc", [309]], ["Jcy", [1049]], ["jcy", [1081]], ["Jfr", [120077]], ["jfr", [120103]], ["jmath", [567]], ["Jopf", [120129]], ["jopf", [120155]], ["Jscr", [119973]], ["jscr", [119999]], ["Jsercy", [1032]], ["jsercy", [1112]], ["Jukcy", [1028]], ["jukcy", [1108]], ["Kappa", [922]], ["kappa", [954]], ["kappav", [1008]], ["Kcedil", [310]], ["kcedil", [311]], ["Kcy", [1050]], ["kcy", [1082]], ["Kfr", [120078]], ["kfr", [120104]], ["kgreen", [312]], ["KHcy", [1061]], ["khcy", [1093]], ["KJcy", [1036]], ["kjcy", [1116]], ["Kopf", [120130]], ["kopf", [120156]], ["Kscr", [119974]], ["kscr", [12e4]], ["lAarr", [8666]], ["Lacute", [313]], ["lacute", [314]], ["laemptyv", [10676]], ["lagran", [8466]], ["Lambda", [923]], ["lambda", [955]], ["lang", [10216]], ["Lang", [10218]], ["langd", [10641]], ["langle", [10216]], ["lap", [10885]], ["Laplacetrf", [8466]], ["laquo", [171]], ["larrb", [8676]], ["larrbfs", [10527]], ["larr", [8592]], ["Larr", [8606]], ["lArr", [8656]], ["larrfs", [10525]], ["larrhk", [8617]], ["larrlp", [8619]], ["larrpl", [10553]], ["larrsim", [10611]], ["larrtl", [8610]], ["latail", [10521]], ["lAtail", [10523]], ["lat", [10923]], ["late", [10925]], ["lates", [10925, 65024]], ["lbarr", [10508]], ["lBarr", [10510]], ["lbbrk", [10098]], ["lbrace", [123]], ["lbrack", [91]], ["lbrke", [10635]], ["lbrksld", [10639]], ["lbrkslu", [10637]], ["Lcaron", [317]], ["lcaron", [318]], ["Lcedil", [315]], ["lcedil", [316]], ["lceil", [8968]], ["lcub", [123]], ["Lcy", [1051]], ["lcy", [1083]], ["ldca", [10550]], ["ldquo", [8220]], ["ldquor", [8222]], ["ldrdhar", [10599]], ["ldrushar", [10571]], ["ldsh", [8626]], ["le", [8804]], ["lE", [8806]], ["LeftAngleBracket", [10216]], ["LeftArrowBar", [8676]], ["leftarrow", [8592]], ["LeftArrow", [8592]], ["Leftarrow", [8656]], ["LeftArrowRightArrow", [8646]], ["leftarrowtail", [8610]], ["LeftCeiling", [8968]], ["LeftDoubleBracket", [10214]], ["LeftDownTeeVector", [10593]], ["LeftDownVectorBar", [10585]], ["LeftDownVector", [8643]], ["LeftFloor", [8970]], ["leftharpoondown", [8637]], ["leftharpoonup", [8636]], ["leftleftarrows", [8647]], ["leftrightarrow", [8596]], ["LeftRightArrow", [8596]], ["Leftrightarrow", [8660]], ["leftrightarrows", [8646]], ["leftrightharpoons", [8651]], ["leftrightsquigarrow", [8621]], ["LeftRightVector", [10574]], ["LeftTeeArrow", [8612]], ["LeftTee", [8867]], ["LeftTeeVector", [10586]], ["leftthreetimes", [8907]], ["LeftTriangleBar", [10703]], ["LeftTriangle", [8882]], ["LeftTriangleEqual", [8884]], ["LeftUpDownVector", [10577]], ["LeftUpTeeVector", [10592]], ["LeftUpVectorBar", [10584]], ["LeftUpVector", [8639]], ["LeftVectorBar", [10578]], ["LeftVector", [8636]], ["lEg", [10891]], ["leg", [8922]], ["leq", [8804]], ["leqq", [8806]], ["leqslant", [10877]], ["lescc", [10920]], ["les", [10877]], ["lesdot", [10879]], ["lesdoto", [10881]], ["lesdotor", [10883]], ["lesg", [8922, 65024]], ["lesges", [10899]], ["lessapprox", [10885]], ["lessdot", [8918]], ["lesseqgtr", [8922]], ["lesseqqgtr", [10891]], ["LessEqualGreater", [8922]], ["LessFullEqual", [8806]], ["LessGreater", [8822]], ["lessgtr", [8822]], ["LessLess", [10913]], ["lesssim", [8818]], ["LessSlantEqual", [10877]], ["LessTilde", [8818]], ["lfisht", [10620]], ["lfloor", [8970]], ["Lfr", [120079]], ["lfr", [120105]], ["lg", [8822]], ["lgE", [10897]], ["lHar", [10594]], ["lhard", [8637]], ["lharu", [8636]], ["lharul", [10602]], ["lhblk", [9604]], ["LJcy", [1033]], ["ljcy", [1113]], ["llarr", [8647]], ["ll", [8810]], ["Ll", [8920]], ["llcorner", [8990]], ["Lleftarrow", [8666]], ["llhard", [10603]], ["lltri", [9722]], ["Lmidot", [319]], ["lmidot", [320]], ["lmoustache", [9136]], ["lmoust", [9136]], ["lnap", [10889]], ["lnapprox", [10889]], ["lne", [10887]], ["lnE", [8808]], ["lneq", [10887]], ["lneqq", [8808]], ["lnsim", [8934]], ["loang", [10220]], ["loarr", [8701]], ["lobrk", [10214]], ["longleftarrow", [10229]], ["LongLeftArrow", [10229]], ["Longleftarrow", [10232]], ["longleftrightarrow", [10231]], ["LongLeftRightArrow", [10231]], ["Longleftrightarrow", [10234]], ["longmapsto", [10236]], ["longrightarrow", [10230]], ["LongRightArrow", [10230]], ["Longrightarrow", [10233]], ["looparrowleft", [8619]], ["looparrowright", [8620]], ["lopar", [10629]], ["Lopf", [120131]], ["lopf", [120157]], ["loplus", [10797]], ["lotimes", [10804]], ["lowast", [8727]], ["lowbar", [95]], ["LowerLeftArrow", [8601]], ["LowerRightArrow", [8600]], ["loz", [9674]], ["lozenge", [9674]], ["lozf", [10731]], ["lpar", [40]], ["lparlt", [10643]], ["lrarr", [8646]], ["lrcorner", [8991]], ["lrhar", [8651]], ["lrhard", [10605]], ["lrm", [8206]], ["lrtri", [8895]], ["lsaquo", [8249]], ["lscr", [120001]], ["Lscr", [8466]], ["lsh", [8624]], ["Lsh", [8624]], ["lsim", [8818]], ["lsime", [10893]], ["lsimg", [10895]], ["lsqb", [91]], ["lsquo", [8216]], ["lsquor", [8218]], ["Lstrok", [321]], ["lstrok", [322]], ["ltcc", [10918]], ["ltcir", [10873]], ["lt", [60]], ["LT", [60]], ["Lt", [8810]], ["ltdot", [8918]], ["lthree", [8907]], ["ltimes", [8905]], ["ltlarr", [10614]], ["ltquest", [10875]], ["ltri", [9667]], ["ltrie", [8884]], ["ltrif", [9666]], ["ltrPar", [10646]], ["lurdshar", [10570]], ["luruhar", [10598]], ["lvertneqq", [8808, 65024]], ["lvnE", [8808, 65024]], ["macr", [175]], ["male", [9794]], ["malt", [10016]], ["maltese", [10016]], ["Map", [10501]], ["map", [8614]], ["mapsto", [8614]], ["mapstodown", [8615]], ["mapstoleft", [8612]], ["mapstoup", [8613]], ["marker", [9646]], ["mcomma", [10793]], ["Mcy", [1052]], ["mcy", [1084]], ["mdash", [8212]], ["mDDot", [8762]], ["measuredangle", [8737]], ["MediumSpace", [8287]], ["Mellintrf", [8499]], ["Mfr", [120080]], ["mfr", [120106]], ["mho", [8487]], ["micro", [181]], ["midast", [42]], ["midcir", [10992]], ["mid", [8739]], ["middot", [183]], ["minusb", [8863]], ["minus", [8722]], ["minusd", [8760]], ["minusdu", [10794]], ["MinusPlus", [8723]], ["mlcp", [10971]], ["mldr", [8230]], ["mnplus", [8723]], ["models", [8871]], ["Mopf", [120132]], ["mopf", [120158]], ["mp", [8723]], ["mscr", [120002]], ["Mscr", [8499]], ["mstpos", [8766]], ["Mu", [924]], ["mu", [956]], ["multimap", [8888]], ["mumap", [8888]], ["nabla", [8711]], ["Nacute", [323]], ["nacute", [324]], ["nang", [8736, 8402]], ["nap", [8777]], ["napE", [10864, 824]], ["napid", [8779, 824]], ["napos", [329]], ["napprox", [8777]], ["natural", [9838]], ["naturals", [8469]], ["natur", [9838]], ["nbsp", [160]], ["nbump", [8782, 824]], ["nbumpe", [8783, 824]], ["ncap", [10819]], ["Ncaron", [327]], ["ncaron", [328]], ["Ncedil", [325]], ["ncedil", [326]], ["ncong", [8775]], ["ncongdot", [10861, 824]], ["ncup", [10818]], ["Ncy", [1053]], ["ncy", [1085]], ["ndash", [8211]], ["nearhk", [10532]], ["nearr", [8599]], ["neArr", [8663]], ["nearrow", [8599]], ["ne", [8800]], ["nedot", [8784, 824]], ["NegativeMediumSpace", [8203]], ["NegativeThickSpace", [8203]], ["NegativeThinSpace", [8203]], ["NegativeVeryThinSpace", [8203]], ["nequiv", [8802]], ["nesear", [10536]], ["nesim", [8770, 824]], ["NestedGreaterGreater", [8811]], ["NestedLessLess", [8810]], ["nexist", [8708]], ["nexists", [8708]], ["Nfr", [120081]], ["nfr", [120107]], ["ngE", [8807, 824]], ["nge", [8817]], ["ngeq", [8817]], ["ngeqq", [8807, 824]], ["ngeqslant", [10878, 824]], ["nges", [10878, 824]], ["nGg", [8921, 824]], ["ngsim", [8821]], ["nGt", [8811, 8402]], ["ngt", [8815]], ["ngtr", [8815]], ["nGtv", [8811, 824]], ["nharr", [8622]], ["nhArr", [8654]], ["nhpar", [10994]], ["ni", [8715]], ["nis", [8956]], ["nisd", [8954]], ["niv", [8715]], ["NJcy", [1034]], ["njcy", [1114]], ["nlarr", [8602]], ["nlArr", [8653]], ["nldr", [8229]], ["nlE", [8806, 824]], ["nle", [8816]], ["nleftarrow", [8602]], ["nLeftarrow", [8653]], ["nleftrightarrow", [8622]], ["nLeftrightarrow", [8654]], ["nleq", [8816]], ["nleqq", [8806, 824]], ["nleqslant", [10877, 824]], ["nles", [10877, 824]], ["nless", [8814]], ["nLl", [8920, 824]], ["nlsim", [8820]], ["nLt", [8810, 8402]], ["nlt", [8814]], ["nltri", [8938]], ["nltrie", [8940]], ["nLtv", [8810, 824]], ["nmid", [8740]], ["NoBreak", [8288]], ["NonBreakingSpace", [160]], ["nopf", [120159]], ["Nopf", [8469]], ["Not", [10988]], ["not", [172]], ["NotCongruent", [8802]], ["NotCupCap", [8813]], ["NotDoubleVerticalBar", [8742]], ["NotElement", [8713]], ["NotEqual", [8800]], ["NotEqualTilde", [8770, 824]], ["NotExists", [8708]], ["NotGreater", [8815]], ["NotGreaterEqual", [8817]], ["NotGreaterFullEqual", [8807, 824]], ["NotGreaterGreater", [8811, 824]], ["NotGreaterLess", [8825]], ["NotGreaterSlantEqual", [10878, 824]], ["NotGreaterTilde", [8821]], ["NotHumpDownHump", [8782, 824]], ["NotHumpEqual", [8783, 824]], ["notin", [8713]], ["notindot", [8949, 824]], ["notinE", [8953, 824]], ["notinva", [8713]], ["notinvb", [8951]], ["notinvc", [8950]], ["NotLeftTriangleBar", [10703, 824]], ["NotLeftTriangle", [8938]], ["NotLeftTriangleEqual", [8940]], ["NotLess", [8814]], ["NotLessEqual", [8816]], ["NotLessGreater", [8824]], ["NotLessLess", [8810, 824]], ["NotLessSlantEqual", [10877, 824]], ["NotLessTilde", [8820]], ["NotNestedGreaterGreater", [10914, 824]], ["NotNestedLessLess", [10913, 824]], ["notni", [8716]], ["notniva", [8716]], ["notnivb", [8958]], ["notnivc", [8957]], ["NotPrecedes", [8832]], ["NotPrecedesEqual", [10927, 824]], ["NotPrecedesSlantEqual", [8928]], ["NotReverseElement", [8716]], ["NotRightTriangleBar", [10704, 824]], ["NotRightTriangle", [8939]], ["NotRightTriangleEqual", [8941]], ["NotSquareSubset", [8847, 824]], ["NotSquareSubsetEqual", [8930]], ["NotSquareSuperset", [8848, 824]], ["NotSquareSupersetEqual", [8931]], ["NotSubset", [8834, 8402]], ["NotSubsetEqual", [8840]], ["NotSucceeds", [8833]], ["NotSucceedsEqual", [10928, 824]], ["NotSucceedsSlantEqual", [8929]], ["NotSucceedsTilde", [8831, 824]], ["NotSuperset", [8835, 8402]], ["NotSupersetEqual", [8841]], ["NotTilde", [8769]], ["NotTildeEqual", [8772]], ["NotTildeFullEqual", [8775]], ["NotTildeTilde", [8777]], ["NotVerticalBar", [8740]], ["nparallel", [8742]], ["npar", [8742]], ["nparsl", [11005, 8421]], ["npart", [8706, 824]], ["npolint", [10772]], ["npr", [8832]], ["nprcue", [8928]], ["nprec", [8832]], ["npreceq", [10927, 824]], ["npre", [10927, 824]], ["nrarrc", [10547, 824]], ["nrarr", [8603]], ["nrArr", [8655]], ["nrarrw", [8605, 824]], ["nrightarrow", [8603]], ["nRightarrow", [8655]], ["nrtri", [8939]], ["nrtrie", [8941]], ["nsc", [8833]], ["nsccue", [8929]], ["nsce", [10928, 824]], ["Nscr", [119977]], ["nscr", [120003]], ["nshortmid", [8740]], ["nshortparallel", [8742]], ["nsim", [8769]], ["nsime", [8772]], ["nsimeq", [8772]], ["nsmid", [8740]], ["nspar", [8742]], ["nsqsube", [8930]], ["nsqsupe", [8931]], ["nsub", [8836]], ["nsubE", [10949, 824]], ["nsube", [8840]], ["nsubset", [8834, 8402]], ["nsubseteq", [8840]], ["nsubseteqq", [10949, 824]], ["nsucc", [8833]], ["nsucceq", [10928, 824]], ["nsup", [8837]], ["nsupE", [10950, 824]], ["nsupe", [8841]], ["nsupset", [8835, 8402]], ["nsupseteq", [8841]], ["nsupseteqq", [10950, 824]], ["ntgl", [8825]], ["Ntilde", [209]], ["ntilde", [241]], ["ntlg", [8824]], ["ntriangleleft", [8938]], ["ntrianglelefteq", [8940]], ["ntriangleright", [8939]], ["ntrianglerighteq", [8941]], ["Nu", [925]], ["nu", [957]], ["num", [35]], ["numero", [8470]], ["numsp", [8199]], ["nvap", [8781, 8402]], ["nvdash", [8876]], ["nvDash", [8877]], ["nVdash", [8878]], ["nVDash", [8879]], ["nvge", [8805, 8402]], ["nvgt", [62, 8402]], ["nvHarr", [10500]], ["nvinfin", [10718]], ["nvlArr", [10498]], ["nvle", [8804, 8402]], ["nvlt", [60, 8402]], ["nvltrie", [8884, 8402]], ["nvrArr", [10499]], ["nvrtrie", [8885, 8402]], ["nvsim", [8764, 8402]], ["nwarhk", [10531]], ["nwarr", [8598]], ["nwArr", [8662]], ["nwarrow", [8598]], ["nwnear", [10535]], ["Oacute", [211]], ["oacute", [243]], ["oast", [8859]], ["Ocirc", [212]], ["ocirc", [244]], ["ocir", [8858]], ["Ocy", [1054]], ["ocy", [1086]], ["odash", [8861]], ["Odblac", [336]], ["odblac", [337]], ["odiv", [10808]], ["odot", [8857]], ["odsold", [10684]], ["OElig", [338]], ["oelig", [339]], ["ofcir", [10687]], ["Ofr", [120082]], ["ofr", [120108]], ["ogon", [731]], ["Ograve", [210]], ["ograve", [242]], ["ogt", [10689]], ["ohbar", [10677]], ["ohm", [937]], ["oint", [8750]], ["olarr", [8634]], ["olcir", [10686]], ["olcross", [10683]], ["oline", [8254]], ["olt", [10688]], ["Omacr", [332]], ["omacr", [333]], ["Omega", [937]], ["omega", [969]], ["Omicron", [927]], ["omicron", [959]], ["omid", [10678]], ["ominus", [8854]], ["Oopf", [120134]], ["oopf", [120160]], ["opar", [10679]], ["OpenCurlyDoubleQuote", [8220]], ["OpenCurlyQuote", [8216]], ["operp", [10681]], ["oplus", [8853]], ["orarr", [8635]], ["Or", [10836]], ["or", [8744]], ["ord", [10845]], ["order", [8500]], ["orderof", [8500]], ["ordf", [170]], ["ordm", [186]], ["origof", [8886]], ["oror", [10838]], ["orslope", [10839]], ["orv", [10843]], ["oS", [9416]], ["Oscr", [119978]], ["oscr", [8500]], ["Oslash", [216]], ["oslash", [248]], ["osol", [8856]], ["Otilde", [213]], ["otilde", [245]], ["otimesas", [10806]], ["Otimes", [10807]], ["otimes", [8855]], ["Ouml", [214]], ["ouml", [246]], ["ovbar", [9021]], ["OverBar", [8254]], ["OverBrace", [9182]], ["OverBracket", [9140]], ["OverParenthesis", [9180]], ["para", [182]], ["parallel", [8741]], ["par", [8741]], ["parsim", [10995]], ["parsl", [11005]], ["part", [8706]], ["PartialD", [8706]], ["Pcy", [1055]], ["pcy", [1087]], ["percnt", [37]], ["period", [46]], ["permil", [8240]], ["perp", [8869]], ["pertenk", [8241]], ["Pfr", [120083]], ["pfr", [120109]], ["Phi", [934]], ["phi", [966]], ["phiv", [981]], ["phmmat", [8499]], ["phone", [9742]], ["Pi", [928]], ["pi", [960]], ["pitchfork", [8916]], ["piv", [982]], ["planck", [8463]], ["planckh", [8462]], ["plankv", [8463]], ["plusacir", [10787]], ["plusb", [8862]], ["pluscir", [10786]], ["plus", [43]], ["plusdo", [8724]], ["plusdu", [10789]], ["pluse", [10866]], ["PlusMinus", [177]], ["plusmn", [177]], ["plussim", [10790]], ["plustwo", [10791]], ["pm", [177]], ["Poincareplane", [8460]], ["pointint", [10773]], ["popf", [120161]], ["Popf", [8473]], ["pound", [163]], ["prap", [10935]], ["Pr", [10939]], ["pr", [8826]], ["prcue", [8828]], ["precapprox", [10935]], ["prec", [8826]], ["preccurlyeq", [8828]], ["Precedes", [8826]], ["PrecedesEqual", [10927]], ["PrecedesSlantEqual", [8828]], ["PrecedesTilde", [8830]], ["preceq", [10927]], ["precnapprox", [10937]], ["precneqq", [10933]], ["precnsim", [8936]], ["pre", [10927]], ["prE", [10931]], ["precsim", [8830]], ["prime", [8242]], ["Prime", [8243]], ["primes", [8473]], ["prnap", [10937]], ["prnE", [10933]], ["prnsim", [8936]], ["prod", [8719]], ["Product", [8719]], ["profalar", [9006]], ["profline", [8978]], ["profsurf", [8979]], ["prop", [8733]], ["Proportional", [8733]], ["Proportion", [8759]], ["propto", [8733]], ["prsim", [8830]], ["prurel", [8880]], ["Pscr", [119979]], ["pscr", [120005]], ["Psi", [936]], ["psi", [968]], ["puncsp", [8200]], ["Qfr", [120084]], ["qfr", [120110]], ["qint", [10764]], ["qopf", [120162]], ["Qopf", [8474]], ["qprime", [8279]], ["Qscr", [119980]], ["qscr", [120006]], ["quaternions", [8461]], ["quatint", [10774]], ["quest", [63]], ["questeq", [8799]], ["quot", [34]], ["QUOT", [34]], ["rAarr", [8667]], ["race", [8765, 817]], ["Racute", [340]], ["racute", [341]], ["radic", [8730]], ["raemptyv", [10675]], ["rang", [10217]], ["Rang", [10219]], ["rangd", [10642]], ["range", [10661]], ["rangle", [10217]], ["raquo", [187]], ["rarrap", [10613]], ["rarrb", [8677]], ["rarrbfs", [10528]], ["rarrc", [10547]], ["rarr", [8594]], ["Rarr", [8608]], ["rArr", [8658]], ["rarrfs", [10526]], ["rarrhk", [8618]], ["rarrlp", [8620]], ["rarrpl", [10565]], ["rarrsim", [10612]], ["Rarrtl", [10518]], ["rarrtl", [8611]], ["rarrw", [8605]], ["ratail", [10522]], ["rAtail", [10524]], ["ratio", [8758]], ["rationals", [8474]], ["rbarr", [10509]], ["rBarr", [10511]], ["RBarr", [10512]], ["rbbrk", [10099]], ["rbrace", [125]], ["rbrack", [93]], ["rbrke", [10636]], ["rbrksld", [10638]], ["rbrkslu", [10640]], ["Rcaron", [344]], ["rcaron", [345]], ["Rcedil", [342]], ["rcedil", [343]], ["rceil", [8969]], ["rcub", [125]], ["Rcy", [1056]], ["rcy", [1088]], ["rdca", [10551]], ["rdldhar", [10601]], ["rdquo", [8221]], ["rdquor", [8221]], ["rdsh", [8627]], ["real", [8476]], ["realine", [8475]], ["realpart", [8476]], ["reals", [8477]], ["Re", [8476]], ["rect", [9645]], ["reg", [174]], ["REG", [174]], ["ReverseElement", [8715]], ["ReverseEquilibrium", [8651]], ["ReverseUpEquilibrium", [10607]], ["rfisht", [10621]], ["rfloor", [8971]], ["rfr", [120111]], ["Rfr", [8476]], ["rHar", [10596]], ["rhard", [8641]], ["rharu", [8640]], ["rharul", [10604]], ["Rho", [929]], ["rho", [961]], ["rhov", [1009]], ["RightAngleBracket", [10217]], ["RightArrowBar", [8677]], ["rightarrow", [8594]], ["RightArrow", [8594]], ["Rightarrow", [8658]], ["RightArrowLeftArrow", [8644]], ["rightarrowtail", [8611]], ["RightCeiling", [8969]], ["RightDoubleBracket", [10215]], ["RightDownTeeVector", [10589]], ["RightDownVectorBar", [10581]], ["RightDownVector", [8642]], ["RightFloor", [8971]], ["rightharpoondown", [8641]], ["rightharpoonup", [8640]], ["rightleftarrows", [8644]], ["rightleftharpoons", [8652]], ["rightrightarrows", [8649]], ["rightsquigarrow", [8605]], ["RightTeeArrow", [8614]], ["RightTee", [8866]], ["RightTeeVector", [10587]], ["rightthreetimes", [8908]], ["RightTriangleBar", [10704]], ["RightTriangle", [8883]], ["RightTriangleEqual", [8885]], ["RightUpDownVector", [10575]], ["RightUpTeeVector", [10588]], ["RightUpVectorBar", [10580]], ["RightUpVector", [8638]], ["RightVectorBar", [10579]], ["RightVector", [8640]], ["ring", [730]], ["risingdotseq", [8787]], ["rlarr", [8644]], ["rlhar", [8652]], ["rlm", [8207]], ["rmoustache", [9137]], ["rmoust", [9137]], ["rnmid", [10990]], ["roang", [10221]], ["roarr", [8702]], ["robrk", [10215]], ["ropar", [10630]], ["ropf", [120163]], ["Ropf", [8477]], ["roplus", [10798]], ["rotimes", [10805]], ["RoundImplies", [10608]], ["rpar", [41]], ["rpargt", [10644]], ["rppolint", [10770]], ["rrarr", [8649]], ["Rrightarrow", [8667]], ["rsaquo", [8250]], ["rscr", [120007]], ["Rscr", [8475]], ["rsh", [8625]], ["Rsh", [8625]], ["rsqb", [93]], ["rsquo", [8217]], ["rsquor", [8217]], ["rthree", [8908]], ["rtimes", [8906]], ["rtri", [9657]], ["rtrie", [8885]], ["rtrif", [9656]], ["rtriltri", [10702]], ["RuleDelayed", [10740]], ["ruluhar", [10600]], ["rx", [8478]], ["Sacute", [346]], ["sacute", [347]], ["sbquo", [8218]], ["scap", [10936]], ["Scaron", [352]], ["scaron", [353]], ["Sc", [10940]], ["sc", [8827]], ["sccue", [8829]], ["sce", [10928]], ["scE", [10932]], ["Scedil", [350]], ["scedil", [351]], ["Scirc", [348]], ["scirc", [349]], ["scnap", [10938]], ["scnE", [10934]], ["scnsim", [8937]], ["scpolint", [10771]], ["scsim", [8831]], ["Scy", [1057]], ["scy", [1089]], ["sdotb", [8865]], ["sdot", [8901]], ["sdote", [10854]], ["searhk", [10533]], ["searr", [8600]], ["seArr", [8664]], ["searrow", [8600]], ["sect", [167]], ["semi", [59]], ["seswar", [10537]], ["setminus", [8726]], ["setmn", [8726]], ["sext", [10038]], ["Sfr", [120086]], ["sfr", [120112]], ["sfrown", [8994]], ["sharp", [9839]], ["SHCHcy", [1065]], ["shchcy", [1097]], ["SHcy", [1064]], ["shcy", [1096]], ["ShortDownArrow", [8595]], ["ShortLeftArrow", [8592]], ["shortmid", [8739]], ["shortparallel", [8741]], ["ShortRightArrow", [8594]], ["ShortUpArrow", [8593]], ["shy", [173]], ["Sigma", [931]], ["sigma", [963]], ["sigmaf", [962]], ["sigmav", [962]], ["sim", [8764]], ["simdot", [10858]], ["sime", [8771]], ["simeq", [8771]], ["simg", [10910]], ["simgE", [10912]], ["siml", [10909]], ["simlE", [10911]], ["simne", [8774]], ["simplus", [10788]], ["simrarr", [10610]], ["slarr", [8592]], ["SmallCircle", [8728]], ["smallsetminus", [8726]], ["smashp", [10803]], ["smeparsl", [10724]], ["smid", [8739]], ["smile", [8995]], ["smt", [10922]], ["smte", [10924]], ["smtes", [10924, 65024]], ["SOFTcy", [1068]], ["softcy", [1100]], ["solbar", [9023]], ["solb", [10692]], ["sol", [47]], ["Sopf", [120138]], ["sopf", [120164]], ["spades", [9824]], ["spadesuit", [9824]], ["spar", [8741]], ["sqcap", [8851]], ["sqcaps", [8851, 65024]], ["sqcup", [8852]], ["sqcups", [8852, 65024]], ["Sqrt", [8730]], ["sqsub", [8847]], ["sqsube", [8849]], ["sqsubset", [8847]], ["sqsubseteq", [8849]], ["sqsup", [8848]], ["sqsupe", [8850]], ["sqsupset", [8848]], ["sqsupseteq", [8850]], ["square", [9633]], ["Square", [9633]], ["SquareIntersection", [8851]], ["SquareSubset", [8847]], ["SquareSubsetEqual", [8849]], ["SquareSuperset", [8848]], ["SquareSupersetEqual", [8850]], ["SquareUnion", [8852]], ["squarf", [9642]], ["squ", [9633]], ["squf", [9642]], ["srarr", [8594]], ["Sscr", [119982]], ["sscr", [120008]], ["ssetmn", [8726]], ["ssmile", [8995]], ["sstarf", [8902]], ["Star", [8902]], ["star", [9734]], ["starf", [9733]], ["straightepsilon", [1013]], ["straightphi", [981]], ["strns", [175]], ["sub", [8834]], ["Sub", [8912]], ["subdot", [10941]], ["subE", [10949]], ["sube", [8838]], ["subedot", [10947]], ["submult", [10945]], ["subnE", [10955]], ["subne", [8842]], ["subplus", [10943]], ["subrarr", [10617]], ["subset", [8834]], ["Subset", [8912]], ["subseteq", [8838]], ["subseteqq", [10949]], ["SubsetEqual", [8838]], ["subsetneq", [8842]], ["subsetneqq", [10955]], ["subsim", [10951]], ["subsub", [10965]], ["subsup", [10963]], ["succapprox", [10936]], ["succ", [8827]], ["succcurlyeq", [8829]], ["Succeeds", [8827]], ["SucceedsEqual", [10928]], ["SucceedsSlantEqual", [8829]], ["SucceedsTilde", [8831]], ["succeq", [10928]], ["succnapprox", [10938]], ["succneqq", [10934]], ["succnsim", [8937]], ["succsim", [8831]], ["SuchThat", [8715]], ["sum", [8721]], ["Sum", [8721]], ["sung", [9834]], ["sup1", [185]], ["sup2", [178]], ["sup3", [179]], ["sup", [8835]], ["Sup", [8913]], ["supdot", [10942]], ["supdsub", [10968]], ["supE", [10950]], ["supe", [8839]], ["supedot", [10948]], ["Superset", [8835]], ["SupersetEqual", [8839]], ["suphsol", [10185]], ["suphsub", [10967]], ["suplarr", [10619]], ["supmult", [10946]], ["supnE", [10956]], ["supne", [8843]], ["supplus", [10944]], ["supset", [8835]], ["Supset", [8913]], ["supseteq", [8839]], ["supseteqq", [10950]], ["supsetneq", [8843]], ["supsetneqq", [10956]], ["supsim", [10952]], ["supsub", [10964]], ["supsup", [10966]], ["swarhk", [10534]], ["swarr", [8601]], ["swArr", [8665]], ["swarrow", [8601]], ["swnwar", [10538]], ["szlig", [223]], ["Tab", [9]], ["target", [8982]], ["Tau", [932]], ["tau", [964]], ["tbrk", [9140]], ["Tcaron", [356]], ["tcaron", [357]], ["Tcedil", [354]], ["tcedil", [355]], ["Tcy", [1058]], ["tcy", [1090]], ["tdot", [8411]], ["telrec", [8981]], ["Tfr", [120087]], ["tfr", [120113]], ["there4", [8756]], ["therefore", [8756]], ["Therefore", [8756]], ["Theta", [920]], ["theta", [952]], ["thetasym", [977]], ["thetav", [977]], ["thickapprox", [8776]], ["thicksim", [8764]], ["ThickSpace", [8287, 8202]], ["ThinSpace", [8201]], ["thinsp", [8201]], ["thkap", [8776]], ["thksim", [8764]], ["THORN", [222]], ["thorn", [254]], ["tilde", [732]], ["Tilde", [8764]], ["TildeEqual", [8771]], ["TildeFullEqual", [8773]], ["TildeTilde", [8776]], ["timesbar", [10801]], ["timesb", [8864]], ["times", [215]], ["timesd", [10800]], ["tint", [8749]], ["toea", [10536]], ["topbot", [9014]], ["topcir", [10993]], ["top", [8868]], ["Topf", [120139]], ["topf", [120165]], ["topfork", [10970]], ["tosa", [10537]], ["tprime", [8244]], ["trade", [8482]], ["TRADE", [8482]], ["triangle", [9653]], ["triangledown", [9663]], ["triangleleft", [9667]], ["trianglelefteq", [8884]], ["triangleq", [8796]], ["triangleright", [9657]], ["trianglerighteq", [8885]], ["tridot", [9708]], ["trie", [8796]], ["triminus", [10810]], ["TripleDot", [8411]], ["triplus", [10809]], ["trisb", [10701]], ["tritime", [10811]], ["trpezium", [9186]], ["Tscr", [119983]], ["tscr", [120009]], ["TScy", [1062]], ["tscy", [1094]], ["TSHcy", [1035]], ["tshcy", [1115]], ["Tstrok", [358]], ["tstrok", [359]], ["twixt", [8812]], ["twoheadleftarrow", [8606]], ["twoheadrightarrow", [8608]], ["Uacute", [218]], ["uacute", [250]], ["uarr", [8593]], ["Uarr", [8607]], ["uArr", [8657]], ["Uarrocir", [10569]], ["Ubrcy", [1038]], ["ubrcy", [1118]], ["Ubreve", [364]], ["ubreve", [365]], ["Ucirc", [219]], ["ucirc", [251]], ["Ucy", [1059]], ["ucy", [1091]], ["udarr", [8645]], ["Udblac", [368]], ["udblac", [369]], ["udhar", [10606]], ["ufisht", [10622]], ["Ufr", [120088]], ["ufr", [120114]], ["Ugrave", [217]], ["ugrave", [249]], ["uHar", [10595]], ["uharl", [8639]], ["uharr", [8638]], ["uhblk", [9600]], ["ulcorn", [8988]], ["ulcorner", [8988]], ["ulcrop", [8975]], ["ultri", [9720]], ["Umacr", [362]], ["umacr", [363]], ["uml", [168]], ["UnderBar", [95]], ["UnderBrace", [9183]], ["UnderBracket", [9141]], ["UnderParenthesis", [9181]], ["Union", [8899]], ["UnionPlus", [8846]], ["Uogon", [370]], ["uogon", [371]], ["Uopf", [120140]], ["uopf", [120166]], ["UpArrowBar", [10514]], ["uparrow", [8593]], ["UpArrow", [8593]], ["Uparrow", [8657]], ["UpArrowDownArrow", [8645]], ["updownarrow", [8597]], ["UpDownArrow", [8597]], ["Updownarrow", [8661]], ["UpEquilibrium", [10606]], ["upharpoonleft", [8639]], ["upharpoonright", [8638]], ["uplus", [8846]], ["UpperLeftArrow", [8598]], ["UpperRightArrow", [8599]], ["upsi", [965]], ["Upsi", [978]], ["upsih", [978]], ["Upsilon", [933]], ["upsilon", [965]], ["UpTeeArrow", [8613]], ["UpTee", [8869]], ["upuparrows", [8648]], ["urcorn", [8989]], ["urcorner", [8989]], ["urcrop", [8974]], ["Uring", [366]], ["uring", [367]], ["urtri", [9721]], ["Uscr", [119984]], ["uscr", [120010]], ["utdot", [8944]], ["Utilde", [360]], ["utilde", [361]], ["utri", [9653]], ["utrif", [9652]], ["uuarr", [8648]], ["Uuml", [220]], ["uuml", [252]], ["uwangle", [10663]], ["vangrt", [10652]], ["varepsilon", [1013]], ["varkappa", [1008]], ["varnothing", [8709]], ["varphi", [981]], ["varpi", [982]], ["varpropto", [8733]], ["varr", [8597]], ["vArr", [8661]], ["varrho", [1009]], ["varsigma", [962]], ["varsubsetneq", [8842, 65024]], ["varsubsetneqq", [10955, 65024]], ["varsupsetneq", [8843, 65024]], ["varsupsetneqq", [10956, 65024]], ["vartheta", [977]], ["vartriangleleft", [8882]], ["vartriangleright", [8883]], ["vBar", [10984]], ["Vbar", [10987]], ["vBarv", [10985]], ["Vcy", [1042]], ["vcy", [1074]], ["vdash", [8866]], ["vDash", [8872]], ["Vdash", [8873]], ["VDash", [8875]], ["Vdashl", [10982]], ["veebar", [8891]], ["vee", [8744]], ["Vee", [8897]], ["veeeq", [8794]], ["vellip", [8942]], ["verbar", [124]], ["Verbar", [8214]], ["vert", [124]], ["Vert", [8214]], ["VerticalBar", [8739]], ["VerticalLine", [124]], ["VerticalSeparator", [10072]], ["VerticalTilde", [8768]], ["VeryThinSpace", [8202]], ["Vfr", [120089]], ["vfr", [120115]], ["vltri", [8882]], ["vnsub", [8834, 8402]], ["vnsup", [8835, 8402]], ["Vopf", [120141]], ["vopf", [120167]], ["vprop", [8733]], ["vrtri", [8883]], ["Vscr", [119985]], ["vscr", [120011]], ["vsubnE", [10955, 65024]], ["vsubne", [8842, 65024]], ["vsupnE", [10956, 65024]], ["vsupne", [8843, 65024]], ["Vvdash", [8874]], ["vzigzag", [10650]], ["Wcirc", [372]], ["wcirc", [373]], ["wedbar", [10847]], ["wedge", [8743]], ["Wedge", [8896]], ["wedgeq", [8793]], ["weierp", [8472]], ["Wfr", [120090]], ["wfr", [120116]], ["Wopf", [120142]], ["wopf", [120168]], ["wp", [8472]], ["wr", [8768]], ["wreath", [8768]], ["Wscr", [119986]], ["wscr", [120012]], ["xcap", [8898]], ["xcirc", [9711]], ["xcup", [8899]], ["xdtri", [9661]], ["Xfr", [120091]], ["xfr", [120117]], ["xharr", [10231]], ["xhArr", [10234]], ["Xi", [926]], ["xi", [958]], ["xlarr", [10229]], ["xlArr", [10232]], ["xmap", [10236]], ["xnis", [8955]], ["xodot", [10752]], ["Xopf", [120143]], ["xopf", [120169]], ["xoplus", [10753]], ["xotime", [10754]], ["xrarr", [10230]], ["xrArr", [10233]], ["Xscr", [119987]], ["xscr", [120013]], ["xsqcup", [10758]], ["xuplus", [10756]], ["xutri", [9651]], ["xvee", [8897]], ["xwedge", [8896]], ["Yacute", [221]], ["yacute", [253]], ["YAcy", [1071]], ["yacy", [1103]], ["Ycirc", [374]], ["ycirc", [375]], ["Ycy", [1067]], ["ycy", [1099]], ["yen", [165]], ["Yfr", [120092]], ["yfr", [120118]], ["YIcy", [1031]], ["yicy", [1111]], ["Yopf", [120144]], ["yopf", [120170]], ["Yscr", [119988]], ["yscr", [120014]], ["YUcy", [1070]], ["yucy", [1102]], ["yuml", [255]], ["Yuml", [376]], ["Zacute", [377]], ["zacute", [378]], ["Zcaron", [381]], ["zcaron", [382]], ["Zcy", [1047]], ["zcy", [1079]], ["Zdot", [379]], ["zdot", [380]], ["zeetrf", [8488]], ["ZeroWidthSpace", [8203]], ["Zeta", [918]], ["zeta", [950]], ["zfr", [120119]], ["Zfr", [8488]], ["ZHcy", [1046]], ["zhcy", [1078]], ["zigrarr", [8669]], ["zopf", [120171]], ["Zopf", [8484]], ["Zscr", [119989]], ["zscr", [120015]], ["zwj", [8205]], ["zwnj", [8204]]],
  4225. o = {}, a = {};
  4226. i(o, a), n.prototype.decode = function (e) {
  4227. return 0 === e.length ? "" : e.replace(/&(#?[\w\d]+);?/g, function (e, t) {
  4228. var n;
  4229. if ("#" === t.charAt(0)) {
  4230. var i = "x" === t.charAt(1) ? parseInt(t.substr(2).toLowerCase(), 16) : parseInt(t.substr(1));
  4231. isNaN(i) || -32768 > i || i > 65535 || (n = String.fromCharCode(i))
  4232. } else n = o[t];
  4233. return n || e
  4234. })
  4235. }, n.decode = function (e) {
  4236. return (new n).decode(e)
  4237. }, n.prototype.encode = function (e) {
  4238. var t = e.length;
  4239. if (0 === t) return "";
  4240. for (var n = "", i = 0; t > i;) {
  4241. var r = a[e.charCodeAt(i)];
  4242. if (r) {
  4243. var o = r[e.charCodeAt(i + 1)];
  4244. if (o ? i++ : o = r[""], o) {
  4245. n += "&" + o + ";", i++;
  4246. continue
  4247. }
  4248. }
  4249. n += e.charAt(i), i++
  4250. }
  4251. return n
  4252. }, n.encode = function (e) {
  4253. return (new n).encode(e)
  4254. }, n.prototype.encodeNonUTF = function (e) {
  4255. var t = e.length;
  4256. if (0 === t) return "";
  4257. for (var n = "", i = 0; t > i;) {
  4258. var r = e.charCodeAt(i), o = a[r];
  4259. if (o) {
  4260. var s = o[e.charCodeAt(i + 1)];
  4261. if (s ? i++ : s = o[""], s) {
  4262. n += "&" + s + ";", i++;
  4263. continue
  4264. }
  4265. }
  4266. n += 32 > r || r > 126 ? "&#" + r + ";" : e.charAt(i), i++
  4267. }
  4268. return n
  4269. }, n.encodeNonUTF = function (e) {
  4270. return (new n).encodeNonUTF(e)
  4271. }, n.prototype.encodeNonASCII = function (e) {
  4272. var t = e.length;
  4273. if (0 === t) return "";
  4274. for (var n = "", i = 0; t > i;) {
  4275. var r = e.charCodeAt(i);
  4276. 255 >= r ? n += e[i++] : (n += "&#" + r + ";", i++)
  4277. }
  4278. return n
  4279. }, n.encodeNonASCII = function (e) {
  4280. return (new n).encodeNonASCII(e)
  4281. }, e.exports = n
  4282. }, function (e, t) {
  4283. t.store = {}, t.set = function (e, n) {
  4284. t.store[e] = n
  4285. }, t.get = function (e) {
  4286. return t.store[e]
  4287. }, t.reset = function () {
  4288. t.store = {}
  4289. }
  4290. }, function (e, t) {
  4291. e.exports = {
  4292. 5: {
  4293. container: "flv",
  4294. resolution: "240p",
  4295. encoding: "Sorenson H.283",
  4296. profile: null,
  4297. bitrate: "0.25",
  4298. audioEncoding: "mp3",
  4299. audioBitrate: 64
  4300. },
  4301. 6: {
  4302. container: "flv",
  4303. resolution: "270p",
  4304. encoding: "Sorenson H.263",
  4305. profile: null,
  4306. bitrate: "0.8",
  4307. audioEncoding: "mp3",
  4308. audioBitrate: 64
  4309. },
  4310. 13: {
  4311. container: "3gp",
  4312. resolution: null,
  4313. encoding: "MPEG-4 Visual",
  4314. profile: null,
  4315. bitrate: "0.5",
  4316. audioEncoding: "aac",
  4317. audioBitrate: null
  4318. },
  4319. 17: {
  4320. container: "3gp",
  4321. resolution: "144p",
  4322. encoding: "MPEG-4 Visual",
  4323. profile: "simple",
  4324. bitrate: "0.05",
  4325. audioEncoding: "aac",
  4326. audioBitrate: 24
  4327. },
  4328. 18: {
  4329. container: "mp4",
  4330. resolution: "360p",
  4331. encoding: "H.264",
  4332. profile: "baseline",
  4333. bitrate: "0.5",
  4334. audioEncoding: "aac",
  4335. audioBitrate: 96
  4336. },
  4337. 22: {
  4338. container: "mp4",
  4339. resolution: "720p",
  4340. encoding: "H.264",
  4341. profile: "high",
  4342. bitrate: "2-3",
  4343. audioEncoding: "aac",
  4344. audioBitrate: 192
  4345. },
  4346. 34: {
  4347. container: "flv",
  4348. resolution: "360p",
  4349. encoding: "H.264",
  4350. profile: "main",
  4351. bitrate: "0.5",
  4352. audioEncoding: "aac",
  4353. audioBitrate: 128
  4354. },
  4355. 35: {
  4356. container: "flv",
  4357. resolution: "480p",
  4358. encoding: "H.264",
  4359. profile: "main",
  4360. bitrate: "0.8-1",
  4361. audioEncoding: "aac",
  4362. audioBitrate: 128
  4363. },
  4364. 36: {
  4365. container: "3gp",
  4366. resolution: "240p",
  4367. encoding: "MPEG-4 Visual",
  4368. profile: "simple",
  4369. bitrate: "0.175",
  4370. audioEncoding: "aac",
  4371. audioBitrate: 36
  4372. },
  4373. 37: {
  4374. container: "mp4",
  4375. resolution: "1080p",
  4376. encoding: "H.264",
  4377. profile: "high",
  4378. bitrate: "3-5.9",
  4379. audioEncoding: "aac",
  4380. audioBitrate: 192
  4381. },
  4382. 38: {
  4383. container: "mp4",
  4384. resolution: "3072p",
  4385. encoding: "H.264",
  4386. profile: "high",
  4387. bitrate: "3.5-5",
  4388. audioEncoding: "aac",
  4389. audioBitrate: 192
  4390. },
  4391. 43: {
  4392. container: "webm",
  4393. resolution: "360p",
  4394. encoding: "VP8",
  4395. profile: null,
  4396. bitrate: "0.5",
  4397. audioEncoding: "vorbis",
  4398. audioBitrate: 128
  4399. },
  4400. 44: {
  4401. container: "webm",
  4402. resolution: "480p",
  4403. encoding: "VP8",
  4404. profile: null,
  4405. bitrate: "1",
  4406. audioEncoding: "vorbis",
  4407. audioBitrate: 128
  4408. },
  4409. 45: {
  4410. container: "webm",
  4411. resolution: "720p",
  4412. encoding: "VP8",
  4413. profile: null,
  4414. bitrate: "2",
  4415. audioEncoding: "vorbis",
  4416. audioBitrate: 192
  4417. },
  4418. 46: {
  4419. container: "webm",
  4420. resolution: "1080p",
  4421. encoding: "vp8",
  4422. profile: null,
  4423. bitrate: null,
  4424. audioEncoding: "vorbis",
  4425. audioBitrate: 192
  4426. },
  4427. 82: {
  4428. container: "mp4",
  4429. resolution: "360p",
  4430. encoding: "H.264",
  4431. profile: "3d",
  4432. bitrate: "0.5",
  4433. audioEncoding: "aac",
  4434. audioBitrate: 96
  4435. },
  4436. 83: {
  4437. container: "mp4",
  4438. resolution: "240p",
  4439. encoding: "H.264",
  4440. profile: "3d",
  4441. bitrate: "0.5",
  4442. audioEncoding: "aac",
  4443. audioBitrate: 96
  4444. },
  4445. 84: {
  4446. container: "mp4",
  4447. resolution: "720p",
  4448. encoding: "H.264",
  4449. profile: "3d",
  4450. bitrate: "2-3",
  4451. audioEncoding: "aac",
  4452. audioBitrate: 192
  4453. },
  4454. 85: {
  4455. container: "mp4",
  4456. resolution: "1080p",
  4457. encoding: "H.264",
  4458. profile: "3d",
  4459. bitrate: "3-4",
  4460. audioEncoding: "aac",
  4461. audioBitrate: 192
  4462. },
  4463. 100: {
  4464. container: "webm",
  4465. resolution: "360p",
  4466. encoding: "VP8",
  4467. profile: "3d",
  4468. bitrate: null,
  4469. audioEncoding: "vorbis",
  4470. audioBitrate: 128
  4471. },
  4472. 101: {
  4473. container: "webm",
  4474. resolution: "360p",
  4475. encoding: "VP8",
  4476. profile: "3d",
  4477. bitrate: null,
  4478. audioEncoding: "vorbis",
  4479. audioBitrate: 192
  4480. },
  4481. 102: {
  4482. container: "webm",
  4483. resolution: "720p",
  4484. encoding: "VP8",
  4485. profile: "3d",
  4486. bitrate: null,
  4487. audioEncoding: "vorbis",
  4488. audioBitrate: 192
  4489. },
  4490. 133: {
  4491. container: "mp4",
  4492. resolution: "240p",
  4493. encoding: "H.264",
  4494. profile: "main",
  4495. bitrate: "0.2-0.3",
  4496. audioEncoding: null,
  4497. audioBitrate: null
  4498. },
  4499. 134: {
  4500. container: "mp4",
  4501. resolution: "360p",
  4502. encoding: "H.264",
  4503. profile: "main",
  4504. bitrate: "0.3-0.4",
  4505. audioEncoding: null,
  4506. audioBitrate: null
  4507. },
  4508. 135: {
  4509. container: "mp4",
  4510. resolution: "480p",
  4511. encoding: "H.264",
  4512. profile: "main",
  4513. bitrate: "0.5-1",
  4514. audioEncoding: null,
  4515. audioBitrate: null
  4516. },
  4517. 136: {
  4518. container: "mp4",
  4519. resolution: "720p",
  4520. encoding: "H.264",
  4521. profile: "main",
  4522. bitrate: "1-1.5",
  4523. audioEncoding: null,
  4524. audioBitrate: null
  4525. },
  4526. 137: {
  4527. container: "mp4",
  4528. resolution: "1080p",
  4529. encoding: "H.264",
  4530. profile: "high",
  4531. bitrate: "2-3",
  4532. audioEncoding: null,
  4533. audioBitrate: null
  4534. },
  4535. 138: {
  4536. container: "mp4",
  4537. resolution: "2160p",
  4538. encoding: "H.264",
  4539. profile: "high",
  4540. bitrate: "13.5",
  4541. audioEncoding: null,
  4542. audioBitrate: null
  4543. },
  4544. 160: {
  4545. container: "mp4",
  4546. resolution: "144p",
  4547. encoding: "H.264",
  4548. profile: "main",
  4549. bitrate: "0.1",
  4550. audioEncoding: null,
  4551. audioBitrate: null
  4552. },
  4553. 242: {
  4554. container: "webm",
  4555. resolution: "240p",
  4556. encoding: "VP9",
  4557. profile: null,
  4558. bitrate: "0.14",
  4559. audioEncoding: null,
  4560. audioBitrate: null
  4561. },
  4562. 243: {
  4563. container: "webm",
  4564. resolution: "360p",
  4565. encoding: "VP9",
  4566. profile: null,
  4567. bitrate: "0.26",
  4568. audioEncoding: null,
  4569. audioBitrate: null
  4570. },
  4571. 244: {
  4572. container: "webm",
  4573. resolution: "480p",
  4574. encoding: "VP9",
  4575. profile: null,
  4576. bitrate: "0.585",
  4577. audioEncoding: null,
  4578. audioBitrate: null
  4579. },
  4580. 247: {
  4581. container: "webm",
  4582. resolution: "720p",
  4583. encoding: "VP9",
  4584. profile: null,
  4585. bitrate: "1.184",
  4586. audioEncoding: null,
  4587. audioBitrate: null
  4588. },
  4589. 248: {
  4590. container: "webm",
  4591. resolution: "1080p",
  4592. encoding: "VP9",
  4593. profile: null,
  4594. bitrate: "1.895",
  4595. audioEncoding: null,
  4596. audioBitrate: null
  4597. },
  4598. 264: {
  4599. container: "mp4",
  4600. resolution: "1440p",
  4601. encoding: "H.264",
  4602. profile: "high",
  4603. bitrate: "4-5",
  4604. audioEncoding: null,
  4605. audioBitrate: null
  4606. },
  4607. 266: {
  4608. container: "mp4",
  4609. resolution: "2160p",
  4610. encoding: "H.264",
  4611. profile: "high",
  4612. bitrate: "12.5-13.5",
  4613. audioEncoding: null,
  4614. audioBitrate: null
  4615. },
  4616. 271: {
  4617. container: "webm",
  4618. resolution: "1440p",
  4619. encoding: "VP9",
  4620. profile: null,
  4621. bitrate: "9",
  4622. audioEncoding: null,
  4623. audioBitrate: null
  4624. },
  4625. 272: {
  4626. container: "webm",
  4627. resolution: "2160p",
  4628. encoding: "VP9",
  4629. profile: null,
  4630. bitrate: "20",
  4631. audioEncoding: null,
  4632. audioBitrate: null
  4633. },
  4634. 278: {
  4635. container: "webm",
  4636. resolution: "144p",
  4637. encoding: "VP9",
  4638. profile: null,
  4639. bitrate: "0.08",
  4640. audioEncoding: null,
  4641. audioBitrate: null
  4642. },
  4643. 298: {
  4644. container: "mp4",
  4645. resolution: "720p",
  4646. encoding: "H.264",
  4647. profile: "main",
  4648. bitrate: "3-3.5",
  4649. audioEncoding: null,
  4650. audioBitrate: null
  4651. },
  4652. 299: {
  4653. container: "mp4",
  4654. resolution: "1080p",
  4655. encoding: "H.264",
  4656. profile: "high",
  4657. bitrate: "5.5",
  4658. audioEncoding: null,
  4659. audioBitrate: null
  4660. },
  4661. 302: {
  4662. container: "webm",
  4663. resolution: "720p",
  4664. encoding: "VP9",
  4665. profile: null,
  4666. bitrate: "2.5",
  4667. audioEncoding: null,
  4668. audioBitrate: null
  4669. },
  4670. 303: {
  4671. container: "webm",
  4672. resolution: "1080p",
  4673. encoding: "VP9",
  4674. profile: null,
  4675. bitrate: "5",
  4676. audioEncoding: null,
  4677. audioBitrate: null
  4678. },
  4679. 139: {
  4680. container: "mp4",
  4681. resolution: null,
  4682. encoding: null,
  4683. profile: null,
  4684. bitrate: null,
  4685. audioEncoding: "aac",
  4686. audioBitrate: 48
  4687. },
  4688. 140: {
  4689. container: "mp4",
  4690. resolution: null,
  4691. encoding: null,
  4692. profile: null,
  4693. bitrate: null,
  4694. audioEncoding: "aac",
  4695. audioBitrate: 128
  4696. },
  4697. 141: {
  4698. container: "mp4",
  4699. resolution: null,
  4700. encoding: null,
  4701. profile: null,
  4702. bitrate: null,
  4703. audioEncoding: "aac",
  4704. audioBitrate: 256
  4705. },
  4706. 171: {
  4707. container: "webm",
  4708. resolution: null,
  4709. encoding: null,
  4710. profile: null,
  4711. bitrate: null,
  4712. audioEncoding: "vorbis",
  4713. audioBitrate: 128
  4714. },
  4715. 172: {
  4716. container: "webm",
  4717. resolution: null,
  4718. encoding: null,
  4719. profile: null,
  4720. bitrate: null,
  4721. audioEncoding: "vorbis",
  4722. audioBitrate: 192
  4723. },
  4724. 249: {
  4725. container: "webm",
  4726. resolution: null,
  4727. encoding: null,
  4728. profile: null,
  4729. bitrate: null,
  4730. audioEncoding: "opus",
  4731. audioBitrate: 50
  4732. },
  4733. 250: {
  4734. container: "webm",
  4735. resolution: null,
  4736. encoding: null,
  4737. profile: null,
  4738. bitrate: null,
  4739. audioEncoding: "opus",
  4740. audioBitrate: 70
  4741. },
  4742. 251: {
  4743. container: "webm",
  4744. resolution: null,
  4745. encoding: null,
  4746. profile: null,
  4747. bitrate: null,
  4748. audioEncoding: "opus",
  4749. audioBitrate: 160
  4750. },
  4751. 92: {
  4752. container: "ts",
  4753. resolution: "240p",
  4754. encoding: "H.264",
  4755. profile: "main",
  4756. bitrate: "0.15-0.3",
  4757. audioEncoding: "aac",
  4758. audioBitrate: 48
  4759. },
  4760. 93: {
  4761. container: "ts",
  4762. resolution: "480p",
  4763. encoding: "H.264",
  4764. profile: "main",
  4765. bitrate: "0.5-1",
  4766. audioEncoding: "aac",
  4767. audioBitrate: 128
  4768. },
  4769. 94: {
  4770. container: "ts",
  4771. resolution: "720p",
  4772. encoding: "H.264",
  4773. profile: "main",
  4774. bitrate: "0.8-1.25",
  4775. audioEncoding: "aac",
  4776. audioBitrate: 128
  4777. },
  4778. 95: {
  4779. container: "ts",
  4780. resolution: "1080p",
  4781. encoding: "H.264",
  4782. profile: "main",
  4783. bitrate: "1.5-3",
  4784. audioEncoding: "aac",
  4785. audioBitrate: 256
  4786. },
  4787. 96: {
  4788. container: "ts",
  4789. resolution: "720p",
  4790. encoding: "H.264",
  4791. profile: "main",
  4792. bitrate: "2.5-6",
  4793. audioEncoding: "aac",
  4794. audioBitrate: 256
  4795. },
  4796. 120: {
  4797. container: "flv",
  4798. resolution: "720p",
  4799. encoding: "H.264",
  4800. profile: "Main@L3.1",
  4801. bitrate: "2",
  4802. audioEncoding: "aac",
  4803. audioBitrate: 128
  4804. },
  4805. 127: {
  4806. container: "ts",
  4807. resolution: null,
  4808. encoding: null,
  4809. profile: null,
  4810. bitrate: null,
  4811. audioEncoding: "aac",
  4812. audioBitrate: 96
  4813. },
  4814. 128: {
  4815. container: "ts",
  4816. resolution: null,
  4817. encoding: null,
  4818. profile: null,
  4819. bitrate: null,
  4820. audioEncoding: "aac",
  4821. audioBitrate: 96
  4822. },
  4823. 132: {
  4824. container: "ts",
  4825. resolution: "240p",
  4826. encoding: "H.264",
  4827. profile: "baseline",
  4828. bitrate: "0.15-0.2",
  4829. audioEncoding: "aac",
  4830. audioBitrate: 48
  4831. },
  4832. 151: {
  4833. container: "ts",
  4834. resolution: "720p",
  4835. encoding: "H.264",
  4836. profile: "baseline",
  4837. bitrate: "0.05",
  4838. audioEncoding: "aac",
  4839. audioBitrate: 24
  4840. }
  4841. }
  4842. }, function (e, t) {
  4843. e.exports = function (e) {
  4844. return e.webpackPolyfill || (e.deprecate = function () {
  4845. }, e.paths = [], e.children || (e.children = []), Object.defineProperty(e, "loaded", {
  4846. enumerable: !0,
  4847. get: function () {
  4848. return e.l
  4849. }
  4850. }), Object.defineProperty(e, "id", {
  4851. enumerable: !0, get: function () {
  4852. return e.i
  4853. }
  4854. }), e.webpackPolyfill = 1), e
  4855. }
  4856. }, function (e, t) {
  4857. var n = {}.toString;
  4858. e.exports = Array.isArray || function (e) {
  4859. return "[object Array]" == n.call(e)
  4860. }
  4861. }, function (e, t, n) {
  4862. "use strict";
  4863.  
  4864. function i(e) {
  4865. return this instanceof i ? void r.call(this, e) : new i(e)
  4866. }
  4867.  
  4868. e.exports = i;
  4869. var r = n(14), o = n(5);
  4870. o.inherits = n(3), o.inherits(i, r), i.prototype._transform = function (e, t, n) {
  4871. n(null, e)
  4872. }
  4873. }, function (e, t, n) {
  4874. "use strict";
  4875. (function (t) {
  4876. function i(e, t, n) {
  4877. return "function" == typeof e.prependListener ? e.prependListener(t, n) : void(e._events && e._events[t] ? O(e._events[t]) ? e._events[t].unshift(n) : e._events[t] = [n, e._events[t]] : e.on(t, n))
  4878. }
  4879.  
  4880. function r(e, t) {
  4881. _ = _ || n(1), e = e || {}, this.objectMode = !!e.objectMode, t instanceof _ && (this.objectMode = this.objectMode || !!e.readableObjectMode);
  4882. var i = e.highWaterMark, r = this.objectMode ? 16 : 16384;
  4883. this.highWaterMark = i || 0 === i ? i : r, this.highWaterMark = ~~this.highWaterMark, this.buffer = new V, this.length = 0, this.pipes = null, this.pipesCount = 0, this.flowing = null, this.ended = !1, this.endEmitted = !1, this.reading = !1, this.sync = !0, this.needReadable = !1, this.emittedReadable = !1, this.readableListening = !1, this.resumeScheduled = !1, this.defaultEncoding = e.defaultEncoding || "utf8", this.ranOut = !1, this.awaitDrain = 0, this.readingMore = !1, this.decoder = null, this.encoding = null, e.encoding && (q || (q = n(16).StringDecoder), this.decoder = new q(e.encoding), this.encoding = e.encoding)
  4884. }
  4885.  
  4886. function o(e) {
  4887. return _ = _ || n(1), this instanceof o ? (this._readableState = new r(e, this), this.readable = !0, e && "function" == typeof e.read && (this._read = e.read), void L.call(this)) : new o(e)
  4888. }
  4889.  
  4890. function a(e, t, n, i, r) {
  4891. var o = u(t, n);
  4892. if (o) e.emit("error", o); else if (null === n) t.reading = !1, d(e, t); else if (t.objectMode || n && n.length > 0) if (t.ended && !r) {
  4893. var a = new Error("stream.push() after EOF");
  4894. e.emit("error", a)
  4895. } else if (t.endEmitted && r) {
  4896. var l = new Error("stream.unshift() after end event");
  4897. e.emit("error", l)
  4898. } else {
  4899. var c;
  4900. !t.decoder || r || i || (n = t.decoder.write(n), c = !t.objectMode && 0 === n.length), r || (t.reading = !1), c || (t.flowing && 0 === t.length && !t.sync ? (e.emit("data", n), e.read(0)) : (t.length += t.objectMode ? 1 : n.length, r ? t.buffer.unshift(n) : t.buffer.push(n), t.needReadable && h(e))), f(e, t)
  4901. } else r || (t.reading = !1);
  4902. return s(t)
  4903. }
  4904.  
  4905. function s(e) {
  4906. return !e.ended && (e.needReadable || e.length < e.highWaterMark || 0 === e.length)
  4907. }
  4908.  
  4909. function l(e) {
  4910. return e >= U ? e = U : (e--, e |= e >>> 1, e |= e >>> 2, e |= e >>> 4, e |= e >>> 8, e |= e >>> 16, e++), e
  4911. }
  4912.  
  4913. function c(e, t) {
  4914. return 0 >= e || 0 === t.length && t.ended ? 0 : t.objectMode ? 1 : e !== e ? t.flowing && t.length ? t.buffer.head.data.length : t.length : (e > t.highWaterMark && (t.highWaterMark = l(e)), e <= t.length ? e : t.ended ? t.length : (t.needReadable = !0, 0))
  4915. }
  4916.  
  4917. function u(e, t) {
  4918. var n = null;
  4919. return D.isBuffer(t) || "string" == typeof t || null === t || void 0 === t || e.objectMode || (n = new TypeError("Invalid non-string/buffer chunk")), n
  4920. }
  4921.  
  4922. function d(e, t) {
  4923. if (!t.ended) {
  4924. if (t.decoder) {
  4925. var n = t.decoder.end();
  4926. n && n.length && (t.buffer.push(n), t.length += t.objectMode ? 1 : n.length)
  4927. }
  4928. t.ended = !0, h(e)
  4929. }
  4930. }
  4931.  
  4932. function h(e) {
  4933. var t = e._readableState;
  4934. t.needReadable = !1, t.emittedReadable || (M("emitReadable", t.flowing), t.emittedReadable = !0, t.sync ? k(p, e) : p(e))
  4935. }
  4936.  
  4937. function p(e) {
  4938. M("emit readable"), e.emit("readable"), w(e)
  4939. }
  4940.  
  4941. function f(e, t) {
  4942. t.readingMore || (t.readingMore = !0, k(m, e, t))
  4943. }
  4944.  
  4945. function m(e, t) {
  4946. for (var n = t.length; !t.reading && !t.flowing && !t.ended && t.length < t.highWaterMark && (M("maybeReadMore read 0"), e.read(0), n !== t.length);) n = t.length;
  4947. t.readingMore = !1
  4948. }
  4949.  
  4950. function g(e) {
  4951. return function () {
  4952. var t = e._readableState;
  4953. M("pipeOnDrain", t.awaitDrain), t.awaitDrain && t.awaitDrain--, 0 === t.awaitDrain && $(e, "data") && (t.flowing = !0, w(e))
  4954. }
  4955. }
  4956.  
  4957. function v(e) {
  4958. M("readable nexttick read 0"), e.read(0)
  4959. }
  4960.  
  4961. function y(e, t) {
  4962. t.resumeScheduled || (t.resumeScheduled = !0, k(b, e, t))
  4963. }
  4964.  
  4965. function b(e, t) {
  4966. t.reading || (M("resume read 0"), e.read(0)), t.resumeScheduled = !1, t.awaitDrain = 0, e.emit("resume"), w(e), t.flowing && !t.reading && e.read(0)
  4967. }
  4968.  
  4969. function w(e) {
  4970. var t = e._readableState;
  4971. for (M("flow", t.flowing); t.flowing && null !== e.read();) ;
  4972. }
  4973.  
  4974. function T(e, t) {
  4975. if (0 === t.length) return null;
  4976. var n;
  4977. return t.objectMode ? n = t.buffer.shift() : !e || e >= t.length ? (n = t.decoder ? t.buffer.join("") : 1 === t.buffer.length ? t.buffer.head.data : t.buffer.concat(t.length), t.buffer.clear()) : n = E(e, t.buffer, t.decoder), n
  4978. }
  4979.  
  4980. function E(e, t, n) {
  4981. var i;
  4982. return e < t.head.data.length ? (i = t.head.data.slice(0, e), t.head.data = t.head.data.slice(e)) : i = e === t.head.data.length ? t.shift() : n ? x(e, t) : I(e, t), i
  4983. }
  4984.  
  4985. function x(e, t) {
  4986. var n = t.head, i = 1, r = n.data;
  4987. for (e -= r.length; n = n.next;) {
  4988. var o = n.data, a = e > o.length ? o.length : e;
  4989. if (r += a === o.length ? o : o.slice(0, e), e -= a, 0 === e) {
  4990. a === o.length ? (++i, n.next ? t.head = n.next : t.head = t.tail = null) : (t.head = n, n.data = o.slice(a));
  4991. break
  4992. }
  4993. ++i
  4994. }
  4995. return t.length -= i, r
  4996. }
  4997.  
  4998. function I(e, t) {
  4999. var n = B.allocUnsafe(e), i = t.head, r = 1;
  5000. for (i.data.copy(n), e -= i.data.length; i = i.next;) {
  5001. var o = i.data, a = e > o.length ? o.length : e;
  5002. if (o.copy(n, n.length - e, 0, a), e -= a, 0 === e) {
  5003. a === o.length ? (++r, i.next ? t.head = i.next : t.head = t.tail = null) : (t.head = i, i.data = o.slice(a));
  5004. break
  5005. }
  5006. ++r
  5007. }
  5008. return t.length -= r, n
  5009. }
  5010.  
  5011. function S(e) {
  5012. var t = e._readableState;
  5013. if (t.length > 0) throw new Error('"endReadable()" called on non-empty stream');
  5014. t.endEmitted || (t.ended = !0, k(N, t, e))
  5015. }
  5016.  
  5017. function N(e, t) {
  5018. e.endEmitted || 0 !== e.length || (e.endEmitted = !0, t.readable = !1, t.emit("end"))
  5019. }
  5020.  
  5021. function C(e, t) {
  5022. for (var n = 0, i = e.length; i > n; n++) t(e[n], n)
  5023. }
  5024.  
  5025. function A(e, t) {
  5026. for (var n = 0, i = e.length; i > n; n++) if (e[n] === t) return n;
  5027. return -1
  5028. }
  5029.  
  5030. e.exports = o;
  5031. var _, k = n(12), O = n(21);
  5032. o.ReadableState = r;
  5033. var L, $ = (n(7).EventEmitter, function (e, t) {
  5034. return e.listeners(t).length
  5035. });
  5036. !function () {
  5037. try {
  5038. L = n(6)
  5039. } catch (e) {
  5040. } finally {
  5041. L || (L = n(7).EventEmitter)
  5042. }
  5043. }();
  5044. var D = n(0).Buffer, B = n(11), P = n(5);
  5045. P.inherits = n(3);
  5046. var R = n(53), M = void 0;
  5047. M = R && R.debuglog ? R.debuglog("stream") : function () {
  5048. };
  5049. var q, V = n(45);
  5050. P.inherits(o, L), o.prototype.push = function (e, t) {
  5051. var n = this._readableState;
  5052. return n.objectMode || "string" != typeof e || (t = t || n.defaultEncoding, t !== n.encoding && (e = B.from(e, t), t = "")), a(this, n, e, t, !1)
  5053. }, o.prototype.unshift = function (e) {
  5054. var t = this._readableState;
  5055. return a(this, t, e, "", !0)
  5056. }, o.prototype.isPaused = function () {
  5057. return this._readableState.flowing === !1
  5058. }, o.prototype.setEncoding = function (e) {
  5059. return q || (q = n(16).StringDecoder), this._readableState.decoder = new q(e), this._readableState.encoding = e, this
  5060. };
  5061. var U = 8388608;
  5062. o.prototype.read = function (e) {
  5063. M("read", e), e = parseInt(e, 10);
  5064. var t = this._readableState, n = e;
  5065. if (0 !== e && (t.emittedReadable = !1), 0 === e && t.needReadable && (t.length >= t.highWaterMark || t.ended)) return M("read: emitReadable", t.length, t.ended), 0 === t.length && t.ended ? S(this) : h(this), null;
  5066. if (e = c(e, t), 0 === e && t.ended) return 0 === t.length && S(this), null;
  5067. var i = t.needReadable;
  5068. M("need readable", i), (0 === t.length || t.length - e < t.highWaterMark) && (i = !0, M("length less than watermark", i)), t.ended || t.reading ? (i = !1, M("reading or ended", i)) : i && (M("do read"), t.reading = !0, t.sync = !0, 0 === t.length && (t.needReadable = !0), this._read(t.highWaterMark), t.sync = !1, t.reading || (e = c(n, t)));
  5069. var r;
  5070. return r = e > 0 ? T(e, t) : null, null === r ? (t.needReadable = !0, e = 0) : t.length -= e, 0 === t.length && (t.ended || (t.needReadable = !0), n !== e && t.ended && S(this)), null !== r && this.emit("data", r), r
  5071. }, o.prototype._read = function (e) {
  5072. this.emit("error", new Error("_read() is not implemented"))
  5073. }, o.prototype.pipe = function (e, n) {
  5074. function r(e) {
  5075. M("onunpipe"), e === h && a()
  5076. }
  5077.  
  5078. function o() {
  5079. M("onend"), e.end()
  5080. }
  5081.  
  5082. function a() {
  5083. M("cleanup"), e.removeListener("close", c), e.removeListener("finish", u), e.removeListener("drain", v), e.removeListener("error", l), e.removeListener("unpipe", r), h.removeListener("end", o), h.removeListener("end", a), h.removeListener("data", s), y = !0, !p.awaitDrain || e._writableState && !e._writableState.needDrain || v()
  5084. }
  5085.  
  5086. function s(t) {
  5087. M("ondata"), b = !1;
  5088. var n = e.write(t);
  5089. !1 !== n || b || ((1 === p.pipesCount && p.pipes === e || p.pipesCount > 1 && -1 !== A(p.pipes, e)) && !y && (M("false write response, pause", h._readableState.awaitDrain), h._readableState.awaitDrain++, b = !0), h.pause())
  5090. }
  5091.  
  5092. function l(t) {
  5093. M("onerror", t), d(), e.removeListener("error", l), 0 === $(e, "error") && e.emit("error", t)
  5094. }
  5095.  
  5096. function c() {
  5097. e.removeListener("finish", u), d()
  5098. }
  5099.  
  5100. function u() {
  5101. M("onfinish"), e.removeListener("close", c), d()
  5102. }
  5103.  
  5104. function d() {
  5105. M("unpipe"), h.unpipe(e)
  5106. }
  5107.  
  5108. var h = this, p = this._readableState;
  5109. switch (p.pipesCount) {
  5110. case 0:
  5111. p.pipes = e;
  5112. break;
  5113. case 1:
  5114. p.pipes = [p.pipes, e];
  5115. break;
  5116. default:
  5117. p.pipes.push(e)
  5118. }
  5119. p.pipesCount += 1, M("pipe count=%d opts=%j", p.pipesCount, n);
  5120. var f = (!n || n.end !== !1) && e !== t.stdout && e !== t.stderr, m = f ? o : a;
  5121. p.endEmitted ? k(m) : h.once("end", m), e.on("unpipe", r);
  5122. var v = g(h);
  5123. e.on("drain", v);
  5124. var y = !1, b = !1;
  5125. return h.on("data", s), i(e, "error", l), e.once("close", c), e.once("finish", u), e.emit("pipe", h), p.flowing || (M("pipe resume"), h.resume()), e
  5126. }, o.prototype.unpipe = function (e) {
  5127. var t = this._readableState;
  5128. if (0 === t.pipesCount) return this;
  5129. if (1 === t.pipesCount) return e && e !== t.pipes ? this : (e || (e = t.pipes), t.pipes = null, t.pipesCount = 0, t.flowing = !1, e && e.emit("unpipe", this), this);
  5130. if (!e) {
  5131. var n = t.pipes, i = t.pipesCount;
  5132. t.pipes = null, t.pipesCount = 0, t.flowing = !1;
  5133. for (var r = 0; i > r; r++) n[r].emit("unpipe", this);
  5134. return this
  5135. }
  5136. var o = A(t.pipes, e);
  5137. return -1 === o ? this : (t.pipes.splice(o, 1), t.pipesCount -= 1, 1 === t.pipesCount && (t.pipes = t.pipes[0]), e.emit("unpipe", this), this)
  5138. }, o.prototype.on = function (e, t) {
  5139. var n = L.prototype.on.call(this, e, t);
  5140. if ("data" === e) this._readableState.flowing !== !1 && this.resume(); else if ("readable" === e) {
  5141. var i = this._readableState;
  5142. i.endEmitted || i.readableListening || (i.readableListening = i.needReadable = !0, i.emittedReadable = !1, i.reading ? i.length && h(this, i) : k(v, this))
  5143. }
  5144. return n
  5145. }, o.prototype.addListener = o.prototype.on, o.prototype.resume = function () {
  5146. var e = this._readableState;
  5147. return e.flowing || (M("resume"), e.flowing = !0, y(this, e)), this
  5148. }, o.prototype.pause = function () {
  5149. return M("call pause flowing=%j", this._readableState.flowing), !1 !== this._readableState.flowing && (M("pause"), this._readableState.flowing = !1, this.emit("pause")), this
  5150. }, o.prototype.wrap = function (e) {
  5151. var t = this._readableState, n = !1, i = this;
  5152. e.on("end", function () {
  5153. if (M("wrapped end"), t.decoder && !t.ended) {
  5154. var e = t.decoder.end();
  5155. e && e.length && i.push(e)
  5156. }
  5157. i.push(null)
  5158. }), e.on("data", function (r) {
  5159. if (M("wrapped data"), t.decoder && (r = t.decoder.write(r)), (!t.objectMode || null !== r && void 0 !== r) && (t.objectMode || r && r.length)) {
  5160. var o = i.push(r);
  5161. o || (n = !0, e.pause())
  5162. }
  5163. });
  5164. for (var r in e) void 0 === this[r] && "function" == typeof e[r] && (this[r] = function (t) {
  5165. return function () {
  5166. return e[t].apply(e, arguments)
  5167. }
  5168. }(r));
  5169. var o = ["error", "close", "destroy", "pause", "resume"];
  5170. return C(o, function (t) {
  5171. e.on(t, i.emit.bind(i, t))
  5172. }), i._read = function (t) {
  5173. M("wrapped _read", t), n && (n = !1, e.resume())
  5174. }, i
  5175. }, o._fromList = T
  5176. }).call(t, n(4))
  5177. }, function (e, i, r) {
  5178. function o(e, t) {
  5179. this._id = e, this._clearFn = t
  5180. }
  5181.  
  5182. var a = Function.prototype.apply;
  5183. i.setTimeout = function () {
  5184. return new o(a.call(setTimeout, window, arguments), clearTimeout)
  5185. }, i.setInterval = function () {
  5186. return new o(a.call(setInterval, window, arguments), clearInterval)
  5187. }, i.clearTimeout = i.clearInterval = function (e) {
  5188. e && e.close()
  5189. }, o.prototype.unref = o.prototype.ref = function () {
  5190. }, o.prototype.close = function () {
  5191. this._clearFn.call(window, this._id)
  5192. }, i.enroll = function (e, t) {
  5193. clearTimeout(e._idleTimeoutId), e._idleTimeout = t
  5194. }, i.unenroll = function (e) {
  5195. clearTimeout(e._idleTimeoutId), e._idleTimeout = -1
  5196. }, i._unrefActive = i.active = function (e) {
  5197. clearTimeout(e._idleTimeoutId);
  5198. var t = e._idleTimeout;
  5199. t >= 0 && (e._idleTimeoutId = setTimeout(function () {
  5200. e._onTimeout && e._onTimeout()
  5201. }, t))
  5202. }, r(50), i.setImmediate = t, i.clearImmediate = n
  5203. }, function (e, t, n) {
  5204. var i = n(28);
  5205. e.exports = Function.prototype.bind || i
  5206. }, function (e, t, n) {
  5207. (function (t) {
  5208. function i() {
  5209. var e = new a;
  5210. return e.destroy = function () {
  5211. e._isDestroyed = !0
  5212. }, e
  5213. }
  5214.  
  5215. function r(e, n, i) {
  5216. i = i || {};
  5217. var r = c.chooseFormat(n.formats, i);
  5218. if (r instanceof Error) return void t(function () {
  5219. e.emit("error", r)
  5220. });
  5221. e.emit("info", n, r);
  5222. var a = r.url;
  5223. i.range && (a += "&range=" + i.range), o(e, a, i, 3)
  5224. }
  5225.  
  5226. function o(e, t, n, i) {
  5227. if (!e._isDestroyed) {
  5228. if (0 === i) return void e.emit("error", new Error("Too many redirects"));
  5229. var r, a = n.request || s, l = a(t, n.requestOptions);
  5230. e.destroy = function () {
  5231. l.abort(), r && (r.destroy(), r.unpipe()), e.emit("abort")
  5232. }, l.on("error", function (t) {
  5233. e.emit("error", t)
  5234. }), l.on("response", function (t) {
  5235. if (r = t, !e._isDestroyed) {
  5236. if (200 !== t.statusCode && 206 !== t.statusCode) return h.has(t.statusCode) ? void o(e, t.headers.location, n, i - 1) : (e.emit("response", t), void e.emit("error", new Error("Status code " + t.statusCode)));
  5237. t.pipe(e), e.emit("response", t)
  5238. }
  5239. }), e.emit("request", l)
  5240. }
  5241. }
  5242.  
  5243. var a = n(6).PassThrough, s = n(10), l = n(33), c = n(9), u = n(18), d = e.exports = function (e, t) {
  5244. var n = i();
  5245. return l(e, t, function (e, i) {
  5246. return e ? void n.emit("error", e) : void r(n, i, t)
  5247. }), n
  5248. };
  5249. d.getInfo = l, d.chooseFormat = c.chooseFormat, d.filterFormats = c.filterFormats, d.cache = u;
  5250. var h = new Set([301, 302, 303, 307]);
  5251. d.downloadFromInfo = function (e, n) {
  5252. var o = i();
  5253. return t(function () {
  5254. r(o, e, n)
  5255. }), o
  5256. }
  5257. }).call(t, n(24).setImmediate)
  5258. }, function (e, t, n) {
  5259. (function (e) {
  5260. var n, i;
  5261. !function (r) {
  5262. function o(e, t) {
  5263. if (e == t) return !0;
  5264. if (!e || !t) return !1;
  5265. if (!(e instanceof Set && t instanceof Set)) throw new Error("Set comparision attempted with a non-set");
  5266. if (e.size !== t.size) return !1;
  5267. for (var n in e) if (!t.has(n)) return !1;
  5268. return !0
  5269. }
  5270.  
  5271. "undefined" != typeof e && e && e.exports ? e.exports = o : (n = [], i = function () {
  5272. return o
  5273. }.apply(t, n), !(void 0 !== i && (e.exports = i)))
  5274. }(this)
  5275. }).call(t, n(20)(e))
  5276. }, function (e, t) {
  5277. var n = "Function.prototype.bind called on incompatible ", i = Array.prototype.slice,
  5278. r = Object.prototype.toString, o = "[object Function]";
  5279. e.exports = function (e) {
  5280. var t = this;
  5281. if ("function" != typeof t || r.call(t) !== o) throw new TypeError(n + t);
  5282. for (var a, s = i.call(arguments, 1), l = function () {
  5283. if (this instanceof a) {
  5284. var n = t.apply(this, s.concat(i.call(arguments)));
  5285. return Object(n) === n ? n : this
  5286. }
  5287. return t.apply(e, s.concat(i.call(arguments)))
  5288. }, c = Math.max(0, t.length - s.length), u = [], d = 0; c > d; d++) u.push("$" + d);
  5289. if (a = Function("binder", "return function (" + u.join(",") + "){ return binder.apply(this,arguments); }")(l), t.prototype) {
  5290. var h = function () {
  5291. };
  5292. h.prototype = t.prototype, a.prototype = new h, h.prototype = null
  5293. }
  5294. return a
  5295. }
  5296. }, function (e, t, n) {
  5297. e.exports = {XmlEntities: n(31), Html4Entities: n(30), Html5Entities: n(17), AllHtmlEntities: n(17)}
  5298. }, function (e, t) {
  5299. function n() {
  5300. }
  5301.  
  5302. for (var i = ["apos", "nbsp", "iexcl", "cent", "pound", "curren", "yen", "brvbar", "sect", "uml", "copy", "ordf", "laquo", "not", "shy", "reg", "macr", "deg", "plusmn", "sup2", "sup3", "acute", "micro", "para", "middot", "cedil", "sup1", "ordm", "raquo", "frac14", "frac12", "frac34", "iquest", "Agrave", "Aacute", "Acirc", "Atilde", "Auml", "Aring", "Aelig", "Ccedil", "Egrave", "Eacute", "Ecirc", "Euml", "Igrave", "Iacute", "Icirc", "Iuml", "ETH", "Ntilde", "Ograve", "Oacute", "Ocirc", "Otilde", "Ouml", "times", "Oslash", "Ugrave", "Uacute", "Ucirc", "Uuml", "Yacute", "THORN", "szlig", "agrave", "aacute", "acirc", "atilde", "auml", "aring", "aelig", "ccedil", "egrave", "eacute", "ecirc", "euml", "igrave", "iacute", "icirc", "iuml", "eth", "ntilde", "ograve", "oacute", "ocirc", "otilde", "ouml", "divide", "Oslash", "ugrave", "uacute", "ucirc", "uuml", "yacute", "thorn", "yuml", "quot", "amp", "lt", "gt", "oelig", "oelig", "scaron", "scaron", "yuml", "circ", "tilde", "ensp", "emsp", "thinsp", "zwnj", "zwj", "lrm", "rlm", "ndash", "mdash", "lsquo", "rsquo", "sbquo", "ldquo", "rdquo", "bdquo", "dagger", "dagger", "permil", "lsaquo", "rsaquo", "euro", "fnof", "alpha", "beta", "gamma", "delta", "epsilon", "zeta", "eta", "theta", "iota", "kappa", "lambda", "mu", "nu", "xi", "omicron", "pi", "rho", "sigma", "tau", "upsilon", "phi", "chi", "psi", "omega", "alpha", "beta", "gamma", "delta", "epsilon", "zeta", "eta", "theta", "iota", "kappa", "lambda", "mu", "nu", "xi", "omicron", "pi", "rho", "sigmaf", "sigma", "tau", "upsilon", "phi", "chi", "psi", "omega", "thetasym", "upsih", "piv", "bull", "hellip", "prime", "prime", "oline", "frasl", "weierp", "image", "real", "trade", "alefsym", "larr", "uarr", "rarr", "darr", "harr", "crarr", "larr", "uarr", "rarr", "darr", "harr", "forall", "part", "exist", "empty", "nabla", "isin", "notin", "ni", "prod", "sum", "minus", "lowast", "radic", "prop", "infin", "ang", "and", "or", "cap", "cup", "int", "there4", "sim", "cong", "asymp", "ne", "equiv", "le", "ge", "sub", "sup", "nsub", "sube", "supe", "oplus", "otimes", "perp", "sdot", "lceil", "rceil", "lfloor", "rfloor", "lang", "rang", "loz", "spades", "clubs", "hearts", "diams"], r = [39, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 34, 38, 60, 62, 338, 339, 352, 353, 376, 710, 732, 8194, 8195, 8201, 8204, 8205, 8206, 8207, 8211, 8212, 8216, 8217, 8218, 8220, 8221, 8222, 8224, 8225, 8240, 8249, 8250, 8364, 402, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 931, 932, 933, 934, 935, 936, 937, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 977, 978, 982, 8226, 8230, 8242, 8243, 8254, 8260, 8472, 8465, 8476, 8482, 8501, 8592, 8593, 8594, 8595, 8596, 8629, 8656, 8657, 8658, 8659, 8660, 8704, 8706, 8707, 8709, 8711, 8712, 8713, 8715, 8719, 8721, 8722, 8727, 8730, 8733, 8734, 8736, 8743, 8744, 8745, 8746, 8747, 8756, 8764, 8773, 8776, 8800, 8801, 8804, 8805, 8834, 8835, 8836, 8838, 8839, 8853, 8855, 8869, 8901, 8968, 8969, 8970, 8971, 9001, 9002, 9674, 9824, 9827, 9829, 9830], o = {}, a = {}, s = 0, l = i.length; l > s;) {
  5303. var c = i[s], u = r[s];
  5304. o[c] = String.fromCharCode(u), a[u] = c, s++
  5305. }
  5306. n.prototype.decode = function (e) {
  5307. return 0 === e.length ? "" : e.replace(/&(#?[\w\d]+);?/g, function (e, t) {
  5308. var n;
  5309. if ("#" === t.charAt(0)) {
  5310. var i = "x" === t.charAt(1).toLowerCase() ? parseInt(t.substr(2), 16) : parseInt(t.substr(1));
  5311. isNaN(i) || -32768 > i || i > 65535 || (n = String.fromCharCode(i))
  5312. } else n = o[t];
  5313. return n || e
  5314. })
  5315. }, n.decode = function (e) {
  5316. return (new n).decode(e)
  5317. }, n.prototype.encode = function (e) {
  5318. var t = e.length;
  5319. if (0 === t) return "";
  5320. for (var n = "", i = 0; t > i;) {
  5321. var r = a[e.charCodeAt(i)];
  5322. n += r ? "&" + r + ";" : e.charAt(i), i++
  5323. }
  5324. return n
  5325. }, n.encode = function (e) {
  5326. return (new n).encode(e)
  5327. }, n.prototype.encodeNonUTF = function (e) {
  5328. var t = e.length;
  5329. if (0 === t) return "";
  5330. for (var n = "", i = 0; t > i;) {
  5331. var r = e.charCodeAt(i), o = a[r];
  5332. n += o ? "&" + o + ";" : 32 > r || r > 126 ? "&#" + r + ";" : e.charAt(i), i++
  5333. }
  5334. return n
  5335. }, n.encodeNonUTF = function (e) {
  5336. return (new n).encodeNonUTF(e)
  5337. }, n.prototype.encodeNonASCII = function (e) {
  5338. var t = e.length;
  5339. if (0 === t) return "";
  5340. for (var n = "", i = 0; t > i;) {
  5341. var r = e.charCodeAt(i);
  5342. 255 >= r ? n += e[i++] : (n += "&#" + r + ";", i++)
  5343. }
  5344. return n
  5345. }, n.encodeNonASCII = function (e) {
  5346. return (new n).encodeNonASCII(e)
  5347. }, e.exports = n
  5348. }, function (e, t) {
  5349. function n() {
  5350. }
  5351.  
  5352. var i = {
  5353. "&lt": "<",
  5354. "&gt": ">",
  5355. "&quot": '"',
  5356. "&apos": "'",
  5357. "&amp": "&",
  5358. "&lt;": "<",
  5359. "&gt;": ">",
  5360. "&quot;": '"',
  5361. "&apos;": "'",
  5362. "&amp;": "&"
  5363. }, r = {60: "lt", 62: "gt", 34: "quot", 39: "apos", 38: "amp"},
  5364. o = {"<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&apos;", "&": "&amp;"};
  5365. n.prototype.encode = function (e) {
  5366. return 0 === e.length ? "" : e.replace(/<|>|"|'|&/g, function (e) {
  5367. return o[e]
  5368. })
  5369. }, n.encode = function (e) {
  5370. return (new n).encode(e)
  5371. }, n.prototype.decode = function (e) {
  5372. return 0 === e.length ? "" : e.replace(/&#?[0-9a-zA-Z]+;?/g, function (e) {
  5373. if ("#" === e.charAt(1)) {
  5374. var t = "x" === e.charAt(2).toLowerCase() ? parseInt(e.substr(3), 16) : parseInt(e.substr(2));
  5375. return isNaN(t) || -32768 > t || t > 65535 ? "" : String.fromCharCode(t)
  5376. }
  5377. return i[e] || e
  5378. })
  5379. }, n.decode = function (e) {
  5380. return (new n).decode(e)
  5381. }, n.prototype.encodeNonUTF = function (e) {
  5382. var t = e.length;
  5383. if (0 === t) return "";
  5384. for (var n = "", i = 0; t > i;) {
  5385. var o = e.charCodeAt(i), a = r[o];
  5386. a ? (n += "&" + a + ";", i++) : (n += 32 > o || o > 126 ? "&#" + o + ";" : e.charAt(i), i++)
  5387. }
  5388. return n
  5389. }, n.encodeNonUTF = function (e) {
  5390. return (new n).encodeNonUTF(e)
  5391. }, n.prototype.encodeNonASCII = function (e) {
  5392. var t = e.length;
  5393. if (0 === t) return "";
  5394. for (var n = "", i = 0; t > i;) {
  5395. var r = e.charCodeAt(i);
  5396. 255 >= r ? n += e[i++] : (n += "&#" + r + ";", i++)
  5397. }
  5398. return n
  5399. }, n.encodeNonASCII = function (e) {
  5400. return (new n).encodeNonASCII(e)
  5401. }, e.exports = n
  5402. }, function (e, t, n) {
  5403. (function (e) {
  5404. !function (t) {
  5405. function i(e, n) {
  5406. if (!(this instanceof i)) return new i(e, n);
  5407. var r = this;
  5408. o(r), r.q = r.c = "", r.bufferCheckPosition = t.MAX_BUFFER_LENGTH, r.opt = n || {}, r.opt.lowercase = r.opt.lowercase || r.opt.lowercasetags, r.looseCase = r.opt.lowercase ? "toLowerCase" : "toUpperCase", r.tags = [], r.closed = r.closedRoot = r.sawRoot = !1, r.tag = r.error = null, r.strict = !!e, r.noscript = !(!e && !r.opt.noscript), r.state = Y.BEGIN, r.strictEntities = r.opt.strictEntities, r.ENTITIES = r.strictEntities ? Object.create(t.XML_ENTITIES) : Object.create(t.ENTITIES), r.attribList = [], r.opt.xmlns && (r.ns = Object.create(U)), r.trackPosition = r.opt.position !== !1, r.trackPosition && (r.position = r.line = r.column = 0), f(r, "onready")
  5409. }
  5410.  
  5411. function r(e) {
  5412. for (var n = Math.max(t.MAX_BUFFER_LENGTH, 10), i = 0, r = 0, o = k.length; o > r; r++) {
  5413. var a = e[k[r]].length;
  5414. if (a > n) switch (k[r]) {
  5415. case"textNode":
  5416. g(e);
  5417. break;
  5418. case"cdata":
  5419. m(e, "oncdata", e.cdata), e.cdata = "";
  5420. break;
  5421. case"script":
  5422. m(e, "onscript", e.script), e.script = "";
  5423. break;
  5424. default:
  5425. y(e, "Max buffer length exceeded: " + k[r])
  5426. }
  5427. i = Math.max(i, a)
  5428. }
  5429. var s = t.MAX_BUFFER_LENGTH - i;
  5430. e.bufferCheckPosition = s + e.position
  5431. }
  5432.  
  5433. function o(e) {
  5434. for (var t = 0, n = k.length; n > t; t++) e[k[t]] = ""
  5435. }
  5436.  
  5437. function a(e) {
  5438. g(e), "" !== e.cdata && (m(e, "oncdata", e.cdata), e.cdata = ""), "" !== e.script && (m(e, "onscript", e.script), e.script = "")
  5439. }
  5440.  
  5441. function s(e, t) {
  5442. return new l(e, t)
  5443. }
  5444.  
  5445. function l(e, t) {
  5446. if (!(this instanceof l)) return new l(e, t);
  5447. O.apply(this), this._parser = new i(e, t), this.writable = !0, this.readable = !0;
  5448. var n = this;
  5449. this._parser.onend = function () {
  5450. n.emit("end")
  5451. }, this._parser.onerror = function (e) {
  5452. n.emit("error", e), n._parser.error = null
  5453. }, this._decoder = null, $.forEach(function (e) {
  5454. Object.defineProperty(n, "on" + e, {
  5455. get: function () {
  5456. return n._parser["on" + e]
  5457. }, set: function (t) {
  5458. return t ? void n.on(e, t) : (n.removeAllListeners(e), n._parser["on" + e] = t, t)
  5459. }, enumerable: !0, configurable: !1
  5460. })
  5461. })
  5462. }
  5463.  
  5464. function c(e) {
  5465. return e.split("").reduce(function (e, t) {
  5466. return e[t] = !0, e
  5467. }, {})
  5468. }
  5469.  
  5470. function u(e, t) {
  5471. return e.test(t)
  5472. }
  5473.  
  5474. function d(e, t) {
  5475. return e[t]
  5476. }
  5477.  
  5478. function h(e, t) {
  5479. return !u(e, t)
  5480. }
  5481.  
  5482. function p(e, t) {
  5483. return !d(e, t)
  5484. }
  5485.  
  5486. function f(e, t, n) {
  5487. e[t] && e[t](n)
  5488. }
  5489.  
  5490. function m(e, t, n) {
  5491. e.textNode && g(e), f(e, t, n)
  5492. }
  5493.  
  5494. function g(e) {
  5495. e.textNode = v(e.opt, e.textNode), e.textNode && f(e, "ontext", e.textNode), e.textNode = ""
  5496. }
  5497.  
  5498. function v(e, t) {
  5499. return e.trim && (t = t.trim()), e.normalize && (t = t.replace(/\s+/g, " ")), t
  5500. }
  5501.  
  5502. function y(e, t) {
  5503. return g(e), e.trackPosition && (t += "\nLine: " + e.line + "\nColumn: " + e.column + "\nChar: " + e.c), t = new Error(t), e.error = t, f(e, "onerror", t), e
  5504. }
  5505.  
  5506. function b(e) {
  5507. return e.sawRoot && !e.closedRoot && w(e, "Unclosed root tag"), e.state !== Y.BEGIN && e.state !== Y.BEGIN_WHITESPACE && e.state !== Y.TEXT && y(e, "Unexpected end"), g(e), e.c = "", e.closed = !0, f(e, "onend"), i.call(e, e.strict, e.opt), e
  5508. }
  5509.  
  5510. function w(e, t) {
  5511. if ("object" != typeof e || !(e instanceof i)) throw new Error("bad call to strictFail");
  5512. e.strict && y(e, t)
  5513. }
  5514.  
  5515. function T(e) {
  5516. e.strict || (e.tagName = e.tagName[e.looseCase]());
  5517. var t = e.tags[e.tags.length - 1] || e, n = e.tag = {name: e.tagName, attributes: {}};
  5518. e.opt.xmlns && (n.ns = t.ns), e.attribList.length = 0, m(e, "onopentagstart", n)
  5519. }
  5520.  
  5521. function E(e, t) {
  5522. var n = e.indexOf(":"), i = 0 > n ? ["", e] : e.split(":"), r = i[0], o = i[1];
  5523. return t && "xmlns" === e && (r = "xmlns", o = ""), {prefix: r, local: o}
  5524. }
  5525.  
  5526. function x(e) {
  5527. if (e.strict || (e.attribName = e.attribName[e.looseCase]()), -1 !== e.attribList.indexOf(e.attribName) || e.tag.attributes.hasOwnProperty(e.attribName)) return void(e.attribName = e.attribValue = "");
  5528. if (e.opt.xmlns) {
  5529. var t = E(e.attribName, !0), n = t.prefix, i = t.local;
  5530. if ("xmlns" === n) if ("xml" === i && e.attribValue !== q) w(e, "xml: prefix must be bound to " + q + "\nActual: " + e.attribValue); else if ("xmlns" === i && e.attribValue !== V) w(e, "xmlns: prefix must be bound to " + V + "\nActual: " + e.attribValue); else {
  5531. var r = e.tag, o = e.tags[e.tags.length - 1] || e;
  5532. r.ns === o.ns && (r.ns = Object.create(o.ns)), r.ns[i] = e.attribValue
  5533. }
  5534. e.attribList.push([e.attribName, e.attribValue])
  5535. } else e.tag.attributes[e.attribName] = e.attribValue, m(e, "onattribute", {
  5536. name: e.attribName,
  5537. value: e.attribValue
  5538. });
  5539. e.attribName = e.attribValue = ""
  5540. }
  5541.  
  5542. function I(e, t) {
  5543. if (e.opt.xmlns) {
  5544. var n = e.tag, i = E(e.tagName);
  5545. n.prefix = i.prefix, n.local = i.local, n.uri = n.ns[i.prefix] || "", n.prefix && !n.uri && (w(e, "Unbound namespace prefix: " + JSON.stringify(e.tagName)),
  5546. n.uri = i.prefix);
  5547. var r = e.tags[e.tags.length - 1] || e;
  5548. n.ns && r.ns !== n.ns && Object.keys(n.ns).forEach(function (t) {
  5549. m(e, "onopennamespace", {prefix: t, uri: n.ns[t]})
  5550. });
  5551. for (var o = 0, a = e.attribList.length; a > o; o++) {
  5552. var s = e.attribList[o], l = s[0], c = s[1], u = E(l, !0), d = u.prefix, h = u.local,
  5553. p = "" === d ? "" : n.ns[d] || "",
  5554. f = {name: l, value: c, prefix: d, local: h, uri: p};
  5555. d && "xmlns" !== d && !p && (w(e, "Unbound namespace prefix: " + JSON.stringify(d)), f.uri = d), e.tag.attributes[l] = f, m(e, "onattribute", f)
  5556. }
  5557. e.attribList.length = 0
  5558. }
  5559. e.tag.isSelfClosing = !!t, e.sawRoot = !0, e.tags.push(e.tag), m(e, "onopentag", e.tag), t || (e.noscript || "script" !== e.tagName.toLowerCase() ? e.state = Y.TEXT : e.state = Y.SCRIPT, e.tag = null, e.tagName = ""), e.attribName = e.attribValue = "", e.attribList.length = 0
  5560. }
  5561.  
  5562. function S(e) {
  5563. if (!e.tagName) return w(e, "Weird empty close tag."), e.textNode += "</>", void(e.state = Y.TEXT);
  5564. if (e.script) {
  5565. if ("script" !== e.tagName) return e.script += "</" + e.tagName + ">", e.tagName = "", void(e.state = Y.SCRIPT);
  5566. m(e, "onscript", e.script), e.script = ""
  5567. }
  5568. var t = e.tags.length, n = e.tagName;
  5569. e.strict || (n = n[e.looseCase]());
  5570. for (var i = n; t--;) {
  5571. var r = e.tags[t];
  5572. if (r.name === i) break;
  5573. w(e, "Unexpected close tag")
  5574. }
  5575. if (0 > t) return w(e, "Unmatched closing tag: " + e.tagName), e.textNode += "</" + e.tagName + ">", void(e.state = Y.TEXT);
  5576. e.tagName = n;
  5577. for (var o = e.tags.length; o-- > t;) {
  5578. var a = e.tag = e.tags.pop();
  5579. e.tagName = e.tag.name, m(e, "onclosetag", e.tagName);
  5580. var s = {};
  5581. for (var l in a.ns) s[l] = a.ns[l];
  5582. var c = e.tags[e.tags.length - 1] || e;
  5583. e.opt.xmlns && a.ns !== c.ns && Object.keys(a.ns).forEach(function (t) {
  5584. var n = a.ns[t];
  5585. m(e, "onclosenamespace", {prefix: t, uri: n})
  5586. })
  5587. }
  5588. 0 === t && (e.closedRoot = !0), e.tagName = e.attribValue = e.attribName = "", e.attribList.length = 0, e.state = Y.TEXT
  5589. }
  5590.  
  5591. function N(e) {
  5592. var t, n = e.entity, i = n.toLowerCase(), r = "";
  5593. return e.ENTITIES[n] ? e.ENTITIES[n] : e.ENTITIES[i] ? e.ENTITIES[i] : (n = i, "#" === n.charAt(0) && ("x" === n.charAt(1) ? (n = n.slice(2), t = parseInt(n, 16), r = t.toString(16)) : (n = n.slice(1), t = parseInt(n, 10), r = t.toString(10))), n = n.replace(/^0+/, ""), r.toLowerCase() !== n ? (w(e, "Invalid character entity"), "&" + e.entity + ";") : String.fromCodePoint(t))
  5594. }
  5595.  
  5596. function C(e, t) {
  5597. "<" === t ? (e.state = Y.OPEN_WAKA, e.startTagPosition = e.position) : p(D, t) && (w(e, "Non-whitespace before first tag."), e.textNode = t, e.state = Y.TEXT)
  5598. }
  5599.  
  5600. function A(e, t) {
  5601. var n = "";
  5602. return t < e.length && (n = e.charAt(t)), n
  5603. }
  5604.  
  5605. function _(e) {
  5606. var t = this;
  5607. if (this.error) throw this.error;
  5608. if (t.closed) return y(t, "Cannot write after close. Assign an onready handler.");
  5609. if (null === e) return b(t);
  5610. "object" == typeof e && (e = e.toString());
  5611. for (var n = 0, i = ""; i = A(e, n++), t.c = i, i;) switch (t.trackPosition && (t.position++, "\n" === i ? (t.line++, t.column = 0) : t.column++), t.state) {
  5612. case Y.BEGIN:
  5613. if (t.state = Y.BEGIN_WHITESPACE, "\ufeff" === i) continue;
  5614. C(t, i);
  5615. continue;
  5616. case Y.BEGIN_WHITESPACE:
  5617. C(t, i);
  5618. continue;
  5619. case Y.TEXT:
  5620. if (t.sawRoot && !t.closedRoot) {
  5621. for (var o = n - 1; i && "<" !== i && "&" !== i;) i = A(e, n++), i && t.trackPosition && (t.position++, "\n" === i ? (t.line++, t.column = 0) : t.column++);
  5622. t.textNode += e.substring(o, n - 1)
  5623. }
  5624. "<" !== i || t.sawRoot && t.closedRoot && !t.strict ? (!p(D, i) || t.sawRoot && !t.closedRoot || w(t, "Text data outside of root node."), "&" === i ? t.state = Y.TEXT_ENTITY : t.textNode += i) : (t.state = Y.OPEN_WAKA, t.startTagPosition = t.position);
  5625. continue;
  5626. case Y.SCRIPT:
  5627. "<" === i ? t.state = Y.SCRIPT_ENDING : t.script += i;
  5628. continue;
  5629. case Y.SCRIPT_ENDING:
  5630. "/" === i ? t.state = Y.CLOSE_TAG : (t.script += "<" + i, t.state = Y.SCRIPT);
  5631. continue;
  5632. case Y.OPEN_WAKA:
  5633. if ("!" === i) t.state = Y.SGML_DECL, t.sgmlDecl = ""; else if (d(D, i)) ; else if (u(H, i)) t.state = Y.OPEN_TAG, t.tagName = i; else if ("/" === i) t.state = Y.CLOSE_TAG, t.tagName = ""; else if ("?" === i) t.state = Y.PROC_INST, t.procInstName = t.procInstBody = ""; else {
  5634. if (w(t, "Unencoded <"), t.startTagPosition + 1 < t.position) {
  5635. var a = t.position - t.startTagPosition;
  5636. i = new Array(a).join(" ") + i
  5637. }
  5638. t.textNode += "<" + i, t.state = Y.TEXT
  5639. }
  5640. continue;
  5641. case Y.SGML_DECL:
  5642. (t.sgmlDecl + i).toUpperCase() === R ? (m(t, "onopencdata"), t.state = Y.CDATA, t.sgmlDecl = "", t.cdata = "") : t.sgmlDecl + i === "--" ? (t.state = Y.COMMENT, t.comment = "", t.sgmlDecl = "") : (t.sgmlDecl + i).toUpperCase() === M ? (t.state = Y.DOCTYPE, (t.doctype || t.sawRoot) && w(t, "Inappropriately located doctype declaration"), t.doctype = "", t.sgmlDecl = "") : ">" === i ? (m(t, "onsgmldeclaration", t.sgmlDecl), t.sgmlDecl = "", t.state = Y.TEXT) : d(B, i) ? (t.state = Y.SGML_DECL_QUOTED, t.sgmlDecl += i) : t.sgmlDecl += i;
  5643. continue;
  5644. case Y.SGML_DECL_QUOTED:
  5645. i === t.q && (t.state = Y.SGML_DECL, t.q = ""), t.sgmlDecl += i;
  5646. continue;
  5647. case Y.DOCTYPE:
  5648. ">" === i ? (t.state = Y.TEXT, m(t, "ondoctype", t.doctype), t.doctype = !0) : (t.doctype += i, "[" === i ? t.state = Y.DOCTYPE_DTD : d(B, i) && (t.state = Y.DOCTYPE_QUOTED, t.q = i));
  5649. continue;
  5650. case Y.DOCTYPE_QUOTED:
  5651. t.doctype += i, i === t.q && (t.q = "", t.state = Y.DOCTYPE);
  5652. continue;
  5653. case Y.DOCTYPE_DTD:
  5654. t.doctype += i, "]" === i ? t.state = Y.DOCTYPE : d(B, i) && (t.state = Y.DOCTYPE_DTD_QUOTED, t.q = i);
  5655. continue;
  5656. case Y.DOCTYPE_DTD_QUOTED:
  5657. t.doctype += i, i === t.q && (t.state = Y.DOCTYPE_DTD, t.q = "");
  5658. continue;
  5659. case Y.COMMENT:
  5660. "-" === i ? t.state = Y.COMMENT_ENDING : t.comment += i;
  5661. continue;
  5662. case Y.COMMENT_ENDING:
  5663. "-" === i ? (t.state = Y.COMMENT_ENDED, t.comment = v(t.opt, t.comment), t.comment && m(t, "oncomment", t.comment), t.comment = "") : (t.comment += "-" + i, t.state = Y.COMMENT);
  5664. continue;
  5665. case Y.COMMENT_ENDED:
  5666. ">" !== i ? (w(t, "Malformed comment"), t.comment += "--" + i, t.state = Y.COMMENT) : t.state = Y.TEXT;
  5667. continue;
  5668. case Y.CDATA:
  5669. "]" === i ? t.state = Y.CDATA_ENDING : t.cdata += i;
  5670. continue;
  5671. case Y.CDATA_ENDING:
  5672. "]" === i ? t.state = Y.CDATA_ENDING_2 : (t.cdata += "]" + i, t.state = Y.CDATA);
  5673. continue;
  5674. case Y.CDATA_ENDING_2:
  5675. ">" === i ? (t.cdata && m(t, "oncdata", t.cdata), m(t, "onclosecdata"), t.cdata = "", t.state = Y.TEXT) : "]" === i ? t.cdata += "]" : (t.cdata += "]]" + i, t.state = Y.CDATA);
  5676. continue;
  5677. case Y.PROC_INST:
  5678. "?" === i ? t.state = Y.PROC_INST_ENDING : d(D, i) ? t.state = Y.PROC_INST_BODY : t.procInstName += i;
  5679. continue;
  5680. case Y.PROC_INST_BODY:
  5681. if (!t.procInstBody && d(D, i)) continue;
  5682. "?" === i ? t.state = Y.PROC_INST_ENDING : t.procInstBody += i;
  5683. continue;
  5684. case Y.PROC_INST_ENDING:
  5685. ">" === i ? (m(t, "onprocessinginstruction", {
  5686. name: t.procInstName,
  5687. body: t.procInstBody
  5688. }), t.procInstName = t.procInstBody = "", t.state = Y.TEXT) : (t.procInstBody += "?" + i, t.state = Y.PROC_INST_BODY);
  5689. continue;
  5690. case Y.OPEN_TAG:
  5691. u(j, i) ? t.tagName += i : (T(t), ">" === i ? I(t) : "/" === i ? t.state = Y.OPEN_TAG_SLASH : (p(D, i) && w(t, "Invalid character in tag name"), t.state = Y.ATTRIB));
  5692. continue;
  5693. case Y.OPEN_TAG_SLASH:
  5694. ">" === i ? (I(t, !0), S(t)) : (w(t, "Forward-slash in opening tag not followed by >"), t.state = Y.ATTRIB);
  5695. continue;
  5696. case Y.ATTRIB:
  5697. if (d(D, i)) continue;
  5698. ">" === i ? I(t) : "/" === i ? t.state = Y.OPEN_TAG_SLASH : u(H, i) ? (t.attribName = i, t.attribValue = "", t.state = Y.ATTRIB_NAME) : w(t, "Invalid attribute name");
  5699. continue;
  5700. case Y.ATTRIB_NAME:
  5701. "=" === i ? t.state = Y.ATTRIB_VALUE : ">" === i ? (w(t, "Attribute without value"), t.attribValue = t.attribName, x(t), I(t)) : d(D, i) ? t.state = Y.ATTRIB_NAME_SAW_WHITE : u(j, i) ? t.attribName += i : w(t, "Invalid attribute name");
  5702. continue;
  5703. case Y.ATTRIB_NAME_SAW_WHITE:
  5704. if ("=" === i) t.state = Y.ATTRIB_VALUE; else {
  5705. if (d(D, i)) continue;
  5706. w(t, "Attribute without value"), t.tag.attributes[t.attribName] = "", t.attribValue = "", m(t, "onattribute", {
  5707. name: t.attribName,
  5708. value: ""
  5709. }), t.attribName = "", ">" === i ? I(t) : u(H, i) ? (t.attribName = i, t.state = Y.ATTRIB_NAME) : (w(t, "Invalid attribute name"), t.state = Y.ATTRIB)
  5710. }
  5711. continue;
  5712. case Y.ATTRIB_VALUE:
  5713. if (d(D, i)) continue;
  5714. d(B, i) ? (t.q = i, t.state = Y.ATTRIB_VALUE_QUOTED) : (w(t, "Unquoted attribute value"), t.state = Y.ATTRIB_VALUE_UNQUOTED, t.attribValue = i);
  5715. continue;
  5716. case Y.ATTRIB_VALUE_QUOTED:
  5717. if (i !== t.q) {
  5718. "&" === i ? t.state = Y.ATTRIB_VALUE_ENTITY_Q : t.attribValue += i;
  5719. continue
  5720. }
  5721. x(t), t.q = "", t.state = Y.ATTRIB_VALUE_CLOSED;
  5722. continue;
  5723. case Y.ATTRIB_VALUE_CLOSED:
  5724. d(D, i) ? t.state = Y.ATTRIB : ">" === i ? I(t) : "/" === i ? t.state = Y.OPEN_TAG_SLASH : u(H, i) ? (w(t, "No whitespace between attributes"), t.attribName = i, t.attribValue = "", t.state = Y.ATTRIB_NAME) : w(t, "Invalid attribute name");
  5725. continue;
  5726. case Y.ATTRIB_VALUE_UNQUOTED:
  5727. if (p(P, i)) {
  5728. "&" === i ? t.state = Y.ATTRIB_VALUE_ENTITY_U : t.attribValue += i;
  5729. continue
  5730. }
  5731. x(t), ">" === i ? I(t) : t.state = Y.ATTRIB;
  5732. continue;
  5733. case Y.CLOSE_TAG:
  5734. if (t.tagName) ">" === i ? S(t) : u(j, i) ? t.tagName += i : t.script ? (t.script += "</" + t.tagName, t.tagName = "", t.state = Y.SCRIPT) : (p(D, i) && w(t, "Invalid tagname in closing tag"), t.state = Y.CLOSE_TAG_SAW_WHITE); else {
  5735. if (d(D, i)) continue;
  5736. h(H, i) ? t.script ? (t.script += "</" + i, t.state = Y.SCRIPT) : w(t, "Invalid tagname in closing tag.") : t.tagName = i
  5737. }
  5738. continue;
  5739. case Y.CLOSE_TAG_SAW_WHITE:
  5740. if (d(D, i)) continue;
  5741. ">" === i ? S(t) : w(t, "Invalid characters in closing tag");
  5742. continue;
  5743. case Y.TEXT_ENTITY:
  5744. case Y.ATTRIB_VALUE_ENTITY_Q:
  5745. case Y.ATTRIB_VALUE_ENTITY_U:
  5746. var s, l;
  5747. switch (t.state) {
  5748. case Y.TEXT_ENTITY:
  5749. s = Y.TEXT, l = "textNode";
  5750. break;
  5751. case Y.ATTRIB_VALUE_ENTITY_Q:
  5752. s = Y.ATTRIB_VALUE_QUOTED, l = "attribValue";
  5753. break;
  5754. case Y.ATTRIB_VALUE_ENTITY_U:
  5755. s = Y.ATTRIB_VALUE_UNQUOTED, l = "attribValue"
  5756. }
  5757. ";" === i ? (t[l] += N(t), t.entity = "", t.state = s) : u(t.entity.length ? G : F, i) ? t.entity += i : (w(t, "Invalid character in entity name"), t[l] += "&" + t.entity + i, t.entity = "", t.state = s);
  5758. continue;
  5759. default:
  5760. throw new Error(t, "Unknown state: " + t.state)
  5761. }
  5762. return t.position >= t.bufferCheckPosition && r(t), t
  5763. }
  5764.  
  5765. t.parser = function (e, t) {
  5766. return new i(e, t)
  5767. }, t.SAXParser = i, t.SAXStream = l, t.createStream = s, t.MAX_BUFFER_LENGTH = 65536;
  5768. var k = ["comment", "sgmlDecl", "textNode", "tagName", "doctype", "procInstName", "procInstBody", "entity", "attribName", "attribValue", "cdata", "script"];
  5769. t.EVENTS = ["text", "processinginstruction", "sgmldeclaration", "doctype", "comment", "opentagstart", "attribute", "opentag", "closetag", "opencdata", "cdata", "closecdata", "error", "end", "ready", "script", "opennamespace", "closenamespace"], Object.create || (Object.create = function (e) {
  5770. function t() {
  5771. }
  5772.  
  5773. t.prototype = e;
  5774. var n = new t;
  5775. return n
  5776. }), Object.keys || (Object.keys = function (e) {
  5777. var t = [];
  5778. for (var n in e) e.hasOwnProperty(n) && t.push(n);
  5779. return t
  5780. }), i.prototype = {
  5781. end: function () {
  5782. b(this)
  5783. }, write: _, resume: function () {
  5784. return this.error = null, this
  5785. }, close: function () {
  5786. return this.write(null)
  5787. }, flush: function () {
  5788. a(this)
  5789. }
  5790. };
  5791. var O;
  5792. try {
  5793. O = n(6).Stream
  5794. } catch (L) {
  5795. O = function () {
  5796. }
  5797. }
  5798. var $ = t.EVENTS.filter(function (e) {
  5799. return "error" !== e && "end" !== e
  5800. });
  5801. l.prototype = Object.create(O.prototype, {constructor: {value: l}}), l.prototype.write = function (t) {
  5802. if ("function" == typeof e && "function" == typeof e.isBuffer && e.isBuffer(t)) {
  5803. if (!this._decoder) {
  5804. var i = n(16).StringDecoder;
  5805. this._decoder = new i("utf8")
  5806. }
  5807. t = this._decoder.write(t)
  5808. }
  5809. return this._parser.write(t.toString()), this.emit("data", t), !0
  5810. }, l.prototype.end = function (e) {
  5811. return e && e.length && this.write(e), this._parser.end(), !0
  5812. }, l.prototype.on = function (e, t) {
  5813. var n = this;
  5814. return n._parser["on" + e] || -1 === $.indexOf(e) || (n._parser["on" + e] = function () {
  5815. var t = 1 === arguments.length ? [arguments[0]] : Array.apply(null, arguments);
  5816. t.splice(0, 0, e), n.emit.apply(n, t)
  5817. }), O.prototype.on.call(n, e, t)
  5818. };
  5819. var D = "\r\n ", B = "'\"", P = D + ">", R = "[CDATA[", M = "DOCTYPE",
  5820. q = "http://www.w3.org/XML/1998/namespace", V = "http://www.w3.org/2000/xmlns/",
  5821. U = {xml: q, xmlns: V};
  5822. D = c(D);
  5823. var H = /[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,
  5824. j = /[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,
  5825. F = /[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,
  5826. G = /[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;
  5827. B = c(B), P = c(P);
  5828. var Y = 0;
  5829. t.STATE = {
  5830. BEGIN: Y++,
  5831. BEGIN_WHITESPACE: Y++,
  5832. TEXT: Y++,
  5833. TEXT_ENTITY: Y++,
  5834. OPEN_WAKA: Y++,
  5835. SGML_DECL: Y++,
  5836. SGML_DECL_QUOTED: Y++,
  5837. DOCTYPE: Y++,
  5838. DOCTYPE_QUOTED: Y++,
  5839. DOCTYPE_DTD: Y++,
  5840. DOCTYPE_DTD_QUOTED: Y++,
  5841. COMMENT_STARTING: Y++,
  5842. COMMENT: Y++,
  5843. COMMENT_ENDING: Y++,
  5844. COMMENT_ENDED: Y++,
  5845. CDATA: Y++,
  5846. CDATA_ENDING: Y++,
  5847. CDATA_ENDING_2: Y++,
  5848. PROC_INST: Y++,
  5849. PROC_INST_BODY: Y++,
  5850. PROC_INST_ENDING: Y++,
  5851. OPEN_TAG: Y++,
  5852. OPEN_TAG_SLASH: Y++,
  5853. ATTRIB: Y++,
  5854. ATTRIB_NAME: Y++,
  5855. ATTRIB_NAME_SAW_WHITE: Y++,
  5856. ATTRIB_VALUE: Y++,
  5857. ATTRIB_VALUE_QUOTED: Y++,
  5858. ATTRIB_VALUE_CLOSED: Y++,
  5859. ATTRIB_VALUE_UNQUOTED: Y++,
  5860. ATTRIB_VALUE_ENTITY_Q: Y++,
  5861. ATTRIB_VALUE_ENTITY_U: Y++,
  5862. CLOSE_TAG: Y++,
  5863. CLOSE_TAG_SAW_WHITE: Y++,
  5864. SCRIPT: Y++,
  5865. SCRIPT_ENDING: Y++
  5866. }, t.XML_ENTITIES = {amp: "&", gt: ">", lt: "<", quot: '"', apos: "'"}, t.ENTITIES = {
  5867. amp: "&",
  5868. gt: ">",
  5869. lt: "<",
  5870. quot: '"',
  5871. apos: "'",
  5872. AElig: 198,
  5873. Aacute: 193,
  5874. Acirc: 194,
  5875. Agrave: 192,
  5876. Aring: 197,
  5877. Atilde: 195,
  5878. Auml: 196,
  5879. Ccedil: 199,
  5880. ETH: 208,
  5881. Eacute: 201,
  5882. Ecirc: 202,
  5883. Egrave: 200,
  5884. Euml: 203,
  5885. Iacute: 205,
  5886. Icirc: 206,
  5887. Igrave: 204,
  5888. Iuml: 207,
  5889. Ntilde: 209,
  5890. Oacute: 211,
  5891. Ocirc: 212,
  5892. Ograve: 210,
  5893. Oslash: 216,
  5894. Otilde: 213,
  5895. Ouml: 214,
  5896. THORN: 222,
  5897. Uacute: 218,
  5898. Ucirc: 219,
  5899. Ugrave: 217,
  5900. Uuml: 220,
  5901. Yacute: 221,
  5902. aacute: 225,
  5903. acirc: 226,
  5904. aelig: 230,
  5905. agrave: 224,
  5906. aring: 229,
  5907. atilde: 227,
  5908. auml: 228,
  5909. ccedil: 231,
  5910. eacute: 233,
  5911. ecirc: 234,
  5912. egrave: 232,
  5913. eth: 240,
  5914. euml: 235,
  5915. iacute: 237,
  5916. icirc: 238,
  5917. igrave: 236,
  5918. iuml: 239,
  5919. ntilde: 241,
  5920. oacute: 243,
  5921. ocirc: 244,
  5922. ograve: 242,
  5923. oslash: 248,
  5924. otilde: 245,
  5925. ouml: 246,
  5926. szlig: 223,
  5927. thorn: 254,
  5928. uacute: 250,
  5929. ucirc: 251,
  5930. ugrave: 249,
  5931. uuml: 252,
  5932. yacute: 253,
  5933. yuml: 255,
  5934. copy: 169,
  5935. reg: 174,
  5936. nbsp: 160,
  5937. iexcl: 161,
  5938. cent: 162,
  5939. pound: 163,
  5940. curren: 164,
  5941. yen: 165,
  5942. brvbar: 166,
  5943. sect: 167,
  5944. uml: 168,
  5945. ordf: 170,
  5946. laquo: 171,
  5947. not: 172,
  5948. shy: 173,
  5949. macr: 175,
  5950. deg: 176,
  5951. plusmn: 177,
  5952. sup1: 185,
  5953. sup2: 178,
  5954. sup3: 179,
  5955. acute: 180,
  5956. micro: 181,
  5957. para: 182,
  5958. middot: 183,
  5959. cedil: 184,
  5960. ordm: 186,
  5961. raquo: 187,
  5962. frac14: 188,
  5963. frac12: 189,
  5964. frac34: 190,
  5965. iquest: 191,
  5966. times: 215,
  5967. divide: 247,
  5968. OElig: 338,
  5969. oelig: 339,
  5970. Scaron: 352,
  5971. scaron: 353,
  5972. Yuml: 376,
  5973. fnof: 402,
  5974. circ: 710,
  5975. tilde: 732,
  5976. Alpha: 913,
  5977. Beta: 914,
  5978. Gamma: 915,
  5979. Delta: 916,
  5980. Epsilon: 917,
  5981. Zeta: 918,
  5982. Eta: 919,
  5983. Theta: 920,
  5984. Iota: 921,
  5985. Kappa: 922,
  5986. Lambda: 923,
  5987. Mu: 924,
  5988. Nu: 925,
  5989. Xi: 926,
  5990. Omicron: 927,
  5991. Pi: 928,
  5992. Rho: 929,
  5993. Sigma: 931,
  5994. Tau: 932,
  5995. Upsilon: 933,
  5996. Phi: 934,
  5997. Chi: 935,
  5998. Psi: 936,
  5999. Omega: 937,
  6000. alpha: 945,
  6001. beta: 946,
  6002. gamma: 947,
  6003. delta: 948,
  6004. epsilon: 949,
  6005. zeta: 950,
  6006. eta: 951,
  6007. theta: 952,
  6008. iota: 953,
  6009. kappa: 954,
  6010. lambda: 955,
  6011. mu: 956,
  6012. nu: 957,
  6013. xi: 958,
  6014. omicron: 959,
  6015. pi: 960,
  6016. rho: 961,
  6017. sigmaf: 962,
  6018. sigma: 963,
  6019. tau: 964,
  6020. upsilon: 965,
  6021. phi: 966,
  6022. chi: 967,
  6023. psi: 968,
  6024. omega: 969,
  6025. thetasym: 977,
  6026. upsih: 978,
  6027. piv: 982,
  6028. ensp: 8194,
  6029. emsp: 8195,
  6030. thinsp: 8201,
  6031. zwnj: 8204,
  6032. zwj: 8205,
  6033. lrm: 8206,
  6034. rlm: 8207,
  6035. ndash: 8211,
  6036. mdash: 8212,
  6037. lsquo: 8216,
  6038. rsquo: 8217,
  6039. sbquo: 8218,
  6040. ldquo: 8220,
  6041. rdquo: 8221,
  6042. bdquo: 8222,
  6043. dagger: 8224,
  6044. Dagger: 8225,
  6045. bull: 8226,
  6046. hellip: 8230,
  6047. permil: 8240,
  6048. prime: 8242,
  6049. Prime: 8243,
  6050. lsaquo: 8249,
  6051. rsaquo: 8250,
  6052. oline: 8254,
  6053. frasl: 8260,
  6054. euro: 8364,
  6055. image: 8465,
  6056. weierp: 8472,
  6057. real: 8476,
  6058. trade: 8482,
  6059. alefsym: 8501,
  6060. larr: 8592,
  6061. uarr: 8593,
  6062. rarr: 8594,
  6063. darr: 8595,
  6064. harr: 8596,
  6065. crarr: 8629,
  6066. lArr: 8656,
  6067. uArr: 8657,
  6068. rArr: 8658,
  6069. dArr: 8659,
  6070. hArr: 8660,
  6071. forall: 8704,
  6072. part: 8706,
  6073. exist: 8707,
  6074. empty: 8709,
  6075. nabla: 8711,
  6076. isin: 8712,
  6077. notin: 8713,
  6078. ni: 8715,
  6079. prod: 8719,
  6080. sum: 8721,
  6081. minus: 8722,
  6082. lowast: 8727,
  6083. radic: 8730,
  6084. prop: 8733,
  6085. infin: 8734,
  6086. ang: 8736,
  6087. and: 8743,
  6088. or: 8744,
  6089. cap: 8745,
  6090. cup: 8746,
  6091. "int": 8747,
  6092. there4: 8756,
  6093. sim: 8764,
  6094. cong: 8773,
  6095. asymp: 8776,
  6096. ne: 8800,
  6097. equiv: 8801,
  6098. le: 8804,
  6099. ge: 8805,
  6100. sub: 8834,
  6101. sup: 8835,
  6102. nsub: 8836,
  6103. sube: 8838,
  6104. supe: 8839,
  6105. oplus: 8853,
  6106. otimes: 8855,
  6107. perp: 8869,
  6108. sdot: 8901,
  6109. lceil: 8968,
  6110. rceil: 8969,
  6111. lfloor: 8970,
  6112. rfloor: 8971,
  6113. lang: 9001,
  6114. rang: 9002,
  6115. loz: 9674,
  6116. spades: 9824,
  6117. clubs: 9827,
  6118. hearts: 9829,
  6119. diams: 9830
  6120. }, Object.keys(t.ENTITIES).forEach(function (e) {
  6121. var n = t.ENTITIES[e], i = "number" == typeof n ? String.fromCharCode(n) : n;
  6122. t.ENTITIES[e] = i
  6123. });
  6124. for (var z in t.STATE) t.STATE[t.STATE[z]] = z;
  6125. Y = t.STATE, String.fromCodePoint || !function () {
  6126. var e = String.fromCharCode, t = Math.floor, n = function () {
  6127. var n, i, r = 16384, o = [], a = -1, s = arguments.length;
  6128. if (!s) return "";
  6129. for (var l = ""; ++a < s;) {
  6130. var c = Number(arguments[a]);
  6131. if (!isFinite(c) || 0 > c || c > 1114111 || t(c) !== c) throw RangeError("Invalid code point: " + c);
  6132. 65535 >= c ? o.push(c) : (c -= 65536, n = (c >> 10) + 55296, i = c % 1024 + 56320, o.push(n, i)), (a + 1 === s || o.length > r) && (l += e.apply(null, o), o.length = 0)
  6133. }
  6134. return l
  6135. };
  6136. Object.defineProperty ? Object.defineProperty(String, "fromCodePoint", {
  6137. value: n,
  6138. configurable: !0,
  6139. writable: !0
  6140. }) : String.fromCodePoint = n
  6141. }()
  6142. }(t)
  6143. }).call(t, n(0).Buffer)
  6144. }, function (e, t, n) {
  6145. function i(e, t, n, i, u) {
  6146. if ("fail" === i.status) return new Error(i.errorcode && i.reason ? "Code " + i.errorcode + ": " + i.reason : "Video not found");
  6147. var g = l.format({
  6148. protocol: "https",
  6149. host: y,
  6150. pathname: b,
  6151. query: {video_id: e, eurl: v + e, ps: "default", gl: "US", hl: "en", sts: i.sts}
  6152. }), T = t.request || d;
  6153. T(g, t.requestOptions, function (e, d) {
  6154. if (e) return u(e);
  6155. var g = c.parse(d);
  6156. if ("fail" === g.status) g = i.args; else if ("1" === g.requires_purchase) return u(new Error(g.ypc_video_rental_bar_text));
  6157. if (w.forEach(function (e) {
  6158. g[e] && (g[e] = g[e].split(",").filter(function (e) {
  6159. return "" !== e
  6160. }))
  6161. }), g.fmt_list = g.fmt_list ? g.fmt_list.map(function (e) {
  6162. return e.split("/")
  6163. }) : [], g.formats = h.parseFormats(g), g = h.objectAssign(g, n, !1), g.formats.some(function (e) {
  6164. return !!e.s
  6165. }) || i.args.dashmpd || g.dashmpd || g.hlsvp) {
  6166. var v = l.resolve(m, i.assets.js);
  6167. p.getTokens(v, t, function (e, n) {
  6168. if (e) return u(e);
  6169. p.decipherFormats(g.formats, n, t.debug);
  6170. var l, c = [];
  6171. i.args.dashmpd && (l = r(i.args.dashmpd, n), c.push(a.bind(null, l, t))), g.dashmpd && g.dashmpd !== i.args.dashmpd && (l = r(g.dashmpd, n), c.push(a.bind(null, l, t))), g.hlsvp && (g.hlsvp = r(g.hlsvp, n), c.push(s.bind(null, g.hlsvp, t))), h.parallel(c, function (e, n) {
  6172. return e ? u(e) : (n[0] && o(g, n[0]), n[1] && o(g, n[1]), n[2] && o(g, n[2]), g.formats.length ? (t.debug && g.formats.forEach(function (e) {
  6173. var t = e.itag;
  6174. !f[t]
  6175. }), g.formats.sort(h.sortFormats), void u(null, g)) : void u(new Error("No formats found")))
  6176. })
  6177. })
  6178. } else {
  6179. if (!g.formats.length) return void u(new Error("Video does not contain any available formats"));
  6180. p.decipherFormats(g.formats, null, t.debug), g.formats.sort(h.sortFormats), u(null, g)
  6181. }
  6182. })
  6183. }
  6184.  
  6185. function r(e, t) {
  6186. return e.replace(/\/s\/([a-fA-F0-9\.]+)/, function (e, n) {
  6187. return "/signature/" + p.decipher(t, n)
  6188. })
  6189. }
  6190.  
  6191. function o(e, t) {
  6192. e.formats.forEach(function (e) {
  6193. var n = t[e.itag];
  6194. if (n) for (var i in e) n[i] = e[i]; else t[e.itag] = e
  6195. }), e.formats = [];
  6196. for (var n in t) e.formats.push(t[n])
  6197. }
  6198.  
  6199. function a(e, t, n) {
  6200. var i = t.request || d, r = {}, o = null, a = !1, s = u.parser(!1);
  6201. s.onerror = n, s.onopentag = function (e) {
  6202. if ("REPRESENTATION" === e.name) {
  6203. var t = e.attributes.ID, n = f[t];
  6204. o = {itag: t};
  6205. for (var i in n) o[i] = n[i];
  6206. r[t] = o
  6207. }
  6208. a = "BASEURL" === e.name
  6209. }, s.ontext = function (e) {
  6210. a && (o.url = e)
  6211. }, s.onend = function () {
  6212. n(null, r)
  6213. };
  6214. var c = i(l.resolve(m, e), t.requestOptions);
  6215. c.on("error", n), c.on("response", function (e) {
  6216. return 200 !== e.statusCode && 206 !== e.statusCode ? s.close() : (e.setEncoding("utf8"), e.on("error", n), e.on("data", function (e) {
  6217. s.write(e)
  6218. }), void e.on("end", s.close.bind(s)))
  6219. })
  6220. }
  6221.  
  6222. function s(e, t, n) {
  6223. var i = t.request || d;
  6224. i(l.resolve(m, e), t.requestOptions, function (e, i) {
  6225. if (e) return n(e);
  6226. var r = {};
  6227. i.split("\n").filter(function (e) {
  6228. return e.trim().length && "#" !== e[0]
  6229. }).forEach(function (e) {
  6230. var n = e.match(/\/itag\/(\d+)\//)[1];
  6231. if (!n) return void t.debug;
  6232. var i = f[n], o = {itag: n, url: e};
  6233. for (var a in i) o[a] = i[a];
  6234. r[n] = o
  6235. }), n(null, r)
  6236. })
  6237. }
  6238.  
  6239. var l = n(8), c = n(13), u = n(32), d = n(10), h = n(9), p = n(34), f = n(19),
  6240. m = "https://www.youtube.com/watch?v=", g = "https://www.youtube.com/embed/",
  6241. v = "https://youtube.googleapis.com/v/", y = "www.youtube.com", b = "/get_video_info",
  6242. w = ["keywords", "fmt_list", "fexp", "watermark"];
  6243. e.exports = function T(e, t, n) {
  6244. if ("function" == typeof t ? (n = t, t = {}) : t || (t = {}), !n) return new Promise(function (n, i) {
  6245. T(e, t, function (e, t) {
  6246. return e ? i(e) : void n(t)
  6247. })
  6248. });
  6249. var r = t.request || d, o = h.getVideoID(e), a = m + o;
  6250. r(a, t.requestOptions, function (e, s) {
  6251. if (e) return n(e);
  6252. var l = h.between(s, '<div id="player-unavailable"', ">");
  6253. if (!/\bhid\b/.test(h.between(l, 'class="', '"')) && (l = h.between(s, '<h1 id="unavailable-message" class="message">', "</h1>").trim(), "Content Warning" !== l)) return n(new Error(l));
  6254. var c = {
  6255. author: h.getAuthor(s),
  6256. published: h.getPublished(s),
  6257. description: h.getVideoDescription(s),
  6258. relatedVideos: h.getRelatedVideos(s),
  6259. video_url: a
  6260. }, u = h.between(s, "ytplayer.config = ", "</script>");
  6261. if (u) {
  6262. u = u.slice(0, u.lastIndexOf(";ytplayer.load"));
  6263. var d;
  6264. try {
  6265. d = JSON.parse(u)
  6266. } catch (e) {
  6267. return n(new Error("Error parsing config: " + e.message))
  6268. }
  6269. if (!d) return n(new Error("Could not parse video page config"));
  6270. i(o, t, c, d, n)
  6271. } else a = g + o, r(a, t.requestOptions, function (e, r) {
  6272. if (e) return n(e);
  6273. if (d = h.between(r, "t.setConfig({'PLAYER_CONFIG': ", "},'"), !d) return n(new Error("Could not find `player config`"));
  6274. try {
  6275. d = JSON.parse(d + "}")
  6276. } catch (e) {
  6277. return n(new Error("Error parsing config: " + e.message))
  6278. }
  6279. i(o, t, c, d, n)
  6280. })
  6281. })
  6282. }
  6283. }, function (e, t, n) {
  6284. (function (e) {
  6285. function i(e, t) {
  6286. var n = e[0];
  6287. return e[0] = e[t % e.length], e[t] = n, e
  6288. }
  6289.  
  6290. var r = n(35), o = n(40), a = n(8), s = n(10), l = n(18);
  6291. t.getTokens = function (i, a, c) {
  6292. var u, d, h = /(?:html5)?player-([a-zA-Z0-9\-_]+)(?:\.js|\/)/.exec(i);
  6293. if (h && (u = h[1], d = l.get(u)), d) c(null, d); else {
  6294. var p = a.request || s;
  6295. p(i, a.requestOptions, function (i, s) {
  6296. if (i) return c(i);
  6297. var d = t.extractActions(s);
  6298. if (u && (!d || !d.length)) {
  6299. if (a.debug) {
  6300. var h = o.resolve(e, "../test/files/html5player/" + u + ".js");
  6301. r.writeFileSync(h, s);
  6302. var p = n(36);
  6303. p[u] = [], r.writeFileSync(o.resolve(e, "../test/html5player.json"), JSON.stringify(p, null, 2))
  6304. }
  6305. return void c(new Error("Could not extract signature deciphering actions"))
  6306. }
  6307. l.set(u, d), c(null, d)
  6308. })
  6309. }
  6310. }, t.decipher = function (e, t) {
  6311. t = t.split("");
  6312. for (var n, r = 0, o = e.length; o > r; r++) {
  6313. var a = e[r];
  6314. switch (a[0]) {
  6315. case"r":
  6316. t = t.reverse();
  6317. break;
  6318. case"w":
  6319. n = ~~a.slice(1), t = i(t, n);
  6320. break;
  6321. case"s":
  6322. n = ~~a.slice(1), t = t.slice(n);
  6323. break;
  6324. case"p":
  6325. n = ~~a.slice(1), t.splice(0, n)
  6326. }
  6327. }
  6328. return t.join("")
  6329. };
  6330. var c = "[a-zA-Z_\\$][a-zA-Z_0-9]*", u = ":function\\(a\\)\\{(?:return )?a\\.reverse\\(\\)\\}",
  6331. d = ":function\\(a,b\\)\\{return a\\.slice\\(b\\)\\}",
  6332. h = ":function\\(a,b\\)\\{a\\.splice\\(0,b\\)\\}",
  6333. p = ":function\\(a,b\\)\\{var c=a\\[0\\];a\\[0\\]=a\\[b%a\\.length\\];a\\[b\\]=c(?:;return a)?\\}",
  6334. f = new RegExp("var (" + c + ")=\\{((?:(?:" + c + u + "|" + c + d + "|" + c + h + "|" + c + p + "),?\\n?)+)\\};"),
  6335. m = new RegExp("function(?: " + c + ')?\\(a\\)\\{a=a\\.split\\(""\\);\\s*((?:(?:a=)?' + c + "\\." + c + '\\(a,\\d+\\);)+)return a\\.join\\(""\\)\\}'),
  6336. g = new RegExp("(?:^|,)(" + c + ")" + u, "m"), v = new RegExp("(?:^|,)(" + c + ")" + d, "m"),
  6337. y = new RegExp("(?:^|,)(" + c + ")" + h, "m"), b = new RegExp("(?:^|,)(" + c + ")" + p, "m");
  6338. t.extractActions = function (e) {
  6339. var t = f.exec(e), n = m.exec(e);
  6340. if (!t || !n) return null;
  6341. var i = t[1].replace(/\$/g, "\\$"), r = t[2].replace(/\$/g, "\\$"), o = n[1].replace(/\$/g, "\\$"),
  6342. a = g.exec(r), s = a && a[1].replace(/\$/g, "\\$");
  6343. a = v.exec(r);
  6344. var l = a && a[1].replace(/\$/g, "\\$");
  6345. a = y.exec(r);
  6346. var c = a && a[1].replace(/\$/g, "\\$");
  6347. a = b.exec(r);
  6348. for (var u = a && a[1].replace(/\$/g, "\\$"), d = "(?:a=)?" + i + "\\.(" + [s, l, c, u].join("|") + ")\\(a,(\\d+)\\)", h = new RegExp(d, "g"), p = []; null !== (a = h.exec(o));) switch (a[1]) {
  6349. case u:
  6350. p.push("w" + a[2]);
  6351. break;
  6352. case s:
  6353. p.push("r");
  6354. break;
  6355. case l:
  6356. p.push("s" + a[2]);
  6357. break;
  6358. case c:
  6359. p.push("p" + a[2])
  6360. }
  6361. return p
  6362. }, t.setDownloadURL = function (e, t, n) {
  6363. var i;
  6364. if (e.url) {
  6365. i = e.url;
  6366. try {
  6367. i = decodeURIComponent(i)
  6368. } catch (r) {
  6369. return
  6370. }
  6371. var o = a.parse(i, !0);
  6372. delete o.search;
  6373. var s = o.query;
  6374. t && (s.signature = t), e.url = a.format(o)
  6375. }
  6376. }, t.decipherFormats = function (e, n, i) {
  6377. e.forEach(function (e) {
  6378. var r = n && e.s ? t.decipher(n, e.s) : null;
  6379. t.setDownloadURL(e, r, i)
  6380. })
  6381. }
  6382. }).call(t, "/")
  6383. }, function (e, t, n) {
  6384. "use strict";
  6385. var i = {};
  6386. e.exports = {
  6387. writeFileSync: function (e, t) {
  6388. i[e] = t
  6389. }, readFileSync: function (e) {
  6390. return i[e]
  6391. }
  6392. }
  6393. }, function (e, t) {
  6394. e.exports = {
  6395. "en_US-vfl0Cbn9e": ["w15", "w44", "r", "w24", "s3", "r", "w2", "w50"],
  6396. "en_US-vfl5aDZwb": ["w15", "w44", "r", "w24", "s3", "r", "w2", "w50"],
  6397. "en_US-vflqZIm5b": ["w1", "w32", "s1", "r", "s3", "r", "s3", "r"],
  6398. "en_US-vfl9FYC6l": ["w28", "r", "p1", "w26", "w40", "r", "p1"],
  6399. "en_US-vflbHLA_P": ["r", "w20", "r", "w20", "p2", "r"],
  6400. "en_US-vflvmwLwg": ["p2", "w44", "r", "p3", "w17", "p1"],
  6401. "en_US-vfljDEtYP": ["r", "p1", "w32", "p3", "r"],
  6402. "id_ID-vflA4yxG-": ["r", "p1", "w32", "p3", "r"],
  6403. "en_US-vflUpjAy9": ["w26", "p3", "r", "p3", "r", "p3", "w61", "p3", "r"]
  6404. }
  6405. }, function (e, t, n) {
  6406. "use strict";
  6407. (function (t) {
  6408. function n() {
  6409. this.events = {}
  6410. }
  6411.  
  6412. n.prototype = {
  6413. addListener: function (e, t) {
  6414. this.events[e] = this.events[e] || [], this.events[e].push(t)
  6415. }, once: function (e, n) {
  6416. var i = this;
  6417. if (DEVELOP) {
  6418. if (2 !== arguments.length) throw new Error(t + ": wrong arguments number");
  6419. if ("string" != typeof e || 0 === e.length) throw new Error(t + ": wrong or empty name");
  6420. if ("function" != typeof n) throw new Error(t + ": wrong callback type")
  6421. }
  6422. this.events[e] = this.events[e] || [], this.events[e].push(function r() {
  6423. n.apply(i, arguments), i.removeListener(e, r)
  6424. })
  6425. }, addListeners: function (e) {
  6426. var n;
  6427. if (DEVELOP) {
  6428. if (1 !== arguments.length) throw new Error(t + ": wrong arguments number");
  6429. if ("object" != typeof e) throw new Error(t + ": wrong callbacks type");
  6430. if (0 === Object.keys(e).length) throw new Error(t + ": no callbacks given")
  6431. }
  6432. for (n in e) e.hasOwnProperty(n) && this.addListener(n, e[n])
  6433. }, removeListener: function (e, n) {
  6434. if (DEVELOP) {
  6435. if (2 !== arguments.length) throw new Error(t + ": wrong arguments number");
  6436. if ("string" != typeof e || 0 === e.length) throw new Error(t + ": wrong or empty name");
  6437. if ("function" != typeof n) throw new Error(t + ": wrong callback type");
  6438. if (this.events[e] && !Array.isArray(this.events[e])) throw new Error(t + ": corrupted inner data")
  6439. }
  6440. this.events[e] && (this.events[e] = this.events[e].filter(function (e) {
  6441. return e !== n
  6442. }), 0 === this.events[e].length && (this.events[e] = void 0))
  6443. }, emit: function (e) {
  6444. var n, i = this.events[e];
  6445. if (DEVELOP) {
  6446. if (arguments.length < 1) throw new Error(t + ": wrong arguments number");
  6447. if ("string" != typeof e || 0 === e.length) throw new Error(t + ": wrong or empty name")
  6448. }
  6449. if (i) {
  6450. if (DEVELOP && !Array.isArray(i)) throw new Error(t + ": wrong event type");
  6451. for (n = 0; n < i.length; n++) {
  6452. if (DEVELOP && "function" != typeof i[n]) throw new Error(t + ": wrong event callback type");
  6453. i[n].apply(this, Array.prototype.slice.call(arguments, 1))
  6454. }
  6455. }
  6456. }
  6457. }, n.prototype.constructor = n, e.exports = n
  6458. }).call(t, "/index.js")
  6459. }, function (e, t, n) {
  6460. "use strict";
  6461.  
  6462. function i(e) {
  6463. var t = e.length;
  6464. if (t % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4");
  6465. return "=" === e[t - 2] ? 2 : "=" === e[t - 1] ? 1 : 0
  6466. }
  6467.  
  6468. function r(e) {
  6469. return 3 * e.length / 4 - i(e)
  6470. }
  6471.  
  6472. function o(e) {
  6473. var t, n, r, o, a, s, l = e.length;
  6474. a = i(e), s = new d(3 * l / 4 - a), r = a > 0 ? l - 4 : l;
  6475. var c = 0;
  6476. for (t = 0, n = 0; r > t; t += 4, n += 3) o = u[e.charCodeAt(t)] << 18 | u[e.charCodeAt(t + 1)] << 12 | u[e.charCodeAt(t + 2)] << 6 | u[e.charCodeAt(t + 3)], s[c++] = o >> 16 & 255, s[c++] = o >> 8 & 255, s[c++] = 255 & o;
  6477. return 2 === a ? (o = u[e.charCodeAt(t)] << 2 | u[e.charCodeAt(t + 1)] >> 4, s[c++] = 255 & o) : 1 === a && (o = u[e.charCodeAt(t)] << 10 | u[e.charCodeAt(t + 1)] << 4 | u[e.charCodeAt(t + 2)] >> 2, s[c++] = o >> 8 & 255, s[c++] = 255 & o), s
  6478. }
  6479.  
  6480. function a(e) {
  6481. return c[e >> 18 & 63] + c[e >> 12 & 63] + c[e >> 6 & 63] + c[63 & e]
  6482. }
  6483.  
  6484. function s(e, t, n) {
  6485. for (var i, r = [], o = t; n > o; o += 3) i = (e[o] << 16) + (e[o + 1] << 8) + e[o + 2], r.push(a(i));
  6486. return r.join("")
  6487. }
  6488.  
  6489. function l(e) {
  6490. for (var t, n = e.length, i = n % 3, r = "", o = [], a = 16383, l = 0, u = n - i; u > l; l += a) o.push(s(e, l, l + a > u ? u : l + a));
  6491. return 1 === i ? (t = e[n - 1], r += c[t >> 2], r += c[t << 4 & 63], r += "==") : 2 === i && (t = (e[n - 2] << 8) + e[n - 1], r += c[t >> 10], r += c[t >> 4 & 63], r += c[t << 2 & 63], r += "="), o.push(r), o.join("")
  6492. }
  6493.  
  6494. t.byteLength = r, t.toByteArray = o, t.fromByteArray = l;
  6495. for (var c = [], u = [], d = "undefined" != typeof Uint8Array ? Uint8Array : Array, h = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", p = 0, f = h.length; f > p; ++p) c[p] = h[p], u[h.charCodeAt(p)] = p;
  6496. u["-".charCodeAt(0)] = 62, u["_".charCodeAt(0)] = 63
  6497. }, function (e, t) {
  6498. t.read = function (e, t, n, i, r) {
  6499. var o, a, s = 8 * r - i - 1, l = (1 << s) - 1, c = l >> 1, u = -7, d = n ? r - 1 : 0, h = n ? -1 : 1,
  6500. p = e[t + d];
  6501. for (d += h, o = p & (1 << -u) - 1, p >>= -u, u += s; u > 0; o = 256 * o + e[t + d], d += h, u -= 8) ;
  6502. for (a = o & (1 << -u) - 1, o >>= -u, u += i; u > 0; a = 256 * a + e[t + d], d += h, u -= 8) ;
  6503. if (0 === o) o = 1 - c; else {
  6504. if (o === l) return a ? NaN : (p ? -1 : 1) * (1 / 0);
  6505. a += Math.pow(2, i), o -= c
  6506. }
  6507. return (p ? -1 : 1) * a * Math.pow(2, o - i)
  6508. }, t.write = function (e, t, n, i, r, o) {
  6509. var a, s, l, c = 8 * o - r - 1, u = (1 << c) - 1, d = u >> 1,
  6510. h = 23 === r ? Math.pow(2, -24) - Math.pow(2, -77) : 0, p = i ? 0 : o - 1, f = i ? 1 : -1,
  6511. m = 0 > t || 0 === t && 0 > 1 / t ? 1 : 0;
  6512. for (t = Math.abs(t), isNaN(t) || t === 1 / 0 ? (s = isNaN(t) ? 1 : 0, a = u) : (a = Math.floor(Math.log(t) / Math.LN2), t * (l = Math.pow(2, -a)) < 1 && (a--, l *= 2), t += a + d >= 1 ? h / l : h * Math.pow(2, 1 - d), t * l >= 2 && (a++, l /= 2), a + d >= u ? (s = 0, a = u) : a + d >= 1 ? (s = (t * l - 1) * Math.pow(2, r), a += d) : (s = t * Math.pow(2, d - 1) * Math.pow(2, r), a = 0)); r >= 8; e[n + p] = 255 & s, p += f, s /= 256, r -= 8) ;
  6513. for (a = a << r | s, c += r; c > 0; e[n + p] = 255 & a, p += f, a /= 256, c -= 8) ;
  6514. e[n + p - f] |= 128 * m
  6515. }
  6516. }, function (e, t, n) {
  6517. (function (e) {
  6518. function n(e, t) {
  6519. for (var n = 0, i = e.length - 1; i >= 0; i--) {
  6520. var r = e[i];
  6521. "." === r ? e.splice(i, 1) : ".." === r ? (e.splice(i, 1), n++) : n && (e.splice(i, 1), n--)
  6522. }
  6523. if (t) for (; n--; n) e.unshift("..");
  6524. return e
  6525. }
  6526.  
  6527. function i(e, t) {
  6528. if (e.filter) return e.filter(t);
  6529. for (var n = [], i = 0; i < e.length; i++) t(e[i], i, e) && n.push(e[i]);
  6530. return n
  6531. }
  6532.  
  6533. var r = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/, o = function (e) {
  6534. return r.exec(e).slice(1)
  6535. };
  6536. t.resolve = function () {
  6537. for (var t = "", r = !1, o = arguments.length - 1; o >= -1 && !r; o--) {
  6538. var a = o >= 0 ? arguments[o] : e.cwd();
  6539. if ("string" != typeof a) throw new TypeError("Arguments to path.resolve must be strings");
  6540. a && (t = a + "/" + t, r = "/" === a.charAt(0))
  6541. }
  6542. return t = n(i(t.split("/"), function (e) {
  6543. return !!e
  6544. }), !r).join("/"), (r ? "/" : "") + t || "."
  6545. }, t.normalize = function (e) {
  6546. var r = t.isAbsolute(e), o = "/" === a(e, -1);
  6547. return e = n(i(e.split("/"), function (e) {
  6548. return !!e
  6549. }), !r).join("/"), e || r || (e = "."), e && o && (e += "/"), (r ? "/" : "") + e
  6550. }, t.isAbsolute = function (e) {
  6551. return "/" === e.charAt(0)
  6552. }, t.join = function () {
  6553. var e = Array.prototype.slice.call(arguments, 0);
  6554. return t.normalize(i(e, function (e, t) {
  6555. if ("string" != typeof e) throw new TypeError("Arguments to path.join must be strings");
  6556. return e
  6557. }).join("/"))
  6558. }, t.relative = function (e, n) {
  6559. function i(e) {
  6560. for (var t = 0; t < e.length && "" === e[t]; t++) ;
  6561. for (var n = e.length - 1; n >= 0 && "" === e[n]; n--) ;
  6562. return t > n ? [] : e.slice(t, n - t + 1)
  6563. }
  6564.  
  6565. e = t.resolve(e).substr(1), n = t.resolve(n).substr(1);
  6566. for (var r = i(e.split("/")), o = i(n.split("/")), a = Math.min(r.length, o.length), s = a, l = 0; a > l; l++) if (r[l] !== o[l]) {
  6567. s = l;
  6568. break
  6569. }
  6570. for (var c = [], l = s; l < r.length; l++) c.push("..");
  6571. return c = c.concat(o.slice(s)), c.join("/")
  6572. }, t.sep = "/", t.delimiter = ":", t.dirname = function (e) {
  6573. var t = o(e), n = t[0], i = t[1];
  6574. return n || i ? (i && (i = i.substr(0, i.length - 1)), n + i) : "."
  6575. }, t.basename = function (e, t) {
  6576. var n = o(e)[2];
  6577. return t && n.substr(-1 * t.length) === t && (n = n.substr(0, n.length - t.length)), n
  6578. }, t.extname = function (e) {
  6579. return o(e)[3]
  6580. };
  6581. var a = "b" === "ab".substr(-1) ? function (e, t, n) {
  6582. return e.substr(t, n)
  6583. } : function (e, t, n) {
  6584. return 0 > t && (t = e.length + t), e.substr(t, n)
  6585. }
  6586. }).call(t, n(4))
  6587. }, function (e, t, n) {
  6588. (function (e, i) {
  6589. var r;
  6590. !function (o) {
  6591. function a(e) {
  6592. throw new RangeError(L[e])
  6593. }
  6594.  
  6595. function s(e, t) {
  6596. for (var n = e.length, i = []; n--;) i[n] = t(e[n]);
  6597. return i
  6598. }
  6599.  
  6600. function l(e, t) {
  6601. var n = e.split("@"), i = "";
  6602. n.length > 1 && (i = n[0] + "@", e = n[1]), e = e.replace(O, ".");
  6603. var r = e.split("."), o = s(r, t).join(".");
  6604. return i + o
  6605. }
  6606.  
  6607. function c(e) {
  6608. for (var t, n, i = [], r = 0, o = e.length; o > r;) t = e.charCodeAt(r++), t >= 55296 && 56319 >= t && o > r ? (n = e.charCodeAt(r++), 56320 == (64512 & n) ? i.push(((1023 & t) << 10) + (1023 & n) + 65536) : (i.push(t), r--)) : i.push(t);
  6609. return i
  6610. }
  6611.  
  6612. function u(e) {
  6613. return s(e, function (e) {
  6614. var t = "";
  6615. return e > 65535 && (e -= 65536, t += B(e >>> 10 & 1023 | 55296), e = 56320 | 1023 & e), t += B(e)
  6616. }).join("")
  6617. }
  6618.  
  6619. function d(e) {
  6620. return 10 > e - 48 ? e - 22 : 26 > e - 65 ? e - 65 : 26 > e - 97 ? e - 97 : T
  6621. }
  6622.  
  6623. function h(e, t) {
  6624. return e + 22 + 75 * (26 > e) - ((0 != t) << 5)
  6625. }
  6626.  
  6627. function p(e, t, n) {
  6628. var i = 0;
  6629. for (e = n ? D(e / S) : e >> 1, e += D(e / t); e > $ * x >> 1; i += T) e = D(e / $);
  6630. return D(i + ($ + 1) * e / (e + I))
  6631. }
  6632.  
  6633. function f(e) {
  6634. var t, n, i, r, o, s, l, c, h, f, m = [], g = e.length, v = 0, y = C, b = N;
  6635. for (n = e.lastIndexOf(A), 0 > n && (n = 0), i = 0; n > i; ++i) e.charCodeAt(i) >= 128 && a("not-basic"), m.push(e.charCodeAt(i));
  6636. for (r = n > 0 ? n + 1 : 0; g > r;) {
  6637. for (o = v, s = 1, l = T; r >= g && a("invalid-input"), c = d(e.charCodeAt(r++)), (c >= T || c > D((w - v) / s)) && a("overflow"), v += c * s, h = b >= l ? E : l >= b + x ? x : l - b, !(h > c); l += T) f = T - h, s > D(w / f) && a("overflow"), s *= f;
  6638. t = m.length + 1, b = p(v - o, t, 0 == o), D(v / t) > w - y && a("overflow"), y += D(v / t), v %= t, m.splice(v++, 0, y)
  6639. }
  6640. return u(m)
  6641. }
  6642.  
  6643. function m(e) {
  6644. var t, n, i, r, o, s, l, u, d, f, m, g, v, y, b, I = [];
  6645. for (e = c(e), g = e.length, t = C, n = 0, o = N, s = 0; g > s; ++s) m = e[s], 128 > m && I.push(B(m));
  6646. for (i = r = I.length, r && I.push(A); g > i;) {
  6647. for (l = w, s = 0; g > s; ++s) m = e[s], m >= t && l > m && (l = m);
  6648. for (v = i + 1, l - t > D((w - n) / v) && a("overflow"), n += (l - t) * v, t = l, s = 0; g > s; ++s) if (m = e[s], t > m && ++n > w && a("overflow"), m == t) {
  6649. for (u = n, d = T; f = o >= d ? E : d >= o + x ? x : d - o, !(f > u); d += T) b = u - f, y = T - f, I.push(B(h(f + b % y, 0))), u = D(b / y);
  6650. I.push(B(h(u, 0))), o = p(n, v, i == r), n = 0, ++i
  6651. }
  6652. ++n, ++t
  6653. }
  6654. return I.join("")
  6655. }
  6656.  
  6657. function g(e) {
  6658. return l(e, function (e) {
  6659. return _.test(e) ? f(e.slice(4).toLowerCase()) : e
  6660. })
  6661. }
  6662.  
  6663. function v(e) {
  6664. return l(e, function (e) {
  6665. return k.test(e) ? "xn--" + m(e) : e
  6666. })
  6667. }
  6668.  
  6669. var y = ("object" == typeof t && t && !t.nodeType && t, "object" == typeof e && e && !e.nodeType && e, "object" == typeof i && i);
  6670. y.global !== y && y.window !== y && y.self !== y || (o = y);
  6671. var b, w = 2147483647, T = 36, E = 1, x = 26, I = 38, S = 700, N = 72, C = 128, A = "-",
  6672. _ = /^xn--/, k = /[^\x20-\x7E]/, O = /[\x2E\u3002\uFF0E\uFF61]/g, L = {
  6673. overflow: "Overflow: input needs wider integers to process",
  6674. "not-basic": "Illegal input >= 0x80 (not a basic code point)",
  6675. "invalid-input": "Invalid input"
  6676. }, $ = T - E, D = Math.floor, B = String.fromCharCode;
  6677. b = {
  6678. version: "1.4.1",
  6679. ucs2: {decode: c, encode: u},
  6680. decode: f,
  6681. encode: m,
  6682. toASCII: v,
  6683. toUnicode: g
  6684. }, r = function () {
  6685. return b
  6686. }.call(t, n, t, e), !(void 0 !== r && (e.exports = r))
  6687. }(this)
  6688. }).call(t, n(20)(e), n(2))
  6689. }, function (e, t, n) {
  6690. "use strict";
  6691.  
  6692. function i(e, t) {
  6693. return Object.prototype.hasOwnProperty.call(e, t)
  6694. }
  6695.  
  6696. e.exports = function (e, t, n, o) {
  6697. t = t || "&", n = n || "=";
  6698. var a = {};
  6699. if ("string" != typeof e || 0 === e.length) return a;
  6700. var s = /\+/g;
  6701. e = e.split(t);
  6702. var l = 1e3;
  6703. o && "number" == typeof o.maxKeys && (l = o.maxKeys);
  6704. var c = e.length;
  6705. l > 0 && c > l && (c = l);
  6706. for (var u = 0; c > u; ++u) {
  6707. var d, h, p, f, m = e[u].replace(s, "%20"), g = m.indexOf(n);
  6708. g >= 0 ? (d = m.substr(0, g), h = m.substr(g + 1)) : (d = m, h = ""), p = decodeURIComponent(d), f = decodeURIComponent(h), i(a, p) ? r(a[p]) ? a[p].push(f) : a[p] = [a[p], f] : a[p] = f
  6709. }
  6710. return a
  6711. };
  6712. var r = Array.isArray || function (e) {
  6713. return "[object Array]" === Object.prototype.toString.call(e)
  6714. }
  6715. }, function (e, t, n) {
  6716. "use strict";
  6717.  
  6718. function i(e, t) {
  6719. if (e.map) return e.map(t);
  6720. for (var n = [], i = 0; i < e.length; i++) n.push(t(e[i], i));
  6721. return n
  6722. }
  6723.  
  6724. var r = function (e) {
  6725. switch (typeof e) {
  6726. case"string":
  6727. return e;
  6728. case"boolean":
  6729. return e ? "true" : "false";
  6730. case"number":
  6731. return isFinite(e) ? e : "";
  6732. default:
  6733. return ""
  6734. }
  6735. };
  6736. e.exports = function (e, t, n, s) {
  6737. return t = t || "&", n = n || "=", null === e && (e = void 0), "object" == typeof e ? i(a(e), function (a) {
  6738. var s = encodeURIComponent(r(a)) + n;
  6739. return o(e[a]) ? i(e[a], function (e) {
  6740. return s + encodeURIComponent(r(e))
  6741. }).join(t) : s + encodeURIComponent(r(e[a]))
  6742. }).join(t) : s ? encodeURIComponent(r(s)) + n + encodeURIComponent(r(e)) : ""
  6743. };
  6744. var o = Array.isArray || function (e) {
  6745. return "[object Array]" === Object.prototype.toString.call(e)
  6746. }, a = Object.keys || function (e) {
  6747. var t = [];
  6748. for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.push(n);
  6749. return t
  6750. }
  6751. }, function (e, t, n) {
  6752. e.exports = n(1)
  6753. }, function (e, t, n) {
  6754. "use strict";
  6755.  
  6756. function i() {
  6757. this.head = null, this.tail = null, this.length = 0
  6758. }
  6759.  
  6760. var r = (n(0).Buffer, n(11));
  6761. e.exports = i, i.prototype.push = function (e) {
  6762. var t = {data: e, next: null};
  6763. this.length > 0 ? this.tail.next = t : this.head = t, this.tail = t, ++this.length
  6764. }, i.prototype.unshift = function (e) {
  6765. var t = {data: e, next: this.head};
  6766. 0 === this.length && (this.tail = t), this.head = t, ++this.length
  6767. }, i.prototype.shift = function () {
  6768. if (0 !== this.length) {
  6769. var e = this.head.data;
  6770. return 1 === this.length ? this.head = this.tail = null : this.head = this.head.next, --this.length, e
  6771. }
  6772. }, i.prototype.clear = function () {
  6773. this.head = this.tail = null, this.length = 0
  6774. }, i.prototype.join = function (e) {
  6775. if (0 === this.length) return "";
  6776. for (var t = this.head, n = "" + t.data; t = t.next;) n += e + t.data;
  6777. return n
  6778. }, i.prototype.concat = function (e) {
  6779. if (0 === this.length) return r.alloc(0);
  6780. if (1 === this.length) return this.head.data;
  6781. for (var t = r.allocUnsafe(e >>> 0), n = this.head, i = 0; n;) n.data.copy(t, i), i += n.data.length, n = n.next;
  6782. return t
  6783. }
  6784. }, function (e, t, n) {
  6785. e.exports = n(22)
  6786. }, function (e, t, n) {
  6787. (function (i) {
  6788. var r = function () {
  6789. try {
  6790. return n(6)
  6791. } catch (e) {
  6792. }
  6793. }();
  6794. t = e.exports = n(23), t.Stream = r || t, t.Readable = t, t.Writable = n(15), t.Duplex = n(1), t.Transform = n(14), t.PassThrough = n(22), !i.browser && "disable" === i.env.READABLE_STREAM && r && (e.exports = r)
  6795. }).call(t, n(4))
  6796. }, function (e, t, n) {
  6797. e.exports = n(14)
  6798. }, function (e, t, n) {
  6799. e.exports = n(15)
  6800. }, function (e, t, n) {
  6801. (function (e, t) {
  6802. !function (e, n) {
  6803. "use strict";
  6804.  
  6805. function i(e) {
  6806. "function" != typeof e && (e = new Function("" + e));
  6807. for (var t = new Array(arguments.length - 1), n = 0; n < t.length; n++) t[n] = arguments[n + 1];
  6808. var i = {callback: e, args: t};
  6809. return m[f] = i, p(f), f++
  6810. }
  6811.  
  6812. function r(e) {
  6813. delete m[e]
  6814. }
  6815.  
  6816. function o(e) {
  6817. var t = e.callback, i = e.args;
  6818. switch (i.length) {
  6819. case 0:
  6820. t();
  6821. break;
  6822. case 1:
  6823. t(i[0]);
  6824. break;
  6825. case 2:
  6826. t(i[0], i[1]);
  6827. break;
  6828. case 3:
  6829. t(i[0], i[1], i[2]);
  6830. break;
  6831. default:
  6832. t.apply(n, i)
  6833. }
  6834. }
  6835.  
  6836. function a(e) {
  6837. if (g) setTimeout(a, 0, e); else {
  6838. var t = m[e];
  6839. if (t) {
  6840. g = !0;
  6841. try {
  6842. o(t)
  6843. } finally {
  6844. r(e), g = !1
  6845. }
  6846. }
  6847. }
  6848. }
  6849.  
  6850. function s() {
  6851. p = function (e) {
  6852. t.nextTick(function () {
  6853. a(e)
  6854. })
  6855. }
  6856. }
  6857.  
  6858. function l() {
  6859. if (e.postMessage && !e.importScripts) {
  6860. var t = !0, n = e.onmessage;
  6861. return e.onmessage = function () {
  6862. t = !1
  6863. }, e.postMessage("", "*"), e.onmessage = n, t
  6864. }
  6865. }
  6866.  
  6867. function c() {
  6868. var t = "setImmediate$" + Math.random() + "$", n = function (n) {
  6869. n.source === e && "string" == typeof n.data && 0 === n.data.indexOf(t) && a(+n.data.slice(t.length))
  6870. };
  6871. e.addEventListener ? e.addEventListener("message", n, !1) : e.attachEvent("onmessage", n), p = function (n) {
  6872. e.postMessage(t + n, "*")
  6873. }
  6874. }
  6875.  
  6876. function u() {
  6877. var e = new MessageChannel;
  6878. e.port1.onmessage = function (e) {
  6879. var t = e.data;
  6880. a(t)
  6881. }, p = function (t) {
  6882. e.port2.postMessage(t)
  6883. }
  6884. }
  6885.  
  6886. function d() {
  6887. var e = v.documentElement;
  6888. p = function (t) {
  6889. var n = v.createElement("script");
  6890. n.onreadystatechange = function () {
  6891. a(t), n.onreadystatechange = null, e.removeChild(n), n = null
  6892. }, e.appendChild(n)
  6893. }
  6894. }
  6895.  
  6896. function h() {
  6897. p = function (e) {
  6898. setTimeout(a, 0, e)
  6899. }
  6900. }
  6901.  
  6902. if (!e.setImmediate) {
  6903. var p, f = 1, m = {}, g = !1, v = e.document,
  6904. y = Object.getPrototypeOf && Object.getPrototypeOf(e);
  6905. y = y && y.setTimeout ? y : e, "[object process]" === {}.toString.call(e.process) ? s() : l() ? c() : e.MessageChannel ? u() : v && "onreadystatechange" in v.createElement("script") ? d() : h(), y.setImmediate = i, y.clearImmediate = r
  6906. }
  6907. }("undefined" == typeof self ? "undefined" == typeof e ? this : e : self)
  6908. }).call(t, n(2), n(4))
  6909. }, function (e, t, n) {
  6910. "use strict";
  6911. e.exports = {
  6912. isString: function (e) {
  6913. return "string" == typeof e
  6914. }, isObject: function (e) {
  6915. return "object" == typeof e && null !== e
  6916. }, isNull: function (e) {
  6917. return null === e
  6918. }, isNullOrUndefined: function (e) {
  6919. return null == e
  6920. }
  6921. }
  6922. }, function (e, t, n) {
  6923. (function (t) {
  6924. function n(e, t) {
  6925. function n() {
  6926. if (!r) {
  6927. if (i("throwDeprecation")) throw new Error(t);
  6928. i("traceDeprecation"), r = !0
  6929. }
  6930. return e.apply(this, arguments)
  6931. }
  6932.  
  6933. if (i("noDeprecation")) return e;
  6934. var r = !1;
  6935. return n
  6936. }
  6937.  
  6938. function i(e) {
  6939. try {
  6940. if (!t.localStorage) return !1
  6941. } catch (n) {
  6942. return !1
  6943. }
  6944. var i = t.localStorage[e];
  6945. return null == i ? !1 : "true" === String(i).toLowerCase()
  6946. }
  6947.  
  6948. e.exports = n
  6949. }).call(t, n(2))
  6950. }, function (e, t) {
  6951. }, function (e, t, n) {
  6952. (function (t) {
  6953. var i, r;
  6954. t.DEVELOP = !0, Function.prototype.bind = n(25), window.Set = n(27), r = n(26), i = {
  6955. getInfo: function (e, t, n) {
  6956. return r.getInfo(e, n, function (e, n) {
  6957. return e ? void t(e) : n instanceof Error ? void t(n) : void t(!1, n)
  6958. }), !1
  6959. }, choseFormat: function (e, t) {
  6960. return t || (t = {}), r.chooseFormat(e.formats, t)
  6961. }
  6962. }, e.exports = i
  6963. }).call(t, n(2))
  6964. }])
  6965. }).call(t, n(17).setImmediate, n(17).clearImmediate)
  6966. }, function (e, t, n) {
  6967. "use strict";
  6968.  
  6969. function i(e, t) {
  6970. var n, i, r, o, a, s, l, c, u, d, h, p = [];
  6971. for (l = e.split("channels-content-item"), h = 0; h < l.length; h++) d = l[h], -1 !== d.indexOf("yt-lockup-video") && (c = d.indexOf('="https://i.ytimg') + 2, u = d.indexOf('"', c), s = d.substring(c, u), c = d.indexOf('data-context-item-id="') + 22, u = d.indexOf('"', c), n = d.substring(c, u), c = d.indexOf('<span class="video-time" aria-hidden="true">') + 44, c = d.indexOf(">", c) + 1, u = d.indexOf("</span>", c), i = d.substring(c, u), c = d.indexOf('<ul class="yt-lockup-meta-info"><li>') + 36, u = d.indexOf(" ", c), r = d.substring(c, u), c = d.indexOf("</li><li>", c) + 9, u = d.indexOf("</li>", c), o = d.substring(c, u), c = d.indexOf('" href="/watch?v=') + 17, c = d.indexOf(">", c) + 1, u = d.indexOf("</a><span", c), a = d.substring(c, u), p.push({
  6972. value: 1,
  6973. id: n,
  6974. channelTitle: t.title,
  6975. duration: i,
  6976. realDuration: i,
  6977. viewCount: r,
  6978. publishedAt: o,
  6979. dimension: "",
  6980. definition: "",
  6981. title: a,
  6982. icon: s,
  6983. channelId: t.id,
  6984. type: "video",
  6985. locale: {publishedAt: o, viewCount: r, channelTitle: t.title}
  6986. }));
  6987. return p
  6988. }
  6989.  
  6990. function r() {
  6991. s.call(this), this.channelId = null, this.pages = {}
  6992. }
  6993.  
  6994. var o = n(18), a = o.ajax, s = n(5);
  6995. r.prototype = Object.create(s.prototype), r.prototype.constructor = r, r.prototype.getInfo = function (e, t) {
  6996. return e = e || {}, !e.channelId && this.channelId && (e.channelId = this.channelId), e.channelId ? void a("get", "https://www.youtube.com/channel/" + e.channelId + "/about", function (n, i) {
  6997. var r, o, a, s, l, c, u;
  6998. r = n.indexOf('img class="channel-header-profile-image" src="') + 46, o = n.indexOf('"', r), a = n.substring(r, o), r = n.indexOf("yt-subscription-button-subscriber-count-branded-horizontal"), r = n.indexOf('title="', r) + 7, o = n.indexOf('"', r), s = n.substring(r, o), r = n.indexOf('class="qualified-channel-title-text"'), r = n.indexOf('title="', r) + 7, o = n.indexOf('"', r), l = n.substring(r, o), r = n.indexOf('<div class="about-description'), o = n.indexOf('<div class="about-metadata-label', r), c = n.substring(r, o), r = n.indexOf(".hd-banner-image {"), r = n.indexOf("background-image: url(", r) + 22, o = n.indexOf(");", r), u = "http:" + n.substring(r, o), t(null, {
  6999. icon: a,
  7000. subscribers: s,
  7001. background: u,
  7002. title: l,
  7003. id: e.channelId,
  7004. description: c
  7005. })
  7006. }) : void t({message: "error: field arguments[0].channelId is empty"})
  7007. }, r.prototype.getPage = function (e, t) {
  7008. var n = this;
  7009. return e = e || {}, !e.channelId && this.channelId && (e.channelId = this.channelId), e.page = +e.page || 0, e.channelId ? void(this.pages[e.page] && this.pages[e.page].parseId ? this.pages[e.page].cached ? t(null, this.pages[e.page].data) : a("get", "https://www.youtube.com" + this.pages[e.page].parseId, function (r, o) {
  7010. var a, s, l, c, u, d = "";
  7011. try {
  7012. a = JSON.parse(r)
  7013. } catch (h) {
  7014. s = h, a = ""
  7015. }
  7016. a || t({
  7017. message: "parse error for page id " + n.pages[e.page].parseId,
  7018. code: s
  7019. }), a.load_more_widget_html.trim().length > 10 ? (l = a.load_more_widget_html.indexOf('data-uix-load-more-href="/browse_ajax') + 25, c = a.load_more_widget_html.indexOf('"', l), u = a.load_more_widget_html.substring(l, c)) : u = "", n.pages[e.page + 1] = {
  7020. parseId: u,
  7021. cached: !1
  7022. }, n.pages[e.page].cached = !0, n.pages[e.page].data = i(a.content_html, {
  7023. id: e.channelId,
  7024. title: d
  7025. }), t(null, n.pages[e.page].data)
  7026. }) : e.page ? this.pages[e.page] && !this.pages[e.page].parseId ? t(null, []) : t({message: "wrong page number (page id not found in cache)"}) : a("get", "https://www.youtube.com/channel/" + e.channelId + "/videos", function (r, o) {
  7027. var a, s, l, c = "";
  7028. s = r.indexOf('data-uix-load-more-href="/browse_ajax') + 25, l = r.indexOf('"', s), n.pages[e.page + 1] = {
  7029. parseId: r.substring(s, l),
  7030. cached: !1
  7031. }, a = r.slice(r.indexOf('id="channels-browse-content-grid"'), r.indexOf("browse-items-load-more-button")), n.pages[0] = {
  7032. cached: !0,
  7033. parseId: " ",
  7034. data: i(a, {id: e.channelId, title: c})
  7035. }, t(null, n.pages[0].data)
  7036. })) : void t({message: "error: field arguments[0].channelId is empty"})
  7037. }, r.prototype.filter = function () {
  7038. return !1
  7039. }, e.exports = r
  7040. }, function (e, t, n) {
  7041. "use strict";
  7042.  
  7043. function i(e) {
  7044. console.log('7036');
  7045. var t, n, i, r, o, a, s, l, c, u, d, h, p, f, m, g, v = [];
  7046. for (c = e.split('<li class="yt-shelf-grid-item'), p = 0; p < c.length; p++) if (h = c[p], -1 !== h.indexOf("yt-lockup-content")) {
  7047. if (-1 !== h.indexOf("yt-lockup-playlist")) f = "playlist"; else {
  7048. if (-1 === h.indexOf("yt-lockup-video") || -1 !== h.indexOf("branded-page-module") || -1 !== h.indexOf("data-set-reminder-text")) continue;
  7049. f = "video", g = -1 !== h.indexOf("yt-badge-live")
  7050. }
  7051. u = h.indexOf("//i.ytimg"), d = h.indexOf('"', u), s = "https:" + h.substring(u, d).replace(/&amp;/g, "&"), u = h.indexOf(' data-ytid="') + 12, d = h.indexOf('"', u), l = h.substring(u, d), "playlist" === f && (u = h.indexOf('" dir="ltr">') + 12, d = h.indexOf("</a><span", u), a = h.substring(u, d), -1 !== h.indexOf('<div class="yt-lockup-byline ">YouTube</div>') && (l = ""), u = h.indexOf('<a href="/watch?v=') + 9, d = h.indexOf('"', u), m = h.substring(u, d).replace("&amp;", "&"), u = h.indexOf('" dir="ltr">') + 12, d = h.indexOf("<", u), n = h.substring(u, d), v.push({
  7052. value: 1,
  7053. playlistId: m,
  7054. channel: {title: n.substr(0, 100), id: l},
  7055. title: a.substr(0, 100),
  7056. icon: s,
  7057. type: "playlist",
  7058. channelTitle: n.substr(0, 100),
  7059. viewCount: " ",
  7060. duration: " ",
  7061. publishedAt: " ",
  7062. locale: {publishedAt: " ", viewCount: " ", channelTitle: n.substr(0, 100)}
  7063. })), "video" === f && (u = h.indexOf('data-context-item-id="') + 22, d = h.indexOf('"', u), t = h.substring(u, d), u = h.indexOf('<span class="video-time" aria-hidden="true">') + 44, d = h.indexOf("</span>", u), i = h.substring(u, d), u = h.indexOf('<ul class="yt-lockup-meta-info"><li>') + 36, d = h.indexOf(" ", u), r = h.substring(u, d), u = h.indexOf("</li><li>", u) + 9, d = h.indexOf("</li></ul></div>", u), o = h.substring(u, d), u = h.indexOf('" dir="ltr">') + 12, 11 === u && (u = h.indexOf(' dir="ltr">') + 11, 10 === u && (u = h.indexOf('" dir="rtl">') + 12)), d = h.indexOf("</", u), a = h.substring(u, d), u = h.indexOf(' class="yt-uix-sessionlink spf-link " data-sessionlink="itct='), u = h.indexOf(">", u) + 1, d = h.indexOf("</a>", u), n = h.substring(u, d), v.push({
  7064. value: 1,
  7065. id: t,
  7066. channelTitle: n.substr(0, 100),
  7067. duration: g ? "" : i.substr(0, 100),
  7068. realDuration: g ? "" : i.substr(0, 100),
  7069. viewCount: r.substr(0, 100),
  7070. publishedAt: g ? "" : o.substr(0, 100),
  7071. dimension: "",
  7072. definition: "",
  7073. title: a.substr(0, 100),
  7074. icon: s,
  7075. channelId: l,
  7076. type: "video",
  7077. locale: {
  7078. publishedAt: g ? "" : o.substr(0, 100),
  7079. viewCount: r.substr(0, 100),
  7080. channelTitle: n.substr(0, 100)
  7081. }
  7082. }))
  7083. }
  7084. return v
  7085. }
  7086.  
  7087. function r() {
  7088. s.call(this), this.pages = {}
  7089. }
  7090.  
  7091. var o = n(18), a = o.ajax, s = n(5);
  7092. r.prototype = Object.create(s.prototype), r.prototype.constructor = r, r.prototype.getPage = function (e, t) {
  7093. var n = this;
  7094. e.page = +e.page || 0, this.pages[e.page] && this.pages[e.page].parseId ? this.pages[e.page].cached ? t(null, this.pages[e.page].data) : a("get", "https://www.youtube.com" + this.pages[e.page].parseId, function (r, o) {
  7095. var a, s, l, c, u;
  7096. try {
  7097. a = JSON.parse(r)
  7098. } catch (d) {
  7099. s = d, a = ""
  7100. }
  7101. a || t({
  7102. message: "parse error for page id " + n.pages[e.page].parseId,
  7103. code: s
  7104. }), a.load_more_widget_html.trim().length > 10 ? (l = a.load_more_widget_html.indexOf('data-uix-load-more-href="') + 25, c = a.load_more_widget_html.indexOf('"', l), u = a.load_more_widget_html.substring(l, c)) : u = "", n.pages[e.page + 1] = {
  7105. parseId: u,
  7106. cached: !1
  7107. }, n.pages[e.page].cached = !0, n.pages[e.page].data = i(a.content_html), t(null, n.pages[e.page].data)
  7108. }) : e.page ? this.pages[e.page] && !this.pages[e.page].parseId ? t(null, []) : t({message: "wrong page number (page id not found in cache)"}) : a("get", "https://www.youtube.com/", function (r, o) {
  7109. var a, s, l;
  7110. s = r.indexOf('data-uix-load-more-href="') + 25, l = r.indexOf('"', s), n.pages[e.page + 1] = {
  7111. parseId: r.substring(s, l),
  7112. cached: !1
  7113. }, a = r.slice(r.indexOf('id="feed-main-'), r.indexOf('id="feed-error"')), n.pages[0] = {
  7114. cached: !0,
  7115. parseId: " ",
  7116. data: i(a)
  7117. }, t(null, n.pages[0].data)
  7118. })
  7119. }, r.prototype.filter = function () {
  7120. return !1
  7121. }, e.exports = r
  7122. }, function (e, t, n) {
  7123. "use strict";
  7124.  
  7125. function i(e) {
  7126. var t, n, i, r, o, a, s, l, c, u, d = [];
  7127. for (a = e.split('<li class="yt-uix-scroller-scroll-unit'), u = 0; u < a.length; u++) c = a[u], -1 !== c.indexOf('<div class="playlist-video-description">') && (s = c.indexOf('<span class="video-uploader-byline">') + 36, l = c.indexOf("</span>", s), c.substring(s, l).trim() && (s = c.indexOf('data-video-id="') + 15, l = c.indexOf('"', s), t = c.substring(s, l), s = c.indexOf('data-video-title="') + 18, l = c.indexOf('"', s), i = c.substring(s, l), s = c.indexOf('="https://i.ytimg') + 2, l = c.indexOf('"', s), r = c.substring(s, l).replace(/&amp;/g, "&"), s = c.indexOf(' data-ytid="UC') + 12, l = c.indexOf('"', s), o = c.substring(s, l), s = c.indexOf(">", s) + 1, l = c.indexOf("</", s), n = c.substring(s, l), d.push({
  7128. value: 1,
  7129. id: t,
  7130. channelTitle: n,
  7131. duration: " ",
  7132. realDuration: " ",
  7133. viewCount: " ",
  7134. publishedAt: " ",
  7135. dimension: "",
  7136. definition: "",
  7137. title: i,
  7138. icon: r,
  7139. channelId: o,
  7140. type: "video",
  7141. locale: {publishedAt: " ", viewCount: " ", channelTitle: n}
  7142. })));
  7143. return d
  7144. }
  7145.  
  7146. function r() {
  7147. s.call(this), this.pages = {}
  7148. }
  7149.  
  7150. var o = n(18), a = o.ajax, s = n(5);
  7151. r.prototype = Object.create(s.prototype), r.prototype.constructor = r, r.prototype.getPage = function (e, t) {
  7152. var n = this;
  7153. return e.page = e.page || 0, e.playlistId ? e.page ? void t(null, []) : void(this.pages[0] ? t(null, this.pages[0].data) : a("get", "https://www.youtube.com" + e.playlistId, function (r, o) {
  7154. var a, s, l;
  7155. s = r.indexOf('id="playlist-autoscroll-list"'), l = r.indexOf('id="placeholder-player"', s), a = r.slice(s, l), n.pages[0] = {
  7156. cached: !0,
  7157. parseId: e.playlistId,
  7158. data: i(a)
  7159. }, t(null, n.pages[0].data)
  7160. })) : void t({message: "error: field arguments[0].playlistId is empty"})
  7161. }, r.prototype.filter = function () {
  7162. return !1
  7163. }, e.exports = r
  7164. }, function (e, t, n) {
  7165. "use strict";
  7166.  
  7167. function i(e) {
  7168. var t, n, i, r, o, a, s, l, c, u, d, h, p, f, m, g, v, y, b = [];
  7169. for (m = e.split('<div class="yt-lockup yt-lockup-tile '), g = 0; g < m.length; g++) if (v = m[g], -1 !== v.indexOf("yt-lockup-content")) {
  7170. if (-1 !== v.indexOf("yt-lockup-playlist")) t = "playlist"; else if (-1 !== v.indexOf("yt-lockup-channel")) t = "channel"; else {
  7171. if (-1 === v.indexOf("yt-lockup-video") || -1 !== v.indexOf("branded-page-module") || -1 !== v.indexOf("data-set-reminder-text")) continue;
  7172. y = -1 !== v.indexOf("yt-badge-live"), t = "video"
  7173. }
  7174. p = v.indexOf("//i.ytimg"), f = v.indexOf('"', p), l = "https:" + v.substring(p, f).replace(/&amp;/g, "&"), p = v.indexOf('" dir="ltr">') + 12, 11 === p && (p = v.indexOf(' dir="ltr">') + 11, 10 === p && (p = v.indexOf('" dir="rtl">') + 12)), f = v.indexOf("</", p), s = v.substring(p, f), p = v.indexOf(' data-ytid="') + 12, f = v.indexOf('"', p), c = v.substring(p, f), "playlist" === t && (-1 !== v.indexOf('<div class="yt-lockup-byline ">YouTube</div>') && (c = ""), p = v.indexOf('<a href="/watch?v=') + 9, f = v.indexOf('"', p), u = v.substring(p, f).replace("&amp;", "&"), p = v.indexOf('" dir="ltr">') + 12, f = v.indexOf("<", p), i = v.substring(p, f), b.push({
  7175. value: 1,
  7176. playlistId: u,
  7177. channel: {title: i.substr(0, 100), id: c},
  7178. title: s.substr(0, 100),
  7179. icon: l,
  7180. type: "playlist",
  7181. channelTitle: i.substr(0, 100),
  7182. viewCount: " ",
  7183. duration: " ",
  7184. publishedAt: " ",
  7185. locale: {publishedAt: " ", viewCount: " ", channelTitle: i.substr(0, 100)}
  7186. })), "video" === t && (p = v.indexOf('href="/watch?v=') + 15, f = v.indexOf('"', p), n = v.substring(p, f), p = v.indexOf('<span class="video-time" aria-hidden="true">') + 44, 43 === p && (p = v.indexOf('<ul class="yt-lockup-meta-info"><li>') + 36), f = v.indexOf("</", p), r = v.substring(p, f), p = v.indexOf('<ul class="yt-lockup-meta-info"><li>') + 36, f = v.indexOf("</", p), a = v.substring(p, f), y ? (p = v.indexOf('<ul class="yt-lockup-meta-info"><li>') + 36, f = v.indexOf("<", p)) : (p = v.indexOf("</li><li>", p) + 9, f = v.indexOf("<", p)), o = v.substring(p, f), p = v.indexOf(' class="yt-uix-sessionlink spf-link " data-sessionlink="itct='), p = v.indexOf(">", p) + 1, f = v.indexOf("</a>", p), i = v.substring(p, f), b.push({
  7187. value: 1,
  7188. id: n,
  7189. channelTitle: i.substr(0, 100),
  7190. duration: y ? "" : r.substr(0, 100),
  7191. realDuration: y ? "" : r.substr(0, 100),
  7192. viewCount: o.substr(0, 100),
  7193. publishedAt: y ? "" : a.substr(0, 100),
  7194. dimension: "",
  7195. definition: "",
  7196. title: s.substr(0, 100),
  7197. icon: l,
  7198. channelId: c,
  7199. type: "video",
  7200. locale: {
  7201. publishedAt: y ? "" : a.substr(0, 100),
  7202. viewCount: o.substr(0, 100),
  7203. channelTitle: i.substr(0, 100)
  7204. }
  7205. })), "channel" === t && (p = v.indexOf("//yt"), f = v.indexOf('"', p), l = "https:" + v.substring(p, f), p = v.indexOf('" dir="ltr">') + 12, f = v.indexOf("<", p), s = v.substring(p, f), -1 !== v.indexOf("yt-channel-title-autogenerated") ? d = "" : (p = v.indexOf('"yt-lockup-meta-info"><li>') + 26, f = v.indexOf(" ", p), d = v.substring(p, f)), p = v.indexOf('yt-subscriber-count" title="') + 28, f = v.indexOf('"', p), h = v.substring(p, f), b.push({
  7206. value: 1,
  7207. id: c,
  7208. title: s.substr(0, 100),
  7209. icon: l,
  7210. type: "channel",
  7211. viewCount: "",
  7212. commentCount: "",
  7213. subscriberCount: h.substr(0, 100),
  7214. hiddenSubscriberCount: "",
  7215. videoCount: d.substr(0, 100),
  7216. locale: {subscriberCount: h.substr(0, 100)}
  7217. }))
  7218. }
  7219. return b
  7220. }
  7221.  
  7222. function r(e) {
  7223. s.call(this), this.pages = {}, this.searchQuery = "", this.filter(e)
  7224. }
  7225.  
  7226. var o = n(18), a = o.ajax, s = n(5);
  7227. r.prototype = Object.create(s.prototype), r.prototype.constructor = r, r.prototype.getPage = function (e, t) {
  7228. var n = this;
  7229. e.page = +e.page || 0, this.pages[e.page] && this.pages[e.page].parseId ? this.pages[e.page].cached ? t(null, this.pages[e.page].data) : a("get", "https://www.youtube.com" + this.pages[e.page].parseId, function (r, o) {
  7230. var a, s, l, c;
  7231. s = r.indexOf('class="branded-page-box search-pager'), l = r.indexOf('class="branded-page-v2-secondary-col', s), a = r.substring(s, l), a = a.split('<a href="'), a[a.length - 1] && -1 !== a[a.length - 1].indexOf("»") ? (s = a[a.length - 1].indexOf("/results?q="), l = a[a.length - 1].indexOf('"', s), c = a[a.length - 1].substring(s, l).replace("&amp;", "&")) : c = "", n.pages[e.page + 1] = {
  7232. parseId: c,
  7233. cached: !1
  7234. }, a = r.slice(r.indexOf('id="item-section-'), r.indexOf('class="branded-page-box search-pager')), n.pages[e.page] = {
  7235. cached: !0,
  7236. data: i(a)
  7237. }, t(null, n.pages[e.page].data)
  7238. }) : e.page ? this.pages[e.page] && !this.pages[e.page].parseId ? t(null, []) : t({message: "wrong page number (page id not found in cache)"}) : a("get", "https://www.youtube.com/results?search_query=" + this.searchQuery, function (r, o) {
  7239. var a, s, l, c;
  7240. s = r.indexOf('class="branded-page-box search-pager'), l = r.indexOf('class="branded-page-v2-secondary-col', s), a = r.substring(s, l), a = a.split('<a href="'), a[a.length - 1] && -1 !== a[a.length - 1].indexOf("»") ? (s = a[a.length - 1].indexOf("/results?q="), l = a[a.length - 1].indexOf('"', s), c = a[a.length - 1].substring(s, l).replace("&amp;", "&")) : c = "", n.pages[e.page + 1] = {
  7241. parseId: c,
  7242. cached: !1
  7243. }, a = r.slice(r.indexOf('id="item-section-'), r.indexOf('class="branded-page-box search-pager')), n.pages[0] = {
  7244. cached: !0,
  7245. parseId: "/results?search_query=" + n.searchQuery,
  7246. data: i(a)
  7247. }, t(null, n.pages[0].data)
  7248. })
  7249. }, r.prototype.filter = function (e) {
  7250. var t = !1;
  7251. return void 0 !== e.searchQuery && this.searchQuery !== e.searchQuery && (t = !0, this.searchQuery = e.searchQuery), t ? (this.pages = {}, this.emit("content:changed", e), !0) : !1
  7252. }, e.exports = r
  7253. }, function (e, t) {
  7254. "use strict";
  7255. e.exports = function (e, t) {
  7256. var n;
  7257. return function () {
  7258. var i = this, r = arguments;
  7259. clearTimeout(n), n = setTimeout(function () {
  7260. n = null, e.apply(i, r)
  7261. }, t)
  7262. }
  7263. }
  7264. }, function (e, t, n) {
  7265. "use strict";
  7266.  
  7267. function i(e, t) {
  7268. return new r(function (n, i) {
  7269. e.onload = function () {
  7270. 200 === this.status ? n(this.responseText) : i(this.statusText)
  7271. }, e.onerror = function () {
  7272. i()
  7273. }, e.send(t)
  7274. })
  7275. }
  7276.  
  7277. var r = n(11);
  7278. e.exports = i
  7279. }, function (e, t, n) {
  7280. "use strict";
  7281. var i = "pi", r = n(16), o = new r({$node: document.getElementById(i)});
  7282. e.exports = o
  7283. }, function (e, t, n) {
  7284. "use strict";
  7285.  
  7286. function i(e) {
  7287. return "window." + e + ".id"
  7288. }
  7289.  
  7290. function r(e, t) {
  7291. var n, r = i(e), o = stbStorage.getItem(r);
  7292. if (o) try {
  7293. n = JSON.parse(stbWindowMgr.windowInfo(o)), -1 === n.result.url.indexOf(t) && stbWebWindow.messageSend(o, "window.load", t), e === d.BROWSER ? (o = stbWindowMgr.openWebFace(t), stbStorage.setItem(r, o)) : stbWindowMgr.windowShow(o)
  7294. } catch (a) {
  7295. stbWindowMgr.openWebFace(t)
  7296. } else o = e === d.BROWSER ? stbWindowMgr.openWebFace(t) : stbWindowMgr.windowInit(JSON.stringify({
  7297. url: t,
  7298. backgroundColor: "#000"
  7299. })), stbStorage.setItem(r, o);
  7300. return o
  7301. }
  7302.  
  7303. var o = n(3), a = n(2), s = n(16), l = n(15), c = n(9), u = new s({$node: document.getElementById("pl")}), d = {
  7304. PORTAL: "portal",
  7305. HELP: "help",
  7306. DOWNLOAD_MANAGER: "dlman",
  7307. PVR: "recordsManager",
  7308. BROWSER: "ibman",
  7309. BROWSER_VIEW: "ibmanView",
  7310. PORTALS_LOADER: "portalsLoader",
  7311. SYSTEM_SETTINGS: "systemSettings"
  7312. };
  7313. u.id = "pl", u.addListener("show", function () {
  7314. var e, t, n = -1, s = 0, u = {
  7315. 480: {x: 47, y: 0, w: 640, h: 432},
  7316. 576: {x: 55, y: 0, w: 637, h: 528},
  7317. 720: {x: 15, y: 0, w: 1280, h: 720},
  7318. 1080: {x: 10, y: 0, w: 1920, h: 1080}
  7319. };
  7320. l.updateView({}, "pageLogin"), t = u[window.screen.height], setTimeout(function () {
  7321. r(d.BROWSER, "file:///home/web/public/app/ibman/index.html?mode=2&view=1&url=" + encodeURIComponent(c.AUTH_URL))
  7322. }, 0), n = setInterval(function () {
  7323. var r, l = stbWindowMgr.getCurrWebUrl(), u = {};
  7324. if (e = stbStorage.getItem(i(d.BROWSER)), 0 === l.length && s > 10) {
  7325. try {
  7326. stbWebWindow.messageSend(e, "close")
  7327. } catch (h) {
  7328. }
  7329. return clearInterval(n), void a.back()
  7330. }
  7331. ++s, stbWindowMgr.SetVirtualKeyboardCoord("bottom"), stbWindowMgr.resizeWebWindow(t.x, t.y, t.w, t.h), -1 !== l.indexOf("#") && -1 !== l.indexOf("code") && (l = l.split("?")[1].replace("#", "").split("&"), l.forEach(function (e) {
  7332. r = e.split("="), u[r[0]] = r[1]
  7333. }), u.code && (clearInterval(n), stbWebWindow.messageSend(e, "close"), c.postAuth(u.code).then(function (e) {
  7334. o.settings.refreshToken = e.refreshToken, o.settings.sessionToken = e.sessionToken, o.settings.credentialsIndex = c.credentialsIndex, location.reload()
  7335. }, function () {
  7336. location.reload()
  7337. })))
  7338. }, 1e3)
  7339. }), e.exports = u
  7340. }, function (e, t, n) {
  7341. "use strict";
  7342. var i, r, o, a = n(2), s = n(1), l = n(3), c = n(16), u = "pm", d = n(15),
  7343. h = new c({$node: document.getElementById(u)});
  7344. h.addListener("keydown", function (e) {
  7345. console.log('7345');
  7346. e.code === s.info ? i.visible ? r.content.tabs[r.activeTab].activate() : i.focus() : e.code === s.f3 ? a.navigate("ps") : e.code === s.back && (a.back() || l.emit("keydown", {code: s.exit}))
  7347. }), h.addListener("show", function (e) {
  7348. r = n(21), d.updateView({
  7349. SEARCH: {icon: "search", visible: !0, text: gettext("Search")},
  7350. MORE: {icon: "more", visible: !1, text: ""},
  7351. GUIDE: {icon: "info", visible: !0, text: gettext("Guide")},
  7352. BACK: {icon: "back", visible: !0, text: gettext("Exit")}
  7353. }, "pageMain"), e.data && e.data.channel ? (o = r.activeTab, r.content.tabs[r.activeTab].hide(), r.activeTab = 1, r.content.tabs[r.activeTab].activate(e.data.channel)) : r.content.tabs.length > 0 && (o || (o = 3), r.content.tabs[r.activeTab].hide(), r.activeTab = o, r.content.tabs[r.activeTab].activate())
  7354. }), h.addListener("hide", function () {
  7355. n(8).hide()
  7356. }), h.addListener("load", function () {
  7357. r = n(21), h.add(i = n(14)), i.addListener("show", function () {
  7358. d.updateView({
  7359. SEARCH: {icon: "search", visible: !1, text: gettext("Search")},
  7360. GUIDE: {icon: "info", visible: !0, text: gettext("Close Guide")}
  7361. }, "pageMain")
  7362. }), i.addListener("hide", function () {
  7363. d.updateView({
  7364. SEARCH: {icon: "search", visible: !0, text: gettext("Search")},
  7365. GUIDE: {icon: "info", visible: !0, text: gettext("Guide")}
  7366. }, "pageMain")
  7367. }), r.content.tabs.push(n(41)), r.content.tabs.push(n(42)), r.content.tabs.push(n(44)), r.content.tabs.push(n(43)), r.content.tabs.forEach(function (e) {
  7368. h.add(e)
  7369. }), r.content.tabs[r.activeTab].activate(), n(9).token ? n(30).getMine().then(function (e) {
  7370. window.pmUserInfo.data = {disabled: !0}, window.pmUserInfo.appendChild(document.createElement("div")), window.pmUserInfo.firstChild.style.backgroundImage = "url(" + e.icon + ")", window.pmUserInfo.firstChild.classList.add("userImage"), window.pmUserInfo.appendChild(document.createElement("div")), window.pmUserInfo.children[1].innerHTML = e.title, window.pmUserInfo.children[1].classList.add("userName")
  7371. })["catch"](function (e) {
  7372. }) : window.pmUserInfo.style.display = "none"
  7373. }), e.exports = h
  7374. }, function (e, t, n) {
  7375. "use strict";
  7376.  
  7377. function i(e, t) {
  7378. return e ? (window.ppVideoParseErrorMessage.innerHTML = gettext("Video is not available"), o.hide(), l.show(), void(S = !1)) : (I.url = t.url, void s.play(t.url, {proxy: g.params.proxy}))
  7379. }
  7380.  
  7381. var r, o, a, s, l, c, u = n(16), d = n(68), h = n(6), p = new u({$node: window.pp}), f = n(2), m = n(1), g = n(3),
  7382. v = n(65), y = n(12), b = n(71), w = new b({$node: window.playerProgressBar}), T = n(15), E = n(8), x = n(52),
  7383. I = {channel: {}, video: null, playlist: null, position: 0}, S = ("MAG200" !== gSTB.GetDeviceModelExt(), !1),
  7384. N = !1;
  7385. p.addListener("show", function (e) {
  7386. T.updateView({
  7387. SEARCH: {icon: "search", visible: !0, text: gettext("Search")},
  7388. MORE: {icon: "more", visible: !1, text: gettext("More")},
  7389. GUIDE: {icon: "info", visible: !1, text: gettext("Guide")},
  7390. BACK: {icon: "back", visible: !0, text: gettext("Back")}
  7391. }), a.hide(), w.set(0), e.data && s.playContent(e.data)
  7392. }), p.addListener("load", function () {
  7393. var e = [{
  7394. icon: "home", value: gettext("To the main"), onclick: function () {
  7395. f.back()
  7396. }
  7397. }, {
  7398. icon: "player-prev", value: gettext("Previous"), onclick: function () {
  7399. I.playlist && I.playlist.length && I.position > 0 && (--I.position, s.playContent({video: I.playlist[I.position]}))
  7400. }
  7401. }, {
  7402. icon: "player-rew", value: gettext("Back"), onclick: function () {
  7403. s.rewind(!1, 10)
  7404. }
  7405. }, {
  7406. icon: "player-play", value: gettext("Play"), onclick: function () {
  7407. s.playPause(), s.isPause ? (this.$icon.className = "icon player-play", this.$text.innerText = gettext("Play")) : (this.$icon.className = "icon player-pause", this.$text.innerText = gettext("Pause"))
  7408. }
  7409. }, {
  7410. icon: "player-ff", value: gettext("Forward"), onclick: function () {
  7411. s.rewind(!0, 10)
  7412. }
  7413. }, {
  7414. icon: "player-next", value: gettext("Next"), onclick: function () {
  7415. I.playlist && I.playlist.length && I.playlist.length > I.position + 1 && (++I.position, s.playContent({video: I.playlist[I.position]}))
  7416. }
  7417. }];
  7418. n(31);
  7419. p.add(r = new h({
  7420. $node: window.playerPanelButtons,
  7421. data: e,
  7422. size: e.length,
  7423. type: h.prototype.TYPE_HORIZONTAL,
  7424. render: function (e, t) {
  7425. e.button = new d({
  7426. $node: e,
  7427. icon: t.icon,
  7428. value: t.value,
  7429. events: {click: t.onclick}
  7430. }), e.classList.add(t.icon), p.add(e.button)
  7431. },
  7432. events: {
  7433. "click:item": function (e) {
  7434. e.$item.button.emit("click")
  7435. }, keydown: function (e) {
  7436. switch (e.code) {
  7437. case m.right:
  7438. case m.left:
  7439. case m.home:
  7440. case m.end:
  7441. o.display(5), this.move(e.code);
  7442. break;
  7443. case m.ok:
  7444. this.events["click:item"] && this.emit("click:item", {$item: this.$focusItem, event: e});
  7445. break;
  7446. case m.info:
  7447. e.stop = !0, o.display();
  7448. break;
  7449. case m.up:
  7450. case m.down:
  7451. break;
  7452. case m.space:
  7453. case m.playPause:
  7454. s.playPause(), e.stop = !0;
  7455. break;
  7456. case m.forward:
  7457. s.rewind(!0, 10);
  7458. break;
  7459. case m.rewind:
  7460. s.rewind(!1, 10);
  7461. break;
  7462. case m.pageDown:
  7463. I.playlist && I.playlist.length && I.playlist.length > I.position + 1 && (++I.position, s.playContent({video: I.playlist[I.position]}));
  7464. break;
  7465. case m.pageUp:
  7466. I.playlist && I.playlist.length && I.position > 0 && (--I.position, s.playContent({video: I.playlist[I.position]}))
  7467. }
  7468. }
  7469. }
  7470. })), c = r.$body.children[3].button, a = n(45), a.addListener("show", function () {
  7471. T.updateView({
  7472. SEARCH: {icon: "search", visible: !0, text: gettext("Search")},
  7473. MORE: {visible: falseagent},
  7474. GUIDE: {icon: "info", visible: !1, text: gettext("Guide")},
  7475. BACK: {icon: "back", visible: !0, text: gettext("Back")}
  7476. })
  7477. }), a.addListener("hide", function () {
  7478. T.updateView({
  7479. SEARCH: {icon: "search", visible: !0, text: gettext("Search")},
  7480. MORE: {icon: "more", visible: !1, text: gettext("More")},
  7481. GUIDE: {visible: !1},
  7482. BACK: {icon: "back", visible: !0, text: gettext("Back")}
  7483. })
  7484. }), p.add(a), s = new v({
  7485. $node: window.playerSpace, rewindTimeout: 600, events: {
  7486. keydown: function (e) {
  7487. switch (e.code) {
  7488. case m.up:
  7489. case m.down:
  7490. case m.info:
  7491. return void o.display();
  7492. case m.ok:
  7493. case m.playPause:
  7494. case m.space:
  7495. e.stop = !0, this.playPause();
  7496. break;
  7497. case m.forward:
  7498. case m.right:
  7499. this.rewind(!0, 10);
  7500. break;
  7501. case m.rewind:
  7502. case m.left:
  7503. this.rewind(!1, 10);
  7504. break;
  7505. case m.pageDown:
  7506. I.playlist && I.playlist.length && I.position > 0 && (--I.position, s.playContent({video: I.playlist[I.position]}));
  7507. break;
  7508. case m.pageUp:
  7509. I.playlist && I.playlist.length && I.playlist.length > I.position + 1 && (++I.position, s.playContent({video: I.playlist[I.position]}))
  7510. }
  7511. }
  7512. }
  7513. }), o = new y({
  7514. $node: window.playerGrid, visible: !1, events: {
  7515. show: function () {
  7516. r.focus(), r.focusIndex(3), T.updateView({
  7517. SEARCH: {
  7518. icon: "search",
  7519. visible: !0,
  7520. text: gettext("Search")
  7521. },
  7522. MORE: {icon: "more", visible: !1, text: gettext("More")},
  7523. GUIDE: {icon: "info", visible: !1, text: gettext("Guide")},
  7524. BACK: {icon: "back", visible: !0, text: gettext("Back")}
  7525. }), T.show()
  7526. }, hide: function () {
  7527. f.current && (T.hide(), s.focus())
  7528. }
  7529. }
  7530. }), o.displayTimeout = -1, o.display = function (e) {
  7531. var t = this;
  7532. e ? (e = 1e3 * e, this.show(), this.displayTimeout && (clearTimeout(this.displayTimeout), this.displayTimeout = 0), this.displayTimeout = setTimeout(function () {
  7533. t.hide(), t.displayTimeout = 0
  7534. }, e)) : this.displayTimeout ? (clearTimeout(this.displayTimeout), this.displayTimeout = 0) : this.visible ? this.hide() : this.show()
  7535. }, p.add(s), s.add(o), g.player = s, s.playContent = function (e) {
  7536. var t;
  7537. return window.playerChannelIcon.style.visibility = "hidden", window.playerChannelName.style.visibility = "hidden", S = !0, l.hide(), E.show(), window.ppPanelPlayer.classList.remove("transparent"), e.urlParseErrorCount || (e.urlParseErrorCount = 0), void 0 !== e.channel ? I.channel = e.channel : (t = e.video.channelId === I.channel.id ? I.channel.icon : !1, I.channel = {
  7538. title: e.video.channelTitle,
  7539. id: e.video.channelId,
  7540. icon: t
  7541. }), void 0 !== e.playlist && (I.playlist = e.playlist), void 0 !== e.position && (I.position = e.position), I.video = e.video, I.video.viewCount = I.video.viewCount.replace(/./g, ""), window.playerChannelName.innerText = I.channel.title, window.playerVideoName.innerHTML = I.video.title, window.playerVideoPublishedAt.innerText = gettext("Upload date") + ": " + I.video.publishedAt, window.playerVideoViewCount.innerText = ngettext("View", "Views", +I.video.viewCount) + ": " + I.video.viewCount, a.hide(), w.set(0), o.show(), T.show(), "" === e.video.duration ? (window.ppVideoParseErrorMessage.innerHTML = gettext("Live broadcasts are not supported"), o.hide(), l.show(), void(S = !1)) : void x.getInfo("https://www.youtube.com/watch?v=" + e.video.id, function (t, n) {
  7542. var r, a, s;
  7543. if (t) return "0:00" === e.video.duration ? window.ppVideoParseErrorMessage.innerHTML = gettext("Live broadcasts are not supported") : window.ppVideoParseErrorMessage.innerHTML = gettext("Video is not available"), o.hide(), l.show(), void(S = !1);
  7544. if (0 === n.formats.length) return "0:00" === e.video.duration ? window.ppVideoParseErrorMessage.innerHTML = gettext("Live broadcasts are not supported") : window.ppVideoParseErrorMessage.innerHTML = gettext("Video is not available"), o.hide(), l.show(), void(S = !1);
  7545. for (a = 0, s = n.formats.length; s > a; ++a) n.formats[a].resolution = n.formats[a].resolution || "", "mp4" === n.formats[a].container && n.formats[a].audioBitrate && (r ? r.resolution < n.formats[a].resolution && -1 !== n.formats[a].type.indexOf("video") && (r = n.formats[a]) : -1 !== n.formats[a].type.indexOf("video") && (r = n.formats[a]));
  7546. r || (r = n.formats[0]), i(null, r)
  7547. })
  7548. }, s.addListeners({
  7549. pause: function (e) {
  7550. e.state ? (c.$icon.className = "icon player-play", c.$text.innerText = gettext("Play")) : (c.$icon.className = "icon player-pause", c.$text.innerText = gettext("Pause")), e.state ? a.visible || o.display() : o.display(5)
  7551. }, duration: function (e) {
  7552. this.rewindHelper.isActive || this.setModeHelper.active || (w.set(e.sec), window.playerCurrentDuration.innerText = e.time)
  7553. }, "playback:begin": function () {
  7554. I.urlParseErrorCount = !1, window.ppPanelPlayer.classList.add("transparent"), E.hide(), window.playerTotalDuration.innerText = I.video.duration, w.init({
  7555. value: 0,
  7556. max: gSTB.GetMediaLen()
  7557. }), I.channel.icon ? (window.playerChannelIcon.style.backgroundImage !== 'url("' + I.channel.icon + '")' && (window.playerChannelIcon.style.backgroundImage = 'url("' + I.channel.icon + '")'), window.playerChannelIcon.style.visibility = "", window.playerChannelName.style.visibility = "") : window.playerChannelIcon.style.backgroundImage = "none", c.$icon.className = "icon player-pause", c.$text.innerText = gettext("Pause"), S = !1, o.display(5), N || T.updateView({
  7558. SEARCH: {
  7559. icon: "search",
  7560. visible: !0,
  7561. text: gettext("Search")
  7562. },
  7563. MORE: {icon: "more", visible: !1, text: gettext("More")},
  7564. GUIDE: {icon: "info", visible: !1, text: gettext("Guide")},
  7565. BACK: {icon: "back", visible: !0, text: gettext("Back")}
  7566. }), N = !0
  7567. }, "get:info": function () {
  7568. window.ppPanelPlayer.classList.add("transparent"), E.hide()
  7569. }, rewind: function (e) {
  7570. var t = s.parseTime(e.time), n = "";
  7571. w.set(e.time), +t.hour && (n += t.hour + ":"), n += t.min + ":" + t.sec, window.playerCurrentDuration.innerText = n
  7572. }, "rewind:start": function () {
  7573. w.$node.classList.add("rewind"), a.visible || o.display()
  7574. }, "rewind:apply": function () {
  7575. w.$node.classList.remove("rewind"), o.display(6)
  7576. }, "position:input": function (e) {
  7577. e.start && window.playerCurrentDuration.classList.add("setMode"), e.end && window.playerCurrentDuration.classList.remove("setMode"), w.set(e.sec), window.playerCurrentDuration.innerText = e.time
  7578. }, "content:end": function () {
  7579. var e = JSON.parse(JSON.stringify(I));
  7580. e.playlist && e.playlist.length > e.position + 1 ? (++e.position, e.video = e.playlist[e.position], e.channel = {
  7581. title: e.video.channelTitle,
  7582. id: e.video.channelId
  7583. }, e.urlParseErrorCount = !1, s.playContent(e)) : o.show()
  7584. }, "content:error": function () {
  7585. I.urlParseErrorCount || (I.urlParseErrorCount = 0), I.urlParseErrorCount > 2 ? (window.ppVideoParseErrorMessage.innerHTML = gettext("Video is not available"), l.show(), S = !1) : (++I.urlParseErrorCount, S = !1, s.playContent(I))
  7586. }
  7587. }), l = new y({
  7588. $node: document.getElementById("ppVideoParseError"),
  7589. visible: !1,
  7590. focusable: !0,
  7591. events: {
  7592. show: function () {
  7593. E.hide(), o.hide(), this.focus(), window.ppPanelPlayer.classList.remove("transparent")
  7594. }, keydown: function (e) {
  7595. e.stop = !0, l.hide(), o.show()
  7596. }
  7597. }
  7598. }), window.ppVideoParseErrorHeader.innerHTML = gettext("Error playing"), window.ppVideoParseErrorMessage.innerHTML = gettext("Video is not available")
  7599. }), p.addListener("keydown", function (e) {
  7600. console.log('7600');
  7601. switch (e.code) {
  7602. case m.exit:
  7603. S && (event.stop = !0);
  7604. break;
  7605. case m.back:
  7606. a.visible ? (a.hide(), 0 === w.value ? f.back() : (T.show(), o.show())) : p.activeComponent === s ? f.back() : s.totalDurationSec === s.currentSec ? f.back() : o.hide();
  7607. break;
  7608. case m.stop:
  7609. s.stop(), s.isPause = !1, c.emit("click"),
  7610. E.hide(), window.ppPanelPlayer.classList.remove("transparent"), o.show();
  7611. break;
  7612. case m.down:
  7613. break;
  7614. case m.playPause:
  7615. s.playPause();
  7616. break;
  7617. case m.f3:
  7618. f.navigate("ps")
  7619. }
  7620. }), p.addListener("hide", function () {
  7621. E.hide(), s.stop(), o.hide(), a.hide()
  7622. }), e.exports = p
  7623. }, function (e, t, n) {
  7624. "use strict";
  7625. var i, r, o, a = "ps", s = n(1), l = n(2), c = n(16), u = n(40), d = n(13), h = n(56), p = new (n(55)), f = n(57),
  7626. m = n(15), g = (n(7), new c({$node: document.getElementById(a)})),
  7627. v = new u({$node: document.getElementById("psSearch"), $body: document.getElementById("psSearchInput")}),
  7628. y = n(8), b = !0, w = " ", T = null, E = -1;
  7629. g.addListener("keydown", function (e) {
  7630. e.code === s.back && l.back()
  7631. }), g.addListener("hide", function () {
  7632. y.hide()
  7633. }), r = f(function (e) {
  7634. w = e.value, T.model.filter({searchQuery: e.value}), clearTimeout(E), E = setTimeout(function () {
  7635. y.hide()
  7636. }, 5e3)
  7637. }, 1e3), g.addListener("show", function () {
  7638. m.updateView({
  7639. SEARCH: {icon: "search", visible: !1, text: ""},
  7640. MORE: {icon: "more", visible: !1, text: ""},
  7641. GUIDE: {icon: "info", visible: !1, text: ""},
  7642. BACK: {icon: "back", visible: !0, text: gettext("Back")}
  7643. }), y.hide(), g.activeComponent || (b && (window.psSearchIcon.style.display = "block", setTimeout(function () {
  7644. window.psSearchIcon.style.display = "inline-table"
  7645. }, 0)), null !== g.activeComponent && g.activeComponent !== v || setTimeout(function () {
  7646. v.focus()
  7647. }, 0))
  7648. }), g.addListener("load", function () {
  7649. i = n(46), v.addListener("keydown", function (e) {
  7650. console.log('7649');
  7651. e.code === s.down ? (o = v.getCaretPosition(), i.focus()) : e.code === s.up && T.visible ? (T.focus(), T.$focusItem || T.focusIndex(0)) : e.code === s.back && 0 === this.$body.value.length && l.back()
  7652. }), v.addListener("input", function (e) {
  7653. T.hide(), y.show(), r(e)
  7654. }), i.addListener("overflow", function (e) {
  7655. e.direction === s.up && v.focus()
  7656. }), i.addListener("click:item", function (e) {
  7657. "symbol" === e.$item.data.className ? (v.addChar(e.$item.data.value, o), ++o) : -1 !== e.$item.data.className.indexOf("keySpace") ? (v.addChar(" ", o), o = v.getCaretPosition()) : -1 !== e.$item.data.className.indexOf("keyDelete") ? (v.removeChar(), o = v.getCaretPosition()) : -1 !== e.$item.data.className.indexOf("delete") && (v.setValue(""), o = v.getCaretPosition())
  7658. }), i.addListener("keydown", function () {
  7659. r({value: v.value})
  7660. }), T = new d({
  7661. $node: document.getElementById("psListVideos"),
  7662. model: new h({order: "relevance"}),
  7663. size: 5,
  7664. events: {
  7665. keydown: function (e) {
  7666. switch (e.code) {
  7667. case s.down:
  7668. v.focus();
  7669. break;
  7670. case s.right:
  7671. this.$focusItem.index < this.data.length - 1 && (this.$focusItem.index > 0 ? (this.activePage++, this.renderView(this.activePage)) : this.focusIndex(1));
  7672. break;
  7673. case s.left:
  7674. this.activePage > 0 ? (this.activePage--, this.renderView(this.activePage)) : 1 === this.$focusItem.index ? this.focusIndex(0) : this.move(e.code);
  7675. break;
  7676. case s.ok:
  7677. this.emit("click:item", {$item: this.$focusItem, event: e})
  7678. }
  7679. }, "click:item": function (e) {
  7680. "video" === e.$item.data.type ? l.navigate("pp", {
  7681. video: e.$item.data,
  7682. playlist: this.data,
  7683. position: e.$item.index
  7684. }) : "playlist" === e.$item.data.type ? p.getPage({playlistId: e.$item.data.playlistId}, function (t, n) {
  7685. l.navigate("pp", {channel: e.$item.data.channel, video: n[0], playlist: n, position: 0})
  7686. }) : "channel" === e.$item.data.type && l.navigate("pm", {channel: e.$item.data})
  7687. }, "view:ready": function () {
  7688. clearTimeout(E), y.hide(), this.show(), this.focusIndex(0)
  7689. }
  7690. },
  7691. render: function (e, t) {
  7692. var n, i, r;
  7693. e.ready ? (e.$videoThumb.className = "thumb " + t.type, e.$videoThumb.style.backgroundImage = "url(" + t.icon + ")", e.$videoTitle.innerText = t.title, e.$videoTitle.className = "title " + t.type, e.$videoAthour.className = "uploader " + t.type, "video" === t.type ? (e.$videoAthour.innerText = t.locale.channelTitle, e.$viewCounter.innerText = t.locale.viewCount, e.$dateAdded.innerText = t.locale.publishedAt, e.$videoDuration.innerText = t.duration) : "channel" === t.type ? (e.$videoAthour.innerText = t.locale.subscriberCount, e.$viewCounter.innerText = "", e.$dateAdded.innerText = "", e.$videoDuration.innerText = "") : (e.$videoAthour.innerText = "", e.$viewCounter.innerText = "", e.$dateAdded.innerText = "", e.$videoDuration.innerText = ""), "playlist" === t.type ? e.$videoDuration.className = "icon playlist" : e.$videoDuration.className = "duration") : (n = document.createElement("div"), n.className = "container", e.appendChild(n), i = document.createElement("div"), i.className = "tileTop", n.appendChild(i), r = document.createElement("div"), r.className = "tileBottom", n.appendChild(r), e.$videoThumb = document.createElement("div"), e.$videoThumb.className = "thumb " + t.type, e.$videoThumb.style.backgroundImage = "url(" + t.icon + ")", i.appendChild(e.$videoThumb), e.$videoDuration = document.createElement("div"), "playlist" === t.type ? e.$videoDuration.className = "icon playlist" : e.$videoDuration.className = "duration", t.duration ? e.$videoDuration.innerText = t.duration : e.$videoDuration.innerText = "", i.appendChild(e.$videoDuration), e.$videoTitle = document.createElement("div"), e.$videoTitle.className = "title " + t.type, e.$videoTitle.innerText = t.title, r.appendChild(e.$videoTitle), e.$videoAthour = document.createElement("div"), e.$videoAthour.className = "uploader " + t.type, t.channelTitle ? e.$videoAthour.innerText = t.locale.channelTitle : "channel" === t.type ? e.$videoAthour.innerText = t.locale.subscriberCount : e.$videoAthour.innerText = t.locale.channelTitle, r.appendChild(e.$videoAthour), e.$viewCounter = document.createElement("div"), e.$viewCounter.className = "viewCount", "video" === t.type ? e.$viewCounter.innerText = t.locale.viewCount : e.$viewCounter.innerText = "", r.appendChild(e.$viewCounter), e.$dateAdded = document.createElement("div"), e.$dateAdded.className = "uploaded", "video" === t.type ? e.$dateAdded.innerText = t.locale.publishedAt : e.$dateAdded.innerText = "", r.appendChild(e.$dateAdded), e.ready = !0)
  7694. }
  7695. })
  7696. }), e.exports = g
  7697. }, function (e, t, n) {
  7698. "use strict";
  7699.  
  7700. function i(e) {
  7701. r.call(this), this.data = e || {}
  7702. }
  7703.  
  7704. var r = n(5);
  7705. i.prototype = Object.create(r.prototype), i.prototype.constructor = i, i.prototype.idName = "id", i.prototype.clear = function () {
  7706. var e = this.data;
  7707. return Object.keys(e).length > 0 ? (this.data = {}, this.events.clear && this.emit("clear", {data: e}), !0) : !1
  7708. }, i.prototype.init = function (e) {
  7709. return e ? (this.clear(), this.data = e, this.events.init && this.emit("init", {data: e}), !0) : !1
  7710. }, i.prototype.has = function (e) {
  7711. return this.data.hasOwnProperty(e)
  7712. }, i.prototype.get = function (e) {
  7713. return this.data[e]
  7714. }, i.prototype.set = function (e, t) {
  7715. var n = e in this.data, i = {name: e, curr: t};
  7716. return n ? (i.prev = this.data[e], t !== i.prev ? (this.data[e] = t, this.events.change && this.emit("change", i), !0) : !1) : (this.data[e] = t, this.events.change && this.emit("change", i), !0)
  7717. }, i.prototype.unset = function (e) {
  7718. var t, n = e in this.data;
  7719. return n ? (t = {
  7720. name: e,
  7721. prev: this.data[e]
  7722. }, delete this.data[e], this.events.change && this.emit("change", t), !0) : !1
  7723. }, e.exports = i
  7724. }, function (e, t, n) {
  7725. "use strict";
  7726.  
  7727. function i(e) {
  7728. var t = this;
  7729. this.isPLaying = !1, this.isPause = !1, this.totalDuration = "", this.totalDurationSec = 0, this.currentTime = "", this.currentSec = 0, this.rewindHelper = {
  7730. isActive: !1,
  7731. startTime: 0,
  7732. time: 0,
  7733. timeout: 0,
  7734. duration: void 0,
  7735. timeoutDuration: !1
  7736. }, this.setModeHelper = {
  7737. active: !1,
  7738. timeout: 0,
  7739. time: 0,
  7740. timeStr: "",
  7741. count: 0,
  7742. length: 0,
  7743. sec: 0,
  7744. timeoutDuration: 0
  7745. }, this.audioPIDs = [], this.currentAudioPID = 0, this.activeAspect = 0, this.subtitlePIDs = [], this.currentSubtitle = null, this.durationInterval = 0, this.allowInputPosition = !0, e = e || {}, a.call(this, e), this.$node.classList.add("player"), this.init(e), r.addListener("media", function (e) {
  7746. i.prototype.mediaListener.call(t, e)
  7747. })
  7748. }
  7749.  
  7750. var r = n(3), o = n(1), a = n(4);
  7751. i.prototype = Object.create(a.prototype), i.prototype.constructor = i, i.prototype.ASPECT_TYPE_FIT = 16, i.prototype.ASPECT_TYPE_BIG = 64, i.prototype.ASPECT_TYPE_OPTIMAL = 80, i.prototype.ASPECT_TYPE_ZOOM = 0, i.prototype.aspects = [{
  7752. name: "fit",
  7753. mode: i.prototype.ASPECT_TYPE_FIT
  7754. }, {name: "big", mode: i.prototype.ASPECT_TYPE_BIG}, {
  7755. name: "opt",
  7756. mode: i.prototype.ASPECT_TYPE_OPTIMAL
  7757. }, {
  7758. name: "exp",
  7759. mode: i.prototype.ASPECT_TYPE_ZOOM
  7760. }], i.prototype.STEREO_MODE_OFF = 0, i.prototype.STEREO_MODE_OVER_UNDER = 1, i.prototype.STEREO_MODE_OVER_UNDER_HD = 2, i.prototype.STEREO_MODE_SIDE_BY_SIDE = 3, i.prototype.stereoModes = [{
  7761. mode: i.prototype.STEREO_MODE_OFF,
  7762. name: "Off"
  7763. }, {mode: i.prototype.STEREO_MODE_OVER_UNDER, name: "Over-Under"}, {
  7764. mode: i.prototype.STEREO_MODE_OVER_UNDER_HD,
  7765. name: "Over-Under HD"
  7766. }, {
  7767. mode: i.prototype.STEREO_MODE_SIDE_BY_SIDE,
  7768. name: "Side-by-side"
  7769. }], i.prototype.defaultEvents = {
  7770. keydown: function (e) {
  7771. switch (e.code) {
  7772. case o.ok:
  7773. case o.playPause:
  7774. this.playPause();
  7775. break;
  7776. case o.stop:
  7777. this.stop();
  7778. break;
  7779. case o.forward:
  7780. case o.right:
  7781. this.rewind(!0);
  7782. break;
  7783. case o.rewind:
  7784. case o.left:
  7785. this.rewind(!1);
  7786. break;
  7787. case o.f4:
  7788. case 117:
  7789. this.nextAspect();
  7790. break;
  7791. case o.f1:
  7792. this.nextAudioTrack();
  7793. break;
  7794. case o.f2:
  7795. this.nextSubtitle();
  7796. break;
  7797. case o.f3:
  7798. this.nextViewMode();
  7799. break;
  7800. case 48:
  7801. case 49:
  7802. case 50:
  7803. case 51:
  7804. case 52:
  7805. case 53:
  7806. case 54:
  7807. case 55:
  7808. case 56:
  7809. case 57:
  7810. case 58:
  7811. this.inputPosition(e.code)
  7812. }
  7813. }
  7814. }, i.prototype.mediaListener = function (e) {
  7815. var t, n, i, o, a, s, l = this, c = {};
  7816. switch (e.code) {
  7817. case r.EVENT_PLAYBACK_BEGIN:
  7818. l.isPLaying = !0, l.durationInterval && (clearInterval(l.durationInterval), l.durationInterval = 0), l.durationInterval = setInterval(function () {
  7819. l.events.duration && (l.currentSec = gSTB.GetPosTime(), n = l.parseTime(l.currentSec), l.currentTime = (n.hour > 0 ? n.hour + ":" : "") + n.min + ":" + n.sec, l.emit("duration", {
  7820. sec: l.currentSec,
  7821. time: l.currentTime
  7822. }))
  7823. }, 1e3), l.events["playback:begin"] && l.emit("playback:begin");
  7824. break;
  7825. case r.EVENT_GET_MEDIA_INFO:
  7826. l.totalDurationSec = gSTB.GetMediaLen(), l.totalDurationSec > 3600 ? l.setModeHelper.length = 6 : l.setModeHelper.length = 4, t = l.parseTime(gSTB.GetMediaLen()), l.totalDuration = (t.hour > 0 ? t.hour + ":" : "") + t.min + ":" + t.sec, c.totalDuration = l.totalDuration, c.totalDurationSec = l.totalDurationSec;
  7827. try {
  7828. a = gSTB.GetAudioPIDs().replace(/pid:/g, '"pid":').replace(/lang:/g, '"lang":'), l.audioPIDs = JSON.parse(a)
  7829. } catch (u) {
  7830. }
  7831. try {
  7832. s = gSTB.GetSubtitlePIDs().replace(/pid:/g, '"pid":').replace(/lang:/g, '"lang":'), l.subtitlePIDs = JSON.parse(s)
  7833. } catch (u) {
  7834. }
  7835. l.currentAudioPID = 0, "" !== l.audioPIDs[0].lang[0] ? c.audioPid = l.audioPIDs[0].lang[0] : c.audioPid = void 0, l.currentSubtitle = null, c.subtitles = null, c.stereoMode = {
  7836. type: gSTB.Get3DConversionMode(),
  7837. name: l.stereoModes[gSTB.Get3DConversionMode()].name
  7838. }, l.events["get:info"] && l.emit("get:info", c);
  7839. break;
  7840. case r.EVENT_CONTENT_ERROR:
  7841. l.isPLaying = !1, l.events["content:error"] && l.emit("content:error");
  7842. break;
  7843. case r.EVENT_END_OF_FILE:
  7844. l.currentSec = l.totalDurationSec, l.isPLaying = !1, l.events["content:end"] && l.emit("content:end");
  7845. break;
  7846. case r.EVENT_SUBTITLE_LOAD_ERROR:
  7847. l.subtitlePIDs.pop();
  7848. break;
  7849. case r.EVENT_HDMI_DISCONNECT:
  7850. if (i = parseInt(JSON.parse(gSTB.GetEnv('{"varList":["hdmi_event_delay"]}')).result.hdmi_event_delay, 10), 0 === i) return;
  7851. l.hdmiEventTimeout = setTimeout(function () {
  7852. l.isPLaying && stbStorage.setItem("standByPlayback", JSON.stringify({
  7853. url: l.playUrl,
  7854. position: l.currentSec
  7855. })), gSTB.StandBy(!0), l.hdmiEventTimeout = null
  7856. }, i);
  7857. break;
  7858. case r.EVENT_HDMI_CONNECT:
  7859. if (i = parseInt(JSON.parse(gSTB.GetEnv('{"varList":["hdmi_event_delay"]}')).result.hdmi_event_delay, 10), 0 === i) return;
  7860. if (l.hdmiEventTimeout) return clearTimeout(l.hdmiEventTimeout), void(l.hdmiEventTimeout = null);
  7861. gSTB.StandBy(!1), o = JSON.parse(stbStorage.getItem("standByPlayback")), i && (l.play(o.url, {position: o.position}), stbStorage.removeItem("standByPlayback"))
  7862. }
  7863. }, i.prototype.init = function (e) {
  7864. e.allowInputPosition && (this.allowInputPosition = e.allowInputPosition), e.rewindDuration && (this.rewindHelper.duration = e.rewindDuration), e.rewindTimeout && (this.rewindHelper.timeoutDuration = e.rewindTimeout), e.inputPositionTimeout && (this.setModeHelper.timeoutDuration = e.inputPositionTimeout), gSTB.InitPlayer(), gSTB.SetAspect(16), gSTB.SetVideoControl(0), gSTB.SetVideoState(0), gSTB.SetMode(0), gSTB.SetWinAlphaLevel(0, 255), gSTB.SetWinAlphaLevel(1, 255), gSTB.SetPIG(1, 0, 0, 0), gSTB.Set3DConversionMode(0), gSTB.SetTopWin(0)
  7865. }, i.prototype.play = function (e, t) {
  7866. var n, i;
  7867. this.totalDurationSec = 0, this.currentSec = 0, this.playUrl = e, t = t || {}, n = t.solution ? t.solution : "auto", i = t.position ? " position:" + t.position : "", gSTB.Play(n + " " + e + i, t.proxy)
  7868. }, i.prototype.stop = function () {
  7869. gSTB.Stop(), clearInterval(this.durationInterval), this.isPLaying = !1, this.isPause = !1
  7870. }, i.prototype.playPause = function () {
  7871. this.isPause ? gSTB.Continue() : gSTB.Pause(), this.isPause = !this.isPause, this.events.pause && this.emit("pause", {state: this.isPause})
  7872. }, i.prototype.rewind = function (e, t) {
  7873. var n, i = this;
  7874. t = t || this.rewindHelper.duration || 15, this.rewindHelper.isActive || (this.currentSec = gSTB.GetPosTime(), n = i.parseTime(i.currentSec), this.currentTime = (n.hour > 0 ? n.hour + ":" : "") + n.min + ":" + n.sec, this.rewindHelper.isActive = !0, this.rewindHelper.startTime = this.currentSec, this.rewindHelper.time = this.currentSec, this.events["rewind:start"] && this.emit("rewind:start")), e ? this.rewindHelper.time + t < this.totalDurationSec ? this.rewindHelper.time += t : this.rewindHelper.time = this.totalDurationSec : this.rewindHelper.time - t > 0 ? this.rewindHelper.time -= t : this.rewindHelper.time = 0, this.rewindHelper.timeout && clearTimeout(this.rewindHelper.timeout), this.events.rewind && this.emit("rewind", {
  7875. time: this.rewindHelper.time,
  7876. shift: this.rewindHelper.time - this.rewindHelper.startTime
  7877. }), this.rewindHelper.timeoutDuration ? this.rewindHelper.timeout = setTimeout(function () {
  7878. return clearInterval(i.durationInterval), i.durationInterval = 0, i.rewindHelper.isActive = !1, i.events["rewind:apply"] && i.emit("rewind:apply"), i.currentSec = i.rewindHelper.time, i.rewindHelper.timeout = 0, i.rewindHelper.time === i.totalDurationSec ? void(i.events["content:end"] && i.emit("content:end")) : void gSTB.SetPosTime(i.rewindHelper.time)
  7879. }, this.rewindHelper.timeoutDuration) : (clearInterval(i.durationInterval), i.durationInterval = 0, gSTB.SetPosTime(i.rewindHelper.time), i.currentSec = i.rewindHelper.time, i.rewindHelper.isActive = !1, i.events["rewind:apply"] && i.emit("rewind:apply"))
  7880. }, i.prototype.nextAudioTrack = function () {
  7881. return this.audioPIDs.length <= 1 ? !1 : (this.currentAudioPID < this.audioPIDs.length - 1 ? this.currentAudioPID++ : this.currentAudioPID = 0, gSTB.SetAudioPID(this.audioPIDs[this.currentAudioPID].pid), this.events["audio:track"] && this.emit("audio:track", {
  7882. lang: this.audioPIDs[this.currentAudioPID].lang[0],
  7883. pid: this.audioPIDs[this.currentAudioPID].pid
  7884. }), !0)
  7885. }, i.prototype.setAudioTrack = function (e) {
  7886. gSTB.SetAudioPID(this.audioPIDs[e].pid), this.currentAudioPID = e, this.events["audio:track"] && this.emit("audio:track", {
  7887. lang: this.audioPIDs[this.currentAudioPID].lang[0],
  7888. pid: this.audioPIDs[this.currentAudioPID].pid
  7889. })
  7890. }, i.prototype.nextAspect = function () {
  7891. this.activeAspect++, this.activeAspect > this.aspects.length - 1 && (this.activeAspect = 0), gSTB.SetAspect(this.aspects[this.activeAspect].mode), this.events["aspect:change"] && this.emit("aspect:change", {
  7892. type: this.aspects[this.activeAspect].mode,
  7893. name: this.aspects[this.activeAspect].name
  7894. })
  7895. }, i.prototype.setAspect = function (e) {
  7896. this.activeAspect = e, gSTB.SetAspect(this.aspects[this.activeAspect].mode), this.events["aspect:change"] && this.emit("aspect:change", {
  7897. type: this.aspects[this.activeAspect].type,
  7898. name: this.aspects[this.activeAspect].name
  7899. })
  7900. }, i.prototype.nextSubtitle = function () {
  7901. return this.subtitlePIDs.length <= 0 ? (this.events["subtitles:change"] && this.emit("subtitles:change", null), !1) : (null === this.currentSubtitle ? this.currentSubtitle = 0 : this.currentSubtitle < this.subtitlePIDs.length - 1 ? this.currentSubtitle++ : this.currentSubtitle = null, null !== this.currentSubtitle ? (gSTB.SetSubtitlePID(this.subtitlePIDs[this.currentSubtitle].pid), gSTB.SetSubtitles(!0), this.events["subtitles:change"] && this.emit("subtitles:change", {
  7902. lang: this.subtitlePIDs[this.currentSubtitle].lang[0],
  7903. pid: this.subtitlePIDs[this.currentSubtitle].pid
  7904. })) : (gSTB.SetSubtitles(!1), this.events["subtitles:change"] && this.emit("subtitles:change", null)), !0)
  7905. }, i.prototype.setSubtitle = function (e) {
  7906. gSTB.SetSubtitlePID(this.subtitlePIDs[e].pid), gSTB.SetSubtitles(!0), this.currentSubtitle = e, this.events["subtitles:change"] && this.emit("subtitles:change", {
  7907. lang: this.subtitlePIDs[this.currentSubtitle].lang[0],
  7908. pid: this.subtitlePIDs[this.currentSubtitle].pid
  7909. })
  7910. }, i.prototype.hideSubtitles = function () {
  7911. gSTB.SetSubtitles(!1), this.events["subtitles:change"] && this.emit("subtitles:change", null)
  7912. }, i.prototype.loadExternalSubtitle = function (e) {
  7913. e && "string" == typeof e && (gSTB.LoadExternalSubtitles(e), this.subtitlePIDs.push({pid: 8192}), this.events["subtitles:load"] && this.emit("subtitles:load", null))
  7914. }, i.prototype.nextViewMode = function () {
  7915. var e = gSTB.Get3DConversionMode();
  7916. 3 > e ? e++ : e = 0, gSTB.Set3DConversionMode(e), this.events["viewmode:change"] && this.emit("viewmode:change", {
  7917. type: this.stereoModes[e].mode,
  7918. name: this.stereoModes[e].name
  7919. })
  7920. }, i.prototype.setViewMode = function (e) {
  7921. e > 0 && 3 >= e && (gSTB.Set3DConversionMode(e), this.events["viewmode:change"] && this.emit("viewmode:change", {
  7922. type: this.stereoModes[e].mode,
  7923. name: this.stereoModes[e].name
  7924. }))
  7925. }, i.prototype.inputPosition = function (e) {
  7926. var t, n, i, r, o, a = this, s = parseInt(e, 10) - 48, l = [], c = 0;
  7927. this.allowInputPosition && (this.setModeHelper.active || (6 === this.setModeHelper.length ? this.setModeHelper.time = [0, 0, 0, 0, 0, 0] : this.setModeHelper.time = [0, 0, 0, 0], this.setModeHelper.count = 0, this.setModeHelper.active = !0, 6 === this.setModeHelper.length ? this.events["position:input"] && this.emit("position:input", {
  7928. time: "00:00:00",
  7929. start: !0,
  7930. sec: 0
  7931. }) : this.events["position:input"] && this.emit("position:input", {
  7932. time: "00:00",
  7933. start: !0,
  7934. sec: 0
  7935. })), this.setModeHelper.count <= this.setModeHelper.length && (this.setModeHelper.time.shift(), this.setModeHelper.time.push(s), l = this.setModeHelper.time.slice(0, this.setModeHelper.length + 1), 6 === this.setModeHelper.length ? this.setModeHelper.timeStr = l[0].toString() + l[1].toString() + ":" + l[2].toString() + l[3].toString() + ":" + l[4].toString() + l[5].toString() : this.setModeHelper.timeStr = l[0].toString() + l[1].toString() + ":" + l[2].toString() + l[3].toString(), this.setModeHelper.count++, 6 === this.setModeHelper.length && (i = l.shift() + l.shift().toString(), c += 3600 * parseInt(i, 10)), r = l.shift() + l.shift().toString(), c += 60 * parseInt(r, 10), o = l.shift() + l.shift().toString(), c += parseInt(o, 10), c > this.totalDurationSec && (c = this.totalDurationSec), this.setModeHelper.sec = c, this.events["position:input"] && this.emit("position:input", {
  7936. time: a.setModeHelper.timeStr,
  7937. sec: c
  7938. })), clearTimeout(this.setModeHelper.timeout), t = this.setModeHelper.timeoutDuration ? this.setModeHelper.timeoutDuration : 2e3, this.setModeHelper.timeout = setTimeout(function () {
  7939. a.setModeHelper.active = !1, clearInterval(a.durationInterval), a.durationInterval = 0, gSTB.SetPosTime(a.setModeHelper.sec), a.currentSec = a.setModeHelper.sec, n = a.parseTime(a.currentSec), a.currentTime = (n.hour > 0 ? n.hour + ":" : "") + n.min + ":" + n.sec, a.events["position:input"] && a.emit("position:input", {
  7940. time: a.setModeHelper.timeStr,
  7941. sec: a.setModeHelper.sec,
  7942. end: !0
  7943. })
  7944. }, t))
  7945. }, i.prototype.setPosition = function (e) {
  7946. var t;
  7947. gSTB.SetPosTime(e), this.currentSec = e, t = self.parseTime(self.currentSec), this.currentTime = (t.hour > 0 ? t.hour + ":" : "") + t.min + ":" + t.sec, this.events["position:set"] && this.emit("position:set", {sec: e})
  7948. }, i.prototype.parseTime = function (e) {
  7949. var t, n, i;
  7950. return e >= 0 ? (t = Math.floor(e / 3600), n = Math.floor((e - 3600 * t) / 60), i = e - 3600 * t - 60 * n, 10 > t && (t = "0" + t), 10 > i && (i = "0" + i), 10 > n && (n = "0" + n)) : (e = Math.abs(e), t = Math.floor(e / 3600), n = Math.floor((e - 3600 * t) / 60), i = e - 3600 * t - 60 * n, 10 > t && (t = "0" + t), 10 > i && (i = "0" + i), 10 > n && (n = "0" + n), t = "-" + t), {
  7951. hour: t,
  7952. min: n,
  7953. sec: i
  7954. }
  7955. }, i.prototype.addListener = function (e, t) {
  7956. var n;
  7957. a.prototype.addListener.call(this, e, t), "duration" === e && (this.currentSec = gSTB.GetPosTime(), n = this.parseTime(this.currentSec), this.currentTime = (n.hour > 0 ? n.hour + ":" : "") + n.min + ":" + n.sec, this.emit("duration", {
  7958. sec: this.currentSec,
  7959. time: this.currentTime
  7960. }))
  7961. }, e.exports = i
  7962. }, function (e, t) {
  7963. "use strict";
  7964. if (!("classList" in document.documentElement)) {
  7965. var n = Array.prototype, i = n.indexOf, r = n.slice, o = n.push, a = n.splice, s = n.join;
  7966. window.DOMTokenList = function (e) {
  7967. if (this._element = e, e.className !== this._classCache) {
  7968. if (this._classCache = e.className, !this._classCache) return;
  7969. var t, n = this._classCache.replace(/^\s+|\s+$/g, "").split(/\s+/);
  7970. for (t = 0; t < n.length; t++) o.call(this, n[t])
  7971. }
  7972. }, window.DOMTokenList.prototype = {
  7973. add: function (e) {
  7974. this.contains(e) || (o.call(this, e), this._element.className = r.call(this, 0).join(" "))
  7975. }, contains: function (e) {
  7976. return -1 !== i.call(this, e)
  7977. }, item: function (e) {
  7978. return this[e] || null
  7979. }, remove: function (e) {
  7980. var t = i.call(this, e);
  7981. -1 !== t && (a.call(this, t, 1), this._element.className = r.call(this, 0).join(" "))
  7982. }, toString: function () {
  7983. return s.call(this, " ")
  7984. }, toggle: function (e) {
  7985. return this.contains(e) ? this.remove(e) : this.add(e), this.contains(e)
  7986. }
  7987. }, Object.defineProperty(Element.prototype, "classList", {
  7988. get: function () {
  7989. return new window.DOMTokenList(this)
  7990. }
  7991. })
  7992. }
  7993. }, function (e, t) {
  7994. "use strict";
  7995. e.exports = function (e) {
  7996. var t = {};
  7997. return e.split("&").forEach(function (e) {
  7998. e = e.split("="), 2 === e.length && (t[e[0]] = decodeURIComponent(e[1]))
  7999. }), t
  8000. }
  8001. }, function (e, t, n) {
  8002. "use strict";
  8003.  
  8004. function i(e) {
  8005. e = e || {}, e.className = "button " + (e.className || ""), r.call(this, e), e.icon && (this.$icon = this.$body.appendChild(document.createElement("div")), this.$icon.className = "icon " + e.icon), this.$text = this.$body.appendChild(document.createElement("div")), this.$text.classList.add("text"), e.value && (this.$text.innerText = e.value)
  8006. }
  8007.  
  8008. var r = n(4), o = n(1);
  8009. i.prototype = Object.create(r.prototype), i.prototype.constructor = i, i.prototype.clickDuration = 200, i.prototype.defaultEvents = {
  8010. click: function () {
  8011. var e = this;
  8012. this.$node.classList.add("click"), setTimeout(function () {
  8013. e.$node.classList.remove("click")
  8014. }, this.clickDuration)
  8015. }, keydown: function (e) {
  8016. e.code === o.ok && this.events.click && this.emit("click", {event: e})
  8017. }
  8018. }, e.exports = i
  8019. }, function (e, t, n) {
  8020. "use strict";
  8021.  
  8022. function i(e) {
  8023. e = e || {}, this.map = [], this.$focusItem = null, this.data = [], this.cycleX = !0, this.cycleY = !0, this.focusX = 0, this.focusY = 0, e.className = "grid " + (e.className || ""), s.call(this, e), this.init(e)
  8024. }
  8025.  
  8026. function r(e) {
  8027. var t, n, i;
  8028. for (t = 0; t < e.length; t++) for (n = 0; n < e[t].length; n++) i = e[t][n], "object" != typeof i ? i = e[t][n] = {
  8029. value: e[t][n],
  8030. colSpan: 1,
  8031. rowSpan: 1
  8032. } : (i.colSpan = i.colSpan || 1, i.rowSpan = i.rowSpan || 1);
  8033. return e
  8034. }
  8035.  
  8036. function o(e, t, n, i, r, o) {
  8037. var a, s;
  8038. for (a = n; n + r > a; a++) {
  8039. for (e.length < a + 1 && e.push([]); void 0 !== e[a][t];) t++;
  8040. for (s = t; t + i > s; s++) e[a].length < s + 1 && e[a].push(), e[a][s] = o, void 0 === o.x && (o.x = s), void 0 === o.y && (o.y = a)
  8041. }
  8042. }
  8043.  
  8044. function a(e) {
  8045. var t, n, i, r = [];
  8046. for (t = 0; t < e.length; t++) for (n = 0; n < e[t].length; n++) i = e[t][n], o(r, n, t, i.colSpan, i.rowSpan, i.$item), delete i.$item;
  8047. return r
  8048. }
  8049.  
  8050. var s = n(4), l = n(1);
  8051. i.prototype = Object.create(s.prototype), i.prototype.constructor = i, i.prototype.renderItemDefault = function (e, t) {
  8052. e.innerText = t.value
  8053. }, i.prototype.renderItem = i.prototype.renderItemDefault, i.prototype.defaultEvents = {
  8054. mousewheel: function (e) {
  8055. e.wheelDeltaY && this.move(e.wheelDeltaY > 0 ? l.up : l.down), e.wheelDeltaX && this.move(e.wheelDeltaX > 0 ? l.left : l.right)
  8056. }, keydown: function (e) {
  8057. switch (e.code) {
  8058. case l.up:
  8059. case l.down:
  8060. case l.right:
  8061. case l.left:
  8062. this.move(e.code);
  8063. break;
  8064. case l.ok:
  8065. this.events["click:item"] && this.emit("click:item", {$item: this.$focusItem, event: e})
  8066. }
  8067. }
  8068. }, i.prototype.init = function (e) {
  8069. var t, n, i, o, s, l, c, u, d = this, h = !1, p = function (e) {
  8070. this.data.disable !== !0 && (d.focusItem(this), d.events["click:item"] && d.emit("click:item", {
  8071. $item: this,
  8072. event: e
  8073. }))
  8074. }, f = function (u) {
  8075. if (u && d.data !== u && (d.data = u, h = !0), e.render && d.renderItem !== e.render && (d.renderItem = e.render, h = !0), h) {
  8076. for (d.$table = document.createElement("table"), s = document.createElement("tbody"), d.data = r(d.data), t = 0; t < d.data.length; t++) {
  8077. for (i = s.insertRow(), n = 0; n < d.data[t].length; n++) o = i.insertCell(-1), o.className = "item", c = d.data[t][n], c.$item = o, o.colSpan = c.colSpan, o.rowSpan = c.rowSpan, c.focus && (l = o), c.disable && o.classList.add("disable"), c.mark && o.classList.add("mark"), d.renderItem(o, c), o.data = c, o.addEventListener("click", p);
  8078. s.appendChild(i)
  8079. }
  8080. d.map = a(d.data), d.$body.innerText = null, d.$table.appendChild(s), d.$body.appendChild(d.$table), l ? d.focusItem(l) : d.focusItem(d.map[0][0])
  8081. }
  8082. };
  8083. void 0 !== e.cycleX && (this.cycleX = e.cycleX), void 0 !== e.cycleY && (this.cycleY = e.cycleY), e.provider && (this.provider = e.provider, this.sizeX = e.sizeX, this.sizeY = e.sizeY), e.translate && (this.translate = e.translate), e.provider ? (u = this.provider.get(null, function (e, t) {
  8084. e && d.events["data:error"] && d.emit("data:error", e), f(d.translate(t)), d.events["data:ready"] && d.emit("data:ready")
  8085. }), this.events["data:get"] && this.emit("data:get", {fresh: u})) : f(e.data)
  8086. }, i.prototype.defaultTranslate = function (e) {
  8087. var t, n, i, r = [];
  8088. for (t = 0; t < this.sizeY; t++) {
  8089. for (i = [], n = 0; n < this.sizeX; n++) i[n] = e[t * this.sizeX + n];
  8090. r[t] = i
  8091. }
  8092. return r
  8093. }, i.prototype.translate = i.prototype.defaultTranslate, i.prototype.move = function (e) {
  8094. for (var t, n, i, r = this.focusX, o = this.focusY, a = !0, s = !1, c = !1; a;) {
  8095. switch (e) {
  8096. case l.up:
  8097. o > 0 ? o-- : (this.cycleY && (o = this.map.length - 1, c = !0), s = !0);
  8098. break;
  8099. case l.down:
  8100. o < this.map.length - 1 ? o++ : (this.cycleY && (o = 0, c = !0), s = !0);
  8101. break;
  8102. case l.right:
  8103. r < this.map[o].length - 1 ? r++ : (this.cycleX && (r = 0, c = !0), s = !0);
  8104. break;
  8105. case l.left:
  8106. r > 0 ? r-- : (this.cycleX && (r = this.map[o].length - 1, c = !0), s = !0)
  8107. }
  8108. r === this.focusX && o === this.focusY && (a = !1), this.map[o][r] !== this.map[this.focusY][this.focusX] && this.map[o][r].data.disable !== !0 && (a = !1), s && (a = !1, this.map[o][r].data.disable === !0 && (r = this.focusX, o = this.focusY))
  8109. }
  8110. this.focusItem(this.map[o][r]), this.focusX = r, this.focusY = o, s && (this.provider && (t = this.provider.get(e, function (e, t) {
  8111. if (e && self.events["data:error"]) return self.emit("data:error", e), !1;
  8112. if (t) {
  8113. for (self.data = self.translate(t), n = 0; n < self.sizeY - 1; n++) for (i = 0; i < self.sizeX; i++) self.renderItem(self.map[n][i], self.data[n][i]);
  8114. self.events["data:ready"] && self.emit("data:ready")
  8115. }
  8116. }), this.events["data:get"] && this.emit("data:get", {fresh: t})), this.events.overflow && this.emit("overflow", {
  8117. direction: e,
  8118. cycle: c
  8119. }))
  8120. }, i.prototype.focusItem = function (e) {
  8121. var t = this.$focusItem;
  8122. return e && t !== e && e.data.disable !== !0 ? (null !== t && (t.classList.remove("focus"), this.events["blur:item"] && this.emit("blur:item", {$item: t})), this.focusX = e.x, this.focusY = e.y, this.$focusItem = e, e.classList.add("focus"), this.events["focus:item"] && this.emit("focus:item", {
  8123. $prev: t,
  8124. $curr: e
  8125. }), !0) : !1
  8126. }, i.prototype.markItem = function (e, t) {
  8127. t ? e.classList.add("mark") : e.classList.remove("mark"), e.data.mark = t
  8128. }, e.exports = i
  8129. }, function (e, t, n) {
  8130. "use strict";
  8131.  
  8132. function i(e) {
  8133. e = e || {}, e.className = "modalBox " + (e.className || ""), e.$body = document.createElement("div"), e.$body.className = "body", r.call(this, e), this.$node.appendChild(document.createElement("div").appendChild(this.$body).parentNode)
  8134. }
  8135.  
  8136. var r = n(4);
  8137. i.prototype = Object.create(r.prototype), i.prototype.constructor = i, e.exports = i
  8138. }, function (e, t, n) {
  8139. "use strict";
  8140.  
  8141. function i(e) {
  8142. e = e || {}, this.max = 100, this.min = 0, this.value = 0, this.step = 1, e.focusable = e.focusable || !1, e.className = "progressBar " + (e.className || ""), r.call(this, e), this.$value = this.$body.appendChild(document.createElement("div")), this.$value.className = "value", this.init(e)
  8143. }
  8144.  
  8145. var r = n(4);
  8146. i.prototype = Object.create(r.prototype), i.prototype.constructor = i, i.prototype.set = function (e) {
  8147. var t = this.value;
  8148. return this.value !== e && e <= this.max && e >= this.min ? (this.value = e, e = Math.abs(this.value - this.min) / this.step, 100 === e && this.events.done && this.emit("done"), this.$value.style.width = e + "%", this.events.change && this.emit("change", {
  8149. curr: this.value,
  8150. prev: t
  8151. }), !0) : !1
  8152. }, i.prototype.init = function (e) {
  8153. void 0 !== e.max && (this.max = e.max), void 0 !== e.min && (this.min = e.min), void 0 !== e.value && (this.value = e.value), this.step = Math.abs(this.max - this.min) / 100, this.$value.style.width = Math.abs(this.min - this.value) / this.step + "%"
  8154. }, e.exports = i
  8155. }]);
Add Comment
Please, Sign In to add comment