Created
May 7, 2019 18:21
-
-
Save FinnT730/80f7ef31371ad4c2a7dcde4ecfa2abb6 to your computer and use it in GitHub Desktop.
..
This file has been truncated, but you can view the full file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ! function (e) { | |
| var t = {}; | |
| function i(r) { | |
| if (t[r]) return t[r].exports; | |
| var n = t[r] = { | |
| i: r, | |
| l: !1, | |
| exports: {} | |
| }; | |
| return e[r].call(n.exports, n, n.exports, i), n.l = !0, n.exports | |
| } | |
| i.m = e, i.c = t, i.d = function (e, t, r) { | |
| i.o(e, t) || Object.defineProperty(e, t, { | |
| enumerable: !0, | |
| get: r | |
| }) | |
| }, i.r = function (e) { | |
| "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { | |
| value: "Module" | |
| }), Object.defineProperty(e, "__esModule", { | |
| value: !0 | |
| }) | |
| }, i.t = function (e, t) { | |
| if (1 & t && (e = i(e)), 8 & t) return e; | |
| if (4 & t && "object" == typeof e && e && e.__esModule) return e; | |
| var r = Object.create(null); | |
| if (i.r(r), Object.defineProperty(r, "default", { | |
| enumerable: !0, | |
| value: e | |
| }), 2 & t && "string" != typeof e) | |
| for (var n in e) i.d(r, n, function (t) { | |
| return e[t] | |
| }.bind(null, n)); | |
| return r | |
| }, i.n = function (e) { | |
| var t = e && e.__esModule ? function () { | |
| return e.default | |
| } : function () { | |
| return e | |
| }; | |
| return i.d(t, "a", t), t | |
| }, i.o = function (e, t) { | |
| return Object.prototype.hasOwnProperty.call(e, t) | |
| }, i.p = "/", i(i.s = 228) | |
| }([function (e, t, i) { | |
| var r = i(5), | |
| n = i(14), | |
| o = i(23), | |
| s = i(19), | |
| a = i(34), | |
| c = function e(t, i, c) { | |
| var h, u, l, f, d = t & e.F, | |
| p = t & e.G, | |
| m = t & e.P, | |
| g = t & e.B, | |
| _ = p ? r : t & e.S ? r[i] || (r[i] = {}) : (r[i] || {}).prototype, | |
| v = p ? n : n[i] || (n[i] = {}), | |
| y = v.prototype || (v.prototype = {}); | |
| for (h in p && (c = i), c) l = ((u = !d && _ && void 0 !== _[h]) ? _ : c)[h], f = g && u ? a(l, r) : m && "function" == typeof l ? a(Function.call, l) : l, _ && s(_, h, l, t & e.U), v[h] != l && o(v, h, f), m && y[h] != l && (y[h] = l) | |
| }; | |
| r.core = n, c.F = 1, c.G = 2, c.S = 4, c.P = 8, c.B = 16, c.W = 32, c.U = 64, c.R = 128, e.exports = c | |
| }, function (e, t) { | |
| "function" == typeof Object.create ? e.exports = function (e, t) { | |
| e.super_ = t, e.prototype = Object.create(t.prototype, { | |
| constructor: { | |
| value: e, | |
| enumerable: !1, | |
| writable: !0, | |
| configurable: !0 | |
| } | |
| }) | |
| } : e.exports = function (e, t) { | |
| e.super_ = t; | |
| var i = function () {}; | |
| i.prototype = t.prototype, e.prototype = new i, e.prototype.constructor = e | |
| } | |
| }, function (e, t, i) { | |
| var r = i(9), | |
| n = r.Buffer; | |
| function o(e, t) { | |
| for (var i in e) t[i] = e[i] | |
| } | |
| function s(e, t, i) { | |
| return n(e, t, i) | |
| } | |
| n.from && n.alloc && n.allocUnsafe && n.allocUnsafeSlow ? e.exports = r : (o(r, t), t.Buffer = s), o(n, s), s.from = function (e, t, i) { | |
| if ("number" == typeof e) throw new TypeError("Argument must not be a number"); | |
| return n(e, t, i) | |
| }, s.alloc = function (e, t, i) { | |
| if ("number" != typeof e) throw new TypeError("Argument must be a number"); | |
| var r = n(e); | |
| return void 0 !== t ? "string" == typeof i ? r.fill(t, i) : r.fill(t) : r.fill(0), r | |
| }, s.allocUnsafe = function (e) { | |
| if ("number" != typeof e) throw new TypeError("Argument must be a number"); | |
| return n(e) | |
| }, s.allocUnsafeSlow = function (e) { | |
| if ("number" != typeof e) throw new TypeError("Argument must be a number"); | |
| return r.SlowBuffer(e) | |
| } | |
| }, function (e, t) { | |
| e.exports = function (e) { | |
| try { | |
| return !!e() | |
| } catch (e) { | |
| return !0 | |
| } | |
| } | |
| }, function (e, t, i) { | |
| var r = i(6); | |
| e.exports = function (e) { | |
| if (!r(e)) throw TypeError(e + " is not an object!"); | |
| return e | |
| } | |
| }, function (e, t) { | |
| var i = e.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")(); | |
| "number" == typeof __g && (__g = i) | |
| }, function (e, t) { | |
| function i(e) { | |
| return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { | |
| return typeof e | |
| } : function (e) { | |
| return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e | |
| })(e) | |
| } | |
| e.exports = function (e) { | |
| return "object" === i(e) ? null !== e : "function" == typeof e | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| function r(e, t) { | |
| for (var i = 0; i < t.length; i++) { | |
| var r = t[i]; | |
| r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r) | |
| } | |
| } | |
| i.r(t); | |
| var n = function () { | |
| function e() { | |
| return function (e, t) { | |
| if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") | |
| }(this, e), e.instance || (e.instance = this), this.changedBlocks = {}, this.worldSeed = null, this.worldSize = 128, this.timeout = null, this.version = 0, this.loadDataIfExists(), e.instance | |
| } | |
| var t, i, n; | |
| return t = e, n = [{ | |
| key: "getInstance", | |
| value: function () { | |
| return void 0 === e.instance && (e.instance = new e), e.instance | |
| } | |
| }], (i = [{ | |
| key: "loadDataIfExists", | |
| value: function () { | |
| var e = localStorage.getItem("savedGame"); | |
| if (e) { | |
| var t = JSON.parse(e); | |
| this.worldSeed = t.worldSeed, this.changedBlocks = t.changedBlocks, this.worldSize = t.worldSize, this.version = void 0 !== t.version ? t.version : 0 | |
| } | |
| 0 === this.version && this.clearData() | |
| } | |
| }, { | |
| key: "gameSaved", | |
| value: function () { | |
| return !!this.worldSeed | |
| } | |
| }, { | |
| key: "updateData", | |
| value: function () { | |
| var e = JSON.stringify({ | |
| worldSeed: this.worldSeed, | |
| changedBlocks: this.changedBlocks, | |
| worldSize: this.worldSize, | |
| version: 1 | |
| }); | |
| localStorage.setItem("savedGame", e) | |
| } | |
| }, { | |
| key: "clearData", | |
| value: function () { | |
| this.worldSeed = null, this.changedBlocks = {}, this.updateData() | |
| } | |
| }, { | |
| key: "setWorldSeed", | |
| value: function (e) { | |
| this.worldSeed = e, this.updateData() | |
| } | |
| }, { | |
| key: "getWorldSeed", | |
| value: function () { | |
| return this.worldSeed | |
| } | |
| }, { | |
| key: "setWorldSize", | |
| value: function (e) { | |
| this.worldSize = e, this.updateData() | |
| } | |
| }, { | |
| key: "getWorldSize", | |
| value: function () { | |
| return this.worldSize | |
| } | |
| }, { | |
| key: "addBlockChange", | |
| value: function (e) { | |
| var t = this; | |
| this.changedBlocks["p" + e.p[0] + "_" + e.p[1] + "_" + e.p[2]] = { | |
| a: e.add ? 1 : 0, | |
| bt: e.bt | |
| }, null === this.timeout && (this.timeout = setTimeout(function () { | |
| Date.now(); | |
| t.updateData(), t.timeout = null | |
| }, 3e3)) | |
| } | |
| }, { | |
| key: "getChangedBlocks", | |
| value: function () { | |
| var e = []; | |
| for (var t in this.changedBlocks) { | |
| var i = t.substr(1).split("_").map(function (e) { | |
| return parseInt(e) | |
| }); | |
| e.push({ | |
| p: i, | |
| add: !!this.changedBlocks[t].a, | |
| bt: this.changedBlocks[t].bt | |
| }) | |
| } | |
| return e | |
| } | |
| }]) && r(t.prototype, i), n && r(t, n), e | |
| }(); | |
| t.default = n | |
| }, function (e, t, i) { | |
| var r = i(96)("wks"), | |
| n = i(45), | |
| o = i(5).Symbol, | |
| s = "function" == typeof o; | |
| (e.exports = function (e) { | |
| return r[e] || (r[e] = s && o[e] || (s ? o : n)("Symbol." + e)) | |
| }).store = r | |
| }, function (e, t, i) { | |
| "use strict"; | |
| (function (e) { | |
| /*! | |
| * The buffer module from node.js, for the browser. | |
| * | |
| * @author Feross Aboukhadijeh <[email protected]> <http://feross.org> | |
| * @license MIT | |
| */ | |
| var r = i(397), | |
| n = i(398), | |
| o = i(168); | |
| function s() { | |
| return c.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823 | |
| } | |
| function a(e, t) { | |
| if (s() < t) throw new RangeError("Invalid typed array length"); | |
| return c.TYPED_ARRAY_SUPPORT ? (e = new Uint8Array(t)).__proto__ = c.prototype : (null === e && (e = new c(t)), e.length = t), e | |
| } | |
| function c(e, t, i) { | |
| if (!(c.TYPED_ARRAY_SUPPORT || this instanceof c)) return new c(e, t, i); | |
| if ("number" == typeof e) { | |
| if ("string" == typeof t) throw new Error("If encoding is specified then the first argument must be a string"); | |
| return l(this, e) | |
| } | |
| return h(this, e, t, i) | |
| } | |
| function h(e, t, i, r) { | |
| if ("number" == typeof t) throw new TypeError('"value" argument must not be a number'); | |
| return "undefined" != typeof ArrayBuffer && t instanceof ArrayBuffer ? function (e, t, i, r) { | |
| if (t.byteLength, i < 0 || t.byteLength < i) throw new RangeError("'offset' is out of bounds"); | |
| if (t.byteLength < i + (r || 0)) throw new RangeError("'length' is out of bounds"); | |
| t = void 0 === i && void 0 === r ? new Uint8Array(t) : void 0 === r ? new Uint8Array(t, i) : new Uint8Array(t, i, r); | |
| c.TYPED_ARRAY_SUPPORT ? (e = t).__proto__ = c.prototype : e = f(e, t); | |
| return e | |
| }(e, t, i, r) : "string" == typeof t ? function (e, t, i) { | |
| "string" == typeof i && "" !== i || (i = "utf8"); | |
| if (!c.isEncoding(i)) throw new TypeError('"encoding" must be a valid string encoding'); | |
| var r = 0 | p(t, i), | |
| n = (e = a(e, r)).write(t, i); | |
| n !== r && (e = e.slice(0, n)); | |
| return e | |
| }(e, t, i) : function (e, t) { | |
| if (c.isBuffer(t)) { | |
| var i = 0 | d(t.length); | |
| return 0 === (e = a(e, i)).length ? e : (t.copy(e, 0, 0, i), e) | |
| } | |
| if (t) { | |
| if ("undefined" != typeof ArrayBuffer && t.buffer instanceof ArrayBuffer || "length" in t) return "number" != typeof t.length || (r = t.length) != r ? a(e, 0) : f(e, t); | |
| if ("Buffer" === t.type && o(t.data)) return f(e, t.data) | |
| } | |
| var r; | |
| throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.") | |
| }(e, t) | |
| } | |
| function u(e) { | |
| if ("number" != typeof e) throw new TypeError('"size" argument must be a number'); | |
| if (e < 0) throw new RangeError('"size" argument must not be negative') | |
| } | |
| function l(e, t) { | |
| if (u(t), e = a(e, t < 0 ? 0 : 0 | d(t)), !c.TYPED_ARRAY_SUPPORT) | |
| for (var i = 0; i < t; ++i) e[i] = 0; | |
| return e | |
| } | |
| function f(e, t) { | |
| var i = t.length < 0 ? 0 : 0 | d(t.length); | |
| e = a(e, i); | |
| for (var r = 0; r < i; r += 1) e[r] = 255 & t[r]; | |
| return e | |
| } | |
| function d(e) { | |
| if (e >= s()) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + s().toString(16) + " bytes"); | |
| return 0 | e | |
| } | |
| function p(e, t) { | |
| if (c.isBuffer(e)) return e.length; | |
| if ("undefined" != typeof ArrayBuffer && "function" == typeof ArrayBuffer.isView && (ArrayBuffer.isView(e) || e instanceof ArrayBuffer)) return e.byteLength; | |
| "string" != typeof e && (e = "" + e); | |
| var i = e.length; | |
| if (0 === i) return 0; | |
| for (var r = !1;;) switch (t) { | |
| case "ascii": | |
| case "latin1": | |
| case "binary": | |
| return i; | |
| case "utf8": | |
| case "utf-8": | |
| case void 0: | |
| return z(e).length; | |
| case "ucs2": | |
| case "ucs-2": | |
| case "utf16le": | |
| case "utf-16le": | |
| return 2 * i; | |
| case "hex": | |
| return i >>> 1; | |
| case "base64": | |
| return U(e).length; | |
| default: | |
| if (r) return z(e).length; | |
| t = ("" + t).toLowerCase(), r = !0 | |
| } | |
| } | |
| function m(e, t, i) { | |
| var r = e[t]; | |
| e[t] = e[i], e[i] = r | |
| } | |
| function g(e, t, i, r, n) { | |
| if (0 === e.length) return -1; | |
| if ("string" == typeof i ? (r = i, i = 0) : i > 2147483647 ? i = 2147483647 : i < -2147483648 && (i = -2147483648), i = +i, isNaN(i) && (i = n ? 0 : e.length - 1), i < 0 && (i = e.length + i), i >= e.length) { | |
| if (n) return -1; | |
| i = e.length - 1 | |
| } else if (i < 0) { | |
| if (!n) return -1; | |
| i = 0 | |
| } | |
| if ("string" == typeof t && (t = c.from(t, r)), c.isBuffer(t)) return 0 === t.length ? -1 : _(e, t, i, r, n); | |
| if ("number" == typeof t) return t &= 255, c.TYPED_ARRAY_SUPPORT && "function" == typeof Uint8Array.prototype.indexOf ? n ? Uint8Array.prototype.indexOf.call(e, t, i) : Uint8Array.prototype.lastIndexOf.call(e, t, i) : _(e, [t], i, r, n); | |
| throw new TypeError("val must be string, number or Buffer") | |
| } | |
| function _(e, t, i, r, n) { | |
| var o, s = 1, | |
| a = e.length, | |
| c = t.length; | |
| if (void 0 !== r && ("ucs2" === (r = String(r).toLowerCase()) || "ucs-2" === r || "utf16le" === r || "utf-16le" === r)) { | |
| if (e.length < 2 || t.length < 2) return -1; | |
| s = 2, a /= 2, c /= 2, i /= 2 | |
| } | |
| function h(e, t) { | |
| return 1 === s ? e[t] : e.readUInt16BE(t * s) | |
| } | |
| if (n) { | |
| var u = -1; | |
| for (o = i; o < a; o++) | |
| if (h(e, o) === h(t, -1 === u ? 0 : o - u)) { | |
| if (-1 === u && (u = o), o - u + 1 === c) return u * s | |
| } else -1 !== u && (o -= o - u), u = -1 | |
| } else | |
| for (i + c > a && (i = a - c), o = i; o >= 0; o--) { | |
| for (var l = !0, f = 0; f < c; f++) | |
| if (h(e, o + f) !== h(t, f)) { | |
| l = !1; | |
| break | |
| } if (l) return o | |
| } | |
| return -1 | |
| } | |
| function v(e, t, i, r) { | |
| i = Number(i) || 0; | |
| var n = e.length - i; | |
| r ? (r = Number(r)) > n && (r = n) : r = n; | |
| var o = t.length; | |
| if (o % 2 != 0) throw new TypeError("Invalid hex string"); | |
| r > o / 2 && (r = o / 2); | |
| for (var s = 0; s < r; ++s) { | |
| var a = parseInt(t.substr(2 * s, 2), 16); | |
| if (isNaN(a)) return s; | |
| e[i + s] = a | |
| } | |
| return s | |
| } | |
| function y(e, t, i, r) { | |
| return G(z(t, e.length - i), e, i, r) | |
| } | |
| function b(e, t, i, r) { | |
| return G(function (e) { | |
| for (var t = [], i = 0; i < e.length; ++i) t.push(255 & e.charCodeAt(i)); | |
| return t | |
| }(t), e, i, r) | |
| } | |
| function x(e, t, i, r) { | |
| return b(e, t, i, r) | |
| } | |
| function w(e, t, i, r) { | |
| return G(U(t), e, i, r) | |
| } | |
| function S(e, t, i, r) { | |
| return G(function (e, t) { | |
| for (var i, r, n, o = [], s = 0; s < e.length && !((t -= 2) < 0); ++s) i = e.charCodeAt(s), r = i >> 8, n = i % 256, o.push(n), o.push(r); | |
| return o | |
| }(t, e.length - i), e, i, r) | |
| } | |
| function T(e, t, i) { | |
| return 0 === t && i === e.length ? r.fromByteArray(e) : r.fromByteArray(e.slice(t, i)) | |
| } | |
| function A(e, t, i) { | |
| i = Math.min(e.length, i); | |
| for (var r = [], n = t; n < i;) { | |
| var o, s, a, c, h = e[n], | |
| u = null, | |
| l = h > 239 ? 4 : h > 223 ? 3 : h > 191 ? 2 : 1; | |
| if (n + l <= i) switch (l) { | |
| case 1: | |
| h < 128 && (u = h); | |
| break; | |
| case 2: | |
| 128 == (192 & (o = e[n + 1])) && (c = (31 & h) << 6 | 63 & o) > 127 && (u = c); | |
| break; | |
| case 3: | |
| o = e[n + 1], s = e[n + 2], 128 == (192 & o) && 128 == (192 & s) && (c = (15 & h) << 12 | (63 & o) << 6 | 63 & s) > 2047 && (c < 55296 || c > 57343) && (u = c); | |
| break; | |
| case 4: | |
| o = e[n + 1], s = e[n + 2], a = e[n + 3], 128 == (192 & o) && 128 == (192 & s) && 128 == (192 & a) && (c = (15 & h) << 18 | (63 & o) << 12 | (63 & s) << 6 | 63 & a) > 65535 && c < 1114112 && (u = c) | |
| } | |
| null === u ? (u = 65533, l = 1) : u > 65535 && (u -= 65536, r.push(u >>> 10 & 1023 | 55296), u = 56320 | 1023 & u), r.push(u), n += l | |
| } | |
| return function (e) { | |
| var t = e.length; | |
| if (t <= M) return String.fromCharCode.apply(String, e); | |
| var i = "", | |
| r = 0; | |
| for (; r < t;) i += String.fromCharCode.apply(String, e.slice(r, r += M)); | |
| return i | |
| }(r) | |
| } | |
| t.Buffer = c, t.SlowBuffer = function (e) { | |
| +e != e && (e = 0); | |
| return c.alloc(+e) | |
| }, t.INSPECT_MAX_BYTES = 50, c.TYPED_ARRAY_SUPPORT = void 0 !== e.TYPED_ARRAY_SUPPORT ? e.TYPED_ARRAY_SUPPORT : function () { | |
| try { | |
| var e = new Uint8Array(1); | |
| return e.__proto__ = { | |
| __proto__: Uint8Array.prototype, | |
| foo: function () { | |
| return 42 | |
| } | |
| }, 42 === e.foo() && "function" == typeof e.subarray && 0 === e.subarray(1, 1).byteLength | |
| } catch (e) { | |
| return !1 | |
| } | |
| }(), t.kMaxLength = s(), c.poolSize = 8192, c._augment = function (e) { | |
| return e.__proto__ = c.prototype, e | |
| }, c.from = function (e, t, i) { | |
| return h(null, e, t, i) | |
| }, c.TYPED_ARRAY_SUPPORT && (c.prototype.__proto__ = Uint8Array.prototype, c.__proto__ = Uint8Array, "undefined" != typeof Symbol && Symbol.species && c[Symbol.species] === c && Object.defineProperty(c, Symbol.species, { | |
| value: null, | |
| configurable: !0 | |
| })), c.alloc = function (e, t, i) { | |
| return function (e, t, i, r) { | |
| return u(t), t <= 0 ? a(e, t) : void 0 !== i ? "string" == typeof r ? a(e, t).fill(i, r) : a(e, t).fill(i) : a(e, t) | |
| }(null, e, t, i) | |
| }, c.allocUnsafe = function (e) { | |
| return l(null, e) | |
| }, c.allocUnsafeSlow = function (e) { | |
| return l(null, e) | |
| }, c.isBuffer = function (e) { | |
| return !(null == e || !e._isBuffer) | |
| }, c.compare = function (e, t) { | |
| if (!c.isBuffer(e) || !c.isBuffer(t)) throw new TypeError("Arguments must be Buffers"); | |
| if (e === t) return 0; | |
| for (var i = e.length, r = t.length, n = 0, o = Math.min(i, r); n < o; ++n) | |
| if (e[n] !== t[n]) { | |
| i = e[n], r = t[n]; | |
| break | |
| } return i < r ? -1 : r < i ? 1 : 0 | |
| }, c.isEncoding = function (e) { | |
| switch (String(e).toLowerCase()) { | |
| case "hex": | |
| case "utf8": | |
| case "utf-8": | |
| case "ascii": | |
| case "latin1": | |
| case "binary": | |
| case "base64": | |
| case "ucs2": | |
| case "ucs-2": | |
| case "utf16le": | |
| case "utf-16le": | |
| return !0; | |
| default: | |
| return !1 | |
| } | |
| }, c.concat = function (e, t) { | |
| if (!o(e)) throw new TypeError('"list" argument must be an Array of Buffers'); | |
| if (0 === e.length) return c.alloc(0); | |
| var i; | |
| if (void 0 === t) | |
| for (t = 0, i = 0; i < e.length; ++i) t += e[i].length; | |
| var r = c.allocUnsafe(t), | |
| n = 0; | |
| for (i = 0; i < e.length; ++i) { | |
| var s = e[i]; | |
| if (!c.isBuffer(s)) throw new TypeError('"list" argument must be an Array of Buffers'); | |
| s.copy(r, n), n += s.length | |
| } | |
| return r | |
| }, c.byteLength = p, c.prototype._isBuffer = !0, c.prototype.swap16 = function () { | |
| var e = this.length; | |
| if (e % 2 != 0) throw new RangeError("Buffer size must be a multiple of 16-bits"); | |
| for (var t = 0; t < e; t += 2) m(this, t, t + 1); | |
| return this | |
| }, c.prototype.swap32 = function () { | |
| var e = this.length; | |
| if (e % 4 != 0) throw new RangeError("Buffer size must be a multiple of 32-bits"); | |
| for (var t = 0; t < e; t += 4) m(this, t, t + 3), m(this, t + 1, t + 2); | |
| return this | |
| }, c.prototype.swap64 = function () { | |
| var e = this.length; | |
| if (e % 8 != 0) throw new RangeError("Buffer size must be a multiple of 64-bits"); | |
| for (var t = 0; t < e; t += 8) m(this, t, t + 7), m(this, t + 1, t + 6), m(this, t + 2, t + 5), m(this, t + 3, t + 4); | |
| return this | |
| }, c.prototype.toString = function () { | |
| var e = 0 | this.length; | |
| return 0 === e ? "" : 0 === arguments.length ? A(this, 0, e) : function (e, t, i) { | |
| var r = !1; | |
| if ((void 0 === t || t < 0) && (t = 0), t > this.length) return ""; | |
| if ((void 0 === i || i > this.length) && (i = this.length), i <= 0) return ""; | |
| if ((i >>>= 0) <= (t >>>= 0)) return ""; | |
| for (e || (e = "utf8");;) switch (e) { | |
| case "hex": | |
| return C(this, t, i); | |
| case "utf8": | |
| case "utf-8": | |
| return A(this, t, i); | |
| case "ascii": | |
| return E(this, t, i); | |
| case "latin1": | |
| case "binary": | |
| return P(this, t, i); | |
| case "base64": | |
| return T(this, t, i); | |
| case "ucs2": | |
| case "ucs-2": | |
| case "utf16le": | |
| case "utf-16le": | |
| return R(this, t, i); | |
| default: | |
| if (r) throw new TypeError("Unknown encoding: " + e); | |
| e = (e + "").toLowerCase(), r = !0 | |
| } | |
| }.apply(this, arguments) | |
| }, c.prototype.equals = function (e) { | |
| if (!c.isBuffer(e)) throw new TypeError("Argument must be a Buffer"); | |
| return this === e || 0 === c.compare(this, e) | |
| }, c.prototype.inspect = function () { | |
| var e = "", | |
| i = t.INSPECT_MAX_BYTES; | |
| return this.length > 0 && (e = this.toString("hex", 0, i).match(/.{2}/g).join(" "), this.length > i && (e += " ... ")), "<Buffer " + e + ">" | |
| }, c.prototype.compare = function (e, t, i, r, n) { | |
| if (!c.isBuffer(e)) throw new TypeError("Argument must be a Buffer"); | |
| if (void 0 === t && (t = 0), void 0 === i && (i = e ? e.length : 0), void 0 === r && (r = 0), void 0 === n && (n = this.length), t < 0 || i > e.length || r < 0 || n > this.length) throw new RangeError("out of range index"); | |
| if (r >= n && t >= i) return 0; | |
| if (r >= n) return -1; | |
| if (t >= i) return 1; | |
| if (this === e) return 0; | |
| for (var o = (n >>>= 0) - (r >>>= 0), s = (i >>>= 0) - (t >>>= 0), a = Math.min(o, s), h = this.slice(r, n), u = e.slice(t, i), l = 0; l < a; ++l) | |
| if (h[l] !== u[l]) { | |
| o = h[l], s = u[l]; | |
| break | |
| } return o < s ? -1 : s < o ? 1 : 0 | |
| }, c.prototype.includes = function (e, t, i) { | |
| return -1 !== this.indexOf(e, t, i) | |
| }, c.prototype.indexOf = function (e, t, i) { | |
| return g(this, e, t, i, !0) | |
| }, c.prototype.lastIndexOf = function (e, t, i) { | |
| return g(this, e, t, i, !1) | |
| }, c.prototype.write = function (e, t, i, r) { | |
| if (void 0 === t) r = "utf8", i = this.length, t = 0; | |
| else if (void 0 === i && "string" == typeof t) r = t, i = this.length, t = 0; | |
| else { | |
| if (!isFinite(t)) throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported"); | |
| t |= 0, isFinite(i) ? (i |= 0, void 0 === r && (r = "utf8")) : (r = i, i = void 0) | |
| } | |
| var n = this.length - t; | |
| if ((void 0 === i || i > n) && (i = n), e.length > 0 && (i < 0 || t < 0) || t > this.length) throw new RangeError("Attempt to write outside buffer bounds"); | |
| r || (r = "utf8"); | |
| for (var o = !1;;) switch (r) { | |
| case "hex": | |
| return v(this, e, t, i); | |
| case "utf8": | |
| case "utf-8": | |
| return y(this, e, t, i); | |
| case "ascii": | |
| return b(this, e, t, i); | |
| case "latin1": | |
| case "binary": | |
| return x(this, e, t, i); | |
| case "base64": | |
| return w(this, e, t, i); | |
| case "ucs2": | |
| case "ucs-2": | |
| case "utf16le": | |
| case "utf-16le": | |
| return S(this, e, t, i); | |
| default: | |
| if (o) throw new TypeError("Unknown encoding: " + r); | |
| r = ("" + r).toLowerCase(), o = !0 | |
| } | |
| }, c.prototype.toJSON = function () { | |
| return { | |
| type: "Buffer", | |
| data: Array.prototype.slice.call(this._arr || this, 0) | |
| } | |
| }; | |
| var M = 4096; | |
| function E(e, t, i) { | |
| var r = ""; | |
| i = Math.min(e.length, i); | |
| for (var n = t; n < i; ++n) r += String.fromCharCode(127 & e[n]); | |
| return r | |
| } | |
| function P(e, t, i) { | |
| var r = ""; | |
| i = Math.min(e.length, i); | |
| for (var n = t; n < i; ++n) r += String.fromCharCode(e[n]); | |
| return r | |
| } | |
| function C(e, t, i) { | |
| var r = e.length; | |
| (!t || t < 0) && (t = 0), (!i || i < 0 || i > r) && (i = r); | |
| for (var n = "", o = t; o < i; ++o) n += N(e[o]); | |
| return n | |
| } | |
| function R(e, t, i) { | |
| for (var r = e.slice(t, i), n = "", o = 0; o < r.length; o += 2) n += String.fromCharCode(r[o] + 256 * r[o + 1]); | |
| return n | |
| } | |
| function I(e, t, i) { | |
| if (e % 1 != 0 || e < 0) throw new RangeError("offset is not uint"); | |
| if (e + t > i) throw new RangeError("Trying to access beyond buffer length") | |
| } | |
| function D(e, t, i, r, n, o) { | |
| if (!c.isBuffer(e)) throw new TypeError('"buffer" argument must be a Buffer instance'); | |
| if (t > n || t < o) throw new RangeError('"value" argument is out of bounds'); | |
| if (i + r > e.length) throw new RangeError("Index out of range") | |
| } | |
| function O(e, t, i, r) { | |
| t < 0 && (t = 65535 + t + 1); | |
| for (var n = 0, o = Math.min(e.length - i, 2); n < o; ++n) e[i + n] = (t & 255 << 8 * (r ? n : 1 - n)) >>> 8 * (r ? n : 1 - n) | |
| } | |
| function L(e, t, i, r) { | |
| t < 0 && (t = 4294967295 + t + 1); | |
| for (var n = 0, o = Math.min(e.length - i, 4); n < o; ++n) e[i + n] = t >>> 8 * (r ? n : 3 - n) & 255 | |
| } | |
| function F(e, t, i, r, n, o) { | |
| if (i + r > e.length) throw new RangeError("Index out of range"); | |
| if (i < 0) throw new RangeError("Index out of range") | |
| } | |
| function B(e, t, i, r, o) { | |
| return o || F(e, 0, i, 4), n.write(e, t, i, r, 23, 4), i + 4 | |
| } | |
| function k(e, t, i, r, o) { | |
| return o || F(e, 0, i, 8), n.write(e, t, i, r, 52, 8), i + 8 | |
| } | |
| c.prototype.slice = function (e, t) { | |
| var i, r = this.length; | |
| if ((e = ~~e) < 0 ? (e += r) < 0 && (e = 0) : e > r && (e = r), (t = void 0 === t ? r : ~~t) < 0 ? (t += r) < 0 && (t = 0) : t > r && (t = r), t < e && (t = e), c.TYPED_ARRAY_SUPPORT)(i = this.subarray(e, t)).__proto__ = c.prototype; | |
| else { | |
| var n = t - e; | |
| i = new c(n, void 0); | |
| for (var o = 0; o < n; ++o) i[o] = this[o + e] | |
| } | |
| return i | |
| }, c.prototype.readUIntLE = function (e, t, i) { | |
| e |= 0, t |= 0, i || I(e, t, this.length); | |
| for (var r = this[e], n = 1, o = 0; ++o < t && (n *= 256);) r += this[e + o] * n; | |
| return r | |
| }, c.prototype.readUIntBE = function (e, t, i) { | |
| e |= 0, t |= 0, i || I(e, t, this.length); | |
| for (var r = this[e + --t], n = 1; t > 0 && (n *= 256);) r += this[e + --t] * n; | |
| return r | |
| }, c.prototype.readUInt8 = function (e, t) { | |
| return t || I(e, 1, this.length), this[e] | |
| }, c.prototype.readUInt16LE = function (e, t) { | |
| return t || I(e, 2, this.length), this[e] | this[e + 1] << 8 | |
| }, c.prototype.readUInt16BE = function (e, t) { | |
| return t || I(e, 2, this.length), this[e] << 8 | this[e + 1] | |
| }, c.prototype.readUInt32LE = function (e, t) { | |
| return t || I(e, 4, this.length), (this[e] | this[e + 1] << 8 | this[e + 2] << 16) + 16777216 * this[e + 3] | |
| }, c.prototype.readUInt32BE = function (e, t) { | |
| return t || I(e, 4, this.length), 16777216 * this[e] + (this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3]) | |
| }, c.prototype.readIntLE = function (e, t, i) { | |
| e |= 0, t |= 0, i || I(e, t, this.length); | |
| for (var r = this[e], n = 1, o = 0; ++o < t && (n *= 256);) r += this[e + o] * n; | |
| return r >= (n *= 128) && (r -= Math.pow(2, 8 * t)), r | |
| }, c.prototype.readIntBE = function (e, t, i) { | |
| e |= 0, t |= 0, i || I(e, t, this.length); | |
| for (var r = t, n = 1, o = this[e + --r]; r > 0 && (n *= 256);) o += this[e + --r] * n; | |
| return o >= (n *= 128) && (o -= Math.pow(2, 8 * t)), o | |
| }, c.prototype.readInt8 = function (e, t) { | |
| return t || I(e, 1, this.length), 128 & this[e] ? -1 * (255 - this[e] + 1) : this[e] | |
| }, c.prototype.readInt16LE = function (e, t) { | |
| t || I(e, 2, this.length); | |
| var i = this[e] | this[e + 1] << 8; | |
| return 32768 & i ? 4294901760 | i : i | |
| }, c.prototype.readInt16BE = function (e, t) { | |
| t || I(e, 2, this.length); | |
| var i = this[e + 1] | this[e] << 8; | |
| return 32768 & i ? 4294901760 | i : i | |
| }, c.prototype.readInt32LE = function (e, t) { | |
| return t || I(e, 4, this.length), this[e] | this[e + 1] << 8 | this[e + 2] << 16 | this[e + 3] << 24 | |
| }, c.prototype.readInt32BE = function (e, t) { | |
| return t || I(e, 4, this.length), this[e] << 24 | this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3] | |
| }, c.prototype.readFloatLE = function (e, t) { | |
| return t || I(e, 4, this.length), n.read(this, e, !0, 23, 4) | |
| }, c.prototype.readFloatBE = function (e, t) { | |
| return t || I(e, 4, this.length), n.read(this, e, !1, 23, 4) | |
| }, c.prototype.readDoubleLE = function (e, t) { | |
| return t || I(e, 8, this.length), n.read(this, e, !0, 52, 8) | |
| }, c.prototype.readDoubleBE = function (e, t) { | |
| return t || I(e, 8, this.length), n.read(this, e, !1, 52, 8) | |
| }, c.prototype.writeUIntLE = function (e, t, i, r) { | |
| (e = +e, t |= 0, i |= 0, r) || D(this, e, t, i, Math.pow(2, 8 * i) - 1, 0); | |
| var n = 1, | |
| o = 0; | |
| for (this[t] = 255 & e; ++o < i && (n *= 256);) this[t + o] = e / n & 255; | |
| return t + i | |
| }, c.prototype.writeUIntBE = function (e, t, i, r) { | |
| (e = +e, t |= 0, i |= 0, r) || D(this, e, t, i, Math.pow(2, 8 * i) - 1, 0); | |
| var n = i - 1, | |
| o = 1; | |
| for (this[t + n] = 255 & e; --n >= 0 && (o *= 256);) this[t + n] = e / o & 255; | |
| return t + i | |
| }, c.prototype.writeUInt8 = function (e, t, i) { | |
| return e = +e, t |= 0, i || D(this, e, t, 1, 255, 0), c.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), this[t] = 255 & e, t + 1 | |
| }, c.prototype.writeUInt16LE = function (e, t, i) { | |
| return e = +e, t |= 0, i || D(this, e, t, 2, 65535, 0), c.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : O(this, e, t, !0), t + 2 | |
| }, c.prototype.writeUInt16BE = function (e, t, i) { | |
| return e = +e, t |= 0, i || D(this, e, t, 2, 65535, 0), c.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : O(this, e, t, !1), t + 2 | |
| }, c.prototype.writeUInt32LE = function (e, t, i) { | |
| return e = +e, t |= 0, i || D(this, e, t, 4, 4294967295, 0), c.TYPED_ARRAY_SUPPORT ? (this[t + 3] = e >>> 24, this[t + 2] = e >>> 16, this[t + 1] = e >>> 8, this[t] = 255 & e) : L(this, e, t, !0), t + 4 | |
| }, c.prototype.writeUInt32BE = function (e, t, i) { | |
| return e = +e, t |= 0, i || D(this, e, t, 4, 4294967295, 0), c.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : L(this, e, t, !1), t + 4 | |
| }, c.prototype.writeIntLE = function (e, t, i, r) { | |
| if (e = +e, t |= 0, !r) { | |
| var n = Math.pow(2, 8 * i - 1); | |
| D(this, e, t, i, n - 1, -n) | |
| } | |
| var o = 0, | |
| s = 1, | |
| a = 0; | |
| for (this[t] = 255 & e; ++o < i && (s *= 256);) e < 0 && 0 === a && 0 !== this[t + o - 1] && (a = 1), this[t + o] = (e / s >> 0) - a & 255; | |
| return t + i | |
| }, c.prototype.writeIntBE = function (e, t, i, r) { | |
| if (e = +e, t |= 0, !r) { | |
| var n = Math.pow(2, 8 * i - 1); | |
| D(this, e, t, i, n - 1, -n) | |
| } | |
| var o = i - 1, | |
| s = 1, | |
| a = 0; | |
| for (this[t + o] = 255 & e; --o >= 0 && (s *= 256);) e < 0 && 0 === a && 0 !== this[t + o + 1] && (a = 1), this[t + o] = (e / s >> 0) - a & 255; | |
| return t + i | |
| }, c.prototype.writeInt8 = function (e, t, i) { | |
| return e = +e, t |= 0, i || D(this, e, t, 1, 127, -128), c.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), e < 0 && (e = 255 + e + 1), this[t] = 255 & e, t + 1 | |
| }, c.prototype.writeInt16LE = function (e, t, i) { | |
| return e = +e, t |= 0, i || D(this, e, t, 2, 32767, -32768), c.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : O(this, e, t, !0), t + 2 | |
| }, c.prototype.writeInt16BE = function (e, t, i) { | |
| return e = +e, t |= 0, i || D(this, e, t, 2, 32767, -32768), c.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : O(this, e, t, !1), t + 2 | |
| }, c.prototype.writeInt32LE = function (e, t, i) { | |
| return e = +e, t |= 0, i || D(this, e, t, 4, 2147483647, -2147483648), c.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8, this[t + 2] = e >>> 16, this[t + 3] = e >>> 24) : L(this, e, t, !0), t + 4 | |
| }, c.prototype.writeInt32BE = function (e, t, i) { | |
| return e = +e, t |= 0, i || D(this, e, t, 4, 2147483647, -2147483648), e < 0 && (e = 4294967295 + e + 1), c.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : L(this, e, t, !1), t + 4 | |
| }, c.prototype.writeFloatLE = function (e, t, i) { | |
| return B(this, e, t, !0, i) | |
| }, c.prototype.writeFloatBE = function (e, t, i) { | |
| return B(this, e, t, !1, i) | |
| }, c.prototype.writeDoubleLE = function (e, t, i) { | |
| return k(this, e, t, !0, i) | |
| }, c.prototype.writeDoubleBE = function (e, t, i) { | |
| return k(this, e, t, !1, i) | |
| }, c.prototype.copy = function (e, t, i, r) { | |
| if (i || (i = 0), r || 0 === r || (r = this.length), t >= e.length && (t = e.length), t || (t = 0), r > 0 && r < i && (r = i), r === i) return 0; | |
| if (0 === e.length || 0 === this.length) return 0; | |
| if (t < 0) throw new RangeError("targetStart out of bounds"); | |
| if (i < 0 || i >= this.length) throw new RangeError("sourceStart out of bounds"); | |
| if (r < 0) throw new RangeError("sourceEnd out of bounds"); | |
| r > this.length && (r = this.length), e.length - t < r - i && (r = e.length - t + i); | |
| var n, o = r - i; | |
| if (this === e && i < t && t < r) | |
| for (n = o - 1; n >= 0; --n) e[n + t] = this[n + i]; | |
| else if (o < 1e3 || !c.TYPED_ARRAY_SUPPORT) | |
| for (n = 0; n < o; ++n) e[n + t] = this[n + i]; | |
| else Uint8Array.prototype.set.call(e, this.subarray(i, i + o), t); | |
| return o | |
| }, c.prototype.fill = function (e, t, i, r) { | |
| if ("string" == typeof e) { | |
| if ("string" == typeof t ? (r = t, t = 0, i = this.length) : "string" == typeof i && (r = i, i = this.length), 1 === e.length) { | |
| var n = e.charCodeAt(0); | |
| n < 256 && (e = n) | |
| } | |
| if (void 0 !== r && "string" != typeof r) throw new TypeError("encoding must be a string"); | |
| if ("string" == typeof r && !c.isEncoding(r)) throw new TypeError("Unknown encoding: " + r) | |
| } else "number" == typeof e && (e &= 255); | |
| if (t < 0 || this.length < t || this.length < i) throw new RangeError("Out of range index"); | |
| if (i <= t) return this; | |
| var o; | |
| if (t >>>= 0, i = void 0 === i ? this.length : i >>> 0, e || (e = 0), "number" == typeof e) | |
| for (o = t; o < i; ++o) this[o] = e; | |
| else { | |
| var s = c.isBuffer(e) ? e : z(new c(e, r).toString()), | |
| a = s.length; | |
| for (o = 0; o < i - t; ++o) this[o + t] = s[o % a] | |
| } | |
| return this | |
| }; | |
| var V = /[^+\/0-9A-Za-z-_]/g; | |
| function N(e) { | |
| return e < 16 ? "0" + e.toString(16) : e.toString(16) | |
| } | |
| function z(e, t) { | |
| var i; | |
| t = t || 1 / 0; | |
| for (var r = e.length, n = null, o = [], s = 0; s < r; ++s) { | |
| if ((i = e.charCodeAt(s)) > 55295 && i < 57344) { | |
| if (!n) { | |
| if (i > 56319) { | |
| (t -= 3) > -1 && o.push(239, 191, 189); | |
| continue | |
| } | |
| if (s + 1 === r) { | |
| (t -= 3) > -1 && o.push(239, 191, 189); | |
| continue | |
| } | |
| n = i; | |
| continue | |
| } | |
| if (i < 56320) { | |
| (t -= 3) > -1 && o.push(239, 191, 189), n = i; | |
| continue | |
| } | |
| i = 65536 + (n - 55296 << 10 | i - 56320) | |
| } else n && (t -= 3) > -1 && o.push(239, 191, 189); | |
| if (n = null, i < 128) { | |
| if ((t -= 1) < 0) break; | |
| o.push(i) | |
| } else if (i < 2048) { | |
| if ((t -= 2) < 0) break; | |
| o.push(i >> 6 | 192, 63 & i | 128) | |
| } else if (i < 65536) { | |
| if ((t -= 3) < 0) break; | |
| o.push(i >> 12 | 224, i >> 6 & 63 | 128, 63 & i | 128) | |
| } else { | |
| if (!(i < 1114112)) throw new Error("Invalid code point"); | |
| if ((t -= 4) < 0) break; | |
| o.push(i >> 18 | 240, i >> 12 & 63 | 128, i >> 6 & 63 | 128, 63 & i | 128) | |
| } | |
| } | |
| return o | |
| } | |
| function U(e) { | |
| return r.toByteArray(function (e) { | |
| if ((e = function (e) { | |
| return e.trim ? e.trim() : e.replace(/^\s+|\s+$/g, "") | |
| }(e).replace(V, "")).length < 2) return ""; | |
| for (; e.length % 4 != 0;) e += "="; | |
| return e | |
| }(e)) | |
| } | |
| function G(e, t, i, r) { | |
| for (var n = 0; n < r && !(n + i >= t.length || n >= e.length); ++n) t[n + i] = e[n]; | |
| return n | |
| } | |
| }).call(this, i(15)) | |
| }, function (e, t, i) { | |
| var r = i(28), | |
| n = Math.min; | |
| e.exports = function (e) { | |
| return e > 0 ? n(r(e), 9007199254740991) : 0 | |
| } | |
| }, function (e, t, i) { | |
| (function (e) { | |
| function t(e) { | |
| return (t = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { | |
| return typeof e | |
| } : function (e) { | |
| return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e | |
| })(e) | |
| }! function (e, r) { | |
| "use strict"; | |
| function n(e, t) { | |
| if (!e) throw new Error(t || "Assertion failed") | |
| } | |
| function o(e, t) { | |
| e.super_ = t; | |
| var i = function () {}; | |
| i.prototype = t.prototype, e.prototype = new i, e.prototype.constructor = e | |
| } | |
| function s(e, t, i) { | |
| if (s.isBN(e)) return e; | |
| this.negative = 0, this.words = null, this.length = 0, this.red = null, null !== e && ("le" !== t && "be" !== t || (i = t, t = 10), this._init(e || 0, t || 10, i || "be")) | |
| } | |
| var a; | |
| "object" === t(e) ? e.exports = s : r.BN = s, s.BN = s, s.wordSize = 26; | |
| try { | |
| a = i(542).Buffer | |
| } catch (e) {} | |
| function c(e, t, i) { | |
| for (var r = 0, n = Math.min(e.length, i), o = t; o < n; o++) { | |
| var s = e.charCodeAt(o) - 48; | |
| r <<= 4, r |= s >= 49 && s <= 54 ? s - 49 + 10 : s >= 17 && s <= 22 ? s - 17 + 10 : 15 & s | |
| } | |
| return r | |
| } | |
| function h(e, t, i, r) { | |
| for (var n = 0, o = Math.min(e.length, i), s = t; s < o; s++) { | |
| var a = e.charCodeAt(s) - 48; | |
| n *= r, n += a >= 49 ? a - 49 + 10 : a >= 17 ? a - 17 + 10 : a | |
| } | |
| return n | |
| } | |
| s.isBN = function (e) { | |
| return e instanceof s || null !== e && "object" === t(e) && e.constructor.wordSize === s.wordSize && Array.isArray(e.words) | |
| }, s.max = function (e, t) { | |
| return e.cmp(t) > 0 ? e : t | |
| }, s.min = function (e, t) { | |
| return e.cmp(t) < 0 ? e : t | |
| }, s.prototype._init = function (e, i, r) { | |
| if ("number" == typeof e) return this._initNumber(e, i, r); | |
| if ("object" === t(e)) return this._initArray(e, i, r); | |
| "hex" === i && (i = 16), n(i === (0 | i) && i >= 2 && i <= 36); | |
| var o = 0; | |
| "-" === (e = e.toString().replace(/\s+/g, ""))[0] && o++, 16 === i ? this._parseHex(e, o) : this._parseBase(e, i, o), "-" === e[0] && (this.negative = 1), this.strip(), "le" === r && this._initArray(this.toArray(), i, r) | |
| }, s.prototype._initNumber = function (e, t, i) { | |
| e < 0 && (this.negative = 1, e = -e), e < 67108864 ? (this.words = [67108863 & e], this.length = 1) : e < 4503599627370496 ? (this.words = [67108863 & e, e / 67108864 & 67108863], this.length = 2) : (n(e < 9007199254740992), this.words = [67108863 & e, e / 67108864 & 67108863, 1], this.length = 3), "le" === i && this._initArray(this.toArray(), t, i) | |
| }, s.prototype._initArray = function (e, t, i) { | |
| if (n("number" == typeof e.length), e.length <= 0) return this.words = [0], this.length = 1, this; | |
| this.length = Math.ceil(e.length / 3), this.words = new Array(this.length); | |
| for (var r = 0; r < this.length; r++) this.words[r] = 0; | |
| var o, s, a = 0; | |
| if ("be" === i) | |
| for (r = e.length - 1, o = 0; r >= 0; r -= 3) s = e[r] | e[r - 1] << 8 | e[r - 2] << 16, this.words[o] |= s << a & 67108863, this.words[o + 1] = s >>> 26 - a & 67108863, (a += 24) >= 26 && (a -= 26, o++); | |
| else if ("le" === i) | |
| for (r = 0, o = 0; r < e.length; r += 3) s = e[r] | e[r + 1] << 8 | e[r + 2] << 16, this.words[o] |= s << a & 67108863, this.words[o + 1] = s >>> 26 - a & 67108863, (a += 24) >= 26 && (a -= 26, o++); | |
| return this.strip() | |
| }, s.prototype._parseHex = function (e, t) { | |
| this.length = Math.ceil((e.length - t) / 6), this.words = new Array(this.length); | |
| for (var i = 0; i < this.length; i++) this.words[i] = 0; | |
| var r, n, o = 0; | |
| for (i = e.length - 6, r = 0; i >= t; i -= 6) n = c(e, i, i + 6), this.words[r] |= n << o & 67108863, this.words[r + 1] |= n >>> 26 - o & 4194303, (o += 24) >= 26 && (o -= 26, r++); | |
| i + 6 !== t && (n = c(e, t, i + 6), this.words[r] |= n << o & 67108863, this.words[r + 1] |= n >>> 26 - o & 4194303), this.strip() | |
| }, s.prototype._parseBase = function (e, t, i) { | |
| this.words = [0], this.length = 1; | |
| for (var r = 0, n = 1; n <= 67108863; n *= t) r++; | |
| r--, n = n / t | 0; | |
| for (var o = e.length - i, s = o % r, a = Math.min(o, o - s) + i, c = 0, u = i; u < a; u += r) c = h(e, u, u + r, t), this.imuln(n), this.words[0] + c < 67108864 ? this.words[0] += c : this._iaddn(c); | |
| if (0 !== s) { | |
| var l = 1; | |
| for (c = h(e, u, e.length, t), u = 0; u < s; u++) l *= t; | |
| this.imuln(l), this.words[0] + c < 67108864 ? this.words[0] += c : this._iaddn(c) | |
| } | |
| }, s.prototype.copy = function (e) { | |
| e.words = new Array(this.length); | |
| for (var t = 0; t < this.length; t++) e.words[t] = this.words[t]; | |
| e.length = this.length, e.negative = this.negative, e.red = this.red | |
| }, s.prototype.clone = function () { | |
| var e = new s(null); | |
| return this.copy(e), e | |
| }, s.prototype._expand = function (e) { | |
| for (; this.length < e;) this.words[this.length++] = 0; | |
| return this | |
| }, s.prototype.strip = function () { | |
| for (; this.length > 1 && 0 === this.words[this.length - 1];) this.length--; | |
| return this._normSign() | |
| }, s.prototype._normSign = function () { | |
| return 1 === this.length && 0 === this.words[0] && (this.negative = 0), this | |
| }, s.prototype.inspect = function () { | |
| return (this.red ? "<BN-R: " : "<BN: ") + this.toString(16) + ">" | |
| }; | |
| var u = ["", "0", "00", "000", "0000", "00000", "000000", "0000000", "00000000", "000000000", "0000000000", "00000000000", "000000000000", "0000000000000", "00000000000000", "000000000000000", "0000000000000000", "00000000000000000", "000000000000000000", "0000000000000000000", "00000000000000000000", "000000000000000000000", "0000000000000000000000", "00000000000000000000000", "000000000000000000000000", "0000000000000000000000000"], | |
| l = [0, 0, 25, 16, 12, 11, 10, 9, 8, 8, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5], | |
| f = [0, 0, 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216, 43046721, 1e7, 19487171, 35831808, 62748517, 7529536, 11390625, 16777216, 24137569, 34012224, 47045881, 64e6, 4084101, 5153632, 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149, 243e5, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176]; | |
| function d(e, t, i) { | |
| i.negative = t.negative ^ e.negative; | |
| var r = e.length + t.length | 0; | |
| i.length = r, r = r - 1 | 0; | |
| var n = 0 | e.words[0], | |
| o = 0 | t.words[0], | |
| s = n * o, | |
| a = 67108863 & s, | |
| c = s / 67108864 | 0; | |
| i.words[0] = a; | |
| for (var h = 1; h < r; h++) { | |
| for (var u = c >>> 26, l = 67108863 & c, f = Math.min(h, t.length - 1), d = Math.max(0, h - e.length + 1); d <= f; d++) { | |
| var p = h - d | 0; | |
| u += (s = (n = 0 | e.words[p]) * (o = 0 | t.words[d]) + l) / 67108864 | 0, l = 67108863 & s | |
| } | |
| i.words[h] = 0 | l, c = 0 | u | |
| } | |
| return 0 !== c ? i.words[h] = 0 | c : i.length--, i.strip() | |
| } | |
| s.prototype.toString = function (e, t) { | |
| var i; | |
| if (t = 0 | t || 1, 16 === (e = e || 10) || "hex" === e) { | |
| i = ""; | |
| for (var r = 0, o = 0, s = 0; s < this.length; s++) { | |
| var a = this.words[s], | |
| c = (16777215 & (a << r | o)).toString(16); | |
| i = 0 !== (o = a >>> 24 - r & 16777215) || s !== this.length - 1 ? u[6 - c.length] + c + i : c + i, (r += 2) >= 26 && (r -= 26, s--) | |
| } | |
| for (0 !== o && (i = o.toString(16) + i); i.length % t != 0;) i = "0" + i; | |
| return 0 !== this.negative && (i = "-" + i), i | |
| } | |
| if (e === (0 | e) && e >= 2 && e <= 36) { | |
| var h = l[e], | |
| d = f[e]; | |
| i = ""; | |
| var p = this.clone(); | |
| for (p.negative = 0; !p.isZero();) { | |
| var m = p.modn(d).toString(e); | |
| i = (p = p.idivn(d)).isZero() ? m + i : u[h - m.length] + m + i | |
| } | |
| for (this.isZero() && (i = "0" + i); i.length % t != 0;) i = "0" + i; | |
| return 0 !== this.negative && (i = "-" + i), i | |
| } | |
| n(!1, "Base should be between 2 and 36") | |
| }, s.prototype.toNumber = function () { | |
| var e = this.words[0]; | |
| return 2 === this.length ? e += 67108864 * this.words[1] : 3 === this.length && 1 === this.words[2] ? e += 4503599627370496 + 67108864 * this.words[1] : this.length > 2 && n(!1, "Number can only safely store up to 53 bits"), 0 !== this.negative ? -e : e | |
| }, s.prototype.toJSON = function () { | |
| return this.toString(16) | |
| }, s.prototype.toBuffer = function (e, t) { | |
| return n(void 0 !== a), this.toArrayLike(a, e, t) | |
| }, s.prototype.toArray = function (e, t) { | |
| return this.toArrayLike(Array, e, t) | |
| }, s.prototype.toArrayLike = function (e, t, i) { | |
| var r = this.byteLength(), | |
| o = i || Math.max(1, r); | |
| n(r <= o, "byte array longer than desired length"), n(o > 0, "Requested array length <= 0"), this.strip(); | |
| var s, a, c = "le" === t, | |
| h = new e(o), | |
| u = this.clone(); | |
| if (c) { | |
| for (a = 0; !u.isZero(); a++) s = u.andln(255), u.iushrn(8), h[a] = s; | |
| for (; a < o; a++) h[a] = 0 | |
| } else { | |
| for (a = 0; a < o - r; a++) h[a] = 0; | |
| for (a = 0; !u.isZero(); a++) s = u.andln(255), u.iushrn(8), h[o - a - 1] = s | |
| } | |
| return h | |
| }, Math.clz32 ? s.prototype._countBits = function (e) { | |
| return 32 - Math.clz32(e) | |
| } : s.prototype._countBits = function (e) { | |
| var t = e, | |
| i = 0; | |
| return t >= 4096 && (i += 13, t >>>= 13), t >= 64 && (i += 7, t >>>= 7), t >= 8 && (i += 4, t >>>= 4), t >= 2 && (i += 2, t >>>= 2), i + t | |
| }, s.prototype._zeroBits = function (e) { | |
| if (0 === e) return 26; | |
| var t = e, | |
| i = 0; | |
| return 0 == (8191 & t) && (i += 13, t >>>= 13), 0 == (127 & t) && (i += 7, t >>>= 7), 0 == (15 & t) && (i += 4, t >>>= 4), 0 == (3 & t) && (i += 2, t >>>= 2), 0 == (1 & t) && i++, i | |
| }, s.prototype.bitLength = function () { | |
| var e = this.words[this.length - 1], | |
| t = this._countBits(e); | |
| return 26 * (this.length - 1) + t | |
| }, s.prototype.zeroBits = function () { | |
| if (this.isZero()) return 0; | |
| for (var e = 0, t = 0; t < this.length; t++) { | |
| var i = this._zeroBits(this.words[t]); | |
| if (e += i, 26 !== i) break | |
| } | |
| return e | |
| }, s.prototype.byteLength = function () { | |
| return Math.ceil(this.bitLength() / 8) | |
| }, s.prototype.toTwos = function (e) { | |
| return 0 !== this.negative ? this.abs().inotn(e).iaddn(1) : this.clone() | |
| }, s.prototype.fromTwos = function (e) { | |
| return this.testn(e - 1) ? this.notn(e).iaddn(1).ineg() : this.clone() | |
| }, s.prototype.isNeg = function () { | |
| return 0 !== this.negative | |
| }, s.prototype.neg = function () { | |
| return this.clone().ineg() | |
| }, s.prototype.ineg = function () { | |
| return this.isZero() || (this.negative ^= 1), this | |
| }, s.prototype.iuor = function (e) { | |
| for (; this.length < e.length;) this.words[this.length++] = 0; | |
| for (var t = 0; t < e.length; t++) this.words[t] = this.words[t] | e.words[t]; | |
| return this.strip() | |
| }, s.prototype.ior = function (e) { | |
| return n(0 == (this.negative | e.negative)), this.iuor(e) | |
| }, s.prototype.or = function (e) { | |
| return this.length > e.length ? this.clone().ior(e) : e.clone().ior(this) | |
| }, s.prototype.uor = function (e) { | |
| return this.length > e.length ? this.clone().iuor(e) : e.clone().iuor(this) | |
| }, s.prototype.iuand = function (e) { | |
| var t; | |
| t = this.length > e.length ? e : this; | |
| for (var i = 0; i < t.length; i++) this.words[i] = this.words[i] & e.words[i]; | |
| return this.length = t.length, this.strip() | |
| }, s.prototype.iand = function (e) { | |
| return n(0 == (this.negative | e.negative)), this.iuand(e) | |
| }, s.prototype.and = function (e) { | |
| return this.length > e.length ? this.clone().iand(e) : e.clone().iand(this) | |
| }, s.prototype.uand = function (e) { | |
| return this.length > e.length ? this.clone().iuand(e) : e.clone().iuand(this) | |
| }, s.prototype.iuxor = function (e) { | |
| var t, i; | |
| this.length > e.length ? (t = this, i = e) : (t = e, i = this); | |
| for (var r = 0; r < i.length; r++) this.words[r] = t.words[r] ^ i.words[r]; | |
| if (this !== t) | |
| for (; r < t.length; r++) this.words[r] = t.words[r]; | |
| return this.length = t.length, this.strip() | |
| }, s.prototype.ixor = function (e) { | |
| return n(0 == (this.negative | e.negative)), this.iuxor(e) | |
| }, s.prototype.xor = function (e) { | |
| return this.length > e.length ? this.clone().ixor(e) : e.clone().ixor(this) | |
| }, s.prototype.uxor = function (e) { | |
| return this.length > e.length ? this.clone().iuxor(e) : e.clone().iuxor(this) | |
| }, s.prototype.inotn = function (e) { | |
| n("number" == typeof e && e >= 0); | |
| var t = 0 | Math.ceil(e / 26), | |
| i = e % 26; | |
| this._expand(t), i > 0 && t--; | |
| for (var r = 0; r < t; r++) this.words[r] = 67108863 & ~this.words[r]; | |
| return i > 0 && (this.words[r] = ~this.words[r] & 67108863 >> 26 - i), this.strip() | |
| }, s.prototype.notn = function (e) { | |
| return this.clone().inotn(e) | |
| }, s.prototype.setn = function (e, t) { | |
| n("number" == typeof e && e >= 0); | |
| var i = e / 26 | 0, | |
| r = e % 26; | |
| return this._expand(i + 1), this.words[i] = t ? this.words[i] | 1 << r : this.words[i] & ~(1 << r), this.strip() | |
| }, s.prototype.iadd = function (e) { | |
| var t, i, r; | |
| if (0 !== this.negative && 0 === e.negative) return this.negative = 0, t = this.isub(e), this.negative ^= 1, this._normSign(); | |
| if (0 === this.negative && 0 !== e.negative) return e.negative = 0, t = this.isub(e), e.negative = 1, t._normSign(); | |
| this.length > e.length ? (i = this, r = e) : (i = e, r = this); | |
| for (var n = 0, o = 0; o < r.length; o++) t = (0 | i.words[o]) + (0 | r.words[o]) + n, this.words[o] = 67108863 & t, n = t >>> 26; | |
| for (; 0 !== n && o < i.length; o++) t = (0 | i.words[o]) + n, this.words[o] = 67108863 & t, n = t >>> 26; | |
| if (this.length = i.length, 0 !== n) this.words[this.length] = n, this.length++; | |
| else if (i !== this) | |
| for (; o < i.length; o++) this.words[o] = i.words[o]; | |
| return this | |
| }, s.prototype.add = function (e) { | |
| var t; | |
| return 0 !== e.negative && 0 === this.negative ? (e.negative = 0, t = this.sub(e), e.negative ^= 1, t) : 0 === e.negative && 0 !== this.negative ? (this.negative = 0, t = e.sub(this), this.negative = 1, t) : this.length > e.length ? this.clone().iadd(e) : e.clone().iadd(this) | |
| }, s.prototype.isub = function (e) { | |
| if (0 !== e.negative) { | |
| e.negative = 0; | |
| var t = this.iadd(e); | |
| return e.negative = 1, t._normSign() | |
| } | |
| if (0 !== this.negative) return this.negative = 0, this.iadd(e), this.negative = 1, this._normSign(); | |
| var i, r, n = this.cmp(e); | |
| if (0 === n) return this.negative = 0, this.length = 1, this.words[0] = 0, this; | |
| n > 0 ? (i = this, r = e) : (i = e, r = this); | |
| for (var o = 0, s = 0; s < r.length; s++) o = (t = (0 | i.words[s]) - (0 | r.words[s]) + o) >> 26, this.words[s] = 67108863 & t; | |
| for (; 0 !== o && s < i.length; s++) o = (t = (0 | i.words[s]) + o) >> 26, this.words[s] = 67108863 & t; | |
| if (0 === o && s < i.length && i !== this) | |
| for (; s < i.length; s++) this.words[s] = i.words[s]; | |
| return this.length = Math.max(this.length, s), i !== this && (this.negative = 1), this.strip() | |
| }, s.prototype.sub = function (e) { | |
| return this.clone().isub(e) | |
| }; | |
| var p = function (e, t, i) { | |
| var r, n, o, s = e.words, | |
| a = t.words, | |
| c = i.words, | |
| h = 0, | |
| u = 0 | s[0], | |
| l = 8191 & u, | |
| f = u >>> 13, | |
| d = 0 | s[1], | |
| p = 8191 & d, | |
| m = d >>> 13, | |
| g = 0 | s[2], | |
| _ = 8191 & g, | |
| v = g >>> 13, | |
| y = 0 | s[3], | |
| b = 8191 & y, | |
| x = y >>> 13, | |
| w = 0 | s[4], | |
| S = 8191 & w, | |
| T = w >>> 13, | |
| A = 0 | s[5], | |
| M = 8191 & A, | |
| E = A >>> 13, | |
| P = 0 | s[6], | |
| C = 8191 & P, | |
| R = P >>> 13, | |
| I = 0 | s[7], | |
| D = 8191 & I, | |
| O = I >>> 13, | |
| L = 0 | s[8], | |
| F = 8191 & L, | |
| B = L >>> 13, | |
| k = 0 | s[9], | |
| V = 8191 & k, | |
| N = k >>> 13, | |
| z = 0 | a[0], | |
| U = 8191 & z, | |
| G = z >>> 13, | |
| W = 0 | a[1], | |
| j = 8191 & W, | |
| H = W >>> 13, | |
| X = 0 | a[2], | |
| Y = 8191 & X, | |
| K = X >>> 13, | |
| q = 0 | a[3], | |
| Z = 8191 & q, | |
| Q = q >>> 13, | |
| J = 0 | a[4], | |
| $ = 8191 & J, | |
| ee = J >>> 13, | |
| te = 0 | a[5], | |
| ie = 8191 & te, | |
| re = te >>> 13, | |
| ne = 0 | a[6], | |
| oe = 8191 & ne, | |
| se = ne >>> 13, | |
| ae = 0 | a[7], | |
| ce = 8191 & ae, | |
| he = ae >>> 13, | |
| ue = 0 | a[8], | |
| le = 8191 & ue, | |
| fe = ue >>> 13, | |
| de = 0 | a[9], | |
| pe = 8191 & de, | |
| me = de >>> 13; | |
| i.negative = e.negative ^ t.negative, i.length = 19; | |
| var ge = (h + (r = Math.imul(l, U)) | 0) + ((8191 & (n = (n = Math.imul(l, G)) + Math.imul(f, U) | 0)) << 13) | 0; | |
| h = ((o = Math.imul(f, G)) + (n >>> 13) | 0) + (ge >>> 26) | 0, ge &= 67108863, r = Math.imul(p, U), n = (n = Math.imul(p, G)) + Math.imul(m, U) | 0, o = Math.imul(m, G); | |
| var _e = (h + (r = r + Math.imul(l, j) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(l, H) | 0) + Math.imul(f, j) | 0)) << 13) | 0; | |
| h = ((o = o + Math.imul(f, H) | 0) + (n >>> 13) | 0) + (_e >>> 26) | 0, _e &= 67108863, r = Math.imul(_, U), n = (n = Math.imul(_, G)) + Math.imul(v, U) | 0, o = Math.imul(v, G), r = r + Math.imul(p, j) | 0, n = (n = n + Math.imul(p, H) | 0) + Math.imul(m, j) | 0, o = o + Math.imul(m, H) | 0; | |
| var ve = (h + (r = r + Math.imul(l, Y) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(l, K) | 0) + Math.imul(f, Y) | 0)) << 13) | 0; | |
| h = ((o = o + Math.imul(f, K) | 0) + (n >>> 13) | 0) + (ve >>> 26) | 0, ve &= 67108863, r = Math.imul(b, U), n = (n = Math.imul(b, G)) + Math.imul(x, U) | 0, o = Math.imul(x, G), r = r + Math.imul(_, j) | 0, n = (n = n + Math.imul(_, H) | 0) + Math.imul(v, j) | 0, o = o + Math.imul(v, H) | 0, r = r + Math.imul(p, Y) | 0, n = (n = n + Math.imul(p, K) | 0) + Math.imul(m, Y) | 0, o = o + Math.imul(m, K) | 0; | |
| var ye = (h + (r = r + Math.imul(l, Z) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(l, Q) | 0) + Math.imul(f, Z) | 0)) << 13) | 0; | |
| h = ((o = o + Math.imul(f, Q) | 0) + (n >>> 13) | 0) + (ye >>> 26) | 0, ye &= 67108863, r = Math.imul(S, U), n = (n = Math.imul(S, G)) + Math.imul(T, U) | 0, o = Math.imul(T, G), r = r + Math.imul(b, j) | 0, n = (n = n + Math.imul(b, H) | 0) + Math.imul(x, j) | 0, o = o + Math.imul(x, H) | 0, r = r + Math.imul(_, Y) | 0, n = (n = n + Math.imul(_, K) | 0) + Math.imul(v, Y) | 0, o = o + Math.imul(v, K) | 0, r = r + Math.imul(p, Z) | 0, n = (n = n + Math.imul(p, Q) | 0) + Math.imul(m, Z) | 0, o = o + Math.imul(m, Q) | 0; | |
| var be = (h + (r = r + Math.imul(l, $) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(l, ee) | 0) + Math.imul(f, $) | 0)) << 13) | 0; | |
| h = ((o = o + Math.imul(f, ee) | 0) + (n >>> 13) | 0) + (be >>> 26) | 0, be &= 67108863, r = Math.imul(M, U), n = (n = Math.imul(M, G)) + Math.imul(E, U) | 0, o = Math.imul(E, G), r = r + Math.imul(S, j) | 0, n = (n = n + Math.imul(S, H) | 0) + Math.imul(T, j) | 0, o = o + Math.imul(T, H) | 0, r = r + Math.imul(b, Y) | 0, n = (n = n + Math.imul(b, K) | 0) + Math.imul(x, Y) | 0, o = o + Math.imul(x, K) | 0, r = r + Math.imul(_, Z) | 0, n = (n = n + Math.imul(_, Q) | 0) + Math.imul(v, Z) | 0, o = o + Math.imul(v, Q) | 0, r = r + Math.imul(p, $) | 0, n = (n = n + Math.imul(p, ee) | 0) + Math.imul(m, $) | 0, o = o + Math.imul(m, ee) | 0; | |
| var xe = (h + (r = r + Math.imul(l, ie) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(l, re) | 0) + Math.imul(f, ie) | 0)) << 13) | 0; | |
| h = ((o = o + Math.imul(f, re) | 0) + (n >>> 13) | 0) + (xe >>> 26) | 0, xe &= 67108863, r = Math.imul(C, U), n = (n = Math.imul(C, G)) + Math.imul(R, U) | 0, o = Math.imul(R, G), r = r + Math.imul(M, j) | 0, n = (n = n + Math.imul(M, H) | 0) + Math.imul(E, j) | 0, o = o + Math.imul(E, H) | 0, r = r + Math.imul(S, Y) | 0, n = (n = n + Math.imul(S, K) | 0) + Math.imul(T, Y) | 0, o = o + Math.imul(T, K) | 0, r = r + Math.imul(b, Z) | 0, n = (n = n + Math.imul(b, Q) | 0) + Math.imul(x, Z) | 0, o = o + Math.imul(x, Q) | 0, r = r + Math.imul(_, $) | 0, n = (n = n + Math.imul(_, ee) | 0) + Math.imul(v, $) | 0, o = o + Math.imul(v, ee) | 0, r = r + Math.imul(p, ie) | 0, n = (n = n + Math.imul(p, re) | 0) + Math.imul(m, ie) | 0, o = o + Math.imul(m, re) | 0; | |
| var we = (h + (r = r + Math.imul(l, oe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(l, se) | 0) + Math.imul(f, oe) | 0)) << 13) | 0; | |
| h = ((o = o + Math.imul(f, se) | 0) + (n >>> 13) | 0) + (we >>> 26) | 0, we &= 67108863, r = Math.imul(D, U), n = (n = Math.imul(D, G)) + Math.imul(O, U) | 0, o = Math.imul(O, G), r = r + Math.imul(C, j) | 0, n = (n = n + Math.imul(C, H) | 0) + Math.imul(R, j) | 0, o = o + Math.imul(R, H) | 0, r = r + Math.imul(M, Y) | 0, n = (n = n + Math.imul(M, K) | 0) + Math.imul(E, Y) | 0, o = o + Math.imul(E, K) | 0, r = r + Math.imul(S, Z) | 0, n = (n = n + Math.imul(S, Q) | 0) + Math.imul(T, Z) | 0, o = o + Math.imul(T, Q) | 0, r = r + Math.imul(b, $) | 0, n = (n = n + Math.imul(b, ee) | 0) + Math.imul(x, $) | 0, o = o + Math.imul(x, ee) | 0, r = r + Math.imul(_, ie) | 0, n = (n = n + Math.imul(_, re) | 0) + Math.imul(v, ie) | 0, o = o + Math.imul(v, re) | 0, r = r + Math.imul(p, oe) | 0, n = (n = n + Math.imul(p, se) | 0) + Math.imul(m, oe) | 0, o = o + Math.imul(m, se) | 0; | |
| var Se = (h + (r = r + Math.imul(l, ce) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(l, he) | 0) + Math.imul(f, ce) | 0)) << 13) | 0; | |
| h = ((o = o + Math.imul(f, he) | 0) + (n >>> 13) | 0) + (Se >>> 26) | 0, Se &= 67108863, r = Math.imul(F, U), n = (n = Math.imul(F, G)) + Math.imul(B, U) | 0, o = Math.imul(B, G), r = r + Math.imul(D, j) | 0, n = (n = n + Math.imul(D, H) | 0) + Math.imul(O, j) | 0, o = o + Math.imul(O, H) | 0, r = r + Math.imul(C, Y) | 0, n = (n = n + Math.imul(C, K) | 0) + Math.imul(R, Y) | 0, o = o + Math.imul(R, K) | 0, r = r + Math.imul(M, Z) | 0, n = (n = n + Math.imul(M, Q) | 0) + Math.imul(E, Z) | 0, o = o + Math.imul(E, Q) | 0, r = r + Math.imul(S, $) | 0, n = (n = n + Math.imul(S, ee) | 0) + Math.imul(T, $) | 0, o = o + Math.imul(T, ee) | 0, r = r + Math.imul(b, ie) | 0, n = (n = n + Math.imul(b, re) | 0) + Math.imul(x, ie) | 0, o = o + Math.imul(x, re) | 0, r = r + Math.imul(_, oe) | 0, n = (n = n + Math.imul(_, se) | 0) + Math.imul(v, oe) | 0, o = o + Math.imul(v, se) | 0, r = r + Math.imul(p, ce) | 0, n = (n = n + Math.imul(p, he) | 0) + Math.imul(m, ce) | 0, o = o + Math.imul(m, he) | 0; | |
| var Te = (h + (r = r + Math.imul(l, le) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(l, fe) | 0) + Math.imul(f, le) | 0)) << 13) | 0; | |
| h = ((o = o + Math.imul(f, fe) | 0) + (n >>> 13) | 0) + (Te >>> 26) | 0, Te &= 67108863, r = Math.imul(V, U), n = (n = Math.imul(V, G)) + Math.imul(N, U) | 0, o = Math.imul(N, G), r = r + Math.imul(F, j) | 0, n = (n = n + Math.imul(F, H) | 0) + Math.imul(B, j) | 0, o = o + Math.imul(B, H) | 0, r = r + Math.imul(D, Y) | 0, n = (n = n + Math.imul(D, K) | 0) + Math.imul(O, Y) | 0, o = o + Math.imul(O, K) | 0, r = r + Math.imul(C, Z) | 0, n = (n = n + Math.imul(C, Q) | 0) + Math.imul(R, Z) | 0, o = o + Math.imul(R, Q) | 0, r = r + Math.imul(M, $) | 0, n = (n = n + Math.imul(M, ee) | 0) + Math.imul(E, $) | 0, o = o + Math.imul(E, ee) | 0, r = r + Math.imul(S, ie) | 0, n = (n = n + Math.imul(S, re) | 0) + Math.imul(T, ie) | 0, o = o + Math.imul(T, re) | 0, r = r + Math.imul(b, oe) | 0, n = (n = n + Math.imul(b, se) | 0) + Math.imul(x, oe) | 0, o = o + Math.imul(x, se) | 0, r = r + Math.imul(_, ce) | 0, n = (n = n + Math.imul(_, he) | 0) + Math.imul(v, ce) | 0, o = o + Math.imul(v, he) | 0, r = r + Math.imul(p, le) | 0, n = (n = n + Math.imul(p, fe) | 0) + Math.imul(m, le) | 0, o = o + Math.imul(m, fe) | 0; | |
| var Ae = (h + (r = r + Math.imul(l, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(l, me) | 0) + Math.imul(f, pe) | 0)) << 13) | 0; | |
| h = ((o = o + Math.imul(f, me) | 0) + (n >>> 13) | 0) + (Ae >>> 26) | 0, Ae &= 67108863, r = Math.imul(V, j), n = (n = Math.imul(V, H)) + Math.imul(N, j) | 0, o = Math.imul(N, H), r = r + Math.imul(F, Y) | 0, n = (n = n + Math.imul(F, K) | 0) + Math.imul(B, Y) | 0, o = o + Math.imul(B, K) | 0, r = r + Math.imul(D, Z) | 0, n = (n = n + Math.imul(D, Q) | 0) + Math.imul(O, Z) | 0, o = o + Math.imul(O, Q) | 0, r = r + Math.imul(C, $) | 0, n = (n = n + Math.imul(C, ee) | 0) + Math.imul(R, $) | 0, o = o + Math.imul(R, ee) | 0, r = r + Math.imul(M, ie) | 0, n = (n = n + Math.imul(M, re) | 0) + Math.imul(E, ie) | 0, o = o + Math.imul(E, re) | 0, r = r + Math.imul(S, oe) | 0, n = (n = n + Math.imul(S, se) | 0) + Math.imul(T, oe) | 0, o = o + Math.imul(T, se) | 0, r = r + Math.imul(b, ce) | 0, n = (n = n + Math.imul(b, he) | 0) + Math.imul(x, ce) | 0, o = o + Math.imul(x, he) | 0, r = r + Math.imul(_, le) | 0, n = (n = n + Math.imul(_, fe) | 0) + Math.imul(v, le) | 0, o = o + Math.imul(v, fe) | 0; | |
| var Me = (h + (r = r + Math.imul(p, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(p, me) | 0) + Math.imul(m, pe) | 0)) << 13) | 0; | |
| h = ((o = o + Math.imul(m, me) | 0) + (n >>> 13) | 0) + (Me >>> 26) | 0, Me &= 67108863, r = Math.imul(V, Y), n = (n = Math.imul(V, K)) + Math.imul(N, Y) | 0, o = Math.imul(N, K), r = r + Math.imul(F, Z) | 0, n = (n = n + Math.imul(F, Q) | 0) + Math.imul(B, Z) | 0, o = o + Math.imul(B, Q) | 0, r = r + Math.imul(D, $) | 0, n = (n = n + Math.imul(D, ee) | 0) + Math.imul(O, $) | 0, o = o + Math.imul(O, ee) | 0, r = r + Math.imul(C, ie) | 0, n = (n = n + Math.imul(C, re) | 0) + Math.imul(R, ie) | 0, o = o + Math.imul(R, re) | 0, r = r + Math.imul(M, oe) | 0, n = (n = n + Math.imul(M, se) | 0) + Math.imul(E, oe) | 0, o = o + Math.imul(E, se) | 0, r = r + Math.imul(S, ce) | 0, n = (n = n + Math.imul(S, he) | 0) + Math.imul(T, ce) | 0, o = o + Math.imul(T, he) | 0, r = r + Math.imul(b, le) | 0, n = (n = n + Math.imul(b, fe) | 0) + Math.imul(x, le) | 0, o = o + Math.imul(x, fe) | 0; | |
| var Ee = (h + (r = r + Math.imul(_, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(_, me) | 0) + Math.imul(v, pe) | 0)) << 13) | 0; | |
| h = ((o = o + Math.imul(v, me) | 0) + (n >>> 13) | 0) + (Ee >>> 26) | 0, Ee &= 67108863, r = Math.imul(V, Z), n = (n = Math.imul(V, Q)) + Math.imul(N, Z) | 0, o = Math.imul(N, Q), r = r + Math.imul(F, $) | 0, n = (n = n + Math.imul(F, ee) | 0) + Math.imul(B, $) | 0, o = o + Math.imul(B, ee) | 0, r = r + Math.imul(D, ie) | 0, n = (n = n + Math.imul(D, re) | 0) + Math.imul(O, ie) | 0, o = o + Math.imul(O, re) | 0, r = r + Math.imul(C, oe) | 0, n = (n = n + Math.imul(C, se) | 0) + Math.imul(R, oe) | 0, o = o + Math.imul(R, se) | 0, r = r + Math.imul(M, ce) | 0, n = (n = n + Math.imul(M, he) | 0) + Math.imul(E, ce) | 0, o = o + Math.imul(E, he) | 0, r = r + Math.imul(S, le) | 0, n = (n = n + Math.imul(S, fe) | 0) + Math.imul(T, le) | 0, o = o + Math.imul(T, fe) | 0; | |
| var Pe = (h + (r = r + Math.imul(b, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(b, me) | 0) + Math.imul(x, pe) | 0)) << 13) | 0; | |
| h = ((o = o + Math.imul(x, me) | 0) + (n >>> 13) | 0) + (Pe >>> 26) | 0, Pe &= 67108863, r = Math.imul(V, $), n = (n = Math.imul(V, ee)) + Math.imul(N, $) | 0, o = Math.imul(N, ee), r = r + Math.imul(F, ie) | 0, n = (n = n + Math.imul(F, re) | 0) + Math.imul(B, ie) | 0, o = o + Math.imul(B, re) | 0, r = r + Math.imul(D, oe) | 0, n = (n = n + Math.imul(D, se) | 0) + Math.imul(O, oe) | 0, o = o + Math.imul(O, se) | 0, r = r + Math.imul(C, ce) | 0, n = (n = n + Math.imul(C, he) | 0) + Math.imul(R, ce) | 0, o = o + Math.imul(R, he) | 0, r = r + Math.imul(M, le) | 0, n = (n = n + Math.imul(M, fe) | 0) + Math.imul(E, le) | 0, o = o + Math.imul(E, fe) | 0; | |
| var Ce = (h + (r = r + Math.imul(S, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(S, me) | 0) + Math.imul(T, pe) | 0)) << 13) | 0; | |
| h = ((o = o + Math.imul(T, me) | 0) + (n >>> 13) | 0) + (Ce >>> 26) | 0, Ce &= 67108863, r = Math.imul(V, ie), n = (n = Math.imul(V, re)) + Math.imul(N, ie) | 0, o = Math.imul(N, re), r = r + Math.imul(F, oe) | 0, n = (n = n + Math.imul(F, se) | 0) + Math.imul(B, oe) | 0, o = o + Math.imul(B, se) | 0, r = r + Math.imul(D, ce) | 0, n = (n = n + Math.imul(D, he) | 0) + Math.imul(O, ce) | 0, o = o + Math.imul(O, he) | 0, r = r + Math.imul(C, le) | 0, n = (n = n + Math.imul(C, fe) | 0) + Math.imul(R, le) | 0, o = o + Math.imul(R, fe) | 0; | |
| var Re = (h + (r = r + Math.imul(M, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(M, me) | 0) + Math.imul(E, pe) | 0)) << 13) | 0; | |
| h = ((o = o + Math.imul(E, me) | 0) + (n >>> 13) | 0) + (Re >>> 26) | 0, Re &= 67108863, r = Math.imul(V, oe), n = (n = Math.imul(V, se)) + Math.imul(N, oe) | 0, o = Math.imul(N, se), r = r + Math.imul(F, ce) | 0, n = (n = n + Math.imul(F, he) | 0) + Math.imul(B, ce) | 0, o = o + Math.imul(B, he) | 0, r = r + Math.imul(D, le) | 0, n = (n = n + Math.imul(D, fe) | 0) + Math.imul(O, le) | 0, o = o + Math.imul(O, fe) | 0; | |
| var Ie = (h + (r = r + Math.imul(C, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(C, me) | 0) + Math.imul(R, pe) | 0)) << 13) | 0; | |
| h = ((o = o + Math.imul(R, me) | 0) + (n >>> 13) | 0) + (Ie >>> 26) | 0, Ie &= 67108863, r = Math.imul(V, ce), n = (n = Math.imul(V, he)) + Math.imul(N, ce) | 0, o = Math.imul(N, he), r = r + Math.imul(F, le) | 0, n = (n = n + Math.imul(F, fe) | 0) + Math.imul(B, le) | 0, o = o + Math.imul(B, fe) | 0; | |
| var De = (h + (r = r + Math.imul(D, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(D, me) | 0) + Math.imul(O, pe) | 0)) << 13) | 0; | |
| h = ((o = o + Math.imul(O, me) | 0) + (n >>> 13) | 0) + (De >>> 26) | 0, De &= 67108863, r = Math.imul(V, le), n = (n = Math.imul(V, fe)) + Math.imul(N, le) | 0, o = Math.imul(N, fe); | |
| var Oe = (h + (r = r + Math.imul(F, pe) | 0) | 0) + ((8191 & (n = (n = n + Math.imul(F, me) | 0) + Math.imul(B, pe) | 0)) << 13) | 0; | |
| h = ((o = o + Math.imul(B, me) | 0) + (n >>> 13) | 0) + (Oe >>> 26) | 0, Oe &= 67108863; | |
| var Le = (h + (r = Math.imul(V, pe)) | 0) + ((8191 & (n = (n = Math.imul(V, me)) + Math.imul(N, pe) | 0)) << 13) | 0; | |
| return h = ((o = Math.imul(N, me)) + (n >>> 13) | 0) + (Le >>> 26) | 0, Le &= 67108863, c[0] = ge, c[1] = _e, c[2] = ve, c[3] = ye, c[4] = be, c[5] = xe, c[6] = we, c[7] = Se, c[8] = Te, c[9] = Ae, c[10] = Me, c[11] = Ee, c[12] = Pe, c[13] = Ce, c[14] = Re, c[15] = Ie, c[16] = De, c[17] = Oe, c[18] = Le, 0 !== h && (c[19] = h, i.length++), i | |
| }; | |
| function m(e, t, i) { | |
| return (new g).mulp(e, t, i) | |
| } | |
| function g(e, t) { | |
| this.x = e, this.y = t | |
| } | |
| Math.imul || (p = d), s.prototype.mulTo = function (e, t) { | |
| var i = this.length + e.length; | |
| return 10 === this.length && 10 === e.length ? p(this, e, t) : i < 63 ? d(this, e, t) : i < 1024 ? function (e, t, i) { | |
| i.negative = t.negative ^ e.negative, i.length = e.length + t.length; | |
| for (var r = 0, n = 0, o = 0; o < i.length - 1; o++) { | |
| var s = n; | |
| n = 0; | |
| for (var a = 67108863 & r, c = Math.min(o, t.length - 1), h = Math.max(0, o - e.length + 1); h <= c; h++) { | |
| var u = o - h, | |
| l = (0 | e.words[u]) * (0 | t.words[h]), | |
| f = 67108863 & l; | |
| a = 67108863 & (f = f + a | 0), n += (s = (s = s + (l / 67108864 | 0) | 0) + (f >>> 26) | 0) >>> 26, s &= 67108863 | |
| } | |
| i.words[o] = a, r = s, s = n | |
| } | |
| return 0 !== r ? i.words[o] = r : i.length--, i.strip() | |
| }(this, e, t) : m(this, e, t) | |
| }, g.prototype.makeRBT = function (e) { | |
| for (var t = new Array(e), i = s.prototype._countBits(e) - 1, r = 0; r < e; r++) t[r] = this.revBin(r, i, e); | |
| return t | |
| }, g.prototype.revBin = function (e, t, i) { | |
| if (0 === e || e === i - 1) return e; | |
| for (var r = 0, n = 0; n < t; n++) r |= (1 & e) << t - n - 1, e >>= 1; | |
| return r | |
| }, g.prototype.permute = function (e, t, i, r, n, o) { | |
| for (var s = 0; s < o; s++) r[s] = t[e[s]], n[s] = i[e[s]] | |
| }, g.prototype.transform = function (e, t, i, r, n, o) { | |
| this.permute(o, e, t, i, r, n); | |
| for (var s = 1; s < n; s <<= 1) | |
| for (var a = s << 1, c = Math.cos(2 * Math.PI / a), h = Math.sin(2 * Math.PI / a), u = 0; u < n; u += a) | |
| for (var l = c, f = h, d = 0; d < s; d++) { | |
| var p = i[u + d], | |
| m = r[u + d], | |
| g = i[u + d + s], | |
| _ = r[u + d + s], | |
| v = l * g - f * _; | |
| _ = l * _ + f * g, g = v, i[u + d] = p + g, r[u + d] = m + _, i[u + d + s] = p - g, r[u + d + s] = m - _, d !== a && (v = c * l - h * f, f = c * f + h * l, l = v) | |
| } | |
| }, g.prototype.guessLen13b = function (e, t) { | |
| var i = 1 | Math.max(t, e), | |
| r = 1 & i, | |
| n = 0; | |
| for (i = i / 2 | 0; i; i >>>= 1) n++; | |
| return 1 << n + 1 + r | |
| }, g.prototype.conjugate = function (e, t, i) { | |
| if (!(i <= 1)) | |
| for (var r = 0; r < i / 2; r++) { | |
| var n = e[r]; | |
| e[r] = e[i - r - 1], e[i - r - 1] = n, n = t[r], t[r] = -t[i - r - 1], t[i - r - 1] = -n | |
| } | |
| }, g.prototype.normalize13b = function (e, t) { | |
| for (var i = 0, r = 0; r < t / 2; r++) { | |
| var n = 8192 * Math.round(e[2 * r + 1] / t) + Math.round(e[2 * r] / t) + i; | |
| e[r] = 67108863 & n, i = n < 67108864 ? 0 : n / 67108864 | 0 | |
| } | |
| return e | |
| }, g.prototype.convert13b = function (e, t, i, r) { | |
| for (var o = 0, s = 0; s < t; s++) o += 0 | e[s], i[2 * s] = 8191 & o, o >>>= 13, i[2 * s + 1] = 8191 & o, o >>>= 13; | |
| for (s = 2 * t; s < r; ++s) i[s] = 0; | |
| n(0 === o), n(0 == (-8192 & o)) | |
| }, g.prototype.stub = function (e) { | |
| for (var t = new Array(e), i = 0; i < e; i++) t[i] = 0; | |
| return t | |
| }, g.prototype.mulp = function (e, t, i) { | |
| var r = 2 * this.guessLen13b(e.length, t.length), | |
| n = this.makeRBT(r), | |
| o = this.stub(r), | |
| s = new Array(r), | |
| a = new Array(r), | |
| c = new Array(r), | |
| h = new Array(r), | |
| u = new Array(r), | |
| l = new Array(r), | |
| f = i.words; | |
| f.length = r, this.convert13b(e.words, e.length, s, r), this.convert13b(t.words, t.length, h, r), this.transform(s, o, a, c, r, n), this.transform(h, o, u, l, r, n); | |
| for (var d = 0; d < r; d++) { | |
| var p = a[d] * u[d] - c[d] * l[d]; | |
| c[d] = a[d] * l[d] + c[d] * u[d], a[d] = p | |
| } | |
| return this.conjugate(a, c, r), this.transform(a, c, f, o, r, n), this.conjugate(f, o, r), this.normalize13b(f, r), i.negative = e.negative ^ t.negative, i.length = e.length + t.length, i.strip() | |
| }, s.prototype.mul = function (e) { | |
| var t = new s(null); | |
| return t.words = new Array(this.length + e.length), this.mulTo(e, t) | |
| }, s.prototype.mulf = function (e) { | |
| var t = new s(null); | |
| return t.words = new Array(this.length + e.length), m(this, e, t) | |
| }, s.prototype.imul = function (e) { | |
| return this.clone().mulTo(e, this) | |
| }, s.prototype.imuln = function (e) { | |
| n("number" == typeof e), n(e < 67108864); | |
| for (var t = 0, i = 0; i < this.length; i++) { | |
| var r = (0 | this.words[i]) * e, | |
| o = (67108863 & r) + (67108863 & t); | |
| t >>= 26, t += r / 67108864 | 0, t += o >>> 26, this.words[i] = 67108863 & o | |
| } | |
| return 0 !== t && (this.words[i] = t, this.length++), this | |
| }, s.prototype.muln = function (e) { | |
| return this.clone().imuln(e) | |
| }, s.prototype.sqr = function () { | |
| return this.mul(this) | |
| }, s.prototype.isqr = function () { | |
| return this.imul(this.clone()) | |
| }, s.prototype.pow = function (e) { | |
| var t = function (e) { | |
| for (var t = new Array(e.bitLength()), i = 0; i < t.length; i++) { | |
| var r = i / 26 | 0, | |
| n = i % 26; | |
| t[i] = (e.words[r] & 1 << n) >>> n | |
| } | |
| return t | |
| }(e); | |
| if (0 === t.length) return new s(1); | |
| for (var i = this, r = 0; r < t.length && 0 === t[r]; r++, i = i.sqr()); | |
| if (++r < t.length) | |
| for (var n = i.sqr(); r < t.length; r++, n = n.sqr()) 0 !== t[r] && (i = i.mul(n)); | |
| return i | |
| }, s.prototype.iushln = function (e) { | |
| n("number" == typeof e && e >= 0); | |
| var t, i = e % 26, | |
| r = (e - i) / 26, | |
| o = 67108863 >>> 26 - i << 26 - i; | |
| if (0 !== i) { | |
| var s = 0; | |
| for (t = 0; t < this.length; t++) { | |
| var a = this.words[t] & o, | |
| c = (0 | this.words[t]) - a << i; | |
| this.words[t] = c | s, s = a >>> 26 - i | |
| } | |
| s && (this.words[t] = s, this.length++) | |
| } | |
| if (0 !== r) { | |
| for (t = this.length - 1; t >= 0; t--) this.words[t + r] = this.words[t]; | |
| for (t = 0; t < r; t++) this.words[t] = 0; | |
| this.length += r | |
| } | |
| return this.strip() | |
| }, s.prototype.ishln = function (e) { | |
| return n(0 === this.negative), this.iushln(e) | |
| }, s.prototype.iushrn = function (e, t, i) { | |
| var r; | |
| n("number" == typeof e && e >= 0), r = t ? (t - t % 26) / 26 : 0; | |
| var o = e % 26, | |
| s = Math.min((e - o) / 26, this.length), | |
| a = 67108863 ^ 67108863 >>> o << o, | |
| c = i; | |
| if (r -= s, r = Math.max(0, r), c) { | |
| for (var h = 0; h < s; h++) c.words[h] = this.words[h]; | |
| c.length = s | |
| } | |
| if (0 === s); | |
| else if (this.length > s) | |
| for (this.length -= s, h = 0; h < this.length; h++) this.words[h] = this.words[h + s]; | |
| else this.words[0] = 0, this.length = 1; | |
| var u = 0; | |
| for (h = this.length - 1; h >= 0 && (0 !== u || h >= r); h--) { | |
| var l = 0 | this.words[h]; | |
| this.words[h] = u << 26 - o | l >>> o, u = l & a | |
| } | |
| return c && 0 !== u && (c.words[c.length++] = u), 0 === this.length && (this.words[0] = 0, this.length = 1), this.strip() | |
| }, s.prototype.ishrn = function (e, t, i) { | |
| return n(0 === this.negative), this.iushrn(e, t, i) | |
| }, s.prototype.shln = function (e) { | |
| return this.clone().ishln(e) | |
| }, s.prototype.ushln = function (e) { | |
| return this.clone().iushln(e) | |
| }, s.prototype.shrn = function (e) { | |
| return this.clone().ishrn(e) | |
| }, s.prototype.ushrn = function (e) { | |
| return this.clone().iushrn(e) | |
| }, s.prototype.testn = function (e) { | |
| n("number" == typeof e && e >= 0); | |
| var t = e % 26, | |
| i = (e - t) / 26, | |
| r = 1 << t; | |
| return !(this.length <= i) && !!(this.words[i] & r) | |
| }, s.prototype.imaskn = function (e) { | |
| n("number" == typeof e && e >= 0); | |
| var t = e % 26, | |
| i = (e - t) / 26; | |
| if (n(0 === this.negative, "imaskn works only with positive numbers"), this.length <= i) return this; | |
| if (0 !== t && i++, this.length = Math.min(i, this.length), 0 !== t) { | |
| var r = 67108863 ^ 67108863 >>> t << t; | |
| this.words[this.length - 1] &= r | |
| } | |
| return this.strip() | |
| }, s.prototype.maskn = function (e) { | |
| return this.clone().imaskn(e) | |
| }, s.prototype.iaddn = function (e) { | |
| return n("number" == typeof e), n(e < 67108864), e < 0 ? this.isubn(-e) : 0 !== this.negative ? 1 === this.length && (0 | this.words[0]) < e ? (this.words[0] = e - (0 | this.words[0]), this.negative = 0, this) : (this.negative = 0, this.isubn(e), this.negative = 1, this) : this._iaddn(e) | |
| }, s.prototype._iaddn = function (e) { | |
| this.words[0] += e; | |
| for (var t = 0; t < this.length && this.words[t] >= 67108864; t++) this.words[t] -= 67108864, t === this.length - 1 ? this.words[t + 1] = 1 : this.words[t + 1]++; | |
| return this.length = Math.max(this.length, t + 1), this | |
| }, s.prototype.isubn = function (e) { | |
| if (n("number" == typeof e), n(e < 67108864), e < 0) return this.iaddn(-e); | |
| if (0 !== this.negative) return this.negative = 0, this.iaddn(e), this.negative = 1, this; | |
| if (this.words[0] -= e, 1 === this.length && this.words[0] < 0) this.words[0] = -this.words[0], this.negative = 1; | |
| else | |
| for (var t = 0; t < this.length && this.words[t] < 0; t++) this.words[t] += 67108864, this.words[t + 1] -= 1; | |
| return this.strip() | |
| }, s.prototype.addn = function (e) { | |
| return this.clone().iaddn(e) | |
| }, s.prototype.subn = function (e) { | |
| return this.clone().isubn(e) | |
| }, s.prototype.iabs = function () { | |
| return this.negative = 0, this | |
| }, s.prototype.abs = function () { | |
| return this.clone().iabs() | |
| }, s.prototype._ishlnsubmul = function (e, t, i) { | |
| var r, o, s = e.length + i; | |
| this._expand(s); | |
| var a = 0; | |
| for (r = 0; r < e.length; r++) { | |
| o = (0 | this.words[r + i]) + a; | |
| var c = (0 | e.words[r]) * t; | |
| a = ((o -= 67108863 & c) >> 26) - (c / 67108864 | 0), this.words[r + i] = 67108863 & o | |
| } | |
| for (; r < this.length - i; r++) a = (o = (0 | this.words[r + i]) + a) >> 26, this.words[r + i] = 67108863 & o; | |
| if (0 === a) return this.strip(); | |
| for (n(-1 === a), a = 0, r = 0; r < this.length; r++) a = (o = -(0 | this.words[r]) + a) >> 26, this.words[r] = 67108863 & o; | |
| return this.negative = 1, this.strip() | |
| }, s.prototype._wordDiv = function (e, t) { | |
| var i = (this.length, e.length), | |
| r = this.clone(), | |
| n = e, | |
| o = 0 | n.words[n.length - 1]; | |
| 0 !== (i = 26 - this._countBits(o)) && (n = n.ushln(i), r.iushln(i), o = 0 | n.words[n.length - 1]); | |
| var a, c = r.length - n.length; | |
| if ("mod" !== t) { | |
| (a = new s(null)).length = c + 1, a.words = new Array(a.length); | |
| for (var h = 0; h < a.length; h++) a.words[h] = 0 | |
| } | |
| var u = r.clone()._ishlnsubmul(n, 1, c); | |
| 0 === u.negative && (r = u, a && (a.words[c] = 1)); | |
| for (var l = c - 1; l >= 0; l--) { | |
| var f = 67108864 * (0 | r.words[n.length + l]) + (0 | r.words[n.length + l - 1]); | |
| for (f = Math.min(f / o | 0, 67108863), r._ishlnsubmul(n, f, l); 0 !== r.negative;) f--, r.negative = 0, r._ishlnsubmul(n, 1, l), r.isZero() || (r.negative ^= 1); | |
| a && (a.words[l] = f) | |
| } | |
| return a && a.strip(), r.strip(), "div" !== t && 0 !== i && r.iushrn(i), { | |
| div: a || null, | |
| mod: r | |
| } | |
| }, s.prototype.divmod = function (e, t, i) { | |
| return n(!e.isZero()), this.isZero() ? { | |
| div: new s(0), | |
| mod: new s(0) | |
| } : 0 !== this.negative && 0 === e.negative ? (a = this.neg().divmod(e, t), "mod" !== t && (r = a.div.neg()), "div" !== t && (o = a.mod.neg(), i && 0 !== o.negative && o.iadd(e)), { | |
| div: r, | |
| mod: o | |
| }) : 0 === this.negative && 0 !== e.negative ? (a = this.divmod(e.neg(), t), "mod" !== t && (r = a.div.neg()), { | |
| div: r, | |
| mod: a.mod | |
| }) : 0 != (this.negative & e.negative) ? (a = this.neg().divmod(e.neg(), t), "div" !== t && (o = a.mod.neg(), i && 0 !== o.negative && o.isub(e)), { | |
| div: a.div, | |
| mod: o | |
| }) : e.length > this.length || this.cmp(e) < 0 ? { | |
| div: new s(0), | |
| mod: this | |
| } : 1 === e.length ? "div" === t ? { | |
| div: this.divn(e.words[0]), | |
| mod: null | |
| } : "mod" === t ? { | |
| div: null, | |
| mod: new s(this.modn(e.words[0])) | |
| } : { | |
| div: this.divn(e.words[0]), | |
| mod: new s(this.modn(e.words[0])) | |
| } : this._wordDiv(e, t); | |
| var r, o, a | |
| }, s.prototype.div = function (e) { | |
| return this.divmod(e, "div", !1).div | |
| }, s.prototype.mod = function (e) { | |
| return this.divmod(e, "mod", !1).mod | |
| }, s.prototype.umod = function (e) { | |
| return this.divmod(e, "mod", !0).mod | |
| }, s.prototype.divRound = function (e) { | |
| var t = this.divmod(e); | |
| if (t.mod.isZero()) return t.div; | |
| var i = 0 !== t.div.negative ? t.mod.isub(e) : t.mod, | |
| r = e.ushrn(1), | |
| n = e.andln(1), | |
| o = i.cmp(r); | |
| return o < 0 || 1 === n && 0 === o ? t.div : 0 !== t.div.negative ? t.div.isubn(1) : t.div.iaddn(1) | |
| }, s.prototype.modn = function (e) { | |
| n(e <= 67108863); | |
| for (var t = (1 << 26) % e, i = 0, r = this.length - 1; r >= 0; r--) i = (t * i + (0 | this.words[r])) % e; | |
| return i | |
| }, s.prototype.idivn = function (e) { | |
| n(e <= 67108863); | |
| for (var t = 0, i = this.length - 1; i >= 0; i--) { | |
| var r = (0 | this.words[i]) + 67108864 * t; | |
| this.words[i] = r / e | 0, t = r % e | |
| } | |
| return this.strip() | |
| }, s.prototype.divn = function (e) { | |
| return this.clone().idivn(e) | |
| }, s.prototype.egcd = function (e) { | |
| n(0 === e.negative), n(!e.isZero()); | |
| var t = this, | |
| i = e.clone(); | |
| t = 0 !== t.negative ? t.umod(e) : t.clone(); | |
| for (var r = new s(1), o = new s(0), a = new s(0), c = new s(1), h = 0; t.isEven() && i.isEven();) t.iushrn(1), i.iushrn(1), ++h; | |
| for (var u = i.clone(), l = t.clone(); !t.isZero();) { | |
| for (var f = 0, d = 1; 0 == (t.words[0] & d) && f < 26; ++f, d <<= 1); | |
| if (f > 0) | |
| for (t.iushrn(f); f-- > 0;)(r.isOdd() || o.isOdd()) && (r.iadd(u), o.isub(l)), r.iushrn(1), o.iushrn(1); | |
| for (var p = 0, m = 1; 0 == (i.words[0] & m) && p < 26; ++p, m <<= 1); | |
| if (p > 0) | |
| for (i.iushrn(p); p-- > 0;)(a.isOdd() || c.isOdd()) && (a.iadd(u), c.isub(l)), a.iushrn(1), c.iushrn(1); | |
| t.cmp(i) >= 0 ? (t.isub(i), r.isub(a), o.isub(c)) : (i.isub(t), a.isub(r), c.isub(o)) | |
| } | |
| return { | |
| a: a, | |
| b: c, | |
| gcd: i.iushln(h) | |
| } | |
| }, s.prototype._invmp = function (e) { | |
| n(0 === e.negative), n(!e.isZero()); | |
| var t = this, | |
| i = e.clone(); | |
| t = 0 !== t.negative ? t.umod(e) : t.clone(); | |
| for (var r, o = new s(1), a = new s(0), c = i.clone(); t.cmpn(1) > 0 && i.cmpn(1) > 0;) { | |
| for (var h = 0, u = 1; 0 == (t.words[0] & u) && h < 26; ++h, u <<= 1); | |
| if (h > 0) | |
| for (t.iushrn(h); h-- > 0;) o.isOdd() && o.iadd(c), o.iushrn(1); | |
| for (var l = 0, f = 1; 0 == (i.words[0] & f) && l < 26; ++l, f <<= 1); | |
| if (l > 0) | |
| for (i.iushrn(l); l-- > 0;) a.isOdd() && a.iadd(c), a.iushrn(1); | |
| t.cmp(i) >= 0 ? (t.isub(i), o.isub(a)) : (i.isub(t), a.isub(o)) | |
| } | |
| return (r = 0 === t.cmpn(1) ? o : a).cmpn(0) < 0 && r.iadd(e), r | |
| }, s.prototype.gcd = function (e) { | |
| if (this.isZero()) return e.abs(); | |
| if (e.isZero()) return this.abs(); | |
| var t = this.clone(), | |
| i = e.clone(); | |
| t.negative = 0, i.negative = 0; | |
| for (var r = 0; t.isEven() && i.isEven(); r++) t.iushrn(1), i.iushrn(1); | |
| for (;;) { | |
| for (; t.isEven();) t.iushrn(1); | |
| for (; i.isEven();) i.iushrn(1); | |
| var n = t.cmp(i); | |
| if (n < 0) { | |
| var o = t; | |
| t = i, i = o | |
| } else if (0 === n || 0 === i.cmpn(1)) break; | |
| t.isub(i) | |
| } | |
| return i.iushln(r) | |
| }, s.prototype.invm = function (e) { | |
| return this.egcd(e).a.umod(e) | |
| }, s.prototype.isEven = function () { | |
| return 0 == (1 & this.words[0]) | |
| }, s.prototype.isOdd = function () { | |
| return 1 == (1 & this.words[0]) | |
| }, s.prototype.andln = function (e) { | |
| return this.words[0] & e | |
| }, s.prototype.bincn = function (e) { | |
| n("number" == typeof e); | |
| var t = e % 26, | |
| i = (e - t) / 26, | |
| r = 1 << t; | |
| if (this.length <= i) return this._expand(i + 1), this.words[i] |= r, this; | |
| for (var o = r, s = i; 0 !== o && s < this.length; s++) { | |
| var a = 0 | this.words[s]; | |
| o = (a += o) >>> 26, a &= 67108863, this.words[s] = a | |
| } | |
| return 0 !== o && (this.words[s] = o, this.length++), this | |
| }, s.prototype.isZero = function () { | |
| return 1 === this.length && 0 === this.words[0] | |
| }, s.prototype.cmpn = function (e) { | |
| var t, i = e < 0; | |
| if (0 !== this.negative && !i) return -1; | |
| if (0 === this.negative && i) return 1; | |
| if (this.strip(), this.length > 1) t = 1; | |
| else { | |
| i && (e = -e), n(e <= 67108863, "Number is too big"); | |
| var r = 0 | this.words[0]; | |
| t = r === e ? 0 : r < e ? -1 : 1 | |
| } | |
| return 0 !== this.negative ? 0 | -t : t | |
| }, s.prototype.cmp = function (e) { | |
| if (0 !== this.negative && 0 === e.negative) return -1; | |
| if (0 === this.negative && 0 !== e.negative) return 1; | |
| var t = this.ucmp(e); | |
| return 0 !== this.negative ? 0 | -t : t | |
| }, s.prototype.ucmp = function (e) { | |
| if (this.length > e.length) return 1; | |
| if (this.length < e.length) return -1; | |
| for (var t = 0, i = this.length - 1; i >= 0; i--) { | |
| var r = 0 | this.words[i], | |
| n = 0 | e.words[i]; | |
| if (r !== n) { | |
| r < n ? t = -1 : r > n && (t = 1); | |
| break | |
| } | |
| } | |
| return t | |
| }, s.prototype.gtn = function (e) { | |
| return 1 === this.cmpn(e) | |
| }, s.prototype.gt = function (e) { | |
| return 1 === this.cmp(e) | |
| }, s.prototype.gten = function (e) { | |
| return this.cmpn(e) >= 0 | |
| }, s.prototype.gte = function (e) { | |
| return this.cmp(e) >= 0 | |
| }, s.prototype.ltn = function (e) { | |
| return -1 === this.cmpn(e) | |
| }, s.prototype.lt = function (e) { | |
| return -1 === this.cmp(e) | |
| }, s.prototype.lten = function (e) { | |
| return this.cmpn(e) <= 0 | |
| }, s.prototype.lte = function (e) { | |
| return this.cmp(e) <= 0 | |
| }, s.prototype.eqn = function (e) { | |
| return 0 === this.cmpn(e) | |
| }, s.prototype.eq = function (e) { | |
| return 0 === this.cmp(e) | |
| }, s.red = function (e) { | |
| return new S(e) | |
| }, s.prototype.toRed = function (e) { | |
| return n(!this.red, "Already a number in reduction context"), n(0 === this.negative, "red works only with positives"), e.convertTo(this)._forceRed(e) | |
| }, s.prototype.fromRed = function () { | |
| return n(this.red, "fromRed works only with numbers in reduction context"), this.red.convertFrom(this) | |
| }, s.prototype._forceRed = function (e) { | |
| return this.red = e, this | |
| }, s.prototype.forceRed = function (e) { | |
| return n(!this.red, "Already a number in reduction context"), this._forceRed(e) | |
| }, s.prototype.redAdd = function (e) { | |
| return n(this.red, "redAdd works only with red numbers"), this.red.add(this, e) | |
| }, s.prototype.redIAdd = function (e) { | |
| return n(this.red, "redIAdd works only with red numbers"), this.red.iadd(this, e) | |
| }, s.prototype.redSub = function (e) { | |
| return n(this.red, "redSub works only with red numbers"), this.red.sub(this, e) | |
| }, s.prototype.redISub = function (e) { | |
| return n(this.red, "redISub works only with red numbers"), this.red.isub(this, e) | |
| }, s.prototype.redShl = function (e) { | |
| return n(this.red, "redShl works only with red numbers"), this.red.shl(this, e) | |
| }, s.prototype.redMul = function (e) { | |
| return n(this.red, "redMul works only with red numbers"), this.red._verify2(this, e), this.red.mul(this, e) | |
| }, s.prototype.redIMul = function (e) { | |
| return n(this.red, "redMul works only with red numbers"), this.red._verify2(this, e), this.red.imul(this, e) | |
| }, s.prototype.redSqr = function () { | |
| return n(this.red, "redSqr works only with red numbers"), this.red._verify1(this), this.red.sqr(this) | |
| }, s.prototype.redISqr = function () { | |
| return n(this.red, "redISqr works only with red numbers"), this.red._verify1(this), this.red.isqr(this) | |
| }, s.prototype.redSqrt = function () { | |
| return n(this.red, "redSqrt works only with red numbers"), this.red._verify1(this), this.red.sqrt(this) | |
| }, s.prototype.redInvm = function () { | |
| return n(this.red, "redInvm works only with red numbers"), this.red._verify1(this), this.red.invm(this) | |
| }, s.prototype.redNeg = function () { | |
| return n(this.red, "redNeg works only with red numbers"), this.red._verify1(this), this.red.neg(this) | |
| }, s.prototype.redPow = function (e) { | |
| return n(this.red && !e.red, "redPow(normalNum)"), this.red._verify1(this), this.red.pow(this, e) | |
| }; | |
| var _ = { | |
| k256: null, | |
| p224: null, | |
| p192: null, | |
| p25519: null | |
| }; | |
| function v(e, t) { | |
| this.name = e, this.p = new s(t, 16), this.n = this.p.bitLength(), this.k = new s(1).iushln(this.n).isub(this.p), this.tmp = this._tmp() | |
| } | |
| function y() { | |
| v.call(this, "k256", "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f") | |
| } | |
| function b() { | |
| v.call(this, "p224", "ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001") | |
| } | |
| function x() { | |
| v.call(this, "p192", "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff") | |
| } | |
| function w() { | |
| v.call(this, "25519", "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed") | |
| } | |
| function S(e) { | |
| if ("string" == typeof e) { | |
| var t = s._prime(e); | |
| this.m = t.p, this.prime = t | |
| } else n(e.gtn(1), "modulus must be greater than 1"), this.m = e, this.prime = null | |
| } | |
| function T(e) { | |
| S.call(this, e), this.shift = this.m.bitLength(), this.shift % 26 != 0 && (this.shift += 26 - this.shift % 26), this.r = new s(1).iushln(this.shift), this.r2 = this.imod(this.r.sqr()), this.rinv = this.r._invmp(this.m), this.minv = this.rinv.mul(this.r).isubn(1).div(this.m), this.minv = this.minv.umod(this.r), this.minv = this.r.sub(this.minv) | |
| } | |
| v.prototype._tmp = function () { | |
| var e = new s(null); | |
| return e.words = new Array(Math.ceil(this.n / 13)), e | |
| }, v.prototype.ireduce = function (e) { | |
| var t, i = e; | |
| do { | |
| this.split(i, this.tmp), t = (i = (i = this.imulK(i)).iadd(this.tmp)).bitLength() | |
| } while (t > this.n); | |
| var r = t < this.n ? -1 : i.ucmp(this.p); | |
| return 0 === r ? (i.words[0] = 0, i.length = 1) : r > 0 ? i.isub(this.p) : i.strip(), i | |
| }, v.prototype.split = function (e, t) { | |
| e.iushrn(this.n, 0, t) | |
| }, v.prototype.imulK = function (e) { | |
| return e.imul(this.k) | |
| }, o(y, v), y.prototype.split = function (e, t) { | |
| for (var i = Math.min(e.length, 9), r = 0; r < i; r++) t.words[r] = e.words[r]; | |
| if (t.length = i, e.length <= 9) return e.words[0] = 0, void(e.length = 1); | |
| var n = e.words[9]; | |
| for (t.words[t.length++] = 4194303 & n, r = 10; r < e.length; r++) { | |
| var o = 0 | e.words[r]; | |
| e.words[r - 10] = (4194303 & o) << 4 | n >>> 22, n = o | |
| } | |
| n >>>= 22, e.words[r - 10] = n, 0 === n && e.length > 10 ? e.length -= 10 : e.length -= 9 | |
| }, y.prototype.imulK = function (e) { | |
| e.words[e.length] = 0, e.words[e.length + 1] = 0, e.length += 2; | |
| for (var t = 0, i = 0; i < e.length; i++) { | |
| var r = 0 | e.words[i]; | |
| t += 977 * r, e.words[i] = 67108863 & t, t = 64 * r + (t / 67108864 | 0) | |
| } | |
| return 0 === e.words[e.length - 1] && (e.length--, 0 === e.words[e.length - 1] && e.length--), e | |
| }, o(b, v), o(x, v), o(w, v), w.prototype.imulK = function (e) { | |
| for (var t = 0, i = 0; i < e.length; i++) { | |
| var r = 19 * (0 | e.words[i]) + t, | |
| n = 67108863 & r; | |
| r >>>= 26, e.words[i] = n, t = r | |
| } | |
| return 0 !== t && (e.words[e.length++] = t), e | |
| }, s._prime = function (e) { | |
| if (_[e]) return _[e]; | |
| var t; | |
| if ("k256" === e) t = new y; | |
| else if ("p224" === e) t = new b; | |
| else if ("p192" === e) t = new x; | |
| else { | |
| if ("p25519" !== e) throw new Error("Unknown prime " + e); | |
| t = new w | |
| } | |
| return _[e] = t, t | |
| }, S.prototype._verify1 = function (e) { | |
| n(0 === e.negative, "red works only with positives"), n(e.red, "red works only with red numbers") | |
| }, S.prototype._verify2 = function (e, t) { | |
| n(0 == (e.negative | t.negative), "red works only with positives"), n(e.red && e.red === t.red, "red works only with red numbers") | |
| }, S.prototype.imod = function (e) { | |
| return this.prime ? this.prime.ireduce(e)._forceRed(this) : e.umod(this.m)._forceRed(this) | |
| }, S.prototype.neg = function (e) { | |
| return e.isZero() ? e.clone() : this.m.sub(e)._forceRed(this) | |
| }, S.prototype.add = function (e, t) { | |
| this._verify2(e, t); | |
| var i = e.add(t); | |
| return i.cmp(this.m) >= 0 && i.isub(this.m), i._forceRed(this) | |
| }, S.prototype.iadd = function (e, t) { | |
| this._verify2(e, t); | |
| var i = e.iadd(t); | |
| return i.cmp(this.m) >= 0 && i.isub(this.m), i | |
| }, S.prototype.sub = function (e, t) { | |
| this._verify2(e, t); | |
| var i = e.sub(t); | |
| return i.cmpn(0) < 0 && i.iadd(this.m), i._forceRed(this) | |
| }, S.prototype.isub = function (e, t) { | |
| this._verify2(e, t); | |
| var i = e.isub(t); | |
| return i.cmpn(0) < 0 && i.iadd(this.m), i | |
| }, S.prototype.shl = function (e, t) { | |
| return this._verify1(e), this.imod(e.ushln(t)) | |
| }, S.prototype.imul = function (e, t) { | |
| return this._verify2(e, t), this.imod(e.imul(t)) | |
| }, S.prototype.mul = function (e, t) { | |
| return this._verify2(e, t), this.imod(e.mul(t)) | |
| }, S.prototype.isqr = function (e) { | |
| return this.imul(e, e.clone()) | |
| }, S.prototype.sqr = function (e) { | |
| return this.mul(e, e) | |
| }, S.prototype.sqrt = function (e) { | |
| if (e.isZero()) return e.clone(); | |
| var t = this.m.andln(3); | |
| if (n(t % 2 == 1), 3 === t) { | |
| var i = this.m.add(new s(1)).iushrn(2); | |
| return this.pow(e, i) | |
| } | |
| for (var r = this.m.subn(1), o = 0; !r.isZero() && 0 === r.andln(1);) o++, r.iushrn(1); | |
| n(!r.isZero()); | |
| var a = new s(1).toRed(this), | |
| c = a.redNeg(), | |
| h = this.m.subn(1).iushrn(1), | |
| u = this.m.bitLength(); | |
| for (u = new s(2 * u * u).toRed(this); 0 !== this.pow(u, h).cmp(c);) u.redIAdd(c); | |
| for (var l = this.pow(u, r), f = this.pow(e, r.addn(1).iushrn(1)), d = this.pow(e, r), p = o; 0 !== d.cmp(a);) { | |
| for (var m = d, g = 0; 0 !== m.cmp(a); g++) m = m.redSqr(); | |
| n(g < p); | |
| var _ = this.pow(l, new s(1).iushln(p - g - 1)); | |
| f = f.redMul(_), l = _.redSqr(), d = d.redMul(l), p = g | |
| } | |
| return f | |
| }, S.prototype.invm = function (e) { | |
| var t = e._invmp(this.m); | |
| return 0 !== t.negative ? (t.negative = 0, this.imod(t).redNeg()) : this.imod(t) | |
| }, S.prototype.pow = function (e, t) { | |
| if (t.isZero()) return new s(1).toRed(this); | |
| if (0 === t.cmpn(1)) return e.clone(); | |
| var i = new Array(16); | |
| i[0] = new s(1).toRed(this), i[1] = e; | |
| for (var r = 2; r < i.length; r++) i[r] = this.mul(i[r - 1], e); | |
| var n = i[0], | |
| o = 0, | |
| a = 0, | |
| c = t.bitLength() % 26; | |
| for (0 === c && (c = 26), r = t.length - 1; r >= 0; r--) { | |
| for (var h = t.words[r], u = c - 1; u >= 0; u--) { | |
| var l = h >> u & 1; | |
| n !== i[0] && (n = this.sqr(n)), 0 !== l || 0 !== o ? (o <<= 1, o |= l, (4 === ++a || 0 === r && 0 === u) && (n = this.mul(n, i[o]), a = 0, o = 0)) : a = 0 | |
| } | |
| c = 26 | |
| } | |
| return n | |
| }, S.prototype.convertTo = function (e) { | |
| var t = e.umod(this.m); | |
| return t === e ? t.clone() : t | |
| }, S.prototype.convertFrom = function (e) { | |
| var t = e.clone(); | |
| return t.red = null, t | |
| }, s.mont = function (e) { | |
| return new T(e) | |
| }, o(T, S), T.prototype.convertTo = function (e) { | |
| return this.imod(e.ushln(this.shift)) | |
| }, T.prototype.convertFrom = function (e) { | |
| var t = this.imod(e.mul(this.rinv)); | |
| return t.red = null, t | |
| }, T.prototype.imul = function (e, t) { | |
| if (e.isZero() || t.isZero()) return e.words[0] = 0, e.length = 1, e; | |
| var i = e.imul(t), | |
| r = i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m), | |
| n = i.isub(r).iushrn(this.shift), | |
| o = n; | |
| return n.cmp(this.m) >= 0 ? o = n.isub(this.m) : n.cmpn(0) < 0 && (o = n.iadd(this.m)), o._forceRed(this) | |
| }, T.prototype.mul = function (e, t) { | |
| if (e.isZero() || t.isZero()) return new s(0)._forceRed(this); | |
| var i = e.mul(t), | |
| r = i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m), | |
| n = i.isub(r).iushrn(this.shift), | |
| o = n; | |
| return n.cmp(this.m) >= 0 ? o = n.isub(this.m) : n.cmpn(0) < 0 && (o = n.iadd(this.m)), o._forceRed(this) | |
| }, T.prototype.invm = function (e) { | |
| return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this) | |
| } | |
| }(e, this) | |
| }).call(this, i(167)(e)) | |
| }, function (e, t, i) { | |
| var r = i(4), | |
| n = i(137), | |
| o = i(39), | |
| s = Object.defineProperty; | |
| t.f = i(13) ? Object.defineProperty : function (e, t, i) { | |
| if (r(e), t = o(t, !0), r(i), n) try { | |
| return s(e, t, i) | |
| } catch (e) {} | |
| if ("get" in i || "set" in i) throw TypeError("Accessors not supported!"); | |
| return "value" in i && (e[t] = i.value), e | |
| } | |
| }, function (e, t, i) { | |
| e.exports = !i(3)(function () { | |
| return 7 != Object.defineProperty({}, "a", { | |
| get: function () { | |
| return 7 | |
| } | |
| }).a | |
| }) | |
| }, function (e, t) { | |
| var i = e.exports = { | |
| version: "2.6.0" | |
| }; | |
| "number" == typeof __e && (__e = i) | |
| }, function (e, t) { | |
| function i(e) { | |
| return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { | |
| return typeof e | |
| } : function (e) { | |
| return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e | |
| })(e) | |
| } | |
| var r; | |
| r = function () { | |
| return this | |
| }(); | |
| try { | |
| r = r || new Function("return this")() | |
| } catch (e) { | |
| "object" === ("undefined" == typeof window ? "undefined" : i(window)) && (r = window) | |
| } | |
| e.exports = r | |
| }, function (e, t, i) { | |
| e.exports = { | |
| EPSILON: i(173), | |
| create: i(174), | |
| clone: i(412), | |
| angle: i(413), | |
| fromValues: i(175), | |
| copy: i(414), | |
| set: i(415), | |
| equals: i(416), | |
| exactEquals: i(417), | |
| add: i(418), | |
| subtract: i(178), | |
| sub: i(419), | |
| multiply: i(179), | |
| mul: i(420), | |
| divide: i(180), | |
| div: i(421), | |
| min: i(422), | |
| max: i(423), | |
| floor: i(424), | |
| ceil: i(425), | |
| round: i(426), | |
| scale: i(427), | |
| scaleAndAdd: i(428), | |
| distance: i(181), | |
| dist: i(429), | |
| squaredDistance: i(182), | |
| sqrDist: i(430), | |
| length: i(183), | |
| len: i(431), | |
| squaredLength: i(184), | |
| sqrLen: i(432), | |
| negate: i(433), | |
| inverse: i(434), | |
| normalize: i(176), | |
| dot: i(177), | |
| cross: i(435), | |
| lerp: i(436), | |
| random: i(437), | |
| transformMat4: i(438), | |
| transformMat3: i(439), | |
| transformQuat: i(440), | |
| rotateX: i(441), | |
| rotateY: i(442), | |
| rotateZ: i(443), | |
| forEach: i(444) | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = t; | |
| r.version = i(548).version, r.utils = i(549), r.rand = i(213), r.curve = i(91), r.curves = i(554), r.ec = i(562), r.eddsa = i(566) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| (function (e) { | |
| function i(t, i, r, n, o, s, a) { | |
| try { | |
| var c = t[s](a), | |
| h = c.value | |
| } catch (e) { | |
| return void r(e) | |
| } | |
| c.done ? i(h) : e.resolve(h).then(n, o) | |
| } | |
| function r(t) { | |
| return function () { | |
| var r = this, | |
| n = arguments; | |
| return new e(function (e, o) { | |
| var s = t.apply(r, n); | |
| function a(t) { | |
| i(s, e, o, a, c, "next", t) | |
| } | |
| function c(t) { | |
| i(s, e, o, a, c, "throw", t) | |
| } | |
| a(void 0) | |
| }) | |
| } | |
| } | |
| function n(e, t) { | |
| for (var i = 0; i < t.length; i++) { | |
| var r = t[i]; | |
| r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r) | |
| } | |
| } | |
| var o = function () { | |
| function t() { | |
| ! function (e, t) { | |
| if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") | |
| }(this, t) | |
| } | |
| var i, o, s; | |
| return i = t, o = null, s = [{ | |
| key: "init", | |
| value: function () { | |
| self.baseUrl = "https://9p1bb7fwdf.execute-api.us-east-1.amazonaws.com/prod", self.socket = null | |
| } | |
| }, { | |
| key: "getICECandidates", | |
| value: function () { | |
| return new e(function (e, i) { | |
| t.executeXhr("/get-ice-candidates", "get").then(function (t) { | |
| e([JSON.parse(t).v.iceServers]) | |
| }) | |
| }) | |
| } | |
| }, { | |
| key: "getNewGame", | |
| value: function () { | |
| return new e(function (e, i) { | |
| t.executeXhr("/game", "get").then(function (i) { | |
| var r = JSON.parse(i); | |
| e(r), setInterval(function () { | |
| t.executeXhr("/game/" + r.code + "/heartbeat", "put").then(function (e) {}) | |
| }, 5e3) | |
| }) | |
| }) | |
| } | |
| }, { | |
| key: "getGame", | |
| value: function (i) { | |
| return null == i ? t.getNewGame() : new e(function (e, r) { | |
| t.executeXhr("/game/" + i, "get").then(function (t) { | |
| e(JSON.parse(t)) | |
| }, function (t) { | |
| e(null) | |
| }) | |
| }) | |
| } | |
| }, { | |
| key: "listenForData", | |
| value: function () { | |
| var e = r(regeneratorRuntime.mark(function e(t, i) { | |
| return regeneratorRuntime.wrap(function (e) { | |
| for (;;) switch (e.prev = e.next) { | |
| case 0: | |
| if (null !== self.socket) { | |
| e.next = 3; | |
| break | |
| } | |
| return console.log("no socket!"), e.abrupt("return"); | |
| case 3: | |
| socket.addEventListener("message", function (e) { | |
| var t = JSON.parse(e.data), | |
| r = { | |
| payload: t.p, | |
| meta: t.m, | |
| msgEvent: t.o, | |
| to: t.m.t, | |
| from: t.m.f | |
| }; | |
| i(r) | |
| }); | |
| case 4: | |
| case "end": | |
| return e.stop() | |
| } | |
| }, e, this) | |
| })); | |
| return function (t, i) { | |
| return e.apply(this, arguments) | |
| } | |
| }() | |
| }, { | |
| key: "createSignalingChannel", | |
| value: function () { | |
| var i = r(regeneratorRuntime.mark(function i(n, o) { | |
| return regeneratorRuntime.wrap(function (i) { | |
| for (;;) switch (i.prev = i.next) { | |
| case 0: | |
| return i.abrupt("return", new e(function () { | |
| var e = r(regeneratorRuntime.mark(function e(i, r) { | |
| var s; | |
| return regeneratorRuntime.wrap(function (e) { | |
| for (;;) switch (e.prev = e.next) { | |
| case 0: | |
| return e.next = 2, t.executeXhr("/create-channel/" + n, "get"); | |
| case 2: | |
| return e.next = 4, t.getWebSocket(n, o); | |
| case 4: | |
| s = e.sent, self.socket = s, s.addEventListener("open", function () { | |
| i(), setInterval(function () { | |
| s.send("ping") | |
| }, 800) | |
| }); | |
| case 7: | |
| case "end": | |
| return e.stop() | |
| } | |
| }, e, this) | |
| })); | |
| return function (t, i) { | |
| return e.apply(this, arguments) | |
| } | |
| }())); | |
| case 1: | |
| case "end": | |
| return i.stop() | |
| } | |
| }, i, this) | |
| })); | |
| return function (e, t) { | |
| return i.apply(this, arguments) | |
| } | |
| }() | |
| }, { | |
| key: "sendSignalingTo", | |
| value: function () { | |
| var e = r(regeneratorRuntime.mark(function e(t, i, r, n) { | |
| var o; | |
| return regeneratorRuntime.wrap(function (e) { | |
| for (;;) switch (e.prev = e.next) { | |
| case 0: | |
| if (null !== self.socket) { | |
| e.next = 3; | |
| break | |
| } | |
| return console.log("no socket!"), e.abrupt("return"); | |
| case 3: | |
| o = { | |
| t: "u", | |
| m: { | |
| f: t + "/" + r, | |
| t: i, | |
| o: "message" | |
| }, | |
| p: { | |
| signal: JSON.stringify(n) | |
| } | |
| }, self.socket.send(JSON.stringify(o)); | |
| case 5: | |
| case "end": | |
| return e.stop() | |
| } | |
| }, e, this) | |
| })); | |
| return function (t, i, r, n) { | |
| return e.apply(this, arguments) | |
| } | |
| }() | |
| }, { | |
| key: "getWebSocket", | |
| value: function () { | |
| var e = r(regeneratorRuntime.mark(function e(i, r) { | |
| var n, o, s; | |
| return regeneratorRuntime.wrap(function (e) { | |
| for (;;) switch (e.prev = e.next) { | |
| case 0: | |
| return e.t0 = JSON, e.next = 3, t.executeXhr("/get-signaling-token/" + i + "/" + r, "get"); | |
| case 3: | |
| return e.t1 = e.sent, n = e.t0.parse.call(e.t0, e.t1).v, e.t2 = JSON, e.next = 8, t.executeXhr("/get-signaling-host/" + i + "/" + r, "get"); | |
| case 8: | |
| return e.t3 = e.sent, o = e.t2.parse.call(e.t2, e.t3).v, s = o + "/v2/" + n, e.abrupt("return", new WebSocket(s)); | |
| case 12: | |
| case "end": | |
| return e.stop() | |
| } | |
| }, e, this) | |
| })); | |
| return function (t, i) { | |
| return e.apply(this, arguments) | |
| } | |
| }() | |
| }, { | |
| key: "addPlayerToGame", | |
| value: function (i, r) { | |
| return new e(function (e, r) { | |
| t.executeXhr("/game/" + i, "put").then(function (t) { | |
| e(JSON.parse(t)) | |
| }) | |
| }) | |
| } | |
| }, { | |
| key: "pathUrl", | |
| value: function (e) { | |
| return self.baseUrl + e | |
| } | |
| }, { | |
| key: "executeXhr", | |
| value: function (i, r) { | |
| return new e(function (e, n) { | |
| var o = new XMLHttpRequest, | |
| s = t.pathUrl(i); | |
| o.open(r, s), o.onreadystatechange = function () { | |
| 4 !== o.readyState || 404 !== o.status || n() | |
| }, o.send(), o.onload = function () { | |
| e(o.responseText) | |
| }, o.onerror = function (e) { | |
| console.log(e), n(e) | |
| } | |
| }) | |
| } | |
| }], o && n(i.prototype, o), s && n(i, s), t | |
| }(); | |
| t.a = o | |
| }).call(this, i(52)) | |
| }, function (e, t, i) { | |
| var r = i(5), | |
| n = i(23), | |
| o = i(22), | |
| s = i(45)("src"), | |
| a = Function.toString, | |
| c = ("" + a).split("toString"); | |
| i(14).inspectSource = function (e) { | |
| return a.call(e) | |
| }, (e.exports = function (e, t, i, a) { | |
| var h = "function" == typeof i; | |
| h && (o(i, "name") || n(i, "name", t)), e[t] !== i && (h && (o(i, s) || n(i, s, e[t] ? "" + e[t] : c.join(String(t)))), e === r ? e[t] = i : a ? e[t] ? e[t] = i : n(e, t, i) : (delete e[t], n(e, t, i))) | |
| })(Function.prototype, "toString", function () { | |
| return "function" == typeof this && this[s] || a.call(this) | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(37); | |
| e.exports = function (e) { | |
| return Object(r(e)) | |
| } | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(3), | |
| o = i(37), | |
| s = /"/g, | |
| a = function (e, t, i, r) { | |
| var n = String(o(e)), | |
| a = "<" + t; | |
| return "" !== i && (a += " " + i + '="' + String(r).replace(s, """) + '"'), a + ">" + n + "</" + t + ">" | |
| }; | |
| e.exports = function (e, t) { | |
| var i = {}; | |
| i[e] = t(a), r(r.P + r.F * n(function () { | |
| var t = "" [e]('"'); | |
| return t !== t.toLowerCase() || t.split('"').length > 3 | |
| }), "String", i) | |
| } | |
| }, function (e, t) { | |
| var i = {}.hasOwnProperty; | |
| e.exports = function (e, t) { | |
| return i.call(e, t) | |
| } | |
| }, function (e, t, i) { | |
| var r = i(12), | |
| n = i(44); | |
| e.exports = i(13) ? function (e, t, i) { | |
| return r.f(e, t, n(1, i)) | |
| } : function (e, t, i) { | |
| return e[t] = i, e | |
| } | |
| }, function (e, t, i) { | |
| var r = i(64), | |
| n = i(37); | |
| e.exports = function (e) { | |
| return r(n(e)) | |
| } | |
| }, function (e, t) { | |
| function i(e, t) { | |
| if (!e) throw new Error(t || "Assertion failed") | |
| } | |
| e.exports = i, i.equal = function (e, t, i) { | |
| if (e != t) throw new Error(i || "Assertion failed: " + e + " != " + t) | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(3); | |
| e.exports = function (e, t) { | |
| return !!e && r(function () { | |
| t ? e.call(null, function () {}, 1) : e.call(null) | |
| }) | |
| } | |
| }, function (e, t) { | |
| var i, r, n = e.exports = {}; | |
| function o() { | |
| throw new Error("setTimeout has not been defined") | |
| } | |
| function s() { | |
| throw new Error("clearTimeout has not been defined") | |
| } | |
| function a(e) { | |
| if (i === setTimeout) return setTimeout(e, 0); | |
| if ((i === o || !i) && setTimeout) return i = setTimeout, setTimeout(e, 0); | |
| try { | |
| return i(e, 0) | |
| } catch (t) { | |
| try { | |
| return i.call(null, e, 0) | |
| } catch (t) { | |
| return i.call(this, e, 0) | |
| } | |
| } | |
| }! function () { | |
| try { | |
| i = "function" == typeof setTimeout ? setTimeout : o | |
| } catch (e) { | |
| i = o | |
| } | |
| try { | |
| r = "function" == typeof clearTimeout ? clearTimeout : s | |
| } catch (e) { | |
| r = s | |
| } | |
| }(); | |
| var c, h = [], | |
| u = !1, | |
| l = -1; | |
| function f() { | |
| u && c && (u = !1, c.length ? h = c.concat(h) : l = -1, h.length && d()) | |
| } | |
| function d() { | |
| if (!u) { | |
| var e = a(f); | |
| u = !0; | |
| for (var t = h.length; t;) { | |
| for (c = h, h = []; ++l < t;) c && c[l].run(); | |
| l = -1, t = h.length | |
| } | |
| c = null, u = !1, | |
| function (e) { | |
| if (r === clearTimeout) return clearTimeout(e); | |
| if ((r === s || !r) && clearTimeout) return r = clearTimeout, clearTimeout(e); | |
| try { | |
| r(e) | |
| } catch (t) { | |
| try { | |
| return r.call(null, e) | |
| } catch (t) { | |
| return r.call(this, e) | |
| } | |
| } | |
| }(e) | |
| } | |
| } | |
| function p(e, t) { | |
| this.fun = e, this.array = t | |
| } | |
| function m() {} | |
| n.nextTick = function (e) { | |
| var t = new Array(arguments.length - 1); | |
| if (arguments.length > 1) | |
| for (var i = 1; i < arguments.length; i++) t[i - 1] = arguments[i]; | |
| h.push(new p(e, t)), 1 !== h.length || u || a(d) | |
| }, p.prototype.run = function () { | |
| this.fun.apply(null, this.array) | |
| }, n.title = "browser", n.browser = !0, n.env = {}, n.argv = [], n.version = "", n.versions = {}, n.on = m, n.addListener = m, n.once = m, n.off = m, n.removeListener = m, n.removeAllListeners = m, n.emit = m, n.prependListener = m, n.prependOnceListener = m, n.listeners = function (e) { | |
| return [] | |
| }, n.binding = function (e) { | |
| throw new Error("process.binding is not supported") | |
| }, n.cwd = function () { | |
| return "/" | |
| }, n.chdir = function (e) { | |
| throw new Error("process.chdir is not supported") | |
| }, n.umask = function () { | |
| return 0 | |
| } | |
| }, function (e, t) { | |
| var i = Math.ceil, | |
| r = Math.floor; | |
| e.exports = function (e) { | |
| return isNaN(e = +e) ? 0 : (e > 0 ? r : i)(e) | |
| } | |
| }, function (e, t, i) { | |
| var r = i(65), | |
| n = i(44), | |
| o = i(24), | |
| s = i(39), | |
| a = i(22), | |
| c = i(137), | |
| h = Object.getOwnPropertyDescriptor; | |
| t.f = i(13) ? h : function (e, t) { | |
| if (e = o(e), t = s(t, !0), c) try { | |
| return h(e, t) | |
| } catch (e) {} | |
| if (a(e, t)) return n(!r.f.call(e, t), e[t]) | |
| } | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(14), | |
| o = i(3); | |
| e.exports = function (e, t) { | |
| var i = (n.Object || {})[e] || Object[e], | |
| s = {}; | |
| s[e] = t(i), r(r.S + r.F * o(function () { | |
| i(1) | |
| }), "Object", s) | |
| } | |
| }, function (e, t, i) { | |
| var r = i(34), | |
| n = i(64), | |
| o = i(20), | |
| s = i(10), | |
| a = i(321); | |
| e.exports = function (e, t) { | |
| var i = 1 == e, | |
| c = 2 == e, | |
| h = 3 == e, | |
| u = 4 == e, | |
| l = 6 == e, | |
| f = 5 == e || l, | |
| d = t || a; | |
| return function (t, a, p) { | |
| for (var m, g, _ = o(t), v = n(_), y = r(a, p, 3), b = s(v.length), x = 0, w = i ? d(t, b) : c ? d(t, 0) : void 0; b > x; x++) | |
| if ((f || x in v) && (g = y(m = v[x], x, _), e)) | |
| if (i) w[x] = g; | |
| else if (g) switch (e) { | |
| case 3: | |
| return !0; | |
| case 5: | |
| return m; | |
| case 6: | |
| return x; | |
| case 2: | |
| w.push(m) | |
| } else if (u) return !1; | |
| return l ? -1 : h || u ? u : w | |
| } | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| function r(e) { | |
| return (r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { | |
| return typeof e | |
| } : function (e) { | |
| return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e | |
| })(e) | |
| } | |
| var n = Object.prototype.hasOwnProperty, | |
| o = Object.prototype.toString, | |
| s = Object.defineProperty, | |
| a = Object.getOwnPropertyDescriptor, | |
| c = function (e) { | |
| return "function" == typeof Array.isArray ? Array.isArray(e) : "[object Array]" === o.call(e) | |
| }, | |
| h = function (e) { | |
| if (!e || "[object Object]" !== o.call(e)) return !1; | |
| var t, i = n.call(e, "constructor"), | |
| r = e.constructor && e.constructor.prototype && n.call(e.constructor.prototype, "isPrototypeOf"); | |
| if (e.constructor && !i && !r) return !1; | |
| for (t in e); | |
| return void 0 === t || n.call(e, t) | |
| }, | |
| u = function (e, t) { | |
| s && "__proto__" === t.name ? s(e, t.name, { | |
| enumerable: !0, | |
| configurable: !0, | |
| value: t.newValue, | |
| writable: !0 | |
| }) : e[t.name] = t.newValue | |
| }, | |
| l = function (e, t) { | |
| if ("__proto__" === t) { | |
| if (!n.call(e, t)) return; | |
| if (a) return a(e, t).value | |
| } | |
| return e[t] | |
| }; | |
| e.exports = function e() { | |
| var t, i, n, o, s, a, f = arguments[0], | |
| d = 1, | |
| p = arguments.length, | |
| m = !1; | |
| for ("boolean" == typeof f && (m = f, f = arguments[1] || {}, d = 2), (null == f || "object" !== r(f) && "function" != typeof f) && (f = {}); d < p; ++d) | |
| if (null != (t = arguments[d])) | |
| for (i in t) n = l(f, i), f !== (o = l(t, i)) && (m && o && (h(o) || (s = c(o))) ? (s ? (s = !1, a = n && c(n) ? n : []) : a = n && h(n) ? n : {}, u(f, { | |
| name: i, | |
| newValue: e(m, a, o) | |
| })) : void 0 !== o && u(f, { | |
| name: i, | |
| newValue: o | |
| })); | |
| return f | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(25), | |
| n = i(1); | |
| function o(e, t) { | |
| return 55296 == (64512 & e.charCodeAt(t)) && (!(t < 0 || t + 1 >= e.length) && 56320 == (64512 & e.charCodeAt(t + 1))) | |
| } | |
| function s(e) { | |
| return (e >>> 24 | e >>> 8 & 65280 | e << 8 & 16711680 | (255 & e) << 24) >>> 0 | |
| } | |
| function a(e) { | |
| return 1 === e.length ? "0" + e : e | |
| } | |
| function c(e) { | |
| return 7 === e.length ? "0" + e : 6 === e.length ? "00" + e : 5 === e.length ? "000" + e : 4 === e.length ? "0000" + e : 3 === e.length ? "00000" + e : 2 === e.length ? "000000" + e : 1 === e.length ? "0000000" + e : e | |
| } | |
| t.inherits = n, t.toArray = function (e, t) { | |
| if (Array.isArray(e)) return e.slice(); | |
| if (!e) return []; | |
| var i = []; | |
| if ("string" == typeof e) | |
| if (t) { | |
| if ("hex" === t) | |
| for ((e = e.replace(/[^a-z0-9]+/gi, "")).length % 2 != 0 && (e = "0" + e), n = 0; n < e.length; n += 2) i.push(parseInt(e[n] + e[n + 1], 16)) | |
| } else | |
| for (var r = 0, n = 0; n < e.length; n++) { | |
| var s = e.charCodeAt(n); | |
| s < 128 ? i[r++] = s : s < 2048 ? (i[r++] = s >> 6 | 192, i[r++] = 63 & s | 128) : o(e, n) ? (s = 65536 + ((1023 & s) << 10) + (1023 & e.charCodeAt(++n)), i[r++] = s >> 18 | 240, i[r++] = s >> 12 & 63 | 128, i[r++] = s >> 6 & 63 | 128, i[r++] = 63 & s | 128) : (i[r++] = s >> 12 | 224, i[r++] = s >> 6 & 63 | 128, i[r++] = 63 & s | 128) | |
| } else | |
| for (n = 0; n < e.length; n++) i[n] = 0 | e[n]; | |
| return i | |
| }, t.toHex = function (e) { | |
| for (var t = "", i = 0; i < e.length; i++) t += a(e[i].toString(16)); | |
| return t | |
| }, t.htonl = s, t.toHex32 = function (e, t) { | |
| for (var i = "", r = 0; r < e.length; r++) { | |
| var n = e[r]; | |
| "little" === t && (n = s(n)), i += c(n.toString(16)) | |
| } | |
| return i | |
| }, t.zero2 = a, t.zero8 = c, t.join32 = function (e, t, i, n) { | |
| var o = i - t; | |
| r(o % 4 == 0); | |
| for (var s = new Array(o / 4), a = 0, c = t; a < s.length; a++, c += 4) { | |
| var h; | |
| h = "big" === n ? e[c] << 24 | e[c + 1] << 16 | e[c + 2] << 8 | e[c + 3] : e[c + 3] << 24 | e[c + 2] << 16 | e[c + 1] << 8 | e[c], s[a] = h >>> 0 | |
| } | |
| return s | |
| }, t.split32 = function (e, t) { | |
| for (var i = new Array(4 * e.length), r = 0, n = 0; r < e.length; r++, n += 4) { | |
| var o = e[r]; | |
| "big" === t ? (i[n] = o >>> 24, i[n + 1] = o >>> 16 & 255, i[n + 2] = o >>> 8 & 255, i[n + 3] = 255 & o) : (i[n + 3] = o >>> 24, i[n + 2] = o >>> 16 & 255, i[n + 1] = o >>> 8 & 255, i[n] = 255 & o) | |
| } | |
| return i | |
| }, t.rotr32 = function (e, t) { | |
| return e >>> t | e << 32 - t | |
| }, t.rotl32 = function (e, t) { | |
| return e << t | e >>> 32 - t | |
| }, t.sum32 = function (e, t) { | |
| return e + t >>> 0 | |
| }, t.sum32_3 = function (e, t, i) { | |
| return e + t + i >>> 0 | |
| }, t.sum32_4 = function (e, t, i, r) { | |
| return e + t + i + r >>> 0 | |
| }, t.sum32_5 = function (e, t, i, r, n) { | |
| return e + t + i + r + n >>> 0 | |
| }, t.sum64 = function (e, t, i, r) { | |
| var n = e[t], | |
| o = r + e[t + 1] >>> 0, | |
| s = (o < r ? 1 : 0) + i + n; | |
| e[t] = s >>> 0, e[t + 1] = o | |
| }, t.sum64_hi = function (e, t, i, r) { | |
| return (t + r >>> 0 < t ? 1 : 0) + e + i >>> 0 | |
| }, t.sum64_lo = function (e, t, i, r) { | |
| return t + r >>> 0 | |
| }, t.sum64_4_hi = function (e, t, i, r, n, o, s, a) { | |
| var c = 0, | |
| h = t; | |
| return c += (h = h + r >>> 0) < t ? 1 : 0, c += (h = h + o >>> 0) < o ? 1 : 0, e + i + n + s + (c += (h = h + a >>> 0) < a ? 1 : 0) >>> 0 | |
| }, t.sum64_4_lo = function (e, t, i, r, n, o, s, a) { | |
| return t + r + o + a >>> 0 | |
| }, t.sum64_5_hi = function (e, t, i, r, n, o, s, a, c, h) { | |
| var u = 0, | |
| l = t; | |
| return u += (l = l + r >>> 0) < t ? 1 : 0, u += (l = l + o >>> 0) < o ? 1 : 0, u += (l = l + a >>> 0) < a ? 1 : 0, e + i + n + s + c + (u += (l = l + h >>> 0) < h ? 1 : 0) >>> 0 | |
| }, t.sum64_5_lo = function (e, t, i, r, n, o, s, a, c, h) { | |
| return t + r + o + a + h >>> 0 | |
| }, t.rotr64_hi = function (e, t, i) { | |
| return (t << 32 - i | e >>> i) >>> 0 | |
| }, t.rotr64_lo = function (e, t, i) { | |
| return (e << 32 - i | t >>> i) >>> 0 | |
| }, t.shr64_hi = function (e, t, i) { | |
| return e >>> i | |
| }, t.shr64_lo = function (e, t, i) { | |
| return (e << 32 - i | t >>> i) >>> 0 | |
| } | |
| }, function (e, t, i) { | |
| var r = i(35); | |
| e.exports = function (e, t, i) { | |
| if (r(e), void 0 === t) return e; | |
| switch (i) { | |
| case 1: | |
| return function (i) { | |
| return e.call(t, i) | |
| }; | |
| case 2: | |
| return function (i, r) { | |
| return e.call(t, i, r) | |
| }; | |
| case 3: | |
| return function (i, r, n) { | |
| return e.call(t, i, r, n) | |
| } | |
| } | |
| return function () { | |
| return e.apply(t, arguments) | |
| } | |
| } | |
| }, function (e, t) { | |
| e.exports = function (e) { | |
| if ("function" != typeof e) throw TypeError(e + " is not a function!"); | |
| return e | |
| } | |
| }, function (e, t) { | |
| var i = {}.toString; | |
| e.exports = function (e) { | |
| return i.call(e).slice(8, -1) | |
| } | |
| }, function (e, t) { | |
| e.exports = function (e) { | |
| if (null == e) throw TypeError("Can't call method on " + e); | |
| return e | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| function r(e) { | |
| return (r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { | |
| return typeof e | |
| } : function (e) { | |
| return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e | |
| })(e) | |
| } | |
| if (i(13)) { | |
| var n = i(46), | |
| o = i(5), | |
| s = i(3), | |
| a = i(0), | |
| c = i(84), | |
| h = i(121), | |
| u = i(34), | |
| l = i(60), | |
| f = i(44), | |
| d = i(23), | |
| p = i(61), | |
| m = i(28), | |
| g = i(10), | |
| _ = i(163), | |
| v = i(48), | |
| y = i(39), | |
| b = i(22), | |
| x = i(66), | |
| w = i(6), | |
| S = i(20), | |
| T = i(113), | |
| A = i(49), | |
| M = i(51), | |
| E = i(50).f, | |
| P = i(115), | |
| C = i(45), | |
| R = i(8), | |
| I = i(31), | |
| D = i(74), | |
| O = i(67), | |
| L = i(117), | |
| F = i(57), | |
| B = i(77), | |
| k = i(59), | |
| V = i(116), | |
| N = i(154), | |
| z = i(12), | |
| U = i(29), | |
| G = z.f, | |
| W = U.f, | |
| j = o.RangeError, | |
| H = o.TypeError, | |
| X = o.Uint8Array, | |
| Y = Array.prototype, | |
| K = h.ArrayBuffer, | |
| q = h.DataView, | |
| Z = I(0), | |
| Q = I(2), | |
| J = I(3), | |
| $ = I(4), | |
| ee = I(5), | |
| te = I(6), | |
| ie = D(!0), | |
| re = D(!1), | |
| ne = L.values, | |
| oe = L.keys, | |
| se = L.entries, | |
| ae = Y.lastIndexOf, | |
| ce = Y.reduce, | |
| he = Y.reduceRight, | |
| ue = Y.join, | |
| le = Y.sort, | |
| fe = Y.slice, | |
| de = Y.toString, | |
| pe = Y.toLocaleString, | |
| me = R("iterator"), | |
| ge = R("toStringTag"), | |
| _e = C("typed_constructor"), | |
| ve = C("def_constructor"), | |
| ye = c.CONSTR, | |
| be = c.TYPED, | |
| xe = c.VIEW, | |
| we = I(1, function (e, t) { | |
| return Ee(O(e, e[ve]), t) | |
| }), | |
| Se = s(function () { | |
| return 1 === new X(new Uint16Array([1]).buffer)[0] | |
| }), | |
| Te = !!X && !!X.prototype.set && s(function () { | |
| new X(1).set({}) | |
| }), | |
| Ae = function (e, t) { | |
| var i = m(e); | |
| if (i < 0 || i % t) throw j("Wrong offset!"); | |
| return i | |
| }, | |
| Me = function (e) { | |
| if (w(e) && be in e) return e; | |
| throw H(e + " is not a typed array!") | |
| }, | |
| Ee = function (e, t) { | |
| if (!(w(e) && _e in e)) throw H("It is not a typed array constructor!"); | |
| return new e(t) | |
| }, | |
| Pe = function (e, t) { | |
| return Ce(O(e, e[ve]), t) | |
| }, | |
| Ce = function (e, t) { | |
| for (var i = 0, r = t.length, n = Ee(e, r); r > i;) n[i] = t[i++]; | |
| return n | |
| }, | |
| Re = function (e, t, i) { | |
| G(e, t, { | |
| get: function () { | |
| return this._d[i] | |
| } | |
| }) | |
| }, | |
| Ie = function (e) { | |
| var t, i, r, n, o, s, a = S(e), | |
| c = arguments.length, | |
| h = c > 1 ? arguments[1] : void 0, | |
| l = void 0 !== h, | |
| f = P(a); | |
| if (null != f && !T(f)) { | |
| for (s = f.call(a), r = [], t = 0; !(o = s.next()).done; t++) r.push(o.value); | |
| a = r | |
| } | |
| for (l && c > 2 && (h = u(h, arguments[2], 2)), t = 0, i = g(a.length), n = Ee(this, i); i > t; t++) n[t] = l ? h(a[t], t) : a[t]; | |
| return n | |
| }, | |
| De = function () { | |
| for (var e = 0, t = arguments.length, i = Ee(this, t); t > e;) i[e] = arguments[e++]; | |
| return i | |
| }, | |
| Oe = !!X && s(function () { | |
| pe.call(new X(1)) | |
| }), | |
| Le = function () { | |
| return pe.apply(Oe ? fe.call(Me(this)) : Me(this), arguments) | |
| }, | |
| Fe = { | |
| copyWithin: function (e, t) { | |
| return N.call(Me(this), e, t, arguments.length > 2 ? arguments[2] : void 0) | |
| }, | |
| every: function (e) { | |
| return $(Me(this), e, arguments.length > 1 ? arguments[1] : void 0) | |
| }, | |
| fill: function (e) { | |
| return V.apply(Me(this), arguments) | |
| }, | |
| filter: function (e) { | |
| return Pe(this, Q(Me(this), e, arguments.length > 1 ? arguments[1] : void 0)) | |
| }, | |
| find: function (e) { | |
| return ee(Me(this), e, arguments.length > 1 ? arguments[1] : void 0) | |
| }, | |
| findIndex: function (e) { | |
| return te(Me(this), e, arguments.length > 1 ? arguments[1] : void 0) | |
| }, | |
| forEach: function (e) { | |
| Z(Me(this), e, arguments.length > 1 ? arguments[1] : void 0) | |
| }, | |
| indexOf: function (e) { | |
| return re(Me(this), e, arguments.length > 1 ? arguments[1] : void 0) | |
| }, | |
| includes: function (e) { | |
| return ie(Me(this), e, arguments.length > 1 ? arguments[1] : void 0) | |
| }, | |
| join: function (e) { | |
| return ue.apply(Me(this), arguments) | |
| }, | |
| lastIndexOf: function (e) { | |
| return ae.apply(Me(this), arguments) | |
| }, | |
| map: function (e) { | |
| return we(Me(this), e, arguments.length > 1 ? arguments[1] : void 0) | |
| }, | |
| reduce: function (e) { | |
| return ce.apply(Me(this), arguments) | |
| }, | |
| reduceRight: function (e) { | |
| return he.apply(Me(this), arguments) | |
| }, | |
| reverse: function () { | |
| for (var e, t = Me(this).length, i = Math.floor(t / 2), r = 0; r < i;) e = this[r], this[r++] = this[--t], this[t] = e; | |
| return this | |
| }, | |
| some: function (e) { | |
| return J(Me(this), e, arguments.length > 1 ? arguments[1] : void 0) | |
| }, | |
| sort: function (e) { | |
| return le.call(Me(this), e) | |
| }, | |
| subarray: function (e, t) { | |
| var i = Me(this), | |
| r = i.length, | |
| n = v(e, r); | |
| return new(O(i, i[ve]))(i.buffer, i.byteOffset + n * i.BYTES_PER_ELEMENT, g((void 0 === t ? r : v(t, r)) - n)) | |
| } | |
| }, | |
| Be = function (e, t) { | |
| return Pe(this, fe.call(Me(this), e, t)) | |
| }, | |
| ke = function (e) { | |
| Me(this); | |
| var t = Ae(arguments[1], 1), | |
| i = this.length, | |
| r = S(e), | |
| n = g(r.length), | |
| o = 0; | |
| if (n + t > i) throw j("Wrong length!"); | |
| for (; o < n;) this[t + o] = r[o++] | |
| }, | |
| Ve = { | |
| entries: function () { | |
| return se.call(Me(this)) | |
| }, | |
| keys: function () { | |
| return oe.call(Me(this)) | |
| }, | |
| values: function () { | |
| return ne.call(Me(this)) | |
| } | |
| }, | |
| Ne = function (e, t) { | |
| return w(e) && e[be] && "symbol" != r(t) && t in e && String(+t) == String(t) | |
| }, | |
| ze = function (e, t) { | |
| return Ne(e, t = y(t, !0)) ? f(2, e[t]) : W(e, t) | |
| }, | |
| Ue = function (e, t, i) { | |
| return !(Ne(e, t = y(t, !0)) && w(i) && b(i, "value")) || b(i, "get") || b(i, "set") || i.configurable || b(i, "writable") && !i.writable || b(i, "enumerable") && !i.enumerable ? G(e, t, i) : (e[t] = i.value, e) | |
| }; | |
| ye || (U.f = ze, z.f = Ue), a(a.S + a.F * !ye, "Object", { | |
| getOwnPropertyDescriptor: ze, | |
| defineProperty: Ue | |
| }), s(function () { | |
| de.call({}) | |
| }) && (de = pe = function () { | |
| return ue.call(this) | |
| }); | |
| var Ge = p({}, Fe); | |
| p(Ge, Ve), d(Ge, me, Ve.values), p(Ge, { | |
| slice: Be, | |
| set: ke, | |
| constructor: function () {}, | |
| toString: de, | |
| toLocaleString: Le | |
| }), Re(Ge, "buffer", "b"), Re(Ge, "byteOffset", "o"), Re(Ge, "byteLength", "l"), Re(Ge, "length", "e"), G(Ge, ge, { | |
| get: function () { | |
| return this[be] | |
| } | |
| }), e.exports = function (e, t, i, r) { | |
| var h = e + ((r = !!r) ? "Clamped" : "") + "Array", | |
| u = "get" + e, | |
| f = "set" + e, | |
| p = o[h], | |
| m = p || {}, | |
| v = p && M(p), | |
| y = !p || !c.ABV, | |
| b = {}, | |
| S = p && p.prototype, | |
| T = function (e, i) { | |
| G(e, i, { | |
| get: function () { | |
| return function (e, i) { | |
| var r = e._d; | |
| return r.v[u](i * t + r.o, Se) | |
| }(this, i) | |
| }, | |
| set: function (e) { | |
| return function (e, i, n) { | |
| var o = e._d; | |
| r && (n = (n = Math.round(n)) < 0 ? 0 : n > 255 ? 255 : 255 & n), o.v[f](i * t + o.o, n, Se) | |
| }(this, i, e) | |
| }, | |
| enumerable: !0 | |
| }) | |
| }; | |
| y ? (p = i(function (e, i, r, n) { | |
| l(e, p, h, "_d"); | |
| var o, s, a, c, u = 0, | |
| f = 0; | |
| if (w(i)) { | |
| if (!(i instanceof K || "ArrayBuffer" == (c = x(i)) || "SharedArrayBuffer" == c)) return be in i ? Ce(p, i) : Ie.call(p, i); | |
| o = i, f = Ae(r, t); | |
| var m = i.byteLength; | |
| if (void 0 === n) { | |
| if (m % t) throw j("Wrong length!"); | |
| if ((s = m - f) < 0) throw j("Wrong length!") | |
| } else if ((s = g(n) * t) + f > m) throw j("Wrong length!"); | |
| a = s / t | |
| } else a = _(i), o = new K(s = a * t); | |
| for (d(e, "_d", { | |
| b: o, | |
| o: f, | |
| l: s, | |
| e: a, | |
| v: new q(o) | |
| }); u < a;) T(e, u++) | |
| }), S = p.prototype = A(Ge), d(S, "constructor", p)) : s(function () { | |
| p(1) | |
| }) && s(function () { | |
| new p(-1) | |
| }) && B(function (e) { | |
| new p, new p(null), new p(1.5), new p(e) | |
| }, !0) || (p = i(function (e, i, r, n) { | |
| var o; | |
| return l(e, p, h), w(i) ? i instanceof K || "ArrayBuffer" == (o = x(i)) || "SharedArrayBuffer" == o ? void 0 !== n ? new m(i, Ae(r, t), n) : void 0 !== r ? new m(i, Ae(r, t)) : new m(i) : be in i ? Ce(p, i) : Ie.call(p, i) : new m(_(i)) | |
| }), Z(v !== Function.prototype ? E(m).concat(E(v)) : E(m), function (e) { | |
| e in p || d(p, e, m[e]) | |
| }), p.prototype = S, n || (S.constructor = p)); | |
| var P = S[me], | |
| C = !!P && ("values" == P.name || null == P.name), | |
| R = Ve.values; | |
| d(p, _e, !0), d(S, be, h), d(S, xe, !0), d(S, ve, p), (r ? new p(1)[ge] == h : ge in S) || G(S, ge, { | |
| get: function () { | |
| return h | |
| } | |
| }), b[h] = p, a(a.G + a.W + a.F * (p != m), b), a(a.S, h, { | |
| BYTES_PER_ELEMENT: t | |
| }), a(a.S + a.F * s(function () { | |
| m.of.call(p, 1) | |
| }), h, { | |
| from: Ie, | |
| of: De | |
| }), "BYTES_PER_ELEMENT" in S || d(S, "BYTES_PER_ELEMENT", t), a(a.P, h, Fe), k(h), a(a.P + a.F * Te, h, { | |
| set: ke | |
| }), a(a.P + a.F * !C, h, Ve), n || S.toString == de || (S.toString = de), a(a.P + a.F * s(function () { | |
| new p(1).slice() | |
| }), h, { | |
| slice: Be | |
| }), a(a.P + a.F * (s(function () { | |
| return [1, 2].toLocaleString() != new p([1, 2]).toLocaleString() | |
| }) || !s(function () { | |
| S.toLocaleString.call([1, 2]) | |
| })), h, { | |
| toLocaleString: Le | |
| }), F[h] = C ? P : R, n || C || d(S, me, R) | |
| } | |
| } else e.exports = function () {} | |
| }, function (e, t, i) { | |
| var r = i(6); | |
| e.exports = function (e, t) { | |
| if (!r(e)) return e; | |
| var i, n; | |
| if (t && "function" == typeof (i = e.toString) && !r(n = i.call(e))) return n; | |
| if ("function" == typeof (i = e.valueOf) && !r(n = i.call(e))) return n; | |
| if (!t && "function" == typeof (i = e.toString) && !r(n = i.call(e))) return n; | |
| throw TypeError("Can't convert object to primitive value") | |
| } | |
| }, function (e, t, i) { | |
| function r(e) { | |
| return (r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { | |
| return typeof e | |
| } : function (e) { | |
| return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e | |
| })(e) | |
| } | |
| var n = i(45)("meta"), | |
| o = i(6), | |
| s = i(22), | |
| a = i(12).f, | |
| c = 0, | |
| h = Object.isExtensible || function () { | |
| return !0 | |
| }, | |
| u = !i(3)(function () { | |
| return h(Object.preventExtensions({})) | |
| }), | |
| l = function (e) { | |
| a(e, n, { | |
| value: { | |
| i: "O" + ++c, | |
| w: {} | |
| } | |
| }) | |
| }, | |
| f = e.exports = { | |
| KEY: n, | |
| NEED: !1, | |
| fastKey: function (e, t) { | |
| if (!o(e)) return "symbol" == r(e) ? e : ("string" == typeof e ? "S" : "P") + e; | |
| if (!s(e, n)) { | |
| if (!h(e)) return "F"; | |
| if (!t) return "E"; | |
| l(e) | |
| } | |
| return e[n].i | |
| }, | |
| getWeak: function (e, t) { | |
| if (!s(e, n)) { | |
| if (!h(e)) return !0; | |
| if (!t) return !1; | |
| l(e) | |
| } | |
| return e[n].w | |
| }, | |
| onFreeze: function (e) { | |
| return u && f.NEED && h(e) && !s(e, n) && l(e), e | |
| } | |
| } | |
| }, function (e, t) { | |
| function i(e) { | |
| return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { | |
| return typeof e | |
| } : function (e) { | |
| return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e | |
| })(e) | |
| } | |
| function r() { | |
| this._events = this._events || {}, this._maxListeners = this._maxListeners || void 0 | |
| } | |
| function n(e) { | |
| return "function" == typeof e | |
| } | |
| function o(e) { | |
| return "object" === i(e) && null !== e | |
| } | |
| function s(e) { | |
| return void 0 === e | |
| } | |
| e.exports = r, r.EventEmitter = r, r.prototype._events = void 0, r.prototype._maxListeners = void 0, r.defaultMaxListeners = 10, r.prototype.setMaxListeners = function (e) { | |
| if ("number" != typeof e || e < 0 || isNaN(e)) throw TypeError("n must be a positive number"); | |
| return this._maxListeners = e, this | |
| }, r.prototype.emit = function (e) { | |
| var t, i, r, a, c, h; | |
| if (this._events || (this._events = {}), "error" === e && (!this._events.error || o(this._events.error) && !this._events.error.length)) { | |
| if ((t = arguments[1]) instanceof Error) throw t; | |
| var u = new Error('Uncaught, unspecified "error" event. (' + t + ")"); | |
| throw u.context = t, u | |
| } | |
| if (s(i = this._events[e])) return !1; | |
| if (n(i)) switch (arguments.length) { | |
| case 1: | |
| i.call(this); | |
| break; | |
| case 2: | |
| i.call(this, arguments[1]); | |
| break; | |
| case 3: | |
| i.call(this, arguments[1], arguments[2]); | |
| break; | |
| default: | |
| a = Array.prototype.slice.call(arguments, 1), i.apply(this, a) | |
| } else if (o(i)) | |
| for (a = Array.prototype.slice.call(arguments, 1), r = (h = i.slice()).length, c = 0; c < r; c++) h[c].apply(this, a); | |
| return !0 | |
| }, r.prototype.addListener = function (e, t) { | |
| var i; | |
| if (!n(t)) throw TypeError("listener must be a function"); | |
| return this._events || (this._events = {}), this._events.newListener && this.emit("newListener", e, n(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 && (i = s(this._maxListeners) ? r.defaultMaxListeners : this._maxListeners) && i > 0 && this._events[e].length > i && (this._events[e].warned = !0, console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.", this._events[e].length), "function" == typeof console.trace && console.trace()), this | |
| }, r.prototype.on = r.prototype.addListener, r.prototype.once = function (e, t) { | |
| if (!n(t)) throw TypeError("listener must be a function"); | |
| var i = !1; | |
| function r() { | |
| this.removeListener(e, r), i || (i = !0, t.apply(this, arguments)) | |
| } | |
| return r.listener = t, this.on(e, r), this | |
| }, r.prototype.removeListener = function (e, t) { | |
| var i, r, s, a; | |
| if (!n(t)) throw TypeError("listener must be a function"); | |
| if (!this._events || !this._events[e]) return this; | |
| if (s = (i = this._events[e]).length, r = -1, i === t || n(i.listener) && i.listener === t) delete this._events[e], this._events.removeListener && this.emit("removeListener", e, t); | |
| else if (o(i)) { | |
| for (a = s; a-- > 0;) | |
| if (i[a] === t || i[a].listener && i[a].listener === t) { | |
| r = a; | |
| break | |
| } if (r < 0) return this; | |
| 1 === i.length ? (i.length = 0, delete this._events[e]) : i.splice(r, 1), this._events.removeListener && this.emit("removeListener", e, t) | |
| } | |
| return this | |
| }, r.prototype.removeAllListeners = function (e) { | |
| var t, i; | |
| if (!this._events) return this; | |
| if (!this._events.removeListener) return 0 === arguments.length ? this._events = {} : this._events[e] && delete this._events[e], this; | |
| if (0 === arguments.length) { | |
| for (t in this._events) "removeListener" !== t && this.removeAllListeners(t); | |
| return this.removeAllListeners("removeListener"), this._events = {}, this | |
| } | |
| if (n(i = this._events[e])) this.removeListener(e, i); | |
| else if (i) | |
| for (; i.length;) this.removeListener(e, i[i.length - 1]); | |
| return delete this._events[e], this | |
| }, r.prototype.listeners = function (e) { | |
| return this._events && this._events[e] ? n(this._events[e]) ? [this._events[e]] : this._events[e].slice() : [] | |
| }, r.prototype.listenerCount = function (e) { | |
| if (this._events) { | |
| var t = this._events[e]; | |
| if (n(t)) return 1; | |
| if (t) return t.length | |
| } | |
| return 0 | |
| }, r.listenerCount = function (e, t) { | |
| return e.listenerCount(t) | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| e.exports = { | |
| Timer: function (e, t) { | |
| var i = t || "", | |
| r = e || 1, | |
| n = [], | |
| o = [], | |
| s = 0, | |
| a = 0, | |
| c = 0, | |
| h = 0, | |
| u = !0; | |
| this.start = function () { | |
| u && (n.length = o.length = 0, u = !1), s = a = performance.now(), c++ | |
| }, this.add = function (e) { | |
| var t = performance.now(); | |
| o.indexOf(e) < 0 && o.push(e); | |
| var i = o.indexOf(e); | |
| n[i] || (n[i] = 0), n[i] += t - a, a = t | |
| }, this.report = function () { | |
| if (h += performance.now() - s, c === r) { | |
| var e = " total: " + (h / r).toFixed(2) + "ms (avg, " + r + " runs)"; | |
| console.log(i + ":", o.map(function (e, t) { | |
| return e + ": " + (n[t] / r).toFixed(2) + "ms " | |
| }).join(""), r > 1 ? e : ""), u = !0, c = 0, h = 0 | |
| } | |
| } | |
| }, | |
| removeUnorderedListItem: function (e, t) { | |
| var i = e.indexOf(t); | |
| if (i < 0) return; | |
| i === e.length - 1 ? e.pop() : e[i] = e.pop() | |
| } | |
| } | |
| }, function (e, t, i) { | |
| var r = i(2).Buffer, | |
| n = i(127).Transform, | |
| o = i(123).StringDecoder; | |
| function s(e) { | |
| n.call(this), this.hashMode = "string" == typeof e, this.hashMode ? this[e] = this._finalOrDigest : this.final = this._finalOrDigest, this._final && (this.__final = this._final, this._final = null), this._decoder = null, this._encoding = null | |
| } | |
| i(1)(s, n), s.prototype.update = function (e, t, i) { | |
| "string" == typeof e && (e = r.from(e, t)); | |
| var n = this._update(e); | |
| return this.hashMode ? this : (i && (n = this._toString(n, i)), n) | |
| }, s.prototype.setAutoPadding = function () {}, s.prototype.getAuthTag = function () { | |
| throw new Error("trying to get auth tag in unsupported state") | |
| }, s.prototype.setAuthTag = function () { | |
| throw new Error("trying to set auth tag in unsupported state") | |
| }, s.prototype.setAAD = function () { | |
| throw new Error("trying to set aad in unsupported state") | |
| }, s.prototype._transform = function (e, t, i) { | |
| var r; | |
| try { | |
| this.hashMode ? this._update(e) : this.push(this._update(e)) | |
| } catch (e) { | |
| r = e | |
| } finally { | |
| i(r) | |
| } | |
| }, s.prototype._flush = function (e) { | |
| var t; | |
| try { | |
| this.push(this.__final()) | |
| } catch (e) { | |
| t = e | |
| } | |
| e(t) | |
| }, s.prototype._finalOrDigest = function (e) { | |
| var t = this.__final() || r.alloc(0); | |
| return e && (t = this._toString(t, e, !0)), t | |
| }, s.prototype._toString = function (e, t, i) { | |
| if (this._decoder || (this._decoder = new o(t), this._encoding = t), this._encoding !== t) throw new Error("can't switch encodings"); | |
| var r = this._decoder.write(e); | |
| return i && (r += this._decoder.end()), r | |
| }, e.exports = s | |
| }, function (e, t) { | |
| e.exports = function (e, t) { | |
| return { | |
| enumerable: !(1 & e), | |
| configurable: !(2 & e), | |
| writable: !(4 & e), | |
| value: t | |
| } | |
| } | |
| }, function (e, t) { | |
| var i = 0, | |
| r = Math.random(); | |
| e.exports = function (e) { | |
| return "Symbol(".concat(void 0 === e ? "" : e, ")_", (++i + r).toString(36)) | |
| } | |
| }, function (e, t) { | |
| e.exports = !1 | |
| }, function (e, t, i) { | |
| var r = i(139), | |
| n = i(99); | |
| e.exports = Object.keys || function (e) { | |
| return r(e, n) | |
| } | |
| }, function (e, t, i) { | |
| var r = i(28), | |
| n = Math.max, | |
| o = Math.min; | |
| e.exports = function (e, t) { | |
| return (e = r(e)) < 0 ? n(e + t, 0) : o(e, t) | |
| } | |
| }, function (e, t, i) { | |
| var r = i(4), | |
| n = i(140), | |
| o = i(99), | |
| s = i(98)("IE_PROTO"), | |
| a = function () {}, | |
| c = function () { | |
| var e, t = i(95)("iframe"), | |
| r = o.length; | |
| for (t.style.display = "none", i(101).appendChild(t), t.src = "javascript:", (e = t.contentWindow.document).open(), e.write("<script>document.F=Object<\/script>"), e.close(), c = e.F; r--;) delete c.prototype[o[r]]; | |
| return c() | |
| }; | |
| e.exports = Object.create || function (e, t) { | |
| var i; | |
| return null !== e ? (a.prototype = r(e), i = new a, a.prototype = null, i[s] = e) : i = c(), void 0 === t ? i : n(i, t) | |
| } | |
| }, function (e, t, i) { | |
| var r = i(139), | |
| n = i(99).concat("length", "prototype"); | |
| t.f = Object.getOwnPropertyNames || function (e) { | |
| return r(e, n) | |
| } | |
| }, function (e, t, i) { | |
| var r = i(22), | |
| n = i(20), | |
| o = i(98)("IE_PROTO"), | |
| s = Object.prototype; | |
| e.exports = Object.getPrototypeOf || function (e) { | |
| return e = n(e), r(e, o) ? e[o] : "function" == typeof e.constructor && e instanceof e.constructor ? e.constructor.prototype : e instanceof Object ? s : null | |
| } | |
| }, function (e, t, i) { | |
| e.exports = i(394).Promise | |
| }, function (e, t, i) { | |
| "use strict"; | |
| (function (t, r) { | |
| var n = i(2).Buffer, | |
| o = t.crypto || t.msCrypto; | |
| o && o.getRandomValues ? e.exports = function (e, i) { | |
| if (e > 65536) throw new Error("requested too many random bytes"); | |
| var s = new t.Uint8Array(e); | |
| e > 0 && o.getRandomValues(s); | |
| var a = n.from(s.buffer); | |
| if ("function" == typeof i) return r.nextTick(function () { | |
| i(null, a) | |
| }); | |
| return a | |
| } : e.exports = function () { | |
| throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11") | |
| } | |
| }).call(this, i(15), i(27)) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(86), | |
| n = Object.keys || function (e) { | |
| var t = []; | |
| for (var i in e) t.push(i); | |
| return t | |
| }; | |
| e.exports = l; | |
| var o = i(68); | |
| o.inherits = i(1); | |
| var s = i(169), | |
| a = i(122); | |
| o.inherits(l, s); | |
| for (var c = n(a.prototype), h = 0; h < c.length; h++) { | |
| var u = c[h]; | |
| l.prototype[u] || (l.prototype[u] = a.prototype[u]) | |
| } | |
| function l(e) { | |
| if (!(this instanceof l)) return new l(e); | |
| s.call(this, e), a.call(this, e), e && !1 === e.readable && (this.readable = !1), e && !1 === e.writable && (this.writable = !1), this.allowHalfOpen = !0, e && !1 === e.allowHalfOpen && (this.allowHalfOpen = !1), this.once("end", f) | |
| } | |
| function f() { | |
| this.allowHalfOpen || this._writableState.ended || r.nextTick(d, this) | |
| } | |
| function d(e) { | |
| e.end() | |
| } | |
| Object.defineProperty(l.prototype, "writableHighWaterMark", { | |
| enumerable: !1, | |
| get: function () { | |
| return this._writableState.highWaterMark | |
| } | |
| }), Object.defineProperty(l.prototype, "destroyed", { | |
| get: function () { | |
| return void 0 !== this._readableState && void 0 !== this._writableState && (this._readableState.destroyed && this._writableState.destroyed) | |
| }, | |
| set: function (e) { | |
| void 0 !== this._readableState && void 0 !== this._writableState && (this._readableState.destroyed = e, this._writableState.destroyed = e) | |
| } | |
| }), l.prototype._destroy = function (e, t) { | |
| this.push(null), this.end(), r.nextTick(t, e) | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(94); | |
| function n(e, t) { | |
| for (var i = 0; i < t.length; i++) { | |
| var r = t[i]; | |
| r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r) | |
| } | |
| } | |
| var o = function () { | |
| function e(t, i) { | |
| ! function (e, t) { | |
| if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") | |
| }(this, e), void 0 === e.id && (e.id = 1e4), this.isClient = t.isClient, this.isSelf = void 0 !== t.isSelf && t.isSelf, this.network = void 0 !== t.network ? t.network : null, this.initializeState(t), this.positionCallback = "function" == typeof i ? i : null, this.id = e.id += 1, !0 === this.isClient && this.sendJoined() | |
| } | |
| var t, i, o; | |
| return t = e, (i = [{ | |
| key: "initializeState", | |
| value: function (e) { | |
| this.state = { | |
| name: e.name, | |
| position: { | |
| x: 0, | |
| y: 0, | |
| z: 0 | |
| }, | |
| rotation: { | |
| x: 0, | |
| y: 0, | |
| z: 0 | |
| }, | |
| walking: !1, | |
| spawned: !1 | |
| }, this.peer = e.peer | |
| } | |
| }, { | |
| key: "setPosition", | |
| value: function (e, t, i) { | |
| this.state.walking = e.x !== this.state.position.x || e.z !== this.state.position.z, this.state.position = e, this.state.rotation = t, this.state.spawned = i, this.positionCallback && this.positionCallback(this.state) | |
| } | |
| }, { | |
| key: "setState", | |
| value: function (e) { | |
| var t = this.state.name !== e.name; | |
| this.state.position = e.position, this.state.rotation = e.rotation, this.state.walking = e.walking, this.state.spawned = e.spawned, this.state.name = e.name, (void 0 === this.noaPlayer || t) && this.state.spawned && (void 0 !== this.noaPlayer && this.noaPlayer.remove(), this.noaPlayer = r.a.getInstance().addPlayer(0, 0, 0, this.state.name, this.id)), void 0 !== this.noaPlayer && (this.noaPlayer.setPosition(e.position.x, e.position.y, e.position.z), this.noaPlayer.setRotation(0, e.rotation.y, 0), this.noaPlayer.walking = e.walking) | |
| } | |
| }, { | |
| key: "sendJoined", | |
| value: function () { | |
| null != this.network && this.network.sendJoined(this.state.name) | |
| } | |
| }, { | |
| key: "sendMessage", | |
| value: function (e) { | |
| null != this.network && this.network.sendMessage(e) | |
| } | |
| }, { | |
| key: "emitFireEvent", | |
| value: function (e) { | |
| null != this.network && this.network.emitFireEvent(e) | |
| } | |
| }]) && n(t.prototype, i), o && n(t, o), e | |
| }(); | |
| t.a = o | |
| }, function (e, t, i) { | |
| var r = i(12).f, | |
| n = i(22), | |
| o = i(8)("toStringTag"); | |
| e.exports = function (e, t, i) { | |
| e && !n(e = i ? e : e.prototype, o) && r(e, o, { | |
| configurable: !0, | |
| value: t | |
| }) | |
| } | |
| }, function (e, t) { | |
| e.exports = {} | |
| }, function (e, t, i) { | |
| var r = i(8)("unscopables"), | |
| n = Array.prototype; | |
| null == n[r] && i(23)(n, r, {}), e.exports = function (e) { | |
| n[r][e] = !0 | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(5), | |
| n = i(12), | |
| o = i(13), | |
| s = i(8)("species"); | |
| e.exports = function (e) { | |
| var t = r[e]; | |
| o && t && !t[s] && n.f(t, s, { | |
| configurable: !0, | |
| get: function () { | |
| return this | |
| } | |
| }) | |
| } | |
| }, function (e, t) { | |
| e.exports = function (e, t, i, r) { | |
| if (!(e instanceof t) || void 0 !== r && r in e) throw TypeError(i + ": incorrect invocation!"); | |
| return e | |
| } | |
| }, function (e, t, i) { | |
| var r = i(19); | |
| e.exports = function (e, t, i) { | |
| for (var n in t) r(e, n, t[n], i); | |
| return e | |
| } | |
| }, function (e, t, i) { | |
| var r = i(6); | |
| e.exports = function (e, t) { | |
| if (!r(e) || e._t !== t) throw TypeError("Incompatible receiver, " + t + " required!"); | |
| return e | |
| } | |
| }, function (e, t, i) { | |
| var r = i(2).Buffer; | |
| function n(e, t) { | |
| this._block = r.alloc(e), this._finalSize = t, this._blockSize = e, this._len = 0 | |
| } | |
| n.prototype.update = function (e, t) { | |
| "string" == typeof e && (t = t || "utf8", e = r.from(e, t)); | |
| for (var i = this._block, n = this._blockSize, o = e.length, s = this._len, a = 0; a < o;) { | |
| for (var c = s % n, h = Math.min(o - a, n - c), u = 0; u < h; u++) i[c + u] = e[a + u]; | |
| a += h, (s += h) % n == 0 && this._update(i) | |
| } | |
| return this._len += o, this | |
| }, n.prototype.digest = function (e) { | |
| var t = this._len % this._blockSize; | |
| this._block[t] = 128, this._block.fill(0, t + 1), t >= this._finalSize && (this._update(this._block), this._block.fill(0)); | |
| var i = 8 * this._len; | |
| if (i <= 4294967295) this._block.writeUInt32BE(i, this._blockSize - 4); | |
| else { | |
| var r = (4294967295 & i) >>> 0, | |
| n = (i - r) / 4294967296; | |
| this._block.writeUInt32BE(n, this._blockSize - 8), this._block.writeUInt32BE(r, this._blockSize - 4) | |
| } | |
| this._update(this._block); | |
| var o = this._hash(); | |
| return e ? o.toString(e) : o | |
| }, n.prototype._update = function () { | |
| throw new Error("_update must be implemented by subclass") | |
| }, e.exports = n | |
| }, function (e, t, i) { | |
| var r = i(36); | |
| e.exports = Object("z").propertyIsEnumerable(0) ? Object : function (e) { | |
| return "String" == r(e) ? e.split("") : Object(e) | |
| } | |
| }, function (e, t) { | |
| t.f = {}.propertyIsEnumerable | |
| }, function (e, t, i) { | |
| var r = i(36), | |
| n = i(8)("toStringTag"), | |
| o = "Arguments" == r(function () { | |
| return arguments | |
| }()); | |
| e.exports = function (e) { | |
| var t, i, s; | |
| return void 0 === e ? "Undefined" : null === e ? "Null" : "string" == typeof (i = function (e, t) { | |
| try { | |
| return e[t] | |
| } catch (e) {} | |
| }(t = Object(e), n)) ? i : o ? r(t) : "Object" == (s = r(t)) && "function" == typeof t.callee ? "Arguments" : s | |
| } | |
| }, function (e, t, i) { | |
| var r = i(4), | |
| n = i(35), | |
| o = i(8)("species"); | |
| e.exports = function (e, t) { | |
| var i, s = r(e).constructor; | |
| return void 0 === s || null == (i = r(s)[o]) ? t : n(i) | |
| } | |
| }, function (e, t, i) { | |
| (function (e) { | |
| function i(e) { | |
| return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { | |
| return typeof e | |
| } : function (e) { | |
| return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e | |
| })(e) | |
| } | |
| function r(e) { | |
| return Object.prototype.toString.call(e) | |
| } | |
| t.isArray = function (e) { | |
| return Array.isArray ? Array.isArray(e) : "[object Array]" === r(e) | |
| }, t.isBoolean = function (e) { | |
| return "boolean" == typeof e | |
| }, t.isNull = function (e) { | |
| return null === e | |
| }, t.isNullOrUndefined = function (e) { | |
| return null == e | |
| }, t.isNumber = function (e) { | |
| return "number" == typeof e | |
| }, t.isString = function (e) { | |
| return "string" == typeof e | |
| }, t.isSymbol = function (e) { | |
| return "symbol" === i(e) | |
| }, t.isUndefined = function (e) { | |
| return void 0 === e | |
| }, t.isRegExp = function (e) { | |
| return "[object RegExp]" === r(e) | |
| }, t.isObject = function (e) { | |
| return "object" === i(e) && null !== e | |
| }, t.isDate = function (e) { | |
| return "[object Date]" === r(e) | |
| }, t.isError = function (e) { | |
| return "[object Error]" === r(e) || e instanceof Error | |
| }, t.isFunction = function (e) { | |
| return "function" == typeof e | |
| }, t.isPrimitive = function (e) { | |
| return null === e || "boolean" == typeof e || "number" == typeof e || "string" == typeof e || "symbol" === i(e) || void 0 === e | |
| }, t.isBuffer = e.isBuffer | |
| }).call(this, i(9).Buffer) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(1), | |
| n = i(126), | |
| o = i(128), | |
| s = i(129), | |
| a = i(43); | |
| function c(e) { | |
| a.call(this, "digest"), this._hash = e | |
| } | |
| r(c, a), c.prototype._update = function (e) { | |
| this._hash.update(e) | |
| }, c.prototype._final = function () { | |
| return this._hash.digest() | |
| }, e.exports = function (e) { | |
| return "md5" === (e = e.toLowerCase()) ? new n : "rmd160" === e || "ripemd160" === e ? new o : new c(s(e)) | |
| } | |
| }, function (e, t, i) { | |
| (function (t) { | |
| e.exports = function (e, i) { | |
| for (var r = Math.min(e.length, i.length), n = new t(r), o = 0; o < r; ++o) n[o] = e[o] ^ i[o]; | |
| return n | |
| } | |
| }).call(this, i(9).Buffer) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(33), | |
| n = i(25); | |
| function o() { | |
| this.pending = null, this.pendingTotal = 0, this.blockSize = this.constructor.blockSize, this.outSize = this.constructor.outSize, this.hmacStrength = this.constructor.hmacStrength, this.padLength = this.constructor.padLength / 8, this.endian = "big", this._delta8 = this.blockSize / 8, this._delta32 = this.blockSize / 32 | |
| } | |
| t.BlockHash = o, o.prototype.update = function (e, t) { | |
| if (e = r.toArray(e, t), this.pending ? this.pending = this.pending.concat(e) : this.pending = e, this.pendingTotal += e.length, this.pending.length >= this._delta8) { | |
| var i = (e = this.pending).length % this._delta8; | |
| this.pending = e.slice(e.length - i, e.length), 0 === this.pending.length && (this.pending = null), e = r.join32(e, 0, e.length - i, this.endian); | |
| for (var n = 0; n < e.length; n += this._delta32) this._update(e, n, n + this._delta32) | |
| } | |
| return this | |
| }, o.prototype.digest = function (e) { | |
| return this.update(this._pad()), n(null === this.pending), this._digest(e) | |
| }, o.prototype._pad = function () { | |
| var e = this.pendingTotal, | |
| t = this._delta8, | |
| i = t - (e + this.padLength) % t, | |
| r = new Array(i + this.padLength); | |
| r[0] = 128; | |
| for (var n = 1; n < i; n++) r[n] = 0; | |
| if (e <<= 3, "big" === this.endian) { | |
| for (var o = 8; o < this.padLength; o++) r[n++] = 0; | |
| r[n++] = 0, r[n++] = 0, r[n++] = 0, r[n++] = 0, r[n++] = e >>> 24 & 255, r[n++] = e >>> 16 & 255, r[n++] = e >>> 8 & 255, r[n++] = 255 & e | |
| } else | |
| for (r[n++] = 255 & e, r[n++] = e >>> 8 & 255, r[n++] = e >>> 16 & 255, r[n++] = e >>> 24 & 255, r[n++] = 0, r[n++] = 0, r[n++] = 0, r[n++] = 0, o = 8; o < this.padLength; o++) r[n++] = 0; | |
| return r | |
| } | |
| }, function (e, t, i) { | |
| var r = t; | |
| r.bignum = i(11), r.define = i(570).define, r.base = i(73), r.constants = i(219), r.decoders = i(576), r.encoders = i(578) | |
| }, function (e, t, i) { | |
| var r = t; | |
| r.Reporter = i(573).Reporter, r.DecoderBuffer = i(218).DecoderBuffer, r.EncoderBuffer = i(218).EncoderBuffer, r.Node = i(574) | |
| }, function (e, t, i) { | |
| var r = i(24), | |
| n = i(10), | |
| o = i(48); | |
| e.exports = function (e) { | |
| return function (t, i, s) { | |
| var a, c = r(t), | |
| h = n(c.length), | |
| u = o(s, h); | |
| if (e && i != i) { | |
| for (; h > u;) | |
| if ((a = c[u++]) != a) return !0 | |
| } else | |
| for (; h > u; u++) | |
| if ((e || u in c) && c[u] === i) return e || u || 0; | |
| return !e && -1 | |
| } | |
| } | |
| }, function (e, t) { | |
| t.f = Object.getOwnPropertySymbols | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(37), | |
| o = i(3), | |
| s = i(103), | |
| a = "[" + s + "]", | |
| c = RegExp("^" + a + a + "*"), | |
| h = RegExp(a + a + "*$"), | |
| u = function (e, t, i) { | |
| var n = {}, | |
| a = o(function () { | |
| return !!s[e]() || "​…" != "​…" [e]() | |
| }), | |
| c = n[e] = a ? t(l) : s[e]; | |
| i && (n[i] = c), r(r.P + r.F * a, "String", n) | |
| }, | |
| l = u.trim = function (e, t) { | |
| return e = String(n(e)), 1 & t && (e = e.replace(c, "")), 2 & t && (e = e.replace(h, "")), e | |
| }; | |
| e.exports = u | |
| }, function (e, t, i) { | |
| var r = i(8)("iterator"), | |
| n = !1; | |
| try { | |
| var o = [7][r](); | |
| o.return = function () { | |
| n = !0 | |
| }, Array.from(o, function () { | |
| throw 2 | |
| }) | |
| } catch (e) {} | |
| e.exports = function (e, t) { | |
| if (!t && !n) return !1; | |
| var i = !1; | |
| try { | |
| var o = [7], | |
| s = o[r](); | |
| s.next = function () { | |
| return { | |
| done: i = !0 | |
| } | |
| }, o[r] = function () { | |
| return s | |
| }, e(o) | |
| } catch (e) {} | |
| return i | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(4); | |
| e.exports = function () { | |
| var e = r(this), | |
| t = ""; | |
| return e.global && (t += "g"), e.ignoreCase && (t += "i"), e.multiline && (t += "m"), e.unicode && (t += "u"), e.sticky && (t += "y"), t | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| function r(e) { | |
| return (r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { | |
| return typeof e | |
| } : function (e) { | |
| return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e | |
| })(e) | |
| } | |
| var n = i(66), | |
| o = RegExp.prototype.exec; | |
| e.exports = function (e, t) { | |
| var i = e.exec; | |
| if ("function" == typeof i) { | |
| var s = i.call(e, t); | |
| if ("object" !== r(s)) throw new TypeError("RegExp exec method returned something other than an Object or null"); | |
| return s | |
| } | |
| if ("RegExp" !== n(e)) throw new TypeError("RegExp#exec called on incompatible receiver"); | |
| return o.call(e, t) | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| i(156); | |
| var r = i(19), | |
| n = i(23), | |
| o = i(3), | |
| s = i(37), | |
| a = i(8), | |
| c = i(118), | |
| h = a("species"), | |
| u = !o(function () { | |
| var e = /./; | |
| return e.exec = function () { | |
| var e = []; | |
| return e.groups = { | |
| a: "7" | |
| }, e | |
| }, "7" !== "".replace(e, "$<a>") | |
| }), | |
| l = function () { | |
| var e = /(?:)/, | |
| t = e.exec; | |
| e.exec = function () { | |
| return t.apply(this, arguments) | |
| }; | |
| var i = "ab".split(e); | |
| return 2 === i.length && "a" === i[0] && "b" === i[1] | |
| }(); | |
| e.exports = function (e, t, i) { | |
| var f = a(e), | |
| d = !o(function () { | |
| var t = {}; | |
| return t[f] = function () { | |
| return 7 | |
| }, 7 != "" [e](t) | |
| }), | |
| p = d ? !o(function () { | |
| var t = !1, | |
| i = /a/; | |
| return i.exec = function () { | |
| return t = !0, null | |
| }, "split" === e && (i.constructor = {}, i.constructor[h] = function () { | |
| return i | |
| }), i[f](""), !t | |
| }) : void 0; | |
| if (!d || !p || "replace" === e && !u || "split" === e && !l) { | |
| var m = /./ [f], | |
| g = i(s, f, "" [e], function (e, t, i, r, n) { | |
| return t.exec === c ? d && !n ? { | |
| done: !0, | |
| value: m.call(t, i, r) | |
| } : { | |
| done: !0, | |
| value: e.call(i, t, r) | |
| } : { | |
| done: !1 | |
| } | |
| }), | |
| _ = g[0], | |
| v = g[1]; | |
| r(String.prototype, e, _), n(RegExp.prototype, f, 2 == t ? function (e, t) { | |
| return v.call(e, this, t) | |
| } : function (e) { | |
| return v.call(e, this) | |
| }) | |
| } | |
| } | |
| }, function (e, t, i) { | |
| var r = i(34), | |
| n = i(152), | |
| o = i(113), | |
| s = i(4), | |
| a = i(10), | |
| c = i(115), | |
| h = {}, | |
| u = {}; | |
| (t = e.exports = function (e, t, i, l, f) { | |
| var d, p, m, g, _ = f ? function () { | |
| return e | |
| } : c(e), | |
| v = r(i, l, t ? 2 : 1), | |
| y = 0; | |
| if ("function" != typeof _) throw TypeError(e + " is not iterable!"); | |
| if (o(_)) { | |
| for (d = a(e.length); d > y; y++) | |
| if ((g = t ? v(s(p = e[y])[0], p[1]) : v(e[y])) === h || g === u) return g | |
| } else | |
| for (m = _.call(e); !(p = m.next()).done;) | |
| if ((g = n(m, v, p.value, t)) === h || g === u) return g | |
| }).BREAK = h, t.RETURN = u | |
| }, function (e, t, i) { | |
| var r = i(5).navigator; | |
| e.exports = r && r.userAgent || "" | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(5), | |
| n = i(0), | |
| o = i(19), | |
| s = i(61), | |
| a = i(40), | |
| c = i(81), | |
| h = i(60), | |
| u = i(6), | |
| l = i(3), | |
| f = i(77), | |
| d = i(56), | |
| p = i(104); | |
| e.exports = function (e, t, i, m, g, _) { | |
| var v = r[e], | |
| y = v, | |
| b = g ? "set" : "add", | |
| x = y && y.prototype, | |
| w = {}, | |
| S = function (e) { | |
| var t = x[e]; | |
| o(x, e, "delete" == e ? function (e) { | |
| return !(_ && !u(e)) && t.call(this, 0 === e ? 0 : e) | |
| } : "has" == e ? function (e) { | |
| return !(_ && !u(e)) && t.call(this, 0 === e ? 0 : e) | |
| } : "get" == e ? function (e) { | |
| return _ && !u(e) ? void 0 : t.call(this, 0 === e ? 0 : e) | |
| } : "add" == e ? function (e) { | |
| return t.call(this, 0 === e ? 0 : e), this | |
| } : function (e, i) { | |
| return t.call(this, 0 === e ? 0 : e, i), this | |
| }) | |
| }; | |
| if ("function" == typeof y && (_ || x.forEach && !l(function () { | |
| (new y).entries().next() | |
| }))) { | |
| var T = new y, | |
| A = T[b](_ ? {} : -0, 1) != T, | |
| M = l(function () { | |
| T.has(1) | |
| }), | |
| E = f(function (e) { | |
| new y(e) | |
| }), | |
| P = !_ && l(function () { | |
| for (var e = new y, t = 5; t--;) e[b](t, t); | |
| return !e.has(-0) | |
| }); | |
| E || ((y = t(function (t, i) { | |
| h(t, y, e); | |
| var r = p(new v, t, y); | |
| return null != i && c(i, g, r[b], r), r | |
| })).prototype = x, x.constructor = y), (M || P) && (S("delete"), S("has"), g && S("get")), (P || A) && S(b), _ && x.clear && delete x.clear | |
| } else y = m.getConstructor(t, e, g, b), s(y.prototype, i), a.NEED = !0; | |
| return d(y, e), w[e] = y, n(n.G + n.W + n.F * (y != v), w), _ || m.setStrong(y, e, g), y | |
| } | |
| }, function (e, t, i) { | |
| for (var r, n = i(5), o = i(23), s = i(45), a = s("typed_array"), c = s("view"), h = !(!n.ArrayBuffer || !n.DataView), u = h, l = 0, f = "Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(","); l < 9;)(r = n[f[l++]]) ? (o(r.prototype, a, !0), o(r.prototype, c, !0)) : u = !1; | |
| e.exports = { | |
| ABV: h, | |
| CONSTR: u, | |
| TYPED: a, | |
| VIEW: c | |
| } | |
| }, function (e, t, i) { | |
| (t = e.exports = i(169)).Stream = t, t.Readable = t, t.Writable = i(122), t.Duplex = i(54), t.Transform = i(172), t.PassThrough = i(409) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| (function (t) { | |
| !t.version || 0 === t.version.indexOf("v0.") || 0 === t.version.indexOf("v1.") && 0 !== t.version.indexOf("v1.8.") ? e.exports = { | |
| nextTick: function (e, i, r, n) { | |
| if ("function" != typeof e) throw new TypeError('"callback" argument must be a function'); | |
| var o, s, a = arguments.length; | |
| switch (a) { | |
| case 0: | |
| case 1: | |
| return t.nextTick(e); | |
| case 2: | |
| return t.nextTick(function () { | |
| e.call(null, i) | |
| }); | |
| case 3: | |
| return t.nextTick(function () { | |
| e.call(null, i, r) | |
| }); | |
| case 4: | |
| return t.nextTick(function () { | |
| e.call(null, i, r, n) | |
| }); | |
| default: | |
| for (o = new Array(a - 1), s = 0; s < o.length;) o[s++] = arguments[s]; | |
| return t.nextTick(function () { | |
| e.apply(null, o) | |
| }) | |
| } | |
| } | |
| } : e.exports = t | |
| }).call(this, i(27)) | |
| }, function (e, t, i) { | |
| e.exports = n; | |
| var r = i(16); | |
| function n(e, t) { | |
| if (!(this instanceof n)) return new n(e, t); | |
| var i = r.create(); | |
| r.add(i, e, t), this.base = r.min(r.create(), e, i), this.vec = r.clone(t), this.max = r.max(r.create(), e, i), this.mag = r.length(this.vec) | |
| } | |
| var o = n.prototype; | |
| o.width = function () { | |
| return this.vec[0] | |
| }, o.height = function () { | |
| return this.vec[1] | |
| }, o.depth = function () { | |
| return this.vec[2] | |
| }, o.x0 = function () { | |
| return this.base[0] | |
| }, o.y0 = function () { | |
| return this.base[1] | |
| }, o.z0 = function () { | |
| return this.base[2] | |
| }, o.x1 = function () { | |
| return this.max[0] | |
| }, o.y1 = function () { | |
| return this.max[1] | |
| }, o.z1 = function () { | |
| return this.max[2] | |
| }, o.translate = function (e) { | |
| return r.add(this.max, this.max, e), r.add(this.base, this.base, e), this | |
| }, o.setPosition = function (e) { | |
| return r.add(this.max, e, this.vec), r.copy(this.base, e), this | |
| }, o.expand = function (e) { | |
| var t = r.create(), | |
| i = r.create(); | |
| return r.max(t, e.max, this.max), r.min(i, e.base, this.base), r.subtract(t, t, i), new n(i, t) | |
| }, o.intersects = function (e) { | |
| return !(e.base[0] > this.max[0]) && (!(e.base[1] > this.max[1]) && (!(e.base[2] > this.max[2]) && (!(e.max[0] < this.base[0]) && (!(e.max[1] < this.base[1]) && !(e.max[2] < this.base[2]))))) | |
| }, o.touches = function (e) { | |
| var t = this.union(e); | |
| return null !== t && (0 == t.width() || 0 == t.height() || 0 == t.depth()) | |
| }, o.union = function (e) { | |
| if (!this.intersects(e)) return null; | |
| var t = Math.max(e.base[0], this.base[0]), | |
| i = Math.max(e.base[1], this.base[1]), | |
| r = Math.max(e.base[2], this.base[2]); | |
| return new n([t, i, r], [Math.min(e.max[0], this.max[0]) - t, Math.min(e.max[1], this.max[1]) - i, Math.min(e.max[2], this.max[2]) - r]) | |
| } | |
| }, function (e, t, i) { | |
| var r = i(185), | |
| n = i(445), | |
| o = "undefined" != typeof Float64Array; | |
| function s(e, t) { | |
| return e[0] - t[0] | |
| } | |
| function a() { | |
| var e, t = this.stride, | |
| i = new Array(t.length); | |
| for (e = 0; e < i.length; ++e) i[e] = [Math.abs(t[e]), e]; | |
| i.sort(s); | |
| var r = new Array(i.length); | |
| for (e = 0; e < r.length; ++e) r[e] = i[e][1]; | |
| return r | |
| } | |
| function c(e, t) { | |
| var i = ["View", t, "d", e].join(""); | |
| t < 0 && (i = "View_Nil" + e); | |
| var n = "generic" === e; | |
| if (-1 === t) { | |
| var o = "function " + i + "(a){this.data=a;};var proto=" + i + ".prototype;proto.dtype='" + e + "';proto.index=function(){return -1};proto.size=0;proto.dimension=-1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function(){return new " + i + "(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_" + i + "(a){return new " + i + "(a);}"; | |
| return new Function(o)() | |
| } | |
| if (0 === t) { | |
| o = "function " + i + "(a,d) {this.data = a;this.offset = d};var proto=" + i + ".prototype;proto.dtype='" + e + "';proto.index=function(){return this.offset};proto.dimension=0;proto.size=1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function " + i + "_copy() {return new " + i + "(this.data,this.offset)};proto.pick=function " + i + "_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function " + i + "_get(){return " + (n ? "this.data.get(this.offset)" : "this.data[this.offset]") + "};proto.set=function " + i + "_set(v){return " + (n ? "this.data.set(this.offset,v)" : "this.data[this.offset]=v") + "};return function construct_" + i + "(a,b,c,d){return new " + i + "(a,d)}"; | |
| return new Function("TrivialArray", o)(h[e][0]) | |
| } | |
| o = ["'use strict'"]; | |
| var s = r(t), | |
| c = s.map(function (e) { | |
| return "i" + e | |
| }), | |
| u = "this.offset+" + s.map(function (e) { | |
| return "this.stride[" + e + "]*i" + e | |
| }).join("+"), | |
| l = s.map(function (e) { | |
| return "b" + e | |
| }).join(","), | |
| f = s.map(function (e) { | |
| return "c" + e | |
| }).join(","); | |
| o.push("function " + i + "(a," + l + "," + f + ",d){this.data=a", "this.shape=[" + l + "]", "this.stride=[" + f + "]", "this.offset=d|0}", "var proto=" + i + ".prototype", "proto.dtype='" + e + "'", "proto.dimension=" + t), o.push("Object.defineProperty(proto,'size',{get:function " + i + "_size(){return " + s.map(function (e) { | |
| return "this.shape[" + e + "]" | |
| }).join("*"), "}})"), 1 === t ? o.push("proto.order=[0]") : (o.push("Object.defineProperty(proto,'order',{get:"), t < 4 ? (o.push("function " + i + "_order(){"), 2 === t ? o.push("return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})") : 3 === t && o.push("var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})")) : o.push("ORDER})")), o.push("proto.set=function " + i + "_set(" + c.join(",") + ",v){"), n ? o.push("return this.data.set(" + u + ",v)}") : o.push("return this.data[" + u + "]=v}"), o.push("proto.get=function " + i + "_get(" + c.join(",") + "){"), n ? o.push("return this.data.get(" + u + ")}") : o.push("return this.data[" + u + "]}"), o.push("proto.index=function " + i + "_index(", c.join(), "){return " + u + "}"), o.push("proto.hi=function " + i + "_hi(" + c.join(",") + "){return new " + i + "(this.data," + s.map(function (e) { | |
| return ["(typeof i", e, "!=='number'||i", e, "<0)?this.shape[", e, "]:i", e, "|0"].join("") | |
| }).join(",") + "," + s.map(function (e) { | |
| return "this.stride[" + e + "]" | |
| }).join(",") + ",this.offset)}"); | |
| var d = s.map(function (e) { | |
| return "a" + e + "=this.shape[" + e + "]" | |
| }), | |
| p = s.map(function (e) { | |
| return "c" + e + "=this.stride[" + e + "]" | |
| }); | |
| o.push("proto.lo=function " + i + "_lo(" + c.join(",") + "){var b=this.offset,d=0," + d.join(",") + "," + p.join(",")); | |
| for (var m = 0; m < t; ++m) o.push("if(typeof i" + m + "==='number'&&i" + m + ">=0){d=i" + m + "|0;b+=c" + m + "*d;a" + m + "-=d}"); | |
| o.push("return new " + i + "(this.data," + s.map(function (e) { | |
| return "a" + e | |
| }).join(",") + "," + s.map(function (e) { | |
| return "c" + e | |
| }).join(",") + ",b)}"), o.push("proto.step=function " + i + "_step(" + c.join(",") + "){var " + s.map(function (e) { | |
| return "a" + e + "=this.shape[" + e + "]" | |
| }).join(",") + "," + s.map(function (e) { | |
| return "b" + e + "=this.stride[" + e + "]" | |
| }).join(",") + ",c=this.offset,d=0,ceil=Math.ceil"); | |
| for (m = 0; m < t; ++m) o.push("if(typeof i" + m + "==='number'){d=i" + m + "|0;if(d<0){c+=b" + m + "*(a" + m + "-1);a" + m + "=ceil(-a" + m + "/d)}else{a" + m + "=ceil(a" + m + "/d)}b" + m + "*=d}"); | |
| o.push("return new " + i + "(this.data," + s.map(function (e) { | |
| return "a" + e | |
| }).join(",") + "," + s.map(function (e) { | |
| return "b" + e | |
| }).join(",") + ",c)}"); | |
| var g = new Array(t), | |
| _ = new Array(t); | |
| for (m = 0; m < t; ++m) g[m] = "a[i" + m + "]", _[m] = "b[i" + m + "]"; | |
| o.push("proto.transpose=function " + i + "_transpose(" + c + "){" + c.map(function (e, t) { | |
| return e + "=(" + e + "===undefined?" + t + ":" + e + "|0)" | |
| }).join(";"), "var a=this.shape,b=this.stride;return new " + i + "(this.data," + g.join(",") + "," + _.join(",") + ",this.offset)}"), o.push("proto.pick=function " + i + "_pick(" + c + "){var a=[],b=[],c=this.offset"); | |
| for (m = 0; m < t; ++m) o.push("if(typeof i" + m + "==='number'&&i" + m + ">=0){c=(c+this.stride[" + m + "]*i" + m + ")|0}else{a.push(this.shape[" + m + "]);b.push(this.stride[" + m + "])}"); | |
| return o.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}"), o.push("return function construct_" + i + "(data,shape,stride,offset){return new " + i + "(data," + s.map(function (e) { | |
| return "shape[" + e + "]" | |
| }).join(",") + "," + s.map(function (e) { | |
| return "stride[" + e + "]" | |
| }).join(",") + ",offset)}"), new Function("CTOR_LIST", "ORDER", o.join("\n"))(h[e], a) | |
| } | |
| var h = { | |
| float32: [], | |
| float64: [], | |
| int8: [], | |
| int16: [], | |
| int32: [], | |
| uint8: [], | |
| uint16: [], | |
| uint32: [], | |
| array: [], | |
| uint8_clamped: [], | |
| buffer: [], | |
| generic: [] | |
| }; | |
| e.exports = function (e, t, i, r) { | |
| if (void 0 === e) return (0, h.array[0])([]); | |
| "number" == typeof e && (e = [e]), void 0 === t && (t = [e.length]); | |
| var s = t.length; | |
| if (void 0 === i) { | |
| i = new Array(s); | |
| for (var a = s - 1, u = 1; a >= 0; --a) i[a] = u, u *= t[a] | |
| } | |
| if (void 0 === r) | |
| for (r = 0, a = 0; a < s; ++a) i[a] < 0 && (r -= (t[a] - 1) * i[a]); | |
| for (var l = function (e) { | |
| if (n(e)) return "buffer"; | |
| if (o) switch (Object.prototype.toString.call(e)) { | |
| case "[object Float64Array]": | |
| return "float64"; | |
| case "[object Float32Array]": | |
| return "float32"; | |
| case "[object Int8Array]": | |
| return "int8"; | |
| case "[object Int16Array]": | |
| return "int16"; | |
| case "[object Int32Array]": | |
| return "int32"; | |
| case "[object Uint8Array]": | |
| return "uint8"; | |
| case "[object Uint16Array]": | |
| return "uint16"; | |
| case "[object Uint32Array]": | |
| return "uint32"; | |
| case "[object Uint8ClampedArray]": | |
| return "uint8_clamped" | |
| } | |
| return Array.isArray(e) ? "array" : "generic" | |
| }(e), f = h[l]; f.length <= s + 1;) f.push(c(l, f.length - 1)); | |
| return (0, f[s + 1])(e, t, i, r) | |
| } | |
| }, function (e, t, i) { | |
| var r = i(2).Buffer; | |
| function n(e) { | |
| r.isBuffer(e) || (e = r.from(e)); | |
| for (var t = e.length / 4 | 0, i = new Array(t), n = 0; n < t; n++) i[n] = e.readUInt32BE(4 * n); | |
| return i | |
| } | |
| function o(e) { | |
| for (; 0 < e.length; e++) e[0] = 0 | |
| } | |
| function s(e, t, i, r, n) { | |
| for (var o, s, a, c, h = i[0], u = i[1], l = i[2], f = i[3], d = e[0] ^ t[0], p = e[1] ^ t[1], m = e[2] ^ t[2], g = e[3] ^ t[3], _ = 4, v = 1; v < n; v++) o = h[d >>> 24] ^ u[p >>> 16 & 255] ^ l[m >>> 8 & 255] ^ f[255 & g] ^ t[_++], s = h[p >>> 24] ^ u[m >>> 16 & 255] ^ l[g >>> 8 & 255] ^ f[255 & d] ^ t[_++], a = h[m >>> 24] ^ u[g >>> 16 & 255] ^ l[d >>> 8 & 255] ^ f[255 & p] ^ t[_++], c = h[g >>> 24] ^ u[d >>> 16 & 255] ^ l[p >>> 8 & 255] ^ f[255 & m] ^ t[_++], d = o, p = s, m = a, g = c; | |
| return o = (r[d >>> 24] << 24 | r[p >>> 16 & 255] << 16 | r[m >>> 8 & 255] << 8 | r[255 & g]) ^ t[_++], s = (r[p >>> 24] << 24 | r[m >>> 16 & 255] << 16 | r[g >>> 8 & 255] << 8 | r[255 & d]) ^ t[_++], a = (r[m >>> 24] << 24 | r[g >>> 16 & 255] << 16 | r[d >>> 8 & 255] << 8 | r[255 & p]) ^ t[_++], c = (r[g >>> 24] << 24 | r[d >>> 16 & 255] << 16 | r[p >>> 8 & 255] << 8 | r[255 & m]) ^ t[_++], [o >>>= 0, s >>>= 0, a >>>= 0, c >>>= 0] | |
| } | |
| var a = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], | |
| c = function () { | |
| for (var e = new Array(256), t = 0; t < 256; t++) e[t] = t < 128 ? t << 1 : t << 1 ^ 283; | |
| for (var i = [], r = [], n = [ | |
| [], | |
| [], | |
| [], | |
| [] | |
| ], o = [ | |
| [], | |
| [], | |
| [], | |
| [] | |
| ], s = 0, a = 0, c = 0; c < 256; ++c) { | |
| var h = a ^ a << 1 ^ a << 2 ^ a << 3 ^ a << 4; | |
| h = h >>> 8 ^ 255 & h ^ 99, i[s] = h, r[h] = s; | |
| var u = e[s], | |
| l = e[u], | |
| f = e[l], | |
| d = 257 * e[h] ^ 16843008 * h; | |
| n[0][s] = d << 24 | d >>> 8, n[1][s] = d << 16 | d >>> 16, n[2][s] = d << 8 | d >>> 24, n[3][s] = d, d = 16843009 * f ^ 65537 * l ^ 257 * u ^ 16843008 * s, o[0][h] = d << 24 | d >>> 8, o[1][h] = d << 16 | d >>> 16, o[2][h] = d << 8 | d >>> 24, o[3][h] = d, 0 === s ? s = a = 1 : (s = u ^ e[e[e[f ^ u]]], a ^= e[e[a]]) | |
| } | |
| return { | |
| SBOX: i, | |
| INV_SBOX: r, | |
| SUB_MIX: n, | |
| INV_SUB_MIX: o | |
| } | |
| }(); | |
| function h(e) { | |
| this._key = n(e), this._reset() | |
| } | |
| h.blockSize = 16, h.keySize = 32, h.prototype.blockSize = h.blockSize, h.prototype.keySize = h.keySize, h.prototype._reset = function () { | |
| for (var e = this._key, t = e.length, i = t + 6, r = 4 * (i + 1), n = [], o = 0; o < t; o++) n[o] = e[o]; | |
| for (o = t; o < r; o++) { | |
| var s = n[o - 1]; | |
| o % t == 0 ? (s = s << 8 | s >>> 24, s = c.SBOX[s >>> 24] << 24 | c.SBOX[s >>> 16 & 255] << 16 | c.SBOX[s >>> 8 & 255] << 8 | c.SBOX[255 & s], s ^= a[o / t | 0] << 24) : t > 6 && o % t == 4 && (s = c.SBOX[s >>> 24] << 24 | c.SBOX[s >>> 16 & 255] << 16 | c.SBOX[s >>> 8 & 255] << 8 | c.SBOX[255 & s]), n[o] = n[o - t] ^ s | |
| } | |
| for (var h = [], u = 0; u < r; u++) { | |
| var l = r - u, | |
| f = n[l - (u % 4 ? 0 : 4)]; | |
| h[u] = u < 4 || l <= 4 ? f : c.INV_SUB_MIX[0][c.SBOX[f >>> 24]] ^ c.INV_SUB_MIX[1][c.SBOX[f >>> 16 & 255]] ^ c.INV_SUB_MIX[2][c.SBOX[f >>> 8 & 255]] ^ c.INV_SUB_MIX[3][c.SBOX[255 & f]] | |
| } | |
| this._nRounds = i, this._keySchedule = n, this._invKeySchedule = h | |
| }, h.prototype.encryptBlockRaw = function (e) { | |
| return s(e = n(e), this._keySchedule, c.SUB_MIX, c.SBOX, this._nRounds) | |
| }, h.prototype.encryptBlock = function (e) { | |
| var t = this.encryptBlockRaw(e), | |
| i = r.allocUnsafe(16); | |
| return i.writeUInt32BE(t[0], 0), i.writeUInt32BE(t[1], 4), i.writeUInt32BE(t[2], 8), i.writeUInt32BE(t[3], 12), i | |
| }, h.prototype.decryptBlock = function (e) { | |
| var t = (e = n(e))[1]; | |
| e[1] = e[3], e[3] = t; | |
| var i = s(e, this._invKeySchedule, c.INV_SUB_MIX, c.INV_SBOX, this._nRounds), | |
| o = r.allocUnsafe(16); | |
| return o.writeUInt32BE(i[0], 0), o.writeUInt32BE(i[3], 4), o.writeUInt32BE(i[2], 8), o.writeUInt32BE(i[1], 12), o | |
| }, h.prototype.scrub = function () { | |
| o(this._keySchedule), o(this._invKeySchedule), o(this._key) | |
| }, e.exports.AES = h | |
| }, function (e, t, i) { | |
| var r = i(2).Buffer, | |
| n = i(126); | |
| e.exports = function (e, t, i, o) { | |
| if (r.isBuffer(e) || (e = r.from(e, "binary")), t && (r.isBuffer(t) || (t = r.from(t, "binary")), 8 !== t.length)) throw new RangeError("salt should be Buffer with 8 byte length"); | |
| for (var s = i / 8, a = r.alloc(s), c = r.alloc(o || 0), h = r.alloc(0); s > 0 || o > 0;) { | |
| var u = new n; | |
| u.update(h), u.update(e), t && u.update(t), h = u.digest(); | |
| var l = 0; | |
| if (s > 0) { | |
| var f = a.length - s; | |
| l = Math.min(s, h.length), h.copy(a, f, 0, l), s -= l | |
| } | |
| if (l < h.length && o > 0) { | |
| var d = c.length - o, | |
| p = Math.min(o, h.length - l); | |
| h.copy(c, d, l, l + p), o -= p | |
| } | |
| } | |
| return h.fill(0), { | |
| key: a, | |
| iv: c | |
| } | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = t; | |
| r.base = i(550), r.short = i(551), r.mont = i(552), r.edwards = i(553) | |
| }, function (e, t, i) { | |
| (function (t) { | |
| function r(e) { | |
| return (r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { | |
| return typeof e | |
| } : function (e) { | |
| return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e | |
| })(e) | |
| } | |
| var n = i(569), | |
| o = i(581), | |
| s = i(582), | |
| a = i(131), | |
| c = i(202); | |
| function h(e) { | |
| var i; | |
| "object" !== r(e) || t.isBuffer(e) || (i = e.passphrase, e = e.key), "string" == typeof e && (e = new t(e)); | |
| var h, u, l = s(e, i), | |
| f = l.tag, | |
| d = l.data; | |
| switch (f) { | |
| case "CERTIFICATE": | |
| u = n.certificate.decode(d, "der").tbsCertificate.subjectPublicKeyInfo; | |
| case "PUBLIC KEY": | |
| switch (u || (u = n.PublicKey.decode(d, "der")), h = u.algorithm.algorithm.join(".")) { | |
| case "1.2.840.113549.1.1.1": | |
| return n.RSAPublicKey.decode(u.subjectPublicKey.data, "der"); | |
| case "1.2.840.10045.2.1": | |
| return u.subjectPrivateKey = u.subjectPublicKey, { | |
| type: "ec", | |
| data: u | |
| }; | |
| case "1.2.840.10040.4.1": | |
| return u.algorithm.params.pub_key = n.DSAparam.decode(u.subjectPublicKey.data, "der"), { | |
| type: "dsa", | |
| data: u.algorithm.params | |
| }; | |
| default: | |
| throw new Error("unknown key id " + h) | |
| } | |
| throw new Error("unknown key type " + f); | |
| case "ENCRYPTED PRIVATE KEY": | |
| d = function (e, i) { | |
| var r = e.algorithm.decrypt.kde.kdeparams.salt, | |
| n = parseInt(e.algorithm.decrypt.kde.kdeparams.iters.toString(), 10), | |
| s = o[e.algorithm.decrypt.cipher.algo.join(".")], | |
| h = e.algorithm.decrypt.cipher.iv, | |
| u = e.subjectPrivateKey, | |
| l = parseInt(s.split("-")[1], 10) / 8, | |
| f = c.pbkdf2Sync(i, r, n, l), | |
| d = a.createDecipheriv(s, f, h), | |
| p = []; | |
| return p.push(d.update(u)), p.push(d.final()), t.concat(p) | |
| }(d = n.EncryptedPrivateKey.decode(d, "der"), i); | |
| case "PRIVATE KEY": | |
| switch (h = (u = n.PrivateKey.decode(d, "der")).algorithm.algorithm.join(".")) { | |
| case "1.2.840.113549.1.1.1": | |
| return n.RSAPrivateKey.decode(u.subjectPrivateKey, "der"); | |
| case "1.2.840.10045.2.1": | |
| return { | |
| curve: u.algorithm.curve, privateKey: n.ECPrivateKey.decode(u.subjectPrivateKey, "der").privateKey | |
| }; | |
| case "1.2.840.10040.4.1": | |
| return u.algorithm.params.priv_key = n.DSAparam.decode(u.subjectPrivateKey, "der"), { | |
| type: "dsa", | |
| params: u.algorithm.params | |
| }; | |
| default: | |
| throw new Error("unknown key id " + h) | |
| } | |
| throw new Error("unknown key type " + f); | |
| case "RSA PUBLIC KEY": | |
| return n.RSAPublicKey.decode(d, "der"); | |
| case "RSA PRIVATE KEY": | |
| return n.RSAPrivateKey.decode(d, "der"); | |
| case "DSA PRIVATE KEY": | |
| return { | |
| type: "dsa", params: n.DSAPrivateKey.decode(d, "der") | |
| }; | |
| case "EC PRIVATE KEY": | |
| return { | |
| curve: (d = n.ECPrivateKey.decode(d, "der")).parameters.value, privateKey: d.privateKey | |
| }; | |
| default: | |
| throw new Error("unknown key type " + f) | |
| } | |
| } | |
| e.exports = h, h.signature = n.signature | |
| }).call(this, i(9).Buffer) | |
| }, function (e, t, i) { | |
| (function (t, r) { | |
| function n(e, i, r, n, o, s, a) { | |
| try { | |
| var c = e[s](a), | |
| h = c.value | |
| } catch (e) { | |
| return void r(e) | |
| } | |
| c.done ? i(h) : t.resolve(h).then(n, o) | |
| } | |
| function o(e) { | |
| return (o = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { | |
| return typeof e | |
| } : function (e) { | |
| return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e | |
| })(e) | |
| } | |
| e.exports = f; | |
| var s = i(399)("simple-peer"), | |
| a = i(402), | |
| c = i(1), | |
| h = i(53), | |
| u = i(85), | |
| l = 5e3; | |
| function f(e) { | |
| var i, r, n = this; | |
| if (!(n instanceof f)) return new f(e); | |
| if (n._id = h(4).toString("hex").slice(0, 7), n._debug("new peer %o", e), e = Object.assign({ | |
| allowHalfOpen: !1 | |
| }, e), u.Duplex.call(n, e), n.channelName = e.initiator ? e.channelName || h(20).toString("hex") : null, n._isChromium = "undefined" != typeof window && !!window.webkitRTCPeerConnection, n.initiator = e.initiator || !1, n.channelConfig = e.channelConfig || f.channelConfig, n.config = Object.assign({}, f.config, e.config), n.constraints = n._transformConstraints(e.constraints || f.constraints), n.offerConstraints = n._transformConstraints(e.offerConstraints || {}), n.answerConstraints = n._transformConstraints(e.answerConstraints || {}), n.sdpTransform = e.sdpTransform || function (e) { | |
| return e | |
| }, n.streams = e.streams || (e.stream ? [e.stream] : []), n.trickle = void 0 === e.trickle || e.trickle, n.allowHalfTrickle = void 0 !== e.allowHalfTrickle && e.allowHalfTrickle, n.iceCompleteTimeout = e.iceCompleteTimeout || l, n.destroyed = !1, n.connected = !1, n.remoteAddress = void 0, n.remoteFamily = void 0, n.remotePort = void 0, n.localAddress = void 0, n.localPort = void 0, n._wrtc = e.wrtc && "object" === o(e.wrtc) ? e.wrtc : a(), !n._wrtc) throw "undefined" == typeof window ? p("No WebRTC support: Specify `opts.wrtc` option in this environment", "ERR_WEBRTC_SUPPORT") : p("No WebRTC support: Not a supported browser", "ERR_WEBRTC_SUPPORT"); | |
| n._pcReady = !1, n._channelReady = !1, n._iceComplete = !1, n._iceCompleteTimer = null, n._channel = null, n._pendingCandidates = [], n._isNegotiating = !n.initiator, n._batchedNegotiation = !1, n._queuedNegotiation = !1, n._sendersAwaitingStable = [], n._senderMap = new Map, n._firstStable = !0, n._closingInterval = null, n._remoteTracks = [], n._remoteStreams = [], n._chunk = null, n._cb = null, n._interval = null, n._pc = new n._wrtc.RTCPeerConnection(n.config, n.constraints), (n._isChromium || n._wrtc && n._wrtc.electronDaemon) && (i = n._wrtc.RTCPeerConnection, (r = n._pc).createOffer = function (e) { | |
| var r = this; | |
| return new t(function (t, n) { | |
| i.prototype.createOffer.call(r, t, n, e) | |
| }) | |
| }, r.createAnswer = function (e) { | |
| var r = this; | |
| return new t(function (t, n) { | |
| i.prototype.createAnswer.call(r, t, n, e) | |
| }) | |
| }, r.setLocalDescription = function (e) { | |
| var r = this; | |
| return new t(function (t, n) { | |
| i.prototype.setLocalDescription.call(r, e, t, n) | |
| }) | |
| }, r.setRemoteDescription = function (e) { | |
| var r = this; | |
| return new t(function (t, n) { | |
| i.prototype.setRemoteDescription.call(r, e, t, n) | |
| }) | |
| }), n._isReactNativeWebrtc = "number" == typeof n._pc._peerConnectionId, n._pc.oniceconnectionstatechange = function () { | |
| n._onIceStateChange() | |
| }, n._pc.onicegatheringstatechange = function () { | |
| n._onIceStateChange() | |
| }, n._pc.onsignalingstatechange = function () { | |
| n._onSignalingStateChange() | |
| }, n._pc.onicecandidate = function (e) { | |
| n._onIceCandidate(e) | |
| }, n.initiator ? n._setupData({ | |
| channel: n._pc.createDataChannel(n.channelName, n.channelConfig) | |
| }) : n._pc.ondatachannel = function (e) { | |
| n._setupData(e) | |
| }, "addTrack" in n._pc && (n.streams && n.streams.forEach(function (e) { | |
| n.addStream(e) | |
| }), n._pc.ontrack = function (e) { | |
| n._onTrack(e) | |
| }), n.initiator && n._needsNegotiation(), n._onFinishBound = function () { | |
| n._onFinish() | |
| }, n.once("finish", n._onFinishBound) | |
| } | |
| function d(e) { | |
| return e.replace(/a=ice-options:trickle\s\n/g, "") | |
| } | |
| function p(e, t) { | |
| var i = new Error(e); | |
| return i.code = t, i | |
| } | |
| function m() {} | |
| c(f, u.Duplex), f.WEBRTC_SUPPORT = !!a(), f.config = { | |
| iceServers: [{ | |
| urls: "stun:stun.l.google.com:19302" | |
| }, { | |
| urls: "stun:global.stun.twilio.com:3478?transport=udp" | |
| }] | |
| }, f.constraints = {}, f.channelConfig = {}, Object.defineProperty(f.prototype, "bufferSize", { | |
| get: function () { | |
| return this._channel && this._channel.bufferedAmount || 0 | |
| } | |
| }), f.prototype.address = function () { | |
| return { | |
| port: this.localPort, | |
| family: "IPv4", | |
| address: this.localAddress | |
| } | |
| }, f.prototype.signal = function (e) { | |
| var t = this; | |
| if (t.destroyed) throw p("cannot signal after peer is destroyed", "ERR_SIGNALING"); | |
| if ("string" == typeof e) try { | |
| e = JSON.parse(e) | |
| } catch (t) { | |
| e = {} | |
| } | |
| t._debug("signal()"), e.renegotiate && t.initiator && (t._debug("got request to renegotiate"), t._needsNegotiation()), e.candidate && (t._pc.remoteDescription && t._pc.remoteDescription.type ? t._addIceCandidate(e.candidate) : t._pendingCandidates.push(e.candidate)), e.sdp && t._pc.setRemoteDescription(new t._wrtc.RTCSessionDescription(e)).then(function () { | |
| t.destroyed || (t._pendingCandidates.forEach(function (e) { | |
| t._addIceCandidate(e) | |
| }), t._pendingCandidates = [], "offer" === t._pc.remoteDescription.type && t._createAnswer()) | |
| }).catch(function (e) { | |
| t.destroy(p(e, "ERR_SET_REMOTE_DESCRIPTION")) | |
| }), e.sdp || e.candidate || e.renegotiate || t.destroy(p("signal() called with invalid signal data", "ERR_SIGNALING")) | |
| }, f.prototype._addIceCandidate = function (e) { | |
| var t = this; | |
| try { | |
| t._pc.addIceCandidate(new t._wrtc.RTCIceCandidate(e), m, function (e) { | |
| t.destroy(p(e, "ERR_ADD_ICE_CANDIDATE")) | |
| }) | |
| } catch (e) { | |
| t.destroy(p("error adding candidate: " + e.message, "ERR_ADD_ICE_CANDIDATE")) | |
| } | |
| }, f.prototype.send = function (e) { | |
| this._channel.send(e) | |
| }, f.prototype.addStream = function (e) { | |
| var t = this; | |
| t._debug("addStream()"), e.getTracks().forEach(function (i) { | |
| t.addTrack(i, e) | |
| }) | |
| }, f.prototype.addTrack = function (e, t) { | |
| this._debug("addTrack()"); | |
| var i = this._pc.addTrack(e, t), | |
| r = this._senderMap.get(e) || new Map; | |
| r.set(t, i), this._senderMap.set(e, r), this._needsNegotiation() | |
| }, f.prototype.replaceTrack = function () { | |
| var e, i = (e = regeneratorRuntime.mark(function e(t, i, r) { | |
| var n, o, s; | |
| return regeneratorRuntime.wrap(function (e) { | |
| for (;;) switch (e.prev = e.next) { | |
| case 0: | |
| if ((n = this)._debug("replaceTrack()"), o = n._senderMap.get(t), (s = o ? o.get(r) : null) || n.destroy(new Error("Cannot replace track that was never added.")), i && n._senderMap.set(i, o), null == s.replaceTrack) { | |
| e.next = 11; | |
| break | |
| } | |
| return e.next = 9, s.replaceTrack(i); | |
| case 9: | |
| e.next = 12; | |
| break; | |
| case 11: | |
| n.destroy(p("replaceTrack is not supported in this browser", "ERR_UNSUPPORTED_REPLACETRACK")); | |
| case 12: | |
| case "end": | |
| return e.stop() | |
| } | |
| }, e, this) | |
| }), function () { | |
| var i = this, | |
| r = arguments; | |
| return new t(function (t, o) { | |
| var s = e.apply(i, r); | |
| function a(e) { | |
| n(s, t, o, a, c, "next", e) | |
| } | |
| function c(e) { | |
| n(s, t, o, a, c, "throw", e) | |
| } | |
| a(void 0) | |
| }) | |
| }); | |
| return function (e, t, r) { | |
| return i.apply(this, arguments) | |
| } | |
| }(), f.prototype.removeTrack = function (e, t) { | |
| this._debug("removeSender()"); | |
| var i = this._senderMap.get(e), | |
| r = i ? i.get(t) : null; | |
| r || this.destroy(new Error("Cannot remove track that was never added.")); | |
| try { | |
| this._pc.removeTrack(r) | |
| } catch (e) { | |
| "NS_ERROR_UNEXPECTED" === e.name ? this._sendersAwaitingStable.push(r) : this.destroy(e) | |
| } | |
| }, f.prototype.removeStream = function (e) { | |
| var t = this; | |
| t._debug("removeSenders()"), e.getTracks().forEach(function (i) { | |
| t.removeTrack(i, e) | |
| }) | |
| }, f.prototype._needsNegotiation = function () { | |
| var e = this; | |
| e._debug("_needsNegotiation"), e._batchedNegotiation || (e._batchedNegotiation = !0, setTimeout(function () { | |
| e._batchedNegotiation = !1, e._debug("starting batched negotiation"), e.negotiate() | |
| }, 0)) | |
| }, f.prototype.negotiate = function () { | |
| this.initiator ? this._isNegotiating ? (this._queuedNegotiation = !0, this._debug("already negotiating, queueing")) : (this._debug("start negotiation"), this._createOffer()) : this._isNegotiating || (this._debug("requesting negotiation from initiator"), this.emit("signal", { | |
| renegotiate: !0 | |
| })), this._isNegotiating = !0 | |
| }, f.prototype.destroy = function (e) { | |
| this._destroy(e, function () {}) | |
| }, f.prototype._destroy = function (e, t) { | |
| if (!this.destroyed) { | |
| if (this._debug("destroy (error: %s)", e && (e.message || e)), this.readable = this.writable = !1, this._readableState.ended || this.push(null), this._writableState.finished || this.end(), this.destroyed = !0, this.connected = !1, this._pcReady = !1, this._channelReady = !1, this._remoteTracks = null, this._remoteStreams = null, this._senderMap = null, clearInterval(this._closingInterval), this._closingInterval = null, clearInterval(this._interval), this._interval = null, this._chunk = null, this._cb = null, this._onFinishBound && this.removeListener("finish", this._onFinishBound), this._onFinishBound = null, this._channel) { | |
| try { | |
| this._channel.close() | |
| } catch (e) {} | |
| this._channel.onmessage = null, this._channel.onopen = null, this._channel.onclose = null, this._channel.onerror = null | |
| } | |
| if (this._pc) { | |
| try { | |
| this._pc.close() | |
| } catch (e) {} | |
| this._pc.oniceconnectionstatechange = null, this._pc.onicegatheringstatechange = null, this._pc.onsignalingstatechange = null, this._pc.onicecandidate = null, "addTrack" in this._pc && (this._pc.ontrack = null), this._pc.ondatachannel = null | |
| } | |
| this._pc = null, this._channel = null, e && this.emit("error", e), this.emit("close"), t() | |
| } | |
| }, f.prototype._setupData = function (e) { | |
| var t = this; | |
| if (!e.channel) return t.destroy(p("Data channel event is missing `channel` property", "ERR_DATA_CHANNEL")); | |
| t._channel = e.channel, t._channel.binaryType = "arraybuffer", "number" == typeof t._channel.bufferedAmountLowThreshold && (t._channel.bufferedAmountLowThreshold = 65536), t.channelName = t._channel.label, t._channel.onmessage = function (e) { | |
| t._onChannelMessage(e) | |
| }, t._channel.onbufferedamountlow = function () { | |
| t._onChannelBufferedAmountLow() | |
| }, t._channel.onopen = function () { | |
| t._onChannelOpen() | |
| }, t._channel.onclose = function () { | |
| t._onChannelClose() | |
| }, t._channel.onerror = function (e) { | |
| t.destroy(p(e, "ERR_DATA_CHANNEL")) | |
| }; | |
| var i = !1; | |
| t._closingInterval = setInterval(function () { | |
| t._channel && "closing" === t._channel.readyState ? (i && t._onChannelClose(), i = !0) : i = !1 | |
| }, 5e3) | |
| }, f.prototype._read = function () {}, f.prototype._write = function (e, t, i) { | |
| if (this.destroyed) return i(p("cannot write after peer is destroyed", "ERR_DATA_CHANNEL")); | |
| if (this.connected) { | |
| try { | |
| this.send(e) | |
| } catch (e) { | |
| return this.destroy(p(e, "ERR_DATA_CHANNEL")) | |
| } | |
| this._channel.bufferedAmount > 65536 ? (this._debug("start backpressure: bufferedAmount %d", this._channel.bufferedAmount), this._cb = i) : i(null) | |
| } else this._debug("write before connect"), this._chunk = e, this._cb = i | |
| }, f.prototype._onFinish = function () { | |
| var e = this; | |
| function t() { | |
| setTimeout(function () { | |
| e.destroy() | |
| }, 1e3) | |
| } | |
| e.destroyed || (e.connected ? t() : e.once("connect", t)) | |
| }, f.prototype._startIceCompleteTimeout = function () { | |
| s("started iceComplete timeout"); | |
| var e = this; | |
| e.destroyed || e._iceCompleteTimer || (e._iceCompleteTimer = setTimeout(function () { | |
| e._iceComplete || (e._iceComplete = !0, e.emit("iceTimeout"), e.emit("_iceComplete")) | |
| }, this.iceCompleteTimeout)) | |
| }, f.prototype._createOffer = function () { | |
| var e = this; | |
| e.destroyed || e._pc.createOffer(e.offerConstraints).then(function (t) { | |
| function i() { | |
| if (!e.destroyed) { | |
| var i = e._pc.localDescription || t; | |
| e._debug("signal"), e.emit("signal", { | |
| type: i.type, | |
| sdp: i.sdp | |
| }) | |
| } | |
| } | |
| e.destroyed || (e.trickle || e.allowHalfTrickle || (t.sdp = d(t.sdp)), t.sdp = e.sdpTransform(t.sdp), e._pc.setLocalDescription(t).then(function () { | |
| if (e._debug("createOffer success"), e.destroyed) return; | |
| e.trickle || e._iceComplete ? i() : e.once("_iceComplete", i) | |
| }).catch(function (t) { | |
| e.destroy(p(t, "ERR_SET_LOCAL_DESCRIPTION")) | |
| })) | |
| }).catch(function (t) { | |
| e.destroy(p(t, "ERR_CREATE_OFFER")) | |
| }) | |
| }, f.prototype._createAnswer = function () { | |
| var e = this; | |
| e.destroyed || e._pc.createAnswer(e.answerConstraints).then(function (t) { | |
| function i() { | |
| if (!e.destroyed) { | |
| var i = e._pc.localDescription || t; | |
| e._debug("signal"), e.emit("signal", { | |
| type: i.type, | |
| sdp: i.sdp | |
| }) | |
| } | |
| } | |
| e.destroyed || (e.trickle || e.allowHalfTrickle || (t.sdp = d(t.sdp)), t.sdp = e.sdpTransform(t.sdp), e._pc.setLocalDescription(t).then(function () { | |
| if (e.destroyed) return; | |
| e.trickle || e._iceComplete ? i() : e.once("_iceComplete", i) | |
| }).catch(function (t) { | |
| e.destroy(p(t, "ERR_SET_LOCAL_DESCRIPTION")) | |
| })) | |
| }).catch(function (t) { | |
| e.destroy(p(t, "ERR_CREATE_ANSWER")) | |
| }) | |
| }, f.prototype._onIceStateChange = function () { | |
| if (!this.destroyed) { | |
| var e = this._pc.iceConnectionState, | |
| t = this._pc.iceGatheringState; | |
| this._debug("iceStateChange (connection: %s) (gathering: %s)", e, t), this.emit("iceStateChange", e, t), "connected" !== e && "completed" !== e || (this._pcReady = !0, this._maybeReady()), "failed" === e && this.destroy(p("Ice connection failed.", "ERR_ICE_CONNECTION_FAILURE")), "closed" === e && this.destroy(new Error("Ice connection closed.")) | |
| } | |
| }, f.prototype.getStats = function (e) { | |
| var t = this; | |
| 0 === t._pc.getStats.length ? t._pc.getStats().then(function (t) { | |
| var i = []; | |
| t.forEach(function (e) { | |
| i.push(e) | |
| }), e(null, i) | |
| }, function (t) { | |
| e(t) | |
| }) : t._isReactNativeWebrtc ? t._pc.getStats(null, function (t) { | |
| var i = []; | |
| t.forEach(function (e) { | |
| i.push(e) | |
| }), e(null, i) | |
| }, function (t) { | |
| e(t) | |
| }) : t._pc.getStats.length > 0 ? t._pc.getStats(function (i) { | |
| if (!t.destroyed) { | |
| var r = []; | |
| i.result().forEach(function (e) { | |
| var t = {}; | |
| e.names().forEach(function (i) { | |
| t[i] = e.stat(i) | |
| }), t.id = e.id, t.type = e.type, t.timestamp = e.timestamp, r.push(t) | |
| }), e(null, r) | |
| } | |
| }, function (t) { | |
| e(t) | |
| }) : e(null, []) | |
| }, f.prototype._maybeReady = function () { | |
| var e = this; | |
| e._debug("maybeReady pc %s channel %s", e._pcReady, e._channelReady), !e.connected && !e._connecting && e._pcReady && e._channelReady && (e._connecting = !0, function t() { | |
| e.destroyed || e.getStats(function (i, r) { | |
| if (!e.destroyed) { | |
| i && (r = []); | |
| var n = {}, | |
| o = {}, | |
| s = {}, | |
| a = !1; | |
| if (r.forEach(function (e) { | |
| "remotecandidate" !== e.type && "remote-candidate" !== e.type || (n[e.id] = e), "localcandidate" !== e.type && "local-candidate" !== e.type || (o[e.id] = e), "candidatepair" !== e.type && "candidate-pair" !== e.type || (s[e.id] = e) | |
| }), r.forEach(function (e) { | |
| "transport" === e.type && e.selectedCandidatePairId && h(s[e.selectedCandidatePairId]), ("googCandidatePair" === e.type && "true" === e.googActiveConnection || ("candidatepair" === e.type || "candidate-pair" === e.type) && e.selected) && h(e) | |
| }), a || Object.keys(s).length && !Object.keys(o).length) { | |
| if (e._connecting = !1, e.connected = !0, e._chunk) { | |
| try { | |
| e.send(e._chunk) | |
| } catch (i) { | |
| return e.destroy(p(i, "ERR_DATA_CHANNEL")) | |
| } | |
| e._chunk = null, e._debug('sent chunk from "write before connect"'); | |
| var c = e._cb; | |
| e._cb = null, c(null) | |
| } | |
| "number" != typeof e._channel.bufferedAmountLowThreshold && (e._interval = setInterval(function () { | |
| e._onInterval() | |
| }, 150), e._interval.unref && e._interval.unref()), e._debug("connect"), e.emit("connect") | |
| } else setTimeout(t, 100) | |
| } | |
| function h(t) { | |
| a = !0; | |
| var i = o[t.localCandidateId]; | |
| i && i.ip ? (e.localAddress = i.ip, e.localPort = Number(i.port)) : i && i.ipAddress ? (e.localAddress = i.ipAddress, e.localPort = Number(i.portNumber)) : "string" == typeof t.googLocalAddress && (i = t.googLocalAddress.split(":"), e.localAddress = i[0], e.localPort = Number(i[1])); | |
| var r = n[t.remoteCandidateId]; | |
| r && r.ip ? (e.remoteAddress = r.ip, e.remotePort = Number(r.port)) : r && r.ipAddress ? (e.remoteAddress = r.ipAddress, e.remotePort = Number(r.portNumber)) : "string" == typeof t.googRemoteAddress && (r = t.googRemoteAddress.split(":"), e.remoteAddress = r[0], e.remotePort = Number(r[1])), e.remoteFamily = "IPv4", e._debug("connect local: %s:%s remote: %s:%s", e.localAddress, e.localPort, e.remoteAddress, e.remotePort) | |
| } | |
| }) | |
| }()) | |
| }, f.prototype._onInterval = function () { | |
| !this._cb || !this._channel || this._channel.bufferedAmount > 65536 || this._onChannelBufferedAmountLow() | |
| }, f.prototype._onSignalingStateChange = function () { | |
| var e = this; | |
| e.destroyed || ("stable" !== e._pc.signalingState || e._firstStable || (e._isNegotiating = !1, e._debug("flushing sender queue", e._sendersAwaitingStable), e._sendersAwaitingStable.forEach(function (t) { | |
| e._pc.removeTrack(t), e._queuedNegotiation = !0 | |
| }), e._sendersAwaitingStable = [], e._queuedNegotiation && (e._debug("flushing negotiation queue"), e._queuedNegotiation = !1, e._needsNegotiation()), e._debug("negotiate"), e.emit("negotiate")), e._firstStable = !1, e._debug("signalingStateChange %s", e._pc.signalingState), e.emit("signalingStateChange", e._pc.signalingState)) | |
| }, f.prototype._onIceCandidate = function (e) { | |
| this.destroyed || (e.candidate && this.trickle ? this.emit("signal", { | |
| candidate: { | |
| candidate: e.candidate.candidate, | |
| sdpMLineIndex: e.candidate.sdpMLineIndex, | |
| sdpMid: e.candidate.sdpMid | |
| } | |
| }) : e.candidate || this._iceComplete || (this._iceComplete = !0, this.emit("_iceComplete")), e.candidate && this._startIceCompleteTimeout()) | |
| }, f.prototype._onChannelMessage = function (e) { | |
| if (!this.destroyed) { | |
| var t = e.data; | |
| t instanceof ArrayBuffer && (t = r.from(t)), this.push(t) | |
| } | |
| }, f.prototype._onChannelBufferedAmountLow = function () { | |
| if (!this.destroyed && this._cb) { | |
| this._debug("ending backpressure: bufferedAmount %d", this._channel.bufferedAmount); | |
| var e = this._cb; | |
| this._cb = null, e(null) | |
| } | |
| }, f.prototype._onChannelOpen = function () { | |
| this.connected || this.destroyed || (this._debug("on channel open"), this._channelReady = !0, this._maybeReady()) | |
| }, f.prototype._onChannelClose = function () { | |
| this.destroyed || (this._debug("on channel close"), this.destroy()) | |
| }, f.prototype._onTrack = function (e) { | |
| var t = this; | |
| t.destroyed || e.streams.forEach(function (i) { | |
| t._debug("on track"), t.emit("track", e.track, i), t._remoteTracks.push({ | |
| track: e.track, | |
| stream: i | |
| }), t._remoteStreams.some(function (e) { | |
| return e.id === i.id | |
| }) || (t._remoteStreams.push(i), setTimeout(function () { | |
| t.emit("stream", i) | |
| }, 0)) | |
| }) | |
| }, f.prototype.setConstraints = function (e) { | |
| this.initiator ? this.offerConstraints = this._transformConstraints(e) : this.answerConstraints = this._transformConstraints(e) | |
| }, f.prototype._debug = function () { | |
| var e = [].slice.call(arguments); | |
| e[0] = "[" + this._id + "] " + e[0], s.apply(null, e) | |
| }, f.prototype._transformConstraints = function (e) { | |
| if (0 === Object.keys(e).length) return e; | |
| if ((e.mandatory || e.optional) && !this._isChromium) { | |
| var t = Object.assign({}, e.optional, e.mandatory); | |
| return void 0 !== t.OfferToReceiveVideo && (t.offerToReceiveVideo = t.OfferToReceiveVideo, delete t.OfferToReceiveVideo), void 0 !== t.OfferToReceiveAudio && (t.offerToReceiveAudio = t.OfferToReceiveAudio, delete t.OfferToReceiveAudio), t | |
| } | |
| return e.mandatory || e.optional || !this._isChromium ? e : (void 0 !== e.offerToReceiveVideo && (e.OfferToReceiveVideo = e.offerToReceiveVideo, delete e.offerToReceiveVideo), void 0 !== e.offerToReceiveAudio && (e.OfferToReceiveAudio = e.offerToReceiveAudio, delete e.offerToReceiveAudio), { | |
| mandatory: e | |
| }) | |
| } | |
| }).call(this, i(52), i(9).Buffer) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(7); | |
| function n(e) { | |
| var t = 2, | |
| i = 256, | |
| r = 10, | |
| n = document.createElement("canvas"); | |
| n.width = window.innerWidth - 16, n.height = i * t; | |
| var o = n.getContext("2d"); | |
| o.imageSmoothingEnabled = !1; | |
| var s = document.getElementById("chat"); | |
| s.appendChild(n), s.style.width = n.width + "px", s.style.height = i * t + "px"; | |
| var a = "", | |
| c = 0, | |
| u = [], | |
| l = 0, | |
| f = { | |
| player: null, | |
| isOpen: !1, | |
| open: function () { | |
| r = 20, c = performance.now(), f.isOpen = !0, i = 512, f.resize(), document.addEventListener("keypress", f.keypress, !1), document.addEventListener("keydown", f.keydown, !1), document.exitPointerLock(), e.inputs.state.active = !1 | |
| }, | |
| close: function () { | |
| document.removeEventListener("keypress", f.keypress), document.removeEventListener("keydown", f.keydown); | |
| var t = document.getElementById("noa-container"); | |
| setTimeout(function () { | |
| null != t && t.requestPointerLock() | |
| }, 200), r = 10, f.isOpen = !1, i = 256, f.resize(), e.inputs.state.active = !0 | |
| }, | |
| sendMessage: function (e) { | |
| if (0 == e.indexOf("/")) { | |
| var t = 'Unknown command. Type "/help" for help.'; | |
| if (0 == e.indexOf("/ban") && (t = "Command disabled."), 0 == e.indexOf("/banip") && (t = "Command disabled."), 0 == e.indexOf("/say") && (t = "Command disabled."), 0 == e.indexOf("/deop") && (t = "Command disabled."), 0 == e.indexOf("/kick")) { | |
| var i = e.substr(e.indexOf("kick") + 5).trim(); | |
| t = h.getInstance().kickPlayer(i) | |
| } | |
| if (0 == e.indexOf("/op") && (t = "Command disabled."), 0 == e.indexOf("/tp")) { | |
| var r = e.substr(e.indexOf("tp") + 3).trim(); | |
| t = h.getInstance().teleportToPlayer(r) | |
| } | |
| return 0 == e.indexOf("/unban") && (t = "Command disabled."), 0 == e.indexOf("/setspawn") && (t = h.getInstance().setSpawn()), 0 == e.indexOf("/solid") && (t = "Command disabled."), 0 == e.indexOf("/list") && (t = JSON.stringify(h.getInstance().getPlayerNames()).slice(1, -1)), 0 == e.indexOf("/help") && (t = "Available Commands: /list /kick /tp /setspawn /help"), u.push({ | |
| type: "local", | |
| message: t, | |
| from: "", | |
| timestamp: (new Date).getTime() | |
| }), void(u.length > 20 && u.shift()) | |
| } | |
| null != f.player && f.player.sendMessage(e) | |
| }, | |
| keydown: function (e) { | |
| if (e.shiftKey && 55 == e.keyCode && (e.preventDefault(), f.keypress(e)), 13 == e.keyCode) { | |
| var t = a.trim(); | |
| return t.length > 0 && f.sendMessage(t), a = "", void f.redraw() | |
| } | |
| 8 == e.keyCode && a.length > 0 && (a = a.substring(0, a.length - 1)), f.redraw() | |
| }, | |
| keypress: function (e) { | |
| if (!(performance.now() < c + 100)) { | |
| var t = e.key, | |
| i = 10; | |
| null != f.player && (i = f.player.state.name.length), "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ,.:-_'*!\\\"#%/()=+?[]{}<>@|$;".indexOf(t) >= 0 && a.length < 64 - (i + 2) && (a += t), f.redraw() | |
| } | |
| }, | |
| update: function (e) { | |
| for (u = function (e) { | |
| for (var t = e.concat(), i = 0; i < t.length; ++i) | |
| for (var r = i + 1; r < t.length; ++r) JSON.stringify(t[i]) === JSON.stringify(t[r]) && t.splice(r--, 1); | |
| return t | |
| }(u.concat(e)); u.length > 20;) u.shift(); | |
| f.redraw() | |
| }, | |
| tick: function () { | |
| var e = (new Date).getTime(); | |
| if (!(e < l + 1e3)) { | |
| for (var t = !1, i = 0; i < u.length; i++) { | |
| u[i].timestamp + 1e4 < e && (u[i].isOld = !0, t = !0) | |
| } | |
| t && f.redraw(), l = e | |
| } | |
| }, | |
| redraw: function () { | |
| o.clearRect(0, 0, n.width, i * t), o.font = 14 * t + "px Minecraft, sans-serif", o.textBaseline = "alphabetic", o.textAlign = "left"; | |
| var e = 4 * t, | |
| s = 2 * t; | |
| if (f.isOpen) { | |
| o.fillStyle = "rgba(0,0,0,0.6)", o.fillRect(0, i * t - 25 * t, n.width, i * t); | |
| var c = i * t - 7 * t; | |
| o.fillStyle = "rgb(63,63,63)", o.fillText("> " + a, e + s, c + s), o.fillStyle = "rgb(255,255,255)", o.fillText("> " + a, e, c) | |
| } | |
| e = 0; | |
| for (var h = 1, l = u.length - 1; l >= 0; l--) | |
| if (!u[l].isOld || f.isOpen) { | |
| if (h > r) break; | |
| var d = "", | |
| p = "rgb(255,255,255)"; | |
| switch (u[l].type) { | |
| case "message": | |
| d = u[l].from + ": " + u[l].message; | |
| break; | |
| case "left": | |
| d = u[l].from + " left the game", p = "rgb(255,255,64)"; | |
| break; | |
| case "joined": | |
| d = u[l].from + " joined the game", p = "rgb(255,255,64)"; | |
| break; | |
| case "local": | |
| d = u[l].message, p = "rgb(255,255,64)" | |
| } | |
| var m = i * t - 25 * t - 15 * h++ * t; | |
| o.fillStyle = "rgb(63,63,63)", o.fillText(d, e + s, m + s), o.fillStyle = p, o.fillText(d, e, m) | |
| } | |
| }, | |
| resize: function () { | |
| t = 2, window.innerHeight < 600 && (t = 1), n.width = window.innerWidth - 16, n.height = i * t, s.style.width = n.width + "px", s.style.height = i * t + "px", o.imageSmoothingEnabled = !1, f.redraw() | |
| } | |
| }; | |
| return f.resize(), f | |
| } | |
| var o = function (e) { | |
| return n(e) | |
| }; | |
| function s(e) { | |
| return function (e) { | |
| if (Array.isArray(e)) { | |
| for (var t = 0, i = new Array(e.length); t < e.length; t++) i[t] = e[t]; | |
| return i | |
| } | |
| }(e) || function (e) { | |
| if (Symbol.iterator in Object(e) || "[object Arguments]" === Object.prototype.toString.call(e)) return Array.from(e) | |
| }(e) || function () { | |
| throw new TypeError("Invalid attempt to spread non-iterable instance") | |
| }() | |
| } | |
| function a(e, t) { | |
| for (var i = 0; i < t.length; i++) { | |
| var r = t[i]; | |
| r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r) | |
| } | |
| } | |
| window.BABYLON = i(410); | |
| var c = function () { | |
| function e() { | |
| return function (e, t) { | |
| if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") | |
| }(this, e), e.instance || (e.instance = this), e.instance | |
| } | |
| var t, n, c; | |
| return t = e, c = [{ | |
| key: "getInstance", | |
| value: function () { | |
| return void 0 === e.instance && (e.instance = new e), e.instance | |
| } | |
| }], (n = [{ | |
| key: "initialize", | |
| value: function (e) { | |
| var t = this; | |
| this.playerSpawned = !1, this.worldGenerated = !1, this.worldInitialized = !1, this.client = null, this.network = e.network; | |
| var n = i(411), | |
| a = i(494); | |
| this.soundPlayer = i(496)(); | |
| var c, h = i(498), | |
| u = i(499), | |
| l = i(500), | |
| f = i(501), | |
| d = i(502), | |
| p = i(194), | |
| m = h(), | |
| g = 32, | |
| _ = 128, | |
| v = 30, | |
| y = null, | |
| b = !1, | |
| x = !1, | |
| w = this; | |
| if (Math.round(e.seed) == e.seed) { | |
| this.player = void 0 !== e.player ? e.player : null; | |
| var S = new URLSearchParams(window.location.search), | |
| T = S.get("size"); | |
| if ("small" == T && (_ = 128), "normal" == T && (_ = 256), "huge" == T && (_ = 512), r.default.getInstance().gameSaved() ? _ = r.default.getInstance().getWorldSize() : r.default.getInstance().setWorldSize(_), "undefined" != typeof Worker) { | |
| if (void 0 === A) { | |
| var A = new Worker("assets/js/RandomLevelWorker.js"); | |
| A.postMessage({ | |
| worldSize: _, | |
| seed: e.seed | |
| }), m.show() | |
| } | |
| A.onmessage = function (e) { | |
| var t = e.data; | |
| m.task = t.string, m.percent = t.percent, m.tick(), null != t.tiles && (y = t.tiles, w.worldGenerated = !0, null == w.client ? r.default.getInstance().gameSaved() ? (w.syncSavedWorld(), xe()) : xe() : w.client && (w.hostInfo ? w.hostInfo.numberOfChangedBlocks <= 0 ? xe() : w.client.broadcast({ | |
| type: "requestChanges", | |
| from: w.client.state.changedBlocks.length | |
| }) : xe())) | |
| } | |
| } else console.log("No worker support."); | |
| var M = .5 * _, | |
| E = 8e3, | |
| P = 24e3, | |
| C = 8e3, | |
| R = 24e3, | |
| I = 3e3, | |
| D = 12e3, | |
| O = { | |
| chunkSize: g, | |
| chunkAddDistance: 7, | |
| chunkRemoveDistance: 8, | |
| blockTestDistance: 6, | |
| playerStart: [M + .5, 48, M + .5], | |
| playerHeight: 1.8, | |
| texturePath: "assets/textures/", | |
| useAO: !1, | |
| stickyPointerLock: !0 | |
| }; | |
| this.lightDepths = new Array(_); | |
| for (var L = 0; L < _; L++) this.lightDepths[L] = new Array(_); | |
| var F = { | |
| music: !1, | |
| sound: !0, | |
| invert: !1, | |
| fps: !1, | |
| drawDistance: 0, | |
| forward: "W", | |
| left: "A", | |
| backward: "S", | |
| right: "D", | |
| jump: "<space>", | |
| build: "B", | |
| chat: "T", | |
| fog: "F", | |
| saveLoc: "<enter>", | |
| loadLoc: "R", | |
| username: "" | |
| }, | |
| B = JSON.parse(localStorage.getItem("settings")); | |
| null == B || B.back || (F = B); | |
| var k = { | |
| forward: F.forward, | |
| left: F.left, | |
| backward: F.backward, | |
| right: F.right, | |
| fire: "<mouse 1>", | |
| "mid-fire": "<mouse 2>", | |
| "alt-fire": "<mouse 3>", | |
| jump: F.jump, | |
| build: F.build, | |
| chat: F.chat, | |
| fog: F.fog, | |
| saveLoc: F.saveLoc, | |
| loadLoc: F.loadLoc, | |
| spawnSteve: "G" | |
| }; | |
| O.bindings = k, O.settings = F, this.soundPlayer.musicOn = F.music, this.soundPlayer.soundOn = F.sound; | |
| var V = n(O); | |
| V.setPaused(!0), V.worldSize = _, V.worldHeight = 64, V.waterLevel = v, V.time = 0, V.rendering._camera.minZ = .1, V.rendering._camera.fov = 70 * Math.PI / 180, V.rendering._scene.fogColor = new BABYLON.Color3(.9, .95, 1), V.rendering._scene.fogMode = BABYLON.Scene.FOGMODE_EXP2, V.rendering._scene.fogDensity = .002, V.rendering._scene.clearColor = V.rendering._scene.fogColor, this.hostInfo ? V.hostInfo = this.hostInfo : V.hostInfo = { | |
| maxPlayers: this.player.network.maxPlayers | |
| }; | |
| var N = u(V), | |
| z = l(N), | |
| U = f(V, e.singlePlayer), | |
| G = p(V); | |
| this.addParticles = a(V); | |
| var W = N.currentId - 1; | |
| V.on("tick", function (e) { | |
| if (V.time += e, null != w.player && null == c.player && (c.player = w.player), c && c.tick(), G && G.isOpen && G.tick(), H && (H.material.diffuseTexture.uOffset = 2e-7 * V.time), w.steveArray) | |
| for (var t = 0; t < w.steveArray.length; t++) { | |
| var i = w.steveArray[t]; | |
| if (i.tick(e), i.state.shouldRemove) i.remove(), w.steveArray.splice(t, 1)[0] = null | |
| }! function () { | |
| if (V.time > le + ue) { | |
| var e = fe.slice(); | |
| fe.length = 0; | |
| for (var t = 0; t < e.length; t++) { | |
| var i, r = e[t]; | |
| (i = r).func.apply(i, s(r.args)) | |
| } | |
| le = V.time | |
| } | |
| if (V.time > me + pe) { | |
| var e = ge.slice(); | |
| ge.length = 0; | |
| for (var t = 0; t < e.length; t++) { | |
| var n, r = e[t]; | |
| (n = r).func.apply(n, s(r.args)) | |
| } | |
| me = V.time | |
| } | |
| }() | |
| }), this.getBrightness = function (e, t, i) { | |
| return e < 0 || t < 0 || i < 0 || e >= _ - 1 || i >= _ - 1 ? t >= v ? 1 : .6 : t >= w.lightDepths[e][i] + 1 ? 1 : .6 | |
| }, V.getBrightness = this.getBrightness, this.addBlockCheckLit = function (e, t, i) { | |
| var r = this.lightDepths[e][i]; | |
| if (t >= r) { | |
| if (Math.floor(t / g) != Math.floor(r / g)) { | |
| var n = V.world.getBlockID(e, r, i); | |
| V.world.setBlockID(0, e, r, i), V.world.setBlockID(n, e, r, i) | |
| } | |
| this.lightDepths[e][i] = t | |
| } | |
| }, this.removeBlockCheckLit = function (e, t, i) { | |
| var r = this.lightDepths[e][i]; | |
| if (t >= r) { | |
| for (var n = 0, o = t; | |
| (0 == n || n == this.redflowerID || n == this.yellowflowerID || n == this.bushID || n == this.redmushroomID || n == this.brownmushroomID || n == this.glassID || n == this.leafID || n == this.emptySpongeID) && o >= 0;) o -= 1, n = V.world.getBlockID(e, o, i); | |
| return Math.floor(o / g) != Math.floor(r / g) && (V.world.setBlockID(0, e, o, i), V.world.setBlockID(n, e, o, i)), this.lightDepths[e][i] = o, 1 | |
| } | |
| return .6 | |
| }; | |
| var j = function e() { | |
| var t = !1; | |
| if (w.hostInfo && null != w.hostInfo.spawnPoint && null != w.hostInfo.spawnPoint && (t = !0), t) V.entities.setPosition(V.playerEntity, w.hostInfo.spawnPoint.x, w.hostInfo.spawnPoint.y, w.hostInfo.spawnPoint.z); | |
| else { | |
| for (var i = 0, r = 0; i < v && r < 50;) { | |
| var n = Math.floor(M - _ / 4 + Math.random() * (_ / 2)) + .5, | |
| o = Math.floor(M - _ / 4 + Math.random() * (_ / 2)) + .5, | |
| s = V.pick([n, 100, o], [0, -1, 0], 1e3, !0); | |
| null != s && (i = s.position[1]), ++r | |
| } | |
| if (r >= 50) return void setTimeout(e, 100); | |
| V.entities.setPosition(V.playerEntity, s.position[0], s.position[1] + 1, s.position[2]) | |
| } | |
| m.hide(), w.updateResetPosition(), w.playerSpawned = !0, setTimeout(function () { | |
| V.entities.setPhysicsInterpolation(V.playerEntity, !0) | |
| }, 100) | |
| }, | |
| H = i(503)(V), | |
| X = (i(504)(V), i(505)(V, g), i(506)), | |
| Y = i(507), | |
| K = ["grass", "dirt", "grass_dirt", "stone", "wood", "rock", "bedrock", "sand", "gravel", "tree_top", "tree_side", "lava", "rock_gold", "rock_bronze", "rock_coal", "gold", "sponge", "color0", "color1", "color2", "color3", "color4", "color5", "color6", "color7", "color8", "color9", "color10", "color11", "color12", "color13", "color14", "color15"], | |
| q = ["leaves_opaque", "glass", "water", "bush", "red_flower", "yellow_flower", "red_mushroom", "brown_mushroom"]; | |
| for (L = 0; L < K.length; L++) { | |
| var Z = null; | |
| "lava" == (Q = K[L]) && (Z = [.4, 0, 0, .95]), V.registry.registerMaterial(Q, Z, Q + ".png") | |
| } | |
| for (L = 0; L < q.length; L++) { | |
| var Q; | |
| Z = null; | |
| "water" == (Q = q[L]) && (Z = [0, 0, .4, .85]); | |
| V.registry.registerMaterial(Q, Z, Q + ".png", !0) | |
| } | |
| V.registry.registerMaterial("empty_sponge", [0, 0, 0, 0], null, !0); | |
| var J = [], | |
| $ = [null, null, null, 8, 5, 6, 15, 16]; | |
| for (L = 3; L < 8; L++) { | |
| var ee = q[L], | |
| te = X(V); | |
| (oe = V.rendering.makeStandardMaterial(ee + "Mat")).diffuseTexture = new BABYLON.Texture("assets/textures/" + ee + ".png", scene, !0, !0, 1), oe.diffuseTexture.hasAlpha = !0, oe.diffuseTexture.getAlphaFromRGB = !0, te.material = oe; | |
| var ie = $[L], | |
| re = V.registry.registerBlock(ie, { | |
| material: [null, ee, null, null, null, null], | |
| opaque: !1, | |
| blockMesh: te | |
| }); | |
| J.push(re) | |
| } | |
| this.grassID = V.registry.registerBlock(1, { | |
| material: ["grass", "dirt", "grass_dirt"] | |
| }), this.stoneID = V.registry.registerBlock(2, { | |
| material: "stone" | |
| }), this.dirtID = V.registry.registerBlock(3, { | |
| material: "dirt" | |
| }), this.woodID = V.registry.registerBlock(4, { | |
| material: "wood" | |
| }), this.redflowerID = J[1], this.yellowflowerID = J[2], this.waterID = V.registry.registerBlock(7, { | |
| material: "water", | |
| opaque: !1, | |
| solid: !1, | |
| fluid: !0, | |
| fluidDensity: 1, | |
| viscosity: .5 | |
| }), this.bushID = J[0], this.rockID = V.registry.registerBlock(9, { | |
| material: "rock" | |
| }), this.bedrockID = V.registry.registerBlock(10, { | |
| material: "bedrock" | |
| }), this.sandID = V.registry.registerBlock(11, { | |
| material: "sand" | |
| }), this.gravelID = V.registry.registerBlock(12, { | |
| material: "gravel" | |
| }), this.treeID = V.registry.registerBlock(13, { | |
| material: ["tree_top", "tree_top", "tree_side"] | |
| }), this.leafID = V.registry.registerBlock(14, { | |
| material: "leaves_opaque", | |
| opaque: !1 | |
| }), this.redmushroomID = J[3], this.brownmushroomID = J[4], this.lavaID = V.registry.registerBlock(17, { | |
| material: "lava", | |
| solid: !1, | |
| fluid: !0, | |
| fluidDensity: 1, | |
| viscosity: .5 | |
| }), this.rockGoldID = V.registry.registerBlock(18, { | |
| material: "rock_gold" | |
| }), this.rockbronzeID = V.registry.registerBlock(19, { | |
| material: "rock_bronze" | |
| }), this.rockcoalID = V.registry.registerBlock(20, { | |
| material: "rock_coal" | |
| }), this.goldID = V.registry.registerBlock(21, { | |
| material: "gold" | |
| }), this.spongeID = V.registry.registerBlock(22, { | |
| material: "sponge" | |
| }), this.glassID = V.registry.registerBlock(23, { | |
| material: "glass", | |
| opaque: !1 | |
| }), this.colorBlockArray = []; | |
| for (L = 0; L < 16; L++) { | |
| var ne = V.registry.registerBlock(24 + L, { | |
| material: "color" + L | |
| }); | |
| this.colorBlockArray.push(ne) | |
| } | |
| this.emptySpongeID = V.registry.registerBlock(40, { | |
| material: "empty_sponge", | |
| opaque: !1, | |
| solid: !1 | |
| }); | |
| var oe; | |
| te = Y(V); | |
| (oe = V.rendering.makeStandardMaterial(ee + "Mat")).diffuseTexture = V.waterTexture, oe.alpha = .85, oe.useAlphaFromDiffuseTexture = !0, oe.backFaceCulling = !1, oe.disableLighting = !0, oe.emissiveColor = new BABYLON.Color3(.6, .6, .6), te.material = oe, this.waterHackID = V.registry.registerBlock(41, { | |
| material: [null, "water", null, null, null, null], | |
| opaque: !1, | |
| solid: !1, | |
| fluid: !0, | |
| fluidDensity: 1, | |
| viscosity: .5, | |
| blockMesh: te | |
| }), this.soundArray = [null, { | |
| id: "grass", | |
| volume: .9, | |
| pitch: 1 | |
| }, { | |
| id: "stone", | |
| volume: 1, | |
| pitch: 1 | |
| }, { | |
| id: "grass", | |
| volume: .8, | |
| pitch: 1 | |
| }, { | |
| id: "wood", | |
| volume: 1, | |
| pitch: 1 | |
| }, null, null, null, null, { | |
| id: "stone", | |
| volume: 1, | |
| pitch: 1 | |
| }, null, { | |
| id: "gravel", | |
| volume: .8, | |
| pitch: 1 | |
| }, { | |
| id: "gravel", | |
| volume: .8, | |
| pitch: 1 | |
| }, { | |
| id: "wood", | |
| volume: 1, | |
| pitch: 1 | |
| }, { | |
| id: "grass", | |
| volume: 1, | |
| pitch: .4 | |
| }, null, null, null, { | |
| id: "stone", | |
| volume: 1, | |
| pitch: 1 | |
| }, { | |
| id: "stone", | |
| volume: 1, | |
| pitch: 1 | |
| }, { | |
| id: "stone", | |
| volume: 1, | |
| pitch: 1 | |
| }, { | |
| id: "metal", | |
| volume: .7, | |
| pitch: 1 | |
| }, { | |
| id: "cloth", | |
| volume: 1, | |
| pitch: .9 | |
| }, { | |
| id: "metal", | |
| volume: 1, | |
| pitch: 1 | |
| }, { | |
| id: "cloth", | |
| volume: 1, | |
| pitch: 1 | |
| }, { | |
| id: "cloth", | |
| volume: 1, | |
| pitch: 1 | |
| }, { | |
| id: "cloth", | |
| volume: 1, | |
| pitch: 1 | |
| }, { | |
| id: "cloth", | |
| volume: 1, | |
| pitch: 1 | |
| }, { | |
| id: "cloth", | |
| volume: 1, | |
| pitch: 1 | |
| }, { | |
| id: "cloth", | |
| volume: 1, | |
| pitch: 1 | |
| }, { | |
| id: "cloth", | |
| volume: 1, | |
| pitch: 1 | |
| }, { | |
| id: "cloth", | |
| volume: 1, | |
| pitch: 1 | |
| }, { | |
| id: "cloth", | |
| volume: 1, | |
| pitch: 1 | |
| }, { | |
| id: "cloth", | |
| volume: 1, | |
| pitch: 1 | |
| }, { | |
| id: "cloth", | |
| volume: 1, | |
| pitch: 1 | |
| }, { | |
| id: "cloth", | |
| volume: 1, | |
| pitch: 1 | |
| }, { | |
| id: "cloth", | |
| volume: 1, | |
| pitch: 1 | |
| }, { | |
| id: "cloth", | |
| volume: 1, | |
| pitch: 1 | |
| }, { | |
| id: "cloth", | |
| volume: 1, | |
| pitch: 1 | |
| }, { | |
| id: "cloth", | |
| volume: 1, | |
| pitch: 1 | |
| }], this.blockArray = [this.grassID, this.stoneID, this.dirtID, this.woodID, this.redflowerID, this.yellowflowerID, this.waterID, this.bushID, this.rockID, this.bedrockID, this.sandID, this.gravelID, this.treeID, this.leafID, this.redmushroomID, this.brownmushroomID, this.lavaID, this.rockGoldID, this.rockbronzeID, this.rockcoalID, this.goldID, this.spongeID, this.glassID]; | |
| for (L = 0; L < this.colorBlockArray.length; L++) this.blockArray.push(this.colorBlockArray[L]); | |
| var se = i(508)(V, this.blockArray); | |
| se.setBlock(W), window.addEventListener("beforeunload", function (e) { | |
| !w.playerSpawned || b || x || (e.preventDefault(), e.returnValue = "") | |
| }), document.addEventListener("mousewheel", Se, !1), document.addEventListener("DOMMouseScroll", Se, !1), V.inputs.down.on("fire", function () { | |
| if (V.targetedBlock) { | |
| var e = { | |
| targetedBlockBlockID: V.targetedBlock.blockID, | |
| targetedBlockPosition: V.targetedBlock.position, | |
| targetedBlockAdjacentPosition: V.targetedBlock.adjacent, | |
| chosenBlock: W, | |
| addMode: V.addMode | |
| }; | |
| V.addMode && (e.localPlayer = !0); | |
| var t = w.handleFireEvent(e); | |
| delete e.localPlayer, null != w.player && t && w.player.emitFireEvent(e) | |
| } | |
| }), V.inputs.down.on("mid-fire", function () { | |
| if (V.targetedBlock) { | |
| var e = V.targetedBlock.blockID; | |
| if (e == w.rockcoalID || e == w.rockbronzeID || e == w.rockGoldID) return; | |
| 1 == e && (e = 3), N.pick(e), W = e - 1, se.setBlock(W) | |
| } | |
| }), V.inputs.down.on("alt-fire", function () { | |
| V.addMode ? V.addMode = !1 : (V.addMode = !0, se.setBlock(W)), V.resetTargetBlock(), V.emit("targetBlockChanged", V.targetedBlock) | |
| }), document.addEventListener("keydown", function (e) { | |
| var t = e.keyCode; | |
| if (8 == t && e.preventDefault(), e.ctrlKey && e.preventDefault(), !G.isOpen && ae) | |
| if (ae = !1, 27 == t && c.isOpen) c.close(); | |
| else if (27 == t && (U.isOpen ? U.close() : (U.open(), z.isOpen && z.close())), !U.isOpen && (!c || !c.isOpen) && t >= 49 && t <= 57) { | |
| var i = t - 49; | |
| N.setIndex(i), W = N.currentId - 1, se.setBlock(W) | |
| } | |
| }, !1), document.addEventListener("keyup", function (e) { | |
| ae = !0 | |
| }, !1); | |
| var ae = !0; | |
| V.inputs.down.on("build", function (e, t) { | |
| U.isOpen || c.isOpen || z.open() | |
| }), V.inputs.down.on("chat", function (e, t) { | |
| U.isOpen || c.isOpen || (z.isOpen && z.close(), c.open()) | |
| }), V.inputs.down.on("fog", function (e, t) { | |
| U.isOpen || c.isOpen || ye() | |
| }), V.inputs.down.on("saveLoc", function (e, t) { | |
| U.isOpen || c.isOpen || w.updateResetPosition() | |
| }), V.inputs.down.on("loadLoc", function (e, t) { | |
| U.isOpen || c.isOpen || w.applyResetPosition() | |
| }), V.inputs.down.on("spawnSteve", function (e, t) { | |
| U.isOpen || c.isOpen || w.spawnSteve() | |
| }); | |
| var ce = !1; | |
| document.addEventListener("pointerlockchange", function (e) { | |
| var t = !1; | |
| c && (t = c.isOpen), null != document.pointerLockElement || !ce || z.isOpen || t || G.isOpen ? (ce = !0, V.inputs.state.forward = !1, V.inputs.state.backward = !1, V.inputs.state.left = !1, V.inputs.state.right = !1, t && ae && c.close()) : U.open() | |
| }, !1), window.addEventListener("resize", function (e) { | |
| U.resize(), m.resize(), G.resize(), N.resize(), c && c.resize(), V.version && V.version.resize(), z.resize() | |
| }), V.on("setPreviewBlock", function (e) { | |
| W = e - 1, se.setBlock(W) | |
| }); | |
| var he = { | |
| position: [O.playerStart[0], O.playerStart[1], O.playerStart[2]], | |
| rotation: [0, 0, 0] | |
| }; | |
| this.setPlayerPosition = function (e) { | |
| var t = V.playerEntity; | |
| V.entities.setPhysicsInterpolation(t, !1), V.entities.setPosition(t, e[0], e[1] + .5, e[2]), setTimeout(function () { | |
| V.entities.setPhysicsInterpolation(t, !0) | |
| }, 100) | |
| }, this.updateResetPosition = function () { | |
| var e = V.playerEntity, | |
| t = V.entities.getPosition(e); | |
| he.position[0] = t[0], he.position[1] = t[1], he.position[2] = t[2], he.rotation[0] = 0, he.rotation[1] = V.rendering._rotationHolder.rotation.y, he.rotation[2] = 0, w.applyResetPosition() | |
| }, this.applyResetPosition = function () { | |
| V.entities.setPhysicsInterpolation(V.playerEntity, !1); | |
| var e = V.playerEntity; | |
| V.entities.setPosition(e, he.position[0], he.position[1] + .5, he.position[2]), V.rendering._rotationHolder.rotation.x = he.rotation[0], V.rendering._rotationHolder.rotation.y = he.rotation[1], V.rendering._rotationHolder.rotation.z = he.rotation[2], setTimeout(function () { | |
| V.entities.setPhysicsInterpolation(V.playerEntity, !0) | |
| }, 100) | |
| }, this.steveArray = [], this.spawnSteve = function () { | |
| var e = V.entities.getPositionData(V.playerEntity), | |
| t = i(509), | |
| r = e.position[0], | |
| n = e.position[1] + .5, | |
| o = e.position[2], | |
| s = t(V, r, n, o); | |
| w.steveArray.push(s) | |
| }; | |
| var ue = 250, | |
| le = 0, | |
| fe = [], | |
| de = function (e, t) { | |
| fe.push({ | |
| func: e, | |
| args: t | |
| }) | |
| }, | |
| pe = 1500, | |
| me = 0, | |
| ge = [], | |
| _e = function (e, t) { | |
| ge.push({ | |
| func: e, | |
| args: t | |
| }) | |
| }; | |
| this.checkWaterBelowAdd = function (e, t, i) { | |
| var r = this.waterID; | |
| this.shouldWaterHaveSurface(e, t, i) && (r = this.waterHackID), this.setBlock(r, e, t, i); | |
| var n = V.world.getBlockID(e - 1, t, i), | |
| o = V.world.getBlockID(e + 1, t, i), | |
| s = V.world.getBlockID(e, t, i + 1), | |
| a = V.world.getBlockID(e, t, i - 1); | |
| if (n == this.waterID || n == this.waterHackID) { | |
| r = this.waterID; | |
| var c = V.world.getBlockID(e - 1, t + 1, i); | |
| this.shouldWaterHaveSurface(e - 1, t, i) && 0 != c && (r = this.waterHackID), this.setBlock(r, e - 1, t, i) | |
| } | |
| if (o == this.waterID || o == this.waterHackID) { | |
| r = this.waterID; | |
| var h = V.world.getBlockID(e + 1, t + 1, i); | |
| this.shouldWaterHaveSurface(e + 1, t, i) && 0 != h && (r = this.waterHackID), this.setBlock(r, e + 1, t, i) | |
| } | |
| if (s == this.waterID || s == this.waterHackID) { | |
| r = this.waterID; | |
| var u = V.world.getBlockID(e, t + 1, i + 1); | |
| this.shouldWaterHaveSurface(e, t, i + 1) && 0 != u && (r = this.waterHackID), this.setBlock(r, e, t, i + 1) | |
| } | |
| if (a == this.waterID || a == this.waterHackID) { | |
| r = this.waterID; | |
| var l = V.world.getBlockID(e, t + 1, i - 1); | |
| this.shouldWaterHaveSurface(e, t, i - 1) && 0 != l && (r = this.waterHackID), this.setBlock(r, e, t, i - 1) | |
| } | |
| }, this.checkWaterHackBelowDestroy = function (e, t, i) { | |
| V.world.getBlockID(e, t, i) == this.waterHackID && this.addBlock(this.waterID, e, t, i); | |
| var r, n = V.world.getBlockID(e - 1, t, i), | |
| o = V.world.getBlockID(e + 1, t, i), | |
| s = V.world.getBlockID(e, t, i + 1), | |
| a = V.world.getBlockID(e, t, i - 1); | |
| if (n == this.waterID || n == this.waterHackID) { | |
| r = this.waterID; | |
| var c = V.world.getBlockID(e - 1, t + 1, i); | |
| this.shouldWaterHaveSurface(e - 1, t, i) && 0 != c && (r = this.waterHackID), this.setBlock(r, e - 1, t, i) | |
| } | |
| if (o == this.waterID || o == this.waterHackID) { | |
| r = this.waterID; | |
| var h = V.world.getBlockID(e + 1, t + 1, i); | |
| this.shouldWaterHaveSurface(e + 1, t, i) && 0 != h && (r = this.waterHackID), this.setBlock(r, e + 1, t, i) | |
| } | |
| if (s == this.waterID || s == this.waterHackID) { | |
| r = this.waterID; | |
| var u = V.world.getBlockID(e, t + 1, i + 1); | |
| this.shouldWaterHaveSurface(e, t, i + 1) && 0 != u && (r = this.waterHackID), this.setBlock(r, e, t, i + 1) | |
| } | |
| if (a == this.waterID || a == this.waterHackID) { | |
| r = this.waterID; | |
| var l = V.world.getBlockID(e, t + 1, i - 1); | |
| this.shouldWaterHaveSurface(e, t, i - 1) && 0 != l && (r = this.waterHackID), this.setBlock(r, e, t, i - 1) | |
| } | |
| }, this.shouldWaterHaveSurface = function (e, t, i) { | |
| var r = V.world.getBlockID(e, t + 1, i), | |
| n = V.world.getBlockID(e - 1, t + 1, i), | |
| o = V.world.getBlockID(e + 1, t + 1, i), | |
| s = V.world.getBlockID(e, t + 1, i + 1), | |
| a = V.world.getBlockID(e, t + 1, i - 1); | |
| return (0 == r || 0 == n || 0 == o || 0 == s || 0 == a) && r != this.waterID && n != this.waterID && o != this.waterID && s != this.waterID && a != this.waterID && r != this.waterHackID && n != this.waterHackID && o != this.waterHackID && s != this.waterHackID && a != this.waterHackID | |
| }, this.addWater = function (e, t, i) { | |
| if (e < 0 || e >= V.worldSize - 1 || i < 0 || i >= V.worldSize - 1) return !1; | |
| var r = this.waterID, | |
| n = V.world.getBlockID(e, t + 1, i); | |
| if (this.shouldWaterHaveSurface(e, t, i) && 0 != n && n != this.emptySpongeID && (r = this.waterHackID), this.addBlock(this.waterID, e, t, i), r != this.waterID) { | |
| this.addBlock(r, e, t, i); | |
| var o = V.world.getBlockID(e - 1, t, i), | |
| s = V.world.getBlockID(e + 1, t, i), | |
| a = V.world.getBlockID(e, t, i + 1), | |
| c = V.world.getBlockID(e, t, i - 1), | |
| h = V.world.getBlockID(e - 1, t + 1, i), | |
| u = V.world.getBlockID(e + 1, t + 1, i), | |
| l = V.world.getBlockID(e, t + 1, i + 1), | |
| f = V.world.getBlockID(e, t + 1, i - 1); | |
| o == this.waterID && 0 != h && (V.setBlock(r, e - 1, t, i), this.setBlockTilesArray(r, e - 1, t, i)), s == this.waterID && 0 != u && (V.setBlock(r, e + 1, t, i), this.setBlockTilesArray(r, e - 1, t, i)), a == this.waterID && 0 != l && (V.setBlock(r, e, t, i + 1), this.setBlockTilesArray(r, e - 1, t, i)), c == this.waterID && 0 != f && (V.setBlock(r, e, t, i - 1), this.setBlockTilesArray(r, e - 1, t, i)) | |
| } | |
| var d = V.world.getBlockID(e, t - 1, i); | |
| return d == this.grassID && this.flagToRemoveGrass(e, t - 1, i), d == this.lavaID && this.setBlock(this.stoneID, e, t - 1, i), d == this.waterHackID && this.setBlock(this.waterID, e, t - 1, i), !0 | |
| }, this.addLava = function (e, t, i) { | |
| this.addBlock(this.lavaID, e, t, i); | |
| var r = V.world.getBlockID(e, t - 1, i); | |
| r == this.grassID && this.flagToRemoveGrass(e, t - 1, i), r == this.waterID && this.setBlock(this.stoneID, e, t - 1, i) | |
| }, this.checkNeighbours = function (e, t, i, r) { | |
| if (!(e < 0 || e >= V.worldSize - 1 || i < 0 || i >= V.worldSize - 1) && 0 == V.world.getBlockID(e, t, i)) { | |
| var n = V.world.getBlockID(e, t + 1, i), | |
| o = V.world.getBlockID(e - 1, t, i), | |
| s = V.world.getBlockID(e + 1, t, i), | |
| a = V.world.getBlockID(e, t, i + 1), | |
| c = V.world.getBlockID(e, t, i - 1); | |
| n != w.lavaID && o != w.lavaID && s != w.lavaID && a != w.lavaID && c != w.lavaID || setTimeout(function () { | |
| w.addLava(e, t, i), _e(w.checkNeighboursAsLava, [e, t, i]) | |
| }, 1500), n != w.waterID && o != w.waterID && s != w.waterID && a != w.waterID && c != w.waterID && n != w.waterHackID && o != w.waterHackID && s != w.waterHackID && a != w.waterHackID && c != w.waterHackID || setTimeout(function () { | |
| w.addWater(e, t, i) && de(w.checkNeighboursAsWater, [e, t, i]) | |
| }, 150), r && setTimeout(function () { | |
| w.checkWaterHackBelowDestroy(e, t - 1, i) | |
| }, 160) | |
| } | |
| }, this.checkNeighboursAsWater = function (e, t, i) { | |
| if (!(e <= 0 || e >= V.worldSize - 1 || i <= 0 || i >= V.worldSize - 1)) { | |
| var r = V.world.getBlockID(e, t - 1, i), | |
| n = V.world.getBlockID(e - 1, t, i), | |
| o = V.world.getBlockID(e + 1, t, i), | |
| s = V.world.getBlockID(e, t, i + 1), | |
| a = V.world.getBlockID(e, t, i - 1); | |
| 0 == r && w.addWater(e, t - 1, i) && de(w.checkNeighboursAsWater, [e, t - 1, i]), 0 == n && w.addWater(e - 1, t, i) && de(w.checkNeighboursAsWater, [e - 1, t, i]), 0 == o && w.addWater(e + 1, t, i) && de(w.checkNeighboursAsWater, [e + 1, t, i]), 0 == s && w.addWater(e, t, i + 1) && de(w.checkNeighboursAsWater, [e, t, i + 1]), 0 == a && w.addWater(e, t, i - 1) && de(w.checkNeighboursAsWater, [e, t, i - 1]) | |
| } | |
| }, this.checkNeighboursAsLava = function (e, t, i) { | |
| if (!(e < 0 || e > V.worldSize - 1 || i < 0 || i > V.worldSize - 1)) { | |
| var r = V.world.getBlockID(e, t - 1, i), | |
| n = V.world.getBlockID(e - 1, t, i), | |
| o = V.world.getBlockID(e + 1, t, i), | |
| s = V.world.getBlockID(e, t, i + 1), | |
| a = V.world.getBlockID(e, t, i - 1); | |
| 0 == r && (w.addLava(e, t - 1, i), _e(w.checkNeighboursAsLava, [e, t - 1, i])), 0 == n && (w.addLava(e - 1, t, i), _e(w.checkNeighboursAsLava, [e - 1, t, i])), 0 == o && (w.addLava(e + 1, t, i), _e(w.checkNeighboursAsLava, [e + 1, t, i])), 0 == s && (w.addLava(e, t, i + 1), _e(w.checkNeighboursAsLava, [e, t, i + 1])), 0 == a && (w.addLava(e, t, i - 1), _e(w.checkNeighboursAsLava, [e, t, i - 1])) | |
| } | |
| }, this.flagToGrowGrass = function (e, t, i) { | |
| var r = E + Math.random() * (P - E); | |
| setTimeout(function () { | |
| if (V.world.getBlockID(e, t, i) == w.dirtID) { | |
| var r = w.checkUpForBlocker(e, t, i); | |
| 0 != r && r != w.redflowerID && r != w.yellowflowerID && r != w.bushID && r != w.redmushroomID && r != w.brownmushroomID && r != w.glassID && r != w.leafID || w.setBlock(w.grassID, e, t, i) | |
| } | |
| }, r) | |
| }, this.flagToRemoveGrass = function (e, t, i) { | |
| var r = C + Math.random() * (R - C); | |
| setTimeout(function () { | |
| if (V.world.getBlockID(e, t, i) == w.grassID) { | |
| var r = w.checkUpForBlocker(e, t, i); | |
| 0 != r && r != w.redflowerID && r != w.yellowflowerID && r != w.bushID && r != w.redmushroomID && r != w.brownmushroomID && r != w.glassID && r != w.leafID && w.setBlock(w.dirtID, e, t, i) | |
| } | |
| }, r) | |
| }, this.checkBelowFoilage = function (e, t, i) { | |
| var r = I + Math.random() * (D - I); | |
| setTimeout(function () { | |
| var r = V.world.getBlockID(e, t, i); | |
| if (r == w.redflowerID || r == w.yellowflowerID || r == w.bushID || r == w.redmushroomID || r == w.brownmushroomID) { | |
| var n = V.world.getBlockID(e, t - 1, i); | |
| n != w.grassID && n != w.dirtID && (w.setBlock(0, e, t, i), de(w.checkNeighbours, [e, t, i])) | |
| } | |
| }, r) | |
| }, this.checkAboveFoilage = function (e, t, i) { | |
| var r = I + Math.random() * (D - I); | |
| setTimeout(function () { | |
| var r = V.world.getBlockID(e, t, i); | |
| if ((r == w.redflowerID || r == w.yellowflowerID || r == w.bushID || r == w.redmushroomID || r == w.brownmushroomID) && w.getBrightness(e, t, i) < 1) { | |
| w.setBlock(0, e, t, i), de(w.checkNeighbours, [e, t, i]); | |
| var n = V.world.getBlockID(e, t + 1, i); | |
| n != w.sandID && n != w.gravelID || w.checkDownSandGravel(e, t + 1, i, n) | |
| } | |
| }, r) | |
| }, this.checkDownForGrass = function (e, t, i) { | |
| for (var r = 0, n = t; | |
| (0 == r || r == this.redflowerID || r == this.yellowflowerID || r == this.bushID || r == this.redmushroomID || r == this.brownmushroomID || r == this.glassID || r == this.leafID) && n >= 0;) n -= 1, (r = V.world.getBlockID(e, n, i)) != this.redflowerID && r != this.yellowflowerID && r != this.bushID && r != this.redmushroomID && r != this.brownmushroomID || w.checkAboveFoilage(e, n, i); | |
| r == this.grassID && this.flagToRemoveGrass(e, n, i) | |
| }, this.checkDownForDirt = function (e, t, i) { | |
| for (var r = 0, n = t; | |
| (0 == r || r == this.redflowerID || r == this.yellowflowerID || r == this.bushID || r == this.redmushroomID || r == this.brownmushroomID || r == this.glassID || r == this.leafID) && n >= 0;) n -= 1, r = V.world.getBlockID(e, n, i); | |
| r == this.dirtID && this.flagToGrowGrass(e, n, i) | |
| }, this.checkDownSandGravel = function (e, t, i, r) { | |
| for (var n = 0, o = t; | |
| (0 == n || n == this.waterID || n == this.waterHackID || n == this.lavaID || n == this.emptySpongeID) && o >= 0;) o -= 1, n = V.world.getBlockID(e, o, i); | |
| if (0 != n) { | |
| w.setBlock(0, e, t, i), w.setBlock(r, e, o + 1, i); | |
| var s = V.world.getBlockID(e, t + 1, i); | |
| s != w.sandID && s != w.gravelID || w.checkDownSandGravel(e, t + 1, i, s); | |
| w.removeBlockCheckLit(e, t, i); | |
| w.checkNeighbours(e, t, i, !1) | |
| } | |
| }, this.checkUpForBlocker = function (e, t, i) { | |
| for (var r = 0, n = t; | |
| (0 == r || r == this.redflowerID || r == this.yellowflowerID || r == this.bushID || r == this.redmushroomID || r == this.brownmushroomID || r == this.glassID || r == this.leafID) && n < 64;) n += 1, r = V.world.getBlockID(e, n, i); | |
| return r | |
| }; | |
| var ve = {}; | |
| this.updateRemainingSponges = function () { | |
| for (var e in ve) { | |
| var t = ve[e]; | |
| w.checkAddSponge(t.x, t.y, t.z, !1) | |
| } | |
| }, this.checkAddSponge = function (e, t, i, r) { | |
| (r || null == r) && (ve["s" + e + t + i] = { | |
| x: e, | |
| y: t, | |
| z: i | |
| }); | |
| for (var n = Math.max(e - 2, 1), o = Math.min(e + 2, _ - 3), s = Math.max(i - 2, 1), a = Math.min(i + 2, _ - 3), c = t - 2; c <= t + 2; c++) | |
| for (var h = n; h <= o; h++) | |
| for (var u = s; u <= a; u++) { | |
| var l = V.world.getBlockID(h, c, u); | |
| l != w.waterID && 0 != l || (w.setBlock(w.emptySpongeID, h, c, u), w.removeBlockCheckLit(h, c, u)) | |
| } | |
| }, this.checkRemoveSponge = function (e, t, i) { | |
| delete ve["s" + e + t + i]; | |
| for (var r = Math.max(e - 2, 1), n = Math.min(e + 2, _ - 3), o = Math.max(i - 2, 1), s = Math.min(i + 2, _ - 3), a = t - 2; a <= t + 2; a++) | |
| for (var c = r; c <= n; c++) | |
| for (var h = o; h <= s; h++) { | |
| var u; | |
| u = c == e - 2 || c == e + 2 || h == i - 2 || h == i + 2, V.world.getBlockID(c, a, h) == w.emptySpongeID && (w.setBlock(0, c, a, h), u && de(w.checkNeighbours, [c, a, h])) | |
| } | |
| w.updateRemainingSponges() | |
| }; | |
| var ye = function () { | |
| V.settings.drawDistance++, V.settings.drawDistance > 3 && (V.settings.drawDistance = 0), be(V.settings.drawDistance), V.emit("saveSettings") | |
| }; | |
| V.on("cycleDrawDistance", ye); | |
| var be = function (e) { | |
| switch (V.settings.drawDistance = e, e) { | |
| case 0: | |
| V.rendering.fogWorld = .002, V.rendering.fogWater = .08, V.rendering.fogLava = .2, V.rendering._camera.maxZ = 800; | |
| break; | |
| case 1: | |
| V.rendering.fogWorld = .008, V.rendering.fogWater = .08, V.rendering.fogLava = .2, V.rendering._camera.maxZ = 200; | |
| break; | |
| case 2: | |
| V.rendering.fogWorld = .05, V.rendering.fogWater = .1, V.rendering.fogLava = .2, V.rendering._camera.maxZ = 50; | |
| break; | |
| case 3: | |
| V.rendering.fogWorld = .2, V.rendering.fogWater = .2, V.rendering.fogLava = .2, V.rendering._camera.maxZ = 10 | |
| } | |
| V.rendering._camLocBlock += 1 | |
| }; | |
| be(V.settings.drawDistance), V.on("toggleMusic", function () { | |
| V.settings.music ? (V.settings.music = !1, w.soundPlayer.setMusicVolume(0)) : (V.settings.music = !0, w.soundPlayer.setMusicVolume(1)), w.soundPlayer.musicOn = V.settings.music, V.emit("saveSettings") | |
| }), V.on("toggleSound", function () { | |
| V.settings.sound ? V.settings.sound = !1 : V.settings.sound = !0, w.soundPlayer.soundOn = V.settings.sound, V.emit("saveSettings") | |
| }), V.on("toggleInvertMouse", function () { | |
| V.settings.invert ? V.settings.invert = !1 : V.settings.invert = !0, V.cameraControls.inverseY = V.settings.invert, V.emit("saveSettings") | |
| }), V.on("toggleFps", function () { | |
| V.settings.fps ? V.settings.fps = !1 : V.settings.fps = !0, V.version.showFps = V.settings.fps, V.version.lastRedraw = 0, V.version.redraw(), V.emit("saveSettings") | |
| }), V.on("saveSettings", function () { | |
| localStorage.setItem("settings", JSON.stringify(V.settings)) | |
| }), setInterval(function () { | |
| if (null != t.player) { | |
| var e = V.entities.getPositionData(V.playerEntity), | |
| i = V.rendering._rotationHolder.rotation; | |
| t.player.setPosition({ | |
| x: e.position[0], | |
| y: e.position[1], | |
| z: e.position[2] | |
| }, i, t.playerSpawned) | |
| } | |
| }, 50), V.setName = function (e) { | |
| w.setName && w.setName(e) | |
| }, this.onHostDisconnect = function () { | |
| x || (this.worldInitialized && (U.isOpen && U.close(), c.isOpen && c.close(), z.isOpen && z.close()), G && G.show(3), b = !0) | |
| }, this.onHostFull = function () { | |
| G && G.show(2) | |
| }, this.onKicked = function () { | |
| x = !0, G && G.show(5) | |
| }, this.addPlayer = function (e, t, r, n, o) { | |
| return i(511)(V, e, t, r, n, o) | |
| }, this.getPlayerPosition = function () { | |
| return V.entities.getPosition(V.playerEntity) | |
| }, this.getPlayerRotation = function () { | |
| return V.rendering._rotationHolder.rotation | |
| }, this.setBlock = function (e, t, i, r) { | |
| var n = t.length ? t : [t, i, r]; | |
| this.setBlockTilesArray(e, n), V.setBlock(e, n), void 0 !== this.changedBlockHandler && null !== this.changedBlockHandler && this.changedBlockHandler.setBlock(n, e) | |
| }, this.addBlock = function (e, t, i, r) { | |
| var n = t.length ? t : [t, i, r], | |
| o = !!t.length && i; | |
| return this.setBlockTilesArray(e, n), !!V.addBlock(e, n, o) && (void 0 !== this.changedBlockHandler && null !== this.changedBlockHandler && this.changedBlockHandler.addBlock(n, e), e != this.leafID && e != this.glassID && e != this.redflowerID && e != this.yellowflowerID && e != this.bushID && e != this.redmushroomID && e != this.brownmushroomID && this.addBlockCheckLit(n[0], n[1], n[2]), !0) | |
| }, this.handleChangedBlocks = function (e) { | |
| for (var t in e) { | |
| var i = e[t]; | |
| this.setBlockTilesArray(i.bt, i.p), this.worldInitialized && (i.add ? this.addBlock(i.bt, i.p) : (this.setBlock(i.bt, i.p), 0 == i.bt && this.removeBlockCheckLit(i.p[0], i.p[1], i.p[2]))) | |
| } | |
| this.worldGenerated && !this.worldInitialized && xe() | |
| }, this.syncSavedWorld = function () { | |
| var e = r.default.getInstance().getChangedBlocks(); | |
| for (var t in e) { | |
| var i = e[t]; | |
| this.setBlockTilesArray(i.bt, i.p) | |
| } | |
| }, this.setBlockTilesArray = function (e, t, i, r) { | |
| if (y) { | |
| var n = t.length ? t : [t, i, r]; | |
| y[(n[1] * _ + n[2]) * _ + n[0]] = e | |
| } | |
| }, this.updateChatLog = function (e) { | |
| void 0 !== c && c.update(e) | |
| } | |
| } else console.log("seed must be an integer."); | |
| function xe() { | |
| ! function () { | |
| for (var e = 0; e < _; ++e) | |
| for (var t = 0; t < 64; ++t) | |
| for (var i = 0; i < _; ++i) { | |
| var r = e, | |
| n = t, | |
| o = i, | |
| s = y[(n * _ + o) * _ + r], | |
| a = 0; | |
| null != w.lightDepths[r][o] && (a = w.lightDepths[r][o]), 0 != s && s != w.redflowerID && s != w.yellowflowerID && s != w.bushID && s != w.redmushroomID && s != w.brownmushroomID && s != w.glassID && s != w.leafID && s != w.emptySpongeID && n >= a && (a = n), w.lightDepths[r][o] = a | |
| } | |
| }(), V.world.on("worldDataNeeded", we), V.setPaused(!1), c = o(V), V.version = d(), V.version.showFps = V.settings.fps, V.entities.setPhysicsInterpolation(V.playerEntity, !1), setTimeout(j, 100), w.worldInitialized = !0, V.hostInfo.gameFull && (U.isOpen && U.close(!0), G.show(2)), null != S.get("host") ? (U.isOpen && U.close(!0), w.noWebrtcJoin ? G.show(6) : G.show(0)) : null != S.get("join") && (U.isOpen && U.close(!0), G.show(1)) | |
| } | |
| function we(e, t, i, r, n) { | |
| var o = e.split("|"), | |
| s = parseInt(o[0], 10), | |
| a = parseInt(o[1], 10), | |
| c = parseInt(o[2], 10), | |
| h = s * g, | |
| u = a * g, | |
| l = c * g, | |
| f = !1; | |
| if ((s < 0 || a < 0 || c < 0) && (f = !0), (s >= _ / g || a >= 64 / g || c >= _ / g) && (f = !0), f) { | |
| for (var d = w.bedrockID, p = 0; p < t.shape[0]; ++p) | |
| for (var m = 0; m < t.shape[1]; ++m) | |
| for (var b = 0; b < t.shape[2]; ++b) { | |
| d = 0, (x = m - 1 + u) <= v && (d = w.waterID), x <= v - 2 && (d = w.bedrockID), t.set(p, m, b, d) | |
| } | |
| V.world.setChunkData(e, t) | |
| } else { | |
| for (d = w.bedrockID, p = 0; p < t.shape[0]; ++p) | |
| for (m = 0; m < t.shape[1]; ++m) | |
| for (b = 0; b < t.shape[2]; ++b) { | |
| var x, S = p - 1 + h, | |
| T = b - 1 + l; | |
| null != (d = y[((x = m - 1 + u) * _ + T) * _ + S]) && 0 != x || (d = w.bedrockID), (S < 0 || T < 0 || p + h >= _ || b + l >= _) && (d = 0, x <= v && (d = w.waterID), x <= v - 2 && (d = w.bedrockID)), t.set(p, m, b, d) | |
| } | |
| V.world.setChunkData(e, t) | |
| } | |
| } | |
| function Se(e) { | |
| e.ctrlKey && e.preventDefault() | |
| } | |
| } | |
| }, { | |
| key: "handleFireEvent", | |
| value: function (e) { | |
| var t = e.targetedBlockBlockID, | |
| i = e.targetedBlockPosition, | |
| r = e.targetedBlockAdjacentPosition, | |
| n = e.addMode, | |
| o = e.chosenBlock, | |
| s = e.localPlayer; | |
| if ("undefined" == typeof noa) return n ? this.setBlockTilesArray(this.blockArray[o], r) : this.setBlockTilesArray(0, i), !1; | |
| if (n) { | |
| if (r[1] >= noa.worldHeight) return !1; | |
| var a = noa.world.getBlockID(r[0], r[1], r[2]); | |
| if (!this.addBlock(this.blockArray[o], r, s)) return !1; | |
| var c = this.blockArray[o]; | |
| return c == this.dirtID && this.flagToGrowGrass(r[0], r[1], r[2]), this.checkDownForGrass(r[0], r[1], r[2]), (v = noa.world.getBlockID(r[0], r[1] - 1, r[2])) != this.waterID && v != this.waterHackID || 0 != a || this.checkWaterBelowAdd(r[0], r[1] - 1, r[2]), c != this.sandID && c != this.gravelID || this.checkDownSandGravel(r[0], r[1], r[2], c), c == this.spongeID && this.checkAddSponge(r[0], r[1], r[2]), c != this.redflowerID && c != this.yellowflowerID && c != this.bushID && c != this.redmushroomID && c != this.brownmushroomID || (v != this.dirtID && v != this.grassID && this.checkBelowFoilage(r[0], r[1], r[2]), this.checkAboveFoilage(r[0], r[1], r[2])), !0 | |
| } | |
| if (t != this.bedrockID) { | |
| var h = noa.registry.getBlockFaceMaterialAccessor()(t, 0), | |
| u = noa.registry._textures[h]; | |
| this.setBlock(0, i); | |
| var l = i, | |
| f = this.removeBlockCheckLit(l[0], l[1], l[2]), | |
| d = new BABYLON.Vector3(l[0], l[1], l[2]), | |
| p = BABYLON.Vector3.Distance(noa.rendering._cameraHolder.position, d); | |
| if (null != u && p < 15) this.addParticles("debris", u, f).mesh.position.copyFromFloats(l[0] + .5, l[1] + .5, l[2] + .5); | |
| this.checkDownForDirt(i[0], i[1], i[2]), t == this.spongeID && this.checkRemoveSponge(i[0], i[1], i[2]); | |
| var m = noa.world.getBlockID(l[0], l[1] + 1, l[2]); | |
| t != this.dirtID && t != this.grassID || m != this.redflowerID && m != this.yellowflowerID && m != this.bushID && m != this.redmushroomID && m != this.brownmushroomID || this.checkBelowFoilage(i[0], i[1] + 1, i[2]), m != this.sandID && m != this.gravelID || this.checkDownSandGravel(i[0], i[1] + 1, i[2], m); | |
| var g = this.soundArray[t]; | |
| if (null != g && p < 15) { | |
| var _ = 1 - p / 25; | |
| this.soundPlayer.play(g.id, g.volume * _, g.pitch) | |
| } | |
| var v, y = !1; | |
| return (v = noa.world.getBlockID(l[0], l[1] - 1, l[2])) != this.waterID && v != this.waterHackID || (y = !0), this.checkNeighbours(i[0], i[1], i[2], y), !0 | |
| } | |
| } | |
| }, { | |
| key: "setChangedBlockHandler", | |
| value: function (e) { | |
| this.changedBlockHandler = e | |
| } | |
| }, { | |
| key: "setPlayer", | |
| value: function (e) { | |
| this.player = e | |
| } | |
| }, { | |
| key: "setHostInfo", | |
| value: function (e) { | |
| if (this.hostInfo = e, this.hostInfo.gameFull || this.hostInfo.noSuchGame) { | |
| if (!t) var t = i(194)({}); | |
| this.hostInfo.noSuchGame ? (t.show(4), document.body.style.overflow = "hidden") : t.show(2), window.addEventListener("resize", function (e) { | |
| t.resize() | |
| }) | |
| } | |
| } | |
| }, { | |
| key: "getPlayerNames", | |
| value: function () { | |
| return this.network.getSpawnedPlayerNames() | |
| } | |
| }, { | |
| key: "kickPlayer", | |
| value: function (e) { | |
| return this.network.kickPlayer(e) | |
| } | |
| }, { | |
| key: "teleportToPlayer", | |
| value: function (e) { | |
| for (var t in this.network.state.players) | |
| if (this.network.state.players[t].state.name === e) { | |
| var i = this.network.state.players[t].state.position; | |
| return noa.entities.setPhysicsInterpolation(noa.playerEntity, !1), noa.entities.setPosition(noa.playerEntity, i.x, i.y, i.z), setTimeout(function () { | |
| noa.entities.setPhysicsInterpolation(noa.playerEntity, !0) | |
| }, 100), "Teleporting to " + e + " " + JSON.stringify(i) | |
| } return "No such player" | |
| } | |
| }, { | |
| key: "setSpawn", | |
| value: function () { | |
| return this.network.setSpawnToCurrentPosition() | |
| } | |
| }, { | |
| key: "teleportTo", | |
| value: function (e) { | |
| var t = this.network.getPositionFor(e); | |
| return null === t ? e + ": no such player" : (this.setPlayerPosition([t.x, t.y, t.z]), "teleported to " + e) | |
| } | |
| }]) && a(t.prototype, n), c && a(t, c), e | |
| }(), | |
| h = t.a = c | |
| }, function (e, t, i) { | |
| var r = i(6), | |
| n = i(5).document, | |
| o = r(n) && r(n.createElement); | |
| e.exports = function (e) { | |
| return o ? n.createElement(e) : {} | |
| } | |
| }, function (e, t, i) { | |
| var r = i(14), | |
| n = i(5), | |
| o = n["__core-js_shared__"] || (n["__core-js_shared__"] = {}); | |
| (e.exports = function (e, t) { | |
| return o[e] || (o[e] = void 0 !== t ? t : {}) | |
| })("versions", []).push({ | |
| version: r.version, | |
| mode: i(46) ? "pure" : "global", | |
| copyright: "© 2018 Denis Pushkarev (zloirock.ru)" | |
| }) | |
| }, function (e, t, i) { | |
| t.f = i(8) | |
| }, function (e, t, i) { | |
| var r = i(96)("keys"), | |
| n = i(45); | |
| e.exports = function (e) { | |
| return r[e] || (r[e] = n(e)) | |
| } | |
| }, function (e, t) { | |
| e.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",") | |
| }, function (e, t, i) { | |
| var r = i(36); | |
| e.exports = Array.isArray || function (e) { | |
| return "Array" == r(e) | |
| } | |
| }, function (e, t, i) { | |
| var r = i(5).document; | |
| e.exports = r && r.documentElement | |
| }, function (e, t, i) { | |
| var r = i(6), | |
| n = i(4), | |
| o = function (e, t) { | |
| if (n(e), !r(t) && null !== t) throw TypeError(t + ": can't set as prototype!") | |
| }; | |
| e.exports = { | |
| set: Object.setPrototypeOf || ("__proto__" in {} ? function (e, t, r) { | |
| try { | |
| (r = i(34)(Function.call, i(29).f(Object.prototype, "__proto__").set, 2))(e, []), t = !(e instanceof Array) | |
| } catch (e) { | |
| t = !0 | |
| } | |
| return function (e, i) { | |
| return o(e, i), t ? e.__proto__ = i : r(e, i), e | |
| } | |
| }({}, !1) : void 0), | |
| check: o | |
| } | |
| }, function (e, t) { | |
| e.exports = "\t\n\v\f\r Â áš€á Žâ€€â€â€‚         âŸã€€\u2028\u2029\ufeff" | |
| }, function (e, t, i) { | |
| var r = i(6), | |
| n = i(102).set; | |
| e.exports = function (e, t, i) { | |
| var o, s = t.constructor; | |
| return s !== i && "function" == typeof s && (o = s.prototype) !== i.prototype && r(o) && n && n(e, o), e | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(28), | |
| n = i(37); | |
| e.exports = function (e) { | |
| var t = String(n(this)), | |
| i = "", | |
| o = r(e); | |
| if (o < 0 || o == 1 / 0) throw RangeError("Count can't be negative"); | |
| for (; o > 0; | |
| (o >>>= 1) && (t += t)) 1 & o && (i += t); | |
| return i | |
| } | |
| }, function (e, t) { | |
| e.exports = Math.sign || function (e) { | |
| return 0 == (e = +e) || e != e ? e : e < 0 ? -1 : 1 | |
| } | |
| }, function (e, t) { | |
| var i = Math.expm1; | |
| e.exports = !i || i(10) > 22025.465794806718 || i(10) < 22025.465794806718 || -2e-17 != i(-2e-17) ? function (e) { | |
| return 0 == (e = +e) ? e : e > -1e-6 && e < 1e-6 ? e + e * e / 2 : Math.exp(e) - 1 | |
| } : i | |
| }, function (e, t, i) { | |
| var r = i(28), | |
| n = i(37); | |
| e.exports = function (e) { | |
| return function (t, i) { | |
| var o, s, a = String(n(t)), | |
| c = r(i), | |
| h = a.length; | |
| return c < 0 || c >= h ? e ? "" : void 0 : (o = a.charCodeAt(c)) < 55296 || o > 56319 || c + 1 === h || (s = a.charCodeAt(c + 1)) < 56320 || s > 57343 ? e ? a.charAt(c) : o : e ? a.slice(c, c + 2) : s - 56320 + (o - 55296 << 10) + 65536 | |
| } | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(46), | |
| n = i(0), | |
| o = i(19), | |
| s = i(23), | |
| a = i(57), | |
| c = i(151), | |
| h = i(56), | |
| u = i(51), | |
| l = i(8)("iterator"), | |
| f = !([].keys && "next" in [].keys()), | |
| d = function () { | |
| return this | |
| }; | |
| e.exports = function (e, t, i, p, m, g, _) { | |
| c(i, t, p); | |
| var v, y, b, x = function (e) { | |
| if (!f && e in A) return A[e]; | |
| switch (e) { | |
| case "keys": | |
| case "values": | |
| return function () { | |
| return new i(this, e) | |
| } | |
| } | |
| return function () { | |
| return new i(this, e) | |
| } | |
| }, | |
| w = t + " Iterator", | |
| S = "values" == m, | |
| T = !1, | |
| A = e.prototype, | |
| M = A[l] || A["@@iterator"] || m && A[m], | |
| E = M || x(m), | |
| P = m ? S ? x("entries") : E : void 0, | |
| C = "Array" == t && A.entries || M; | |
| if (C && (b = u(C.call(new e))) !== Object.prototype && b.next && (h(b, w, !0), r || "function" == typeof b[l] || s(b, l, d)), S && M && "values" !== M.name && (T = !0, E = function () { | |
| return M.call(this) | |
| }), r && !_ || !f && !T && A[l] || s(A, l, E), a[t] = E, a[w] = d, m) | |
| if (v = { | |
| values: S ? E : x("values"), | |
| keys: g ? E : x("keys"), | |
| entries: P | |
| }, _) | |
| for (y in v) y in A || o(A, y, v[y]); | |
| else n(n.P + n.F * (f || T), t, v); | |
| return v | |
| } | |
| }, function (e, t, i) { | |
| var r = i(111), | |
| n = i(37); | |
| e.exports = function (e, t, i) { | |
| if (r(t)) throw TypeError("String#" + i + " doesn't accept regex!"); | |
| return String(n(e)) | |
| } | |
| }, function (e, t, i) { | |
| var r = i(6), | |
| n = i(36), | |
| o = i(8)("match"); | |
| e.exports = function (e) { | |
| var t; | |
| return r(e) && (void 0 !== (t = e[o]) ? !!t : "RegExp" == n(e)) | |
| } | |
| }, function (e, t, i) { | |
| var r = i(8)("match"); | |
| e.exports = function (e) { | |
| var t = /./; | |
| try { | |
| "/./" [e](t) | |
| } catch (i) { | |
| try { | |
| return t[r] = !1, !"/./" [e](t) | |
| } catch (e) {} | |
| } | |
| return !0 | |
| } | |
| }, function (e, t, i) { | |
| var r = i(57), | |
| n = i(8)("iterator"), | |
| o = Array.prototype; | |
| e.exports = function (e) { | |
| return void 0 !== e && (r.Array === e || o[n] === e) | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(12), | |
| n = i(44); | |
| e.exports = function (e, t, i) { | |
| t in e ? r.f(e, t, n(0, i)) : e[t] = i | |
| } | |
| }, function (e, t, i) { | |
| var r = i(66), | |
| n = i(8)("iterator"), | |
| o = i(57); | |
| e.exports = i(14).getIteratorMethod = function (e) { | |
| if (null != e) return e[n] || e["@@iterator"] || o[r(e)] | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(20), | |
| n = i(48), | |
| o = i(10); | |
| e.exports = function (e) { | |
| for (var t = r(this), i = o(t.length), s = arguments.length, a = n(s > 1 ? arguments[1] : void 0, i), c = s > 2 ? arguments[2] : void 0, h = void 0 === c ? i : n(c, i); h > a;) t[a++] = e; | |
| return t | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(58), | |
| n = i(155), | |
| o = i(57), | |
| s = i(24); | |
| e.exports = i(109)(Array, "Array", function (e, t) { | |
| this._t = s(e), this._i = 0, this._k = t | |
| }, function () { | |
| var e = this._t, | |
| t = this._k, | |
| i = this._i++; | |
| return !e || i >= e.length ? (this._t = void 0, n(1)) : n(0, "keys" == t ? i : "values" == t ? e[i] : [i, e[i]]) | |
| }, "values"), o.Arguments = o.Array, r("keys"), r("values"), r("entries") | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r, n, o = i(78), | |
| s = RegExp.prototype.exec, | |
| a = String.prototype.replace, | |
| c = s, | |
| h = (r = /a/, n = /b*/g, s.call(r, "a"), s.call(n, "a"), 0 !== r.lastIndex || 0 !== n.lastIndex), | |
| u = void 0 !== /()??/.exec("")[1]; | |
| (h || u) && (c = function (e) { | |
| var t, i, r, n, c = this; | |
| return u && (i = new RegExp("^" + c.source + "$(?!\\s)", o.call(c))), h && (t = c.lastIndex), r = s.call(c, e), h && r && (c.lastIndex = c.global ? r.index + r[0].length : t), u && r && r.length > 1 && a.call(r[0], i, function () { | |
| for (n = 1; n < arguments.length - 2; n++) void 0 === arguments[n] && (r[n] = void 0) | |
| }), r | |
| }), e.exports = c | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(108)(!0); | |
| e.exports = function (e, t, i) { | |
| return t + (i ? r(e, t).length : 1) | |
| } | |
| }, function (e, t, i) { | |
| var r, n, o, s = i(34), | |
| a = i(145), | |
| c = i(101), | |
| h = i(95), | |
| u = i(5), | |
| l = u.process, | |
| f = u.setImmediate, | |
| d = u.clearImmediate, | |
| p = u.MessageChannel, | |
| m = u.Dispatch, | |
| g = 0, | |
| _ = {}, | |
| v = function () { | |
| var e = +this; | |
| if (_.hasOwnProperty(e)) { | |
| var t = _[e]; | |
| delete _[e], t() | |
| } | |
| }, | |
| y = function (e) { | |
| v.call(e.data) | |
| }; | |
| f && d || (f = function (e) { | |
| for (var t = [], i = 1; arguments.length > i;) t.push(arguments[i++]); | |
| return _[++g] = function () { | |
| a("function" == typeof e ? e : Function(e), t) | |
| }, r(g), g | |
| }, d = function (e) { | |
| delete _[e] | |
| }, "process" == i(36)(l) ? r = function (e) { | |
| l.nextTick(s(v, e, 1)) | |
| } : m && m.now ? r = function (e) { | |
| m.now(s(v, e, 1)) | |
| } : p ? (o = (n = new p).port2, n.port1.onmessage = y, r = s(o.postMessage, o, 1)) : u.addEventListener && "function" == typeof postMessage && !u.importScripts ? (r = function (e) { | |
| u.postMessage(e + "", "*") | |
| }, u.addEventListener("message", y, !1)) : r = "onreadystatechange" in h("script") ? function (e) { | |
| c.appendChild(h("script")).onreadystatechange = function () { | |
| c.removeChild(this), v.call(e) | |
| } | |
| } : function (e) { | |
| setTimeout(s(v, e, 1), 0) | |
| }), e.exports = { | |
| set: f, | |
| clear: d | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(5), | |
| n = i(13), | |
| o = i(46), | |
| s = i(84), | |
| a = i(23), | |
| c = i(61), | |
| h = i(3), | |
| u = i(60), | |
| l = i(28), | |
| f = i(10), | |
| d = i(163), | |
| p = i(50).f, | |
| m = i(12).f, | |
| g = i(116), | |
| _ = i(56), | |
| v = "prototype", | |
| y = "Wrong index!", | |
| b = r.ArrayBuffer, | |
| x = r.DataView, | |
| w = r.Math, | |
| S = r.RangeError, | |
| T = r.Infinity, | |
| A = b, | |
| M = w.abs, | |
| E = w.pow, | |
| P = w.floor, | |
| C = w.log, | |
| R = w.LN2, | |
| I = n ? "_b" : "buffer", | |
| D = n ? "_l" : "byteLength", | |
| O = n ? "_o" : "byteOffset"; | |
| function L(e, t, i) { | |
| var r, n, o, s = new Array(i), | |
| a = 8 * i - t - 1, | |
| c = (1 << a) - 1, | |
| h = c >> 1, | |
| u = 23 === t ? E(2, -24) - E(2, -77) : 0, | |
| l = 0, | |
| f = e < 0 || 0 === e && 1 / e < 0 ? 1 : 0; | |
| for ((e = M(e)) != e || e === T ? (n = e != e ? 1 : 0, r = c) : (r = P(C(e) / R), e * (o = E(2, -r)) < 1 && (r--, o *= 2), (e += r + h >= 1 ? u / o : u * E(2, 1 - h)) * o >= 2 && (r++, o /= 2), r + h >= c ? (n = 0, r = c) : r + h >= 1 ? (n = (e * o - 1) * E(2, t), r += h) : (n = e * E(2, h - 1) * E(2, t), r = 0)); t >= 8; s[l++] = 255 & n, n /= 256, t -= 8); | |
| for (r = r << t | n, a += t; a > 0; s[l++] = 255 & r, r /= 256, a -= 8); | |
| return s[--l] |= 128 * f, s | |
| } | |
| function F(e, t, i) { | |
| var r, n = 8 * i - t - 1, | |
| o = (1 << n) - 1, | |
| s = o >> 1, | |
| a = n - 7, | |
| c = i - 1, | |
| h = e[c--], | |
| u = 127 & h; | |
| for (h >>= 7; a > 0; u = 256 * u + e[c], c--, a -= 8); | |
| for (r = u & (1 << -a) - 1, u >>= -a, a += t; a > 0; r = 256 * r + e[c], c--, a -= 8); | |
| if (0 === u) u = 1 - s; | |
| else { | |
| if (u === o) return r ? NaN : h ? -T : T; | |
| r += E(2, t), u -= s | |
| } | |
| return (h ? -1 : 1) * r * E(2, u - t) | |
| } | |
| function B(e) { | |
| return e[3] << 24 | e[2] << 16 | e[1] << 8 | e[0] | |
| } | |
| function k(e) { | |
| return [255 & e] | |
| } | |
| function V(e) { | |
| return [255 & e, e >> 8 & 255] | |
| } | |
| function N(e) { | |
| return [255 & e, e >> 8 & 255, e >> 16 & 255, e >> 24 & 255] | |
| } | |
| function z(e) { | |
| return L(e, 52, 8) | |
| } | |
| function U(e) { | |
| return L(e, 23, 4) | |
| } | |
| function G(e, t, i) { | |
| m(e[v], t, { | |
| get: function () { | |
| return this[i] | |
| } | |
| }) | |
| } | |
| function W(e, t, i, r) { | |
| var n = d(+i); | |
| if (n + t > e[D]) throw S(y); | |
| var o = e[I]._b, | |
| s = n + e[O], | |
| a = o.slice(s, s + t); | |
| return r ? a : a.reverse() | |
| } | |
| function j(e, t, i, r, n, o) { | |
| var s = d(+i); | |
| if (s + t > e[D]) throw S(y); | |
| for (var a = e[I]._b, c = s + e[O], h = r(+n), u = 0; u < t; u++) a[c + u] = h[o ? u : t - u - 1] | |
| } | |
| if (s.ABV) { | |
| if (!h(function () { | |
| b(1) | |
| }) || !h(function () { | |
| new b(-1) | |
| }) || h(function () { | |
| return new b, new b(1.5), new b(NaN), "ArrayBuffer" != b.name | |
| })) { | |
| for (var H, X = (b = function (e) { | |
| return u(this, b), new A(d(e)) | |
| })[v] = A[v], Y = p(A), K = 0; Y.length > K;)(H = Y[K++]) in b || a(b, H, A[H]); | |
| o || (X.constructor = b) | |
| } | |
| var q = new x(new b(2)), | |
| Z = x[v].setInt8; | |
| q.setInt8(0, 2147483648), q.setInt8(1, 2147483649), !q.getInt8(0) && q.getInt8(1) || c(x[v], { | |
| setInt8: function (e, t) { | |
| Z.call(this, e, t << 24 >> 24) | |
| }, | |
| setUint8: function (e, t) { | |
| Z.call(this, e, t << 24 >> 24) | |
| } | |
| }, !0) | |
| } else b = function (e) { | |
| u(this, b, "ArrayBuffer"); | |
| var t = d(e); | |
| this._b = g.call(new Array(t), 0), this[D] = t | |
| }, x = function (e, t, i) { | |
| u(this, x, "DataView"), u(e, b, "DataView"); | |
| var r = e[D], | |
| n = l(t); | |
| if (n < 0 || n > r) throw S("Wrong offset!"); | |
| if (n + (i = void 0 === i ? r - n : f(i)) > r) throw S("Wrong length!"); | |
| this[I] = e, this[O] = n, this[D] = i | |
| }, n && (G(b, "byteLength", "_l"), G(x, "buffer", "_b"), G(x, "byteLength", "_l"), G(x, "byteOffset", "_o")), c(x[v], { | |
| getInt8: function (e) { | |
| return W(this, 1, e)[0] << 24 >> 24 | |
| }, | |
| getUint8: function (e) { | |
| return W(this, 1, e)[0] | |
| }, | |
| getInt16: function (e) { | |
| var t = W(this, 2, e, arguments[1]); | |
| return (t[1] << 8 | t[0]) << 16 >> 16 | |
| }, | |
| getUint16: function (e) { | |
| var t = W(this, 2, e, arguments[1]); | |
| return t[1] << 8 | t[0] | |
| }, | |
| getInt32: function (e) { | |
| return B(W(this, 4, e, arguments[1])) | |
| }, | |
| getUint32: function (e) { | |
| return B(W(this, 4, e, arguments[1])) >>> 0 | |
| }, | |
| getFloat32: function (e) { | |
| return F(W(this, 4, e, arguments[1]), 23, 4) | |
| }, | |
| getFloat64: function (e) { | |
| return F(W(this, 8, e, arguments[1]), 52, 8) | |
| }, | |
| setInt8: function (e, t) { | |
| j(this, 1, e, k, t) | |
| }, | |
| setUint8: function (e, t) { | |
| j(this, 1, e, k, t) | |
| }, | |
| setInt16: function (e, t) { | |
| j(this, 2, e, V, t, arguments[2]) | |
| }, | |
| setUint16: function (e, t) { | |
| j(this, 2, e, V, t, arguments[2]) | |
| }, | |
| setInt32: function (e, t) { | |
| j(this, 4, e, N, t, arguments[2]) | |
| }, | |
| setUint32: function (e, t) { | |
| j(this, 4, e, N, t, arguments[2]) | |
| }, | |
| setFloat32: function (e, t) { | |
| j(this, 4, e, U, t, arguments[2]) | |
| }, | |
| setFloat64: function (e, t) { | |
| j(this, 8, e, z, t, arguments[2]) | |
| } | |
| }); | |
| _(b, "ArrayBuffer"), _(x, "DataView"), a(x[v], s.VIEW, !0), t.ArrayBuffer = b, t.DataView = x | |
| }, function (e, t, i) { | |
| "use strict"; | |
| (function (t, r, n) { | |
| var o = i(86); | |
| function s(e) { | |
| var t = this; | |
| this.next = null, this.entry = null, this.finish = function () { | |
| ! function (e, t, i) { | |
| var r = e.entry; | |
| e.entry = null; | |
| for (; r;) { | |
| var n = r.callback; | |
| t.pendingcb--, n(i), r = r.next | |
| } | |
| t.corkedRequestsFree ? t.corkedRequestsFree.next = e : t.corkedRequestsFree = e | |
| }(t, e) | |
| } | |
| } | |
| e.exports = v; | |
| var a, c = !t.browser && ["v0.10", "v0.9."].indexOf(t.version.slice(0, 5)) > -1 ? r : o.nextTick; | |
| v.WritableState = _; | |
| var h = i(68); | |
| h.inherits = i(1); | |
| var u = { | |
| deprecate: i(408) | |
| }, | |
| l = i(170), | |
| f = i(2).Buffer, | |
| d = n.Uint8Array || function () {}; | |
| var p, m = i(171); | |
| function g() {} | |
| function _(e, t) { | |
| a = a || i(54), e = e || {}; | |
| var r = t instanceof a; | |
| this.objectMode = !!e.objectMode, r && (this.objectMode = this.objectMode || !!e.writableObjectMode); | |
| var n = e.highWaterMark, | |
| h = e.writableHighWaterMark, | |
| u = this.objectMode ? 16 : 16384; | |
| this.highWaterMark = n || 0 === n ? n : r && (h || 0 === h) ? h : u, this.highWaterMark = Math.floor(this.highWaterMark), this.finalCalled = !1, this.needDrain = !1, this.ending = !1, this.ended = !1, this.finished = !1, this.destroyed = !1; | |
| var l = !1 === e.decodeStrings; | |
| this.decodeStrings = !l, this.defaultEncoding = e.defaultEncoding || "utf8", this.length = 0, this.writing = !1, this.corked = 0, this.sync = !0, this.bufferProcessing = !1, this.onwrite = function (e) { | |
| ! function (e, t) { | |
| var i = e._writableState, | |
| r = i.sync, | |
| n = i.writecb; | |
| if (function (e) { | |
| e.writing = !1, e.writecb = null, e.length -= e.writelen, e.writelen = 0 | |
| }(i), t) ! function (e, t, i, r, n) { | |
| --t.pendingcb, i ? (o.nextTick(n, r), o.nextTick(T, e, t), e._writableState.errorEmitted = !0, e.emit("error", r)) : (n(r), e._writableState.errorEmitted = !0, e.emit("error", r), T(e, t)) | |
| }(e, i, r, t, n); | |
| else { | |
| var s = w(i); | |
| s || i.corked || i.bufferProcessing || !i.bufferedRequest || x(e, i), r ? c(b, e, i, s, n) : b(e, i, s, n) | |
| } | |
| }(t, e) | |
| }, 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 s(this) | |
| } | |
| function v(e) { | |
| if (a = a || i(54), !(p.call(v, this) || this instanceof a)) return new v(e); | |
| this._writableState = new _(e, this), this.writable = !0, e && ("function" == typeof e.write && (this._write = e.write), "function" == typeof e.writev && (this._writev = e.writev), "function" == typeof e.destroy && (this._destroy = e.destroy), "function" == typeof e.final && (this._final = e.final)), l.call(this) | |
| } | |
| function y(e, t, i, r, n, o, s) { | |
| t.writelen = r, t.writecb = s, t.writing = !0, t.sync = !0, i ? e._writev(n, t.onwrite) : e._write(n, o, t.onwrite), t.sync = !1 | |
| } | |
| function b(e, t, i, r) { | |
| i || function (e, t) { | |
| 0 === t.length && t.needDrain && (t.needDrain = !1, e.emit("drain")) | |
| }(e, t), t.pendingcb--, r(), T(e, t) | |
| } | |
| function x(e, t) { | |
| t.bufferProcessing = !0; | |
| var i = t.bufferedRequest; | |
| if (e._writev && i && i.next) { | |
| var r = t.bufferedRequestCount, | |
| n = new Array(r), | |
| o = t.corkedRequestsFree; | |
| o.entry = i; | |
| for (var a = 0, c = !0; i;) n[a] = i, i.isBuf || (c = !1), i = i.next, a += 1; | |
| n.allBuffers = c, y(e, t, !0, t.length, n, "", o.finish), t.pendingcb++, t.lastBufferedRequest = null, o.next ? (t.corkedRequestsFree = o.next, o.next = null) : t.corkedRequestsFree = new s(t), t.bufferedRequestCount = 0 | |
| } else { | |
| for (; i;) { | |
| var h = i.chunk, | |
| u = i.encoding, | |
| l = i.callback; | |
| if (y(e, t, !1, t.objectMode ? 1 : h.length, h, u, l), i = i.next, t.bufferedRequestCount--, t.writing) break | |
| } | |
| null === i && (t.lastBufferedRequest = null) | |
| } | |
| t.bufferedRequest = i, t.bufferProcessing = !1 | |
| } | |
| function w(e) { | |
| return e.ending && 0 === e.length && null === e.bufferedRequest && !e.finished && !e.writing | |
| } | |
| function S(e, t) { | |
| e._final(function (i) { | |
| t.pendingcb--, i && e.emit("error", i), t.prefinished = !0, e.emit("prefinish"), T(e, t) | |
| }) | |
| } | |
| function T(e, t) { | |
| var i = w(t); | |
| return i && (! function (e, t) { | |
| t.prefinished || t.finalCalled || ("function" == typeof e._final ? (t.pendingcb++, t.finalCalled = !0, o.nextTick(S, e, t)) : (t.prefinished = !0, e.emit("prefinish"))) | |
| }(e, t), 0 === t.pendingcb && (t.finished = !0, e.emit("finish"))), i | |
| } | |
| h.inherits(v, l), _.prototype.getBuffer = function () { | |
| for (var e = this.bufferedRequest, t = []; e;) t.push(e), e = e.next; | |
| return t | |
| }, | |
| function () { | |
| try { | |
| Object.defineProperty(_.prototype, "buffer", { | |
| get: u.deprecate(function () { | |
| return this.getBuffer() | |
| }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003") | |
| }) | |
| } catch (e) {} | |
| }(), "function" == typeof Symbol && Symbol.hasInstance && "function" == typeof Function.prototype[Symbol.hasInstance] ? (p = Function.prototype[Symbol.hasInstance], Object.defineProperty(v, Symbol.hasInstance, { | |
| value: function (e) { | |
| return !!p.call(this, e) || this === v && (e && e._writableState instanceof _) | |
| } | |
| })) : p = function (e) { | |
| return e instanceof this | |
| }, v.prototype.pipe = function () { | |
| this.emit("error", new Error("Cannot pipe, not readable")) | |
| }, v.prototype.write = function (e, t, i) { | |
| var r, n = this._writableState, | |
| s = !1, | |
| a = !n.objectMode && (r = e, f.isBuffer(r) || r instanceof d); | |
| return a && !f.isBuffer(e) && (e = function (e) { | |
| return f.from(e) | |
| }(e)), "function" == typeof t && (i = t, t = null), a ? t = "buffer" : t || (t = n.defaultEncoding), "function" != typeof i && (i = g), n.ended ? function (e, t) { | |
| var i = new Error("write after end"); | |
| e.emit("error", i), o.nextTick(t, i) | |
| }(this, i) : (a || function (e, t, i, r) { | |
| var n = !0, | |
| s = !1; | |
| return null === i ? s = new TypeError("May not write null values to stream") : "string" == typeof i || void 0 === i || t.objectMode || (s = new TypeError("Invalid non-string/buffer chunk")), s && (e.emit("error", s), o.nextTick(r, s), n = !1), n | |
| }(this, n, e, i)) && (n.pendingcb++, s = function (e, t, i, r, n, o) { | |
| if (!i) { | |
| var s = function (e, t, i) { | |
| e.objectMode || !1 === e.decodeStrings || "string" != typeof t || (t = f.from(t, i)); | |
| return t | |
| }(t, r, n); | |
| r !== s && (i = !0, n = "buffer", r = s) | |
| } | |
| var a = t.objectMode ? 1 : r.length; | |
| t.length += a; | |
| var c = t.length < t.highWaterMark; | |
| c || (t.needDrain = !0); | |
| if (t.writing || t.corked) { | |
| var h = t.lastBufferedRequest; | |
| t.lastBufferedRequest = { | |
| chunk: r, | |
| encoding: n, | |
| isBuf: i, | |
| callback: o, | |
| next: null | |
| }, h ? h.next = t.lastBufferedRequest : t.bufferedRequest = t.lastBufferedRequest, t.bufferedRequestCount += 1 | |
| } else y(e, t, !1, a, r, n, o); | |
| return c | |
| }(this, n, a, e, t, i)), s | |
| }, v.prototype.cork = function () { | |
| this._writableState.corked++ | |
| }, v.prototype.uncork = function () { | |
| var e = this._writableState; | |
| e.corked && (e.corked--, e.writing || e.corked || e.finished || e.bufferProcessing || !e.bufferedRequest || x(this, e)) | |
| }, v.prototype.setDefaultEncoding = function (e) { | |
| 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); | |
| return this._writableState.defaultEncoding = e, this | |
| }, Object.defineProperty(v.prototype, "writableHighWaterMark", { | |
| enumerable: !1, | |
| get: function () { | |
| return this._writableState.highWaterMark | |
| } | |
| }), v.prototype._write = function (e, t, i) { | |
| i(new Error("_write() is not implemented")) | |
| }, v.prototype._writev = null, v.prototype.end = function (e, t, i) { | |
| var r = this._writableState; | |
| "function" == typeof e ? (i = e, e = null, t = null) : "function" == typeof t && (i = t, t = null), null != e && this.write(e, t), r.corked && (r.corked = 1, this.uncork()), r.ending || r.finished || function (e, t, i) { | |
| t.ending = !0, T(e, t), i && (t.finished ? o.nextTick(i) : e.once("finish", i)); | |
| t.ended = !0, e.writable = !1 | |
| }(this, r, i) | |
| }, Object.defineProperty(v.prototype, "destroyed", { | |
| get: function () { | |
| return void 0 !== this._writableState && this._writableState.destroyed | |
| }, | |
| set: function (e) { | |
| this._writableState && (this._writableState.destroyed = e) | |
| } | |
| }), v.prototype.destroy = m.destroy, v.prototype._undestroy = m.undestroy, v.prototype._destroy = function (e, t) { | |
| this.end(), t(e) | |
| } | |
| }).call(this, i(27), i(406).setImmediate, i(15)) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(2).Buffer, | |
| n = r.isEncoding || function (e) { | |
| switch ((e = "" + e) && e.toLowerCase()) { | |
| case "hex": | |
| case "utf8": | |
| case "utf-8": | |
| case "ascii": | |
| case "binary": | |
| case "base64": | |
| case "ucs2": | |
| case "ucs-2": | |
| case "utf16le": | |
| case "utf-16le": | |
| case "raw": | |
| return !0; | |
| default: | |
| return !1 | |
| } | |
| }; | |
| function o(e) { | |
| var t; | |
| switch (this.encoding = function (e) { | |
| var t = function (e) { | |
| if (!e) return "utf8"; | |
| for (var t;;) switch (e) { | |
| case "utf8": | |
| case "utf-8": | |
| return "utf8"; | |
| case "ucs2": | |
| case "ucs-2": | |
| case "utf16le": | |
| case "utf-16le": | |
| return "utf16le"; | |
| case "latin1": | |
| case "binary": | |
| return "latin1"; | |
| case "base64": | |
| case "ascii": | |
| case "hex": | |
| return e; | |
| default: | |
| if (t) return; | |
| e = ("" + e).toLowerCase(), t = !0 | |
| } | |
| }(e); | |
| if ("string" != typeof t && (r.isEncoding === n || !n(e))) throw new Error("Unknown encoding: " + e); | |
| return t || e | |
| }(e), this.encoding) { | |
| case "utf16le": | |
| this.text = c, this.end = h, t = 4; | |
| break; | |
| case "utf8": | |
| this.fillLast = a, t = 4; | |
| break; | |
| case "base64": | |
| this.text = u, this.end = l, t = 3; | |
| break; | |
| default: | |
| return this.write = f, void(this.end = d) | |
| } | |
| this.lastNeed = 0, this.lastTotal = 0, this.lastChar = r.allocUnsafe(t) | |
| } | |
| function s(e) { | |
| return e <= 127 ? 0 : e >> 5 == 6 ? 2 : e >> 4 == 14 ? 3 : e >> 3 == 30 ? 4 : e >> 6 == 2 ? -1 : -2 | |
| } | |
| function a(e) { | |
| var t = this.lastTotal - this.lastNeed, | |
| i = function (e, t, i) { | |
| if (128 != (192 & t[0])) return e.lastNeed = 0, "�"; | |
| if (e.lastNeed > 1 && t.length > 1) { | |
| if (128 != (192 & t[1])) return e.lastNeed = 1, "�"; | |
| if (e.lastNeed > 2 && t.length > 2 && 128 != (192 & t[2])) return e.lastNeed = 2, "�" | |
| } | |
| }(this, e); | |
| return void 0 !== i ? i : this.lastNeed <= e.length ? (e.copy(this.lastChar, t, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal)) : (e.copy(this.lastChar, t, 0, e.length), void(this.lastNeed -= e.length)) | |
| } | |
| function c(e, t) { | |
| if ((e.length - t) % 2 == 0) { | |
| var i = e.toString("utf16le", t); | |
| if (i) { | |
| var r = i.charCodeAt(i.length - 1); | |
| if (r >= 55296 && r <= 56319) return this.lastNeed = 2, this.lastTotal = 4, this.lastChar[0] = e[e.length - 2], this.lastChar[1] = e[e.length - 1], i.slice(0, -1) | |
| } | |
| return i | |
| } | |
| return this.lastNeed = 1, this.lastTotal = 2, this.lastChar[0] = e[e.length - 1], e.toString("utf16le", t, e.length - 1) | |
| } | |
| function h(e) { | |
| var t = e && e.length ? this.write(e) : ""; | |
| if (this.lastNeed) { | |
| var i = this.lastTotal - this.lastNeed; | |
| return t + this.lastChar.toString("utf16le", 0, i) | |
| } | |
| return t | |
| } | |
| function u(e, t) { | |
| var i = (e.length - t) % 3; | |
| return 0 === i ? e.toString("base64", t) : (this.lastNeed = 3 - i, this.lastTotal = 3, 1 === i ? this.lastChar[0] = e[e.length - 1] : (this.lastChar[0] = e[e.length - 2], this.lastChar[1] = e[e.length - 1]), e.toString("base64", t, e.length - i)) | |
| } | |
| function l(e) { | |
| var t = e && e.length ? this.write(e) : ""; | |
| return this.lastNeed ? t + this.lastChar.toString("base64", 0, 3 - this.lastNeed) : t | |
| } | |
| function f(e) { | |
| return e.toString(this.encoding) | |
| } | |
| function d(e) { | |
| return e && e.length ? this.write(e) : "" | |
| } | |
| t.StringDecoder = o, o.prototype.write = function (e) { | |
| if (0 === e.length) return ""; | |
| var t, i; | |
| if (this.lastNeed) { | |
| if (void 0 === (t = this.fillLast(e))) return ""; | |
| i = this.lastNeed, this.lastNeed = 0 | |
| } else i = 0; | |
| return i < e.length ? t ? t + this.text(e, i) : this.text(e, i) : t || "" | |
| }, o.prototype.end = function (e) { | |
| var t = e && e.length ? this.write(e) : ""; | |
| return this.lastNeed ? t + "�" : t | |
| }, o.prototype.text = function (e, t) { | |
| var i = function (e, t, i) { | |
| var r = t.length - 1; | |
| if (r < i) return 0; | |
| var n = s(t[r]); | |
| if (n >= 0) return n > 0 && (e.lastNeed = n - 1), n; | |
| if (--r < i || -2 === n) return 0; | |
| if ((n = s(t[r])) >= 0) return n > 0 && (e.lastNeed = n - 2), n; | |
| if (--r < i || -2 === n) return 0; | |
| if ((n = s(t[r])) >= 0) return n > 0 && (2 === n ? n = 0 : e.lastNeed = n - 3), n; | |
| return 0 | |
| }(this, e, t); | |
| if (!this.lastNeed) return e.toString("utf8", t); | |
| this.lastTotal = i; | |
| var r = e.length - (i - this.lastNeed); | |
| return e.copy(this.lastChar, 0, r), e.toString("utf8", t, r) | |
| }, o.prototype.fillLast = function (e) { | |
| if (this.lastNeed <= e.length) return e.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal); | |
| e.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, e.length), this.lastNeed -= e.length | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| (function (e, r) { | |
| var n = i(125), | |
| o = i(483); | |
| e.__TYPEDARRAY_POOL || (e.__TYPEDARRAY_POOL = { | |
| UINT8: o([32, 0]), | |
| UINT16: o([32, 0]), | |
| UINT32: o([32, 0]), | |
| INT8: o([32, 0]), | |
| INT16: o([32, 0]), | |
| INT32: o([32, 0]), | |
| FLOAT: o([32, 0]), | |
| DOUBLE: o([32, 0]), | |
| DATA: o([32, 0]), | |
| UINT8C: o([32, 0]), | |
| BUFFER: o([32, 0]) | |
| }); | |
| var s = "undefined" != typeof Uint8ClampedArray, | |
| a = e.__TYPEDARRAY_POOL; | |
| a.UINT8C || (a.UINT8C = o([32, 0])), a.BUFFER || (a.BUFFER = o([32, 0])); | |
| var c = a.DATA, | |
| h = a.BUFFER; | |
| function u(e) { | |
| if (e) { | |
| var t = e.length || e.byteLength, | |
| i = n.log2(t); | |
| c[i].push(e) | |
| } | |
| } | |
| function l(e) { | |
| e = n.nextPow2(e); | |
| var t = n.log2(e), | |
| i = c[t]; | |
| return i.length > 0 ? i.pop() : new ArrayBuffer(e) | |
| } | |
| function f(e) { | |
| return new Uint8Array(l(e), 0, e) | |
| } | |
| function d(e) { | |
| return new Uint16Array(l(2 * e), 0, e) | |
| } | |
| function p(e) { | |
| return new Uint32Array(l(4 * e), 0, e) | |
| } | |
| function m(e) { | |
| return new Int8Array(l(e), 0, e) | |
| } | |
| function g(e) { | |
| return new Int16Array(l(2 * e), 0, e) | |
| } | |
| function _(e) { | |
| return new Int32Array(l(4 * e), 0, e) | |
| } | |
| function v(e) { | |
| return new Float32Array(l(4 * e), 0, e) | |
| } | |
| function y(e) { | |
| return new Float64Array(l(8 * e), 0, e) | |
| } | |
| function b(e) { | |
| return s ? new Uint8ClampedArray(l(e), 0, e) : f(e) | |
| } | |
| function x(e) { | |
| return new DataView(l(e), 0, e) | |
| } | |
| function w(e) { | |
| e = n.nextPow2(e); | |
| var t = n.log2(e), | |
| i = h[t]; | |
| return i.length > 0 ? i.pop() : new r(e) | |
| } | |
| t.free = function (e) { | |
| if (r.isBuffer(e)) h[n.log2(e.length)].push(e); | |
| else { | |
| if ("[object ArrayBuffer]" !== Object.prototype.toString.call(e) && (e = e.buffer), !e) return; | |
| var t = e.length || e.byteLength, | |
| i = 0 | n.log2(t); | |
| c[i].push(e) | |
| } | |
| }, t.freeUint8 = t.freeUint16 = t.freeUint32 = t.freeInt8 = t.freeInt16 = t.freeInt32 = t.freeFloat32 = t.freeFloat = t.freeFloat64 = t.freeDouble = t.freeUint8Clamped = t.freeDataView = function (e) { | |
| u(e.buffer) | |
| }, t.freeArrayBuffer = u, t.freeBuffer = function (e) { | |
| h[n.log2(e.length)].push(e) | |
| }, t.malloc = function (e, t) { | |
| if (void 0 === t || "arraybuffer" === t) return l(e); | |
| switch (t) { | |
| case "uint8": | |
| return f(e); | |
| case "uint16": | |
| return d(e); | |
| case "uint32": | |
| return p(e); | |
| case "int8": | |
| return m(e); | |
| case "int16": | |
| return g(e); | |
| case "int32": | |
| return _(e); | |
| case "float": | |
| case "float32": | |
| return v(e); | |
| case "double": | |
| case "float64": | |
| return y(e); | |
| case "uint8_clamped": | |
| return b(e); | |
| case "buffer": | |
| return w(e); | |
| case "data": | |
| case "dataview": | |
| return x(e); | |
| default: | |
| return null | |
| } | |
| return null | |
| }, t.mallocArrayBuffer = l, t.mallocUint8 = f, t.mallocUint16 = d, t.mallocUint32 = p, t.mallocInt8 = m, t.mallocInt16 = g, t.mallocInt32 = _, t.mallocFloat32 = t.mallocFloat = v, t.mallocFloat64 = t.mallocDouble = y, t.mallocUint8Clamped = b, t.mallocDataView = x, t.mallocBuffer = w, t.clearCache = function () { | |
| for (var e = 0; e < 32; ++e) a.UINT8[e].length = 0, a.UINT16[e].length = 0, a.UINT32[e].length = 0, a.INT8[e].length = 0, a.INT16[e].length = 0, a.INT32[e].length = 0, a.FLOAT[e].length = 0, a.DOUBLE[e].length = 0, a.UINT8C[e].length = 0, c[e].length = 0, h[e].length = 0 | |
| } | |
| }).call(this, i(15), i(9).Buffer) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| function r(e) { | |
| var t = 32; | |
| return (e &= -e) && t--, 65535 & e && (t -= 16), 16711935 & e && (t -= 8), 252645135 & e && (t -= 4), 858993459 & e && (t -= 2), 1431655765 & e && (t -= 1), t | |
| } | |
| t.INT_BITS = 32, t.INT_MAX = 2147483647, t.INT_MIN = -1 << 31, t.sign = function (e) { | |
| return (e > 0) - (e < 0) | |
| }, t.abs = function (e) { | |
| var t = e >> 31; | |
| return (e ^ t) - t | |
| }, t.min = function (e, t) { | |
| return t ^ (e ^ t) & -(e < t) | |
| }, t.max = function (e, t) { | |
| return e ^ (e ^ t) & -(e < t) | |
| }, t.isPow2 = function (e) { | |
| return !(e & e - 1 || !e) | |
| }, t.log2 = function (e) { | |
| var t, i; | |
| return t = (e > 65535) << 4, t |= i = ((e >>>= t) > 255) << 3, t |= i = ((e >>>= i) > 15) << 2, (t |= i = ((e >>>= i) > 3) << 1) | (e >>>= i) >> 1 | |
| }, t.log10 = function (e) { | |
| return e >= 1e9 ? 9 : e >= 1e8 ? 8 : e >= 1e7 ? 7 : e >= 1e6 ? 6 : e >= 1e5 ? 5 : e >= 1e4 ? 4 : e >= 1e3 ? 3 : e >= 100 ? 2 : e >= 10 ? 1 : 0 | |
| }, t.popCount = function (e) { | |
| return 16843009 * ((e = (858993459 & (e -= e >>> 1 & 1431655765)) + (e >>> 2 & 858993459)) + (e >>> 4) & 252645135) >>> 24 | |
| }, t.countTrailingZeros = r, t.nextPow2 = function (e) { | |
| return e += 0 === e, --e, e |= e >>> 1, e |= e >>> 2, e |= e >>> 4, e |= e >>> 8, (e |= e >>> 16) + 1 | |
| }, t.prevPow2 = function (e) { | |
| return e |= e >>> 1, e |= e >>> 2, e |= e >>> 4, e |= e >>> 8, (e |= e >>> 16) - (e >>> 1) | |
| }, t.parity = function (e) { | |
| return e ^= e >>> 16, e ^= e >>> 8, e ^= e >>> 4, 27030 >>> (e &= 15) & 1 | |
| }; | |
| var n = new Array(256); | |
| ! function (e) { | |
| for (var t = 0; t < 256; ++t) { | |
| var i = t, | |
| r = t, | |
| n = 7; | |
| for (i >>>= 1; i; i >>>= 1) r <<= 1, r |= 1 & i, --n; | |
| e[t] = r << n & 255 | |
| } | |
| }(n), t.reverse = function (e) { | |
| return n[255 & e] << 24 | n[e >>> 8 & 255] << 16 | n[e >>> 16 & 255] << 8 | n[e >>> 24 & 255] | |
| }, t.interleave2 = function (e, t) { | |
| return (e = 1431655765 & ((e = 858993459 & ((e = 252645135 & ((e = 16711935 & ((e &= 65535) | e << 8)) | e << 4)) | e << 2)) | e << 1)) | (t = 1431655765 & ((t = 858993459 & ((t = 252645135 & ((t = 16711935 & ((t &= 65535) | t << 8)) | t << 4)) | t << 2)) | t << 1)) << 1 | |
| }, t.deinterleave2 = function (e, t) { | |
| return (e = 65535 & ((e = 16711935 & ((e = 252645135 & ((e = 858993459 & ((e = e >>> t & 1431655765) | e >>> 1)) | e >>> 2)) | e >>> 4)) | e >>> 16)) << 16 >> 16 | |
| }, t.interleave3 = function (e, t, i) { | |
| return e = 1227133513 & ((e = 3272356035 & ((e = 251719695 & ((e = 4278190335 & ((e &= 1023) | e << 16)) | e << 8)) | e << 4)) | e << 2), (e |= (t = 1227133513 & ((t = 3272356035 & ((t = 251719695 & ((t = 4278190335 & ((t &= 1023) | t << 16)) | t << 8)) | t << 4)) | t << 2)) << 1) | (i = 1227133513 & ((i = 3272356035 & ((i = 251719695 & ((i = 4278190335 & ((i &= 1023) | i << 16)) | i << 8)) | i << 4)) | i << 2)) << 2 | |
| }, t.deinterleave3 = function (e, t) { | |
| return (e = 1023 & ((e = 4278190335 & ((e = 251719695 & ((e = 3272356035 & ((e = e >>> t & 1227133513) | e >>> 2)) | e >>> 4)) | e >>> 8)) | e >>> 16)) << 22 >> 22 | |
| }, t.nextCombination = function (e) { | |
| var t = e | e - 1; | |
| return t + 1 | (~t & -~t) - 1 >>> r(e) + 1 | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(1), | |
| n = i(196), | |
| o = i(2).Buffer, | |
| s = new Array(16); | |
| function a() { | |
| n.call(this, 64), this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878 | |
| } | |
| function c(e, t) { | |
| return e << t | e >>> 32 - t | |
| } | |
| function h(e, t, i, r, n, o, s) { | |
| return c(e + (t & i | ~t & r) + n + o | 0, s) + t | 0 | |
| } | |
| function u(e, t, i, r, n, o, s) { | |
| return c(e + (t & r | i & ~r) + n + o | 0, s) + t | 0 | |
| } | |
| function l(e, t, i, r, n, o, s) { | |
| return c(e + (t ^ i ^ r) + n + o | 0, s) + t | 0 | |
| } | |
| function f(e, t, i, r, n, o, s) { | |
| return c(e + (i ^ (t | ~r)) + n + o | 0, s) + t | 0 | |
| } | |
| r(a, n), a.prototype._update = function () { | |
| for (var e = s, t = 0; t < 16; ++t) e[t] = this._block.readInt32LE(4 * t); | |
| var i = this._a, | |
| r = this._b, | |
| n = this._c, | |
| o = this._d; | |
| i = h(i, r, n, o, e[0], 3614090360, 7), o = h(o, i, r, n, e[1], 3905402710, 12), n = h(n, o, i, r, e[2], 606105819, 17), r = h(r, n, o, i, e[3], 3250441966, 22), i = h(i, r, n, o, e[4], 4118548399, 7), o = h(o, i, r, n, e[5], 1200080426, 12), n = h(n, o, i, r, e[6], 2821735955, 17), r = h(r, n, o, i, e[7], 4249261313, 22), i = h(i, r, n, o, e[8], 1770035416, 7), o = h(o, i, r, n, e[9], 2336552879, 12), n = h(n, o, i, r, e[10], 4294925233, 17), r = h(r, n, o, i, e[11], 2304563134, 22), i = h(i, r, n, o, e[12], 1804603682, 7), o = h(o, i, r, n, e[13], 4254626195, 12), n = h(n, o, i, r, e[14], 2792965006, 17), i = u(i, r = h(r, n, o, i, e[15], 1236535329, 22), n, o, e[1], 4129170786, 5), o = u(o, i, r, n, e[6], 3225465664, 9), n = u(n, o, i, r, e[11], 643717713, 14), r = u(r, n, o, i, e[0], 3921069994, 20), i = u(i, r, n, o, e[5], 3593408605, 5), o = u(o, i, r, n, e[10], 38016083, 9), n = u(n, o, i, r, e[15], 3634488961, 14), r = u(r, n, o, i, e[4], 3889429448, 20), i = u(i, r, n, o, e[9], 568446438, 5), o = u(o, i, r, n, e[14], 3275163606, 9), n = u(n, o, i, r, e[3], 4107603335, 14), r = u(r, n, o, i, e[8], 1163531501, 20), i = u(i, r, n, o, e[13], 2850285829, 5), o = u(o, i, r, n, e[2], 4243563512, 9), n = u(n, o, i, r, e[7], 1735328473, 14), i = l(i, r = u(r, n, o, i, e[12], 2368359562, 20), n, o, e[5], 4294588738, 4), o = l(o, i, r, n, e[8], 2272392833, 11), n = l(n, o, i, r, e[11], 1839030562, 16), r = l(r, n, o, i, e[14], 4259657740, 23), i = l(i, r, n, o, e[1], 2763975236, 4), o = l(o, i, r, n, e[4], 1272893353, 11), n = l(n, o, i, r, e[7], 4139469664, 16), r = l(r, n, o, i, e[10], 3200236656, 23), i = l(i, r, n, o, e[13], 681279174, 4), o = l(o, i, r, n, e[0], 3936430074, 11), n = l(n, o, i, r, e[3], 3572445317, 16), r = l(r, n, o, i, e[6], 76029189, 23), i = l(i, r, n, o, e[9], 3654602809, 4), o = l(o, i, r, n, e[12], 3873151461, 11), n = l(n, o, i, r, e[15], 530742520, 16), i = f(i, r = l(r, n, o, i, e[2], 3299628645, 23), n, o, e[0], 4096336452, 6), o = f(o, i, r, n, e[7], 1126891415, 10), n = f(n, o, i, r, e[14], 2878612391, 15), r = f(r, n, o, i, e[5], 4237533241, 21), i = f(i, r, n, o, e[12], 1700485571, 6), o = f(o, i, r, n, e[3], 2399980690, 10), n = f(n, o, i, r, e[10], 4293915773, 15), r = f(r, n, o, i, e[1], 2240044497, 21), i = f(i, r, n, o, e[8], 1873313359, 6), o = f(o, i, r, n, e[15], 4264355552, 10), n = f(n, o, i, r, e[6], 2734768916, 15), r = f(r, n, o, i, e[13], 1309151649, 21), i = f(i, r, n, o, e[4], 4149444226, 6), o = f(o, i, r, n, e[11], 3174756917, 10), n = f(n, o, i, r, e[2], 718787259, 15), r = f(r, n, o, i, e[9], 3951481745, 21), this._a = this._a + i | 0, this._b = this._b + r | 0, this._c = this._c + n | 0, this._d = this._d + o | 0 | |
| }, a.prototype._digest = function () { | |
| this._block[this._blockOffset++] = 128, this._blockOffset > 56 && (this._block.fill(0, this._blockOffset, 64), this._update(), this._blockOffset = 0), this._block.fill(0, this._blockOffset, 56), this._block.writeUInt32LE(this._length[0], 56), this._block.writeUInt32LE(this._length[1], 60), this._update(); | |
| var e = o.allocUnsafe(16); | |
| return e.writeInt32LE(this._a, 0), e.writeInt32LE(this._b, 4), e.writeInt32LE(this._c, 8), e.writeInt32LE(this._d, 12), e | |
| }, e.exports = a | |
| }, function (e, t, i) { | |
| e.exports = n; | |
| var r = i(41).EventEmitter; | |
| function n() { | |
| r.call(this) | |
| } | |
| i(1)(n, r), n.Readable = i(85), n.Writable = i(513), n.Duplex = i(514), n.Transform = i(515), n.PassThrough = i(516), n.Stream = n, n.prototype.pipe = function (e, t) { | |
| var i = this; | |
| function n(t) { | |
| e.writable && !1 === e.write(t) && i.pause && i.pause() | |
| } | |
| function o() { | |
| i.readable && i.resume && i.resume() | |
| } | |
| i.on("data", n), e.on("drain", o), e._isStdio || t && !1 === t.end || (i.on("end", a), i.on("close", c)); | |
| var s = !1; | |
| function a() { | |
| s || (s = !0, e.end()) | |
| } | |
| function c() { | |
| s || (s = !0, "function" == typeof e.destroy && e.destroy()) | |
| } | |
| function h(e) { | |
| if (u(), 0 === r.listenerCount(this, "error")) throw e | |
| } | |
| function u() { | |
| i.removeListener("data", n), e.removeListener("drain", o), i.removeListener("end", a), i.removeListener("close", c), i.removeListener("error", h), e.removeListener("error", h), i.removeListener("end", u), i.removeListener("close", u), e.removeListener("close", u) | |
| } | |
| return i.on("error", h), e.on("error", h), i.on("end", u), i.on("close", u), e.on("close", u), e.emit("pipe", i), e | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(9).Buffer, | |
| n = i(1), | |
| o = i(196), | |
| s = new Array(16), | |
| a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13], | |
| c = [5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11], | |
| h = [11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6], | |
| u = [8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11], | |
| l = [0, 1518500249, 1859775393, 2400959708, 2840853838], | |
| f = [1352829926, 1548603684, 1836072691, 2053994217, 0]; | |
| function d() { | |
| o.call(this, 64), this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520 | |
| } | |
| function p(e, t) { | |
| return e << t | e >>> 32 - t | |
| } | |
| function m(e, t, i, r, n, o, s, a) { | |
| return p(e + (t ^ i ^ r) + o + s | 0, a) + n | 0 | |
| } | |
| function g(e, t, i, r, n, o, s, a) { | |
| return p(e + (t & i | ~t & r) + o + s | 0, a) + n | 0 | |
| } | |
| function _(e, t, i, r, n, o, s, a) { | |
| return p(e + ((t | ~i) ^ r) + o + s | 0, a) + n | 0 | |
| } | |
| function v(e, t, i, r, n, o, s, a) { | |
| return p(e + (t & r | i & ~r) + o + s | 0, a) + n | 0 | |
| } | |
| function y(e, t, i, r, n, o, s, a) { | |
| return p(e + (t ^ (i | ~r)) + o + s | 0, a) + n | 0 | |
| } | |
| n(d, o), d.prototype._update = function () { | |
| for (var e = s, t = 0; t < 16; ++t) e[t] = this._block.readInt32LE(4 * t); | |
| for (var i = 0 | this._a, r = 0 | this._b, n = 0 | this._c, o = 0 | this._d, d = 0 | this._e, b = 0 | this._a, x = 0 | this._b, w = 0 | this._c, S = 0 | this._d, T = 0 | this._e, A = 0; A < 80; A += 1) { | |
| var M, E; | |
| A < 16 ? (M = m(i, r, n, o, d, e[a[A]], l[0], h[A]), E = y(b, x, w, S, T, e[c[A]], f[0], u[A])) : A < 32 ? (M = g(i, r, n, o, d, e[a[A]], l[1], h[A]), E = v(b, x, w, S, T, e[c[A]], f[1], u[A])) : A < 48 ? (M = _(i, r, n, o, d, e[a[A]], l[2], h[A]), E = _(b, x, w, S, T, e[c[A]], f[2], u[A])) : A < 64 ? (M = v(i, r, n, o, d, e[a[A]], l[3], h[A]), E = g(b, x, w, S, T, e[c[A]], f[3], u[A])) : (M = y(i, r, n, o, d, e[a[A]], l[4], h[A]), E = m(b, x, w, S, T, e[c[A]], f[4], u[A])), i = d, d = o, o = p(n, 10), n = r, r = M, b = T, T = S, S = p(w, 10), w = x, x = E | |
| } | |
| var P = this._b + n + S | 0; | |
| this._b = this._c + o + T | 0, this._c = this._d + d + b | 0, this._d = this._e + i + x | 0, this._e = this._a + r + w | 0, this._a = P | |
| }, d.prototype._digest = function () { | |
| this._block[this._blockOffset++] = 128, this._blockOffset > 56 && (this._block.fill(0, this._blockOffset, 64), this._update(), this._blockOffset = 0), this._block.fill(0, this._blockOffset, 56), this._block.writeUInt32LE(this._length[0], 56), this._block.writeUInt32LE(this._length[1], 60), this._update(); | |
| var e = r.alloc ? r.alloc(20) : new r(20); | |
| return e.writeInt32LE(this._a, 0), e.writeInt32LE(this._b, 4), e.writeInt32LE(this._c, 8), e.writeInt32LE(this._d, 12), e.writeInt32LE(this._e, 16), e | |
| }, e.exports = d | |
| }, function (e, t, i) { | |
| (t = e.exports = function (e) { | |
| e = e.toLowerCase(); | |
| var i = t[e]; | |
| if (!i) throw new Error(e + " is not supported (we accept pull requests)"); | |
| return new i | |
| }).sha = i(517), t.sha1 = i(518), t.sha224 = i(519), t.sha256 = i(197), t.sha384 = i(520), t.sha512 = i(198) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| t.utils = i(526), t.Cipher = i(527), t.DES = i(528), t.CBC = i(529), t.EDE = i(530) | |
| }, function (e, t, i) { | |
| var r = i(531), | |
| n = i(539), | |
| o = i(208); | |
| t.createCipher = t.Cipher = r.createCipher, t.createCipheriv = t.Cipheriv = r.createCipheriv, t.createDecipher = t.Decipher = n.createDecipher, t.createDecipheriv = t.Decipheriv = n.createDecipheriv, t.listCiphers = t.getCiphers = function () { | |
| return Object.keys(o) | |
| } | |
| }, function (e, t, i) { | |
| var r = { | |
| ECB: i(532), | |
| CBC: i(533), | |
| CFB: i(534), | |
| CFB8: i(535), | |
| CFB1: i(536), | |
| OFB: i(537), | |
| CTR: i(206), | |
| GCM: i(206) | |
| }, | |
| n = i(208); | |
| for (var o in n) n[o].module = r[n[o].mode]; | |
| e.exports = n | |
| }, function (e, t, i) { | |
| (function (t) { | |
| var r = i(11), | |
| n = i(53); | |
| function o(e, i) { | |
| var n = function (e) { | |
| var t = s(e); | |
| return { | |
| blinder: t.toRed(r.mont(e.modulus)).redPow(new r(e.publicExponent)).fromRed(), | |
| unblinder: t.invm(e.modulus) | |
| } | |
| }(i), | |
| o = i.modulus.byteLength(), | |
| a = (r.mont(i.modulus), new r(e).mul(n.blinder).umod(i.modulus)), | |
| c = a.toRed(r.mont(i.prime1)), | |
| h = a.toRed(r.mont(i.prime2)), | |
| u = i.coefficient, | |
| l = i.prime1, | |
| f = i.prime2, | |
| d = c.redPow(i.exponent1), | |
| p = h.redPow(i.exponent2); | |
| d = d.fromRed(), p = p.fromRed(); | |
| var m = d.isub(p).imul(u).umod(l); | |
| return m.imul(f), p.iadd(m), new t(p.imul(n.unblinder).umod(i.modulus).toArray(!1, o)) | |
| } | |
| function s(e) { | |
| for (var t = e.modulus.byteLength(), i = new r(n(t)); i.cmp(e.modulus) >= 0 || !i.umod(e.prime1) || !i.umod(e.prime2);) i = new r(n(t)); | |
| return i | |
| } | |
| e.exports = o, o.getr = s | |
| }).call(this, i(9).Buffer) | |
| }, function (e, t, i) { | |
| var r = t; | |
| r.utils = i(33), r.common = i(71), r.sha = i(555), r.ripemd = i(559), r.hmac = i(560), r.sha1 = r.sha.sha1, r.sha256 = r.sha.sha256, r.sha224 = r.sha.sha224, r.sha384 = r.sha.sha384, r.sha512 = r.sha.sha512, r.ripemd160 = r.ripemd.ripemd160 | |
| }, function (e, t, i) { | |
| "use strict"; | |
| i.r(t), t.default = function () { | |
| var e = new URL(document.location).searchParams; | |
| this.isSinglePlayer = !!e.get("singlePlayer"), this.isWebRTCSupported = !1; | |
| try { | |
| (new RTCPeerConnection).ondatachannel = function (e) {}, this.isWebRTCSupported = !0 | |
| } catch (e) {} | |
| this.isWebGLSupported = !1; | |
| var t = document.createElement("canvas"), | |
| i = t.getContext("webgl") || t.getContext("experimental-webgl"); | |
| i && i instanceof WebGLRenderingContext && (this.isWebGLSupported = !0), this.isMobile = !1, new RegExp("Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile", "i").test(navigator.userAgent) && (this.isMobile = !0) | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| (function (e) { | |
| var r = i(93), | |
| n = i.n(r), | |
| o = i(55), | |
| s = i(18), | |
| a = i(7); | |
| function c(e, t, i) { | |
| return t in e ? Object.defineProperty(e, t, { | |
| value: i, | |
| enumerable: !0, | |
| configurable: !0, | |
| writable: !0 | |
| }) : e[t] = i, e | |
| } | |
| function h(e, t) { | |
| for (var i = 0; i < t.length; i++) { | |
| var r = t[i]; | |
| r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r) | |
| } | |
| } | |
| var u = function () { | |
| function t(e) { | |
| var i = this; | |
| ! function (e, t) { | |
| if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") | |
| }(this, t), this.maxChangesPerSync = 1e3, this.initializeState(e), this.maxPlayers = 10, this.lastUpdate = 0, this.changedBlocks = []; | |
| var r = this; | |
| this.changedBlockHandler = { | |
| setBlock: function (e, t) { | |
| var i = { | |
| add: !1, | |
| p: e.slice(), | |
| bt: t | |
| }; | |
| a.default.getInstance().addBlockChange(i), r.changedBlocks.push(i) | |
| }, | |
| addBlock: function (e, t) { | |
| var i = { | |
| add: !0, | |
| p: e.slice(), | |
| bt: t | |
| }; | |
| a.default.getInstance().addBlockChange(i), r.changedBlocks.push(i) | |
| } | |
| }, setInterval(function () { | |
| i.update() | |
| }, 50) | |
| } | |
| var i, r, u; | |
| return i = t, (r = [{ | |
| key: "update", | |
| value: function () { | |
| new Date, this.lastUpdate; | |
| this.broadcastPlayers() | |
| } | |
| }, { | |
| key: "initializeState", | |
| value: function (e) { | |
| var t = {}, | |
| i = new o.a({ | |
| name: e.name, | |
| network: this, | |
| isClient: !1, | |
| peer: { | |
| send: function () {} | |
| } | |
| }); | |
| t[e.name] = i, this.state = { | |
| name: e.name, | |
| players: t, | |
| code: null, | |
| gameStarted: !1, | |
| game: e.game, | |
| seed: e.seed, | |
| chatLog: [], | |
| spawnPoint: null | |
| }, this.hostPlayer = i | |
| } | |
| }, { | |
| key: "setName", | |
| value: function (e) { | |
| this.getPlayer().state.name = e, this.state.name = e | |
| } | |
| }, { | |
| key: "getPlayer", | |
| value: function () { | |
| return this.hostPlayer | |
| } | |
| }, { | |
| key: "copyPlayers", | |
| value: function () { | |
| return Object.assign({}, this.state.players) | |
| } | |
| }, { | |
| key: "playersToArray", | |
| value: function () { | |
| var e = []; | |
| for (var t in this.state.players) e.push({ | |
| name: t, | |
| peer: this.state.players[t].peer, | |
| state: this.state.players[t].state | |
| }); | |
| return e | |
| } | |
| }, { | |
| key: "getSpawnedPlayerNames", | |
| value: function () { | |
| var e = []; | |
| for (var t in this.state.players) this.state.players[t].state.spawned && e.push(this.state.players[t].state.name); | |
| return e | |
| } | |
| }, { | |
| key: "kickPlayer", | |
| value: function (e) { | |
| if (this.state.name === e) return "No kicking yourself"; | |
| for (var t in this.state.players) | |
| if (this.state.players[t].state.name === e) { | |
| var i = { | |
| message: "kicking " + e, | |
| timestamp: +new Date, | |
| type: "message", | |
| from: this.state.name | |
| }; | |
| return this.handleMessage(i), this.broadcastPlayer(t, { | |
| type: "kicked" | |
| }), this.state.players[t].peer.destroy(), "Kicking " + e | |
| } return "No such player" | |
| } | |
| }, { | |
| key: "setSpawnToCurrentPosition", | |
| value: function () { | |
| return this.state.spawnPoint = this.hostPlayer.state.position, "Spawn point set to " + JSON.stringify(this.hostPlayer.state.position) | |
| } | |
| }, { | |
| key: "getPositionFor", | |
| value: function (e) { | |
| for (var t in this.state.players) | |
| if (this.state.players[t].state.name === e) return this.state.players[t].state.position; | |
| return null | |
| } | |
| }, { | |
| key: "handleData", | |
| value: function (e, t) { | |
| switch (t.type) { | |
| case "connected": | |
| this.handleConnected(e); | |
| break; | |
| case "playerState": | |
| this.handlePlayerState(e, t.data.state); | |
| break; | |
| case "setBlockTypeAt": | |
| this.state.game.setBlock(t.data.blockTypeId, t.data.position); | |
| break; | |
| case "fireEvent": | |
| this.state.game.handleFireEvent(t.data), this.broadcastToOthers(e, { | |
| type: "fireEvent", | |
| data: t.data | |
| }); | |
| break; | |
| case "message": | |
| this.handleMessage(t.message); | |
| break; | |
| case "requestChanges": | |
| var i = this.changedBlocks.slice(t.from, t.from + this.maxChangesPerSync); | |
| i.length && this.broadcastPlayer(e, { | |
| type: "changedBlocks", | |
| blocks: i, | |
| from: t.from | |
| }); | |
| break; | |
| default: | |
| throw Error("Unkown data type ", t.type) | |
| } | |
| } | |
| }, { | |
| key: "broadcastPlayer", | |
| value: function (e, t) { | |
| var i = this.state.players[e].peer; | |
| i.connected && i.send(JSON.stringify(t)) | |
| } | |
| }, { | |
| key: "broadcast", | |
| value: function (e) { | |
| for (var t in this.state.players) this.broadcastPlayer(t, e) | |
| } | |
| }, { | |
| key: "broadcastToOthers", | |
| value: function (e, t) { | |
| for (var i in this.state.players) e !== i && this.broadcastPlayer(i, t) | |
| } | |
| }, { | |
| key: "broadcastPlayers", | |
| value: function () { | |
| this.broadcast({ | |
| type: "players", | |
| players: this.playersToArray().map(function (e) { | |
| return { | |
| name: e.state.name, | |
| id: e.name, | |
| state: e.state | |
| } | |
| }) | |
| }) | |
| } | |
| }, { | |
| key: "handleConnected", | |
| value: function (e) { | |
| this.broadcastPlayers() | |
| } | |
| }, { | |
| key: "getOpenGame", | |
| value: function (t) { | |
| var i = this; | |
| return new e(function (e, r) { | |
| s.a.getGame(t).then(function (t) { | |
| i.gameCode = t.code, console.log("got code " + i.gameCode), e(i.gameCode) | |
| }) | |
| }) | |
| } | |
| }, { | |
| key: "initNewGame", | |
| value: function (t) { | |
| var i = this; | |
| return new e(function (e, r) { | |
| i.getOpenGame(t).then(function (t) { | |
| i.setState({ | |
| code: t | |
| }), e(t), s.a.createSignalingChannel(t, "host").then(function () { | |
| s.a.listenForData(t, function (e) { | |
| void 0 !== e.payload.signal && i.handlePlayerSignaling(e, t) | |
| }) | |
| }) | |
| }) | |
| }) | |
| } | |
| }, { | |
| key: "handlePlayerSignaling", | |
| value: function (e, t) { | |
| var i = this, | |
| r = e.from.split("/")[1]; | |
| if (void 0 === this.state.players[r]) { | |
| var a = new n.a({ | |
| initiator: !1 | |
| }); | |
| a.signal(e.payload.signal), a.on("signal", function (e) { | |
| s.a.sendSignalingTo(t, r, "host", e) | |
| }); | |
| var c = this.copyPlayers(); | |
| c[r] = new o.a({ | |
| name: r, | |
| peer: a | |
| }), this.setState({ | |
| players: c | |
| }, function () { | |
| i.broadcastPlayers() | |
| }), a.on("connect", function () { | |
| var e = i.playersToArray().length, | |
| t = e > i.maxPlayers; | |
| i.sendWelcomeInfo(a, t, e), t && u(!1) | |
| }), a.on("data", function (e) { | |
| i.handleData(r, JSON.parse(e)) | |
| }); | |
| var h = this, | |
| u = function (e) { | |
| var t = Object.assign({}, h.state.players); | |
| void 0 !== t[r] && (void 0 !== t[r].noaPlayer && t[r].noaPlayer.remove(), e && t[r].state.spawned && h.sendLeftMessage(t[r].state.name), delete t[r], h.setState({ | |
| players: t | |
| }), a.destroy()) | |
| }; | |
| a.on("close", function () { | |
| u(!0) | |
| }), a.on("error", function (e) { | |
| e.code | |
| }) | |
| } | |
| } | |
| }, { | |
| key: "sendWelcomeInfo", | |
| value: function (e, t, i) { | |
| e.send(JSON.stringify({ | |
| type: "welcomeInfo", | |
| hostName: this.hostPlayer.state.name, | |
| gameFull: t, | |
| playerCount: i, | |
| maxPlayers: this.maxPlayers, | |
| worldSeed: this.state.seed, | |
| worldSize: a.default.getInstance().getWorldSize(), | |
| spawnPoint: this.state.spawnPoint, | |
| numberOfChangedBlocks: this.changedBlocks.length | |
| })) | |
| } | |
| }, { | |
| key: "setState", | |
| value: function (e, t) { | |
| this.state = function (e) { | |
| for (var t = 1; t < arguments.length; t++) { | |
| var i = null != arguments[t] ? arguments[t] : {}, | |
| r = Object.keys(i); | |
| "function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(i).filter(function (e) { | |
| return Object.getOwnPropertyDescriptor(i, e).enumerable | |
| }))), r.forEach(function (t) { | |
| c(e, t, i[t]) | |
| }) | |
| } | |
| return e | |
| }({}, this.state, e), t && "function" == typeof t && t() | |
| } | |
| }, { | |
| key: "handlePlayerState", | |
| value: function (e, t) { | |
| this.state.players[e].setState(t) | |
| } | |
| }, { | |
| key: "emitFireEvent", | |
| value: function (e) { | |
| this.broadcast({ | |
| type: "fireEvent", | |
| data: e | |
| }) | |
| } | |
| }, { | |
| key: "sendJoinedMessage", | |
| value: function (e) { | |
| var t = { | |
| message: "", | |
| timestamp: +new Date, | |
| type: "joined", | |
| from: e | |
| }; | |
| this.handleMessage(t) | |
| } | |
| }, { | |
| key: "sendLeftMessage", | |
| value: function (e) { | |
| var t = { | |
| message: "", | |
| timestamp: +new Date, | |
| type: "left", | |
| from: e | |
| }; | |
| this.handleMessage(t) | |
| } | |
| }, { | |
| key: "sendMessage", | |
| value: function (e) { | |
| var t = { | |
| message: e, | |
| timestamp: +new Date, | |
| type: "message", | |
| from: this.state.name | |
| }; | |
| this.handleMessage(t) | |
| } | |
| }, { | |
| key: "handleMessage", | |
| value: function (e) { | |
| this.state.chatLog.push(e), this.state.game.updateChatLog(this.state.chatLog.slice(-20)), this.broadcastToOthers(this.state.name, { | |
| type: "chatLog", | |
| chatLog: this.state.chatLog.slice(-20) | |
| }) | |
| } | |
| }, { | |
| key: "setChangedBlocks", | |
| value: function (e) { | |
| this.changedBlocks = e.splice(0) | |
| } | |
| }]) && h(i.prototype, r), u && h(i, u), t | |
| }(); | |
| t.a = u | |
| }).call(this, i(52)) | |
| }, function (e, t, i) { | |
| e.exports = !i(13) && !i(3)(function () { | |
| return 7 != Object.defineProperty(i(95)("div"), "a", { | |
| get: function () { | |
| return 7 | |
| } | |
| }).a | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(5), | |
| n = i(14), | |
| o = i(46), | |
| s = i(97), | |
| a = i(12).f; | |
| e.exports = function (e) { | |
| var t = n.Symbol || (n.Symbol = o ? {} : r.Symbol || {}); | |
| "_" == e.charAt(0) || e in t || a(t, e, { | |
| value: s.f(e) | |
| }) | |
| } | |
| }, function (e, t, i) { | |
| var r = i(22), | |
| n = i(24), | |
| o = i(74)(!1), | |
| s = i(98)("IE_PROTO"); | |
| e.exports = function (e, t) { | |
| var i, a = n(e), | |
| c = 0, | |
| h = []; | |
| for (i in a) i != s && r(a, i) && h.push(i); | |
| for (; t.length > c;) r(a, i = t[c++]) && (~o(h, i) || h.push(i)); | |
| return h | |
| } | |
| }, function (e, t, i) { | |
| var r = i(12), | |
| n = i(4), | |
| o = i(47); | |
| e.exports = i(13) ? Object.defineProperties : function (e, t) { | |
| n(e); | |
| for (var i, s = o(t), a = s.length, c = 0; a > c;) r.f(e, i = s[c++], t[i]); | |
| return e | |
| } | |
| }, function (e, t, i) { | |
| function r(e) { | |
| return (r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { | |
| return typeof e | |
| } : function (e) { | |
| return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e | |
| })(e) | |
| } | |
| var n = i(24), | |
| o = i(50).f, | |
| s = {}.toString, | |
| a = "object" == ("undefined" == typeof window ? "undefined" : r(window)) && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : []; | |
| e.exports.f = function (e) { | |
| return a && "[object Window]" == s.call(e) ? function (e) { | |
| try { | |
| return o(e) | |
| } catch (e) { | |
| return a.slice() | |
| } | |
| }(e) : o(n(e)) | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(47), | |
| n = i(75), | |
| o = i(65), | |
| s = i(20), | |
| a = i(64), | |
| c = Object.assign; | |
| e.exports = !c || i(3)(function () { | |
| var e = {}, | |
| t = {}, | |
| i = Symbol(), | |
| r = "abcdefghijklmnopqrst"; | |
| return e[i] = 7, r.split("").forEach(function (e) { | |
| t[e] = e | |
| }), 7 != c({}, e)[i] || Object.keys(c({}, t)).join("") != r | |
| }) ? function (e, t) { | |
| for (var i = s(e), c = arguments.length, h = 1, u = n.f, l = o.f; c > h;) | |
| for (var f, d = a(arguments[h++]), p = u ? r(d).concat(u(d)) : r(d), m = p.length, g = 0; m > g;) l.call(d, f = p[g++]) && (i[f] = d[f]); | |
| return i | |
| } : c | |
| }, function (e, t) { | |
| e.exports = Object.is || function (e, t) { | |
| return e === t ? 0 !== e || 1 / e == 1 / t : e != e && t != t | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(35), | |
| n = i(6), | |
| o = i(145), | |
| s = [].slice, | |
| a = {}; | |
| e.exports = Function.bind || function (e) { | |
| var t = r(this), | |
| i = s.call(arguments, 1), | |
| c = function r() { | |
| var n = i.concat(s.call(arguments)); | |
| return this instanceof r ? function (e, t, i) { | |
| if (!(t in a)) { | |
| for (var r = [], n = 0; n < t; n++) r[n] = "a[" + n + "]"; | |
| a[t] = Function("F,a", "return new F(" + r.join(",") + ")") | |
| } | |
| return a[t](e, i) | |
| }(t, n.length, n) : o(t, n, e) | |
| }; | |
| return n(t.prototype) && (c.prototype = t.prototype), c | |
| } | |
| }, function (e, t) { | |
| e.exports = function (e, t, i) { | |
| var r = void 0 === i; | |
| switch (t.length) { | |
| case 0: | |
| return r ? e() : e.call(i); | |
| case 1: | |
| return r ? e(t[0]) : e.call(i, t[0]); | |
| case 2: | |
| return r ? e(t[0], t[1]) : e.call(i, t[0], t[1]); | |
| case 3: | |
| return r ? e(t[0], t[1], t[2]) : e.call(i, t[0], t[1], t[2]); | |
| case 4: | |
| return r ? e(t[0], t[1], t[2], t[3]) : e.call(i, t[0], t[1], t[2], t[3]) | |
| } | |
| return e.apply(i, t) | |
| } | |
| }, function (e, t, i) { | |
| var r = i(5).parseInt, | |
| n = i(76).trim, | |
| o = i(103), | |
| s = /^[-+]?0[xX]/; | |
| e.exports = 8 !== r(o + "08") || 22 !== r(o + "0x16") ? function (e, t) { | |
| var i = n(String(e), 3); | |
| return r(i, t >>> 0 || (s.test(i) ? 16 : 10)) | |
| } : r | |
| }, function (e, t, i) { | |
| var r = i(5).parseFloat, | |
| n = i(76).trim; | |
| e.exports = 1 / r(i(103) + "-0") != -1 / 0 ? function (e) { | |
| var t = n(String(e), 3), | |
| i = r(t); | |
| return 0 === i && "-" == t.charAt(0) ? -0 : i | |
| } : r | |
| }, function (e, t, i) { | |
| var r = i(36); | |
| e.exports = function (e, t) { | |
| if ("number" != typeof e && "Number" != r(e)) throw TypeError(t); | |
| return +e | |
| } | |
| }, function (e, t, i) { | |
| var r = i(6), | |
| n = Math.floor; | |
| e.exports = function (e) { | |
| return !r(e) && isFinite(e) && n(e) === e | |
| } | |
| }, function (e, t) { | |
| e.exports = Math.log1p || function (e) { | |
| return (e = +e) > -1e-8 && e < 1e-8 ? e - e * e / 2 : Math.log(1 + e) | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(49), | |
| n = i(44), | |
| o = i(56), | |
| s = {}; | |
| i(23)(s, i(8)("iterator"), function () { | |
| return this | |
| }), e.exports = function (e, t, i) { | |
| e.prototype = r(s, { | |
| next: n(1, i) | |
| }), o(e, t + " Iterator") | |
| } | |
| }, function (e, t, i) { | |
| var r = i(4); | |
| e.exports = function (e, t, i, n) { | |
| try { | |
| return n ? t(r(i)[0], i[1]) : t(i) | |
| } catch (t) { | |
| var o = e.return; | |
| throw void 0 !== o && r(o.call(e)), t | |
| } | |
| } | |
| }, function (e, t, i) { | |
| var r = i(35), | |
| n = i(20), | |
| o = i(64), | |
| s = i(10); | |
| e.exports = function (e, t, i, a, c) { | |
| r(t); | |
| var h = n(e), | |
| u = o(h), | |
| l = s(h.length), | |
| f = c ? l - 1 : 0, | |
| d = c ? -1 : 1; | |
| if (i < 2) | |
| for (;;) { | |
| if (f in u) { | |
| a = u[f], f += d; | |
| break | |
| } | |
| if (f += d, c ? f < 0 : l <= f) throw TypeError("Reduce of empty array with no initial value") | |
| } | |
| for (; c ? f >= 0 : l > f; f += d) f in u && (a = t(a, u[f], f, h)); | |
| return a | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(20), | |
| n = i(48), | |
| o = i(10); | |
| e.exports = [].copyWithin || function (e, t) { | |
| var i = r(this), | |
| s = o(i.length), | |
| a = n(e, s), | |
| c = n(t, s), | |
| h = arguments.length > 2 ? arguments[2] : void 0, | |
| u = Math.min((void 0 === h ? s : n(h, s)) - c, s - a), | |
| l = 1; | |
| for (c < a && a < c + u && (l = -1, c += u - 1, a += u - 1); u-- > 0;) c in i ? i[a] = i[c] : delete i[a], a += l, c += l; | |
| return i | |
| } | |
| }, function (e, t) { | |
| e.exports = function (e, t) { | |
| return { | |
| value: t, | |
| done: !!e | |
| } | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(118); | |
| i(0)({ | |
| target: "RegExp", | |
| proto: !0, | |
| forced: r !== /./.exec | |
| }, { | |
| exec: r | |
| }) | |
| }, function (e, t, i) { | |
| i(13) && "g" != /./g.flags && i(12).f(RegExp.prototype, "flags", { | |
| configurable: !0, | |
| get: i(78) | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r, n, o, s, a = i(46), | |
| c = i(5), | |
| h = i(34), | |
| u = i(66), | |
| l = i(0), | |
| f = i(6), | |
| d = i(35), | |
| p = i(60), | |
| m = i(81), | |
| g = i(67), | |
| _ = i(120).set, | |
| v = i(342)(), | |
| y = i(159), | |
| b = i(343), | |
| x = i(82), | |
| w = i(160), | |
| S = c.TypeError, | |
| T = c.process, | |
| A = T && T.versions, | |
| M = A && A.v8 || "", | |
| E = c.Promise, | |
| P = "process" == u(T), | |
| C = function () {}, | |
| R = n = y.f, | |
| I = !! function () { | |
| try { | |
| var e = E.resolve(1), | |
| t = (e.constructor = {})[i(8)("species")] = function (e) { | |
| e(C, C) | |
| }; | |
| return (P || "function" == typeof PromiseRejectionEvent) && e.then(C) instanceof t && 0 !== M.indexOf("6.6") && -1 === x.indexOf("Chrome/66") | |
| } catch (e) {} | |
| }(), | |
| D = function (e) { | |
| var t; | |
| return !(!f(e) || "function" != typeof (t = e.then)) && t | |
| }, | |
| O = function (e, t) { | |
| if (!e._n) { | |
| e._n = !0; | |
| var i = e._c; | |
| v(function () { | |
| for (var r = e._v, n = 1 == e._s, o = 0, s = function (t) { | |
| var i, o, s, a = n ? t.ok : t.fail, | |
| c = t.resolve, | |
| h = t.reject, | |
| u = t.domain; | |
| try { | |
| a ? (n || (2 == e._h && B(e), e._h = 1), !0 === a ? i = r : (u && u.enter(), i = a(r), u && (u.exit(), s = !0)), i === t.promise ? h(S("Promise-chain cycle")) : (o = D(i)) ? o.call(i, c, h) : c(i)) : h(r) | |
| } catch (e) { | |
| u && !s && u.exit(), h(e) | |
| } | |
| }; i.length > o;) s(i[o++]); | |
| e._c = [], e._n = !1, t && !e._h && L(e) | |
| }) | |
| } | |
| }, | |
| L = function (e) { | |
| _.call(c, function () { | |
| var t, i, r, n = e._v, | |
| o = F(e); | |
| if (o && (t = b(function () { | |
| P ? T.emit("unhandledRejection", n, e) : (i = c.onunhandledrejection) ? i({ | |
| promise: e, | |
| reason: n | |
| }) : (r = c.console) && r.error && r.error("Unhandled promise rejection", n) | |
| }), e._h = P || F(e) ? 2 : 1), e._a = void 0, o && t.e) throw t.v | |
| }) | |
| }, | |
| F = function (e) { | |
| return 1 !== e._h && 0 === (e._a || e._c).length | |
| }, | |
| B = function (e) { | |
| _.call(c, function () { | |
| var t; | |
| P ? T.emit("rejectionHandled", e) : (t = c.onrejectionhandled) && t({ | |
| promise: e, | |
| reason: e._v | |
| }) | |
| }) | |
| }, | |
| k = function (e) { | |
| var t = this; | |
| t._d || (t._d = !0, (t = t._w || t)._v = e, t._s = 2, t._a || (t._a = t._c.slice()), O(t, !0)) | |
| }, | |
| V = function e(t) { | |
| var i, r = this; | |
| if (!r._d) { | |
| r._d = !0, r = r._w || r; | |
| try { | |
| if (r === t) throw S("Promise can't be resolved itself"); | |
| (i = D(t)) ? v(function () { | |
| var n = { | |
| _w: r, | |
| _d: !1 | |
| }; | |
| try { | |
| i.call(t, h(e, n, 1), h(k, n, 1)) | |
| } catch (e) { | |
| k.call(n, e) | |
| } | |
| }): (r._v = t, r._s = 1, O(r, !1)) | |
| } catch (e) { | |
| k.call({ | |
| _w: r, | |
| _d: !1 | |
| }, e) | |
| } | |
| } | |
| }; | |
| I || (E = function (e) { | |
| p(this, E, "Promise", "_h"), d(e), r.call(this); | |
| try { | |
| e(h(V, this, 1), h(k, this, 1)) | |
| } catch (e) { | |
| k.call(this, e) | |
| } | |
| }, (r = function (e) { | |
| this._c = [], this._a = void 0, this._s = 0, this._d = !1, this._v = void 0, this._h = 0, this._n = !1 | |
| }).prototype = i(61)(E.prototype, { | |
| then: function (e, t) { | |
| var i = R(g(this, E)); | |
| return i.ok = "function" != typeof e || e, i.fail = "function" == typeof t && t, i.domain = P ? T.domain : void 0, this._c.push(i), this._a && this._a.push(i), this._s && O(this, !1), i.promise | |
| }, | |
| catch: function (e) { | |
| return this.then(void 0, e) | |
| } | |
| }), o = function () { | |
| var e = new r; | |
| this.promise = e, this.resolve = h(V, e, 1), this.reject = h(k, e, 1) | |
| }, y.f = R = function (e) { | |
| return e === E || e === s ? new o(e) : n(e) | |
| }), l(l.G + l.W + l.F * !I, { | |
| Promise: E | |
| }), i(56)(E, "Promise"), i(59)("Promise"), s = i(14).Promise, l(l.S + l.F * !I, "Promise", { | |
| reject: function (e) { | |
| var t = R(this); | |
| return (0, t.reject)(e), t.promise | |
| } | |
| }), l(l.S + l.F * (a || !I), "Promise", { | |
| resolve: function (e) { | |
| return w(a && this === s ? E : this, e) | |
| } | |
| }), l(l.S + l.F * !(I && i(77)(function (e) { | |
| E.all(e).catch(C) | |
| })), "Promise", { | |
| all: function (e) { | |
| var t = this, | |
| i = R(t), | |
| r = i.resolve, | |
| n = i.reject, | |
| o = b(function () { | |
| var i = [], | |
| o = 0, | |
| s = 1; | |
| m(e, !1, function (e) { | |
| var a = o++, | |
| c = !1; | |
| i.push(void 0), s++, t.resolve(e).then(function (e) { | |
| c || (c = !0, i[a] = e, --s || r(i)) | |
| }, n) | |
| }), --s || r(i) | |
| }); | |
| return o.e && n(o.v), i.promise | |
| }, | |
| race: function (e) { | |
| var t = this, | |
| i = R(t), | |
| r = i.reject, | |
| n = b(function () { | |
| m(e, !1, function (e) { | |
| t.resolve(e).then(i.resolve, r) | |
| }) | |
| }); | |
| return n.e && r(n.v), i.promise | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(35); | |
| function n(e) { | |
| var t, i; | |
| this.promise = new e(function (e, r) { | |
| if (void 0 !== t || void 0 !== i) throw TypeError("Bad Promise constructor"); | |
| t = e, i = r | |
| }), this.resolve = r(t), this.reject = r(i) | |
| } | |
| e.exports.f = function (e) { | |
| return new n(e) | |
| } | |
| }, function (e, t, i) { | |
| var r = i(4), | |
| n = i(6), | |
| o = i(159); | |
| e.exports = function (e, t) { | |
| if (r(e), n(t) && t.constructor === e) return t; | |
| var i = o.f(e); | |
| return (0, i.resolve)(t), i.promise | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(12).f, | |
| n = i(49), | |
| o = i(61), | |
| s = i(34), | |
| a = i(60), | |
| c = i(81), | |
| h = i(109), | |
| u = i(155), | |
| l = i(59), | |
| f = i(13), | |
| d = i(40).fastKey, | |
| p = i(62), | |
| m = f ? "_s" : "size", | |
| g = function (e, t) { | |
| var i, r = d(t); | |
| if ("F" !== r) return e._i[r]; | |
| for (i = e._f; i; i = i.n) | |
| if (i.k == t) return i | |
| }; | |
| e.exports = { | |
| getConstructor: function (e, t, i, h) { | |
| var u = e(function (e, r) { | |
| a(e, u, t, "_i"), e._t = t, e._i = n(null), e._f = void 0, e._l = void 0, e[m] = 0, null != r && c(r, i, e[h], e) | |
| }); | |
| return o(u.prototype, { | |
| clear: function () { | |
| for (var e = p(this, t), i = e._i, r = e._f; r; r = r.n) r.r = !0, r.p && (r.p = r.p.n = void 0), delete i[r.i]; | |
| e._f = e._l = void 0, e[m] = 0 | |
| }, | |
| delete: function (e) { | |
| var i = p(this, t), | |
| r = g(i, e); | |
| if (r) { | |
| var n = r.n, | |
| o = r.p; | |
| delete i._i[r.i], r.r = !0, o && (o.n = n), n && (n.p = o), i._f == r && (i._f = n), i._l == r && (i._l = o), i[m]-- | |
| } | |
| return !!r | |
| }, | |
| forEach: function (e) { | |
| p(this, t); | |
| for (var i, r = s(e, arguments.length > 1 ? arguments[1] : void 0, 3); i = i ? i.n : this._f;) | |
| for (r(i.v, i.k, this); i && i.r;) i = i.p | |
| }, | |
| has: function (e) { | |
| return !!g(p(this, t), e) | |
| } | |
| }), f && r(u.prototype, "size", { | |
| get: function () { | |
| return p(this, t)[m] | |
| } | |
| }), u | |
| }, | |
| def: function (e, t, i) { | |
| var r, n, o = g(e, t); | |
| return o ? o.v = i : (e._l = o = { | |
| i: n = d(t, !0), | |
| k: t, | |
| v: i, | |
| p: r = e._l, | |
| n: void 0, | |
| r: !1 | |
| }, e._f || (e._f = o), r && (r.n = o), e[m]++, "F" !== n && (e._i[n] = o)), e | |
| }, | |
| getEntry: g, | |
| setStrong: function (e, t, i) { | |
| h(e, t, function (e, i) { | |
| this._t = p(e, t), this._k = i, this._l = void 0 | |
| }, function () { | |
| for (var e = this._k, t = this._l; t && t.r;) t = t.p; | |
| return this._t && (this._l = t = t ? t.n : this._t._f) ? u(0, "keys" == e ? t.k : "values" == e ? t.v : [t.k, t.v]) : (this._t = void 0, u(1)) | |
| }, i ? "entries" : "values", !i, !0), l(t) | |
| } | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(61), | |
| n = i(40).getWeak, | |
| o = i(4), | |
| s = i(6), | |
| a = i(60), | |
| c = i(81), | |
| h = i(31), | |
| u = i(22), | |
| l = i(62), | |
| f = h(5), | |
| d = h(6), | |
| p = 0, | |
| m = function (e) { | |
| return e._l || (e._l = new g) | |
| }, | |
| g = function () { | |
| this.a = [] | |
| }, | |
| _ = function (e, t) { | |
| return f(e.a, function (e) { | |
| return e[0] === t | |
| }) | |
| }; | |
| g.prototype = { | |
| get: function (e) { | |
| var t = _(this, e); | |
| if (t) return t[1] | |
| }, | |
| has: function (e) { | |
| return !!_(this, e) | |
| }, | |
| set: function (e, t) { | |
| var i = _(this, e); | |
| i ? i[1] = t : this.a.push([e, t]) | |
| }, | |
| delete: function (e) { | |
| var t = d(this.a, function (t) { | |
| return t[0] === e | |
| }); | |
| return ~t && this.a.splice(t, 1), !!~t | |
| } | |
| }, e.exports = { | |
| getConstructor: function (e, t, i, o) { | |
| var h = e(function (e, r) { | |
| a(e, h, t, "_i"), e._t = t, e._i = p++, e._l = void 0, null != r && c(r, i, e[o], e) | |
| }); | |
| return r(h.prototype, { | |
| delete: function (e) { | |
| if (!s(e)) return !1; | |
| var i = n(e); | |
| return !0 === i ? m(l(this, t)).delete(e) : i && u(i, this._i) && delete i[this._i] | |
| }, | |
| has: function (e) { | |
| if (!s(e)) return !1; | |
| var i = n(e); | |
| return !0 === i ? m(l(this, t)).has(e) : i && u(i, this._i) | |
| } | |
| }), h | |
| }, | |
| def: function (e, t, i) { | |
| var r = n(o(t), !0); | |
| return !0 === r ? m(e).set(t, i) : r[e._i] = i, e | |
| }, | |
| ufstore: m | |
| } | |
| }, function (e, t, i) { | |
| var r = i(28), | |
| n = i(10); | |
| e.exports = function (e) { | |
| if (void 0 === e) return 0; | |
| var t = r(e), | |
| i = n(t); | |
| if (t !== i) throw RangeError("Wrong length!"); | |
| return i | |
| } | |
| }, function (e, t, i) { | |
| var r = i(50), | |
| n = i(75), | |
| o = i(4), | |
| s = i(5).Reflect; | |
| e.exports = s && s.ownKeys || function (e) { | |
| var t = r.f(o(e)), | |
| i = n.f; | |
| return i ? t.concat(i(e)) : t | |
| } | |
| }, function (e, t, i) { | |
| var r = i(10), | |
| n = i(105), | |
| o = i(37); | |
| e.exports = function (e, t, i, s) { | |
| var a = String(o(e)), | |
| c = a.length, | |
| h = void 0 === i ? " " : String(i), | |
| u = r(t); | |
| if (u <= c || "" == h) return a; | |
| var l = u - c, | |
| f = n.call(h, Math.ceil(l / h.length)); | |
| return f.length > l && (f = f.slice(0, l)), s ? f + a : a + f | |
| } | |
| }, function (e, t, i) { | |
| var r = i(47), | |
| n = i(24), | |
| o = i(65).f; | |
| e.exports = function (e) { | |
| return function (t) { | |
| for (var i, s = n(t), a = r(s), c = a.length, h = 0, u = []; c > h;) o.call(s, i = a[h++]) && u.push(e ? [i, s[i]] : s[i]); | |
| return u | |
| } | |
| } | |
| }, function (e, t) { | |
| e.exports = function (e) { | |
| return e.webpackPolyfill || (e.deprecate = function () {}, e.paths = [], e.children || (e.children = []), Object.defineProperty(e, "loaded", { | |
| enumerable: !0, | |
| get: function () { | |
| return e.l | |
| } | |
| }), Object.defineProperty(e, "id", { | |
| enumerable: !0, | |
| get: function () { | |
| return e.i | |
| } | |
| }), e.webpackPolyfill = 1), e | |
| } | |
| }, function (e, t) { | |
| var i = {}.toString; | |
| e.exports = Array.isArray || function (e) { | |
| return "[object Array]" == i.call(e) | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| (function (t, r) { | |
| var n = i(86); | |
| e.exports = y; | |
| var o, s = i(168); | |
| y.ReadableState = v; | |
| i(41).EventEmitter; | |
| var a = function (e, t) { | |
| return e.listeners(t).length | |
| }, | |
| c = i(170), | |
| h = i(2).Buffer, | |
| u = t.Uint8Array || function () {}; | |
| var l = i(68); | |
| l.inherits = i(1); | |
| var f = i(403), | |
| d = void 0; | |
| d = f && f.debuglog ? f.debuglog("stream") : function () {}; | |
| var p, m = i(404), | |
| g = i(171); | |
| l.inherits(y, c); | |
| var _ = ["error", "close", "destroy", "pause", "resume"]; | |
| function v(e, t) { | |
| e = e || {}; | |
| var r = t instanceof(o = o || i(54)); | |
| this.objectMode = !!e.objectMode, r && (this.objectMode = this.objectMode || !!e.readableObjectMode); | |
| var n = e.highWaterMark, | |
| s = e.readableHighWaterMark, | |
| a = this.objectMode ? 16 : 16384; | |
| this.highWaterMark = n || 0 === n ? n : r && (s || 0 === s) ? s : a, this.highWaterMark = Math.floor(this.highWaterMark), this.buffer = new m, 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.destroyed = !1, this.defaultEncoding = e.defaultEncoding || "utf8", this.awaitDrain = 0, this.readingMore = !1, this.decoder = null, this.encoding = null, e.encoding && (p || (p = i(123).StringDecoder), this.decoder = new p(e.encoding), this.encoding = e.encoding) | |
| } | |
| function y(e) { | |
| if (o = o || i(54), !(this instanceof y)) return new y(e); | |
| this._readableState = new v(e, this), this.readable = !0, e && ("function" == typeof e.read && (this._read = e.read), "function" == typeof e.destroy && (this._destroy = e.destroy)), c.call(this) | |
| } | |
| function b(e, t, i, r, n) { | |
| var o, s = e._readableState; | |
| null === t ? (s.reading = !1, function (e, t) { | |
| if (t.ended) return; | |
| if (t.decoder) { | |
| var i = t.decoder.end(); | |
| i && i.length && (t.buffer.push(i), t.length += t.objectMode ? 1 : i.length) | |
| } | |
| t.ended = !0, T(e) | |
| }(e, s)) : (n || (o = function (e, t) { | |
| var i; | |
| r = t, h.isBuffer(r) || r instanceof u || "string" == typeof t || void 0 === t || e.objectMode || (i = new TypeError("Invalid non-string/buffer chunk")); | |
| var r; | |
| return i | |
| }(s, t)), o ? e.emit("error", o) : s.objectMode || t && t.length > 0 ? ("string" == typeof t || s.objectMode || Object.getPrototypeOf(t) === h.prototype || (t = function (e) { | |
| return h.from(e) | |
| }(t)), r ? s.endEmitted ? e.emit("error", new Error("stream.unshift() after end event")) : x(e, s, t, !0) : s.ended ? e.emit("error", new Error("stream.push() after EOF")) : (s.reading = !1, s.decoder && !i ? (t = s.decoder.write(t), s.objectMode || 0 !== t.length ? x(e, s, t, !1) : M(e, s)) : x(e, s, t, !1))) : r || (s.reading = !1)); | |
| return function (e) { | |
| return !e.ended && (e.needReadable || e.length < e.highWaterMark || 0 === e.length) | |
| }(s) | |
| } | |
| function x(e, t, i, r) { | |
| t.flowing && 0 === t.length && !t.sync ? (e.emit("data", i), e.read(0)) : (t.length += t.objectMode ? 1 : i.length, r ? t.buffer.unshift(i) : t.buffer.push(i), t.needReadable && T(e)), M(e, t) | |
| } | |
| Object.defineProperty(y.prototype, "destroyed", { | |
| get: function () { | |
| return void 0 !== this._readableState && this._readableState.destroyed | |
| }, | |
| set: function (e) { | |
| this._readableState && (this._readableState.destroyed = e) | |
| } | |
| }), y.prototype.destroy = g.destroy, y.prototype._undestroy = g.undestroy, y.prototype._destroy = function (e, t) { | |
| this.push(null), t(e) | |
| }, y.prototype.push = function (e, t) { | |
| var i, r = this._readableState; | |
| return r.objectMode ? i = !0 : "string" == typeof e && ((t = t || r.defaultEncoding) !== r.encoding && (e = h.from(e, t), t = ""), i = !0), b(this, e, t, !1, i) | |
| }, y.prototype.unshift = function (e) { | |
| return b(this, e, null, !0, !1) | |
| }, y.prototype.isPaused = function () { | |
| return !1 === this._readableState.flowing | |
| }, y.prototype.setEncoding = function (e) { | |
| return p || (p = i(123).StringDecoder), this._readableState.decoder = new p(e), this._readableState.encoding = e, this | |
| }; | |
| var w = 8388608; | |
| function S(e, t) { | |
| return e <= 0 || 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 = function (e) { | |
| return e >= w ? e = w : (e--, e |= e >>> 1, e |= e >>> 2, e |= e >>> 4, e |= e >>> 8, e |= e >>> 16, e++), e | |
| }(e)), e <= t.length ? e : t.ended ? t.length : (t.needReadable = !0, 0)) | |
| } | |
| function T(e) { | |
| var t = e._readableState; | |
| t.needReadable = !1, t.emittedReadable || (d("emitReadable", t.flowing), t.emittedReadable = !0, t.sync ? n.nextTick(A, e) : A(e)) | |
| } | |
| function A(e) { | |
| d("emit readable"), e.emit("readable"), R(e) | |
| } | |
| function M(e, t) { | |
| t.readingMore || (t.readingMore = !0, n.nextTick(E, e, t)) | |
| } | |
| function E(e, t) { | |
| for (var i = t.length; !t.reading && !t.flowing && !t.ended && t.length < t.highWaterMark && (d("maybeReadMore read 0"), e.read(0), i !== t.length);) i = t.length; | |
| t.readingMore = !1 | |
| } | |
| function P(e) { | |
| d("readable nexttick read 0"), e.read(0) | |
| } | |
| function C(e, t) { | |
| t.reading || (d("resume read 0"), e.read(0)), t.resumeScheduled = !1, t.awaitDrain = 0, e.emit("resume"), R(e), t.flowing && !t.reading && e.read(0) | |
| } | |
| function R(e) { | |
| var t = e._readableState; | |
| for (d("flow", t.flowing); t.flowing && null !== e.read();); | |
| } | |
| function I(e, t) { | |
| return 0 === t.length ? null : (t.objectMode ? i = t.buffer.shift() : !e || e >= t.length ? (i = t.decoder ? t.buffer.join("") : 1 === t.buffer.length ? t.buffer.head.data : t.buffer.concat(t.length), t.buffer.clear()) : i = function (e, t, i) { | |
| var r; | |
| e < t.head.data.length ? (r = t.head.data.slice(0, e), t.head.data = t.head.data.slice(e)) : r = e === t.head.data.length ? t.shift() : i ? function (e, t) { | |
| var i = t.head, | |
| r = 1, | |
| n = i.data; | |
| e -= n.length; | |
| for (; i = i.next;) { | |
| var o = i.data, | |
| s = e > o.length ? o.length : e; | |
| if (s === o.length ? n += o : n += o.slice(0, e), 0 === (e -= s)) { | |
| s === o.length ? (++r, i.next ? t.head = i.next : t.head = t.tail = null) : (t.head = i, i.data = o.slice(s)); | |
| break | |
| }++r | |
| } | |
| return t.length -= r, n | |
| }(e, t) : function (e, t) { | |
| var i = h.allocUnsafe(e), | |
| r = t.head, | |
| n = 1; | |
| r.data.copy(i), e -= r.data.length; | |
| for (; r = r.next;) { | |
| var o = r.data, | |
| s = e > o.length ? o.length : e; | |
| if (o.copy(i, i.length - e, 0, s), 0 === (e -= s)) { | |
| s === o.length ? (++n, r.next ? t.head = r.next : t.head = t.tail = null) : (t.head = r, r.data = o.slice(s)); | |
| break | |
| }++n | |
| } | |
| return t.length -= n, i | |
| }(e, t); | |
| return r | |
| }(e, t.buffer, t.decoder), i); | |
| var i | |
| } | |
| function D(e) { | |
| var t = e._readableState; | |
| if (t.length > 0) throw new Error('"endReadable()" called on non-empty stream'); | |
| t.endEmitted || (t.ended = !0, n.nextTick(O, t, e)) | |
| } | |
| function O(e, t) { | |
| e.endEmitted || 0 !== e.length || (e.endEmitted = !0, t.readable = !1, t.emit("end")) | |
| } | |
| function L(e, t) { | |
| for (var i = 0, r = e.length; i < r; i++) | |
| if (e[i] === t) return i; | |
| return -1 | |
| } | |
| y.prototype.read = function (e) { | |
| d("read", e), e = parseInt(e, 10); | |
| var t = this._readableState, | |
| i = e; | |
| if (0 !== e && (t.emittedReadable = !1), 0 === e && t.needReadable && (t.length >= t.highWaterMark || t.ended)) return d("read: emitReadable", t.length, t.ended), 0 === t.length && t.ended ? D(this) : T(this), null; | |
| if (0 === (e = S(e, t)) && t.ended) return 0 === t.length && D(this), null; | |
| var r, n = t.needReadable; | |
| return d("need readable", n), (0 === t.length || t.length - e < t.highWaterMark) && d("length less than watermark", n = !0), t.ended || t.reading ? d("reading or ended", n = !1) : n && (d("do read"), t.reading = !0, t.sync = !0, 0 === t.length && (t.needReadable = !0), this._read(t.highWaterMark), t.sync = !1, t.reading || (e = S(i, t))), null === (r = e > 0 ? I(e, t) : null) ? (t.needReadable = !0, e = 0) : t.length -= e, 0 === t.length && (t.ended || (t.needReadable = !0), i !== e && t.ended && D(this)), null !== r && this.emit("data", r), r | |
| }, y.prototype._read = function (e) { | |
| this.emit("error", new Error("_read() is not implemented")) | |
| }, y.prototype.pipe = function (e, t) { | |
| var i = this, | |
| o = this._readableState; | |
| switch (o.pipesCount) { | |
| case 0: | |
| o.pipes = e; | |
| break; | |
| case 1: | |
| o.pipes = [o.pipes, e]; | |
| break; | |
| default: | |
| o.pipes.push(e) | |
| } | |
| o.pipesCount += 1, d("pipe count=%d opts=%j", o.pipesCount, t); | |
| var c = (!t || !1 !== t.end) && e !== r.stdout && e !== r.stderr ? u : y; | |
| function h(t, r) { | |
| d("onunpipe"), t === i && r && !1 === r.hasUnpiped && (r.hasUnpiped = !0, d("cleanup"), e.removeListener("close", _), e.removeListener("finish", v), e.removeListener("drain", l), e.removeListener("error", g), e.removeListener("unpipe", h), i.removeListener("end", u), i.removeListener("end", y), i.removeListener("data", m), f = !0, !o.awaitDrain || e._writableState && !e._writableState.needDrain || l()) | |
| } | |
| function u() { | |
| d("onend"), e.end() | |
| } | |
| o.endEmitted ? n.nextTick(c) : i.once("end", c), e.on("unpipe", h); | |
| var l = function (e) { | |
| return function () { | |
| var t = e._readableState; | |
| d("pipeOnDrain", t.awaitDrain), t.awaitDrain && t.awaitDrain--, 0 === t.awaitDrain && a(e, "data") && (t.flowing = !0, R(e)) | |
| } | |
| }(i); | |
| e.on("drain", l); | |
| var f = !1; | |
| var p = !1; | |
| function m(t) { | |
| d("ondata"), p = !1, !1 !== e.write(t) || p || ((1 === o.pipesCount && o.pipes === e || o.pipesCount > 1 && -1 !== L(o.pipes, e)) && !f && (d("false write response, pause", i._readableState.awaitDrain), i._readableState.awaitDrain++, p = !0), i.pause()) | |
| } | |
| function g(t) { | |
| d("onerror", t), y(), e.removeListener("error", g), 0 === a(e, "error") && e.emit("error", t) | |
| } | |
| function _() { | |
| e.removeListener("finish", v), y() | |
| } | |
| function v() { | |
| d("onfinish"), e.removeListener("close", _), y() | |
| } | |
| function y() { | |
| d("unpipe"), i.unpipe(e) | |
| } | |
| return i.on("data", m), | |
| function (e, t, i) { | |
| if ("function" == typeof e.prependListener) return e.prependListener(t, i); | |
| e._events && e._events[t] ? s(e._events[t]) ? e._events[t].unshift(i) : e._events[t] = [i, e._events[t]] : e.on(t, i) | |
| }(e, "error", g), e.once("close", _), e.once("finish", v), e.emit("pipe", i), o.flowing || (d("pipe resume"), i.resume()), e | |
| }, y.prototype.unpipe = function (e) { | |
| var t = this._readableState, | |
| i = { | |
| hasUnpiped: !1 | |
| }; | |
| if (0 === t.pipesCount) return this; | |
| 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, i), this); | |
| if (!e) { | |
| var r = t.pipes, | |
| n = t.pipesCount; | |
| t.pipes = null, t.pipesCount = 0, t.flowing = !1; | |
| for (var o = 0; o < n; o++) r[o].emit("unpipe", this, i); | |
| return this | |
| } | |
| var s = L(t.pipes, e); | |
| return -1 === s ? this : (t.pipes.splice(s, 1), t.pipesCount -= 1, 1 === t.pipesCount && (t.pipes = t.pipes[0]), e.emit("unpipe", this, i), this) | |
| }, y.prototype.on = function (e, t) { | |
| var i = c.prototype.on.call(this, e, t); | |
| if ("data" === e) !1 !== this._readableState.flowing && this.resume(); | |
| else if ("readable" === e) { | |
| var r = this._readableState; | |
| r.endEmitted || r.readableListening || (r.readableListening = r.needReadable = !0, r.emittedReadable = !1, r.reading ? r.length && T(this) : n.nextTick(P, this)) | |
| } | |
| return i | |
| }, y.prototype.addListener = y.prototype.on, y.prototype.resume = function () { | |
| var e = this._readableState; | |
| return e.flowing || (d("resume"), e.flowing = !0, function (e, t) { | |
| t.resumeScheduled || (t.resumeScheduled = !0, n.nextTick(C, e, t)) | |
| }(this, e)), this | |
| }, y.prototype.pause = function () { | |
| return d("call pause flowing=%j", this._readableState.flowing), !1 !== this._readableState.flowing && (d("pause"), this._readableState.flowing = !1, this.emit("pause")), this | |
| }, y.prototype.wrap = function (e) { | |
| var t = this, | |
| i = this._readableState, | |
| r = !1; | |
| for (var n in e.on("end", function () { | |
| if (d("wrapped end"), i.decoder && !i.ended) { | |
| var e = i.decoder.end(); | |
| e && e.length && t.push(e) | |
| } | |
| t.push(null) | |
| }), e.on("data", function (n) { | |
| (d("wrapped data"), i.decoder && (n = i.decoder.write(n)), i.objectMode && null == n) || (i.objectMode || n && n.length) && (t.push(n) || (r = !0, e.pause())) | |
| }), e) void 0 === this[n] && "function" == typeof e[n] && (this[n] = function (t) { | |
| return function () { | |
| return e[t].apply(e, arguments) | |
| } | |
| }(n)); | |
| for (var o = 0; o < _.length; o++) e.on(_[o], this.emit.bind(this, _[o])); | |
| return this._read = function (t) { | |
| d("wrapped _read", t), r && (r = !1, e.resume()) | |
| }, this | |
| }, Object.defineProperty(y.prototype, "readableHighWaterMark", { | |
| enumerable: !1, | |
| get: function () { | |
| return this._readableState.highWaterMark | |
| } | |
| }), y._fromList = I | |
| }).call(this, i(15), i(27)) | |
| }, function (e, t, i) { | |
| e.exports = i(41).EventEmitter | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(86); | |
| function n(e, t) { | |
| e.emit("error", t) | |
| } | |
| e.exports = { | |
| destroy: function (e, t) { | |
| var i = this, | |
| o = this._readableState && this._readableState.destroyed, | |
| s = this._writableState && this._writableState.destroyed; | |
| return o || s ? (t ? t(e) : !e || this._writableState && this._writableState.errorEmitted || r.nextTick(n, this, e), this) : (this._readableState && (this._readableState.destroyed = !0), this._writableState && (this._writableState.destroyed = !0), this._destroy(e || null, function (e) { | |
| !t && e ? (r.nextTick(n, i, e), i._writableState && (i._writableState.errorEmitted = !0)) : t && t(e) | |
| }), this) | |
| }, | |
| undestroy: function () { | |
| this._readableState && (this._readableState.destroyed = !1, this._readableState.reading = !1, this._readableState.ended = !1, this._readableState.endEmitted = !1), this._writableState && (this._writableState.destroyed = !1, this._writableState.ended = !1, this._writableState.ending = !1, this._writableState.finished = !1, this._writableState.errorEmitted = !1) | |
| } | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| e.exports = s; | |
| var r = i(54), | |
| n = i(68); | |
| function o(e, t) { | |
| var i = this._transformState; | |
| i.transforming = !1; | |
| var r = i.writecb; | |
| if (!r) return this.emit("error", new Error("write callback called multiple times")); | |
| i.writechunk = null, i.writecb = null, null != t && this.push(t), r(e); | |
| var n = this._readableState; | |
| n.reading = !1, (n.needReadable || n.length < n.highWaterMark) && this._read(n.highWaterMark) | |
| } | |
| function s(e) { | |
| if (!(this instanceof s)) return new s(e); | |
| r.call(this, e), this._transformState = { | |
| afterTransform: o.bind(this), | |
| needTransform: !1, | |
| transforming: !1, | |
| writecb: null, | |
| writechunk: null, | |
| writeencoding: null | |
| }, 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.on("prefinish", a) | |
| } | |
| function a() { | |
| var e = this; | |
| "function" == typeof this._flush ? this._flush(function (t, i) { | |
| c(e, t, i) | |
| }) : c(this, null, null) | |
| } | |
| function c(e, t, i) { | |
| if (t) return e.emit("error", t); | |
| if (null != i && e.push(i), e._writableState.length) throw new Error("Calling transform done when ws.length != 0"); | |
| if (e._transformState.transforming) throw new Error("Calling transform done when still transforming"); | |
| return e.push(null) | |
| } | |
| n.inherits = i(1), n.inherits(s, r), s.prototype.push = function (e, t) { | |
| return this._transformState.needTransform = !1, r.prototype.push.call(this, e, t) | |
| }, s.prototype._transform = function (e, t, i) { | |
| throw new Error("_transform() is not implemented") | |
| }, s.prototype._write = function (e, t, i) { | |
| var r = this._transformState; | |
| if (r.writecb = i, r.writechunk = e, r.writeencoding = t, !r.transforming) { | |
| var n = this._readableState; | |
| (r.needTransform || n.needReadable || n.length < n.highWaterMark) && this._read(n.highWaterMark) | |
| } | |
| }, s.prototype._read = function (e) { | |
| var t = this._transformState; | |
| null !== t.writechunk && t.writecb && !t.transforming ? (t.transforming = !0, this._transform(t.writechunk, t.writeencoding, t.afterTransform)) : t.needTransform = !0 | |
| }, s.prototype._destroy = function (e, t) { | |
| var i = this; | |
| r.prototype._destroy.call(this, e, function (e) { | |
| t(e), i.emit("close") | |
| }) | |
| } | |
| }, function (e, t) { | |
| e.exports = 1e-6 | |
| }, function (e, t) { | |
| e.exports = function () { | |
| var e = new Float32Array(3); | |
| return e[0] = 0, e[1] = 0, e[2] = 0, e | |
| } | |
| }, function (e, t) { | |
| e.exports = function (e, t, i) { | |
| var r = new Float32Array(3); | |
| return r[0] = e, r[1] = t, r[2] = i, r | |
| } | |
| }, function (e, t) { | |
| e.exports = function (e, t) { | |
| var i = t[0], | |
| r = t[1], | |
| n = t[2], | |
| o = i * i + r * r + n * n; | |
| o > 0 && (o = 1 / Math.sqrt(o), e[0] = t[0] * o, e[1] = t[1] * o, e[2] = t[2] * o); | |
| return e | |
| } | |
| }, function (e, t) { | |
| e.exports = function (e, t) { | |
| return e[0] * t[0] + e[1] * t[1] + e[2] * t[2] | |
| } | |
| }, function (e, t) { | |
| e.exports = function (e, t, i) { | |
| return e[0] = t[0] - i[0], e[1] = t[1] - i[1], e[2] = t[2] - i[2], e | |
| } | |
| }, function (e, t) { | |
| e.exports = function (e, t, i) { | |
| return e[0] = t[0] * i[0], e[1] = t[1] * i[1], e[2] = t[2] * i[2], e | |
| } | |
| }, function (e, t) { | |
| e.exports = function (e, t, i) { | |
| return e[0] = t[0] / i[0], e[1] = t[1] / i[1], e[2] = t[2] / i[2], e | |
| } | |
| }, function (e, t) { | |
| e.exports = function (e, t) { | |
| var i = t[0] - e[0], | |
| r = t[1] - e[1], | |
| n = t[2] - e[2]; | |
| return Math.sqrt(i * i + r * r + n * n) | |
| } | |
| }, function (e, t) { | |
| e.exports = function (e, t) { | |
| var i = t[0] - e[0], | |
| r = t[1] - e[1], | |
| n = t[2] - e[2]; | |
| return i * i + r * r + n * n | |
| } | |
| }, function (e, t) { | |
| e.exports = function (e) { | |
| var t = e[0], | |
| i = e[1], | |
| r = e[2]; | |
| return Math.sqrt(t * t + i * i + r * r) | |
| } | |
| }, function (e, t) { | |
| e.exports = function (e) { | |
| var t = e[0], | |
| i = e[1], | |
| r = e[2]; | |
| return t * t + i * i + r * r | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| e.exports = function (e) { | |
| for (var t = new Array(e), i = 0; i < e; ++i) t[i] = i; | |
| return t | |
| } | |
| }, function (e, t, i) { | |
| (function (e, r) { | |
| function n(e) { | |
| return (n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { | |
| return typeof e | |
| } : function (e) { | |
| return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e | |
| })(e) | |
| } | |
| var o = /%[sdj%]/g; | |
| t.format = function (e) { | |
| if (!v(e)) { | |
| for (var t = [], i = 0; i < arguments.length; i++) t.push(c(arguments[i])); | |
| return t.join(" ") | |
| } | |
| i = 1; | |
| for (var r = arguments, n = r.length, s = String(e).replace(o, function (e) { | |
| if ("%%" === e) return "%"; | |
| if (i >= n) return e; | |
| switch (e) { | |
| case "%s": | |
| return String(r[i++]); | |
| case "%d": | |
| return Number(r[i++]); | |
| case "%j": | |
| try { | |
| return JSON.stringify(r[i++]) | |
| } catch (e) { | |
| return "[Circular]" | |
| } | |
| default: | |
| return e | |
| } | |
| }), a = r[i]; i < n; a = r[++i]) g(a) || !x(a) ? s += " " + a : s += " " + c(a); | |
| return s | |
| }, t.deprecate = function (i, n) { | |
| if (y(e.process)) return function () { | |
| return t.deprecate(i, n).apply(this, arguments) | |
| }; | |
| if (!0 === r.noDeprecation) return i; | |
| var o = !1; | |
| return function () { | |
| if (!o) { | |
| if (r.throwDeprecation) throw new Error(n); | |
| r.traceDeprecation ? console.trace(n) : console.error(n), o = !0 | |
| } | |
| return i.apply(this, arguments) | |
| } | |
| }; | |
| var s, a = {}; | |
| function c(e, i) { | |
| var r = { | |
| seen: [], | |
| stylize: u | |
| }; | |
| return arguments.length >= 3 && (r.depth = arguments[2]), arguments.length >= 4 && (r.colors = arguments[3]), m(i) ? r.showHidden = i : i && t._extend(r, i), y(r.showHidden) && (r.showHidden = !1), y(r.depth) && (r.depth = 2), y(r.colors) && (r.colors = !1), y(r.customInspect) && (r.customInspect = !0), r.colors && (r.stylize = h), l(r, e, r.depth) | |
| } | |
| function h(e, t) { | |
| var i = c.styles[t]; | |
| return i ? "[" + c.colors[i][0] + "m" + e + "[" + c.colors[i][1] + "m" : e | |
| } | |
| function u(e, t) { | |
| return e | |
| } | |
| function l(e, i, r) { | |
| if (e.customInspect && i && T(i.inspect) && i.inspect !== t.inspect && (!i.constructor || i.constructor.prototype !== i)) { | |
| var n = i.inspect(r, e); | |
| return v(n) || (n = l(e, n, r)), n | |
| } | |
| var o = function (e, t) { | |
| if (y(t)) return e.stylize("undefined", "undefined"); | |
| if (v(t)) { | |
| var i = "'" + JSON.stringify(t).replace(/^"|"$/g, "").replace(/'/g, "\\'").replace(/\\"/g, '"') + "'"; | |
| return e.stylize(i, "string") | |
| } | |
| if (_(t)) return e.stylize("" + t, "number"); | |
| if (m(t)) return e.stylize("" + t, "boolean"); | |
| if (g(t)) return e.stylize("null", "null") | |
| }(e, i); | |
| if (o) return o; | |
| var s = Object.keys(i), | |
| a = function (e) { | |
| var t = {}; | |
| return e.forEach(function (e, i) { | |
| t[e] = !0 | |
| }), t | |
| }(s); | |
| if (e.showHidden && (s = Object.getOwnPropertyNames(i)), S(i) && (s.indexOf("message") >= 0 || s.indexOf("description") >= 0)) return f(i); | |
| if (0 === s.length) { | |
| if (T(i)) { | |
| var c = i.name ? ": " + i.name : ""; | |
| return e.stylize("[Function" + c + "]", "special") | |
| } | |
| if (b(i)) return e.stylize(RegExp.prototype.toString.call(i), "regexp"); | |
| if (w(i)) return e.stylize(Date.prototype.toString.call(i), "date"); | |
| if (S(i)) return f(i) | |
| } | |
| var h, u = "", | |
| x = !1, | |
| A = ["{", "}"]; | |
| (p(i) && (x = !0, A = ["[", "]"]), T(i)) && (u = " [Function" + (i.name ? ": " + i.name : "") + "]"); | |
| return b(i) && (u = " " + RegExp.prototype.toString.call(i)), w(i) && (u = " " + Date.prototype.toUTCString.call(i)), S(i) && (u = " " + f(i)), 0 !== s.length || x && 0 != i.length ? r < 0 ? b(i) ? e.stylize(RegExp.prototype.toString.call(i), "regexp") : e.stylize("[Object]", "special") : (e.seen.push(i), h = x ? function (e, t, i, r, n) { | |
| for (var o = [], s = 0, a = t.length; s < a; ++s) P(t, String(s)) ? o.push(d(e, t, i, r, String(s), !0)) : o.push(""); | |
| return n.forEach(function (n) { | |
| n.match(/^\d+$/) || o.push(d(e, t, i, r, n, !0)) | |
| }), o | |
| }(e, i, r, a, s) : s.map(function (t) { | |
| return d(e, i, r, a, t, x) | |
| }), e.seen.pop(), function (e, t, i) { | |
| if (e.reduce(function (e, t) { | |
| return 0, t.indexOf("\n") >= 0 && 0, e + t.replace(/\u001b\[\d\d?m/g, "").length + 1 | |
| }, 0) > 60) return i[0] + ("" === t ? "" : t + "\n ") + " " + e.join(",\n ") + " " + i[1]; | |
| return i[0] + t + " " + e.join(", ") + " " + i[1] | |
| }(h, u, A)) : A[0] + u + A[1] | |
| } | |
| function f(e) { | |
| return "[" + Error.prototype.toString.call(e) + "]" | |
| } | |
| function d(e, t, i, r, n, o) { | |
| var s, a, c; | |
| if ((c = Object.getOwnPropertyDescriptor(t, n) || { | |
| value: t[n] | |
| }).get ? a = c.set ? e.stylize("[Getter/Setter]", "special") : e.stylize("[Getter]", "special") : c.set && (a = e.stylize("[Setter]", "special")), P(r, n) || (s = "[" + n + "]"), a || (e.seen.indexOf(c.value) < 0 ? (a = g(i) ? l(e, c.value, null) : l(e, c.value, i - 1)).indexOf("\n") > -1 && (a = o ? a.split("\n").map(function (e) { | |
| return " " + e | |
| }).join("\n").substr(2) : "\n" + a.split("\n").map(function (e) { | |
| return " " + e | |
| }).join("\n")) : a = e.stylize("[Circular]", "special")), y(s)) { | |
| if (o && n.match(/^\d+$/)) return a; | |
| (s = JSON.stringify("" + n)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/) ? (s = s.substr(1, s.length - 2), s = e.stylize(s, "name")) : (s = s.replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'"), s = e.stylize(s, "string")) | |
| } | |
| return s + ": " + a | |
| } | |
| function p(e) { | |
| return Array.isArray(e) | |
| } | |
| function m(e) { | |
| return "boolean" == typeof e | |
| } | |
| function g(e) { | |
| return null === e | |
| } | |
| function _(e) { | |
| return "number" == typeof e | |
| } | |
| function v(e) { | |
| return "string" == typeof e | |
| } | |
| function y(e) { | |
| return void 0 === e | |
| } | |
| function b(e) { | |
| return x(e) && "[object RegExp]" === A(e) | |
| } | |
| function x(e) { | |
| return "object" === n(e) && null !== e | |
| } | |
| function w(e) { | |
| return x(e) && "[object Date]" === A(e) | |
| } | |
| function S(e) { | |
| return x(e) && ("[object Error]" === A(e) || e instanceof Error) | |
| } | |
| function T(e) { | |
| return "function" == typeof e | |
| } | |
| function A(e) { | |
| return Object.prototype.toString.call(e) | |
| } | |
| function M(e) { | |
| return e < 10 ? "0" + e.toString(10) : e.toString(10) | |
| } | |
| t.debuglog = function (e) { | |
| if (y(s) && (s = r.env.NODE_DEBUG || ""), e = e.toUpperCase(), !a[e]) | |
| if (new RegExp("\\b" + e + "\\b", "i").test(s)) { | |
| var i = r.pid; | |
| a[e] = function () { | |
| var r = t.format.apply(t, arguments); | |
| console.error("%s %d: %s", e, i, r) | |
| } | |
| } else a[e] = function () {}; | |
| return a[e] | |
| }, t.inspect = c, c.colors = { | |
| bold: [1, 22], | |
| italic: [3, 23], | |
| underline: [4, 24], | |
| inverse: [7, 27], | |
| white: [37, 39], | |
| grey: [90, 39], | |
| black: [30, 39], | |
| blue: [34, 39], | |
| cyan: [36, 39], | |
| green: [32, 39], | |
| magenta: [35, 39], | |
| red: [31, 39], | |
| yellow: [33, 39] | |
| }, c.styles = { | |
| special: "cyan", | |
| number: "yellow", | |
| boolean: "yellow", | |
| undefined: "grey", | |
| null: "bold", | |
| string: "green", | |
| date: "magenta", | |
| regexp: "red" | |
| }, t.isArray = p, t.isBoolean = m, t.isNull = g, t.isNullOrUndefined = function (e) { | |
| return null == e | |
| }, t.isNumber = _, t.isString = v, t.isSymbol = function (e) { | |
| return "symbol" === n(e) | |
| }, t.isUndefined = y, t.isRegExp = b, t.isObject = x, t.isDate = w, t.isError = S, t.isFunction = T, t.isPrimitive = function (e) { | |
| return null === e || "boolean" == typeof e || "number" == typeof e || "string" == typeof e || "symbol" === n(e) || void 0 === e | |
| }, t.isBuffer = i(448); | |
| var E = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; | |
| function P(e, t) { | |
| return Object.prototype.hasOwnProperty.call(e, t) | |
| } | |
| t.log = function () { | |
| var e, i; | |
| console.log("%s - %s", (e = new Date, i = [M(e.getHours()), M(e.getMinutes()), M(e.getSeconds())].join(":"), [e.getDate(), E[e.getMonth()], i].join(" ")), t.format.apply(t, arguments)) | |
| }, t.inherits = i(1), t._extend = function (e, t) { | |
| if (!t || !x(t)) return e; | |
| for (var i = Object.keys(t), r = i.length; r--;) e[i[r]] = t[i[r]]; | |
| return e | |
| } | |
| }).call(this, i(15), i(27)) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = [], | |
| n = [], | |
| o = [], | |
| s = [], | |
| a = [], | |
| c = [], | |
| h = [], | |
| u = [], | |
| l = [], | |
| f = [], | |
| d = [], | |
| p = []; | |
| e.exports = function (e, t, i, m, g, _) { | |
| for (var v = h, y = l, b = f, x = p, w = 0; w < 3; w++) v[w] = +i[w], b[w] = +t.max[w], y[w] = +t.base[w]; | |
| _ || (_ = 1e-10); | |
| var S = function (e, t, i, h, l, f) { | |
| var p = r, | |
| m = n, | |
| g = o, | |
| _ = s, | |
| v = a, | |
| y = c, | |
| b = u, | |
| x = Math.floor, | |
| w = 0, | |
| S = 0, | |
| T = 0, | |
| A = 0, | |
| M = 0; | |
| if (E(), 0 === T) return 0; | |
| for (A = R(); S <= T;) { | |
| if (P(A) && C()) return w; | |
| A = R() | |
| } | |
| for (w += T, M = 0; M < 3; M++) h[M] += i[M], l[M] += i[M]; | |
| return w; | |
| function E() { | |
| if (S = 0, 0 !== (T = Math.sqrt(i[0] * i[0] + i[1] * i[1] + i[2] * i[2]))) | |
| for (var e = 0; e < 3; e++) { | |
| var t = i[e] >= 0; | |
| _[e] = t ? 1 : -1; | |
| var r = t ? l[e] : h[e]; | |
| p[e] = t ? h[e] : l[e], m[e] = I(r, _[e]), g[e] = D(p[e], _[e]), b[e] = i[e] / T, v[e] = Math.abs(1 / b[e]); | |
| var n = t ? m[e] + 1 - r : r - m[e]; | |
| y[e] = v[e] < 1 / 0 ? v[e] * n : 1 / 0 | |
| } | |
| } | |
| function P(t) { | |
| for (var i = _[0], r = 0 === t ? m[0] : g[0], n = m[0] + i, o = _[1], s = 1 === t ? m[1] : g[1], a = m[1] + o, c = _[2], h = 2 === t ? m[2] : g[2], u = m[2] + c, l = r; l != n; l += i) | |
| for (var f = s; f != a; f += o) | |
| for (var d = h; d != u; d += c) | |
| if (e(l, f, d)) return !0; | |
| return !1 | |
| } | |
| function C() { | |
| w += S; | |
| var e = _[A], | |
| r = S / T, | |
| n = d; | |
| for (M = 0; M < 3; M++) { | |
| var o = i[M] * r; | |
| h[M] += o, l[M] += o, n[M] = i[M] - o | |
| } | |
| if (e > 0 ? l[A] = Math.round(l[A]) : h[A] = Math.round(h[A]), t(w, A, e, n)) return !0; | |
| for (M = 0; M < 3; M++) i[M] = n[M]; | |
| return E(), 0 === T | |
| } | |
| function R() { | |
| var e = y[0] < y[1] ? y[0] < y[2] ? 0 : 2 : y[1] < y[2] ? 1 : 2, | |
| t = y[e] - S; | |
| for (S = y[e], m[e] += _[e], y[e] += v[e], M = 0; M < 3; M++) p[M] += t * b[M], g[M] = D(p[M], _[M]); | |
| return e | |
| } | |
| function I(e, t) { | |
| return x(e - t * f) | |
| } | |
| function D(e, t) { | |
| return x(e + t * f) | |
| } | |
| }(e, m, v, y, b, _); | |
| if (!g) { | |
| for (w = 0; w < 3; w++) x[w] = i[w] > 0 ? b[w] - t.max[w] : y[w] - t.base[w]; | |
| t.translate(x) | |
| } | |
| return S | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = {}; | |
| e.exports = r; | |
| var n = 13, | |
| o = 1 << n++, | |
| s = 1 << n++, | |
| a = 1 << n++; | |
| r.ID_MASK = 511, r.VAR_MASK = 7680, r.SOLID_BIT = o, r.OPAQUE_BIT = s, r.OBJECT_BIT = a | |
| }, function (e, t, i) { | |
| "use strict"; | |
| e.exports = function (e) { | |
| return function (e) { | |
| var t = new Float32Array(256), | |
| i = new Float32Array(256), | |
| r = new Float32Array(256), | |
| n = new Float32Array(256), | |
| o = new Uint8ClampedArray(1024), | |
| s = new BABYLON.DynamicTexture("waterTexture", { | |
| width: 16, | |
| height: 16 | |
| }, e.rendering._scene); | |
| s.hasAlpha = !0, s.anisotropicFilteringLevel = 1, s.updateSamplingMode(BABYLON.Texture.NEAREST_SAMPLINGMODE), s.wrapU = 1, s.wrapV = 1; | |
| var a = s.getContext(), | |
| c = new ImageData(o, 16, 16), | |
| h = 0; | |
| e.on("tick", function (e) { | |
| ++h % 2 != 0 && u.redraw() | |
| }); | |
| var u = { | |
| texture: s, | |
| tick: function () {}, | |
| redraw: function () { | |
| u.update(), a.clearRect(0, 0, 16, 16), a.putImageData(c, 0, 0), s.update() | |
| }, | |
| update: function () { | |
| for (var e = 0; e < 16; e++) | |
| for (var s = 0; s < 16; s++) { | |
| for (var a = 0, c = e - 1; c <= e + 1; c++) { | |
| var h = 15 & c, | |
| u = 15 & s; | |
| a += t[h + 16 * u] | |
| } | |
| i[e + 16 * s] = a / 3.3 + .8 * r[e + 16 * s] | |
| } | |
| for (var e = 0; e < 16; e++) | |
| for (var s = 0; s < 16; s++) r[e + 16 * s] += .05 * n[e + 16 * s], r[e + 16 * s] < 0 && (r[e + 16 * s] = 0), n[e + 16 * s] -= .1, Math.random() < .05 && (n[e + 16 * s] = .5); | |
| var l = i; | |
| i = t, t = l; | |
| for (var f = 0; f < 256; f++) { | |
| var a = t[f]; | |
| a > 1 && (a = 1), a < 0 && (a = 0); | |
| var d = a * a, | |
| p = 32 + 32 * d, | |
| m = 50 + 64 * d, | |
| g = 196 + 50 * d; | |
| o[4 * f + 0] = p, o[4 * f + 1] = m, o[4 * f + 2] = 255, o[4 * f + 3] = g | |
| } | |
| } | |
| }; | |
| return e.waterTexture = s, u | |
| }(e) | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r, n = "undefined" != typeof window ? window.navigator.userAgent : "", | |
| o = /OS X/.test(n), | |
| s = /Opera/.test(n), | |
| a = !/like Gecko/.test(n) && !s, | |
| c = e.exports = { | |
| 0: o ? "<menu>" : "<UNK>", | |
| 1: "<mouse 1>", | |
| 2: "<mouse 2>", | |
| 3: "<break>", | |
| 4: "<mouse 3>", | |
| 5: "<mouse 4>", | |
| 6: "<mouse 5>", | |
| 8: "<backspace>", | |
| 9: "<tab>", | |
| 12: "<clear>", | |
| 13: "<enter>", | |
| 16: "<shift>", | |
| 17: "<control>", | |
| 18: "<alt>", | |
| 19: "<pause>", | |
| 20: "<caps-lock>", | |
| 21: "<ime-hangul>", | |
| 23: "<ime-junja>", | |
| 24: "<ime-final>", | |
| 25: "<ime-kanji>", | |
| 27: "<escape>", | |
| 28: "<ime-convert>", | |
| 29: "<ime-nonconvert>", | |
| 30: "<ime-accept>", | |
| 31: "<ime-mode-change>", | |
| 32: "<space>", | |
| 33: "<page-up>", | |
| 34: "<page-down>", | |
| 35: "<end>", | |
| 36: "<home>", | |
| 37: "<left>", | |
| 38: "<up>", | |
| 39: "<right>", | |
| 40: "<down>", | |
| 41: "<select>", | |
| 42: "<print>", | |
| 43: "<execute>", | |
| 44: "<snapshot>", | |
| 45: "<insert>", | |
| 46: "<delete>", | |
| 47: "<help>", | |
| 91: "<meta>", | |
| 92: "<meta>", | |
| 93: o ? "<meta>" : "<menu>", | |
| 95: "<sleep>", | |
| 106: "<num-*>", | |
| 107: "<num-+>", | |
| 108: "<num-enter>", | |
| 109: "<num--\x3e", | |
| 110: "<num-.>", | |
| 111: "<num-/>", | |
| 144: "<num-lock>", | |
| 145: "<scroll-lock>", | |
| 160: "<shift-left>", | |
| 161: "<shift-right>", | |
| 162: "<control-left>", | |
| 163: "<control-right>", | |
| 164: "<alt-left>", | |
| 165: "<alt-right>", | |
| 166: "<browser-back>", | |
| 167: "<browser-forward>", | |
| 168: "<browser-refresh>", | |
| 169: "<browser-stop>", | |
| 170: "<browser-search>", | |
| 171: "<browser-favorites>", | |
| 172: "<browser-home>", | |
| 173: o && a ? "-" : "<volume-mute>", | |
| 174: "<volume-down>", | |
| 175: "<volume-up>", | |
| 176: "<next-track>", | |
| 177: "<prev-track>", | |
| 178: "<stop>", | |
| 179: "<play-pause>", | |
| 180: "<launch-mail>", | |
| 181: "<launch-media-select>", | |
| 182: "<launch-app 1>", | |
| 183: "<launch-app 2>", | |
| 186: ";", | |
| 187: "=", | |
| 188: ",", | |
| 189: "-", | |
| 190: ".", | |
| 191: "/", | |
| 192: "`", | |
| 219: "[", | |
| 220: "\\", | |
| 221: "]", | |
| 222: "'", | |
| 223: "<meta>", | |
| 224: "<meta>", | |
| 226: "<alt-gr>", | |
| 229: "<ime-process>", | |
| 231: s ? "`" : "<unicode>", | |
| 246: "<attention>", | |
| 247: "<crsel>", | |
| 248: "<exsel>", | |
| 249: "<erase-eof>", | |
| 250: "<play>", | |
| 251: "<zoom>", | |
| 252: "<no-name>", | |
| 253: "<pa-1>", | |
| 254: "<clear>" | |
| }; | |
| for (r = 58; r < 65; ++r) c[r] = String.fromCharCode(r); | |
| for (r = 48; r < 58; ++r) c[r] = r - 48 + ""; | |
| for (r = 65; r < 91; ++r) c[r] = String.fromCharCode(r); | |
| for (r = 96; r < 106; ++r) c[r] = "<num-" + (r - 96) + ">"; | |
| for (r = 112; r < 136; ++r) c[r] = "F" + (r - 111) | |
| }, function (e, t, i) { | |
| e.exports = n; | |
| var r = i(16); | |
| function n(e, t) { | |
| if (!(this instanceof n)) return new n(e, t); | |
| var i = r.create(); | |
| r.add(i, e, t), this.base = r.min(r.create(), e, i), this.vec = r.clone(t), this.max = r.max(r.create(), e, i), this.mag = r.length(this.vec) | |
| } | |
| var o = n.prototype; | |
| o.width = function () { | |
| return this.vec[0] | |
| }, o.height = function () { | |
| return this.vec[1] | |
| }, o.depth = function () { | |
| return this.vec[2] | |
| }, o.x0 = function () { | |
| return this.base[0] | |
| }, o.y0 = function () { | |
| return this.base[1] | |
| }, o.z0 = function () { | |
| return this.base[2] | |
| }, o.x1 = function () { | |
| return this.max[0] | |
| }, o.y1 = function () { | |
| return this.max[1] | |
| }, o.z1 = function () { | |
| return this.max[2] | |
| }, o.translate = function (e) { | |
| return r.add(this.max, this.max, e), r.add(this.base, this.base, e), this | |
| }, o.setPosition = function (e) { | |
| return r.add(this.max, e, this.vec), r.copy(this.base, e), this | |
| }, o.expand = function (e) { | |
| var t = r.create(), | |
| i = r.create(); | |
| return r.max(t, e.max, this.max), r.min(i, e.base, this.base), r.subtract(t, t, i), new n(i, t) | |
| }, o.intersects = function (e) { | |
| return !(e.base[0] > this.max[0]) && (!(e.base[1] > this.max[1]) && (!(e.base[2] > this.max[2]) && (!(e.max[0] < this.base[0]) && (!(e.max[1] < this.base[1]) && !(e.max[2] < this.base[2]))))) | |
| }, o.touches = function (e) { | |
| var t = this.union(e); | |
| return null !== t && (0 == t.width() || 0 == t.height() || 0 == t.depth()) | |
| }, o.union = function (e) { | |
| if (!this.intersects(e)) return null; | |
| var t = Math.max(e.base[0], this.base[0]), | |
| i = Math.max(e.base[1], this.base[1]), | |
| r = Math.max(e.base[2], this.base[2]); | |
| return new n([t, i, r], [Math.min(e.max[0], this.max[0]) - t, Math.min(e.max[1], this.max[1]) - i, Math.min(e.max[2], this.max[2]) - r]) | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| e.exports = { | |
| init: function (e) { | |
| var t = n.nextPow2(e); | |
| a.length < t && (r.free(a), a = r.mallocInt32(t)); | |
| c.length < t && (r.free(c), c = r.mallocInt32(t)); | |
| h.length < t && (r.free(h), h = r.mallocInt32(t)); | |
| u.length < t && (r.free(u), u = r.mallocInt32(t)); | |
| l.length < t && (r.free(l), l = r.mallocInt32(t)); | |
| f.length < t && (r.free(f), f = r.mallocInt32(t)); | |
| var i = 8 * t; | |
| d.length < i && (r.free(d), d = r.mallocDouble(i)) | |
| }, | |
| sweepBipartite: function (e, t, i, r, n, l, f, g, _, v) { | |
| for (var y = 0, b = 2 * e, x = e - 1, w = b - 1, S = i; S < r; ++S) { | |
| var T = l[S], | |
| A = b * S; | |
| d[y++] = n[A + x], d[y++] = -(T + 1), d[y++] = n[A + w], d[y++] = T | |
| } | |
| for (var S = f; S < g; ++S) { | |
| var T = v[S] + s, | |
| M = b * S; | |
| d[y++] = _[M + x], d[y++] = -T, d[y++] = _[M + w], d[y++] = T | |
| } | |
| var E = y >>> 1; | |
| o(d, E); | |
| for (var P = 0, C = 0, S = 0; S < E; ++S) { | |
| var R = 0 | d[2 * S + 1]; | |
| if (R >= s) p(h, u, C--, R = R - s | 0); | |
| else if (R >= 0) p(a, c, P--, R); | |
| else if (R <= -s) { | |
| R = -R - s | 0; | |
| for (var I = 0; I < P; ++I) { | |
| var D = t(a[I], R); | |
| if (void 0 !== D) return D | |
| } | |
| m(h, u, C++, R) | |
| } else { | |
| R = -R - 1 | 0; | |
| for (var I = 0; I < C; ++I) { | |
| var D = t(R, h[I]); | |
| if (void 0 !== D) return D | |
| } | |
| m(a, c, P++, R) | |
| } | |
| } | |
| }, | |
| sweepComplete: function (e, t, i, r, n, s, g, _, v, y) { | |
| for (var b = 0, x = 2 * e, w = e - 1, S = x - 1, T = i; T < r; ++T) { | |
| var A = s[T] + 1 << 1, | |
| M = x * T; | |
| d[b++] = n[M + w], d[b++] = -A, d[b++] = n[M + S], d[b++] = A | |
| } | |
| for (var T = g; T < _; ++T) { | |
| var A = y[T] + 1 << 1, | |
| E = x * T; | |
| d[b++] = v[E + w], d[b++] = 1 | -A, d[b++] = v[E + S], d[b++] = 1 | A | |
| } | |
| var P = b >>> 1; | |
| o(d, P); | |
| for (var C = 0, R = 0, I = 0, T = 0; T < P; ++T) { | |
| var D = 0 | d[2 * T + 1], | |
| O = 1 & D; | |
| if (T < P - 1 && D >> 1 == d[2 * T + 3] >> 1 && (O = 2, T += 1), D < 0) { | |
| for (var L = -(D >> 1) - 1, F = 0; F < I; ++F) { | |
| var B = t(l[F], L); | |
| if (void 0 !== B) return B | |
| } | |
| if (0 !== O) | |
| for (var F = 0; F < C; ++F) { | |
| var B = t(a[F], L); | |
| if (void 0 !== B) return B | |
| } | |
| if (1 !== O) | |
| for (var F = 0; F < R; ++F) { | |
| var B = t(h[F], L); | |
| if (void 0 !== B) return B | |
| } | |
| 0 === O ? m(a, c, C++, L) : 1 === O ? m(h, u, R++, L) : 2 === O && m(l, f, I++, L) | |
| } else { | |
| var L = (D >> 1) - 1; | |
| 0 === O ? p(a, c, C--, L) : 1 === O ? p(h, u, R--, L) : 2 === O && p(l, f, I--, L) | |
| } | |
| } | |
| }, | |
| scanBipartite: function (e, t, i, r, n, h, u, l, f, g, _, v) { | |
| var y = 0, | |
| b = 2 * e, | |
| x = t, | |
| w = t + e, | |
| S = 1, | |
| T = 1; | |
| r ? T = s : S = s; | |
| for (var A = n; A < h; ++A) { | |
| var M = A + S, | |
| E = b * A; | |
| d[y++] = u[E + x], d[y++] = -M, d[y++] = u[E + w], d[y++] = M | |
| } | |
| for (var A = f; A < g; ++A) { | |
| var M = A + T, | |
| P = b * A; | |
| d[y++] = _[P + x], d[y++] = -M | |
| } | |
| var C = y >>> 1; | |
| o(d, C); | |
| for (var R = 0, A = 0; A < C; ++A) { | |
| var I = 0 | d[2 * A + 1]; | |
| if (I < 0) { | |
| var M = -I, | |
| D = !1; | |
| if (M >= s ? (D = !r, M -= s) : (D = !!r, M -= 1), D) m(a, c, R++, M); | |
| else { | |
| var O = v[M], | |
| L = b * M, | |
| F = _[L + t + 1], | |
| B = _[L + t + 1 + e]; | |
| e: for (var k = 0; k < R; ++k) { | |
| var V = a[k], | |
| N = b * V; | |
| if (!(B < u[N + t + 1] || u[N + t + 1 + e] < F)) { | |
| for (var z = t + 2; z < e; ++z) | |
| if (_[L + z + e] < u[N + z] || u[N + z + e] < _[L + z]) continue e; | |
| var U, G = l[V]; | |
| if (void 0 !== (U = r ? i(O, G) : i(G, O))) return U | |
| } | |
| } | |
| } | |
| } else p(a, c, R--, I - S) | |
| } | |
| }, | |
| scanComplete: function (e, t, i, r, n, c, h, u, l, f, p) { | |
| for (var m = 0, g = 2 * e, _ = t, v = t + e, y = r; y < n; ++y) { | |
| var b = y + s, | |
| x = g * y; | |
| d[m++] = c[x + _], d[m++] = -b, d[m++] = c[x + v], d[m++] = b | |
| } | |
| for (var y = u; y < l; ++y) { | |
| var b = y + 1, | |
| w = g * y; | |
| d[m++] = f[w + _], d[m++] = -b | |
| } | |
| var S = m >>> 1; | |
| o(d, S); | |
| for (var T = 0, y = 0; y < S; ++y) { | |
| var A = 0 | d[2 * y + 1]; | |
| if (A < 0) { | |
| var b = -A; | |
| if (b >= s) a[T++] = b - s; | |
| else { | |
| var M = p[b -= 1], | |
| E = g * b, | |
| P = f[E + t + 1], | |
| C = f[E + t + 1 + e]; | |
| e: for (var R = 0; R < T; ++R) { | |
| var I = a[R], | |
| D = h[I]; | |
| if (D === M) break; | |
| var O = g * I; | |
| if (!(C < c[O + t + 1] || c[O + t + 1 + e] < P)) { | |
| for (var L = t + 2; L < e; ++L) | |
| if (f[E + L + e] < c[O + L] || c[O + L + e] < f[E + L]) continue e; | |
| var F = i(D, M); | |
| if (void 0 !== F) return F | |
| } | |
| } | |
| } | |
| } else { | |
| for (var b = A - s, R = T - 1; R >= 0; --R) | |
| if (a[R] === b) { | |
| for (var L = R + 1; L < T; ++L) a[L - 1] = a[L]; | |
| break | |
| }-- T | |
| } | |
| } | |
| } | |
| }; | |
| var r = i(124), | |
| n = i(125), | |
| o = i(484), | |
| s = 1 << 28, | |
| a = r.mallocInt32(1024), | |
| c = r.mallocInt32(1024), | |
| h = r.mallocInt32(1024), | |
| u = r.mallocInt32(1024), | |
| l = r.mallocInt32(1024), | |
| f = r.mallocInt32(1024), | |
| d = r.mallocDouble(8192); | |
| function p(e, t, i, r) { | |
| var n = t[r], | |
| o = e[i - 1]; | |
| e[n] = o, t[o] = n | |
| } | |
| function m(e, t, i, r) { | |
| e[i] = r, t[r] = i | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| e.exports = function (e, t) { | |
| var i = "abcdef".split("").concat(t), | |
| n = []; | |
| e.indexOf("lo") >= 0 && n.push("lo=e[k+n]"); | |
| e.indexOf("hi") >= 0 && n.push("hi=e[k+o]"); | |
| return i.push(r.replace("_", n.join()).replace("$", e)), Function.apply(void 0, i) | |
| }; | |
| var r = "for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m" | |
| }, function (module, exports, __webpack_require__) { | |
| "use strict"; | |
| function overlay(game) { | |
| var scale = 2, | |
| buttonscale = scale + 1, | |
| patternScale = 8, | |
| width = window.innerWidth, | |
| height = window.innerHeight, | |
| mouseOverButton = null, | |
| tickRate = 500, | |
| lastTick = 0, | |
| blinkCount = 0, | |
| blinkCopy = !1, | |
| ypos = Math.floor(.5 * height) - 120 * scale, | |
| center = Math.floor(.5 * width), | |
| urlParams = new URLSearchParams(window.location.search), | |
| url = window.location.href.split("?")[0]; | |
| if (urlParams.has("size") && urlParams.delete("size"), urlParams.has("host")) { | |
| var value = urlParams.get("host"); | |
| urlParams.delete("host"), urlParams.append("join", value), url += "?" + urlParams.toString(), history.pushState && window.history.pushState({ | |
| path: url | |
| }, "", url) | |
| } else url = window.location.href; | |
| var copyTextarea = document.querySelector(".js-copytextarea"); | |
| copyTextarea.value = url; | |
| var allowedChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ,.:-_'*!\\\"#%/()=+?[]{}<>@|$;", | |
| username = ""; | |
| game.settings && "" != game.settings.username && null != game.settings.username && (username = game.settings.username); | |
| var state = 0, | |
| canvas = document.createElement("canvas"); | |
| canvas.width = width, canvas.height = height; | |
| var context = canvas.getContext("2d"); | |
| context.imageSmoothingEnabled = !1; | |
| var div = document.getElementById("overlay"); | |
| div.appendChild(canvas), div.style.width = width + "px", div.style.height = height + "px"; | |
| var patternSize = 16 * patternScale, | |
| patternCanvas = document.createElement("canvas"); | |
| patternCanvas.width = patternSize, patternCanvas.height = patternSize; | |
| var patternContext = patternCanvas.getContext("2d"); | |
| patternContext.imageSmoothingEnabled = !1; | |
| var loaded = 0, | |
| totalLoad = 3, | |
| checkLoading = function () { | |
| ++loaded >= totalLoad && (patternContext.drawImage(bg, 0, 0, patternSize, patternSize), patternContext.fillStyle = "rgba(0,0,0,0.7)", patternContext.fillRect(0, 0, patternSize, patternSize), pattern = context.createPattern(patternCanvas, "repeat"), obj.redraw()) | |
| }, | |
| bg = new Image; | |
| bg.onload = checkLoading, bg.src = "assets/textures/dirt.png"; | |
| var button = new Image; | |
| button.onload = checkLoading, button.src = "assets/textures/button.png"; | |
| var button_over = new Image; | |
| button_over.onload = checkLoading, button_over.src = "assets/textures/button_over.png"; | |
| var pattern = context.createPattern(patternCanvas, "repeat"), | |
| drawText = function (e, t, i, r) { | |
| context.font = 12 * scale + "px Minecraft", context.textBaseline = "alphabetic", context.textAlign = "center"; | |
| var n = 2 * scale; | |
| context.fillStyle = "rgb(63,63,63)", context.fillText(e, t + n, i + n), context.fillStyle = r || "rgb(255,255,255)", context.fillText(e, t, i) | |
| }, | |
| makeButton = function (e, t, i, r) { | |
| return { | |
| str: e, | |
| x: t, | |
| y: i, | |
| over: !1, | |
| func: r, | |
| widthscale: 1, | |
| key: null, | |
| draw: function () { | |
| this.widthscale < 1 && (context.fillStyle = "rgba(0,0,0,1)", context.fillRect(center - scale + this.x * scale - .5 * button.width * buttonscale * this.widthscale, ypos + this.y * scale, 2 * scale + button.width * buttonscale * this.widthscale, button.height * buttonscale)); | |
| var e = button; | |
| this.over && (e = button_over), context.drawImage(e, center + this.x * scale - .5 * button.width * buttonscale * this.widthscale, ypos + this.y * scale, button.width * buttonscale * this.widthscale, button.height * buttonscale); | |
| var t = "rgb(255,255,255)"; | |
| this.over && (t = "rgb(255,255,160)"), drawText(this.str, center + this.x * scale, ypos + this.y * scale + 19 * scale, t) | |
| } | |
| } | |
| }; | |
| function submitUsername() { | |
| var e = username.trim(); | |
| e !== game.hostInfo.hostName && e.length > 0 && (game.settings.username = e, game.emit("saveSettings"), game.setName(e), obj.hide()) | |
| } | |
| function copyUrl() { | |
| var e = document.querySelector(".js-copytextarea"); | |
| e.focus(), e.select(), blinkCopy = !0, obj.redraw(), setTimeout(function () { | |
| blinkCopy = !1, obj.redraw() | |
| }, 250); | |
| try { | |
| document.execCommand("copy") | |
| } catch (e) {} | |
| } | |
| function newGame() { | |
| var e = window.location.href.split("?")[0]; | |
| window.location.href = e | |
| } | |
| function takeOverHost() { | |
| var e = window.location.href.split("?")[0]; | |
| window.location.href = e | |
| } | |
| function newGameWebrtc() { | |
| obj.show(0) | |
| } | |
| var startButtonHost = makeButton("Start", 78, 170, submitUsername); | |
| startButtonHost.widthscale = .5; | |
| var startButtonClient = makeButton("Start", 0, 130, submitUsername), | |
| copyButton = makeButton("Copy", 0, 80, copyUrl), | |
| copyButtonHidden = makeButton("Copy Hidden", 0, 40, copyUrl), | |
| newgameButton = makeButton("Launch a new game", 0, 130, newGame), | |
| newgameHostButton = makeButton("Relaunch the game as a host", 0, 120, takeOverHost), | |
| newgameButtonNoWebrtc = makeButton("Launch a new game", 0, 130, newGameWebrtc), | |
| array0 = [startButtonHost, copyButton, copyButtonHidden], | |
| array1 = [startButtonClient], | |
| array2 = [newgameButton], | |
| array3 = [newgameHostButton], | |
| array4 = [newgameButton], | |
| array5 = [newgameButton], | |
| array6 = [newgameButtonNoWebrtc], | |
| activeArray = array1, | |
| obj = { | |
| isOpen: !0, | |
| show: function show(openState) { | |
| state = openState, 1 != state || obj.isWebRTCSupported || (state = 6), activeArray = eval("array" + state), document.addEventListener("keypress", obj.keypress, !1), document.addEventListener("keydown", obj.keydown, !1), div.addEventListener("mousemove", this.mousemove, !1), document.addEventListener("mousedown", this.press, !1), obj.isOpen = !0, obj.redraw(), div.style.display = "block", document.exitPointerLock(), game.inputs && (game.inputs.state.active = !1) | |
| }, | |
| hide: function () { | |
| document.removeEventListener("keypress", obj.keypress), document.removeEventListener("keydown", obj.keydown), div.removeEventListener("mousemove", this.mousemove), document.removeEventListener("mousedown", this.press), obj.isOpen = !1, div.style.display = "none"; | |
| var e = document.getElementById("noa-container"); | |
| setTimeout(function () { | |
| null != e && e.requestPointerLock() | |
| }, 200), game.inputs && (game.inputs.state.active = !0) | |
| }, | |
| mousemove: function (e) { | |
| for (var t = e.layerX, i = e.layerY, r = null, n = 0; n < activeArray.length; n++) { | |
| var o = activeArray[n], | |
| s = center + o.x * scale - .5 * button.width * buttonscale * o.widthscale, | |
| a = ypos + o.y * scale, | |
| c = s + button.width * buttonscale * o.widthscale, | |
| h = a + button.height * buttonscale; | |
| if (t > s && t < c && i > a && i < h) { | |
| r = n; | |
| break | |
| } | |
| } | |
| null != r && r != mouseOverButton && (activeArray[r].over = !0, obj.redraw()), null == r && null != mouseOverButton && (activeArray[mouseOverButton].over = !1, obj.redraw()), mouseOverButton = r | |
| }, | |
| press: function (e) { | |
| if (null != activeArray[mouseOverButton]) { | |
| var t = activeArray[mouseOverButton].func; | |
| null != t && t() | |
| } | |
| }, | |
| keydown: function (e) { | |
| 13 != e.keyCode ? (8 == e.keyCode && username.length > 0 && (username = username.substring(0, username.length - 1)), obj.redraw()) : submitUsername() | |
| }, | |
| keypress: function (e) { | |
| var t = e.key; | |
| allowedChars.indexOf(t) >= 0 && username.length < 32 && (username += t), obj.redraw() | |
| }, | |
| tick: function () { | |
| var e = performance.now(); | |
| e < lastTick + tickRate || (blinkCount++, obj.redraw(), lastTick = e) | |
| }, | |
| redraw: function () { | |
| context.clearRect(0, 0, width, height), state <= 1 || 3 == state ? (context.fillStyle = "rgba(0,0,0,0.6)", context.fillRect(0, 0, width, height)) : (context.fillStyle = pattern, context.fillRect(0, 0, width, height)), context.font = 14 * scale + "px Minecraft, sans-serif", context.textBaseline = "alphabetic", context.textAlign = "center", context.strokeStyle = "rgba(255,255,255,1)", context.lineWidth = scale; | |
| var e = 0; | |
| if (0 == state) { | |
| if (drawText("Game generated!", center, ypos - 10 * scale), obj.isWebRTCSupported) { | |
| drawText("You are the host. You can invite some (" + (game.hostInfo.maxPlayers - 1) + ") friends to join you.", center, ypos + 24 * scale); | |
| var t = 300 * scale, | |
| i = 30 * scale; | |
| copyButtonHidden.draw(), context.fillStyle = "rgba(0,0,0,1)", blinkCopy && (context.fillStyle = "rgba(127,127,127,1)"), context.fillRect(.5 * width - .5 * t, .5 * height - 80 * scale, t, i), context.save(), context.rect(.5 * width - .5 * t, .5 * height - 80 * scale, t, i), context.clip(), drawText(url, center, ypos + 60 * scale), context.restore(), context.strokeRect(.5 * width - .5 * t, .5 * height - 80 * scale, t, i), copyButton.draw(), e = 40 * scale | |
| } else drawText("Your current browser does not have support for WebRTC.", center, ypos + 24 * scale), drawText("That means you can only play in single player mode.", center, ypos + 41 * scale), drawText("Please use another browser to play multiplayer,", center, ypos + 58 * scale), startButtonHost.y = 130; | |
| drawText("Pick a username and start the game.", center, ypos + 115 * scale + e); | |
| t = 150 * scale, i = 30 * scale; | |
| var r = -78 * scale; | |
| context.fillStyle = "rgba(0,0,0,1)", context.fillRect(r + .5 * width - .5 * t, .5 * height + 10 * scale + e, t, i), context.save(), context.rect(r + .5 * width - .5 * t, .5 * height + 10 * scale + e, t, i), context.clip(), drawText(username, center + r, ypos + 150 * scale + e); | |
| var n = context.measureText(username).width; | |
| blinkCount % 2 == 0 && (context.fillStyle = "rgba(255,255,255,1)", context.fillRect(r + center + .5 * n, ypos + 135 * scale + e, scale, 20 * scale)), context.restore(), context.strokeRect(.5 * width - .5 * t + r, .5 * height + 10 * scale + e, t, i), startButtonHost.draw(), drawText("Left click to place or mine blocks (right click to toggle).", center, ypos + 190 * scale + e) | |
| } | |
| if (1 == state) { | |
| var o = "Welcome!"; | |
| "temp" != game.hostInfo.hostName && (o = 'Welcome to "' + game.hostInfo.hostName + '".'), drawText(o, center, ypos + 0 * scale), drawText(" You are player " + game.hostInfo.playerCount + " of " + game.hostInfo.maxPlayers + ".", center, ypos + 17 * scale), drawText("Pick a username and start the game.", center, ypos + 115 * scale + (e = -40 * scale)); | |
| t = 300 * scale, i = 30 * scale; | |
| context.fillStyle = "rgba(0,0,0,1)", context.fillRect(.5 * width - .5 * t, .5 * height + 10 * scale + e, t, i), context.save(), context.rect(.5 * width - .5 * t, .5 * height + 10 * scale + e, t, i), context.clip(), drawText(username, center, ypos + 150 * scale + e); | |
| n = context.measureText(username).width; | |
| blinkCount % 2 == 0 && (context.fillStyle = "rgba(255,255,255,1)", context.fillRect(center + .5 * n, ypos + 135 * scale + e, scale, 20 * scale)), context.restore(), context.strokeRect(.5 * width - .5 * t, .5 * height + 10 * scale + e, t, i), startButtonClient.draw(), drawText("Left click to place or mine blocks (right click to toggle).", center, ypos + 240 * scale + e) | |
| } | |
| 2 == state && (drawText("The game you are trying to join is full.", center, ypos + 88 * scale), drawText("Come back later or host you own game.", center, ypos + 105 * scale), newgameButton.draw()), 3 == state && (drawText("The End!", center, ypos + 4 * scale), drawText("The host left the game.", center, ypos + 38 * scale), drawText("If you launch a new game you will become the host and be able to", center, ypos + 75 * scale), drawText("invite friends. The new game will be based on this world.", center, ypos + 92 * scale), newgameHostButton.draw()), 4 == state && (drawText("The game you are trying to join doesn't exist.", center, ypos + 88 * scale), drawText("You can still host a new game and invite your friends.", center, ypos + 105 * scale), newgameButton.draw()), 5 == state && (drawText("You were kicked!", center, ypos + 88 * scale), drawText("You can host a new game and invite your own friends.", center, ypos + 105 * scale), newgameButton.draw()), 6 == state && (drawText("Your current browser does not have support for WebRTC.", center, ypos + 71 * scale), drawText("If you want to join a game, please use another browser.", center, ypos + 88 * scale), drawText("Or you can launch a single player game.", center, ypos + 105 * scale), newgameButtonNoWebrtc.draw()) | |
| }, | |
| resize: function () { | |
| scale = 2, window.innerHeight < 600 && (scale = 1), buttonscale = 1.5 * scale, width = window.innerWidth, height = window.innerHeight, center = Math.floor(.5 * width), ypos = Math.floor(.5 * height) - 120 * scale, canvas.width = width, canvas.height = height, div.style.width = width + "px", div.style.height = height + "px", context.imageSmoothingEnabled = !1, obj.redraw() | |
| }, | |
| isWebRTCSupported: !1 | |
| }; | |
| try { | |
| var remoteConnection = new RTCPeerConnection; | |
| remoteConnection.ondatachannel = function (e) {}, obj.isWebRTCSupported = !0 | |
| } catch (e) {} | |
| return obj.hide(), obj | |
| } | |
| module.exports = function (e) { | |
| return overlay(e) | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| e.exports = function (e) { | |
| var t = e.rendering._scene, | |
| i = new BABYLON.StandardMaterial("head", t), | |
| r = new BABYLON.Texture("assets/textures/stevehead.png", t, !0, !1, BABYLON.Texture.NEAREST_SAMPLINGMODE); | |
| i.diffuseTexture = r, i.specularColor = new BABYLON.Color3(0, 0, 0); | |
| for (var n = new Array(6), o = 0; o < 6; o++) n[o] = new BABYLON.Vector4(o / 8, 0, (o + 1) / 8, 1); | |
| var s = { | |
| width: .45, | |
| height: .45, | |
| depth: .45, | |
| faceUV: n | |
| }, | |
| a = BABYLON.MeshBuilder.CreateBox("head", s, t); | |
| a.material = i, a.rotate(BABYLON.Axis.Y, Math.PI, BABYLON.Space.WORLD); | |
| var c = new BABYLON.StandardMaterial("torso", t); | |
| r = new BABYLON.Texture("assets/textures/stevetorso.png", t, !0, !1, BABYLON.Texture.NEAREST_SAMPLINGMODE); | |
| c.diffuseTexture = r, c.specularColor = new BABYLON.Color3(0, 0, 0); | |
| for (n = new Array(6), o = 0; o < 6; o++) n[o] = new BABYLON.Vector4(o / 8, 0, (o + 1) / 8, 1); | |
| s = { | |
| width: .45, | |
| height: .675, | |
| depth: .225, | |
| faceUV: n | |
| }; | |
| var h = BABYLON.MeshBuilder.CreateBox("torso", s, t); | |
| h.material = c; | |
| var u = new BABYLON.StandardMaterial("arm", t); | |
| r = new BABYLON.Texture("assets/textures/stevearm.png", t, !0, !1, BABYLON.Texture.NEAREST_SAMPLINGMODE); | |
| u.diffuseTexture = r, u.specularColor = new BABYLON.Color3(0, 0, 0); | |
| for (n = new Array(6), o = 0; o < 6; o++) n[o] = new BABYLON.Vector4(o / 8, 0, (o + 1) / 8, 1); | |
| s = { | |
| width: .225, | |
| height: .675, | |
| depth: .225, | |
| faceUV: n | |
| }; | |
| var l = BABYLON.MeshBuilder.CreateBox("leftArm", s, t); | |
| l.material = u; | |
| var f = BABYLON.MeshBuilder.CreateBox("rightLeg", s, t); | |
| f.material = u; | |
| var d = new BABYLON.StandardMaterial("leg", t); | |
| r = new BABYLON.Texture("assets/textures/steveleg.png", t, !0, !1, BABYLON.Texture.NEAREST_SAMPLINGMODE); | |
| d.diffuseTexture = r, d.specularColor = new BABYLON.Color3(0, 0, 0); | |
| for (n = new Array(6), o = 0; o < 6; o++) n[o] = new BABYLON.Vector4(o / 8, 0, (o + 1) / 8, 1); | |
| s = { | |
| width: .225, | |
| height: .675, | |
| depth: .225, | |
| faceUV: n | |
| }; | |
| var p = BABYLON.MeshBuilder.CreateBox("leftLeg", s, t); | |
| p.material = d; | |
| var m = BABYLON.MeshBuilder.CreateBox("rightLeg", s, t); | |
| m.material = d, l.setPivotPoint(new BABYLON.Vector3(0, .225, 0)), f.setPivotPoint(new BABYLON.Vector3(0, .225, 0)), p.setPivotPoint(new BABYLON.Vector3(0, .3375, 0)), m.setPivotPoint(new BABYLON.Vector3(0, .3375, 0)), a.parent = h, p.parent = h, m.parent = h, l.parent = h, f.parent = h, a.setPositionWithLocalVector(new BABYLON.Vector3(0, .5625, 0)), p.setPositionWithLocalVector(new BABYLON.Vector3(.1125, -.3375, 0)), m.setPositionWithLocalVector(new BABYLON.Vector3(-.1125, -.3375, 0)), l.setPositionWithLocalVector(new BABYLON.Vector3(.3375, .225, 0)), f.setPositionWithLocalVector(new BABYLON.Vector3(-.3375, .225, 0)); | |
| var g = 0, | |
| _ = 0, | |
| v = 0; | |
| return h.walking = !0, h.animate = function (e) { | |
| var t = .01 * (g += e), | |
| i = 5e-4 * g, | |
| r = 65e-5 * g, | |
| n = 1.2, | |
| o = 1; | |
| this.walking || (n = 0, o = 0), _ += (n - _) / 4, v += (o - v) / 4, p.rotation.x = Math.sin(t) * _, m.rotation.x = -Math.sin(t) * _, l.rotation.x = -Math.sin(t) * _, f.rotation.x = Math.sin(t) * _, l.rotation.z = Math.abs(Math.sin(i)) * v, f.rotation.z = -Math.abs(Math.sin(r)) * v | |
| }, h | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(2).Buffer, | |
| n = i(127).Transform; | |
| function o(e) { | |
| n.call(this), this._block = r.allocUnsafe(e), this._blockSize = e, this._blockOffset = 0, this._length = [0, 0, 0, 0], this._finalized = !1 | |
| } | |
| i(1)(o, n), o.prototype._transform = function (e, t, i) { | |
| var r = null; | |
| try { | |
| this.update(e, t) | |
| } catch (e) { | |
| r = e | |
| } | |
| i(r) | |
| }, o.prototype._flush = function (e) { | |
| var t = null; | |
| try { | |
| this.push(this.digest()) | |
| } catch (e) { | |
| t = e | |
| } | |
| e(t) | |
| }, o.prototype.update = function (e, t) { | |
| if (function (e, t) { | |
| if (!r.isBuffer(e) && "string" != typeof e) throw new TypeError(t + " must be a string or a buffer") | |
| }(e, "Data"), this._finalized) throw new Error("Digest already called"); | |
| r.isBuffer(e) || (e = r.from(e, t)); | |
| for (var i = this._block, n = 0; this._blockOffset + e.length - n >= this._blockSize;) { | |
| for (var o = this._blockOffset; o < this._blockSize;) i[o++] = e[n++]; | |
| this._update(), this._blockOffset = 0 | |
| } | |
| for (; n < e.length;) i[this._blockOffset++] = e[n++]; | |
| for (var s = 0, a = 8 * e.length; a > 0; ++s) this._length[s] += a, (a = this._length[s] / 4294967296 | 0) > 0 && (this._length[s] -= 4294967296 * a); | |
| return this | |
| }, o.prototype._update = function () { | |
| throw new Error("_update is not implemented") | |
| }, o.prototype.digest = function (e) { | |
| if (this._finalized) throw new Error("Digest already called"); | |
| this._finalized = !0; | |
| var t = this._digest(); | |
| void 0 !== e && (t = t.toString(e)), this._block.fill(0), this._blockOffset = 0; | |
| for (var i = 0; i < 4; ++i) this._length[i] = 0; | |
| return t | |
| }, o.prototype._digest = function () { | |
| throw new Error("_digest is not implemented") | |
| }, e.exports = o | |
| }, function (e, t, i) { | |
| var r = i(1), | |
| n = i(63), | |
| o = i(2).Buffer, | |
| s = [1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298], | |
| a = new Array(64); | |
| function c() { | |
| this.init(), this._w = a, n.call(this, 64, 56) | |
| } | |
| function h(e, t, i) { | |
| return i ^ e & (t ^ i) | |
| } | |
| function u(e, t, i) { | |
| return e & t | i & (e | t) | |
| } | |
| function l(e) { | |
| return (e >>> 2 | e << 30) ^ (e >>> 13 | e << 19) ^ (e >>> 22 | e << 10) | |
| } | |
| function f(e) { | |
| return (e >>> 6 | e << 26) ^ (e >>> 11 | e << 21) ^ (e >>> 25 | e << 7) | |
| } | |
| function d(e) { | |
| return (e >>> 7 | e << 25) ^ (e >>> 18 | e << 14) ^ e >>> 3 | |
| } | |
| r(c, n), c.prototype.init = function () { | |
| return this._a = 1779033703, this._b = 3144134277, this._c = 1013904242, this._d = 2773480762, this._e = 1359893119, this._f = 2600822924, this._g = 528734635, this._h = 1541459225, this | |
| }, c.prototype._update = function (e) { | |
| for (var t, i = this._w, r = 0 | this._a, n = 0 | this._b, o = 0 | this._c, a = 0 | this._d, c = 0 | this._e, p = 0 | this._f, m = 0 | this._g, g = 0 | this._h, _ = 0; _ < 16; ++_) i[_] = e.readInt32BE(4 * _); | |
| for (; _ < 64; ++_) i[_] = 0 | (((t = i[_ - 2]) >>> 17 | t << 15) ^ (t >>> 19 | t << 13) ^ t >>> 10) + i[_ - 7] + d(i[_ - 15]) + i[_ - 16]; | |
| for (var v = 0; v < 64; ++v) { | |
| var y = g + f(c) + h(c, p, m) + s[v] + i[v] | 0, | |
| b = l(r) + u(r, n, o) | 0; | |
| g = m, m = p, p = c, c = a + y | 0, a = o, o = n, n = r, r = y + b | 0 | |
| } | |
| this._a = r + this._a | 0, this._b = n + this._b | 0, this._c = o + this._c | 0, this._d = a + this._d | 0, this._e = c + this._e | 0, this._f = p + this._f | 0, this._g = m + this._g | 0, this._h = g + this._h | 0 | |
| }, c.prototype._hash = function () { | |
| var e = o.allocUnsafe(32); | |
| return e.writeInt32BE(this._a, 0), e.writeInt32BE(this._b, 4), e.writeInt32BE(this._c, 8), e.writeInt32BE(this._d, 12), e.writeInt32BE(this._e, 16), e.writeInt32BE(this._f, 20), e.writeInt32BE(this._g, 24), e.writeInt32BE(this._h, 28), e | |
| }, e.exports = c | |
| }, function (e, t, i) { | |
| var r = i(1), | |
| n = i(63), | |
| o = i(2).Buffer, | |
| s = [1116352408, 3609767458, 1899447441, 602891725, 3049323471, 3964484399, 3921009573, 2173295548, 961987163, 4081628472, 1508970993, 3053834265, 2453635748, 2937671579, 2870763221, 3664609560, 3624381080, 2734883394, 310598401, 1164996542, 607225278, 1323610764, 1426881987, 3590304994, 1925078388, 4068182383, 2162078206, 991336113, 2614888103, 633803317, 3248222580, 3479774868, 3835390401, 2666613458, 4022224774, 944711139, 264347078, 2341262773, 604807628, 2007800933, 770255983, 1495990901, 1249150122, 1856431235, 1555081692, 3175218132, 1996064986, 2198950837, 2554220882, 3999719339, 2821834349, 766784016, 2952996808, 2566594879, 3210313671, 3203337956, 3336571891, 1034457026, 3584528711, 2466948901, 113926993, 3758326383, 338241895, 168717936, 666307205, 1188179964, 773529912, 1546045734, 1294757372, 1522805485, 1396182291, 2643833823, 1695183700, 2343527390, 1986661051, 1014477480, 2177026350, 1206759142, 2456956037, 344077627, 2730485921, 1290863460, 2820302411, 3158454273, 3259730800, 3505952657, 3345764771, 106217008, 3516065817, 3606008344, 3600352804, 1432725776, 4094571909, 1467031594, 275423344, 851169720, 430227734, 3100823752, 506948616, 1363258195, 659060556, 3750685593, 883997877, 3785050280, 958139571, 3318307427, 1322822218, 3812723403, 1537002063, 2003034995, 1747873779, 3602036899, 1955562222, 1575990012, 2024104815, 1125592928, 2227730452, 2716904306, 2361852424, 442776044, 2428436474, 593698344, 2756734187, 3733110249, 3204031479, 2999351573, 3329325298, 3815920427, 3391569614, 3928383900, 3515267271, 566280711, 3940187606, 3454069534, 4118630271, 4000239992, 116418474, 1914138554, 174292421, 2731055270, 289380356, 3203993006, 460393269, 320620315, 685471733, 587496836, 852142971, 1086792851, 1017036298, 365543100, 1126000580, 2618297676, 1288033470, 3409855158, 1501505948, 4234509866, 1607167915, 987167468, 1816402316, 1246189591], | |
| a = new Array(160); | |
| function c() { | |
| this.init(), this._w = a, n.call(this, 128, 112) | |
| } | |
| function h(e, t, i) { | |
| return i ^ e & (t ^ i) | |
| } | |
| function u(e, t, i) { | |
| return e & t | i & (e | t) | |
| } | |
| function l(e, t) { | |
| return (e >>> 28 | t << 4) ^ (t >>> 2 | e << 30) ^ (t >>> 7 | e << 25) | |
| } | |
| function f(e, t) { | |
| return (e >>> 14 | t << 18) ^ (e >>> 18 | t << 14) ^ (t >>> 9 | e << 23) | |
| } | |
| function d(e, t) { | |
| return (e >>> 1 | t << 31) ^ (e >>> 8 | t << 24) ^ e >>> 7 | |
| } | |
| function p(e, t) { | |
| return (e >>> 1 | t << 31) ^ (e >>> 8 | t << 24) ^ (e >>> 7 | t << 25) | |
| } | |
| function m(e, t) { | |
| return (e >>> 19 | t << 13) ^ (t >>> 29 | e << 3) ^ e >>> 6 | |
| } | |
| function g(e, t) { | |
| return (e >>> 19 | t << 13) ^ (t >>> 29 | e << 3) ^ (e >>> 6 | t << 26) | |
| } | |
| function _(e, t) { | |
| return e >>> 0 < t >>> 0 ? 1 : 0 | |
| } | |
| r(c, n), c.prototype.init = function () { | |
| return this._ah = 1779033703, this._bh = 3144134277, this._ch = 1013904242, this._dh = 2773480762, this._eh = 1359893119, this._fh = 2600822924, this._gh = 528734635, this._hh = 1541459225, this._al = 4089235720, this._bl = 2227873595, this._cl = 4271175723, this._dl = 1595750129, this._el = 2917565137, this._fl = 725511199, this._gl = 4215389547, this._hl = 327033209, this | |
| }, c.prototype._update = function (e) { | |
| for (var t = this._w, i = 0 | this._ah, r = 0 | this._bh, n = 0 | this._ch, o = 0 | this._dh, a = 0 | this._eh, c = 0 | this._fh, v = 0 | this._gh, y = 0 | this._hh, b = 0 | this._al, x = 0 | this._bl, w = 0 | this._cl, S = 0 | this._dl, T = 0 | this._el, A = 0 | this._fl, M = 0 | this._gl, E = 0 | this._hl, P = 0; P < 32; P += 2) t[P] = e.readInt32BE(4 * P), t[P + 1] = e.readInt32BE(4 * P + 4); | |
| for (; P < 160; P += 2) { | |
| var C = t[P - 30], | |
| R = t[P - 30 + 1], | |
| I = d(C, R), | |
| D = p(R, C), | |
| O = m(C = t[P - 4], R = t[P - 4 + 1]), | |
| L = g(R, C), | |
| F = t[P - 14], | |
| B = t[P - 14 + 1], | |
| k = t[P - 32], | |
| V = t[P - 32 + 1], | |
| N = D + B | 0, | |
| z = I + F + _(N, D) | 0; | |
| z = (z = z + O + _(N = N + L | 0, L) | 0) + k + _(N = N + V | 0, V) | 0, t[P] = z, t[P + 1] = N | |
| } | |
| for (var U = 0; U < 160; U += 2) { | |
| z = t[U], N = t[U + 1]; | |
| var G = u(i, r, n), | |
| W = u(b, x, w), | |
| j = l(i, b), | |
| H = l(b, i), | |
| X = f(a, T), | |
| Y = f(T, a), | |
| K = s[U], | |
| q = s[U + 1], | |
| Z = h(a, c, v), | |
| Q = h(T, A, M), | |
| J = E + Y | 0, | |
| $ = y + X + _(J, E) | 0; | |
| $ = ($ = ($ = $ + Z + _(J = J + Q | 0, Q) | 0) + K + _(J = J + q | 0, q) | 0) + z + _(J = J + N | 0, N) | 0; | |
| var ee = H + W | 0, | |
| te = j + G + _(ee, H) | 0; | |
| y = v, E = M, v = c, M = A, c = a, A = T, a = o + $ + _(T = S + J | 0, S) | 0, o = n, S = w, n = r, w = x, r = i, x = b, i = $ + te + _(b = J + ee | 0, J) | 0 | |
| } | |
| this._al = this._al + b | 0, this._bl = this._bl + x | 0, this._cl = this._cl + w | 0, this._dl = this._dl + S | 0, this._el = this._el + T | 0, this._fl = this._fl + A | 0, this._gl = this._gl + M | 0, this._hl = this._hl + E | 0, this._ah = this._ah + i + _(this._al, b) | 0, this._bh = this._bh + r + _(this._bl, x) | 0, this._ch = this._ch + n + _(this._cl, w) | 0, this._dh = this._dh + o + _(this._dl, S) | 0, this._eh = this._eh + a + _(this._el, T) | 0, this._fh = this._fh + c + _(this._fl, A) | 0, this._gh = this._gh + v + _(this._gl, M) | 0, this._hh = this._hh + y + _(this._hl, E) | 0 | |
| }, c.prototype._hash = function () { | |
| var e = o.allocUnsafe(64); | |
| function t(t, i, r) { | |
| e.writeInt32BE(t, r), e.writeInt32BE(i, r + 4) | |
| } | |
| return t(this._ah, this._al, 0), t(this._bh, this._bl, 8), t(this._ch, this._cl, 16), t(this._dh, this._dl, 24), t(this._eh, this._el, 32), t(this._fh, this._fl, 40), t(this._gh, this._gl, 48), t(this._hh, this._hl, 56), e | |
| }, e.exports = c | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(1), | |
| n = i(521), | |
| o = i(43), | |
| s = i(2).Buffer, | |
| a = i(200), | |
| c = i(128), | |
| h = i(129), | |
| u = s.alloc(128); | |
| function l(e, t) { | |
| o.call(this, "digest"), "string" == typeof t && (t = s.from(t)); | |
| var i = "sha512" === e || "sha384" === e ? 128 : 64; | |
| (this._alg = e, this._key = t, t.length > i) ? t = ("rmd160" === e ? new c : h(e)).update(t).digest(): t.length < i && (t = s.concat([t, u], i)); | |
| for (var r = this._ipad = s.allocUnsafe(i), n = this._opad = s.allocUnsafe(i), a = 0; a < i; a++) r[a] = 54 ^ t[a], n[a] = 92 ^ t[a]; | |
| this._hash = "rmd160" === e ? new c : h(e), this._hash.update(r) | |
| } | |
| r(l, o), l.prototype._update = function (e) { | |
| this._hash.update(e) | |
| }, l.prototype._final = function () { | |
| var e = this._hash.digest(); | |
| return ("rmd160" === this._alg ? new c : h(this._alg)).update(this._opad).update(e).digest() | |
| }, e.exports = function (e, t) { | |
| return "rmd160" === (e = e.toLowerCase()) || "ripemd160" === e ? new l("rmd160", t) : "md5" === e ? new n(a, t) : new l(e, t) | |
| } | |
| }, function (e, t, i) { | |
| var r = i(126); | |
| e.exports = function (e) { | |
| return (new r).update(e).digest() | |
| } | |
| }, function (e) { | |
| e.exports = { | |
| sha224WithRSAEncryption: { | |
| sign: "rsa", | |
| hash: "sha224", | |
| id: "302d300d06096086480165030402040500041c" | |
| }, | |
| "RSA-SHA224": { | |
| sign: "ecdsa/rsa", | |
| hash: "sha224", | |
| id: "302d300d06096086480165030402040500041c" | |
| }, | |
| sha256WithRSAEncryption: { | |
| sign: "rsa", | |
| hash: "sha256", | |
| id: "3031300d060960864801650304020105000420" | |
| }, | |
| "RSA-SHA256": { | |
| sign: "ecdsa/rsa", | |
| hash: "sha256", | |
| id: "3031300d060960864801650304020105000420" | |
| }, | |
| sha384WithRSAEncryption: { | |
| sign: "rsa", | |
| hash: "sha384", | |
| id: "3041300d060960864801650304020205000430" | |
| }, | |
| "RSA-SHA384": { | |
| sign: "ecdsa/rsa", | |
| hash: "sha384", | |
| id: "3041300d060960864801650304020205000430" | |
| }, | |
| sha512WithRSAEncryption: { | |
| sign: "rsa", | |
| hash: "sha512", | |
| id: "3051300d060960864801650304020305000440" | |
| }, | |
| "RSA-SHA512": { | |
| sign: "ecdsa/rsa", | |
| hash: "sha512", | |
| id: "3051300d060960864801650304020305000440" | |
| }, | |
| "RSA-SHA1": { | |
| sign: "rsa", | |
| hash: "sha1", | |
| id: "3021300906052b0e03021a05000414" | |
| }, | |
| "ecdsa-with-SHA1": { | |
| sign: "ecdsa", | |
| hash: "sha1", | |
| id: "" | |
| }, | |
| sha256: { | |
| sign: "ecdsa", | |
| hash: "sha256", | |
| id: "" | |
| }, | |
| sha224: { | |
| sign: "ecdsa", | |
| hash: "sha224", | |
| id: "" | |
| }, | |
| sha384: { | |
| sign: "ecdsa", | |
| hash: "sha384", | |
| id: "" | |
| }, | |
| sha512: { | |
| sign: "ecdsa", | |
| hash: "sha512", | |
| id: "" | |
| }, | |
| "DSA-SHA": { | |
| sign: "dsa", | |
| hash: "sha1", | |
| id: "" | |
| }, | |
| "DSA-SHA1": { | |
| sign: "dsa", | |
| hash: "sha1", | |
| id: "" | |
| }, | |
| DSA: { | |
| sign: "dsa", | |
| hash: "sha1", | |
| id: "" | |
| }, | |
| "DSA-WITH-SHA224": { | |
| sign: "dsa", | |
| hash: "sha224", | |
| id: "" | |
| }, | |
| "DSA-SHA224": { | |
| sign: "dsa", | |
| hash: "sha224", | |
| id: "" | |
| }, | |
| "DSA-WITH-SHA256": { | |
| sign: "dsa", | |
| hash: "sha256", | |
| id: "" | |
| }, | |
| "DSA-SHA256": { | |
| sign: "dsa", | |
| hash: "sha256", | |
| id: "" | |
| }, | |
| "DSA-WITH-SHA384": { | |
| sign: "dsa", | |
| hash: "sha384", | |
| id: "" | |
| }, | |
| "DSA-SHA384": { | |
| sign: "dsa", | |
| hash: "sha384", | |
| id: "" | |
| }, | |
| "DSA-WITH-SHA512": { | |
| sign: "dsa", | |
| hash: "sha512", | |
| id: "" | |
| }, | |
| "DSA-SHA512": { | |
| sign: "dsa", | |
| hash: "sha512", | |
| id: "" | |
| }, | |
| "DSA-RIPEMD160": { | |
| sign: "dsa", | |
| hash: "rmd160", | |
| id: "" | |
| }, | |
| ripemd160WithRSA: { | |
| sign: "rsa", | |
| hash: "rmd160", | |
| id: "3021300906052b2403020105000414" | |
| }, | |
| "RSA-RIPEMD160": { | |
| sign: "rsa", | |
| hash: "rmd160", | |
| id: "3021300906052b2403020105000414" | |
| }, | |
| md5WithRSAEncryption: { | |
| sign: "rsa", | |
| hash: "md5", | |
| id: "3020300c06082a864886f70d020505000410" | |
| }, | |
| "RSA-MD5": { | |
| sign: "rsa", | |
| hash: "md5", | |
| id: "3020300c06082a864886f70d020505000410" | |
| } | |
| } | |
| }, function (e, t, i) { | |
| t.pbkdf2 = i(523), t.pbkdf2Sync = i(205) | |
| }, function (e, t, i) { | |
| (function (t) { | |
| var i = Math.pow(2, 30) - 1; | |
| function r(e, i) { | |
| if ("string" != typeof e && !t.isBuffer(e)) throw new TypeError(i + " must be a buffer or string") | |
| } | |
| e.exports = function (e, t, n, o) { | |
| if (r(e, "Password"), r(t, "Salt"), "number" != typeof n) throw new TypeError("Iterations not a number"); | |
| if (n < 0) throw new TypeError("Bad iterations"); | |
| if ("number" != typeof o) throw new TypeError("Key length not a number"); | |
| if (o < 0 || o > i || o != o) throw new TypeError("Bad key length") | |
| } | |
| }).call(this, i(9).Buffer) | |
| }, function (e, t, i) { | |
| (function (t) { | |
| var i; | |
| t.browser ? i = "utf-8" : i = parseInt(t.version.split(".")[0].slice(1), 10) >= 6 ? "utf-8" : "binary"; | |
| e.exports = i | |
| }).call(this, i(27)) | |
| }, function (e, t, i) { | |
| var r = i(200), | |
| n = i(128), | |
| o = i(129), | |
| s = i(203), | |
| a = i(204), | |
| c = i(2).Buffer, | |
| h = c.alloc(128), | |
| u = { | |
| md5: 16, | |
| sha1: 20, | |
| sha224: 28, | |
| sha256: 32, | |
| sha384: 48, | |
| sha512: 64, | |
| rmd160: 20, | |
| ripemd160: 20 | |
| }; | |
| function l(e, t, i) { | |
| var s = function (e) { | |
| return "rmd160" === e || "ripemd160" === e ? function (e) { | |
| return (new n).update(e).digest() | |
| } : "md5" === e ? r : function (t) { | |
| return o(e).update(t).digest() | |
| } | |
| }(e), | |
| a = "sha512" === e || "sha384" === e ? 128 : 64; | |
| t.length > a ? t = s(t) : t.length < a && (t = c.concat([t, h], a)); | |
| for (var l = c.allocUnsafe(a + u[e]), f = c.allocUnsafe(a + u[e]), d = 0; d < a; d++) l[d] = 54 ^ t[d], f[d] = 92 ^ t[d]; | |
| var p = c.allocUnsafe(a + i + 4); | |
| l.copy(p, 0, 0, a), this.ipad1 = p, this.ipad2 = l, this.opad = f, this.alg = e, this.blocksize = a, this.hash = s, this.size = u[e] | |
| } | |
| l.prototype.run = function (e, t) { | |
| return e.copy(t, this.blocksize), this.hash(t).copy(this.opad, this.blocksize), this.hash(this.opad) | |
| }, e.exports = function (e, t, i, r, n) { | |
| s(e, t, i, r), c.isBuffer(e) || (e = c.from(e, a)), c.isBuffer(t) || (t = c.from(t, a)); | |
| var o = new l(n = n || "sha1", e, t.length), | |
| h = c.allocUnsafe(r), | |
| f = c.allocUnsafe(t.length + 4); | |
| t.copy(f, 0, 0, t.length); | |
| for (var d = 0, p = u[n], m = Math.ceil(r / p), g = 1; g <= m; g++) { | |
| f.writeUInt32BE(g, t.length); | |
| for (var _ = o.run(f, o.ipad1), v = _, y = 1; y < i; y++) { | |
| v = o.run(v, o.ipad2); | |
| for (var b = 0; b < p; b++) _[b] ^= v[b] | |
| } | |
| _.copy(h, d), d += p | |
| } | |
| return h | |
| } | |
| }, function (e, t, i) { | |
| var r = i(70), | |
| n = i(2).Buffer, | |
| o = i(207); | |
| function s(e) { | |
| var t = e._cipher.encryptBlockRaw(e._prev); | |
| return o(e._prev), t | |
| } | |
| t.encrypt = function (e, t) { | |
| var i = Math.ceil(t.length / 16), | |
| o = e._cache.length; | |
| e._cache = n.concat([e._cache, n.allocUnsafe(16 * i)]); | |
| for (var a = 0; a < i; a++) { | |
| var c = s(e), | |
| h = o + 16 * a; | |
| e._cache.writeUInt32BE(c[0], h + 0), e._cache.writeUInt32BE(c[1], h + 4), e._cache.writeUInt32BE(c[2], h + 8), e._cache.writeUInt32BE(c[3], h + 12) | |
| } | |
| var u = e._cache.slice(0, t.length); | |
| return e._cache = e._cache.slice(t.length), r(t, u) | |
| } | |
| }, function (e, t) { | |
| e.exports = function (e) { | |
| for (var t, i = e.length; i--;) { | |
| if (255 !== (t = e.readUInt8(i))) { | |
| t++, e.writeUInt8(t, i); | |
| break | |
| } | |
| e.writeUInt8(0, i) | |
| } | |
| } | |
| }, function (e) { | |
| e.exports = { | |
| "aes-128-ecb": { | |
| cipher: "AES", | |
| key: 128, | |
| iv: 0, | |
| mode: "ECB", | |
| type: "block" | |
| }, | |
| "aes-192-ecb": { | |
| cipher: "AES", | |
| key: 192, | |
| iv: 0, | |
| mode: "ECB", | |
| type: "block" | |
| }, | |
| "aes-256-ecb": { | |
| cipher: "AES", | |
| key: 256, | |
| iv: 0, | |
| mode: "ECB", | |
| type: "block" | |
| }, | |
| "aes-128-cbc": { | |
| cipher: "AES", | |
| key: 128, | |
| iv: 16, | |
| mode: "CBC", | |
| type: "block" | |
| }, | |
| "aes-192-cbc": { | |
| cipher: "AES", | |
| key: 192, | |
| iv: 16, | |
| mode: "CBC", | |
| type: "block" | |
| }, | |
| "aes-256-cbc": { | |
| cipher: "AES", | |
| key: 256, | |
| iv: 16, | |
| mode: "CBC", | |
| type: "block" | |
| }, | |
| aes128: { | |
| cipher: "AES", | |
| key: 128, | |
| iv: 16, | |
| mode: "CBC", | |
| type: "block" | |
| }, | |
| aes192: { | |
| cipher: "AES", | |
| key: 192, | |
| iv: 16, | |
| mode: "CBC", | |
| type: "block" | |
| }, | |
| aes256: { | |
| cipher: "AES", | |
| key: 256, | |
| iv: 16, | |
| mode: "CBC", | |
| type: "block" | |
| }, | |
| "aes-128-cfb": { | |
| cipher: "AES", | |
| key: 128, | |
| iv: 16, | |
| mode: "CFB", | |
| type: "stream" | |
| }, | |
| "aes-192-cfb": { | |
| cipher: "AES", | |
| key: 192, | |
| iv: 16, | |
| mode: "CFB", | |
| type: "stream" | |
| }, | |
| "aes-256-cfb": { | |
| cipher: "AES", | |
| key: 256, | |
| iv: 16, | |
| mode: "CFB", | |
| type: "stream" | |
| }, | |
| "aes-128-cfb8": { | |
| cipher: "AES", | |
| key: 128, | |
| iv: 16, | |
| mode: "CFB8", | |
| type: "stream" | |
| }, | |
| "aes-192-cfb8": { | |
| cipher: "AES", | |
| key: 192, | |
| iv: 16, | |
| mode: "CFB8", | |
| type: "stream" | |
| }, | |
| "aes-256-cfb8": { | |
| cipher: "AES", | |
| key: 256, | |
| iv: 16, | |
| mode: "CFB8", | |
| type: "stream" | |
| }, | |
| "aes-128-cfb1": { | |
| cipher: "AES", | |
| key: 128, | |
| iv: 16, | |
| mode: "CFB1", | |
| type: "stream" | |
| }, | |
| "aes-192-cfb1": { | |
| cipher: "AES", | |
| key: 192, | |
| iv: 16, | |
| mode: "CFB1", | |
| type: "stream" | |
| }, | |
| "aes-256-cfb1": { | |
| cipher: "AES", | |
| key: 256, | |
| iv: 16, | |
| mode: "CFB1", | |
| type: "stream" | |
| }, | |
| "aes-128-ofb": { | |
| cipher: "AES", | |
| key: 128, | |
| iv: 16, | |
| mode: "OFB", | |
| type: "stream" | |
| }, | |
| "aes-192-ofb": { | |
| cipher: "AES", | |
| key: 192, | |
| iv: 16, | |
| mode: "OFB", | |
| type: "stream" | |
| }, | |
| "aes-256-ofb": { | |
| cipher: "AES", | |
| key: 256, | |
| iv: 16, | |
| mode: "OFB", | |
| type: "stream" | |
| }, | |
| "aes-128-ctr": { | |
| cipher: "AES", | |
| key: 128, | |
| iv: 16, | |
| mode: "CTR", | |
| type: "stream" | |
| }, | |
| "aes-192-ctr": { | |
| cipher: "AES", | |
| key: 192, | |
| iv: 16, | |
| mode: "CTR", | |
| type: "stream" | |
| }, | |
| "aes-256-ctr": { | |
| cipher: "AES", | |
| key: 256, | |
| iv: 16, | |
| mode: "CTR", | |
| type: "stream" | |
| }, | |
| "aes-128-gcm": { | |
| cipher: "AES", | |
| key: 128, | |
| iv: 12, | |
| mode: "GCM", | |
| type: "auth" | |
| }, | |
| "aes-192-gcm": { | |
| cipher: "AES", | |
| key: 192, | |
| iv: 12, | |
| mode: "GCM", | |
| type: "auth" | |
| }, | |
| "aes-256-gcm": { | |
| cipher: "AES", | |
| key: 256, | |
| iv: 12, | |
| mode: "GCM", | |
| type: "auth" | |
| } | |
| } | |
| }, function (e, t, i) { | |
| var r = i(89), | |
| n = i(2).Buffer, | |
| o = i(43), | |
| s = i(1), | |
| a = i(538), | |
| c = i(70), | |
| h = i(207); | |
| function u(e, t, i, s) { | |
| o.call(this); | |
| var c = n.alloc(4, 0); | |
| this._cipher = new r.AES(t); | |
| var u = this._cipher.encryptBlock(c); | |
| this._ghash = new a(u), i = function (e, t, i) { | |
| if (12 === t.length) return e._finID = n.concat([t, n.from([0, 0, 0, 1])]), n.concat([t, n.from([0, 0, 0, 2])]); | |
| var r = new a(i), | |
| o = t.length, | |
| s = o % 16; | |
| r.update(t), s && (s = 16 - s, r.update(n.alloc(s, 0))), r.update(n.alloc(8, 0)); | |
| var c = 8 * o, | |
| u = n.alloc(8); | |
| u.writeUIntBE(c, 0, 8), r.update(u), e._finID = r.state; | |
| var l = n.from(e._finID); | |
| return h(l), l | |
| }(this, i, u), this._prev = n.from(i), this._cache = n.allocUnsafe(0), this._secCache = n.allocUnsafe(0), this._decrypt = s, this._alen = 0, this._len = 0, this._mode = e, this._authTag = null, this._called = !1 | |
| } | |
| s(u, o), u.prototype._update = function (e) { | |
| if (!this._called && this._alen) { | |
| var t = 16 - this._alen % 16; | |
| t < 16 && (t = n.alloc(t, 0), this._ghash.update(t)) | |
| } | |
| this._called = !0; | |
| var i = this._mode.encrypt(this, e); | |
| return this._decrypt ? this._ghash.update(e) : this._ghash.update(i), this._len += e.length, i | |
| }, u.prototype._final = function () { | |
| if (this._decrypt && !this._authTag) throw new Error("Unsupported state or unable to authenticate data"); | |
| var e = c(this._ghash.final(8 * this._alen, 8 * this._len), this._cipher.encryptBlock(this._finID)); | |
| if (this._decrypt && function (e, t) { | |
| var i = 0; | |
| e.length !== t.length && i++; | |
| for (var r = Math.min(e.length, t.length), n = 0; n < r; ++n) i += e[n] ^ t[n]; | |
| return i | |
| }(e, this._authTag)) throw new Error("Unsupported state or unable to authenticate data"); | |
| this._authTag = e, this._cipher.scrub() | |
| }, u.prototype.getAuthTag = function () { | |
| if (this._decrypt || !n.isBuffer(this._authTag)) throw new Error("Attempting to get auth tag in unsupported state"); | |
| return this._authTag | |
| }, u.prototype.setAuthTag = function (e) { | |
| if (!this._decrypt) throw new Error("Attempting to set auth tag in unsupported state"); | |
| this._authTag = e | |
| }, u.prototype.setAAD = function (e) { | |
| if (this._called) throw new Error("Attempting to set AAD in unsupported state"); | |
| this._ghash.update(e), this._alen += e.length | |
| }, e.exports = u | |
| }, function (e, t, i) { | |
| var r = i(89), | |
| n = i(2).Buffer, | |
| o = i(43); | |
| function s(e, t, i, s) { | |
| o.call(this), this._cipher = new r.AES(t), this._prev = n.from(i), this._cache = n.allocUnsafe(0), this._secCache = n.allocUnsafe(0), this._decrypt = s, this._mode = e | |
| } | |
| i(1)(s, o), s.prototype._update = function (e) { | |
| return this._mode.encrypt(this, e, this._decrypt) | |
| }, s.prototype._final = function () { | |
| this._cipher.scrub() | |
| }, e.exports = s | |
| }, function (e, t, i) { | |
| var r = i(53); | |
| e.exports = v, v.simpleSieve = g, v.fermatTest = _; | |
| var n = i(11), | |
| o = new n(24), | |
| s = new(i(212)), | |
| a = new n(1), | |
| c = new n(2), | |
| h = new n(5), | |
| u = (new n(16), new n(8), new n(10)), | |
| l = new n(3), | |
| f = (new n(7), new n(11)), | |
| d = new n(4), | |
| p = (new n(12), null); | |
| function m() { | |
| if (null !== p) return p; | |
| var e = []; | |
| e[0] = 2; | |
| for (var t = 1, i = 3; i < 1048576; i += 2) { | |
| for (var r = Math.ceil(Math.sqrt(i)), n = 0; n < t && e[n] <= r && i % e[n] != 0; n++); | |
| t !== n && e[n] <= r || (e[t++] = i) | |
| } | |
| return p = e, e | |
| } | |
| function g(e) { | |
| for (var t = m(), i = 0; i < t.length; i++) | |
| if (0 === e.modn(t[i])) return 0 === e.cmpn(t[i]); | |
| return !0 | |
| } | |
| function _(e) { | |
| var t = n.mont(e); | |
| return 0 === c.toRed(t).redPow(e.subn(1)).fromRed().cmpn(1) | |
| } | |
| function v(e, t) { | |
| if (e < 16) return new n(2 === t || 5 === t ? [140, 123] : [140, 39]); | |
| var i, p; | |
| for (t = new n(t);;) { | |
| for (i = new n(r(Math.ceil(e / 8))); i.bitLength() > e;) i.ishrn(1); | |
| if (i.isEven() && i.iadd(a), i.testn(1) || i.iadd(c), t.cmp(c)) { | |
| if (!t.cmp(h)) | |
| for (; i.mod(u).cmp(l);) i.iadd(d) | |
| } else | |
| for (; i.mod(o).cmp(f);) i.iadd(d); | |
| if (g(p = i.shrn(1)) && g(i) && _(p) && _(i) && s.test(p) && s.test(i)) return i | |
| } | |
| } | |
| }, function (e, t, i) { | |
| var r = i(11), | |
| n = i(213); | |
| function o(e) { | |
| this.rand = e || new n.Rand | |
| } | |
| e.exports = o, o.create = function (e) { | |
| return new o(e) | |
| }, o.prototype._randbelow = function (e) { | |
| var t = e.bitLength(), | |
| i = Math.ceil(t / 8); | |
| do { | |
| var n = new r(this.rand.generate(i)) | |
| } while (n.cmp(e) >= 0); | |
| return n | |
| }, o.prototype._randrange = function (e, t) { | |
| var i = t.sub(e); | |
| return e.add(this._randbelow(i)) | |
| }, o.prototype.test = function (e, t, i) { | |
| var n = e.bitLength(), | |
| o = r.mont(e), | |
| s = new r(1).toRed(o); | |
| t || (t = Math.max(1, n / 48 | 0)); | |
| for (var a = e.subn(1), c = 0; !a.testn(c); c++); | |
| for (var h = e.shrn(c), u = a.toRed(o); t > 0; t--) { | |
| var l = this._randrange(new r(2), a); | |
| i && i(l); | |
| var f = l.toRed(o).redPow(h); | |
| if (0 !== f.cmp(s) && 0 !== f.cmp(u)) { | |
| for (var d = 1; d < c; d++) { | |
| if (0 === (f = f.redSqr()).cmp(s)) return !1; | |
| if (0 === f.cmp(u)) break | |
| } | |
| if (d === c) return !1 | |
| } | |
| } | |
| return !0 | |
| }, o.prototype.getDivisor = function (e, t) { | |
| var i = e.bitLength(), | |
| n = r.mont(e), | |
| o = new r(1).toRed(n); | |
| t || (t = Math.max(1, i / 48 | 0)); | |
| for (var s = e.subn(1), a = 0; !s.testn(a); a++); | |
| for (var c = e.shrn(a), h = s.toRed(n); t > 0; t--) { | |
| var u = this._randrange(new r(2), s), | |
| l = e.gcd(u); | |
| if (0 !== l.cmpn(1)) return l; | |
| var f = u.toRed(n).redPow(c); | |
| if (0 !== f.cmp(o) && 0 !== f.cmp(h)) { | |
| for (var d = 1; d < a; d++) { | |
| if (0 === (f = f.redSqr()).cmp(o)) return f.fromRed().subn(1).gcd(e); | |
| if (0 === f.cmp(h)) break | |
| } | |
| if (d === a) return (f = f.redSqr()).fromRed().subn(1).gcd(e) | |
| } | |
| } | |
| return !1 | |
| } | |
| }, function (e, t, i) { | |
| function r(e) { | |
| return (r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { | |
| return typeof e | |
| } : function (e) { | |
| return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e | |
| })(e) | |
| } | |
| var n; | |
| function o(e) { | |
| this.rand = e | |
| } | |
| if (e.exports = function (e) { | |
| return n || (n = new o(null)), n.generate(e) | |
| }, e.exports.Rand = o, o.prototype.generate = function (e) { | |
| return this._rand(e) | |
| }, o.prototype._rand = function (e) { | |
| if (this.rand.getBytes) return this.rand.getBytes(e); | |
| for (var t = new Uint8Array(e), i = 0; i < t.length; i++) t[i] = this.rand.getByte(); | |
| return t | |
| }, "object" === ("undefined" == typeof self ? "undefined" : r(self))) self.crypto && self.crypto.getRandomValues ? o.prototype._rand = function (e) { | |
| var t = new Uint8Array(e); | |
| return self.crypto.getRandomValues(t), t | |
| } : self.msCrypto && self.msCrypto.getRandomValues ? o.prototype._rand = function (e) { | |
| var t = new Uint8Array(e); | |
| return self.msCrypto.getRandomValues(t), t | |
| } : "object" === ("undefined" == typeof window ? "undefined" : r(window)) && (o.prototype._rand = function () { | |
| throw new Error("Not implemented yet") | |
| }); | |
| else try { | |
| var s = i(543); | |
| if ("function" != typeof s.randomBytes) throw new Error("Not supported"); | |
| o.prototype._rand = function (e) { | |
| return s.randomBytes(e) | |
| } | |
| } catch (e) {} | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = t; | |
| function n(e) { | |
| return 1 === e.length ? "0" + e : e | |
| } | |
| function o(e) { | |
| for (var t = "", i = 0; i < e.length; i++) t += n(e[i].toString(16)); | |
| return t | |
| } | |
| r.toArray = function (e, t) { | |
| if (Array.isArray(e)) return e.slice(); | |
| if (!e) return []; | |
| var i = []; | |
| if ("string" != typeof e) { | |
| for (var r = 0; r < e.length; r++) i[r] = 0 | e[r]; | |
| return i | |
| } | |
| if ("hex" === t) | |
| for ((e = e.replace(/[^a-z0-9]+/gi, "")).length % 2 != 0 && (e = "0" + e), r = 0; r < e.length; r += 2) i.push(parseInt(e[r] + e[r + 1], 16)); | |
| else | |
| for (r = 0; r < e.length; r++) { | |
| var n = e.charCodeAt(r), | |
| o = n >> 8, | |
| s = 255 & n; | |
| o ? i.push(o, s) : i.push(s) | |
| } | |
| return i | |
| }, r.zero2 = n, r.toHex = o, r.encode = function (e, t) { | |
| return "hex" === t ? o(e) : e | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(33).rotr32; | |
| function n(e, t, i) { | |
| return e & t ^ ~e & i | |
| } | |
| function o(e, t, i) { | |
| return e & t ^ e & i ^ t & i | |
| } | |
| function s(e, t, i) { | |
| return e ^ t ^ i | |
| } | |
| t.ft_1 = function (e, t, i, r) { | |
| return 0 === e ? n(t, i, r) : 1 === e || 3 === e ? s(t, i, r) : 2 === e ? o(t, i, r) : void 0 | |
| }, t.ch32 = n, t.maj32 = o, t.p32 = s, t.s0_256 = function (e) { | |
| return r(e, 2) ^ r(e, 13) ^ r(e, 22) | |
| }, t.s1_256 = function (e) { | |
| return r(e, 6) ^ r(e, 11) ^ r(e, 25) | |
| }, t.g0_256 = function (e) { | |
| return r(e, 7) ^ r(e, 18) ^ e >>> 3 | |
| }, t.g1_256 = function (e) { | |
| return r(e, 17) ^ r(e, 19) ^ e >>> 10 | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(33), | |
| n = i(71), | |
| o = i(215), | |
| s = i(25), | |
| a = r.sum32, | |
| c = r.sum32_4, | |
| h = r.sum32_5, | |
| u = o.ch32, | |
| l = o.maj32, | |
| f = o.s0_256, | |
| d = o.s1_256, | |
| p = o.g0_256, | |
| m = o.g1_256, | |
| g = n.BlockHash, | |
| _ = [1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298]; | |
| function v() { | |
| if (!(this instanceof v)) return new v; | |
| g.call(this), this.h = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225], this.k = _, this.W = new Array(64) | |
| } | |
| r.inherits(v, g), e.exports = v, v.blockSize = 512, v.outSize = 256, v.hmacStrength = 192, v.padLength = 64, v.prototype._update = function (e, t) { | |
| for (var i = this.W, r = 0; r < 16; r++) i[r] = e[t + r]; | |
| for (; r < i.length; r++) i[r] = c(m(i[r - 2]), i[r - 7], p(i[r - 15]), i[r - 16]); | |
| var n = this.h[0], | |
| o = this.h[1], | |
| g = this.h[2], | |
| _ = this.h[3], | |
| v = this.h[4], | |
| y = this.h[5], | |
| b = this.h[6], | |
| x = this.h[7]; | |
| for (s(this.k.length === i.length), r = 0; r < i.length; r++) { | |
| var w = h(x, d(v), u(v, y, b), this.k[r], i[r]), | |
| S = a(f(n), l(n, o, g)); | |
| x = b, b = y, y = v, v = a(_, w), _ = g, g = o, o = n, n = a(w, S) | |
| } | |
| this.h[0] = a(this.h[0], n), this.h[1] = a(this.h[1], o), this.h[2] = a(this.h[2], g), this.h[3] = a(this.h[3], _), this.h[4] = a(this.h[4], v), this.h[5] = a(this.h[5], y), this.h[6] = a(this.h[6], b), this.h[7] = a(this.h[7], x) | |
| }, v.prototype._digest = function (e) { | |
| return "hex" === e ? r.toHex32(this.h, "big") : r.split32(this.h, "big") | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(33), | |
| n = i(71), | |
| o = i(25), | |
| s = r.rotr64_hi, | |
| a = r.rotr64_lo, | |
| c = r.shr64_hi, | |
| h = r.shr64_lo, | |
| u = r.sum64, | |
| l = r.sum64_hi, | |
| f = r.sum64_lo, | |
| d = r.sum64_4_hi, | |
| p = r.sum64_4_lo, | |
| m = r.sum64_5_hi, | |
| g = r.sum64_5_lo, | |
| _ = n.BlockHash, | |
| v = [1116352408, 3609767458, 1899447441, 602891725, 3049323471, 3964484399, 3921009573, 2173295548, 961987163, 4081628472, 1508970993, 3053834265, 2453635748, 2937671579, 2870763221, 3664609560, 3624381080, 2734883394, 310598401, 1164996542, 607225278, 1323610764, 1426881987, 3590304994, 1925078388, 4068182383, 2162078206, 991336113, 2614888103, 633803317, 3248222580, 3479774868, 3835390401, 2666613458, 4022224774, 944711139, 264347078, 2341262773, 604807628, 2007800933, 770255983, 1495990901, 1249150122, 1856431235, 1555081692, 3175218132, 1996064986, 2198950837, 2554220882, 3999719339, 2821834349, 766784016, 2952996808, 2566594879, 3210313671, 3203337956, 3336571891, 1034457026, 3584528711, 2466948901, 113926993, 3758326383, 338241895, 168717936, 666307205, 1188179964, 773529912, 1546045734, 1294757372, 1522805485, 1396182291, 2643833823, 1695183700, 2343527390, 1986661051, 1014477480, 2177026350, 1206759142, 2456956037, 344077627, 2730485921, 1290863460, 2820302411, 3158454273, 3259730800, 3505952657, 3345764771, 106217008, 3516065817, 3606008344, 3600352804, 1432725776, 4094571909, 1467031594, 275423344, 851169720, 430227734, 3100823752, 506948616, 1363258195, 659060556, 3750685593, 883997877, 3785050280, 958139571, 3318307427, 1322822218, 3812723403, 1537002063, 2003034995, 1747873779, 3602036899, 1955562222, 1575990012, 2024104815, 1125592928, 2227730452, 2716904306, 2361852424, 442776044, 2428436474, 593698344, 2756734187, 3733110249, 3204031479, 2999351573, 3329325298, 3815920427, 3391569614, 3928383900, 3515267271, 566280711, 3940187606, 3454069534, 4118630271, 4000239992, 116418474, 1914138554, 174292421, 2731055270, 289380356, 3203993006, 460393269, 320620315, 685471733, 587496836, 852142971, 1086792851, 1017036298, 365543100, 1126000580, 2618297676, 1288033470, 3409855158, 1501505948, 4234509866, 1607167915, 987167468, 1816402316, 1246189591]; | |
| function y() { | |
| if (!(this instanceof y)) return new y; | |
| _.call(this), this.h = [1779033703, 4089235720, 3144134277, 2227873595, 1013904242, 4271175723, 2773480762, 1595750129, 1359893119, 2917565137, 2600822924, 725511199, 528734635, 4215389547, 1541459225, 327033209], this.k = v, this.W = new Array(160) | |
| } | |
| function b(e, t, i, r, n) { | |
| var o = e & i ^ ~e & n; | |
| return o < 0 && (o += 4294967296), o | |
| } | |
| function x(e, t, i, r, n, o) { | |
| var s = t & r ^ ~t & o; | |
| return s < 0 && (s += 4294967296), s | |
| } | |
| function w(e, t, i, r, n) { | |
| var o = e & i ^ e & n ^ i & n; | |
| return o < 0 && (o += 4294967296), o | |
| } | |
| function S(e, t, i, r, n, o) { | |
| var s = t & r ^ t & o ^ r & o; | |
| return s < 0 && (s += 4294967296), s | |
| } | |
| function T(e, t) { | |
| var i = s(e, t, 28) ^ s(t, e, 2) ^ s(t, e, 7); | |
| return i < 0 && (i += 4294967296), i | |
| } | |
| function A(e, t) { | |
| var i = a(e, t, 28) ^ a(t, e, 2) ^ a(t, e, 7); | |
| return i < 0 && (i += 4294967296), i | |
| } | |
| function M(e, t) { | |
| var i = s(e, t, 14) ^ s(e, t, 18) ^ s(t, e, 9); | |
| return i < 0 && (i += 4294967296), i | |
| } | |
| function E(e, t) { | |
| var i = a(e, t, 14) ^ a(e, t, 18) ^ a(t, e, 9); | |
| return i < 0 && (i += 4294967296), i | |
| } | |
| function P(e, t) { | |
| var i = s(e, t, 1) ^ s(e, t, 8) ^ c(e, t, 7); | |
| return i < 0 && (i += 4294967296), i | |
| } | |
| function C(e, t) { | |
| var i = a(e, t, 1) ^ a(e, t, 8) ^ h(e, t, 7); | |
| return i < 0 && (i += 4294967296), i | |
| } | |
| function R(e, t) { | |
| var i = s(e, t, 19) ^ s(t, e, 29) ^ c(e, t, 6); | |
| return i < 0 && (i += 4294967296), i | |
| } | |
| function I(e, t) { | |
| var i = a(e, t, 19) ^ a(t, e, 29) ^ h(e, t, 6); | |
| return i < 0 && (i += 4294967296), i | |
| } | |
| r.inherits(y, _), e.exports = y, y.blockSize = 1024, y.outSize = 512, y.hmacStrength = 192, y.padLength = 128, y.prototype._prepareBlock = function (e, t) { | |
| for (var i = this.W, r = 0; r < 32; r++) i[r] = e[t + r]; | |
| for (; r < i.length; r += 2) { | |
| var n = R(i[r - 4], i[r - 3]), | |
| o = I(i[r - 4], i[r - 3]), | |
| s = i[r - 14], | |
| a = i[r - 13], | |
| c = P(i[r - 30], i[r - 29]), | |
| h = C(i[r - 30], i[r - 29]), | |
| u = i[r - 32], | |
| l = i[r - 31]; | |
| i[r] = d(n, o, s, a, c, h, u, l), i[r + 1] = p(n, o, s, a, c, h, u, l) | |
| } | |
| }, y.prototype._update = function (e, t) { | |
| this._prepareBlock(e, t); | |
| var i = this.W, | |
| r = this.h[0], | |
| n = this.h[1], | |
| s = this.h[2], | |
| a = this.h[3], | |
| c = this.h[4], | |
| h = this.h[5], | |
| d = this.h[6], | |
| p = this.h[7], | |
| _ = this.h[8], | |
| v = this.h[9], | |
| y = this.h[10], | |
| P = this.h[11], | |
| C = this.h[12], | |
| R = this.h[13], | |
| I = this.h[14], | |
| D = this.h[15]; | |
| o(this.k.length === i.length); | |
| for (var O = 0; O < i.length; O += 2) { | |
| var L = I, | |
| F = D, | |
| B = M(_, v), | |
| k = E(_, v), | |
| V = b(_, v, y, P, C), | |
| N = x(_, v, y, P, C, R), | |
| z = this.k[O], | |
| U = this.k[O + 1], | |
| G = i[O], | |
| W = i[O + 1], | |
| j = m(L, F, B, k, V, N, z, U, G, W), | |
| H = g(L, F, B, k, V, N, z, U, G, W); | |
| L = T(r, n), F = A(r, n), B = w(r, n, s, a, c), k = S(r, n, s, a, c, h); | |
| var X = l(L, F, B, k), | |
| Y = f(L, F, B, k); | |
| I = C, D = R, C = y, R = P, y = _, P = v, _ = l(d, p, j, H), v = f(p, p, j, H), d = c, p = h, c = s, h = a, s = r, a = n, r = l(j, H, X, Y), n = f(j, H, X, Y) | |
| } | |
| u(this.h, 0, r, n), u(this.h, 2, s, a), u(this.h, 4, c, h), u(this.h, 6, d, p), u(this.h, 8, _, v), u(this.h, 10, y, P), u(this.h, 12, C, R), u(this.h, 14, I, D) | |
| }, y.prototype._digest = function (e) { | |
| return "hex" === e ? r.toHex32(this.h, "big") : r.split32(this.h, "big") | |
| } | |
| }, function (e, t, i) { | |
| function r(e) { | |
| return (r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { | |
| return typeof e | |
| } : function (e) { | |
| return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e | |
| })(e) | |
| } | |
| var n = i(1), | |
| o = i(73).Reporter, | |
| s = i(9).Buffer; | |
| function a(e, t) { | |
| o.call(this, t), s.isBuffer(e) ? (this.base = e, this.offset = 0, this.length = e.length) : this.error("Input not Buffer") | |
| } | |
| function c(e, t) { | |
| if (Array.isArray(e)) this.length = 0, this.value = e.map(function (e) { | |
| return e instanceof c || (e = new c(e, t)), this.length += e.length, e | |
| }, this); | |
| else if ("number" == typeof e) { | |
| if (!(0 <= e && e <= 255)) return t.error("non-byte EncoderBuffer value"); | |
| this.value = e, this.length = 1 | |
| } else if ("string" == typeof e) this.value = e, this.length = s.byteLength(e); | |
| else { | |
| if (!s.isBuffer(e)) return t.error("Unsupported type: " + r(e)); | |
| this.value = e, this.length = e.length | |
| } | |
| } | |
| n(a, o), t.DecoderBuffer = a, a.prototype.save = function () { | |
| return { | |
| offset: this.offset, | |
| reporter: o.prototype.save.call(this) | |
| } | |
| }, a.prototype.restore = function (e) { | |
| var t = new a(this.base); | |
| return t.offset = e.offset, t.length = this.offset, this.offset = e.offset, o.prototype.restore.call(this, e.reporter), t | |
| }, a.prototype.isEmpty = function () { | |
| return this.offset === this.length | |
| }, a.prototype.readUInt8 = function (e) { | |
| return this.offset + 1 <= this.length ? this.base.readUInt8(this.offset++, !0) : this.error(e || "DecoderBuffer overrun") | |
| }, a.prototype.skip = function (e, t) { | |
| if (!(this.offset + e <= this.length)) return this.error(t || "DecoderBuffer overrun"); | |
| var i = new a(this.base); | |
| return i._reporterState = this._reporterState, i.offset = this.offset, i.length = this.offset + e, this.offset += e, i | |
| }, a.prototype.raw = function (e) { | |
| return this.base.slice(e ? e.offset : this.offset, this.length) | |
| }, t.EncoderBuffer = c, c.prototype.join = function (e, t) { | |
| return e || (e = new s(this.length)), t || (t = 0), 0 === this.length ? e : (Array.isArray(this.value) ? this.value.forEach(function (i) { | |
| i.join(e, t), t += i.length | |
| }) : ("number" == typeof this.value ? e[t] = this.value : "string" == typeof this.value ? e.write(this.value, t) : s.isBuffer(this.value) && this.value.copy(e, t), t += this.length), e) | |
| } | |
| }, function (e, t, i) { | |
| var r = t; | |
| r._reverse = function (e) { | |
| var t = {}; | |
| return Object.keys(e).forEach(function (i) { | |
| (0 | i) == i && (i |= 0); | |
| var r = e[i]; | |
| t[r] = i | |
| }), t | |
| }, r.der = i(575) | |
| }, function (e, t, i) { | |
| var r = i(1), | |
| n = i(72), | |
| o = n.base, | |
| s = n.bignum, | |
| a = n.constants.der; | |
| function c(e) { | |
| this.enc = "der", this.name = e.name, this.entity = e, this.tree = new h, this.tree._init(e.body) | |
| } | |
| function h(e) { | |
| o.Node.call(this, "der", e) | |
| } | |
| function u(e, t) { | |
| var i = e.readUInt8(t); | |
| if (e.isError(i)) return i; | |
| var r = a.tagClass[i >> 6], | |
| n = 0 == (32 & i); | |
| if (31 == (31 & i)) { | |
| var o = i; | |
| for (i = 0; 128 == (128 & o);) { | |
| if (o = e.readUInt8(t), e.isError(o)) return o; | |
| i <<= 7, i |= 127 & o | |
| } | |
| } else i &= 31; | |
| return { | |
| cls: r, | |
| primitive: n, | |
| tag: i, | |
| tagStr: a.tag[i] | |
| } | |
| } | |
| function l(e, t, i) { | |
| var r = e.readUInt8(i); | |
| if (e.isError(r)) return r; | |
| if (!t && 128 === r) return null; | |
| if (0 == (128 & r)) return r; | |
| var n = 127 & r; | |
| if (n > 4) return e.error("length octect is too long"); | |
| r = 0; | |
| for (var o = 0; o < n; o++) { | |
| r <<= 8; | |
| var s = e.readUInt8(i); | |
| if (e.isError(s)) return s; | |
| r |= s | |
| } | |
| return r | |
| } | |
| e.exports = c, c.prototype.decode = function (e, t) { | |
| return e instanceof o.DecoderBuffer || (e = new o.DecoderBuffer(e, t)), this.tree._decode(e, t) | |
| }, r(h, o.Node), h.prototype._peekTag = function (e, t, i) { | |
| if (e.isEmpty()) return !1; | |
| var r = e.save(), | |
| n = u(e, 'Failed to peek tag: "' + t + '"'); | |
| return e.isError(n) ? n : (e.restore(r), n.tag === t || n.tagStr === t || n.tagStr + "of" === t || i) | |
| }, h.prototype._decodeTag = function (e, t, i) { | |
| var r = u(e, 'Failed to decode tag of "' + t + '"'); | |
| if (e.isError(r)) return r; | |
| var n = l(e, r.primitive, 'Failed to get length of "' + t + '"'); | |
| if (e.isError(n)) return n; | |
| if (!i && r.tag !== t && r.tagStr !== t && r.tagStr + "of" !== t) return e.error('Failed to match tag: "' + t + '"'); | |
| if (r.primitive || null !== n) return e.skip(n, 'Failed to match body of: "' + t + '"'); | |
| var o = e.save(), | |
| s = this._skipUntilEnd(e, 'Failed to skip indefinite length body: "' + this.tag + '"'); | |
| return e.isError(s) ? s : (n = e.offset - o.offset, e.restore(o), e.skip(n, 'Failed to match body of: "' + t + '"')) | |
| }, h.prototype._skipUntilEnd = function (e, t) { | |
| for (;;) { | |
| var i = u(e, t); | |
| if (e.isError(i)) return i; | |
| var r, n = l(e, i.primitive, t); | |
| if (e.isError(n)) return n; | |
| if (r = i.primitive || null !== n ? e.skip(n) : this._skipUntilEnd(e, t), e.isError(r)) return r; | |
| if ("end" === i.tagStr) break | |
| } | |
| }, h.prototype._decodeList = function (e, t, i, r) { | |
| for (var n = []; !e.isEmpty();) { | |
| var o = this._peekTag(e, "end"); | |
| if (e.isError(o)) return o; | |
| var s = i.decode(e, "der", r); | |
| if (e.isError(s) && o) break; | |
| n.push(s) | |
| } | |
| return n | |
| }, h.prototype._decodeStr = function (e, t) { | |
| if ("bitstr" === t) { | |
| var i = e.readUInt8(); | |
| return e.isError(i) ? i : { | |
| unused: i, | |
| data: e.raw() | |
| } | |
| } | |
| if ("bmpstr" === t) { | |
| var r = e.raw(); | |
| if (r.length % 2 == 1) return e.error("Decoding of string type: bmpstr length mismatch"); | |
| for (var n = "", o = 0; o < r.length / 2; o++) n += String.fromCharCode(r.readUInt16BE(2 * o)); | |
| return n | |
| } | |
| if ("numstr" === t) { | |
| var s = e.raw().toString("ascii"); | |
| return this._isNumstr(s) ? s : e.error("Decoding of string type: numstr unsupported characters") | |
| } | |
| if ("octstr" === t) return e.raw(); | |
| if ("objDesc" === t) return e.raw(); | |
| if ("printstr" === t) { | |
| var a = e.raw().toString("ascii"); | |
| return this._isPrintstr(a) ? a : e.error("Decoding of string type: printstr unsupported characters") | |
| } | |
| return /str$/.test(t) ? e.raw().toString() : e.error("Decoding of string type: " + t + " unsupported") | |
| }, h.prototype._decodeObjid = function (e, t, i) { | |
| for (var r, n = [], o = 0; !e.isEmpty();) { | |
| var s = e.readUInt8(); | |
| o <<= 7, o |= 127 & s, 0 == (128 & s) && (n.push(o), o = 0) | |
| } | |
| 128 & s && n.push(o); | |
| var a = n[0] / 40 | 0, | |
| c = n[0] % 40; | |
| if (r = i ? n : [a, c].concat(n.slice(1)), t) { | |
| var h = t[r.join(" ")]; | |
| void 0 === h && (h = t[r.join(".")]), void 0 !== h && (r = h) | |
| } | |
| return r | |
| }, h.prototype._decodeTime = function (e, t) { | |
| var i = e.raw().toString(); | |
| if ("gentime" === t) var r = 0 | i.slice(0, 4), | |
| n = 0 | i.slice(4, 6), | |
| o = 0 | i.slice(6, 8), | |
| s = 0 | i.slice(8, 10), | |
| a = 0 | i.slice(10, 12), | |
| c = 0 | i.slice(12, 14); | |
| else { | |
| if ("utctime" !== t) return e.error("Decoding " + t + " time is not supported yet"); | |
| r = 0 | i.slice(0, 2), n = 0 | i.slice(2, 4), o = 0 | i.slice(4, 6), s = 0 | i.slice(6, 8), a = 0 | i.slice(8, 10), c = 0 | i.slice(10, 12); | |
| r = r < 70 ? 2e3 + r : 1900 + r | |
| } | |
| return Date.UTC(r, n - 1, o, s, a, c, 0) | |
| }, h.prototype._decodeNull = function (e) { | |
| return null | |
| }, h.prototype._decodeBool = function (e) { | |
| var t = e.readUInt8(); | |
| return e.isError(t) ? t : 0 !== t | |
| }, h.prototype._decodeInt = function (e, t) { | |
| var i = e.raw(), | |
| r = new s(i); | |
| return t && (r = t[r.toString(10)] || r), r | |
| }, h.prototype._use = function (e, t) { | |
| return "function" == typeof e && (e = e(t)), e._getDecoder("der").tree | |
| } | |
| }, function (e, t, i) { | |
| var r = i(1), | |
| n = i(9).Buffer, | |
| o = i(72), | |
| s = o.base, | |
| a = o.constants.der; | |
| function c(e) { | |
| this.enc = "der", this.name = e.name, this.entity = e, this.tree = new h, this.tree._init(e.body) | |
| } | |
| function h(e) { | |
| s.Node.call(this, "der", e) | |
| } | |
| function u(e) { | |
| return e < 10 ? "0" + e : e | |
| } | |
| e.exports = c, c.prototype.encode = function (e, t) { | |
| return this.tree._encode(e, t).join() | |
| }, r(h, s.Node), h.prototype._encodeComposite = function (e, t, i, r) { | |
| var o, s = function (e, t, i, r) { | |
| var n; | |
| "seqof" === e ? e = "seq" : "setof" === e && (e = "set"); | |
| if (a.tagByName.hasOwnProperty(e)) n = a.tagByName[e]; | |
| else { | |
| if ("number" != typeof e || (0 | e) !== e) return r.error("Unknown tag: " + e); | |
| n = e | |
| } | |
| if (n >= 31) return r.error("Multi-octet tag encoding unsupported"); | |
| t || (n |= 32); | |
| return n |= a.tagClassByName[i || "universal"] << 6 | |
| }(e, t, i, this.reporter); | |
| if (r.length < 128) return (o = new n(2))[0] = s, o[1] = r.length, this._createEncoderBuffer([o, r]); | |
| for (var c = 1, h = r.length; h >= 256; h >>= 8) c++; | |
| (o = new n(2 + c))[0] = s, o[1] = 128 | c; | |
| h = 1 + c; | |
| for (var u = r.length; u > 0; h--, u >>= 8) o[h] = 255 & u; | |
| return this._createEncoderBuffer([o, r]) | |
| }, h.prototype._encodeStr = function (e, t) { | |
| if ("bitstr" === t) return this._createEncoderBuffer([0 | e.unused, e.data]); | |
| if ("bmpstr" === t) { | |
| for (var i = new n(2 * e.length), r = 0; r < e.length; r++) i.writeUInt16BE(e.charCodeAt(r), 2 * r); | |
| return this._createEncoderBuffer(i) | |
| } | |
| return "numstr" === t ? this._isNumstr(e) ? this._createEncoderBuffer(e) : this.reporter.error("Encoding of string type: numstr supports only digits and space") : "printstr" === t ? this._isPrintstr(e) ? this._createEncoderBuffer(e) : this.reporter.error("Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark") : /str$/.test(t) ? this._createEncoderBuffer(e) : "objDesc" === t ? this._createEncoderBuffer(e) : this.reporter.error("Encoding of string type: " + t + " unsupported") | |
| }, h.prototype._encodeObjid = function (e, t, i) { | |
| if ("string" == typeof e) { | |
| if (!t) return this.reporter.error("string objid given, but no values map found"); | |
| if (!t.hasOwnProperty(e)) return this.reporter.error("objid not found in values map"); | |
| e = t[e].split(/[\s\.]+/g); | |
| for (var r = 0; r < e.length; r++) e[r] |= 0 | |
| } else if (Array.isArray(e)) { | |
| e = e.slice(); | |
| for (r = 0; r < e.length; r++) e[r] |= 0 | |
| } | |
| if (!Array.isArray(e)) return this.reporter.error("objid() should be either array or string, got: " + JSON.stringify(e)); | |
| if (!i) { | |
| if (e[1] >= 40) return this.reporter.error("Second objid identifier OOB"); | |
| e.splice(0, 2, 40 * e[0] + e[1]) | |
| } | |
| var o = 0; | |
| for (r = 0; r < e.length; r++) { | |
| var s = e[r]; | |
| for (o++; s >= 128; s >>= 7) o++ | |
| } | |
| var a = new n(o), | |
| c = a.length - 1; | |
| for (r = e.length - 1; r >= 0; r--) { | |
| s = e[r]; | |
| for (a[c--] = 127 & s; | |
| (s >>= 7) > 0;) a[c--] = 128 | 127 & s | |
| } | |
| return this._createEncoderBuffer(a) | |
| }, h.prototype._encodeTime = function (e, t) { | |
| var i, r = new Date(e); | |
| return "gentime" === t ? i = [u(r.getFullYear()), u(r.getUTCMonth() + 1), u(r.getUTCDate()), u(r.getUTCHours()), u(r.getUTCMinutes()), u(r.getUTCSeconds()), "Z"].join("") : "utctime" === t ? i = [u(r.getFullYear() % 100), u(r.getUTCMonth() + 1), u(r.getUTCDate()), u(r.getUTCHours()), u(r.getUTCMinutes()), u(r.getUTCSeconds()), "Z"].join("") : this.reporter.error("Encoding " + t + " time is not supported yet"), this._encodeStr(i, "octstr") | |
| }, h.prototype._encodeNull = function () { | |
| return this._createEncoderBuffer("") | |
| }, h.prototype._encodeInt = function (e, t) { | |
| if ("string" == typeof e) { | |
| if (!t) return this.reporter.error("String int or enum given, but no values map"); | |
| if (!t.hasOwnProperty(e)) return this.reporter.error("Values map doesn't contain: " + JSON.stringify(e)); | |
| e = t[e] | |
| } | |
| if ("number" != typeof e && !n.isBuffer(e)) { | |
| var i = e.toArray(); | |
| !e.sign && 128 & i[0] && i.unshift(0), e = new n(i) | |
| } | |
| if (n.isBuffer(e)) { | |
| var r = e.length; | |
| 0 === e.length && r++; | |
| var o = new n(r); | |
| return e.copy(o), 0 === e.length && (o[0] = 0), this._createEncoderBuffer(o) | |
| } | |
| if (e < 128) return this._createEncoderBuffer(e); | |
| if (e < 256) return this._createEncoderBuffer([0, e]); | |
| r = 1; | |
| for (var s = e; s >= 256; s >>= 8) r++; | |
| for (s = (o = new Array(r)).length - 1; s >= 0; s--) o[s] = 255 & e, e >>= 8; | |
| return 128 & o[0] && o.unshift(0), this._createEncoderBuffer(new n(o)) | |
| }, h.prototype._encodeBool = function (e) { | |
| return this._createEncoderBuffer(e ? 255 : 0) | |
| }, h.prototype._use = function (e, t) { | |
| return "function" == typeof e && (e = e(t)), e._getEncoder("der").tree | |
| }, h.prototype._skipDefault = function (e, t, i) { | |
| var r, n = this._baseState; | |
| if (null === n.default) return !1; | |
| var o = e.join(); | |
| if (void 0 === n.defaultBuffer && (n.defaultBuffer = this._encodeValue(n.default, t, i).join()), o.length !== n.defaultBuffer.length) return !1; | |
| for (r = 0; r < o.length; r++) | |
| if (o[r] !== n.defaultBuffer[r]) return !1; | |
| return !0 | |
| } | |
| }, function (e) { | |
| e.exports = { | |
| "1.3.132.0.10": "secp256k1", | |
| "1.3.132.0.33": "p224", | |
| "1.2.840.10045.3.1.1": "p192", | |
| "1.2.840.10045.3.1.7": "p256", | |
| "1.3.132.0.34": "p384", | |
| "1.3.132.0.35": "p521" | |
| } | |
| }, function (e, t, i) { | |
| var r = i(69), | |
| n = i(2).Buffer; | |
| function o(e) { | |
| var t = n.allocUnsafe(4); | |
| return t.writeUInt32BE(e, 0), t | |
| } | |
| e.exports = function (e, t) { | |
| for (var i, s = n.alloc(0), a = 0; s.length < t;) i = o(a++), s = n.concat([s, r("sha1").update(e).update(i).digest()]); | |
| return s.slice(0, t) | |
| } | |
| }, function (e, t) { | |
| e.exports = function (e, t) { | |
| for (var i = e.length, r = -1; ++r < i;) e[r] ^= t[r]; | |
| return e | |
| } | |
| }, function (e, t, i) { | |
| var r = i(11), | |
| n = i(2).Buffer; | |
| e.exports = function (e, t) { | |
| return n.from(e.toRed(r.mont(t.modulus)).redPow(new r(t.publicExponent)).fromRed().toArray()) | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| (function (e) { | |
| var r = i(93), | |
| n = i.n(r), | |
| o = i(55), | |
| s = i(18), | |
| a = i(7), | |
| c = i(227); | |
| function h(e, t, i) { | |
| return t in e ? Object.defineProperty(e, t, { | |
| value: i, | |
| enumerable: !0, | |
| configurable: !0, | |
| writable: !0 | |
| }) : e[t] = i, e | |
| } | |
| function u(e) { | |
| return function (e) { | |
| if (Array.isArray(e)) { | |
| for (var t = 0, i = new Array(e.length); t < e.length; t++) i[t] = e[t]; | |
| return i | |
| } | |
| }(e) || function (e) { | |
| if (Symbol.iterator in Object(e) || "[object Arguments]" === Object.prototype.toString.call(e)) return Array.from(e) | |
| }(e) || function () { | |
| throw new TypeError("Invalid attempt to spread non-iterable instance") | |
| }() | |
| } | |
| function l(e, t) { | |
| for (var i = 0; i < t.length; i++) { | |
| var r = t[i]; | |
| r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r) | |
| } | |
| } | |
| var f = function () { | |
| function t(e) { | |
| ! function (e, t) { | |
| if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") | |
| }(this, t), this.initializeState(e), this.welcomeInfoResolve = null, this.peer = null | |
| } | |
| var i, r, f; | |
| return i = t, (r = [{ | |
| key: "initializeState", | |
| value: function (e) { | |
| this.state = { | |
| code: e.code, | |
| name: e.name, | |
| connected: !1, | |
| connecting: !1, | |
| gameStarted: !1, | |
| error: "", | |
| host: null, | |
| players: [], | |
| game: e.game, | |
| changedBlocks: [], | |
| enqueuedChangedBlocks: [], | |
| chatLog: [] | |
| } | |
| } | |
| }, { | |
| key: "handleData", | |
| value: function (e) { | |
| switch (e.type) { | |
| case "startGame": | |
| this.setState({ | |
| gameStarted: !0 | |
| }); | |
| break; | |
| case "players": | |
| this.handlePlayers(e.players); | |
| break; | |
| case "changedBlocks": | |
| this.handleChangedBlocks(e); | |
| break; | |
| case "fireEvent": | |
| this.state.game.handleFireEvent(e.data); | |
| break; | |
| case "chatLog": | |
| this.handleChatLog(e.chatLog); | |
| break; | |
| case "welcomeInfo": | |
| this.handleWelcomeInfo(e); | |
| break; | |
| case "kicked": | |
| this.handleOnKicked(); | |
| break; | |
| default: | |
| throw Error("Unknown input type " + e.type) | |
| } | |
| } | |
| }, { | |
| key: "handleChangedBlocks", | |
| value: function (e) { | |
| if (e.blocks.length || !this.state.game.playerSpawned) | |
| if (this.state.game.worldGenerated) { | |
| if (this.state.enqueuedChangedBlocks.length) { | |
| this.state.changedBlocks = this.state.enqueuedChangedBlocks.splice(0), this.state.game.handleChangedBlocks(this.state.changedBlocks); | |
| for (var t = 0; t < this.state.changedBlocks.length; t++) a.default.getInstance().addBlockChange(this.state.changedBlocks[t]) | |
| } | |
| for (var i = 0; i < e.blocks.length; i++) void 0 === this.state.changedBlocks[e.from + i] && (this.state.changedBlocks[e.from + i] = e.blocks[i], a.default.getInstance().addBlockChange(e.blocks[i])); | |
| this.state.game.handleChangedBlocks(e.blocks) | |
| } else this.state.enqueuedChangedBlocks = u(this.state.enqueuedChangedBlocks).concat(u(e.blocks)) | |
| } | |
| }, { | |
| key: "broadcast", | |
| value: function (e) { | |
| this.peer.connected && this.peer.send(JSON.stringify(e)) | |
| } | |
| }, { | |
| key: "joinGame", | |
| value: function () { | |
| var t = this; | |
| return new e(function (e, i) { | |
| t.setState({ | |
| error: "", | |
| connecting: !0 | |
| }); | |
| var r = t.state, | |
| n = r.code; | |
| r.database; | |
| s.a.getGame(n).then(function (i) { | |
| null == i ? t.handleNoSuchGame(e, n) : t.handleJoinExistingGame(n, e) | |
| }) | |
| }) | |
| } | |
| }, { | |
| key: "handleJoinExistingGame", | |
| value: function (e, t) { | |
| var i = this; | |
| s.a.getICECandidates().then(function (r) { | |
| var o = c(8); | |
| s.a.createSignalingChannel(e, o).then(function () { | |
| var a = new n.a({ | |
| initiator: !0, | |
| trickle: !1, | |
| reconnectTimer: 3e3, | |
| config: { | |
| iceServers: r | |
| } | |
| }); | |
| i.peer = a, a.on("signal", function (t) { | |
| s.a.sendSignalingTo(e, "host", o, t).then(function () {}) | |
| }), s.a.listenForData(e, function (e) { | |
| void 0 !== e.payload.signal && a.signal(e.payload.signal) | |
| }), a.on("data", function (e) { | |
| i.handleData(JSON.parse(e)) | |
| }), i.handleConnectionEstablished(a, t, e), i.pollWorldChanges(), i.handleHostDisconnected(a, e), a.on("error", function (e) { | |
| "ERR_ICE_CONNECTION_FAILURE" === e.code && (console.log("Host disconnected!"), console.log(e), console.log(this)) | |
| }) | |
| }) | |
| }) | |
| } | |
| }, { | |
| key: "handleHostDisconnected", | |
| value: function (e, t) { | |
| var i = this; | |
| e.on("close", function () { | |
| i.setState({ | |
| gameStarted: !1, | |
| connected: !1, | |
| error: "Disconnected from host", | |
| code: "" | |
| }), i.removeOtherPlayers() | |
| }) | |
| } | |
| }, { | |
| key: "handleConnectionEstablished", | |
| value: function (e, t, i) { | |
| var r = this; | |
| e.on("connect", function () { | |
| setTimeout(function () { | |
| r.broadcast({ | |
| type: "connected" | |
| }), r.setState({ | |
| connected: !0, | |
| connecting: !1 | |
| }) | |
| }, 1e3), t(i) | |
| }) | |
| } | |
| }, { | |
| key: "pollWorldChanges", | |
| value: function () { | |
| var e = this; | |
| setInterval(function () { | |
| var t = e.state.changedBlocks.length ? e.state.changedBlocks.length : e.state.enqueuedChangedBlocks.length; | |
| e.broadcast({ | |
| type: "requestChanges", | |
| from: t | |
| }) | |
| }, 1e3) | |
| } | |
| }, { | |
| key: "handleNoSuchGame", | |
| value: function (e, t) { | |
| this.handleWelcomeInfo({ | |
| hostName: "no host", | |
| gameFull: !0, | |
| playerCount: 0, | |
| maxPlayers: 0, | |
| worldSeed: 0, | |
| noSuchGame: !0, | |
| worldSize: 128, | |
| numberOfChangedBlocks: 0 | |
| }), e(t) | |
| } | |
| }, { | |
| key: "getWelcomeInfo", | |
| value: function () { | |
| var t = this; | |
| return new e(function (e, i) { | |
| t.welcomeInfoResolve = e | |
| }) | |
| } | |
| }, { | |
| key: "getSpawnedPlayerNames", | |
| value: function () { | |
| var e = [this.state.name]; | |
| for (var t in this.state.players) this.state.players[t].state.spawned && e.push(this.state.players[t].state.name); | |
| return e | |
| } | |
| }, { | |
| key: "setBlockAt", | |
| value: function (e, t) { | |
| this.broadcast({ | |
| type: "setBlockTypeAt", | |
| data: { | |
| position: e, | |
| blockTypeId: t | |
| } | |
| }) | |
| } | |
| }, { | |
| key: "emitFireEvent", | |
| value: function (e) { | |
| this.broadcast({ | |
| type: "fireEvent", | |
| data: e | |
| }) | |
| } | |
| }, { | |
| key: "sendJoined", | |
| value: function (e) { | |
| var t = { | |
| message: "", | |
| timestamp: +new Date, | |
| type: "joined", | |
| from: e | |
| }; | |
| this.broadcast({ | |
| type: "message", | |
| message: t | |
| }) | |
| } | |
| }, { | |
| key: "sendMessage", | |
| value: function (e) { | |
| var t = { | |
| message: e, | |
| timestamp: +new Date, | |
| type: "message", | |
| from: this.state.name | |
| }; | |
| this.broadcast({ | |
| type: "message", | |
| message: t | |
| }) | |
| } | |
| }, { | |
| key: "setState", | |
| value: function (e, t) { | |
| "Disconnected from host" == e.error && this.state.game.onHostDisconnect && this.state.game.onHostDisconnect(), this.state = function (e) { | |
| for (var t = 1; t < arguments.length; t++) { | |
| var i = null != arguments[t] ? arguments[t] : {}, | |
| r = Object.keys(i); | |
| "function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(i).filter(function (e) { | |
| return Object.getOwnPropertyDescriptor(i, e).enumerable | |
| }))), r.forEach(function (t) { | |
| h(e, t, i[t]) | |
| }) | |
| } | |
| return e | |
| }({}, this.state, e), t && "function" == typeof t && t() | |
| } | |
| }, { | |
| key: "removeOtherPlayers", | |
| value: function () { | |
| for (var e in this.state.players) e !== this.state.name && (this.state.players[e].noaPlayer.remove(), delete this.state.players[e]) | |
| } | |
| }, { | |
| key: "handlePlayers", | |
| value: function (e) { | |
| if (this.state.game.playerSpawned) { | |
| var t = []; | |
| for (var i in e) | |
| if (!0 === e[i].state.spawned) { | |
| var r = e[i].state.name; | |
| t.push(r), r !== this.state.name && void 0 === this.state.players[r] && (this.state.players[r] = new o.a({ | |
| name: r, | |
| isClient: !0 | |
| })), r !== this.state.name && this.state.players[r].setState(e[i].state) | |
| } for (var n in this.state.players) - 1 === t.indexOf(n) && (this.state.players[n].noaPlayer.remove(), delete this.state.players[n]) | |
| } | |
| } | |
| }, { | |
| key: "kickPlayer", | |
| value: function (e) { | |
| return "Command not allowed" | |
| } | |
| }, { | |
| key: "setSpawnToCurrentPosition", | |
| value: function () { | |
| return "Command not allowed" | |
| } | |
| }, { | |
| key: "getPositionFor", | |
| value: function (e) { | |
| for (var t in this.state.players) | |
| if (this.state.players[t].state.name === e) return this.state.players[t].state.position; | |
| return null | |
| } | |
| }, { | |
| key: "handleChatLog", | |
| value: function (e) { | |
| this.state.game.playerSpawned && (this.state.chatLog = e, this.state.game.updateChatLog(this.state.chatLog)) | |
| } | |
| }, { | |
| key: "handleOnKicked", | |
| value: function () { | |
| this.state.game.playerSpawned && this.state.game.onKicked() | |
| } | |
| }, { | |
| key: "handleWelcomeInfo", | |
| value: function (e) { | |
| null != this.welcomeInfoResolve && this.welcomeInfoResolve(e), this.state.game.setHostInfo({ | |
| hostName: e.hostName, | |
| gameFull: e.gameFull, | |
| playerCount: e.playerCount, | |
| maxPlayers: e.maxPlayers, | |
| worldSeed: e.worldSeed, | |
| worldSize: e.worldSize, | |
| spawnPoint: e.spawnPoint, | |
| noSuchGame: void 0 !== e.noSuchGame && e.noSuchGame, | |
| numberOfChangedBlocks: e.numberOfChangedBlocks | |
| }), e.gameFull && this.peer.destroy() | |
| } | |
| }]) && l(i.prototype, r), f && l(i, f), t | |
| }(); | |
| t.a = f | |
| }).call(this, i(52)) | |
| }, function (e, t, i) { | |
| (function (t) { | |
| var r = i(512); | |
| e.exports = function (e, i) { | |
| if (t.isBuffer(e) && (i = e, e = 0), "number" != typeof e && (e = 16), !t.isBuffer(i)) { | |
| var n = Math.log(Math.pow(64, e)) / Math.log(2) / 8; | |
| i = r.randomBytes(n) | |
| } | |
| return i.toString("base64").replace(/\//g, "_").replace(/\+/g, "-").replace(/=/g, "").substr(0, e || void 0) | |
| } | |
| }).call(this, i(9).Buffer) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| i.r(t); | |
| i(229), i(396); | |
| var r = i(18), | |
| n = i(136), | |
| o = i(226), | |
| s = i(94), | |
| a = i(55), | |
| c = i(135), | |
| h = i(7); | |
| function u(e, t) { | |
| for (var i = 0; i < t.length; i++) { | |
| var r = t[i]; | |
| r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r) | |
| } | |
| } | |
| new(function () { | |
| function e() { | |
| var t = this; | |
| ! function (e, t) { | |
| if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") | |
| }(this, e), r.a.init(), r.a.executeXhr("/game/multiplayer-enabled", "get").then(function (e) { | |
| var i = new s.a, | |
| r = Math.floor(99999999999999 * Math.random()), | |
| n = new URL(document.location).searchParams; | |
| h.default.getInstance().gameSaved() && (r = h.default.getInstance().getWorldSeed()), i.noWebrtcJoin = !1; | |
| var o = new c.default; | |
| if (o.isMobile) document.getElementById("mobile").style.display = "block"; | |
| else if (o.isWebGLSupported) { | |
| var a = JSON.parse(e).multiplayerEnabled; | |
| o.isSinglePlayer || "true" !== a ? t.setupAsSinglePlayer(r, i) : null === n.get("join") ? t.setupAsHost(n, r, i) : o.isWebRTCSupported ? t.setupAsClient(n, i) : (t.setupAsHost(n, r, i), i.noWebrtcJoin = !0) | |
| } else document.getElementById("webgl_webrtc").style.display = "block" | |
| }) | |
| } | |
| var t, i, l; | |
| return t = e, (i = [{ | |
| key: "setupAsClient", | |
| value: function (e, t) { | |
| var i = e.get("join"), | |
| r = new o.a({ | |
| code: i, | |
| game: t | |
| }), | |
| n = null; | |
| t.setName = function (e) { | |
| null === n && (n = new a.a({ | |
| name: e, | |
| network: r, | |
| isSelf: !0, | |
| isClient: !0 | |
| }, function (e) { | |
| r.broadcast({ | |
| type: "playerState", | |
| data: { | |
| state: e | |
| } | |
| }) | |
| }), r.setState({ | |
| name: e | |
| }), t.setPlayer(n)) | |
| }, r.joinGame().then(function (e) { | |
| h.default.getInstance().clearData() | |
| }), r.getWelcomeInfo().then(function (e) { | |
| h.default.getInstance().setWorldSeed(e.worldSeed), h.default.getInstance().setWorldSize(e.worldSize), t.initialize({ | |
| seed: e.worldSeed, | |
| network: r | |
| }), t.client = r | |
| }) | |
| } | |
| }, { | |
| key: "setupAsSinglePlayer", | |
| value: function (e, t) { | |
| var i = new n.a({ | |
| name: "temp", | |
| seed: e, | |
| game: t | |
| }); | |
| if (h.default.getInstance().setWorldSeed(e), h.default.getInstance().gameSaved()) { | |
| var r = h.default.getInstance().getChangedBlocks(); | |
| i.setChangedBlocks(r) | |
| } | |
| t.initialize({ | |
| seed: e, | |
| player: i.getPlayer(), | |
| network: i, | |
| singlePlayer: !0 | |
| }), t.setChangedBlockHandler(i.changedBlockHandler), t.setName = function (e) { | |
| i.setName(e) | |
| } | |
| } | |
| }, { | |
| key: "setupAsHost", | |
| value: function (e, t, i) { | |
| var r = this, | |
| o = null !== e.get("host") ? e.get("host") : null, | |
| s = new n.a({ | |
| name: "temp", | |
| seed: t, | |
| game: i | |
| }); | |
| if (h.default.getInstance().setWorldSeed(t), h.default.getInstance().gameSaved()) { | |
| var a = h.default.getInstance().getChangedBlocks(); | |
| s.setChangedBlocks(a) | |
| } | |
| s.initNewGame(o).then(function (n) { | |
| r.setHostUrl(e, n), i.initialize({ | |
| seed: t, | |
| player: s.getPlayer(), | |
| network: s | |
| }), i.setChangedBlockHandler(s.changedBlockHandler) | |
| }), i.setName = function (e) { | |
| s.setName(e) | |
| } | |
| } | |
| }, { | |
| key: "setHostUrl", | |
| value: function (e, t) { | |
| if ("URLSearchParams" in window) { | |
| var i = new URLSearchParams(window.location.search); | |
| i.set("host", t), history.pushState({}, t, "?" + i.toString()) | |
| } | |
| } | |
| }]) && u(t.prototype, i), l && u(t, l), e | |
| }()) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| (function (e) { | |
| i(230), i(373), i(375), i(377), i(379), i(381), i(383), i(385), i(387), i(389), i(393), e._babelPolyfill && "undefined" != typeof console && console.warn && console.warn("@babel/polyfill is loaded more than once on this page. This is probably not desirable/intended and may have consequences if different versions of the polyfills are applied sequentially. If you do need to load the polyfill more than once, use @babel/polyfill/noConflict instead to bypass the warning."), e._babelPolyfill = !0 | |
| }).call(this, i(15)) | |
| }, function (e, t, i) { | |
| i(231), i(233), i(234), i(235), i(236), i(237), i(238), i(239), i(240), i(241), i(242), i(243), i(244), i(245), i(246), i(247), i(248), i(249), i(250), i(251), i(252), i(253), i(254), i(255), i(256), i(257), i(258), i(259), i(260), i(261), i(262), i(263), i(264), i(265), i(266), i(267), i(268), i(269), i(270), i(271), i(272), i(273), i(274), i(276), i(277), i(278), i(279), i(280), i(281), i(282), i(283), i(284), i(285), i(286), i(287), i(288), i(289), i(290), i(291), i(292), i(293), i(294), i(295), i(296), i(297), i(298), i(299), i(300), i(301), i(302), i(303), i(304), i(305), i(306), i(307), i(308), i(309), i(311), i(312), i(314), i(315), i(316), i(317), i(318), i(319), i(320), i(323), i(324), i(325), i(326), i(327), i(328), i(329), i(330), i(331), i(332), i(333), i(334), i(335), i(117), i(336), i(156), i(337), i(157), i(338), i(339), i(340), i(341), i(158), i(344), i(345), i(346), i(347), i(348), i(349), i(350), i(351), i(352), i(353), i(354), i(355), i(356), i(357), i(358), i(359), i(360), i(361), i(362), i(363), i(364), i(365), i(366), i(367), i(368), i(369), i(370), i(371), i(372), e.exports = i(14) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| function r(e) { | |
| return (r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { | |
| return typeof e | |
| } : function (e) { | |
| return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e | |
| })(e) | |
| } | |
| var n = i(5), | |
| o = i(22), | |
| s = i(13), | |
| a = i(0), | |
| c = i(19), | |
| h = i(40).KEY, | |
| u = i(3), | |
| l = i(96), | |
| f = i(56), | |
| d = i(45), | |
| p = i(8), | |
| m = i(97), | |
| g = i(138), | |
| _ = i(232), | |
| v = i(100), | |
| y = i(4), | |
| b = i(6), | |
| x = i(24), | |
| w = i(39), | |
| S = i(44), | |
| T = i(49), | |
| A = i(141), | |
| M = i(29), | |
| E = i(12), | |
| P = i(47), | |
| C = M.f, | |
| R = E.f, | |
| I = A.f, | |
| D = n.Symbol, | |
| O = n.JSON, | |
| L = O && O.stringify, | |
| F = p("_hidden"), | |
| B = p("toPrimitive"), | |
| k = {}.propertyIsEnumerable, | |
| V = l("symbol-registry"), | |
| N = l("symbols"), | |
| z = l("op-symbols"), | |
| U = Object.prototype, | |
| G = "function" == typeof D, | |
| W = n.QObject, | |
| j = !W || !W.prototype || !W.prototype.findChild, | |
| H = s && u(function () { | |
| return 7 != T(R({}, "a", { | |
| get: function () { | |
| return R(this, "a", { | |
| value: 7 | |
| }).a | |
| } | |
| })).a | |
| }) ? function (e, t, i) { | |
| var r = C(U, t); | |
| r && delete U[t], R(e, t, i), r && e !== U && R(U, t, r) | |
| } : R, | |
| X = function (e) { | |
| var t = N[e] = T(D.prototype); | |
| return t._k = e, t | |
| }, | |
| Y = G && "symbol" == r(D.iterator) ? function (e) { | |
| return "symbol" == r(e) | |
| } : function (e) { | |
| return e instanceof D | |
| }, | |
| K = function (e, t, i) { | |
| return e === U && K(z, t, i), y(e), t = w(t, !0), y(i), o(N, t) ? (i.enumerable ? (o(e, F) && e[F][t] && (e[F][t] = !1), i = T(i, { | |
| enumerable: S(0, !1) | |
| })) : (o(e, F) || R(e, F, S(1, {})), e[F][t] = !0), H(e, t, i)) : R(e, t, i) | |
| }, | |
| q = function (e, t) { | |
| y(e); | |
| for (var i, r = _(t = x(t)), n = 0, o = r.length; o > n;) K(e, i = r[n++], t[i]); | |
| return e | |
| }, | |
| Z = function (e) { | |
| var t = k.call(this, e = w(e, !0)); | |
| return !(this === U && o(N, e) && !o(z, e)) && (!(t || !o(this, e) || !o(N, e) || o(this, F) && this[F][e]) || t) | |
| }, | |
| Q = function (e, t) { | |
| if (e = x(e), t = w(t, !0), e !== U || !o(N, t) || o(z, t)) { | |
| var i = C(e, t); | |
| return !i || !o(N, t) || o(e, F) && e[F][t] || (i.enumerable = !0), i | |
| } | |
| }, | |
| J = function (e) { | |
| for (var t, i = I(x(e)), r = [], n = 0; i.length > n;) o(N, t = i[n++]) || t == F || t == h || r.push(t); | |
| return r | |
| }, | |
| $ = function (e) { | |
| for (var t, i = e === U, r = I(i ? z : x(e)), n = [], s = 0; r.length > s;) !o(N, t = r[s++]) || i && !o(U, t) || n.push(N[t]); | |
| return n | |
| }; | |
| G || (c((D = function () { | |
| if (this instanceof D) throw TypeError("Symbol is not a constructor!"); | |
| var e = d(arguments.length > 0 ? arguments[0] : void 0); | |
| return s && j && H(U, e, { | |
| configurable: !0, | |
| set: function t(i) { | |
| this === U && t.call(z, i), o(this, F) && o(this[F], e) && (this[F][e] = !1), H(this, e, S(1, i)) | |
| } | |
| }), X(e) | |
| }).prototype, "toString", function () { | |
| return this._k | |
| }), M.f = Q, E.f = K, i(50).f = A.f = J, i(65).f = Z, i(75).f = $, s && !i(46) && c(U, "propertyIsEnumerable", Z, !0), m.f = function (e) { | |
| return X(p(e)) | |
| }), a(a.G + a.W + a.F * !G, { | |
| Symbol: D | |
| }); | |
| for (var ee = "hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","), te = 0; ee.length > te;) p(ee[te++]); | |
| for (var ie = P(p.store), re = 0; ie.length > re;) g(ie[re++]); | |
| a(a.S + a.F * !G, "Symbol", { | |
| for: function (e) { | |
| return o(V, e += "") ? V[e] : V[e] = D(e) | |
| }, | |
| keyFor: function (e) { | |
| if (!Y(e)) throw TypeError(e + " is not a symbol!"); | |
| for (var t in V) | |
| if (V[t] === e) return t | |
| }, | |
| useSetter: function () { | |
| j = !0 | |
| }, | |
| useSimple: function () { | |
| j = !1 | |
| } | |
| }), a(a.S + a.F * !G, "Object", { | |
| create: function (e, t) { | |
| return void 0 === t ? T(e) : q(T(e), t) | |
| }, | |
| defineProperty: K, | |
| defineProperties: q, | |
| getOwnPropertyDescriptor: Q, | |
| getOwnPropertyNames: J, | |
| getOwnPropertySymbols: $ | |
| }), O && a(a.S + a.F * (!G || u(function () { | |
| var e = D(); | |
| return "[null]" != L([e]) || "{}" != L({ | |
| a: e | |
| }) || "{}" != L(Object(e)) | |
| })), "JSON", { | |
| stringify: function (e) { | |
| for (var t, i, r = [e], n = 1; arguments.length > n;) r.push(arguments[n++]); | |
| if (i = t = r[1], (b(t) || void 0 !== e) && !Y(e)) return v(t) || (t = function (e, t) { | |
| if ("function" == typeof i && (t = i.call(this, e, t)), !Y(t)) return t | |
| }), r[1] = t, L.apply(O, r) | |
| } | |
| }), D.prototype[B] || i(23)(D.prototype, B, D.prototype.valueOf), f(D, "Symbol"), f(Math, "Math", !0), f(n.JSON, "JSON", !0) | |
| }, function (e, t, i) { | |
| var r = i(47), | |
| n = i(75), | |
| o = i(65); | |
| e.exports = function (e) { | |
| var t = r(e), | |
| i = n.f; | |
| if (i) | |
| for (var s, a = i(e), c = o.f, h = 0; a.length > h;) c.call(e, s = a[h++]) && t.push(s); | |
| return t | |
| } | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.S, "Object", { | |
| create: i(49) | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.S + r.F * !i(13), "Object", { | |
| defineProperty: i(12).f | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.S + r.F * !i(13), "Object", { | |
| defineProperties: i(140) | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(24), | |
| n = i(29).f; | |
| i(30)("getOwnPropertyDescriptor", function () { | |
| return function (e, t) { | |
| return n(r(e), t) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(20), | |
| n = i(51); | |
| i(30)("getPrototypeOf", function () { | |
| return function (e) { | |
| return n(r(e)) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(20), | |
| n = i(47); | |
| i(30)("keys", function () { | |
| return function (e) { | |
| return n(r(e)) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| i(30)("getOwnPropertyNames", function () { | |
| return i(141).f | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(6), | |
| n = i(40).onFreeze; | |
| i(30)("freeze", function (e) { | |
| return function (t) { | |
| return e && r(t) ? e(n(t)) : t | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(6), | |
| n = i(40).onFreeze; | |
| i(30)("seal", function (e) { | |
| return function (t) { | |
| return e && r(t) ? e(n(t)) : t | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(6), | |
| n = i(40).onFreeze; | |
| i(30)("preventExtensions", function (e) { | |
| return function (t) { | |
| return e && r(t) ? e(n(t)) : t | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(6); | |
| i(30)("isFrozen", function (e) { | |
| return function (t) { | |
| return !r(t) || !!e && e(t) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(6); | |
| i(30)("isSealed", function (e) { | |
| return function (t) { | |
| return !r(t) || !!e && e(t) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(6); | |
| i(30)("isExtensible", function (e) { | |
| return function (t) { | |
| return !!r(t) && (!e || e(t)) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.S + r.F, "Object", { | |
| assign: i(142) | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.S, "Object", { | |
| is: i(143) | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.S, "Object", { | |
| setPrototypeOf: i(102).set | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(66), | |
| n = {}; | |
| n[i(8)("toStringTag")] = "z", n + "" != "[object z]" && i(19)(Object.prototype, "toString", function () { | |
| return "[object " + r(this) + "]" | |
| }, !0) | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.P, "Function", { | |
| bind: i(144) | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(12).f, | |
| n = Function.prototype, | |
| o = /^\s*function ([^ (]*)/; | |
| "name" in n || i(13) && r(n, "name", { | |
| configurable: !0, | |
| get: function () { | |
| try { | |
| return ("" + this).match(o)[1] | |
| } catch (e) { | |
| return "" | |
| } | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(6), | |
| n = i(51), | |
| o = i(8)("hasInstance"), | |
| s = Function.prototype; | |
| o in s || i(12).f(s, o, { | |
| value: function (e) { | |
| if ("function" != typeof this || !r(e)) return !1; | |
| if (!r(this.prototype)) return e instanceof this; | |
| for (; e = n(e);) | |
| if (this.prototype === e) return !0; | |
| return !1 | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(146); | |
| r(r.G + r.F * (parseInt != n), { | |
| parseInt: n | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(147); | |
| r(r.G + r.F * (parseFloat != n), { | |
| parseFloat: n | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(5), | |
| n = i(22), | |
| o = i(36), | |
| s = i(104), | |
| a = i(39), | |
| c = i(3), | |
| h = i(50).f, | |
| u = i(29).f, | |
| l = i(12).f, | |
| f = i(76).trim, | |
| d = r.Number, | |
| p = d, | |
| m = d.prototype, | |
| g = "Number" == o(i(49)(m)), | |
| _ = "trim" in String.prototype, | |
| v = function (e) { | |
| var t = a(e, !1); | |
| if ("string" == typeof t && t.length > 2) { | |
| var i, r, n, o = (t = _ ? t.trim() : f(t, 3)).charCodeAt(0); | |
| if (43 === o || 45 === o) { | |
| if (88 === (i = t.charCodeAt(2)) || 120 === i) return NaN | |
| } else if (48 === o) { | |
| switch (t.charCodeAt(1)) { | |
| case 66: | |
| case 98: | |
| r = 2, n = 49; | |
| break; | |
| case 79: | |
| case 111: | |
| r = 8, n = 55; | |
| break; | |
| default: | |
| return +t | |
| } | |
| for (var s, c = t.slice(2), h = 0, u = c.length; h < u; h++) | |
| if ((s = c.charCodeAt(h)) < 48 || s > n) return NaN; | |
| return parseInt(c, r) | |
| } | |
| } | |
| return +t | |
| }; | |
| if (!d(" 0o1") || !d("0b1") || d("+0x1")) { | |
| d = function (e) { | |
| var t = arguments.length < 1 ? 0 : e, | |
| i = this; | |
| return i instanceof d && (g ? c(function () { | |
| m.valueOf.call(i) | |
| }) : "Number" != o(i)) ? s(new p(v(t)), i, d) : v(t) | |
| }; | |
| for (var y, b = i(13) ? h(p) : "MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","), x = 0; b.length > x; x++) n(p, y = b[x]) && !n(d, y) && l(d, y, u(p, y)); | |
| d.prototype = m, m.constructor = d, i(19)(r, "Number", d) | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(28), | |
| o = i(148), | |
| s = i(105), | |
| a = 1..toFixed, | |
| c = Math.floor, | |
| h = [0, 0, 0, 0, 0, 0], | |
| u = "Number.toFixed: incorrect invocation!", | |
| l = function (e, t) { | |
| for (var i = -1, r = t; ++i < 6;) r += e * h[i], h[i] = r % 1e7, r = c(r / 1e7) | |
| }, | |
| f = function (e) { | |
| for (var t = 6, i = 0; --t >= 0;) i += h[t], h[t] = c(i / e), i = i % e * 1e7 | |
| }, | |
| d = function () { | |
| for (var e = 6, t = ""; --e >= 0;) | |
| if ("" !== t || 0 === e || 0 !== h[e]) { | |
| var i = String(h[e]); | |
| t = "" === t ? i : t + s.call("0", 7 - i.length) + i | |
| } return t | |
| }, | |
| p = function e(t, i, r) { | |
| return 0 === i ? r : i % 2 == 1 ? e(t, i - 1, r * t) : e(t * t, i / 2, r) | |
| }; | |
| r(r.P + r.F * (!!a && ("0.000" !== 8e-5.toFixed(3) || "1" !== .9.toFixed(0) || "1.25" !== 1.255.toFixed(2) || "1000000000000000128" !== (0xde0b6b3a7640080).toFixed(0)) || !i(3)(function () { | |
| a.call({}) | |
| })), "Number", { | |
| toFixed: function (e) { | |
| var t, i, r, a, c = o(this, u), | |
| h = n(e), | |
| m = "", | |
| g = "0"; | |
| if (h < 0 || h > 20) throw RangeError(u); | |
| if (c != c) return "NaN"; | |
| if (c <= -1e21 || c >= 1e21) return String(c); | |
| if (c < 0 && (m = "-", c = -c), c > 1e-21) | |
| if (i = (t = function (e) { | |
| for (var t = 0, i = e; i >= 4096;) t += 12, i /= 4096; | |
| for (; i >= 2;) t += 1, i /= 2; | |
| return t | |
| }(c * p(2, 69, 1)) - 69) < 0 ? c * p(2, -t, 1) : c / p(2, t, 1), i *= 4503599627370496, (t = 52 - t) > 0) { | |
| for (l(0, i), r = h; r >= 7;) l(1e7, 0), r -= 7; | |
| for (l(p(10, r, 1), 0), r = t - 1; r >= 23;) f(1 << 23), r -= 23; | |
| f(1 << r), l(1, 1), f(2), g = d() | |
| } else l(0, i), l(1 << -t, 0), g = d() + s.call("0", h); | |
| return g = h > 0 ? m + ((a = g.length) <= h ? "0." + s.call("0", h - a) + g : g.slice(0, a - h) + "." + g.slice(a - h)) : m + g | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(3), | |
| o = i(148), | |
| s = 1..toPrecision; | |
| r(r.P + r.F * (n(function () { | |
| return "1" !== s.call(1, void 0) | |
| }) || !n(function () { | |
| s.call({}) | |
| })), "Number", { | |
| toPrecision: function (e) { | |
| var t = o(this, "Number#toPrecision: incorrect invocation!"); | |
| return void 0 === e ? s.call(t) : s.call(t, e) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.S, "Number", { | |
| EPSILON: Math.pow(2, -52) | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(5).isFinite; | |
| r(r.S, "Number", { | |
| isFinite: function (e) { | |
| return "number" == typeof e && n(e) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.S, "Number", { | |
| isInteger: i(149) | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.S, "Number", { | |
| isNaN: function (e) { | |
| return e != e | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(149), | |
| o = Math.abs; | |
| r(r.S, "Number", { | |
| isSafeInteger: function (e) { | |
| return n(e) && o(e) <= 9007199254740991 | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.S, "Number", { | |
| MAX_SAFE_INTEGER: 9007199254740991 | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.S, "Number", { | |
| MIN_SAFE_INTEGER: -9007199254740991 | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(147); | |
| r(r.S + r.F * (Number.parseFloat != n), "Number", { | |
| parseFloat: n | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(146); | |
| r(r.S + r.F * (Number.parseInt != n), "Number", { | |
| parseInt: n | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(150), | |
| o = Math.sqrt, | |
| s = Math.acosh; | |
| r(r.S + r.F * !(s && 710 == Math.floor(s(Number.MAX_VALUE)) && s(1 / 0) == 1 / 0), "Math", { | |
| acosh: function (e) { | |
| return (e = +e) < 1 ? NaN : e > 94906265.62425156 ? Math.log(e) + Math.LN2 : n(e - 1 + o(e - 1) * o(e + 1)) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = Math.asinh; | |
| r(r.S + r.F * !(n && 1 / n(0) > 0), "Math", { | |
| asinh: function e(t) { | |
| return isFinite(t = +t) && 0 != t ? t < 0 ? -e(-t) : Math.log(t + Math.sqrt(t * t + 1)) : t | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = Math.atanh; | |
| r(r.S + r.F * !(n && 1 / n(-0) < 0), "Math", { | |
| atanh: function (e) { | |
| return 0 == (e = +e) ? e : Math.log((1 + e) / (1 - e)) / 2 | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(106); | |
| r(r.S, "Math", { | |
| cbrt: function (e) { | |
| return n(e = +e) * Math.pow(Math.abs(e), 1 / 3) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.S, "Math", { | |
| clz32: function (e) { | |
| return (e >>>= 0) ? 31 - Math.floor(Math.log(e + .5) * Math.LOG2E) : 32 | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = Math.exp; | |
| r(r.S, "Math", { | |
| cosh: function (e) { | |
| return (n(e = +e) + n(-e)) / 2 | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(107); | |
| r(r.S + r.F * (n != Math.expm1), "Math", { | |
| expm1: n | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.S, "Math", { | |
| fround: i(275) | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(106), | |
| n = Math.pow, | |
| o = n(2, -52), | |
| s = n(2, -23), | |
| a = n(2, 127) * (2 - s), | |
| c = n(2, -126); | |
| e.exports = Math.fround || function (e) { | |
| var t, i, n = Math.abs(e), | |
| h = r(e); | |
| return n < c ? h * (n / c / s + 1 / o - 1 / o) * c * s : (i = (t = (1 + s / o) * n) - (t - n)) > a || i != i ? h * (1 / 0) : h * i | |
| } | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = Math.abs; | |
| r(r.S, "Math", { | |
| hypot: function (e, t) { | |
| for (var i, r, o = 0, s = 0, a = arguments.length, c = 0; s < a;) c < (i = n(arguments[s++])) ? (o = o * (r = c / i) * r + 1, c = i) : o += i > 0 ? (r = i / c) * r : i; | |
| return c === 1 / 0 ? 1 / 0 : c * Math.sqrt(o) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = Math.imul; | |
| r(r.S + r.F * i(3)(function () { | |
| return -5 != n(4294967295, 5) || 2 != n.length | |
| }), "Math", { | |
| imul: function (e, t) { | |
| var i = +e, | |
| r = +t, | |
| n = 65535 & i, | |
| o = 65535 & r; | |
| return 0 | n * o + ((65535 & i >>> 16) * o + n * (65535 & r >>> 16) << 16 >>> 0) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.S, "Math", { | |
| log10: function (e) { | |
| return Math.log(e) * Math.LOG10E | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.S, "Math", { | |
| log1p: i(150) | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.S, "Math", { | |
| log2: function (e) { | |
| return Math.log(e) / Math.LN2 | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.S, "Math", { | |
| sign: i(106) | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(107), | |
| o = Math.exp; | |
| r(r.S + r.F * i(3)(function () { | |
| return -2e-17 != !Math.sinh(-2e-17) | |
| }), "Math", { | |
| sinh: function (e) { | |
| return Math.abs(e = +e) < 1 ? (n(e) - n(-e)) / 2 : (o(e - 1) - o(-e - 1)) * (Math.E / 2) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(107), | |
| o = Math.exp; | |
| r(r.S, "Math", { | |
| tanh: function (e) { | |
| var t = n(e = +e), | |
| i = n(-e); | |
| return t == 1 / 0 ? 1 : i == 1 / 0 ? -1 : (t - i) / (o(e) + o(-e)) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.S, "Math", { | |
| trunc: function (e) { | |
| return (e > 0 ? Math.floor : Math.ceil)(e) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(48), | |
| o = String.fromCharCode, | |
| s = String.fromCodePoint; | |
| r(r.S + r.F * (!!s && 1 != s.length), "String", { | |
| fromCodePoint: function (e) { | |
| for (var t, i = [], r = arguments.length, s = 0; r > s;) { | |
| if (t = +arguments[s++], n(t, 1114111) !== t) throw RangeError(t + " is not a valid code point"); | |
| i.push(t < 65536 ? o(t) : o(55296 + ((t -= 65536) >> 10), t % 1024 + 56320)) | |
| } | |
| return i.join("") | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(24), | |
| o = i(10); | |
| r(r.S, "String", { | |
| raw: function (e) { | |
| for (var t = n(e.raw), i = o(t.length), r = arguments.length, s = [], a = 0; i > a;) s.push(String(t[a++])), a < r && s.push(String(arguments[a])); | |
| return s.join("") | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| i(76)("trim", function (e) { | |
| return function () { | |
| return e(this, 3) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(108)(!0); | |
| i(109)(String, "String", function (e) { | |
| this._t = String(e), this._i = 0 | |
| }, function () { | |
| var e, t = this._t, | |
| i = this._i; | |
| return i >= t.length ? { | |
| value: void 0, | |
| done: !0 | |
| } : (e = r(t, i), this._i += e.length, { | |
| value: e, | |
| done: !1 | |
| }) | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(108)(!1); | |
| r(r.P, "String", { | |
| codePointAt: function (e) { | |
| return n(this, e) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(10), | |
| o = i(110), | |
| s = "".endsWith; | |
| r(r.P + r.F * i(112)("endsWith"), "String", { | |
| endsWith: function (e) { | |
| var t = o(this, e, "endsWith"), | |
| i = arguments.length > 1 ? arguments[1] : void 0, | |
| r = n(t.length), | |
| a = void 0 === i ? r : Math.min(n(i), r), | |
| c = String(e); | |
| return s ? s.call(t, c, a) : t.slice(a - c.length, a) === c | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(110); | |
| r(r.P + r.F * i(112)("includes"), "String", { | |
| includes: function (e) { | |
| return !!~n(this, e, "includes").indexOf(e, arguments.length > 1 ? arguments[1] : void 0) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.P, "String", { | |
| repeat: i(105) | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(10), | |
| o = i(110), | |
| s = "".startsWith; | |
| r(r.P + r.F * i(112)("startsWith"), "String", { | |
| startsWith: function (e) { | |
| var t = o(this, e, "startsWith"), | |
| i = n(Math.min(arguments.length > 1 ? arguments[1] : void 0, t.length)), | |
| r = String(e); | |
| return s ? s.call(t, r, i) : t.slice(i, i + r.length) === r | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| i(21)("anchor", function (e) { | |
| return function (t) { | |
| return e(this, "a", "name", t) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| i(21)("big", function (e) { | |
| return function () { | |
| return e(this, "big", "", "") | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| i(21)("blink", function (e) { | |
| return function () { | |
| return e(this, "blink", "", "") | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| i(21)("bold", function (e) { | |
| return function () { | |
| return e(this, "b", "", "") | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| i(21)("fixed", function (e) { | |
| return function () { | |
| return e(this, "tt", "", "") | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| i(21)("fontcolor", function (e) { | |
| return function (t) { | |
| return e(this, "font", "color", t) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| i(21)("fontsize", function (e) { | |
| return function (t) { | |
| return e(this, "font", "size", t) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| i(21)("italics", function (e) { | |
| return function () { | |
| return e(this, "i", "", "") | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| i(21)("link", function (e) { | |
| return function (t) { | |
| return e(this, "a", "href", t) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| i(21)("small", function (e) { | |
| return function () { | |
| return e(this, "small", "", "") | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| i(21)("strike", function (e) { | |
| return function () { | |
| return e(this, "strike", "", "") | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| i(21)("sub", function (e) { | |
| return function () { | |
| return e(this, "sub", "", "") | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| i(21)("sup", function (e) { | |
| return function () { | |
| return e(this, "sup", "", "") | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.S, "Date", { | |
| now: function () { | |
| return (new Date).getTime() | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(20), | |
| o = i(39); | |
| r(r.P + r.F * i(3)(function () { | |
| return null !== new Date(NaN).toJSON() || 1 !== Date.prototype.toJSON.call({ | |
| toISOString: function () { | |
| return 1 | |
| } | |
| }) | |
| }), "Date", { | |
| toJSON: function (e) { | |
| var t = n(this), | |
| i = o(t); | |
| return "number" != typeof i || isFinite(i) ? t.toISOString() : null | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(310); | |
| r(r.P + r.F * (Date.prototype.toISOString !== n), "Date", { | |
| toISOString: n | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(3), | |
| n = Date.prototype.getTime, | |
| o = Date.prototype.toISOString, | |
| s = function (e) { | |
| return e > 9 ? e : "0" + e | |
| }; | |
| e.exports = r(function () { | |
| return "0385-07-25T07:06:39.999Z" != o.call(new Date(-5e13 - 1)) | |
| }) || !r(function () { | |
| o.call(new Date(NaN)) | |
| }) ? function () { | |
| if (!isFinite(n.call(this))) throw RangeError("Invalid time value"); | |
| var e = this, | |
| t = e.getUTCFullYear(), | |
| i = e.getUTCMilliseconds(), | |
| r = t < 0 ? "-" : t > 9999 ? "+" : ""; | |
| return r + ("00000" + Math.abs(t)).slice(r ? -6 : -4) + "-" + s(e.getUTCMonth() + 1) + "-" + s(e.getUTCDate()) + "T" + s(e.getUTCHours()) + ":" + s(e.getUTCMinutes()) + ":" + s(e.getUTCSeconds()) + "." + (i > 99 ? i : "0" + s(i)) + "Z" | |
| } : o | |
| }, function (e, t, i) { | |
| var r = Date.prototype, | |
| n = r.toString, | |
| o = r.getTime; | |
| new Date(NaN) + "" != "Invalid Date" && i(19)(r, "toString", function () { | |
| var e = o.call(this); | |
| return e == e ? n.call(this) : "Invalid Date" | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(8)("toPrimitive"), | |
| n = Date.prototype; | |
| r in n || i(23)(n, r, i(313)) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(4), | |
| n = i(39); | |
| e.exports = function (e) { | |
| if ("string" !== e && "number" !== e && "default" !== e) throw TypeError("Incorrect hint"); | |
| return n(r(this), "number" != e) | |
| } | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.S, "Array", { | |
| isArray: i(100) | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(34), | |
| n = i(0), | |
| o = i(20), | |
| s = i(152), | |
| a = i(113), | |
| c = i(10), | |
| h = i(114), | |
| u = i(115); | |
| n(n.S + n.F * !i(77)(function (e) { | |
| Array.from(e) | |
| }), "Array", { | |
| from: function (e) { | |
| var t, i, n, l, f = o(e), | |
| d = "function" == typeof this ? this : Array, | |
| p = arguments.length, | |
| m = p > 1 ? arguments[1] : void 0, | |
| g = void 0 !== m, | |
| _ = 0, | |
| v = u(f); | |
| if (g && (m = r(m, p > 2 ? arguments[2] : void 0, 2)), null == v || d == Array && a(v)) | |
| for (i = new d(t = c(f.length)); t > _; _++) h(i, _, g ? m(f[_], _) : f[_]); | |
| else | |
| for (l = v.call(f), i = new d; !(n = l.next()).done; _++) h(i, _, g ? s(l, m, [n.value, _], !0) : n.value); | |
| return i.length = _, i | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(114); | |
| r(r.S + r.F * i(3)(function () { | |
| function e() {} | |
| return !(Array.of.call(e) instanceof e) | |
| }), "Array", { | |
| of: function () { | |
| for (var e = 0, t = arguments.length, i = new("function" == typeof this ? this : Array)(t); t > e;) n(i, e, arguments[e++]); | |
| return i.length = t, i | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(24), | |
| o = [].join; | |
| r(r.P + r.F * (i(64) != Object || !i(26)(o)), "Array", { | |
| join: function (e) { | |
| return o.call(n(this), void 0 === e ? "," : e) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(101), | |
| o = i(36), | |
| s = i(48), | |
| a = i(10), | |
| c = [].slice; | |
| r(r.P + r.F * i(3)(function () { | |
| n && c.call(n) | |
| }), "Array", { | |
| slice: function (e, t) { | |
| var i = a(this.length), | |
| r = o(this); | |
| if (t = void 0 === t ? i : t, "Array" == r) return c.call(this, e, t); | |
| for (var n = s(e, i), h = s(t, i), u = a(h - n), l = new Array(u), f = 0; f < u; f++) l[f] = "String" == r ? this.charAt(n + f) : this[n + f]; | |
| return l | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(35), | |
| o = i(20), | |
| s = i(3), | |
| a = [].sort, | |
| c = [1, 2, 3]; | |
| r(r.P + r.F * (s(function () { | |
| c.sort(void 0) | |
| }) || !s(function () { | |
| c.sort(null) | |
| }) || !i(26)(a)), "Array", { | |
| sort: function (e) { | |
| return void 0 === e ? a.call(o(this)) : a.call(o(this), n(e)) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(31)(0), | |
| o = i(26)([].forEach, !0); | |
| r(r.P + r.F * !o, "Array", { | |
| forEach: function (e) { | |
| return n(this, e, arguments[1]) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(322); | |
| e.exports = function (e, t) { | |
| return new(r(e))(t) | |
| } | |
| }, function (e, t, i) { | |
| var r = i(6), | |
| n = i(100), | |
| o = i(8)("species"); | |
| e.exports = function (e) { | |
| var t; | |
| return n(e) && ("function" != typeof (t = e.constructor) || t !== Array && !n(t.prototype) || (t = void 0), r(t) && null === (t = t[o]) && (t = void 0)), void 0 === t ? Array : t | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(31)(1); | |
| r(r.P + r.F * !i(26)([].map, !0), "Array", { | |
| map: function (e) { | |
| return n(this, e, arguments[1]) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(31)(2); | |
| r(r.P + r.F * !i(26)([].filter, !0), "Array", { | |
| filter: function (e) { | |
| return n(this, e, arguments[1]) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(31)(3); | |
| r(r.P + r.F * !i(26)([].some, !0), "Array", { | |
| some: function (e) { | |
| return n(this, e, arguments[1]) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(31)(4); | |
| r(r.P + r.F * !i(26)([].every, !0), "Array", { | |
| every: function (e) { | |
| return n(this, e, arguments[1]) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(153); | |
| r(r.P + r.F * !i(26)([].reduce, !0), "Array", { | |
| reduce: function (e) { | |
| return n(this, e, arguments.length, arguments[1], !1) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(153); | |
| r(r.P + r.F * !i(26)([].reduceRight, !0), "Array", { | |
| reduceRight: function (e) { | |
| return n(this, e, arguments.length, arguments[1], !0) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(74)(!1), | |
| o = [].indexOf, | |
| s = !!o && 1 / [1].indexOf(1, -0) < 0; | |
| r(r.P + r.F * (s || !i(26)(o)), "Array", { | |
| indexOf: function (e) { | |
| return s ? o.apply(this, arguments) || 0 : n(this, e, arguments[1]) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(24), | |
| o = i(28), | |
| s = i(10), | |
| a = [].lastIndexOf, | |
| c = !!a && 1 / [1].lastIndexOf(1, -0) < 0; | |
| r(r.P + r.F * (c || !i(26)(a)), "Array", { | |
| lastIndexOf: function (e) { | |
| if (c) return a.apply(this, arguments) || 0; | |
| var t = n(this), | |
| i = s(t.length), | |
| r = i - 1; | |
| for (arguments.length > 1 && (r = Math.min(r, o(arguments[1]))), r < 0 && (r = i + r); r >= 0; r--) | |
| if (r in t && t[r] === e) return r || 0; | |
| return -1 | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.P, "Array", { | |
| copyWithin: i(154) | |
| }), i(58)("copyWithin") | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.P, "Array", { | |
| fill: i(116) | |
| }), i(58)("fill") | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(31)(5), | |
| o = !0; | |
| "find" in [] && Array(1).find(function () { | |
| o = !1 | |
| }), r(r.P + r.F * o, "Array", { | |
| find: function (e) { | |
| return n(this, e, arguments.length > 1 ? arguments[1] : void 0) | |
| } | |
| }), i(58)("find") | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(31)(6), | |
| o = "findIndex", | |
| s = !0; | |
| o in [] && Array(1)[o](function () { | |
| s = !1 | |
| }), r(r.P + r.F * s, "Array", { | |
| findIndex: function (e) { | |
| return n(this, e, arguments.length > 1 ? arguments[1] : void 0) | |
| } | |
| }), i(58)(o) | |
| }, function (e, t, i) { | |
| i(59)("Array") | |
| }, function (e, t, i) { | |
| var r = i(5), | |
| n = i(104), | |
| o = i(12).f, | |
| s = i(50).f, | |
| a = i(111), | |
| c = i(78), | |
| h = r.RegExp, | |
| u = h, | |
| l = h.prototype, | |
| f = /a/g, | |
| d = /a/g, | |
| p = new h(f) !== f; | |
| if (i(13) && (!p || i(3)(function () { | |
| return d[i(8)("match")] = !1, h(f) != f || h(d) == d || "/a/i" != h(f, "i") | |
| }))) { | |
| h = function (e, t) { | |
| var i = this instanceof h, | |
| r = a(e), | |
| o = void 0 === t; | |
| return !i && r && e.constructor === h && o ? e : n(p ? new u(r && !o ? e.source : e, t) : u((r = e instanceof h) ? e.source : e, r && o ? c.call(e) : t), i ? this : l, h) | |
| }; | |
| for (var m = function (e) { | |
| e in h || o(h, e, { | |
| configurable: !0, | |
| get: function () { | |
| return u[e] | |
| }, | |
| set: function (t) { | |
| u[e] = t | |
| } | |
| }) | |
| }, g = s(u), _ = 0; g.length > _;) m(g[_++]); | |
| l.constructor = h, h.prototype = l, i(19)(r, "RegExp", h) | |
| } | |
| i(59)("RegExp") | |
| }, function (e, t, i) { | |
| "use strict"; | |
| i(157); | |
| var r = i(4), | |
| n = i(78), | |
| o = i(13), | |
| s = /./.toString, | |
| a = function (e) { | |
| i(19)(RegExp.prototype, "toString", e, !0) | |
| }; | |
| i(3)(function () { | |
| return "/a/b" != s.call({ | |
| source: "a", | |
| flags: "b" | |
| }) | |
| }) ? a(function () { | |
| var e = r(this); | |
| return "/".concat(e.source, "/", "flags" in e ? e.flags : !o && e instanceof RegExp ? n.call(e) : void 0) | |
| }) : "toString" != s.name && a(function () { | |
| return s.call(this) | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(4), | |
| n = i(10), | |
| o = i(119), | |
| s = i(79); | |
| i(80)("match", 1, function (e, t, i, a) { | |
| return [function (i) { | |
| var r = e(this), | |
| n = null == i ? void 0 : i[t]; | |
| return void 0 !== n ? n.call(i, r) : new RegExp(i)[t](String(r)) | |
| }, function (e) { | |
| var t = a(i, e, this); | |
| if (t.done) return t.value; | |
| var c = r(e), | |
| h = String(this); | |
| if (!c.global) return s(c, h); | |
| var u = c.unicode; | |
| c.lastIndex = 0; | |
| for (var l, f = [], d = 0; null !== (l = s(c, h));) { | |
| var p = String(l[0]); | |
| f[d] = p, "" === p && (c.lastIndex = o(h, n(c.lastIndex), u)), d++ | |
| } | |
| return 0 === d ? null : f | |
| }] | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(4), | |
| n = i(20), | |
| o = i(10), | |
| s = i(28), | |
| a = i(119), | |
| c = i(79), | |
| h = Math.max, | |
| u = Math.min, | |
| l = Math.floor, | |
| f = /\$([$&`']|\d\d?|<[^>]*>)/g, | |
| d = /\$([$&`']|\d\d?)/g; | |
| i(80)("replace", 2, function (e, t, i, p) { | |
| return [function (r, n) { | |
| var o = e(this), | |
| s = null == r ? void 0 : r[t]; | |
| return void 0 !== s ? s.call(r, o, n) : i.call(String(o), r, n) | |
| }, function (e, t) { | |
| var n = p(i, e, this, t); | |
| if (n.done) return n.value; | |
| var l = r(e), | |
| f = String(this), | |
| d = "function" == typeof t; | |
| d || (t = String(t)); | |
| var g = l.global; | |
| if (g) { | |
| var _ = l.unicode; | |
| l.lastIndex = 0 | |
| } | |
| for (var v = [];;) { | |
| var y = c(l, f); | |
| if (null === y) break; | |
| if (v.push(y), !g) break; | |
| "" === String(y[0]) && (l.lastIndex = a(f, o(l.lastIndex), _)) | |
| } | |
| for (var b, x = "", w = 0, S = 0; S < v.length; S++) { | |
| y = v[S]; | |
| for (var T = String(y[0]), A = h(u(s(y.index), f.length), 0), M = [], E = 1; E < y.length; E++) M.push(void 0 === (b = y[E]) ? b : String(b)); | |
| var P = y.groups; | |
| if (d) { | |
| var C = [T].concat(M, A, f); | |
| void 0 !== P && C.push(P); | |
| var R = String(t.apply(void 0, C)) | |
| } else R = m(T, f, A, M, P, t); | |
| A >= w && (x += f.slice(w, A) + R, w = A + T.length) | |
| } | |
| return x + f.slice(w) | |
| }]; | |
| function m(e, t, r, o, s, a) { | |
| var c = r + e.length, | |
| h = o.length, | |
| u = d; | |
| return void 0 !== s && (s = n(s), u = f), i.call(a, u, function (i, n) { | |
| var a; | |
| switch (n.charAt(0)) { | |
| case "$": | |
| return "$"; | |
| case "&": | |
| return e; | |
| case "`": | |
| return t.slice(0, r); | |
| case "'": | |
| return t.slice(c); | |
| case "<": | |
| a = s[n.slice(1, -1)]; | |
| break; | |
| default: | |
| var u = +n; | |
| if (0 === u) return n; | |
| if (u > h) { | |
| var f = l(u / 10); | |
| return 0 === f ? n : f <= h ? void 0 === o[f - 1] ? n.charAt(1) : o[f - 1] + n.charAt(1) : n | |
| } | |
| a = o[u - 1] | |
| } | |
| return void 0 === a ? "" : a | |
| }) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(4), | |
| n = i(143), | |
| o = i(79); | |
| i(80)("search", 1, function (e, t, i, s) { | |
| return [function (i) { | |
| var r = e(this), | |
| n = null == i ? void 0 : i[t]; | |
| return void 0 !== n ? n.call(i, r) : new RegExp(i)[t](String(r)) | |
| }, function (e) { | |
| var t = s(i, e, this); | |
| if (t.done) return t.value; | |
| var a = r(e), | |
| c = String(this), | |
| h = a.lastIndex; | |
| n(h, 0) || (a.lastIndex = 0); | |
| var u = o(a, c); | |
| return n(a.lastIndex, h) || (a.lastIndex = h), null === u ? -1 : u.index | |
| }] | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(111), | |
| n = i(4), | |
| o = i(67), | |
| s = i(119), | |
| a = i(10), | |
| c = i(79), | |
| h = i(118), | |
| u = Math.min, | |
| l = [].push, | |
| f = !! function () { | |
| try { | |
| return new RegExp("x", "y") | |
| } catch (e) {} | |
| }(); | |
| i(80)("split", 2, function (e, t, i, d) { | |
| var p = i; | |
| return "c" == "abbc".split(/(b)*/)[1] || 4 != "test".split(/(?:)/, -1).length || 2 != "ab".split(/(?:ab)*/).length || 4 != ".".split(/(.?)(.?)/).length || ".".split(/()()/).length > 1 || "".split(/.?/).length ? p = function (e, t) { | |
| var n = String(this); | |
| if (void 0 === e && 0 === t) return []; | |
| if (!r(e)) return i.call(n, e, t); | |
| for (var o, s, a, c = [], u = (e.ignoreCase ? "i" : "") + (e.multiline ? "m" : "") + (e.unicode ? "u" : "") + (e.sticky ? "y" : ""), f = 0, d = void 0 === t ? 4294967295 : t >>> 0, p = new RegExp(e.source, u + "g"); | |
| (o = h.call(p, n)) && !((s = p.lastIndex) > f && (c.push(n.slice(f, o.index)), o.length > 1 && o.index < n.length && l.apply(c, o.slice(1)), a = o[0].length, f = s, c.length >= d));) p.lastIndex === o.index && p.lastIndex++; | |
| return f === n.length ? !a && p.test("") || c.push("") : c.push(n.slice(f)), c.length > d ? c.slice(0, d) : c | |
| } : "0".split(void 0, 0).length && (p = function (e, t) { | |
| return void 0 === e && 0 === t ? [] : i.call(this, e, t) | |
| }), [function (i, r) { | |
| var n = e(this), | |
| o = null == i ? void 0 : i[t]; | |
| return void 0 !== o ? o.call(i, n, r) : p.call(String(n), i, r) | |
| }, function (e, t) { | |
| var r = d(p, e, this, t, p !== i); | |
| if (r.done) return r.value; | |
| var h = n(e), | |
| l = String(this), | |
| m = o(h, RegExp), | |
| g = h.unicode, | |
| _ = (h.ignoreCase ? "i" : "") + (h.multiline ? "m" : "") + (h.unicode ? "u" : "") + (f ? "y" : "g"), | |
| v = new m(f ? h : "^(?:" + h.source + ")", _), | |
| y = void 0 === t ? 4294967295 : t >>> 0; | |
| if (0 === y) return []; | |
| if (0 === l.length) return null === c(v, l) ? [l] : []; | |
| for (var b = 0, x = 0, w = []; x < l.length;) { | |
| v.lastIndex = f ? x : 0; | |
| var S, T = c(v, f ? l : l.slice(x)); | |
| if (null === T || (S = u(a(v.lastIndex + (f ? 0 : x)), l.length)) === b) x = s(l, x, g); | |
| else { | |
| if (w.push(l.slice(b, x)), w.length === y) return w; | |
| for (var A = 1; A <= T.length - 1; A++) | |
| if (w.push(T[A]), w.length === y) return w; | |
| x = b = S | |
| } | |
| } | |
| return w.push(l.slice(b)), w | |
| }] | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(5), | |
| n = i(120).set, | |
| o = r.MutationObserver || r.WebKitMutationObserver, | |
| s = r.process, | |
| a = r.Promise, | |
| c = "process" == i(36)(s); | |
| e.exports = function () { | |
| var e, t, i, h = function () { | |
| var r, n; | |
| for (c && (r = s.domain) && r.exit(); e;) { | |
| n = e.fn, e = e.next; | |
| try { | |
| n() | |
| } catch (r) { | |
| throw e ? i() : t = void 0, r | |
| } | |
| } | |
| t = void 0, r && r.enter() | |
| }; | |
| if (c) i = function () { | |
| s.nextTick(h) | |
| }; | |
| else if (!o || r.navigator && r.navigator.standalone) | |
| if (a && a.resolve) { | |
| var u = a.resolve(void 0); | |
| i = function () { | |
| u.then(h) | |
| } | |
| } else i = function () { | |
| n.call(r, h) | |
| }; | |
| else { | |
| var l = !0, | |
| f = document.createTextNode(""); | |
| new o(h).observe(f, { | |
| characterData: !0 | |
| }), i = function () { | |
| f.data = l = !l | |
| } | |
| } | |
| return function (r) { | |
| var n = { | |
| fn: r, | |
| next: void 0 | |
| }; | |
| t && (t.next = n), e || (e = n, i()), t = n | |
| } | |
| } | |
| }, function (e, t) { | |
| e.exports = function (e) { | |
| try { | |
| return { | |
| e: !1, | |
| v: e() | |
| } | |
| } catch (e) { | |
| return { | |
| e: !0, | |
| v: e | |
| } | |
| } | |
| } | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(161), | |
| n = i(62); | |
| e.exports = i(83)("Map", function (e) { | |
| return function () { | |
| return e(this, arguments.length > 0 ? arguments[0] : void 0) | |
| } | |
| }, { | |
| get: function (e) { | |
| var t = r.getEntry(n(this, "Map"), e); | |
| return t && t.v | |
| }, | |
| set: function (e, t) { | |
| return r.def(n(this, "Map"), 0 === e ? 0 : e, t) | |
| } | |
| }, r, !0) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(161), | |
| n = i(62); | |
| e.exports = i(83)("Set", function (e) { | |
| return function () { | |
| return e(this, arguments.length > 0 ? arguments[0] : void 0) | |
| } | |
| }, { | |
| add: function (e) { | |
| return r.def(n(this, "Set"), e = 0 === e ? 0 : e, e) | |
| } | |
| }, r) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r, n = i(31)(0), | |
| o = i(19), | |
| s = i(40), | |
| a = i(142), | |
| c = i(162), | |
| h = i(6), | |
| u = i(3), | |
| l = i(62), | |
| f = s.getWeak, | |
| d = Object.isExtensible, | |
| p = c.ufstore, | |
| m = {}, | |
| g = function (e) { | |
| return function () { | |
| return e(this, arguments.length > 0 ? arguments[0] : void 0) | |
| } | |
| }, | |
| _ = { | |
| get: function (e) { | |
| if (h(e)) { | |
| var t = f(e); | |
| return !0 === t ? p(l(this, "WeakMap")).get(e) : t ? t[this._i] : void 0 | |
| } | |
| }, | |
| set: function (e, t) { | |
| return c.def(l(this, "WeakMap"), e, t) | |
| } | |
| }, | |
| v = e.exports = i(83)("WeakMap", g, _, c, !0, !0); | |
| u(function () { | |
| return 7 != (new v).set((Object.freeze || Object)(m), 7).get(m) | |
| }) && (a((r = c.getConstructor(g, "WeakMap")).prototype, _), s.NEED = !0, n(["delete", "has", "get", "set"], function (e) { | |
| var t = v.prototype, | |
| i = t[e]; | |
| o(t, e, function (t, n) { | |
| if (h(t) && !d(t)) { | |
| this._f || (this._f = new r); | |
| var o = this._f[e](t, n); | |
| return "set" == e ? this : o | |
| } | |
| return i.call(this, t, n) | |
| }) | |
| })) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(162), | |
| n = i(62); | |
| i(83)("WeakSet", function (e) { | |
| return function () { | |
| return e(this, arguments.length > 0 ? arguments[0] : void 0) | |
| } | |
| }, { | |
| add: function (e) { | |
| return r.def(n(this, "WeakSet"), e, !0) | |
| } | |
| }, r, !1, !0) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(84), | |
| o = i(121), | |
| s = i(4), | |
| a = i(48), | |
| c = i(10), | |
| h = i(6), | |
| u = i(5).ArrayBuffer, | |
| l = i(67), | |
| f = o.ArrayBuffer, | |
| d = o.DataView, | |
| p = n.ABV && u.isView, | |
| m = f.prototype.slice, | |
| g = n.VIEW; | |
| r(r.G + r.W + r.F * (u !== f), { | |
| ArrayBuffer: f | |
| }), r(r.S + r.F * !n.CONSTR, "ArrayBuffer", { | |
| isView: function (e) { | |
| return p && p(e) || h(e) && g in e | |
| } | |
| }), r(r.P + r.U + r.F * i(3)(function () { | |
| return !new f(2).slice(1, void 0).byteLength | |
| }), "ArrayBuffer", { | |
| slice: function (e, t) { | |
| if (void 0 !== m && void 0 === t) return m.call(s(this), e); | |
| for (var i = s(this).byteLength, r = a(e, i), n = a(void 0 === t ? i : t, i), o = new(l(this, f))(c(n - r)), h = new d(this), u = new d(o), p = 0; r < n;) u.setUint8(p++, h.getUint8(r++)); | |
| return o | |
| } | |
| }), i(59)("ArrayBuffer") | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.G + r.W + r.F * !i(84).ABV, { | |
| DataView: i(121).DataView | |
| }) | |
| }, function (e, t, i) { | |
| i(38)("Int8", 1, function (e) { | |
| return function (t, i, r) { | |
| return e(this, t, i, r) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| i(38)("Uint8", 1, function (e) { | |
| return function (t, i, r) { | |
| return e(this, t, i, r) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| i(38)("Uint8", 1, function (e) { | |
| return function (t, i, r) { | |
| return e(this, t, i, r) | |
| } | |
| }, !0) | |
| }, function (e, t, i) { | |
| i(38)("Int16", 2, function (e) { | |
| return function (t, i, r) { | |
| return e(this, t, i, r) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| i(38)("Uint16", 2, function (e) { | |
| return function (t, i, r) { | |
| return e(this, t, i, r) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| i(38)("Int32", 4, function (e) { | |
| return function (t, i, r) { | |
| return e(this, t, i, r) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| i(38)("Uint32", 4, function (e) { | |
| return function (t, i, r) { | |
| return e(this, t, i, r) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| i(38)("Float32", 4, function (e) { | |
| return function (t, i, r) { | |
| return e(this, t, i, r) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| i(38)("Float64", 8, function (e) { | |
| return function (t, i, r) { | |
| return e(this, t, i, r) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(35), | |
| o = i(4), | |
| s = (i(5).Reflect || {}).apply, | |
| a = Function.apply; | |
| r(r.S + r.F * !i(3)(function () { | |
| s(function () {}) | |
| }), "Reflect", { | |
| apply: function (e, t, i) { | |
| var r = n(e), | |
| c = o(i); | |
| return s ? s(r, t, c) : a.call(r, t, c) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(49), | |
| o = i(35), | |
| s = i(4), | |
| a = i(6), | |
| c = i(3), | |
| h = i(144), | |
| u = (i(5).Reflect || {}).construct, | |
| l = c(function () { | |
| function e() {} | |
| return !(u(function () {}, [], e) instanceof e) | |
| }), | |
| f = !c(function () { | |
| u(function () {}) | |
| }); | |
| r(r.S + r.F * (l || f), "Reflect", { | |
| construct: function (e, t) { | |
| o(e), s(t); | |
| var i = arguments.length < 3 ? e : o(arguments[2]); | |
| if (f && !l) return u(e, t, i); | |
| if (e == i) { | |
| switch (t.length) { | |
| case 0: | |
| return new e; | |
| case 1: | |
| return new e(t[0]); | |
| case 2: | |
| return new e(t[0], t[1]); | |
| case 3: | |
| return new e(t[0], t[1], t[2]); | |
| case 4: | |
| return new e(t[0], t[1], t[2], t[3]) | |
| } | |
| var r = [null]; | |
| return r.push.apply(r, t), new(h.apply(e, r)) | |
| } | |
| var c = i.prototype, | |
| d = n(a(c) ? c : Object.prototype), | |
| p = Function.apply.call(e, d, t); | |
| return a(p) ? p : d | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(12), | |
| n = i(0), | |
| o = i(4), | |
| s = i(39); | |
| n(n.S + n.F * i(3)(function () { | |
| Reflect.defineProperty(r.f({}, 1, { | |
| value: 1 | |
| }), 1, { | |
| value: 2 | |
| }) | |
| }), "Reflect", { | |
| defineProperty: function (e, t, i) { | |
| o(e), t = s(t, !0), o(i); | |
| try { | |
| return r.f(e, t, i), !0 | |
| } catch (e) { | |
| return !1 | |
| } | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(29).f, | |
| o = i(4); | |
| r(r.S, "Reflect", { | |
| deleteProperty: function (e, t) { | |
| var i = n(o(e), t); | |
| return !(i && !i.configurable) && delete e[t] | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(4), | |
| o = function (e) { | |
| this._t = n(e), this._i = 0; | |
| var t, i = this._k = []; | |
| for (t in e) i.push(t) | |
| }; | |
| i(151)(o, "Object", function () { | |
| var e, t = this._k; | |
| do { | |
| if (this._i >= t.length) return { | |
| value: void 0, | |
| done: !0 | |
| } | |
| } while (!((e = t[this._i++]) in this._t)); | |
| return { | |
| value: e, | |
| done: !1 | |
| } | |
| }), r(r.S, "Reflect", { | |
| enumerate: function (e) { | |
| return new o(e) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(29), | |
| n = i(51), | |
| o = i(22), | |
| s = i(0), | |
| a = i(6), | |
| c = i(4); | |
| s(s.S, "Reflect", { | |
| get: function e(t, i) { | |
| var s, h, u = arguments.length < 3 ? t : arguments[2]; | |
| return c(t) === u ? t[i] : (s = r.f(t, i)) ? o(s, "value") ? s.value : void 0 !== s.get ? s.get.call(u) : void 0 : a(h = n(t)) ? e(h, i, u) : void 0 | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(29), | |
| n = i(0), | |
| o = i(4); | |
| n(n.S, "Reflect", { | |
| getOwnPropertyDescriptor: function (e, t) { | |
| return r.f(o(e), t) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(51), | |
| o = i(4); | |
| r(r.S, "Reflect", { | |
| getPrototypeOf: function (e) { | |
| return n(o(e)) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.S, "Reflect", { | |
| has: function (e, t) { | |
| return t in e | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(4), | |
| o = Object.isExtensible; | |
| r(r.S, "Reflect", { | |
| isExtensible: function (e) { | |
| return n(e), !o || o(e) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0); | |
| r(r.S, "Reflect", { | |
| ownKeys: i(164) | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(4), | |
| o = Object.preventExtensions; | |
| r(r.S, "Reflect", { | |
| preventExtensions: function (e) { | |
| n(e); | |
| try { | |
| return o && o(e), !0 | |
| } catch (e) { | |
| return !1 | |
| } | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(12), | |
| n = i(29), | |
| o = i(51), | |
| s = i(22), | |
| a = i(0), | |
| c = i(44), | |
| h = i(4), | |
| u = i(6); | |
| a(a.S, "Reflect", { | |
| set: function e(t, i, a) { | |
| var l, f, d = arguments.length < 4 ? t : arguments[3], | |
| p = n.f(h(t), i); | |
| if (!p) { | |
| if (u(f = o(t))) return e(f, i, a, d); | |
| p = c(0) | |
| } | |
| if (s(p, "value")) { | |
| if (!1 === p.writable || !u(d)) return !1; | |
| if (l = n.f(d, i)) { | |
| if (l.get || l.set || !1 === l.writable) return !1; | |
| l.value = a, r.f(d, i, l) | |
| } else r.f(d, i, c(0, a)); | |
| return !0 | |
| } | |
| return void 0 !== p.set && (p.set.call(d, a), !0) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(102); | |
| n && r(r.S, "Reflect", { | |
| setPrototypeOf: function (e, t) { | |
| n.check(e, t); | |
| try { | |
| return n.set(e, t), !0 | |
| } catch (e) { | |
| return !1 | |
| } | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| i(374), e.exports = i(14).Array.includes | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(74)(!0); | |
| r(r.P, "Array", { | |
| includes: function (e) { | |
| return n(this, e, arguments.length > 1 ? arguments[1] : void 0) | |
| } | |
| }), i(58)("includes") | |
| }, function (e, t, i) { | |
| i(376), e.exports = i(14).String.padStart | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(165), | |
| o = i(82); | |
| r(r.P + r.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(o), "String", { | |
| padStart: function (e) { | |
| return n(this, e, arguments.length > 1 ? arguments[1] : void 0, !0) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| i(378), e.exports = i(14).String.padEnd | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(165), | |
| o = i(82); | |
| r(r.P + r.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(o), "String", { | |
| padEnd: function (e) { | |
| return n(this, e, arguments.length > 1 ? arguments[1] : void 0, !1) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| i(380), e.exports = i(97).f("asyncIterator") | |
| }, function (e, t, i) { | |
| i(138)("asyncIterator") | |
| }, function (e, t, i) { | |
| i(382), e.exports = i(14).Object.getOwnPropertyDescriptors | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(164), | |
| o = i(24), | |
| s = i(29), | |
| a = i(114); | |
| r(r.S, "Object", { | |
| getOwnPropertyDescriptors: function (e) { | |
| for (var t, i, r = o(e), c = s.f, h = n(r), u = {}, l = 0; h.length > l;) void 0 !== (i = c(r, t = h[l++])) && a(u, t, i); | |
| return u | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| i(384), e.exports = i(14).Object.values | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(166)(!1); | |
| r(r.S, "Object", { | |
| values: function (e) { | |
| return n(e) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| i(386), e.exports = i(14).Object.entries | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(166)(!0); | |
| r(r.S, "Object", { | |
| entries: function (e) { | |
| return n(e) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| i(158), i(388), e.exports = i(14).Promise.finally | |
| }, function (e, t, i) { | |
| "use strict"; | |
| var r = i(0), | |
| n = i(14), | |
| o = i(5), | |
| s = i(67), | |
| a = i(160); | |
| r(r.P + r.R, "Promise", { | |
| finally: function (e) { | |
| var t = s(this, n.Promise || o.Promise), | |
| i = "function" == typeof e; | |
| return this.then(i ? function (i) { | |
| return a(t, e()).then(function () { | |
| return i | |
| }) | |
| } : e, i ? function (i) { | |
| return a(t, e()).then(function () { | |
| throw i | |
| }) | |
| } : e) | |
| } | |
| }) | |
| }, function (e, t, i) { | |
| i(390), i(391), i(392), e.exports = i(14) | |
| }, function (e, t, i) { | |
| var r = i(5), | |
| n = i(0), | |
| o = i(82), | |
| s = [].slice, | |
| a = /MSIE .\./.test(o), | |
| c = function (e) { | |
| return function (t, i) { | |
| var r = arguments.length > 2, | |
| n = !!r && s.call(arguments, 2); | |
| return e(r ? function () { | |
| ("function" == typeof t ? t : Function(t)).apply(this, n) | |
| } : t, i) | |
| } | |
| }; | |
| n(n.G + n.B + n.F * a, { | |
| setTimeout: c(r.setTimeout), | |
| setInterval: c(r.setInterval) | |
| }) | |
| }, function (e, t, i) { | |
| var r = i(0), | |
| n = i(120); | |
| r(r.G + r.B, { | |
| setImmediate: n.set, | |
| clearImmediate: n.clear | |
| }) | |
| }, function (e, t, i) { | |
| for (var r = i(117), n = i(47), o = i(19), s = i(5), a = i(23), c = i(57), h = i(8), u = h("iterator"), l = h("toStringTag"), f = c.Array, d = { | |
| CSSRuleList: !0, | |
| CSSStyleDeclaration: !1, | |
| CSSValueList: !1, | |
| ClientRectList: !1, | |
| DOMRectList: !1, | |
| DOMStringList: !1, | |
| DOMTokenList: !0, | |
| DataTransferItemList: !1, | |
| FileList: !1, | |
| HTMLAllCollection: !1, | |
| HTMLCollection: !1, | |
| HTMLFormElement: !1, | |
| HTMLSelectElement: !1, | |
| MediaList: !0, | |
| MimeTypeArray: !1, | |
| NamedNodeMap: !1, | |
| NodeList: !0, | |
| PaintRequestList: !1, | |
| Plugin: !1, | |
| PluginArray: !1, | |
| SVGLengthList: !1, | |
| SVGNumberList: !1, | |
| SVGPathSegList: !1, | |
| SVGPointList: !1, | |
| SVGStringList: !1, | |
| SVGTransformList: !1, | |
| SourceBufferList: !1, | |
| StyleSheetList: !0, | |
| TextTrackCueList: !1, | |
| TextTrackList: !1, | |
| TouchList: !1 | |
| }, p = n(d), m = 0; m < p.length; m++) { | |
| var g, _ = p[m], | |
| v = d[_], | |
| y = s[_], | |
| b = y && y.prototype; | |
| if (b && (b[u] || a(b, u, f), b[l] || a(b, l, _), c[_] = f, v)) | |
| for (g in r) b[g] || o(b, g, r[g], !0) | |
| } | |
| }, function (e, t, i) { | |
| (function (e, t) { | |
| function i(e) { | |
| return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { | |
| return typeof e | |
| } : function (e) { | |
| return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e | |
| })(e) | |
| }! function (r) { | |
| "use strict"; | |
| var n, o = Object.prototype, | |
| s = o.hasOwnProperty, | |
| a = "function" == typeof Symbol ? Symbol : {}, | |
| c = a.iterator || "@@iterator", | |
| h = a.asyncIterator || "@@asyncIterator", | |
| u = a.toStringTag || "@@toStringTag", | |
| l = "object" === i(e), | |
| f = r.regeneratorRuntime; | |
| if (f) l && (e.exports = f); | |
| else { | |
| (f = r.regeneratorRuntime = l ? e.exports : {}).wrap = w; | |
| var d = "suspendedStart", | |
| p = "suspendedYield", | |
| m = "executing", | |
| g = "completed", | |
| _ = {}, | |
| v = {}; | |
| v[c] = function () { | |
| return this | |
| }; | |
| var y = Object.getPrototypeOf, | |
| b = y && y(y(O([]))); | |
| b && b !== o && s.call(b, c) && (v = b); | |
| var x = M.prototype = T.prototype = Object.create(v); | |
| A.prototype = x.constructor = M, M.constructor = A, M[u] = A.displayName = "GeneratorFunction", f.isGeneratorFunction = function (e) { | |
| var t = "function" == typeof e && e.constructor; | |
| return !!t && (t === A || "GeneratorFunction" === (t.displayName || t.name)) | |
| }, f.mark = function (e) { | |
| return Object.setPrototypeOf ? Object.setPrototypeOf(e, M) : (e.__proto__ = M, u in e || (e[u] = "GeneratorFunction")), e.prototype = Object.create(x), e | |
| }, f.awrap = function (e) { | |
| return { | |
| __await: e | |
| } | |
| }, E(P.prototype), P.prototype[h] = function () { | |
| return this | |
| }, f.AsyncIterator = P, f.async = function (e, t, i, r) { | |
| var n = new P(w(e, t, i, r)); | |
| return f.isGeneratorFunction(t) ? n : n.next().then(function (e) { | |
| return e.done ? e.value : n.next() | |
| }) | |
| }, E(x), x[u] = "Generator", x[c] = function () { | |
| return this | |
| }, x.toString = function () { | |
| return "[object Generator]" | |
| }, f.keys = function (e) { | |
| var t = []; | |
| for (var i in e) t.push(i); | |
| return t.reverse(), | |
| function i() { | |
| for (; t.length;) { | |
| var r = t.pop(); | |
| if (r in e) return i.value = r, i.done = !1, i | |
| } | |
| return i.done = !0, i | |
| } | |
| }, f.values = O, D.prototype = { | |
| constructor: D, | |
| reset: function (e) { | |
| if (this.prev = 0, this.next = 0, this.sent = this._sent = n, this.done = !1, this.delegate = null, this.method = "next", this.arg = n, this.tryEntries.forEach(I), !e) | |
| for (var t in this) "t" === t.charAt(0) && s.call(this, t) && !isNaN(+t.slice(1)) && (this[t] = n) | |
| }, | |
| stop: function () { | |
| this.done = !0; | |
| var e = this.tryEntries[0].completion; | |
| if ("throw" === e.type) throw e.arg; | |
| return this.rval | |
| }, | |
| dispatchException: function (e) { | |
| if (this.done) throw e; | |
| var t = this; | |
| function i(i, r) { | |
| return a.type = "throw", a.arg = e, t.next = i, r && (t.method = "next", t.arg = n), !!r | |
| } | |
| for (var r = this.tryEntries.length - 1; r >= 0; --r) { | |
| var o = this.tryEntries[r], | |
| a = o.completion; | |
| if ("root" === o.tryLoc) return i("end"); | |
| if (o.tryLoc <= this.prev) { | |
| var c = s.call(o, "catchLoc"), | |
| h = s.call(o, "finallyLoc"); | |
| if (c && h) { | |
| if (this.prev < o.catchLoc) return i(o.catchLoc, !0); | |
| if (this.prev < o.finallyLoc) return i(o.finallyLoc) | |
| } else if (c) { | |
| if (this.prev < o.catchLoc) return i(o.catchLoc, !0) | |
| } else { | |
| if (!h) throw new Error("try statement without catch or finally"); | |
| if (this.prev < o.finallyLoc) return i(o.finallyLoc) | |
| } | |
| } | |
| } | |
| }, | |
| abrupt: function (e, t) { | |
| for (var i = this.tryEntries.length - 1; i >= 0; --i) { | |
| var r = this.tryEntries[i]; | |
| if (r.tryLoc <= this.prev && s.call(r, "finallyLoc") && this.prev < r.finallyLoc) { | |
| var n = r; | |
| break | |
| } | |
| } | |
| n && ("break" === e || "continue" === e) && n.tryLoc <= t && t <= n.finallyLoc && (n = null); | |
| var o = n ? n.completion : {}; | |
| return o.type = e, o.arg = t, n ? (this.method = "next", this.next = n.finallyLoc, _) : this.complete(o) | |
| }, | |
| complete: function (e, t) { | |
| if ("throw" === e.type) throw e.arg; | |
| return "break" === e.type || "continue" === e.type ? this.next = e.arg : "return" === e.type ? (this.rval = this.arg = e.arg, this.method = "return", this.next = "end") : "normal" === e.type && t && (this.next = t), _ | |
| }, | |
| finish: function (e) { | |
| for (var t = this.tryEntries.length - 1; t >= 0; --t) { | |
| var i = this.tryEntries[t]; | |
| if (i.finallyLoc === e) return this.complete(i.completion, i.afterLoc), I(i), _ | |
| } | |
| }, | |
| catch: function (e) { | |
| for (var t = this.tryEntries.length - 1; t >= 0; --t) { | |
| var i = this.tryEntries[t]; | |
| if (i.tryLoc === e) { | |
| var r = i.completion; | |
| if ("throw" === r.type) { | |
| var n = r.arg; | |
| I(i) | |
| } | |
| return n | |
| } | |
| } | |
| throw new Error("illegal catch attempt") | |
| }, | |
| delegateYield: function (e, t, i) { | |
| return this.delegate = { | |
| iterator: O(e), | |
| resultName: t, | |
| nextLoc: i | |
| }, "next" === this.method && (this.arg = n), _ | |
| } | |
| } | |
| } | |
| function w(e, t, i, r) { | |
| var n = t && t.prototype instanceof T ? t : T, | |
| o = Object.create(n.prototype), | |
| s = new D(r || []); | |
| return o._invoke = function (e, t, i) { | |
| var r = d; | |
| return function (n, o) { | |
| if (r === m) throw new Error("Generator is already running"); | |
| if (r === g) { | |
| if ("throw" === n) throw o; | |
| return L() | |
| } | |
| for (i.method = n, i.arg = o;;) { | |
| var s = i.delegate; | |
| if (s) { | |
| var a = C(s, i); | |
| if (a) { | |
| if (a === _) continue; | |
| return a | |
| } | |
| } | |
| if ("next" === i.method) i.sent = i._sent = i.arg; | |
| else if ("throw" === i.method) { | |
| if (r === d) throw r = g, i.arg; | |
| i.dispatchException(i.arg) | |
| } else "return" === i.method && i.abrupt("return", i.arg); | |
| r = m; | |
| var c = S(e, t, i); | |
| if ("normal" === c.type) { | |
| if (r = i.done ? g : p, c.arg === _) continue; | |
| return { | |
| value: c.arg, | |
| done: i.done | |
| } | |
| } | |
| "throw" === c.type && (r = g, i.method = "throw", i.arg = c.arg) | |
| } | |
| } | |
| }(e, i, s), o | |
| } | |
| function S(e, t, i) { | |
| try { | |
| return { | |
| type: "normal", | |
| arg: e.call(t, i) | |
| } | |
| } catch (e) { | |
| return { | |
| type: "throw", | |
| arg: e | |
| } | |
| } | |
| } | |
| function T() {} | |
| function A() {} | |
| function M() {} | |
| function E(e) { | |
| ["next", "throw", "return"].forEach(function (t) { | |
| e[t] = function (e) { | |
| return this._invoke(t, e) | |
| } | |
| }) | |
| } | |
| function P(e) { | |
| var r; | |
| this._invoke = function (n, o) { | |
| function a() { | |
| return new t(function (r, a) { | |
| ! function r(n, o, a, c) { | |
| var h = S(e[n], e, o); | |
| if ("throw" !== h.type) { | |
| var u = h.arg, | |
| l = u.value; | |
| return l && "object" === i(l) && s.call(l, "__await") ? t.resolve(l.__await).then(function (e) { | |
| r("next", e, a, c) | |
| }, function (e) { | |
| r("throw", e, a, c) | |
| }) : t.resolve(l).then(function (e) { | |
| u.value = e, a(u) | |
| }, function (e) { | |
| return r("throw", e, a, c) | |
| }) | |
| } | |
| c(h.arg) | |
| }(n, o, r, a) | |
| }) | |
| } | |
| return r = r ? r.then(a, a) : a() | |
| } | |
| } | |
| function C(e, t) { | |
| var i = e.iterator[t.method]; | |
| if (i === n) { | |
| if (t.delegate = null, "throw" === t.method) { | |
| if (e.iterator.return && (t.method = "return", t.arg = n, C(e, t), "throw" === t.method)) return _; | |
| t.method = "throw", t.arg = new TypeError("The iterator does not provide a 'throw' method") | |
| } | |
| return _ | |
| } | |
| var r = S(i, e.iterator, t.arg); | |
| if ("throw" === r.type) return t.method = "throw", t.arg = r.arg, t.delegate = null, _; | |
| var o = r.arg; | |
| return o ? o.done ? (t[e.resultName] = o.value, t.next = e.nextLoc, "return" !== t.method && (t.method = "next", t.arg = n), t.delegate = null, _) : o : (t.method = "throw", t.arg = new TypeError("iterator result is not an object"), t.delegate = null, _) | |
| } | |
| function R(e) { | |
| var t = { | |
| tryLoc: e[0] | |
| }; | |
| 1 in e && (t.catchLoc = e[1]), 2 in e && (t.finallyLoc = e[2], t.afterLoc = e[3]), this.tryEntries.push(t) | |
| } | |
| function I(e) { | |
| var t = e.completion || {}; | |
| t.type = "normal", delete t.arg, e.completion = t | |
| } | |
| function D(e) { | |
| this.tryEntries = [{ | |
| tryLoc: "root" | |
| }], e.forEach(R, this), this.reset(!0) | |
| } | |
| function O(e) { | |
| if (e) { | |
| var t = e[c]; | |
| if (t) return t.call(e); | |
| if ("function" == typeof e.next) return e; | |
| if (!isNaN(e.length)) { | |
| var i = -1, | |
| r = function t() { | |
| for (; ++i < e.length;) | |
| if (s.call(e, i)) return t.value = e[i], t.done = !1, t; | |
| return t.value = n, t.done = !0, t | |
| }; | |
| return r.next = r | |
| } | |
| } | |
| return { | |
| next: L | |
| } | |
| } | |
| function L() { | |
| return { | |
| value: n, | |
| done: !0 | |
| } | |
| } | |
| }(function () { | |
| return this || "object" === ("undefined" == typeof self ? "undefined" : i(self)) && self | |
| }() || Function("return this")()) | |
| }).call(this, i(167)(e), i(52)) | |
| }, function (e, t, i) { | |
| (function (r, n) { | |
| var o, s, a; | |
| function c(e) { | |
| return (c = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { | |
| return typeof e | |
| } : function (e) { | |
| return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e | |
| })(e) | |
| } | |
| /*! | |
| * @overview es6-promise - a tiny implementation of Promises/A+. | |
| * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) | |
| * @license Licensed under MIT license | |
| * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE | |
| * @version 3.3.1 | |
| */ | |
| /*! | |
| * @overview es6-promise - a tiny implementation of Promises/A+. | |
| * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) | |
| * @license Licensed under MIT license | |
| * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE | |
| * @version 3.3.1 | |
| */ | |
| a = function () { | |
| "use strict"; | |
| function e(e) { | |
| return "function" == typeof e | |
| } | |
| var t = Array.isArray ? Array.isArray : function (e) { | |
| return "[object Array]" === Object.prototype.toString.call(e) | |
| }, | |
| o = 0, | |
| s = void 0, | |
| a = void 0, | |
| h = function (e, t) { | |
| g[o] = e, g[o + 1] = t, 2 === (o += 2) && (a ? a(_) : w()) | |
| }, | |
| u = "undefined" != typeof window ? window : void 0, | |
| l = u || {}, | |
| f = l.MutationObserver || l.WebKitMutationObserver, | |
| d = "undefined" == typeof self && void 0 !== r && "[object process]" === {}.toString.call(r), | |
| p = "undefined" != typeof Uint8ClampedArray && "undefined" != typeof importScripts && "undefined" != typeof MessageChannel; | |
| function m() { | |
| var e = setTimeout; | |
| return function () { | |
| return e(_, 1) | |
| } | |
| } | |
| var g = new Array(1e3); | |
| function _() { | |
| for (var e = 0; e < o; e += 2) { | |
| (0, g[e])(g[e + 1]), g[e] = void 0, g[e + 1] = void 0 | |
| } | |
| o = 0 | |
| } | |
| var v, y, b, x, w = void 0; | |
| function S(e, t) { | |
| var i = arguments, | |
| r = this, | |
| n = new this.constructor(M); | |
| void 0 === n[A] && W(n); | |
| var o, s = r._state; | |
| return s ? (o = i[s - 1], h(function () { | |
| return U(s, n, o, r._result) | |
| })) : k(r, n, e, t), n | |
| } | |
| function T(e) { | |
| if (e && "object" === c(e) && e.constructor === this) return e; | |
| var t = new this(M); | |
| return O(t, e), t | |
| } | |
| d ? w = function () { | |
| return r.nextTick(_) | |
| } : f ? (y = 0, b = new f(_), x = document.createTextNode(""), b.observe(x, { | |
| characterData: !0 | |
| }), w = function () { | |
| x.data = y = ++y % 2 | |
| }) : p ? ((v = new MessageChannel).port1.onmessage = _, w = function () { | |
| return v.port2.postMessage(0) | |
| }) : w = void 0 === u ? function () { | |
| try { | |
| var e = i(395); | |
| return s = e.runOnLoop || e.runOnContext, | |
| function () { | |
| s(_) | |
| } | |
| } catch (e) { | |
| return m() | |
| } | |
| }() : m(); | |
| var A = Math.random().toString(36).substring(16); | |
| function M() {} | |
| var E = void 0, | |
| P = 1, | |
| C = 2, | |
| R = new N; | |
| function I(e) { | |
| try { | |
| return e.then | |
| } catch (e) { | |
| return R.error = e, R | |
| } | |
| } | |
| function D(t, i, r) { | |
| i.constructor === t.constructor && r === S && i.constructor.resolve === T ? function (e, t) { | |
| t._state === P ? F(e, t._result) : t._state === C ? B(e, t._result) : k(t, void 0, function (t) { | |
| return O(e, t) | |
| }, function (t) { | |
| return B(e, t) | |
| }) | |
| }(t, i) : r === R ? B(t, R.error) : void 0 === r ? F(t, i) : e(r) ? function (e, t, i) { | |
| h(function (e) { | |
| var r = !1, | |
| n = function (e, t, i, r) { | |
| try { | |
| e.call(t, i, r) | |
| } catch (e) { | |
| return e | |
| } | |
| }(i, t, function (i) { | |
| r || (r = !0, t !== i ? O(e, i) : F(e, i)) | |
| }, function (t) { | |
| r || (r = !0, B(e, t)) | |
| }, e._label); | |
| !r && n && (r = !0, B(e, n)) | |
| }, e) | |
| }(t, i, r) : F(t, i) | |
| } | |
| function O(e, t) { | |
| var i; | |
| e === t ? B(e, new TypeError("You cannot resolve a promise with itself")) : "function" == typeof (i = t) || "object" === c(i) && null !== i ? D(e, t, I(t)) : F(e, t) | |
| } | |
| function L(e) { | |
| e._onerror && e._onerror(e._result), V(e) | |
| } | |
| function F(e, t) { | |
| e._state === E && (e._result = t, e._state = P, 0 !== e._subscribers.length && h(V, e)) | |
| } | |
| function B(e, t) { | |
| e._state === E && (e._state = C, e._result = t, h(L, e)) | |
| } | |
| function k(e, t, i, r) { | |
| var n = e._subscribers, | |
| o = n.length; | |
| e._onerror = null, n[o] = t, n[o + P] = i, n[o + C] = r, 0 === o && e._state && h(V, e) | |
| } | |
| function V(e) { | |
| var t = e._subscribers, | |
| i = e._state; | |
| if (0 !== t.length) { | |
| for (var r = void 0, n = void 0, o = e._result, s = 0; s < t.length; s += 3) r = t[s], n = t[s + i], r ? U(i, r, n, o) : n(o); | |
| e._subscribers.length = 0 | |
| } | |
| } | |
| function N() { | |
| this.error = null | |
| } | |
| var z = new N; | |
| function U(t, i, r, n) { | |
| var o = e(r), | |
| s = void 0, | |
| a = void 0, | |
| c = void 0, | |
| h = void 0; | |
| if (o) { | |
| if ((s = function (e, t) { | |
| try { | |
| return e(t) | |
| } catch (e) { | |
| return z.error = e, z | |
| } | |
| }(r, n)) === z ? (h = !0, a = s.error, s = null) : c = !0, i === s) return void B(i, new TypeError("A promises callback cannot return that same promise.")) | |
| } else s = n, c = !0; | |
| i._state !== E || (o && c ? O(i, s) : h ? B(i, a) : t === P ? F(i, s) : t === C && B(i, s)) | |
| } | |
| var G = 0; | |
| function W(e) { | |
| e[A] = G++, e._state = void 0, e._result = void 0, e._subscribers = [] | |
| } | |
| function j(e, i) { | |
| this._instanceConstructor = e, this.promise = new e(M), this.promise[A] || W(this.promise), t(i) ? (this._input = i, this.length = i.length, this._remaining = i.length, this._result = new Array(this.length), 0 === this.length ? F(this.promise, this._result) : (this.length = this.length || 0, this._enumerate(), 0 === this._remaining && F(this.promise, this._result))) : B(this.promise, new Error("Array Methods must be provided an Array")) | |
| } | |
| function H(e) { | |
| this[A] = G++, this._result = this._state = void 0, this._subscribers = [], M !== e && ("function" != typeof e && function () { | |
| throw new TypeError("You must pass a resolver function as the first argument to the promise constructor") | |
| }(), this instanceof H ? function (e, t) { | |
| try { | |
| t(function (t) { | |
| O(e, t) | |
| }, function (t) { | |
| B(e, t) | |
| }) | |
| } catch (t) { | |
| B(e, t) | |
| } | |
| }(this, e) : function () { | |
| throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.") | |
| }()) | |
| } | |
| function X() { | |
| var e = void 0; | |
| if (void 0 !== n) e = n; | |
| else if ("undefined" != typeof self) e = self; | |
| else try { | |
| e = Function("return this")() | |
| } catch (e) { | |
| throw new Error("polyfill failed because global object is unavailable in this environment") | |
| } | |
| var t = e.Promise; | |
| if (t) { | |
| var i = null; | |
| try { | |
| i = Object.prototype.toString.call(t.resolve()) | |
| } catch (e) {} | |
| if ("[object Promise]" === i && !t.cast) return | |
| } | |
| e.Promise = H | |
| } | |
| return j.prototype._enumerate = function () { | |
| for (var e = this.length, t = this._input, i = 0; this._state === E && i < e; i++) this._eachEntry(t[i], i) | |
| }, j.prototype._eachEntry = function (e, t) { | |
| var i = this._instanceConstructor, | |
| r = i.resolve; | |
| if (r === T) { | |
| var n = I(e); | |
| if (n === S && e._state !== E) this._settledAt(e._state, t, e._result); | |
| else if ("function" != typeof n) this._remaining--, this._result[t] = e; | |
| else if (i === H) { | |
| var o = new i(M); | |
| D(o, e, n), this._willSettleAt(o, t) | |
| } else this._willSettleAt(new i(function (t) { | |
| return t(e) | |
| }), t) | |
| } else this._willSettleAt(r(e), t) | |
| }, j.prototype._settledAt = function (e, t, i) { | |
| var r = this.promise; | |
| r._state === E && (this._remaining--, e === C ? B(r, i) : this._result[t] = i), 0 === this._remaining && F(r, this._result) | |
| }, j.prototype._willSettleAt = function (e, t) { | |
| var i = this; | |
| k(e, void 0, function (e) { | |
| return i._settledAt(P, t, e) | |
| }, function (e) { | |
| return i._settledAt(C, t, e) | |
| }) | |
| }, H.all = function (e) { | |
| return new j(this, e).promise | |
| }, H.race = function (e) { | |
| var i = this; | |
| return t(e) ? new i(function (t, r) { | |
| for (var n = e.length, o = 0; o < n; o++) i.resolve(e[o]).then(t, r) | |
| }) : new i(function (e, t) { | |
| return t(new TypeError("You must pass an array to race.")) | |
| }) | |
| }, H.resolve = T, H.reject = function (e) { | |
| var t = new this(M); | |
| return B(t, e), t | |
| }, H._setScheduler = function (e) { | |
| a = e | |
| }, H._setAsap = function (e) { | |
| h = e | |
| }, H._asap = h, H.prototype = { | |
| constructor: H, | |
| then: S, | |
| catch: function (e) { | |
| return this.then(null, e) | |
| } | |
| }, X(), H.polyfill = X, H.Promise = H, H | |
| }, "object" === c(t) && void 0 !== e ? e.exports = a() : void 0 === (s = "function" == typeof (o = a) ? o.call(t, i, t, e) : o) || (e.exports = s) | |
| }).call(this, i(27), i(15)) | |
| }, function (e, t) {}, function (e, t, i) {}, function (e, t, i) { | |
| "use strict"; | |
| t.byteLength = function (e) { | |
| var t = h(e), | |
| i = t[0], | |
| r = t[1]; | |
| return 3 * (i + r) / 4 - r | |
| }, t.toByteArray = function (e) { | |
| for (var t, i = h(e), r = i[0], s = i[1], a = new o(function (e, t, i) { | |
| return 3 * (t + i) / 4 - i | |
| }(0, r, s)), c = 0, u = s > 0 ? r - 4 : r, l = 0; l < u; l += 4) t = n[e.charCodeAt(l)] << 18 | n[e.charCodeAt(l + 1)] << 12 | n[e.charCodeAt(l + 2)] << 6 | n[e.charCodeAt(l + 3)], a[c++] = t >> 16 & 255, a[c++] = t >> 8 & 255, a[c++] = 255 & t; | |
| 2 === s && (t = n[e.charCodeAt(l)] << 2 | n[e.charCodeAt(l + 1)] >> 4, a[c++] = 255 & t); | |
| 1 === s && (t = n[e.charCodeAt(l)] << 10 | n[e.charCodeAt(l + 1)] << 4 | n[e.charCodeAt(l + 2)] >> 2, a[c++] = t >> 8 & 255, a[c++] = 255 & t); | |
| return a | |
| }, t.fromByteArray = function (e) { | |
| for (var t, i = e.length, n = i % 3, o = [], s = 0, a = i - n; s < a; s += 16383) o.push(u(e, s, s + 16383 > a ? a : s + 16383)); | |
| 1 === n ? (t = e[i - 1], o.push(r[t >> 2] + r[t << 4 & 63] + "==")) : 2 === n && (t = (e[i - 2] << 8) + e[i - 1], o.push(r[t >> 10] + r[t >> 4 & 63] + r[t << 2 & 63] + "=")); | |
| return o.join("") | |
| }; | |
| for (var r = [], n = [], o = "undefined" != typeof Uint8Array ? Uint8Array : Array, s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", a = 0, c = s.length; a < c; ++a) r[a] = s[a], n[s.charCodeAt(a)] = a; | |
| function h(e) { | |
| var t = e.length; | |
| if (t % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4"); | |
| var i = e.indexOf("="); | |
| return -1 === i && (i = t), [i, i === t ? 0 : 4 - i % 4] | |
| } | |
| function u(e, t, i) { | |
| for (var n, o, s = [], a = t; a < i; a += 3) n = (e[a] << 16 & 16711680) + (e[a + 1] << 8 & 65280) + (255 & e[a + 2]), s.push(r[(o = n) >> 18 & 63] + r[o >> 12 & 63] + r[o >> 6 & 63] + r[63 & o]); | |
| return s.join("") | |
| } | |
| n["-".charCodeAt(0)] = 62, n["_".charCodeAt(0)] = 63 | |
| }, function (e, t) { | |
| t.read = function (e, t, i, r, n) { | |
| var o, s, a = 8 * n - r - 1, | |
| c = (1 << a) - 1, | |
| h = c >> 1, | |
| u = -7, | |
| l = i ? n - 1 : 0, | |
| f = i ? -1 : 1, | |
| d = e[t + l]; | |
| for (l += f, o = d & (1 << -u) - 1, d >>= -u, u += a; u > 0; o = 256 * o + e[t + l], l += f, u -= 8); | |
| for (s = o & (1 << -u) - 1, o >>= -u, u += r; u > 0; s = 256 * s + e[t + l], l += f, u -= 8); | |
| if (0 === o) o = 1 - h; | |
| else { | |
| if (o === c) return s ? NaN : 1 / 0 * (d ? -1 : 1); | |
| s += Math.pow(2, r), o -= h | |
| } | |
| return (d ? -1 : 1) * s * Math.pow(2, o - r) | |
| }, t.write = function (e, t, i, r, n, o) { | |
| var s, a, c, h = 8 * o - n - 1, | |
| u = (1 << h) - 1, | |
| l = u >> 1, | |
| f = 23 === n ? Math.pow(2, -24) - Math.pow(2, -77) : 0, | |
| d = r ? 0 : o - 1, | |
| p = r ? 1 : -1, | |
| m = t < 0 || 0 === t && 1 / t < 0 ? 1 : 0; | |
| for (t = Math.abs(t), isNaN(t) || t === 1 / 0 ? (a = isNaN(t) ? 1 : 0, s = u) : (s = Math.floor(Math.log(t) / Math.LN2), t * (c = Math.pow(2, -s)) < 1 && (s--, c *= 2), (t += s + l >= 1 ? f / c : f * Math.pow(2, 1 - l)) * c >= 2 && (s++, c /= 2), s + l >= u ? (a = 0, s = u) : s + l >= 1 ? (a = (t * c - 1) * Math.pow(2, n), s += l) : (a = t * Math.pow(2, l - 1) * Math.pow(2, n), s = 0)); n >= 8; e[i + d] = 255 & a, d += p, a /= 256, n -= 8); | |
| for (s = s << n | a, h += n; h > 0; e[i + d] = 255 & s, d += p, s /= 256, h -= 8); | |
| e[i + d - p] |= 128 * m | |
| } | |
| }, function (e, t, i) { | |
| (function (r) { | |
| function n(e) { | |
| return (n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { | |
| return typeof e | |
| } : function (e) { | |
| return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e | |
| })(e) | |
| } | |
| t.log = function () { | |
| var e; | |
| return "object" === ("undefined" == typeof console ? "undefined" : n(console)) && console.log && (e = console).log.apply(e, arguments) | |
| }, t.formatArgs = function (t) { | |
| if (t[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + t[0] + (this.useColors ? "%c " : " ") + "+" + e.exports.humanize(this.diff), !this.useColors) return; | |
| var i = "color: " + this.color; | |
| t.splice(1, 0, i, "color: inherit"); | |
| var r = 0, | |
| n = 0; | |
| t[0].replace(/%[a-zA-Z%]/g, function (e) { | |
| "%%" !== e && (r++, "%c" === e && (n = r)) | |
| }), t.splice(n, 0, i) | |
| }, t.save = function (e) { | |
| try { | |
| e ? t.storage.setItem("debug", e) : t.storage.removeItem("debug") | |
| } catch (e) {} | |
| }, t.load = function () { | |
| var e; | |
| try { | |
| e = t.storage.getItem("debug") | |
| } catch (e) {}!e && void 0 !== r && "env" in r && (e = r.env.DEBUG); | |
| return e | |
| }, t.useColors = function () { | |
| if ("undefined" != typeof window && window.process && ("renderer" === window.process.type || window.process.__nwjs)) return !0; | |
| if ("undefined" != typeof navigator && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) return !1; | |
| return "undefined" != typeof document && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || "undefined" != typeof window && window.console && (window.console.firebug || window.console.exception && window.console.table) || "undefined" != typeof navigator && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || "undefined" != typeof navigator && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/) | |
| }, t.storage = function () { | |
| try { | |
| return localStorage | |
| } catch (e) {} | |
| }(), t.colors = ["#0000CC", "#0000FF", "#0033CC", "#0033FF", "#0066CC", "#0066FF", "#0099CC", "#0099FF", "#00CC00", "#00CC33", "#00CC66", "#00CC99", "#00CCCC", "#00CCFF", "#3300CC", "#3300FF", "#3333CC", "#3333FF", "#3366CC", "#3366FF", "#3399CC", "#3399FF", "#33CC00", "#33CC33", "#33CC66", "#33CC99", "#33CCCC", "#33CCFF", "#6600CC", "#6600FF", "#6633CC", "#6633FF", "#66CC00", "#66CC33", "#9900CC", "#9900FF", "#9933CC", "#9933FF", "#99CC00", "#99CC33", "#CC0000", "#CC0033", "#CC0066", "#CC0099", "#CC00CC", "#CC00FF", "#CC3300", "#CC3333", "#CC3366", "#CC3399", "#CC33CC", "#CC33FF", "#CC6600", "#CC6633", "#CC9900", "#CC9933", "#CCCC00", "#CCCC33", "#FF0000", "#FF0033", "#FF0066", "#FF0099", "#FF00CC", "#FF00FF", "#FF3300", "#FF3333", "#FF3366", "#FF3399", "#FF33CC", "#FF33FF", "#FF6600", "#FF6633", "#FF9900", "#FF9933", "#FFCC00", "#FFCC33"], e.exports = i(400)(t), e.exports.formatters.j = function (e) { | |
| try { | |
| return JSON.stringify(e) | |
| } catch (e) { | |
| return "[UnexpectedJSONParseError]: " + e.message | |
| } | |
| } | |
| }).call(this, i(27)) | |
| }, function (e, t, i) { | |
| function r(e) { | |
| return function (e) { | |
| if (Array.isArray(e)) { | |
| for (var t = 0, i = new Array(e.length); t < e.length; t++) i[t] = e[t]; | |
| return i | |
| } | |
| }(e) || function (e) { | |
| if (Symbol.iterator in Object(e) || "[object Arguments]" === Object.prototype.toString.call(e)) return Array.from(e) | |
| }(e) || function () { | |
| throw new TypeError("Invalid attempt to spread non-iterable instance") | |
| }() | |
| } | |
| e.exports = function (e) { | |
| function t(e) { | |
| for (var t = 0, i = 0; i < e.length; i++) t = (t << 5) - t + e.charCodeAt(i), t |= 0; | |
| return n.colors[Math.abs(t) % n.colors.length] | |
| } | |
| function n(e) { | |
| var i; | |
| function r() { | |
| for (var e = arguments.length, t = new Array(e), o = 0; o < e; o++) t[o] = arguments[o]; | |
| if (r.enabled) { | |
| var s = r, | |
| a = Number(new Date), | |
| c = a - (i || a); | |
| s.diff = c, s.prev = i, s.curr = a, i = a, t[0] = n.coerce(t[0]), "string" != typeof t[0] && t.unshift("%O"); | |
| var h = 0; | |
| t[0] = t[0].replace(/%([a-zA-Z%])/g, function (e, i) { | |
| if ("%%" === e) return e; | |
| h++; | |
| var r = n.formatters[i]; | |
| if ("function" == typeof r) { | |
| var o = t[h]; | |
| e = r.call(s, o), t.splice(h, 1), h-- | |
| } | |
| return e | |
| }), n.formatArgs.call(s, t), (s.log || n.log).apply(s, t) | |
| } | |
| } | |
| return r.namespace = e, r.enabled = n.enabled(e), r.useColors = n.useColors(), r.color = t(e), r.destroy = o, r.extend = s, "function" == typeof n.init && n.init(r), n.instances.push(r), r | |
| } | |
| function o() { | |
| var e = n.instances.indexOf(this); | |
| return -1 !== e && (n.instances.splice(e, 1), !0) | |
| } | |
| function s(e, t) { | |
| var i = n(this.namespace + (void 0 === t ? ":" : t) + e); | |
| return i.log = this.log, i | |
| } | |
| function a(e) { | |
| return e.toString().substring(2, e.toString().length - 2).replace(/\.\*\?$/, "*") | |
| } | |
| return n.debug = n, n.default = n, n.coerce = function (e) { | |
| return e instanceof Error ? e.stack || e.message : e | |
| }, n.disable = function () { | |
| var e = r(n.names.map(a)).concat(r(n.skips.map(a).map(function (e) { | |
| return "-" + e | |
| }))).join(","); | |
| return n.enable(""), e | |
| }, n.enable = function (e) { | |
| var t; | |
| n.save(e), n.names = [], n.skips = []; | |
| var i = ("string" == typeof e ? e : "").split(/[\s,]+/), | |
| r = i.length; | |
| for (t = 0; t < r; t++) i[t] && ("-" === (e = i[t].replace(/\*/g, ".*?"))[0] ? n.skips.push(new RegExp("^" + e.substr(1) + "$")) : n.names.push(new RegExp("^" + e + "$"))); | |
| for (t = 0; t < n.instances.length; t++) { | |
| var o = n.instances[t]; | |
| o.enabled = n.enabled(o.namespace) | |
| } | |
| }, n.enabled = function (e) { | |
| if ("*" === e[e.length - 1]) return !0; | |
| var t, i; | |
| for (t = 0, i = n.skips.length; t < i; t++) | |
| if (n.skips[t].test(e)) return !1; | |
| for (t = 0, i = n.names.length; t < i; t++) | |
| if (n.names[t].test(e)) return !0; | |
| return !1 | |
| }, n.humanize = i(401), Object.keys(e).forEach(function (t) { | |
| n[t] = e[t] | |
| }), n.instances = [], n.names = [], n.skips = [], n.formatters = {}, n.selectColor = t, n.enable(n.load()), n | |
| } | |
| }, function (e, t) { | |
| function i(e) { | |
| return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { | |
| return typeof e | |
| } : function (e) { | |
| return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e | |
| })(e) | |
| } | |
| var r = 1e3, | |
| n = 60 * r, | |
| o = 60 * n, | |
| s = 24 * o, | |
| a = 7 * s, | |
| c = 365.25 * s; | |
| function h(e, t, i, r) { | |
| var n = t >= 1.5 * i; | |
| return Math.round(e / i) + " " + r + (n ? "s" : "") | |
| } | |
| e.exports = function (e, t) { | |
| t = t || {}; | |
| var u = i(e); | |
| if ("string" === u && e.length > 0) return function (e) { | |
| if ((e = String(e)).length > 100) return; | |
| var t = /^((?:\d+)?\-?\d?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e); | |
| if (!t) return; | |
| var i = parseFloat(t[1]); | |
| switch ((t[2] || "ms").toLowerCase()) { | |
| case "years": | |
| case "year": | |
| case "yrs": | |
| case "yr": | |
| case "y": | |
| return i * c; | |
| case "weeks": | |
| case "week": | |
| case "w": | |
| return i * a; | |
| case "days": | |
| case "day": | |
| case "d": | |
| return i * s; | |
| case "hours": | |
| case "hour": | |
| case "hrs": | |
| case "hr": | |
| case "h": | |
| return i * o; | |
| case "minutes": | |
| case "minute": | |
| case "mins": | |
| case "min": | |
| case "m": | |
| return i * n; | |
| case "seconds": | |
| case "second": | |
| case "secs": | |
| case "sec": | |
| case "s": | |
| return i * r; | |
| case "milliseconds": | |
| case "millisecond": | |
| case "msecs": | |
| case "msec": | |
| case "ms": | |
| return i; | |
| default: | |
| return | |
| } | |
| }(e); | |
| if ("number" === u && !1 === isNaN(e)) return t.long ? function (e) { | |
| var t = Math.abs(e); | |
| if (t >= s) return h(e, t, s, "day"); | |
| if (t >= o) return h(e, t, o, "hour"); | |
| if (t >= n) return h(e, t, n, "minute"); | |
| if (t >= r) return h(e, t, r, "second"); | |
| return e + " ms" | |
| }(e) : function (e) { | |
| var t = Math.abs(e); | |
| if (t >= s) return Math.round(e / s) + "d"; | |
| if (t >= o) return Math.round(e / o) + "h"; | |
| if (t >= n) return Math.round(e / n) + "m"; | |
| if (t >= r) return Math.round(e / r) + "s"; | |
| return e + "ms" | |
| }(e); | |
| throw new Error("val is not a non-empty string or a valid number. val=" + JSON.stringify(e)) | |
| } | |
| }, function (e, t) { | |
| e.exports = function () { | |
| if ("undefined" == typeof window) return null; | |
| var e = { | |
| RTCPeerConnection: window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection, | |
| RTCSessionDescription: window.RTCSessionDescription || window.mozRTCSessionDescription || window.webkitRTCSessionDescription, | |
| RTCIceCandidate: window.RTCIceCandidate || window.mozRTCIceCandidate || window.webkitRTCIceCandidate | |
| }; | |
| return e.RTCPeerConnection ? e : null | |
| } | |
| }, function (e, t) {}, function (e, t, i) { | |
| "use strict"; | |
| var r = i(2).Buffer, | |
| n = i(405); | |
| e.exports = function () { | |
| function e() { | |
| ! function (e, t) { | |
| if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") | |
| }(this, e), this.head = null, this.tail = null, this.length = 0 | |
| } | |
| return e.prototype.push = function (e) { | |
| var t = { | |
| data: e, | |
| next: null | |
| }; | |
| this.length > 0 ? this.tail.next = t : this.head = t, this.tail = t, ++this.length | |
| }, e.prototype.unshift = function (e) { | |
| var t = { | |
| data: e, | |
| next: this.head | |
| }; | |
| 0 === this.length && (this.tail = t), this.head = t, ++this.length | |
| }, e.prototype.shift = function () { | |
| if (0 !== this.length) { | |
| var e = this.head.data; | |
| return 1 === this.length ? this.head = this.tail = null : this.head = this.head.next, --this.length, e | |
| } | |
| }, e.prototype.clear = function () { | |
| this.head = this.tail = null, this.length = 0 | |
| }, e.prototype.join = function (e) { | |
| if (0 === this.length) return ""; | |
| for (var t = this.head, i = "" + t.data; t = t.next;) i += e + t.data; | |
| return i | |
| }, e.prototype.concat = function (e) { | |
| if (0 === this.length) return r.alloc(0); | |
| if (1 === this.length) return this.head.data; | |
| for (var t, i, n, o = r.allocUnsafe(e >>> 0), s = this.head, a = 0; s;) t = s.data, i = o, n = a, t.copy(i, n), a += s.data.length, s = s.next; | |
| return o | |
| }, e | |
| }(), n && n.inspect && n.inspect.custom && (e.exports.prototype[n.inspect.custom] = function () { | |
| var e = n.inspect({ | |
| length: this.length | |
| }); | |
| return this.constructor.name + " " + e | |
| }) | |
| }, function (e, t) {}, function (e, t, i) { | |
| (function (e) { | |
| var r = void 0 !== e && e || "undefined" != typeof self && self || window, | |
| n = Function.prototype.apply; | |
| function o(e, t) { | |
| this._id = e, this._clearFn = t | |
| } | |
| t.setTimeout = function () { | |
| return new o(n.call(setTimeout, r, arguments), clearTimeout) | |
| }, t.setInterval = function () { | |
| return new o(n.call(setInterval, r, arguments), clearInterval) | |
| }, t.clearTimeout = t.clearInterval = function (e) { | |
| e && e.close() | |
| }, o.prototype.unref = o.prototype.ref = function () {}, o.prototype.close = function () { | |
| this._clearFn.call(r, this._id) | |
| }, t.enroll = function (e, t) { | |
| clearTimeout(e._idleTimeoutId), e._idleTimeout = t | |
| }, t.unenroll = function (e) { | |
| clearTimeout(e._idleTimeoutId), e._idleTimeout = -1 | |
| }, t._unrefActive = t.active = function (e) { | |
| clearTimeout(e._idleTimeoutId); | |
| var t = e._idleTimeout; | |
| t >= 0 && (e._idleTimeoutId = setTimeout(function () { | |
| e._onTimeout && e._onTimeout() | |
| }, t)) | |
| }, i(407), t.setImmediate = "undefined" != typeof self && self.setImmediate || void 0 !== e && e.setImmediate || this && this.setImmediate, t.clearImmediate = "undefined" != typeof self && self.clearImmediate || void 0 !== e && e.clearImmediate || this && this.clearImmediate | |
| }).call(this, i(15)) | |
| }, function (e, t, i) { | |
| (function (e, t) { | |
| ! function (e, i) { | |
| "use strict"; | |
| if (!e.setImmediate) { | |
| var r, n, o, s, a, c = 1, | |
| h = {}, | |
| u = !1, | |
| l = e.document, | |
| f = Object.getPrototypeOf && Object.getPrototypeOf(e); | |
| f = f && f.setTimeout ? f : e, "[object process]" === {}.toString.call(e.process) ? r = function (e) { | |
| t.nextTick(function () { | |
| p(e) | |
| }) | |
| } : ! function () { | |
| if (e.postMessage && !e.importScripts) { | |
| var t = !0, | |
| i = e.onmessage; | |
| return e.onmessage = function () { | |
| t = !1 | |
| }, e.postMessage("", "*"), e.onmessage = i, t | |
| } | |
| }() ? e.MessageChannel ? ((o = new MessageChannel).port1.onmessage = function (e) { | |
| p(e.data) | |
| }, r = function (e) { | |
| o.port2.postMessage(e) | |
| }) : l && "onreadystatechange" in l.createElement("script") ? (n = l.documentElement, r = function (e) { | |
| var t = l.createElement("script"); | |
| t.onreadystatechange = function () { | |
| p(e), t.onreadystatechange = null, n.removeChild(t), t = null | |
| }, n.appendChild(t) | |
| }) : r = function (e) { | |
| setTimeout(p, 0, e) | |
| } : (s = "setImmediate$" + Math.random() + "$", a = function (t) { | |
| t.source === e && "string" == typeof t.data && 0 === t.data.indexOf(s) && p(+t.data.slice(s.length)) | |
| }, e.addEventListener ? e.addEventListener("message", a, !1) : e.attachEvent("onmessage", a), r = function (t) { | |
| e.postMessage(s + t, "*") | |
| }), f.setImmediate = function (e) { | |
| "function" != typeof e && (e = new Function("" + e)); | |
| for (var t = new Array(arguments.length - 1), i = 0; i < t.length; i++) t[i] = arguments[i + 1]; | |
| var n = { | |
| callback: e, | |
| args: t | |
| }; | |
| return h[c] = n, r(c), c++ | |
| }, f.clearImmediate = d | |
| } | |
| function d(e) { | |
| delete h[e] | |
| } | |
| function p(e) { | |
| if (u) setTimeout(p, 0, e); | |
| else { | |
| var t = h[e]; | |
| if (t) { | |
| u = !0; | |
| try { | |
| ! function (e) { | |
| var t = e.callback, | |
| r = e.args; | |
| switch (r.length) { | |
| case 0: | |
| t(); | |
| break; | |
| case 1: | |
| t(r[0]); | |
| break; | |
| case 2: | |
| t(r[0], r[1]); | |
| break; | |
| case 3: | |
| t(r[0], r[1], r[2]); | |
| break; | |
| default: | |
| t.apply(i, r) | |
| } | |
| }(t) | |
| } finally { | |
| d(e), u = !1 | |
| } | |
| } | |
| } | |
| } | |
| }("undefined" == typeof self ? void 0 === e ? this : e : self) | |
| }).call(this, i(15), i(27)) | |
| }, function (e, t, i) { | |
| (function (t) { | |
| function i(e) { | |
| try { | |
| if (!t.localStorage) return !1 | |
| } catch (e) { | |
| return !1 | |
| } | |
| var i = t.localStorage[e]; | |
| return null != i && "true" === String(i).toLowerCase() | |
| } | |
| e.exports = function (e, t) { | |
| if (i("noDeprecation")) return e; | |
| var r = !1; | |
| return function () { | |
| if (!r) { | |
| if (i("throwDeprecation")) throw new Error(t); | |
| i("traceDeprecation") ? console.trace(t) : console.warn(t), r = !0 | |
| } | |
| return e.apply(this, arguments) | |
| } | |
| } | |
| }).call(this, i(15)) | |
| }, function (e, t, i) { | |
| "use strict"; | |
| e.exports = o; | |
| var r = i(172), | |
| n = i(68); | |
| function o(e) { | |
| if (!(this instanceof o)) return new o(e); | |
| r.call(this, e) | |
| } | |
| n.inherits = i(1), n.inherits(o, r), o.prototype._transform = function (e, t, i) { | |
| i(null, e) | |
| } | |
| }, function (e, t) { | |
| function i(e) { | |
| return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { | |
| return typeof e | |
| } : function (e) { | |
| return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e | |
| })(e) | |
| } | |
| var r, n, o, s, a = this && this.__decorate || function (e, t, r, n) { | |
| var o, s = arguments.length, | |
| a = s < 3 ? t : null === n ? n = Object.getOwnPropertyDescriptor(t, r) : n; | |
| if ("object" == ("undefined" == typeof Reflect ? "undefined" : i(Reflect)) && "function" == typeof Reflect.decorate) a = Reflect.decorate(e, t, r, n); | |
| else | |
| for (var c = e.length - 1; c >= 0; c--)(o = e[c]) && (a = (s < 3 ? o(a) : s > 3 ? o(t, r, a) : o(t, r)) || a); | |
| return s > 3 && a && Object.defineProperty(t, r, a), a | |
| }, | |
| c = this && this.__extends || function (e, t) { | |
| function i() { | |
| this.constructor = e | |
| } | |
| for (var r in t) t.hasOwnProperty(r) && (e[r] = t[r]); | |
| i.prototype = t.prototype, e.prototype = new i | |
| }; | |
| ! function (e) { | |
| e.ToGammaSpace = 1 / 2.2, e.ToLinearSpace = 2.2, e.Epsilon = .001; | |
| var t = function () { | |
| function e() {} | |
| return e.WithinEpsilon = function (e, t, i) { | |
| void 0 === i && (i = 1.401298e-45); | |
| var r = e - t; | |
| return -i <= r && r <= i | |
| }, e.ToHex = function (e) { | |
| var t = e.toString(16); | |
| return e <= 15 ? ("0" + t).toUpperCase() : t.toUpperCase() | |
| }, e.Sign = function (e) { | |
| return 0 === (e = +e) || isNaN(e) ? e : e > 0 ? 1 : -1 | |
| }, e.Clamp = function (e, t, i) { | |
| return void 0 === t && (t = 0), void 0 === i && (i = 1), Math.min(i, Math.max(t, e)) | |
| }, e | |
| }(); | |
| e.MathTools = t; | |
| var i = function () { | |
| function i(e, t, i) { | |
| void 0 === e && (e = 0), void 0 === t && (t = 0), void 0 === i && (i = 0), this.r = e, this.g = t, this.b = i | |
| } | |
| return i.prototype.toString = function () { | |
| return "{R: " + this.r + " G:" + this.g + " B:" + this.b + "}" | |
| }, i.prototype.getClassName = function () { | |
| return "Color3" | |
| }, i.prototype.getHashCode = function () { | |
| var e = this.r || 0; | |
| return 397 * (e = 397 * e ^ (this.g || 0)) ^ (this.b || 0) | |
| }, i.prototype.toArray = function (e, t) { | |
| return void 0 === t && (t = 0), e[t] = this.r, e[t + 1] = this.g, e[t + 2] = this.b, this | |
| }, i.prototype.toColor4 = function (e) { | |
| return void 0 === e && (e = 1), new r(this.r, this.g, this.b, e) | |
| }, i.prototype.asArray = function () { | |
| var e = []; | |
| return this.toArray(e, 0), e | |
| }, i.prototype.toLuminance = function () { | |
| return .3 * this.r + .59 * this.g + .11 * this.b | |
| }, i.prototype.multiply = function (e) { | |
| return new i(this.r * e.r, this.g * e.g, this.b * e.b) | |
| }, i.prototype.multiplyToRef = function (e, t) { | |
| return t.r = this.r * e.r, t.g = this.g * e.g, t.b = this.b * e.b, this | |
| }, i.prototype.equals = function (e) { | |
| return e && this.r === e.r && this.g === e.g && this.b === e.b | |
| }, i.prototype.equalsFloats = function (e, t, i) { | |
| return this.r === e && this.g === t && this.b === i | |
| }, i.prototype.scale = function (e) { | |
| return new i(this.r * e, this.g * e, this.b * e) | |
| }, i.prototype.scaleToRef = function (e, t) { | |
| return t.r = this.r * e, t.g = this.g * e, t.b = this.b * e, this | |
| }, i.prototype.add = function (e) { | |
| return new i(this.r + e.r, this.g + e.g, this.b + e.b) | |
| }, i.prototype.addToRef = function (e, t) { | |
| return t.r = this.r + e.r, t.g = this.g + e.g, t.b = this.b + e.b, this | |
| }, i.prototype.subtract = function (e) { | |
| return new i(this.r - e.r, this.g - e.g, this.b - e.b) | |
| }, i.prototype.subtractToRef = function (e, t) { | |
| return t.r = this.r - e.r, t.g = this.g - e.g, t.b = this.b - e.b, this | |
| }, i.prototype.clone = function () { | |
| return new i(this.r, this.g, this.b) | |
| }, i.prototype.copyFrom = function (e) { | |
| return this.r = e.r, this.g = e.g, this.b = e.b, this | |
| }, i.prototype.copyFromFloats = function (e, t, i) { | |
| return this.r = e, this.g = t, this.b = i, this | |
| }, i.prototype.toHexString = function () { | |
| var e = 255 * this.r | 0, | |
| i = 255 * this.g | 0, | |
| r = 255 * this.b | 0; | |
| return "#" + t.ToHex(e) + t.ToHex(i) + t.ToHex(r) | |
| }, i.prototype.toLinearSpace = function () { | |
| var e = new i; | |
| return this.toLinearSpaceToRef(e), e | |
| }, i.prototype.toLinearSpaceToRef = function (t) { | |
| return t.r = Math.pow(this.r, e.ToLinearSpace), t.g = Math.pow(this.g, e.ToLinearSpace), t.b = Math.pow(this.b, e.ToLinearSpace), this | |
| }, i.prototype.toGammaSpace = function () { | |
| var e = new i; | |
| return this.toGammaSpaceToRef(e), e | |
| }, i.prototype.toGammaSpaceToRef = function (t) { | |
| return t.r = Math.pow(this.r, e.ToGammaSpace), t.g = Math.pow(this.g, e.ToGammaSpace), t.b = Math.pow(this.b, e.ToGammaSpace), this | |
| }, i.FromHexString = function (e) { | |
| if ("#" !== e.substring(0, 1) || 7 !== e.length) return new i(0, 0, 0); | |
| var t = parseInt(e.substring(1, 3), 16), | |
| r = parseInt(e.substring(3, 5), 16), | |
| n = parseInt(e.substring(5, 7), 16); | |
| return i.FromInts(t, r, n) | |
| }, i.FromArray = function (e, t) { | |
| return void 0 === t && (t = 0), new i(e[t], e[t + 1], e[t + 2]) | |
| }, i.FromInts = function (e, t, r) { | |
| return new i(e / 255, t / 255, r / 255) | |
| }, i.Lerp = function (e, t, r) { | |
| return new i(e.r + (t.r - e.r) * r, e.g + (t.g - e.g) * r, e.b + (t.b - e.b) * r) | |
| }, i.Red = function () { | |
| return new i(1, 0, 0) | |
| }, i.Green = function () { | |
| return new i(0, 1, 0) | |
| }, i.Blue = function () { | |
| return new i(0, 0, 1) | |
| }, i.Black = function () { | |
| return new i(0, 0, 0) | |
| }, i.White = function () { | |
| return new i(1, 1, 1) | |
| }, i.Purple = function () { | |
| return new i(.5, 0, .5) | |
| }, i.Magenta = function () { | |
| return new i(1, 0, 1) | |
| }, i.Yellow = function () { | |
| return new i(1, 1, 0) | |
| }, i.Gray = function () { | |
| return new i(.5, .5, .5) | |
| }, i | |
| }(); | |
| e.Color3 = i; | |
| var r = function () { | |
| function e(e, t, i, r) { | |
| this.r = e, this.g = t, this.b = i, this.a = r | |
| } | |
| return e.prototype.addInPlace = function (e) { | |
| return this.r += e.r, this.g += e.g, this.b += e.b, this.a += e.a, this | |
| }, e.prototype.asArray = function () { | |
| var e = []; | |
| return this.toArray(e, 0), e | |
| }, e.prototype.toArray = function (e, t) { | |
| return void 0 === t && (t = 0), e[t] = this.r, e[t + 1] = this.g, e[t + 2] = this.b, e[t + 3] = this.a, this | |
| }, e.prototype.add = function (t) { | |
| return new e(this.r + t.r, this.g + t.g, this.b + t.b, this.a + t.a) | |
| }, e.prototype.subtract = function (t) { | |
| return new e(this.r - t.r, this.g - t.g, this.b - t.b, this.a - t.a) | |
| }, e.prototype.subtractToRef = function (e, t) { | |
| return t.r = this.r - e.r, t.g = this.g - e.g, t.b = this.b - e.b, t.a = this.a - e.a, this | |
| }, e.prototype.scale = function (t) { | |
| return new e(this.r * t, this.g * t, this.b * t, this.a * t) | |
| }, e.prototype.scaleToRef = function (e, t) { | |
| return t.r = this.r * e, t.g = this.g * e, t.b = this.b * e, t.a = this.a * e, this | |
| }, e.prototype.multiply = function (t) { | |
| return new e(this.r * t.r, this.g * t.g, this.b * t.b, this.a * t.a) | |
| }, e.prototype.multiplyToRef = function (e, t) { | |
| return t.r = this.r * e.r, t.g = this.g * e.g, t.b = this.b * e.b, t.a = this.a * e.a, t | |
| }, e.prototype.toString = function () { | |
| return "{R: " + this.r + " G:" + this.g + " B:" + this.b + " A:" + this.a + "}" | |
| }, e.prototype.getClassName = function () { | |
| return "Color4" | |
| }, e.prototype.getHashCode = function () { | |
| var e = this.r || 0; | |
| return 397 * (e = 397 * (e = 397 * e ^ (this.g || 0)) ^ (this.b || 0)) ^ (this.a || 0) | |
| }, e.prototype.clone = function () { | |
| return new e(this.r, this.g, this.b, this.a) | |
| }, e.prototype.copyFrom = function (e) { | |
| return this.r = e.r, this.g = e.g, this.b = e.b, this.a = e.a, this | |
| }, e.prototype.toHexString = function () { | |
| var e = 255 * this.r | 0, | |
| i = 255 * this.g | 0, | |
| r = 255 * this.b | 0, | |
| n = 255 * this.a | 0; | |
| return "#" + t.ToHex(e) + t.ToHex(i) + t.ToHex(r) + t.ToHex(n) | |
| }, e.FromHexString = function (t) { | |
| if ("#" !== t.substring(0, 1) || 9 !== t.length) return new e(0, 0, 0, 0); | |
| var i = parseInt(t.substring(1, 3), 16), | |
| r = parseInt(t.substring(3, 5), 16), | |
| n = parseInt(t.substring(5, 7), 16), | |
| o = parseInt(t.substring(7, 9), 16); | |
| return e.FromInts(i, r, n, o) | |
| }, e.Lerp = function (t, i, r) { | |
| var n = new e(0, 0, 0, 0); | |
| return e.LerpToRef(t, i, r, n), n | |
| }, e.LerpToRef = function (e, t, i, r) { | |
| r.r = e.r + (t.r - e.r) * i, r.g = e.g + (t.g - e.g) * i, r.b = e.b + (t.b - e.b) * i, r.a = e.a + (t.a - e.a) * i | |
| }, e.FromArray = function (t, i) { | |
| return void 0 === i && (i = 0), new e(t[i], t[i + 1], t[i + 2], t[i + 3]) | |
| }, e.FromInts = function (t, i, r, n) { | |
| return new e(t / 255, i / 255, r / 255, n / 255) | |
| }, e.CheckColors4 = function (e, t) { | |
| if (e.length === 3 * t) { | |
| for (var i = [], r = 0; r < e.length; r += 3) { | |
| var n = r / 3 * 4; | |
| i[n] = e[r], i[n + 1] = e[r + 1], i[n + 2] = e[r + 2], i[n + 3] = 1 | |
| } | |
| return i | |
| } | |
| return e | |
| }, e | |
| }(); | |
| e.Color4 = r; | |
| var n = function () { | |
| function i(e, t) { | |
| this.x = e, this.y = t | |
| } | |
| return i.prototype.toString = function () { | |
| return "{X: " + this.x + " Y:" + this.y + "}" | |
| }, i.prototype.getClassName = function () { | |
| return "Vector2" | |
| }, i.prototype.getHashCode = function () { | |
| var e = this.x || 0; | |
| return 397 * e ^ (this.y || 0) | |
| }, i.prototype.toArray = function (e, t) { | |
| return void 0 === t && (t = 0), e[t] = this.x, e[t + 1] = this.y, this | |
| }, i.prototype.asArray = function () { | |
| var e = []; | |
| return this.toArray(e, 0), e | |
| }, i.prototype.copyFrom = function (e) { | |
| return this.x = e.x, this.y = e.y, this | |
| }, i.prototype.copyFromFloats = function (e, t) { | |
| return this.x = e, this.y = t, this | |
| }, i.prototype.add = function (e) { | |
| return new i(this.x + e.x, this.y + e.y) | |
| }, i.prototype.addToRef = function (e, t) { | |
| return t.x = this.x + e.x, t.y = this.y + e.y, this | |
| }, i.prototype.addInPlace = function (e) { | |
| return this.x += e.x, this.y += e.y, this | |
| }, i.prototype.addVector3 = function (e) { | |
| return new i(this.x + e.x, this.y + e.y) | |
| }, i.prototype.subtract = function (e) { | |
| return new i(this.x - e.x, this.y - e.y) | |
| }, i.prototype.subtractToRef = function (e, t) { | |
| return t.x = this.x - e.x, t.y = this.y - e.y, this | |
| }, i.prototype.subtractInPlace = function (e) { | |
| return this.x -= e.x, this.y -= e.y, this | |
| }, i.prototype.multiplyInPlace = function (e) { | |
| return this.x *= e.x, this.y *= e.y, this | |
| }, i.prototype.multiply = function (e) { | |
| return new i(this.x * e.x, this.y * e.y) | |
| }, i.prototype.multiplyToRef = function (e, t) { | |
| return t.x = this.x * e.x, t.y = this.y * e.y, this | |
| }, i.prototype.multiplyByFloats = function (e, t) { | |
| return new i(this.x * e, this.y * t) | |
| }, i.prototype.divide = function (e) { | |
| return new i(this.x / e.x, this.y / e.y) | |
| }, i.prototype.divideToRef = function (e, t) { | |
| return t.x = this.x / e.x, t.y = this.y / e.y, this | |
| }, i.prototype.negate = function () { | |
| return new i(-this.x, -this.y) | |
| }, i.prototype.scaleInPlace = function (e) { | |
| return this.x *= e, this.y *= e, this | |
| }, i.prototype.scale = function (e) { | |
| return new i(this.x * e, this.y * e) | |
| }, i.prototype.equals = function (e) { | |
| return e && this.x === e.x && this.y === e.y | |
| }, i.prototype.equalsWithEpsilon = function (i, r) { | |
| return void 0 === r && (r = e.Epsilon), i && t.WithinEpsilon(this.x, i.x, r) && t.WithinEpsilon(this.y, i.y, r) | |
| }, i.prototype.length = function () { | |
| return Math.sqrt(this.x * this.x + this.y * this.y) | |
| }, i.prototype.lengthSquared = function () { | |
| return this.x * this.x + this.y * this.y | |
| }, i.prototype.normalize = function () { | |
| var e = this.length(); | |
| if (0 === e) return this; | |
| var t = 1 / e; | |
| return this.x *= t, this.y *= t, this | |
| }, i.prototype.clone = function () { | |
| return new i(this.x, this.y) | |
| }, i.Zero = function () { | |
| return new i(0, 0) | |
| }, i.FromArray = function (e, t) { | |
| return void 0 === t && (t = 0), new i(e[t], e[t + 1]) | |
| }, i.FromArrayToRef = function (e, t, i) { | |
| i.x = e[t], i.y = e[t + 1] | |
| }, i.CatmullRom = function (e, t, r, n, o) { | |
| var s = o * o, | |
| a = o * s; | |
| return new i(.5 * (2 * t.x + (-e.x + r.x) * o + (2 * e.x - 5 * t.x + 4 * r.x - n.x) * s + (-e.x + 3 * t.x - 3 * r.x + n.x) * a), .5 * (2 * t.y + (-e.y + r.y) * o + (2 * e.y - 5 * t.y + 4 * r.y - n.y) * s + (-e.y + 3 * t.y - 3 * r.y + n.y) * a)) | |
| }, i.Clamp = function (e, t, r) { | |
| var n = e.x; | |
| n = (n = n > r.x ? r.x : n) < t.x ? t.x : n; | |
| var o = e.y; | |
| return new i(n, o = (o = o > r.y ? r.y : o) < t.y ? t.y : o) | |
| }, i.Hermite = function (e, t, r, n, o) { | |
| var s = o * o, | |
| a = o * s, | |
| c = 2 * a - 3 * s + 1, | |
| h = -2 * a + 3 * s, | |
| u = a - 2 * s + o, | |
| l = a - s; | |
| return new i(e.x * c + r.x * h + t.x * u + n.x * l, e.y * c + r.y * h + t.y * u + n.y * l) | |
| }, i.Lerp = function (e, t, r) { | |
| return new i(e.x + (t.x - e.x) * r, e.y + (t.y - e.y) * r) | |
| }, i.Dot = function (e, t) { | |
| return e.x * t.x + e.y * t.y | |
| }, i.Normalize = function (e) { | |
| var t = e.clone(); | |
| return t.normalize(), t | |
| }, i.Minimize = function (e, t) { | |
| return new i(e.x < t.x ? e.x : t.x, e.y < t.y ? e.y : t.y) | |
| }, i.Maximize = function (e, t) { | |
| return new i(e.x > t.x ? e.x : t.x, e.y > t.y ? e.y : t.y) | |
| }, i.Transform = function (e, t) { | |
| var r = i.Zero(); | |
| return i.TransformToRef(e, t, r), r | |
| }, i.TransformToRef = function (e, t, i) { | |
| var r = e.x * t.m[0] + e.y * t.m[4] + t.m[12], | |
| n = e.x * t.m[1] + e.y * t.m[5] + t.m[13]; | |
| i.x = r, i.y = n | |
| }, i.PointInTriangle = function (e, t, i, r) { | |
| var n = .5 * (-i.y * r.x + t.y * (-i.x + r.x) + t.x * (i.y - r.y) + i.x * r.y), | |
| o = n < 0 ? -1 : 1, | |
| s = (t.y * r.x - t.x * r.y + (r.y - t.y) * e.x + (t.x - r.x) * e.y) * o, | |
| a = (t.x * i.y - t.y * i.x + (t.y - i.y) * e.x + (i.x - t.x) * e.y) * o; | |
| return s > 0 && a > 0 && s + a < 2 * n * o | |
| }, i.Distance = function (e, t) { | |
| return Math.sqrt(i.DistanceSquared(e, t)) | |
| }, i.DistanceSquared = function (e, t) { | |
| var i = e.x - t.x, | |
| r = e.y - t.y; | |
| return i * i + r * r | |
| }, i.Center = function (e, t) { | |
| var i = e.add(t); | |
| return i.scaleInPlace(.5), i | |
| }, i.DistanceOfPointFromSegment = function (e, t, r) { | |
| var n = i.DistanceSquared(t, r); | |
| if (0 === n) return i.Distance(e, t); | |
| var o = r.subtract(t), | |
| s = Math.max(0, Math.min(1, i.Dot(e.subtract(t), o) / n)), | |
| a = t.add(o.multiplyByFloats(s, s)); | |
| return i.Distance(e, a) | |
| }, i | |
| }(); | |
| e.Vector2 = n; | |
| var o = function () { | |
| function i(e, t, i) { | |
| this.x = e, this.y = t, this.z = i | |
| } | |
| return i.prototype.toString = function () { | |
| return "{X: " + this.x + " Y:" + this.y + " Z:" + this.z + "}" | |
| }, i.prototype.getClassName = function () { | |
| return "Vector3" | |
| }, i.prototype.getHashCode = function () { | |
| var e = this.x || 0; | |
| return 397 * (e = 397 * e ^ (this.y || 0)) ^ (this.z || 0) | |
| }, i.prototype.asArray = function () { | |
| var e = []; | |
| return this.toArray(e, 0), e | |
| }, i.prototype.toArray = function (e, t) { | |
| return void 0 === t && (t = 0), e[t] = this.x, e[t + 1] = this.y, e[t + 2] = this.z, this | |
| }, i.prototype.toQuaternion = function () { | |
| var e = new c(0, 0, 0, 1), | |
| t = Math.cos(.5 * (this.x + this.z)), | |
| i = Math.sin(.5 * (this.x + this.z)), | |
| r = Math.cos(.5 * (this.z - this.x)), | |
| n = Math.sin(.5 * (this.z - this.x)), | |
| o = Math.cos(.5 * this.y), | |
| s = Math.sin(.5 * this.y); | |
| return e.x = r * s, e.y = -n * s, e.z = i * o, e.w = t * o, e | |
| }, i.prototype.addInPlace = function (e) { | |
| return this.x += e.x, this.y += e.y, this.z += e.z, this | |
| }, i.prototype.add = function (e) { | |
| return new i(this.x + e.x, this.y + e.y, this.z + e.z) | |
| }, i.prototype.addToRef = function (e, t) { | |
| return t.x = this.x + e.x, t.y = this.y + e.y, t.z = this.z + e.z, this | |
| }, i.prototype.subtractInPlace = function (e) { | |
| return this.x -= e.x, this.y -= e.y, this.z -= e.z, this | |
| }, i.prototype.subtract = function (e) { | |
| return new i(this.x - e.x, this.y - e.y, this.z - e.z) | |
| }, i.prototype.subtractToRef = function (e, t) { | |
| return t.x = this.x - e.x, t.y = this.y - e.y, t.z = this.z - e.z, this | |
| }, i.prototype.subtractFromFloats = function (e, t, r) { | |
| return new i(this.x - e, this.y - t, this.z - r) | |
| }, i.prototype.subtractFromFloatsToRef = function (e, t, i, r) { | |
| return r.x = this.x - e, r.y = this.y - t, r.z = this.z - i, this | |
| }, i.prototype.negate = function () { | |
| return new i(-this.x, -this.y, -this.z) | |
| }, i.prototype.scaleInPlace = function (e) { | |
| return this.x *= e, this.y *= e, this.z *= e, this | |
| }, i.prototype.scale = function (e) { | |
| return new i(this.x * e, this.y * e, this.z * e) | |
| }, i.prototype.scaleToRef = function (e, t) { | |
| t.x = this.x * e, t.y = this.y * e, t.z = this.z * e | |
| }, i.prototype.equals = function (e) { | |
| return e && this.x === e.x && this.y === e.y && this.z === e.z | |
| }, i.prototype.equalsWithEpsilon = function (i, r) { | |
| return void 0 === r && (r = e.Epsilon), i && t.WithinEpsilon(this.x, i.x, r) && t.WithinEpsilon(this.y, i.y, r) && t.WithinEpsilon(this.z, i.z, r) | |
| }, i.prototype.equalsToFloats = function (e, t, i) { | |
| return this.x === e && this.y === t && this.z === i | |
| }, i.prototype.multiplyInPlace = function (e) { | |
| return this.x *= e.x, this.y *= e.y, this.z *= e.z, this | |
| }, i.prototype.multiply = function (e) { | |
| return new i(this.x * e.x, this.y * e.y, this.z * e.z) | |
| }, i.prototype.multiplyToRef = function (e, t) { | |
| return t.x = this.x * e.x, t.y = this.y * e.y, t.z = this.z * e.z, this | |
| }, i.prototype.multiplyByFloats = function (e, t, r) { | |
| return new i(this.x * e, this.y * t, this.z * r) | |
| }, i.prototype.divide = function (e) { | |
| return new i(this.x / e.x, this.y / e.y, this.z / e.z) | |
| }, i.prototype.divideToRef = function (e, t) { | |
| return t.x = this.x / e.x, t.y = this.y / e.y, t.z = this.z / e.z, this | |
| }, i.prototype.MinimizeInPlace = function (e) { | |
| return e.x < this.x && (this.x = e.x), e.y < this.y && (this.y = e.y), e.z < this.z && (this.z = e.z), this | |
| }, i.prototype.MaximizeInPlace = function (e) { | |
| return e.x > this.x && (this.x = e.x), e.y > this.y && (this.y = e.y), e.z > this.z && (this.z = e.z), this | |
| }, i.prototype.length = function () { | |
| return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z) | |
| }, i.prototype.lengthSquared = function () { | |
| return this.x * this.x + this.y * this.y + this.z * this.z | |
| }, i.prototype.normalize = function () { | |
| var e = this.length(); | |
| if (0 === e || 1 === e) return this; | |
| var t = 1 / e; | |
| return this.x *= t, this.y *= t, this.z *= t, this | |
| }, i.prototype.clone = function () { | |
| return new i(this.x, this.y, this.z) | |
| }, i.prototype.copyFrom = function (e) { | |
| return this.x = e.x, this.y = e.y, this.z = e.z, this | |
| }, i.prototype.copyFromFloats = function (e, t, i) { | |
| return this.x = e, this.y = t, this.z = i, this | |
| }, i.GetClipFactor = function (e, t, r, n) { | |
| var o = i.Dot(e, r) - n; | |
| return o / (o - (i.Dot(t, r) - n)) | |
| }, i.FromArray = function (e, t) { | |
| return t || (t = 0), new i(e[t], e[t + 1], e[t + 2]) | |
| }, i.FromFloatArray = function (e, t) { | |
| return t || (t = 0), new i(e[t], e[t + 1], e[t + 2]) | |
| }, i.FromArrayToRef = function (e, t, i) { | |
| i.x = e[t], i.y = e[t + 1], i.z = e[t + 2] | |
| }, i.FromFloatArrayToRef = function (e, t, i) { | |
| i.x = e[t], i.y = e[t + 1], i.z = e[t + 2] | |
| }, i.FromFloatsToRef = function (e, t, i, r) { | |
| r.x = e, r.y = t, r.z = i | |
| }, i.Zero = function () { | |
| return new i(0, 0, 0) | |
| }, i.Up = function () { | |
| return new i(0, 1, 0) | |
| }, i.Forward = function () { | |
| return new i(0, 0, 1) | |
| }, i.Right = function () { | |
| return new i(1, 0, 0) | |
| }, i.Left = function () { | |
| return new i(-1, 0, 0) | |
| }, i.TransformCoordinates = function (e, t) { | |
| var r = i.Zero(); | |
| return i.TransformCoordinatesToRef(e, t, r), r | |
| }, i.TransformCoordinatesToRef = function (e, t, i) { | |
| var r = e.x * t.m[0] + e.y * t.m[4] + e.z * t.m[8] + t.m[12], | |
| n = e.x * t.m[1] + e.y * t.m[5] + e.z * t.m[9] + t.m[13], | |
| o = e.x * t.m[2] + e.y * t.m[6] + e.z * t.m[10] + t.m[14], | |
| s = e.x * t.m[3] + e.y * t.m[7] + e.z * t.m[11] + t.m[15]; | |
| i.x = r / s, i.y = n / s, i.z = o / s | |
| }, i.TransformCoordinatesFromFloatsToRef = function (e, t, i, r, n) { | |
| var o = e * r.m[0] + t * r.m[4] + i * r.m[8] + r.m[12], | |
| s = e * r.m[1] + t * r.m[5] + i * r.m[9] + r.m[13], | |
| a = e * r.m[2] + t * r.m[6] + i * r.m[10] + r.m[14], | |
| c = e * r.m[3] + t * r.m[7] + i * r.m[11] + r.m[15]; | |
| n.x = o / c, n.y = s / c, n.z = a / c | |
| }, i.TransformNormal = function (e, t) { | |
| var r = i.Zero(); | |
| return i.TransformNormalToRef(e, t, r), r | |
| }, i.TransformNormalToRef = function (e, t, i) { | |
| var r = e.x * t.m[0] + e.y * t.m[4] + e.z * t.m[8], | |
| n = e.x * t.m[1] + e.y * t.m[5] + e.z * t.m[9], | |
| o = e.x * t.m[2] + e.y * t.m[6] + e.z * t.m[10]; | |
| i.x = r, i.y = n, i.z = o | |
| }, i.TransformNormalFromFloatsToRef = function (e, t, i, r, n) { | |
| n.x = e * r.m[0] + t * r.m[4] + i * r.m[8], n.y = e * r.m[1] + t * r.m[5] + i * r.m[9], n.z = e * r.m[2] + t * r.m[6] + i * r.m[10] | |
| }, i.CatmullRom = function (e, t, r, n, o) { | |
| var s = o * o, | |
| a = o * s; | |
| return new i(.5 * (2 * t.x + (-e.x + r.x) * o + (2 * e.x - 5 * t.x + 4 * r.x - n.x) * s + (-e.x + 3 * t.x - 3 * r.x + n.x) * a), .5 * (2 * t.y + (-e.y + r.y) * o + (2 * e.y - 5 * t.y + 4 * r.y - n.y) * s + (-e.y + 3 * t.y - 3 * r.y + n.y) * a), .5 * (2 * t.z + (-e.z + r.z) * o + (2 * e.z - 5 * t.z + 4 * r.z - n.z) * s + (-e.z + 3 * t.z - 3 * r.z + n.z) * a)) | |
| }, i.Clamp = function (e, t, r) { | |
| var n = e.x; | |
| n = (n = n > r.x ? r.x : n) < t.x ? t.x : n; | |
| var o = e.y; | |
| o = (o = o > r.y ? r.y : o) < t.y ? t.y : o; | |
| var s = e.z; | |
| return new i(n, o, s = (s = s > r.z ? r.z : s) < t.z ? t.z : s) | |
| }, i.Hermite = function (e, t, r, n, o) { | |
| var s = o * o, | |
| a = o * s, | |
| c = 2 * a - 3 * s + 1, | |
| h = -2 * a + 3 * s, | |
| u = a - 2 * s + o, | |
| l = a - s; | |
| return new i(e.x * c + r.x * h + t.x * u + n.x * l, e.y * c + r.y * h + t.y * u + n.y * l, e.z * c + r.z * h + t.z * u + n.z * l) | |
| }, i.Lerp = function (e, t, r) { | |
| return new i(e.x + (t.x - e.x) * r, e.y + (t.y - e.y) * r, e.z + (t.z - e.z) * r) | |
| }, i.Dot = function (e, t) { | |
| return e.x * t.x + e.y * t.y + e.z * t.z | |
| }, i.Cross = function (e, t) { | |
| var r = i.Zero(); | |
| return i.CrossToRef(e, t, r), r | |
| }, i.CrossToRef = function (e, t, i) { | |
| A.Vector3[0].x = e.y * t.z - e.z * t.y, A.Vector3[0].y = e.z * t.x - e.x * t.z, A.Vector3[0].z = e.x * t.y - e.y * t.x, i.copyFrom(A.Vector3[0]) | |
| }, i.Normalize = function (e) { | |
| var t = i.Zero(); | |
| return i.NormalizeToRef(e, t), t | |
| }, i.NormalizeToRef = function (e, t) { | |
| t.copyFrom(e), t.normalize() | |
| }, i.Project = function (e, t, r, n) { | |
| var o = n.width, | |
| s = n.height, | |
| a = n.x, | |
| c = n.y, | |
| u = i._viewportMatrixCache ? i._viewportMatrixCache : i._viewportMatrixCache = new h; | |
| h.FromValuesToRef(o / 2, 0, 0, 0, 0, -s / 2, 0, 0, 0, 0, 1, 0, a + o / 2, s / 2 + c, 0, 1, u); | |
| var l = i._matrixCache ? i._matrixCache : i._matrixCache = new h; | |
| return t.multiplyToRef(r, l), l.multiplyToRef(u, l), i.TransformCoordinates(e, l) | |
| }, i.UnprojectFromTransform = function (e, r, n, o, s) { | |
| var a = i._matrixCache ? i._matrixCache : i._matrixCache = new h; | |
| o.multiplyToRef(s, a), a.invert(), e.x = e.x / r * 2 - 1, e.y = -(e.y / n * 2 - 1); | |
| var c = i.TransformCoordinates(e, a), | |
| u = e.x * a.m[3] + e.y * a.m[7] + e.z * a.m[11] + a.m[15]; | |
| return t.WithinEpsilon(u, 1) && (c = c.scale(1 / u)), c | |
| }, i.Unproject = function (e, r, n, o, s, a) { | |
| var c = i._matrixCache ? i._matrixCache : i._matrixCache = new h; | |
| o.multiplyToRef(s, c), c.multiplyToRef(a, c), c.invert(); | |
| var u = new i(e.x / r * 2 - 1, -(e.y / n * 2 - 1), e.z), | |
| l = i.TransformCoordinates(u, c), | |
| f = u.x * c.m[3] + u.y * c.m[7] + u.z * c.m[11] + c.m[15]; | |
| return t.WithinEpsilon(f, 1) && (l = l.scale(1 / f)), l | |
| }, i.Minimize = function (e, t) { | |
| var i = e.clone(); | |
| return i.MinimizeInPlace(t), i | |
| }, i.Maximize = function (e, t) { | |
| var i = e.clone(); | |
| return i.MaximizeInPlace(t), i | |
| }, i.Distance = function (e, t) { | |
| return Math.sqrt(i.DistanceSquared(e, t)) | |
| }, i.DistanceSquared = function (e, t) { | |
| var i = e.x - t.x, | |
| r = e.y - t.y, | |
| n = e.z - t.z; | |
| return i * i + r * r + n * n | |
| }, i.Center = function (e, t) { | |
| var i = e.add(t); | |
| return i.scaleInPlace(.5), i | |
| }, i.RotationFromAxis = function (e, t, r) { | |
| var n = i.Zero(); | |
| return i.RotationFromAxisToRef(e, t, r, n), n | |
| }, i.RotationFromAxisToRef = function (r, n, o, s) { | |
| var a = r.normalize(), | |
| c = o.normalize(), | |
| h = d.X, | |
| u = d.Y, | |
| l = 0, | |
| f = 0, | |
| p = 0, | |
| m = 0, | |
| g = 0, | |
| _ = 0, | |
| v = 0, | |
| y = -1, | |
| b = 0, | |
| x = A.Vector3[0], | |
| w = 0, | |
| S = A.Vector3[1]; | |
| t.WithinEpsilon(c.z, 0, e.Epsilon) ? _ = 1 : t.WithinEpsilon(c.x, 0, e.Epsilon) ? m = 1 : (m = -(v = c.z / c.x) * Math.sqrt(1 / (1 + v * v)), _ = Math.sqrt(1 / (1 + v * v))), S.x = m, S.y = g, S.z = _, S.normalize(), i.CrossToRef(a, S, x), x.normalize(), i.Dot(c, x) < 0 && (y = 1), w = i.Dot(a, S), w = Math.min(1, Math.max(-1, w)), p = Math.acos(w) * y, i.Dot(S, h) < 0 && (p = Math.PI + p, S = S.scaleInPlace(-1), b++); | |
| var T = A.Vector3[2], | |
| M = A.Vector3[3]; | |
| m = 0, g = 0, _ = 0, y = -1, t.WithinEpsilon(c.z, 0, e.Epsilon) ? m = 1 : (m = -(v = S.z / S.x) * Math.sqrt(1 / (1 + v * v)), _ = Math.sqrt(1 / (1 + v * v))), T.x = m, T.y = g, T.z = _, T.normalize(), i.CrossToRef(T, S, M), M.normalize(), i.CrossToRef(c, T, x), x.normalize(), i.Dot(S, x) < 0 && (y = 1), w = i.Dot(c, T), w = Math.min(1, Math.max(-1, w)), f = Math.acos(w) * y, i.Dot(M, u) < 0 && (f = Math.PI + f, b++), y = -1, i.CrossToRef(h, S, x), x.normalize(), i.Dot(x, u) < 0 && (y = 1), w = i.Dot(S, h), w = Math.min(1, Math.max(-1, w)), l = -Math.acos(w) * y, w < 0 && b < 2 && (l = Math.PI + l), s.x = f, s.y = l, s.z = p | |
| }, i | |
| }(); | |
| e.Vector3 = o; | |
| var s = function () { | |
| function i(e, t, i, r) { | |
| this.x = e, this.y = t, this.z = i, this.w = r | |
| } | |
| return i.prototype.toString = function () { | |
| return "{X: " + this.x + " Y:" + this.y + " Z:" + this.z + " W:" + this.w + "}" | |
| }, i.prototype.getClassName = function () { | |
| return "Vector4" | |
| }, i.prototype.getHashCode = function () { | |
| var e = this.x || 0; | |
| return 397 * (e = 397 * (e = 397 * e ^ (this.y || 0)) ^ (this.z || 0)) ^ (this.w || 0) | |
| }, i.prototype.asArray = function () { | |
| var e = []; | |
| return this.toArray(e, 0), e | |
| }, i.prototype.toArray = function (e, t) { | |
| return void 0 === t && (t = 0), e[t] = this.x, e[t + 1] = this.y, e[t + 2] = this.z, e[t + 3] = this.w, this | |
| }, i.prototype.addInPlace = function (e) { | |
| return this.x += e.x, this.y += e.y, this.z += e.z, this.w += e.w, this | |
| }, i.prototype.add = function (e) { | |
| return new i(this.x + e.x, this.y + e.y, this.z + e.z, this.w + e.w) | |
| }, i.prototype.addToRef = function (e, t) { | |
| return t.x = this.x + e.x, t.y = this.y + e.y, t.z = this.z + e.z, t.w = this.w + e.w, this | |
| }, i.prototype.subtractInPlace = function (e) { | |
| return this.x -= e.x, this.y -= e.y, this.z -= e.z, this.w -= e.w, this | |
| }, i.prototype.subtract = function (e) { | |
| return new i(this.x - e.x, this.y - e.y, this.z - e.z, this.w - e.w) | |
| }, i.prototype.subtractToRef = function (e, t) { | |
| return t.x = this.x - e.x, t.y = this.y - e.y, t.z = this.z - e.z, t.w = this.w - e.w, this | |
| }, i.prototype.subtractFromFloats = function (e, t, r, n) { | |
| return new i(this.x - e, this.y - t, this.z - r, this.w - n) | |
| }, i.prototype.subtractFromFloatsToRef = function (e, t, i, r, n) { | |
| return n.x = this.x - e, n.y = this.y - t, n.z = this.z - i, n.w = this.w - r, this | |
| }, i.prototype.negate = function () { | |
| return new i(-this.x, -this.y, -this.z, -this.w) | |
| }, i.prototype.scaleInPlace = function (e) { | |
| return this.x *= e, this.y *= e, this.z *= e, this.w *= e, this | |
| }, i.prototype.scale = function (e) { | |
| return new i(this.x * e, this.y * e, this.z * e, this.w * e) | |
| }, i.prototype.scaleToRef = function (e, t) { | |
| t.x = this.x * e, t.y = this.y * e, t.z = this.z * e, t.w = this.w * e | |
| }, i.prototype.equals = function (e) { | |
| return e && this.x === e.x && this.y === e.y && this.z === e.z && this.w === e.w | |
| }, i.prototype.equalsWithEpsilon = function (i, r) { | |
| return void 0 === r && (r = e.Epsilon), i && t.WithinEpsilon(this.x, i.x, r) && t.WithinEpsilon(this.y, i.y, r) && t.WithinEpsilon(this.z, i.z, r) && t.WithinEpsilon(this.w, i.w, r) | |
| }, i.prototype.equalsToFloats = function (e, t, i, r) { | |
| return this.x === e && this.y === t && this.z === i && this.w === r | |
| }, i.prototype.multiplyInPlace = function (e) { | |
| return this.x *= e.x, this.y *= e.y, this.z *= e.z, this.w *= e.w, this | |
| }, i.prototype.multiply = function (e) { | |
| return new i(this.x * e.x, this.y * e.y, this.z * e.z, this.w * e.w) | |
| }, i.prototype.multiplyToRef = function (e, t) { | |
| return t.x = this.x * e.x, t.y = this.y * e.y, t.z = this.z * e.z, t.w = this.w * e.w, this | |
| }, i.prototype.multiplyByFloats = function (e, t, r, n) { | |
| return new i(this.x * e, this.y * t, this.z * r, this.w * n) | |
| }, i.prototype.divide = function (e) { | |
| return new i(this.x / e.x, this.y / e.y, this.z / e.z, this.w / e.w) | |
| }, i.prototype.divideToRef = function (e, t) { | |
| return t.x = this.x / e.x, t.y = this.y / e.y, t.z = this.z / e.z, t.w = this.w / e.w, this | |
| }, i.prototype.MinimizeInPlace = function (e) { | |
| return e.x < this.x && (this.x = e.x), e.y < this.y && (this.y = e.y), e.z < this.z && (this.z = e.z), e.w < this.w && (this.w = e.w), this | |
| }, i.prototype.MaximizeInPlace = function (e) { | |
| return e.x > this.x && (this.x = e.x), e.y > this.y && (this.y = e.y), e.z > this.z && (this.z = e.z), e.w > this.w && (this.w = e.w), this | |
| }, i.prototype.length = function () { | |
| return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w) | |
| }, i.prototype.lengthSquared = function () { | |
| return this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w | |
| }, i.prototype.normalize = function () { | |
| var e = this.length(); | |
| if (0 === e) return this; | |
| var t = 1 / e; | |
| return this.x *= t, this.y *= t, this.z *= t, this.w *= t, this | |
| }, i.prototype.toVector3 = function () { | |
| return new o(this.x, this.y, this.z) | |
| }, i.prototype.clone = function () { | |
| return new i(this.x, this.y, this.z, this.w) | |
| }, i.prototype.copyFrom = function (e) { | |
| return this.x = e.x, this.y = e.y, this.z = e.z, this.w = e.w, this | |
| }, i.prototype.copyFromFloats = function (e, t, i, r) { | |
| return this.x = e, this.y = t, this.z = i, this.w = r, this | |
| }, i.FromArray = function (e, t) { | |
| return t || (t = 0), new i(e[t], e[t + 1], e[t + 2], e[t + 3]) | |
| }, i.FromArrayToRef = function (e, t, i) { | |
| i.x = e[t], i.y = e[t + 1], i.z = e[t + 2], i.w = e[t + 3] | |
| }, i.FromFloatArrayToRef = function (e, t, i) { | |
| i.x = e[t], i.y = e[t + 1], i.z = e[t + 2], i.w = e[t + 3] | |
| }, i.FromFloatsToRef = function (e, t, i, r, n) { | |
| n.x = e, n.y = t, n.z = i, n.w = r | |
| }, i.Zero = function () { | |
| return new i(0, 0, 0, 0) | |
| }, i.Normalize = function (e) { | |
| var t = i.Zero(); | |
| return i.NormalizeToRef(e, t), t | |
| }, i.NormalizeToRef = function (e, t) { | |
| t.copyFrom(e), t.normalize() | |
| }, i.Minimize = function (e, t) { | |
| var i = e.clone(); | |
| return i.MinimizeInPlace(t), i | |
| }, i.Maximize = function (e, t) { | |
| var i = e.clone(); | |
| return i.MaximizeInPlace(t), i | |
| }, i.Distance = function (e, t) { | |
| return Math.sqrt(i.DistanceSquared(e, t)) | |
| }, i.DistanceSquared = function (e, t) { | |
| var i = e.x - t.x, | |
| r = e.y - t.y, | |
| n = e.z - t.z, | |
| o = e.w - t.w; | |
| return i * i + r * r + n * n + o * o | |
| }, i.Center = function (e, t) { | |
| var i = e.add(t); | |
| return i.scaleInPlace(.5), i | |
| }, i | |
| }(); | |
| e.Vector4 = s; | |
| var a = function () { | |
| function e(e, t) { | |
| this.width = e, this.height = t | |
| } | |
| return e.prototype.toString = function () { | |
| return "{W: " + this.width + ", H: " + this.height + "}" | |
| }, e.prototype.getClassName = function () { | |
| return "Size" | |
| }, e.prototype.getHashCode = function () { | |
| var e = this.width || 0; | |
| return 397 * e ^ (this.height || 0) | |
| }, e.prototype.copyFrom = function (e) { | |
| this.width = e.width, this.height = e.height | |
| }, e.prototype.copyFromFloats = function (e, t) { | |
| this.width = e, this.height = t | |
| }, e.prototype.multiplyByFloats = function (t, i) { | |
| return new e(this.width * t, this.height * i) | |
| }, e.prototype.clone = function () { | |
| return new e(this.width, this.height) | |
| }, e.prototype.equals = function (e) { | |
| return !!e && this.width === e.width && this.height === e.height | |
| }, Object.defineProperty(e.prototype, "surface", { | |
| get: function () { | |
| return this.width * this.height | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), e.Zero = function () { | |
| return new e(0, 0) | |
| }, e.prototype.add = function (t) { | |
| return new e(this.width + t.width, this.height + t.height) | |
| }, e.prototype.substract = function (t) { | |
| return new e(this.width - t.width, this.height - t.height) | |
| }, e.Lerp = function (t, i, r) { | |
| return new e(t.width + (i.width - t.width) * r, t.height + (i.height - t.height) * r) | |
| }, e | |
| }(); | |
| e.Size = a; | |
| var c = function () { | |
| function e(e, t, i, r) { | |
| void 0 === e && (e = 0), void 0 === t && (t = 0), void 0 === i && (i = 0), void 0 === r && (r = 1), this.x = e, this.y = t, this.z = i, this.w = r | |
| } | |
| return e.prototype.toString = function () { | |
| return "{X: " + this.x + " Y:" + this.y + " Z:" + this.z + " W:" + this.w + "}" | |
| }, e.prototype.getClassName = function () { | |
| return "Quaternion" | |
| }, e.prototype.getHashCode = function () { | |
| var e = this.x || 0; | |
| return 397 * (e = 397 * (e = 397 * e ^ (this.y || 0)) ^ (this.z || 0)) ^ (this.w || 0) | |
| }, e.prototype.asArray = function () { | |
| return [this.x, this.y, this.z, this.w] | |
| }, e.prototype.equals = function (e) { | |
| return e && this.x === e.x && this.y === e.y && this.z === e.z && this.w === e.w | |
| }, e.prototype.clone = function () { | |
| return new e(this.x, this.y, this.z, this.w) | |
| }, e.prototype.copyFrom = function (e) { | |
| return this.x = e.x, this.y = e.y, this.z = e.z, this.w = e.w, this | |
| }, e.prototype.copyFromFloats = function (e, t, i, r) { | |
| return this.x = e, this.y = t, this.z = i, this.w = r, this | |
| }, e.prototype.add = function (t) { | |
| return new e(this.x + t.x, this.y + t.y, this.z + t.z, this.w + t.w) | |
| }, e.prototype.subtract = function (t) { | |
| return new e(this.x - t.x, this.y - t.y, this.z - t.z, this.w - t.w) | |
| }, e.prototype.scale = function (t) { | |
| return new e(this.x * t, this.y * t, this.z * t, this.w * t) | |
| }, e.prototype.multiply = function (t) { | |
| var i = new e(0, 0, 0, 1); | |
| return this.multiplyToRef(t, i), i | |
| }, e.prototype.multiplyToRef = function (e, t) { | |
| var i = this.x * e.w + this.y * e.z - this.z * e.y + this.w * e.x, | |
| r = -this.x * e.z + this.y * e.w + this.z * e.x + this.w * e.y, | |
| n = this.x * e.y - this.y * e.x + this.z * e.w + this.w * e.z, | |
| o = -this.x * e.x - this.y * e.y - this.z * e.z + this.w * e.w; | |
| return t.copyFromFloats(i, r, n, o), this | |
| }, e.prototype.multiplyInPlace = function (e) { | |
| return this.multiplyToRef(e, this), this | |
| }, e.prototype.conjugateToRef = function (e) { | |
| return e.copyFromFloats(-this.x, -this.y, -this.z, this.w), this | |
| }, e.prototype.conjugateInPlace = function () { | |
| return this.x *= -1, this.y *= -1, this.z *= -1, this | |
| }, e.prototype.conjugate = function () { | |
| return new e(-this.x, -this.y, -this.z, this.w) | |
| }, e.prototype.length = function () { | |
| return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w) | |
| }, e.prototype.normalize = function () { | |
| var e = 1 / this.length(); | |
| return this.x *= e, this.y *= e, this.z *= e, this.w *= e, this | |
| }, e.prototype.toEulerAngles = function (e) { | |
| void 0 === e && (e = "YZX"); | |
| var t = o.Zero(); | |
| return this.toEulerAnglesToRef(t, e), t | |
| }, e.prototype.toEulerAnglesToRef = function (e, t) { | |
| void 0 === t && (t = "YZX"); | |
| var i = this.z, | |
| r = this.x, | |
| n = this.y, | |
| o = this.w, | |
| s = o * o, | |
| a = i * i, | |
| c = r * r, | |
| h = n * n, | |
| u = n * i - r * o, | |
| l = .4999999; | |
| return u < -l ? (e.y = 2 * Math.atan2(n, o), e.x = Math.PI / 2, e.z = 0) : u > l ? (e.y = 2 * Math.atan2(n, o), e.x = -Math.PI / 2, e.z = 0) : (e.z = Math.atan2(2 * (r * n + i * o), -a - c + h + s), e.x = Math.asin(-2 * (i * n - r * o)), e.y = Math.atan2(2 * (i * r + n * o), a - c - h + s)), this | |
| }, e.prototype.toRotationMatrix = function (e) { | |
| var t = this.x * this.x, | |
| i = this.y * this.y, | |
| r = this.z * this.z, | |
| n = this.x * this.y, | |
| o = this.z * this.w, | |
| s = this.z * this.x, | |
| a = this.y * this.w, | |
| c = this.y * this.z, | |
| h = this.x * this.w; | |
| return e.m[0] = 1 - 2 * (i + r), e.m[1] = 2 * (n + o), e.m[2] = 2 * (s - a), e.m[3] = 0, e.m[4] = 2 * (n - o), e.m[5] = 1 - 2 * (r + t), e.m[6] = 2 * (c + h), e.m[7] = 0, e.m[8] = 2 * (s + a), e.m[9] = 2 * (c - h), e.m[10] = 1 - 2 * (i + t), e.m[11] = 0, e.m[12] = 0, e.m[13] = 0, e.m[14] = 0, e.m[15] = 1, this | |
| }, e.prototype.fromRotationMatrix = function (t) { | |
| return e.FromRotationMatrixToRef(t, this), this | |
| }, e.FromRotationMatrix = function (t) { | |
| var i = new e; | |
| return e.FromRotationMatrixToRef(t, i), i | |
| }, e.FromRotationMatrixToRef = function (e, t) { | |
| var i, r = e.m, | |
| n = r[0], | |
| o = r[4], | |
| s = r[8], | |
| a = r[1], | |
| c = r[5], | |
| h = r[9], | |
| u = r[2], | |
| l = r[6], | |
| f = r[10], | |
| d = n + c + f; | |
| d > 0 ? (i = .5 / Math.sqrt(d + 1), t.w = .25 / i, t.x = (l - h) * i, t.y = (s - u) * i, t.z = (a - o) * i) : n > c && n > f ? (i = 2 * Math.sqrt(1 + n - c - f), t.w = (l - h) / i, t.x = .25 * i, t.y = (o + a) / i, t.z = (s + u) / i) : c > f ? (i = 2 * Math.sqrt(1 + c - n - f), t.w = (s - u) / i, t.x = (o + a) / i, t.y = .25 * i, t.z = (h + l) / i) : (i = 2 * Math.sqrt(1 + f - n - c), t.w = (a - o) / i, t.x = (s + u) / i, t.y = (h + l) / i, t.z = .25 * i) | |
| }, e.Inverse = function (t) { | |
| return new e(-t.x, -t.y, -t.z, t.w) | |
| }, e.Identity = function () { | |
| return new e(0, 0, 0, 1) | |
| }, e.RotationAxis = function (t, i) { | |
| return e.RotationAxisToRef(t, i, new e) | |
| }, e.RotationAxisToRef = function (e, t, i) { | |
| var r = Math.sin(t / 2); | |
| return e.normalize(), i.w = Math.cos(t / 2), i.x = e.x * r, i.y = e.y * r, i.z = e.z * r, i | |
| }, e.FromArray = function (t, i) { | |
| return i || (i = 0), new e(t[i], t[i + 1], t[i + 2], t[i + 3]) | |
| }, e.RotationYawPitchRoll = function (t, i, r) { | |
| var n = new e; | |
| return e.RotationYawPitchRollToRef(t, i, r, n), n | |
| }, e.RotationYawPitchRollToRef = function (e, t, i, r) { | |
| var n = .5 * i, | |
| o = .5 * t, | |
| s = .5 * e, | |
| a = Math.sin(n), | |
| c = Math.cos(n), | |
| h = Math.sin(o), | |
| u = Math.cos(o), | |
| l = Math.sin(s), | |
| f = Math.cos(s); | |
| r.x = f * h * c + l * u * a, r.y = l * u * c - f * h * a, r.z = f * u * a - l * h * c, r.w = f * u * c + l * h * a | |
| }, e.RotationAlphaBetaGamma = function (t, i, r) { | |
| var n = new e; | |
| return e.RotationAlphaBetaGammaToRef(t, i, r, n), n | |
| }, e.RotationAlphaBetaGammaToRef = function (e, t, i, r) { | |
| var n = .5 * (i + e), | |
| o = .5 * (i - e), | |
| s = .5 * t; | |
| r.x = Math.cos(o) * Math.sin(s), r.y = Math.sin(o) * Math.sin(s), r.z = Math.sin(n) * Math.cos(s), r.w = Math.cos(n) * Math.cos(s) | |
| }, e.Slerp = function (t, i, r) { | |
| var n = e.Identity(); | |
| return e.SlerpToRef(t, i, r, n), n | |
| }, e.SlerpToRef = function (e, t, i, r) { | |
| var n, o, s = i, | |
| a = e.x * t.x + e.y * t.y + e.z * t.z + e.w * t.w, | |
| c = !1; | |
| if (a < 0 && (c = !0, a = -a), a > .999999) o = 1 - s, n = c ? -s : s; | |
| else { | |
| var h = Math.acos(a), | |
| u = 1 / Math.sin(h); | |
| o = Math.sin((1 - s) * h) * u, n = c ? -Math.sin(s * h) * u : Math.sin(s * h) * u | |
| } | |
| r.x = o * e.x + n * t.x, r.y = o * e.y + n * t.y, r.z = o * e.z + n * t.z, r.w = o * e.w + n * t.w | |
| }, e | |
| }(); | |
| e.Quaternion = c; | |
| var h = function () { | |
| function e() { | |
| this.m = new Float32Array(16) | |
| } | |
| return e.prototype.isIdentity = function () { | |
| return 1 === this.m[0] && 1 === this.m[5] && 1 === this.m[10] && 1 === this.m[15] && 0 === this.m[1] && 0 === this.m[2] && 0 === this.m[3] && 0 === this.m[4] && 0 === this.m[6] && 0 === this.m[7] && 0 === this.m[8] && 0 === this.m[9] && 0 === this.m[11] && 0 === this.m[12] && 0 === this.m[13] && 0 === this.m[14] | |
| }, e.prototype.determinant = function () { | |
| var e = this.m[10] * this.m[15] - this.m[11] * this.m[14], | |
| t = this.m[9] * this.m[15] - this.m[11] * this.m[13], | |
| i = this.m[9] * this.m[14] - this.m[10] * this.m[13], | |
| r = this.m[8] * this.m[15] - this.m[11] * this.m[12], | |
| n = this.m[8] * this.m[14] - this.m[10] * this.m[12], | |
| o = this.m[8] * this.m[13] - this.m[9] * this.m[12]; | |
| return this.m[0] * (this.m[5] * e - this.m[6] * t + this.m[7] * i) - this.m[1] * (this.m[4] * e - this.m[6] * r + this.m[7] * n) + this.m[2] * (this.m[4] * t - this.m[5] * r + this.m[7] * o) - this.m[3] * (this.m[4] * i - this.m[5] * n + this.m[6] * o) | |
| }, e.prototype.toArray = function () { | |
| return this.m | |
| }, e.prototype.asArray = function () { | |
| return this.toArray() | |
| }, e.prototype.invert = function () { | |
| return this.invertToRef(this), this | |
| }, e.prototype.reset = function () { | |
| for (var e = 0; e < 16; e++) this.m[e] = 0; | |
| return this | |
| }, e.prototype.add = function (t) { | |
| var i = new e; | |
| return this.addToRef(t, i), i | |
| }, e.prototype.addToRef = function (e, t) { | |
| for (var i = 0; i < 16; i++) t.m[i] = this.m[i] + e.m[i]; | |
| return this | |
| }, e.prototype.addToSelf = function (e) { | |
| for (var t = 0; t < 16; t++) this.m[t] += e.m[t]; | |
| return this | |
| }, e.prototype.invertToRef = function (e) { | |
| var t = this.m[0], | |
| i = this.m[1], | |
| r = this.m[2], | |
| n = this.m[3], | |
| o = this.m[4], | |
| s = this.m[5], | |
| a = this.m[6], | |
| c = this.m[7], | |
| h = this.m[8], | |
| u = this.m[9], | |
| l = this.m[10], | |
| f = this.m[11], | |
| d = this.m[12], | |
| p = this.m[13], | |
| m = this.m[14], | |
| g = this.m[15], | |
| _ = l * g - f * m, | |
| v = u * g - f * p, | |
| y = u * m - l * p, | |
| b = h * g - f * d, | |
| x = h * m - l * d, | |
| w = h * p - u * d, | |
| S = s * _ - a * v + c * y, | |
| T = -(o * _ - a * b + c * x), | |
| A = o * v - s * b + c * w, | |
| M = -(o * y - s * x + a * w), | |
| E = 1 / (t * S + i * T + r * A + n * M), | |
| P = a * g - c * m, | |
| C = s * g - c * p, | |
| R = s * m - a * p, | |
| I = o * g - c * d, | |
| D = o * m - a * d, | |
| O = o * p - s * d, | |
| L = a * f - c * l, | |
| F = s * f - c * u, | |
| B = s * l - a * u, | |
| k = o * f - c * h, | |
| V = o * l - a * h, | |
| N = o * u - s * h; | |
| return e.m[0] = S * E, e.m[4] = T * E, e.m[8] = A * E, e.m[12] = M * E, e.m[1] = -(i * _ - r * v + n * y) * E, e.m[5] = (t * _ - r * b + n * x) * E, e.m[9] = -(t * v - i * b + n * w) * E, e.m[13] = (t * y - i * x + r * w) * E, e.m[2] = (i * P - r * C + n * R) * E, e.m[6] = -(t * P - r * I + n * D) * E, e.m[10] = (t * C - i * I + n * O) * E, e.m[14] = -(t * R - i * D + r * O) * E, e.m[3] = -(i * L - r * F + n * B) * E, e.m[7] = (t * L - r * k + n * V) * E, e.m[11] = -(t * F - i * k + n * N) * E, e.m[15] = (t * B - i * V + r * N) * E, this | |
| }, e.prototype.setTranslation = function (e) { | |
| return this.m[12] = e.x, this.m[13] = e.y, this.m[14] = e.z, this | |
| }, e.prototype.getTranslation = function () { | |
| return new o(this.m[12], this.m[13], this.m[14]) | |
| }, e.prototype.multiply = function (t) { | |
| var i = new e; | |
| return this.multiplyToRef(t, i), i | |
| }, e.prototype.copyFrom = function (e) { | |
| for (var t = 0; t < 16; t++) this.m[t] = e.m[t]; | |
| return this | |
| }, e.prototype.copyToArray = function (e, t) { | |
| void 0 === t && (t = 0); | |
| for (var i = 0; i < 16; i++) e[t + i] = this.m[i]; | |
| return this | |
| }, e.prototype.multiplyToRef = function (e, t) { | |
| return this.multiplyToArray(e, t.m, 0), this | |
| }, e.prototype.multiplyToArray = function (e, t, i) { | |
| var r = this.m[0], | |
| n = this.m[1], | |
| o = this.m[2], | |
| s = this.m[3], | |
| a = this.m[4], | |
| c = this.m[5], | |
| h = this.m[6], | |
| u = this.m[7], | |
| l = this.m[8], | |
| f = this.m[9], | |
| d = this.m[10], | |
| p = this.m[11], | |
| m = this.m[12], | |
| g = this.m[13], | |
| _ = this.m[14], | |
| v = this.m[15], | |
| y = e.m[0], | |
| b = e.m[1], | |
| x = e.m[2], | |
| w = e.m[3], | |
| S = e.m[4], | |
| T = e.m[5], | |
| A = e.m[6], | |
| M = e.m[7], | |
| E = e.m[8], | |
| P = e.m[9], | |
| C = e.m[10], | |
| R = e.m[11], | |
| I = e.m[12], | |
| D = e.m[13], | |
| O = e.m[14], | |
| L = e.m[15]; | |
| return t[i] = r * y + n * S + o * E + s * I, t[i + 1] = r * b + n * T + o * P + s * D, t[i + 2] = r * x + n * A + o * C + s * O, t[i + 3] = r * w + n * M + o * R + s * L, t[i + 4] = a * y + c * S + h * E + u * I, t[i + 5] = a * b + c * T + h * P + u * D, t[i + 6] = a * x + c * A + h * C + u * O, t[i + 7] = a * w + c * M + h * R + u * L, t[i + 8] = l * y + f * S + d * E + p * I, t[i + 9] = l * b + f * T + d * P + p * D, t[i + 10] = l * x + f * A + d * C + p * O, t[i + 11] = l * w + f * M + d * R + p * L, t[i + 12] = m * y + g * S + _ * E + v * I, t[i + 13] = m * b + g * T + _ * P + v * D, t[i + 14] = m * x + g * A + _ * C + v * O, t[i + 15] = m * w + g * M + _ * R + v * L, this | |
| }, e.prototype.equals = function (e) { | |
| return e && this.m[0] === e.m[0] && this.m[1] === e.m[1] && this.m[2] === e.m[2] && this.m[3] === e.m[3] && this.m[4] === e.m[4] && this.m[5] === e.m[5] && this.m[6] === e.m[6] && this.m[7] === e.m[7] && this.m[8] === e.m[8] && this.m[9] === e.m[9] && this.m[10] === e.m[10] && this.m[11] === e.m[11] && this.m[12] === e.m[12] && this.m[13] === e.m[13] && this.m[14] === e.m[14] && this.m[15] === e.m[15] | |
| }, e.prototype.clone = function () { | |
| return e.FromValues(this.m[0], this.m[1], this.m[2], this.m[3], this.m[4], this.m[5], this.m[6], this.m[7], this.m[8], this.m[9], this.m[10], this.m[11], this.m[12], this.m[13], this.m[14], this.m[15]) | |
| }, e.prototype.getClassName = function () { | |
| return "Matrix" | |
| }, e.prototype.getHashCode = function () { | |
| for (var e = this.m[0] || 0, t = 1; t < 16; t++) e = 397 * e ^ (this.m[t] || 0); | |
| return e | |
| }, e.prototype.decompose = function (i, r, n) { | |
| n.x = this.m[12], n.y = this.m[13], n.z = this.m[14]; | |
| var o = t.Sign(this.m[0] * this.m[1] * this.m[2] * this.m[3]) < 0 ? -1 : 1, | |
| s = t.Sign(this.m[4] * this.m[5] * this.m[6] * this.m[7]) < 0 ? -1 : 1, | |
| a = t.Sign(this.m[8] * this.m[9] * this.m[10] * this.m[11]) < 0 ? -1 : 1; | |
| return i.x = o * Math.sqrt(this.m[0] * this.m[0] + this.m[1] * this.m[1] + this.m[2] * this.m[2]), i.y = s * Math.sqrt(this.m[4] * this.m[4] + this.m[5] * this.m[5] + this.m[6] * this.m[6]), i.z = a * Math.sqrt(this.m[8] * this.m[8] + this.m[9] * this.m[9] + this.m[10] * this.m[10]), 0 === i.x || 0 === i.y || 0 === i.z ? (r.x = 0, r.y = 0, r.z = 0, r.w = 1, !1) : (e.FromValuesToRef(this.m[0] / i.x, this.m[1] / i.x, this.m[2] / i.x, 0, this.m[4] / i.y, this.m[5] / i.y, this.m[6] / i.y, 0, this.m[8] / i.z, this.m[9] / i.z, this.m[10] / i.z, 0, 0, 0, 0, 1, A.Matrix[0]), c.FromRotationMatrixToRef(A.Matrix[0], r), !0) | |
| }, e.prototype.getRotationMatrix = function () { | |
| var t = e.Identity(); | |
| return this.getRotationMatrixToRef(t), t | |
| }, e.prototype.getRotationMatrixToRef = function (t) { | |
| var i = this.m, | |
| r = i[0] * i[1] * i[2] * i[3] < 0 ? -1 : 1, | |
| n = i[4] * i[5] * i[6] * i[7] < 0 ? -1 : 1, | |
| o = i[8] * i[9] * i[10] * i[11] < 0 ? -1 : 1, | |
| s = r * Math.sqrt(i[0] * i[0] + i[1] * i[1] + i[2] * i[2]), | |
| a = n * Math.sqrt(i[4] * i[4] + i[5] * i[5] + i[6] * i[6]), | |
| c = o * Math.sqrt(i[8] * i[8] + i[9] * i[9] + i[10] * i[10]); | |
| e.FromValuesToRef(i[0] / s, i[1] / s, i[2] / s, 0, i[4] / a, i[5] / a, i[6] / a, 0, i[8] / c, i[9] / c, i[10] / c, 0, 0, 0, 0, 1, t) | |
| }, e.FromArray = function (t, i) { | |
| var r = new e; | |
| return i || (i = 0), e.FromArrayToRef(t, i, r), r | |
| }, e.FromArrayToRef = function (e, t, i) { | |
| for (var r = 0; r < 16; r++) i.m[r] = e[r + t] | |
| }, e.FromFloat32ArrayToRefScaled = function (e, t, i, r) { | |
| for (var n = 0; n < 16; n++) r.m[n] = e[n + t] * i | |
| }, e.FromValuesToRef = function (e, t, i, r, n, o, s, a, c, h, u, l, f, d, p, m, g) { | |
| g.m[0] = e, g.m[1] = t, g.m[2] = i, g.m[3] = r, g.m[4] = n, g.m[5] = o, g.m[6] = s, g.m[7] = a, g.m[8] = c, g.m[9] = h, g.m[10] = u, g.m[11] = l, g.m[12] = f, g.m[13] = d, g.m[14] = p, g.m[15] = m | |
| }, e.prototype.getRow = function (e) { | |
| if (e < 0 || e > 3) return null; | |
| var t = 4 * e; | |
| return new s(this.m[t + 0], this.m[t + 1], this.m[t + 2], this.m[t + 3]) | |
| }, e.prototype.setRow = function (e, t) { | |
| if (e < 0 || e > 3) return this; | |
| var i = 4 * e; | |
| return this.m[i + 0] = t.x, this.m[i + 1] = t.y, this.m[i + 2] = t.z, this.m[i + 3] = t.w, this | |
| }, e.FromValues = function (t, i, r, n, o, s, a, c, h, u, l, f, d, p, m, g) { | |
| var _ = new e; | |
| return _.m[0] = t, _.m[1] = i, _.m[2] = r, _.m[3] = n, _.m[4] = o, _.m[5] = s, _.m[6] = a, _.m[7] = c, _.m[8] = h, _.m[9] = u, _.m[10] = l, _.m[11] = f, _.m[12] = d, _.m[13] = p, _.m[14] = m, _.m[15] = g, _ | |
| }, e.Compose = function (t, i, r) { | |
| var n = e.FromValues(t.x, 0, 0, 0, 0, t.y, 0, 0, 0, 0, t.z, 0, 0, 0, 0, 1), | |
| o = e.Identity(); | |
| return i.toRotationMatrix(o), (n = n.multiply(o)).setTranslation(r), n | |
| }, e.Identity = function () { | |
| return e.FromValues(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1) | |
| }, e.IdentityToRef = function (t) { | |
| e.FromValuesToRef(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, t) | |
| }, e.Zero = function () { | |
| return e.FromValues(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) | |
| }, e.RotationX = function (t) { | |
| var i = new e; | |
| return e.RotationXToRef(t, i), i | |
| }, e.Invert = function (t) { | |
| var i = new e; | |
| return t.invertToRef(i), i | |
| }, e.RotationXToRef = function (e, t) { | |
| var i = Math.sin(e), | |
| r = Math.cos(e); | |
| t.m[0] = 1, t.m[15] = 1, t.m[5] = r, t.m[10] = r, t.m[9] = -i, t.m[6] = i, t.m[1] = 0, t.m[2] = 0, t.m[3] = 0, t.m[4] = 0, t.m[7] = 0, t.m[8] = 0, t.m[11] = 0, t.m[12] = 0, t.m[13] = 0, t.m[14] = 0 | |
| }, e.RotationY = function (t) { | |
| var i = new e; | |
| return e.RotationYToRef(t, i), i | |
| }, e.RotationYToRef = function (e, t) { | |
| var i = Math.sin(e), | |
| r = Math.cos(e); | |
| t.m[5] = 1, t.m[15] = 1, t.m[0] = r, t.m[2] = -i, t.m[8] = i, t.m[10] = r, t.m[1] = 0, t.m[3] = 0, t.m[4] = 0, t.m[6] = 0, t.m[7] = 0, t.m[9] = 0, t.m[11] = 0, t.m[12] = 0, t.m[13] = 0, t.m[14] = 0 | |
| }, e.RotationZ = function (t) { | |
| var i = new e; | |
| return e.RotationZToRef(t, i), i | |
| }, e.RotationZToRef = function (e, t) { | |
| var i = Math.sin(e), | |
| r = Math.cos(e); | |
| t.m[10] = 1, t.m[15] = 1, t.m[0] = r, t.m[1] = i, t.m[4] = -i, t.m[5] = r, t.m[2] = 0, t.m[3] = 0, t.m[6] = 0, t.m[7] = 0, t.m[8] = 0, t.m[9] = 0, t.m[11] = 0, t.m[12] = 0, t.m[13] = 0, t.m[14] = 0 | |
| }, e.RotationAxis = function (t, i) { | |
| var r = e.Zero(); | |
| return e.RotationAxisToRef(t, i, r), r | |
| }, e.RotationAxisToRef = function (e, t, i) { | |
| var r = Math.sin(-t), | |
| n = Math.cos(-t), | |
| o = 1 - n; | |
| e.normalize(), i.m[0] = e.x * e.x * o + n, i.m[1] = e.x * e.y * o - e.z * r, i.m[2] = e.x * e.z * o + e.y * r, i.m[3] = 0, i.m[4] = e.y * e.x * o + e.z * r, i.m[5] = e.y * e.y * o + n, i.m[6] = e.y * e.z * o - e.x * r, i.m[7] = 0, i.m[8] = e.z * e.x * o - e.y * r, i.m[9] = e.z * e.y * o + e.x * r, i.m[10] = e.z * e.z * o + n, i.m[11] = 0, i.m[15] = 1 | |
| }, e.RotationYawPitchRoll = function (t, i, r) { | |
| var n = new e; | |
| return e.RotationYawPitchRollToRef(t, i, r, n), n | |
| }, e.RotationYawPitchRollToRef = function (e, t, i, r) { | |
| c.RotationYawPitchRollToRef(e, t, i, this._tempQuaternion), this._tempQuaternion.toRotationMatrix(r) | |
| }, e.Scaling = function (t, i, r) { | |
| var n = e.Zero(); | |
| return e.ScalingToRef(t, i, r, n), n | |
| }, e.ScalingToRef = function (e, t, i, r) { | |
| r.m[0] = e, r.m[1] = 0, r.m[2] = 0, r.m[3] = 0, r.m[4] = 0, r.m[5] = t, r.m[6] = 0, r.m[7] = 0, r.m[8] = 0, r.m[9] = 0, r.m[10] = i, r.m[11] = 0, r.m[12] = 0, r.m[13] = 0, r.m[14] = 0, r.m[15] = 1 | |
| }, e.Translation = function (t, i, r) { | |
| var n = e.Identity(); | |
| return e.TranslationToRef(t, i, r, n), n | |
| }, e.TranslationToRef = function (t, i, r, n) { | |
| e.FromValuesToRef(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, t, i, r, 1, n) | |
| }, e.Lerp = function (t, i, r) { | |
| for (var n = e.Zero(), o = 0; o < 16; o++) n.m[o] = t.m[o] * (1 - r) + i.m[o] * r; | |
| return n | |
| }, e.DecomposeLerp = function (t, i, r) { | |
| var n = new o(0, 0, 0), | |
| s = new c, | |
| a = new o(0, 0, 0); | |
| t.decompose(n, s, a); | |
| var h = new o(0, 0, 0), | |
| u = new c, | |
| l = new o(0, 0, 0); | |
| i.decompose(h, u, l); | |
| var f = o.Lerp(n, h, r), | |
| d = c.Slerp(s, u, r), | |
| p = o.Lerp(a, l, r); | |
| return e.Compose(f, d, p) | |
| }, e.LookAtLH = function (t, i, r) { | |
| var n = e.Zero(); | |
| return e.LookAtLHToRef(t, i, r, n), n | |
| }, e.LookAtLHToRef = function (t, i, r, n) { | |
| i.subtractToRef(t, this._zAxis), this._zAxis.normalize(), o.CrossToRef(r, this._zAxis, this._xAxis), 0 === this._xAxis.lengthSquared() ? this._xAxis.x = 1 : this._xAxis.normalize(), o.CrossToRef(this._zAxis, this._xAxis, this._yAxis), this._yAxis.normalize(); | |
| var s = -o.Dot(this._xAxis, t), | |
| a = -o.Dot(this._yAxis, t), | |
| c = -o.Dot(this._zAxis, t); | |
| return e.FromValuesToRef(this._xAxis.x, this._yAxis.x, this._zAxis.x, 0, this._xAxis.y, this._yAxis.y, this._zAxis.y, 0, this._xAxis.z, this._yAxis.z, this._zAxis.z, 0, s, a, c, 1, n) | |
| }, e.LookAtRH = function (t, i, r) { | |
| var n = e.Zero(); | |
| return e.LookAtRHToRef(t, i, r, n), n | |
| }, e.LookAtRHToRef = function (t, i, r, n) { | |
| t.subtractToRef(i, this._zAxis), this._zAxis.normalize(), o.CrossToRef(r, this._zAxis, this._xAxis), 0 === this._xAxis.lengthSquared() ? this._xAxis.x = 1 : this._xAxis.normalize(), o.CrossToRef(this._zAxis, this._xAxis, this._yAxis), this._yAxis.normalize(); | |
| var s = -o.Dot(this._xAxis, t), | |
| a = -o.Dot(this._yAxis, t), | |
| c = -o.Dot(this._zAxis, t); | |
| return e.FromValuesToRef(this._xAxis.x, this._yAxis.x, this._zAxis.x, 0, this._xAxis.y, this._yAxis.y, this._zAxis.y, 0, this._xAxis.z, this._yAxis.z, this._zAxis.z, 0, s, a, c, 1, n) | |
| }, e.OrthoLH = function (t, i, r, n) { | |
| var o = e.Zero(); | |
| return e.OrthoLHToRef(t, i, r, n, o), o | |
| }, e.OrthoLHToRef = function (t, i, r, n, o) { | |
| var s = 2 / t, | |
| a = 2 / i, | |
| c = 1 / (n - r), | |
| h = r / (r - n); | |
| e.FromValuesToRef(s, 0, 0, 0, 0, a, 0, 0, 0, 0, c, 0, 0, 0, h, 1, o) | |
| }, e.OrthoOffCenterLH = function (t, i, r, n, o, s) { | |
| var a = e.Zero(); | |
| return e.OrthoOffCenterLHToRef(t, i, r, n, o, s, a), a | |
| }, e.OrthoOffCenterLHToRef = function (e, t, i, r, n, o, s) { | |
| s.m[0] = 2 / (t - e), s.m[1] = s.m[2] = s.m[3] = 0, s.m[5] = 2 / (r - i), s.m[4] = s.m[6] = s.m[7] = 0, s.m[10] = 1 / (o - n), s.m[8] = s.m[9] = s.m[11] = 0, s.m[12] = (e + t) / (e - t), s.m[13] = (r + i) / (i - r), s.m[14] = -n / (o - n), s.m[15] = 1 | |
| }, e.OrthoOffCenterRH = function (t, i, r, n, o, s) { | |
| var a = e.Zero(); | |
| return e.OrthoOffCenterRHToRef(t, i, r, n, o, s, a), a | |
| }, e.OrthoOffCenterRHToRef = function (t, i, r, n, o, s, a) { | |
| e.OrthoOffCenterLHToRef(t, i, r, n, o, s, a), a.m[10] *= -1 | |
| }, e.PerspectiveLH = function (t, i, r, n) { | |
| var o = e.Zero(); | |
| return o.m[0] = 2 * r / t, o.m[1] = o.m[2] = o.m[3] = 0, o.m[5] = 2 * r / i, o.m[4] = o.m[6] = o.m[7] = 0, o.m[10] = -n / (r - n), o.m[8] = o.m[9] = 0, o.m[11] = 1, o.m[12] = o.m[13] = o.m[15] = 0, o.m[14] = r * n / (r - n), o | |
| }, e.PerspectiveFovLH = function (t, i, r, n) { | |
| var o = e.Zero(); | |
| return e.PerspectiveFovLHToRef(t, i, r, n, o), o | |
| }, e.PerspectiveFovLHToRef = function (e, t, i, r, n, o) { | |
| void 0 === o && (o = !0); | |
| var s = 1 / Math.tan(.5 * e); | |
| n.m[0] = o ? s / t : s, n.m[1] = n.m[2] = n.m[3] = 0, n.m[5] = o ? s : s * t, n.m[4] = n.m[6] = n.m[7] = 0, n.m[8] = n.m[9] = 0, n.m[10] = r / (r - i), n.m[11] = 1, n.m[12] = n.m[13] = n.m[15] = 0, n.m[14] = -i * r / (r - i) | |
| }, e.PerspectiveFovRH = function (t, i, r, n) { | |
| var o = e.Zero(); | |
| return e.PerspectiveFovRHToRef(t, i, r, n, o), o | |
| }, e.PerspectiveFovRHToRef = function (e, t, i, r, n, o) { | |
| void 0 === o && (o = !0); | |
| var s = 1 / Math.tan(.5 * e); | |
| n.m[0] = o ? s / t : s, n.m[1] = n.m[2] = n.m[3] = 0, n.m[5] = o ? s : s * t, n.m[4] = n.m[6] = n.m[7] = 0, n.m[8] = n.m[9] = 0, n.m[10] = r / (i - r), n.m[11] = -1, n.m[12] = n.m[13] = n.m[15] = 0, n.m[14] = i * r / (i - r) | |
| }, e.PerspectiveFovWebVRToRef = function (e, t, i, r, n) { | |
| void 0 === n && (n = !0); | |
| var o = Math.tan(e.upDegrees * Math.PI / 180), | |
| s = Math.tan(e.downDegrees * Math.PI / 180), | |
| a = Math.tan(e.leftDegrees * Math.PI / 180), | |
| c = Math.tan(e.rightDegrees * Math.PI / 180), | |
| h = 2 / (a + c), | |
| u = 2 / (o + s); | |
| r.m[0] = h, r.m[1] = r.m[2] = r.m[3] = r.m[4] = 0, r.m[5] = u, r.m[6] = r.m[7] = 0, r.m[8] = (a - c) * h * .5, r.m[9] = -(o - s) * u * .5, r.m[10] = -i / (t - i), r.m[11] = 1, r.m[12] = r.m[13] = r.m[15] = 0, r.m[14] = t * i / (t - i) | |
| }, e.GetFinalMatrix = function (t, i, r, n, o, s) { | |
| var a = t.width, | |
| c = t.height, | |
| h = t.x, | |
| u = t.y, | |
| l = e.FromValues(a / 2, 0, 0, 0, 0, -c / 2, 0, 0, 0, 0, s - o, 0, h + a / 2, c / 2 + u, o, 1); | |
| return i.multiply(r).multiply(n).multiply(l) | |
| }, e.GetAsMatrix2x2 = function (e) { | |
| return new Float32Array([e.m[0], e.m[1], e.m[4], e.m[5]]) | |
| }, e.GetAsMatrix3x3 = function (e) { | |
| return new Float32Array([e.m[0], e.m[1], e.m[2], e.m[4], e.m[5], e.m[6], e.m[8], e.m[9], e.m[10]]) | |
| }, e.Transpose = function (t) { | |
| var i = new e; | |
| return i.m[0] = t.m[0], i.m[1] = t.m[4], i.m[2] = t.m[8], i.m[3] = t.m[12], i.m[4] = t.m[1], i.m[5] = t.m[5], i.m[6] = t.m[9], i.m[7] = t.m[13], i.m[8] = t.m[2], i.m[9] = t.m[6], i.m[10] = t.m[10], i.m[11] = t.m[14], i.m[12] = t.m[3], i.m[13] = t.m[7], i.m[14] = t.m[11], i.m[15] = t.m[15], i | |
| }, e.Reflection = function (t) { | |
| var i = new e; | |
| return e.ReflectionToRef(t, i), i | |
| }, e.ReflectionToRef = function (e, t) { | |
| e.normalize(); | |
| var i = e.normal.x, | |
| r = e.normal.y, | |
| n = e.normal.z, | |
| o = -2 * i, | |
| s = -2 * r, | |
| a = -2 * n; | |
| t.m[0] = o * i + 1, t.m[1] = s * i, t.m[2] = a * i, t.m[3] = 0, t.m[4] = o * r, t.m[5] = s * r + 1, t.m[6] = a * r, t.m[7] = 0, t.m[8] = o * n, t.m[9] = s * n, t.m[10] = a * n + 1, t.m[11] = 0, t.m[12] = o * e.d, t.m[13] = s * e.d, t.m[14] = a * e.d, t.m[15] = 1 | |
| }, e.FromXYZAxesToRef = function (e, t, i, r) { | |
| r.m[0] = e.x, r.m[1] = e.y, r.m[2] = e.z, r.m[3] = 0, r.m[4] = t.x, r.m[5] = t.y, r.m[6] = t.z, r.m[7] = 0, r.m[8] = i.x, r.m[9] = i.y, r.m[10] = i.z, r.m[11] = 0, r.m[12] = 0, r.m[13] = 0, r.m[14] = 0, r.m[15] = 1 | |
| }, e.FromQuaternionToRef = function (e, t) { | |
| var i = e.x * e.x, | |
| r = e.y * e.y, | |
| n = e.z * e.z, | |
| o = e.x * e.y, | |
| s = e.z * e.w, | |
| a = e.z * e.x, | |
| c = e.y * e.w, | |
| h = e.y * e.z, | |
| u = e.x * e.w; | |
| t.m[0] = 1 - 2 * (r + n), t.m[1] = 2 * (o + s), t.m[2] = 2 * (a - c), t.m[3] = 0, t.m[4] = 2 * (o - s), t.m[5] = 1 - 2 * (n + i), t.m[6] = 2 * (h + u), t.m[7] = 0, t.m[8] = 2 * (a + c), t.m[9] = 2 * (h - u), t.m[10] = 1 - 2 * (r + i), t.m[11] = 0, t.m[12] = 0, t.m[13] = 0, t.m[14] = 0, t.m[15] = 1 | |
| }, e._tempQuaternion = new c, e._xAxis = o.Zero(), e._yAxis = o.Zero(), e._zAxis = o.Zero(), e | |
| }(); | |
| e.Matrix = h; | |
| var u = function () { | |
| function e(e, t, i, r) { | |
| this.normal = new o(e, t, i), this.d = r | |
| } | |
| return e.prototype.asArray = function () { | |
| return [this.normal.x, this.normal.y, this.normal.z, this.d] | |
| }, e.prototype.clone = function () { | |
| return new e(this.normal.x, this.normal.y, this.normal.z, this.d) | |
| }, e.prototype.getClassName = function () { | |
| return "Plane" | |
| }, e.prototype.getHashCode = function () { | |
| var e = this.normal.getHashCode(); | |
| return 397 * e ^ (this.d || 0) | |
| }, e.prototype.normalize = function () { | |
| var e = Math.sqrt(this.normal.x * this.normal.x + this.normal.y * this.normal.y + this.normal.z * this.normal.z), | |
| t = 0; | |
| return 0 !== e && (t = 1 / e), this.normal.x *= t, this.normal.y *= t, this.normal.z *= t, this.d *= t, this | |
| }, e.prototype.transform = function (t) { | |
| var i = h.Transpose(t), | |
| r = this.normal.x, | |
| n = this.normal.y, | |
| o = this.normal.z, | |
| s = this.d; | |
| return new e(r * i.m[0] + n * i.m[1] + o * i.m[2] + s * i.m[3], r * i.m[4] + n * i.m[5] + o * i.m[6] + s * i.m[7], r * i.m[8] + n * i.m[9] + o * i.m[10] + s * i.m[11], r * i.m[12] + n * i.m[13] + o * i.m[14] + s * i.m[15]) | |
| }, e.prototype.dotCoordinate = function (e) { | |
| return this.normal.x * e.x + this.normal.y * e.y + this.normal.z * e.z + this.d | |
| }, e.prototype.copyFromPoints = function (e, t, i) { | |
| var r, n = t.x - e.x, | |
| o = t.y - e.y, | |
| s = t.z - e.z, | |
| a = i.x - e.x, | |
| c = i.y - e.y, | |
| h = i.z - e.z, | |
| u = o * h - s * c, | |
| l = s * a - n * h, | |
| f = n * c - o * a, | |
| d = Math.sqrt(u * u + l * l + f * f); | |
| return r = 0 !== d ? 1 / d : 0, this.normal.x = u * r, this.normal.y = l * r, this.normal.z = f * r, this.d = -(this.normal.x * e.x + this.normal.y * e.y + this.normal.z * e.z), this | |
| }, e.prototype.isFrontFacingTo = function (e, t) { | |
| return o.Dot(this.normal, e) <= t | |
| }, e.prototype.signedDistanceTo = function (e) { | |
| return o.Dot(e, this.normal) + this.d | |
| }, e.FromArray = function (t) { | |
| return new e(t[0], t[1], t[2], t[3]) | |
| }, e.FromPoints = function (t, i, r) { | |
| var n = new e(0, 0, 0, 0); | |
| return n.copyFromPoints(t, i, r), n | |
| }, e.FromPositionAndNormal = function (t, i) { | |
| var r = new e(0, 0, 0, 0); | |
| return i.normalize(), r.normal = i, r.d = -(i.x * t.x + i.y * t.y + i.z * t.z), r | |
| }, e.SignedDistanceToPlaneFromPositionAndNormal = function (e, t, i) { | |
| var r = -(t.x * e.x + t.y * e.y + t.z * e.z); | |
| return o.Dot(i, t) + r | |
| }, e | |
| }(); | |
| e.Plane = u; | |
| var l = function () { | |
| function e(e, t, i, r) { | |
| this.x = e, this.y = t, this.width = i, this.height = r | |
| } | |
| return e.prototype.toGlobal = function (t, i) { | |
| return new e(this.x * t, this.y * i, this.width * t, this.height * i) | |
| }, e | |
| }(); | |
| e.Viewport = l; | |
| var f = function () { | |
| function e() {} | |
| return e.GetPlanes = function (t) { | |
| for (var i = [], r = 0; r < 6; r++) i.push(new u(0, 0, 0, 0)); | |
| return e.GetPlanesToRef(t, i), i | |
| }, e.GetPlanesToRef = function (e, t) { | |
| t[0].normal.x = e.m[3] + e.m[2], t[0].normal.y = e.m[7] + e.m[6], t[0].normal.z = e.m[11] + e.m[10], t[0].d = e.m[15] + e.m[14], t[0].normalize(), t[1].normal.x = e.m[3] - e.m[2], t[1].normal.y = e.m[7] - e.m[6], t[1].normal.z = e.m[11] - e.m[10], t[1].d = e.m[15] - e.m[14], t[1].normalize(), t[2].normal.x = e.m[3] + e.m[0], t[2].normal.y = e.m[7] + e.m[4], t[2].normal.z = e.m[11] + e.m[8], t[2].d = e.m[15] + e.m[12], t[2].normalize(), t[3].normal.x = e.m[3] - e.m[0], t[3].normal.y = e.m[7] - e.m[4], t[3].normal.z = e.m[11] - e.m[8], t[3].d = e.m[15] - e.m[12], t[3].normalize(), t[4].normal.x = e.m[3] - e.m[1], t[4].normal.y = e.m[7] - e.m[5], t[4].normal.z = e.m[11] - e.m[9], t[4].d = e.m[15] - e.m[13], t[4].normalize(), t[5].normal.x = e.m[3] + e.m[1], t[5].normal.y = e.m[7] + e.m[5], t[5].normal.z = e.m[11] + e.m[9], t[5].d = e.m[15] + e.m[13], t[5].normalize() | |
| }, e | |
| }(); | |
| e.Frustum = f, | |
| function (e) { | |
| e[e.LOCAL = 0] = "LOCAL", e[e.WORLD = 1] = "WORLD" | |
| }(e.Space || (e.Space = {})); | |
| var d = (e.Space, function () { | |
| function e() {} | |
| return e.X = new o(1, 0, 0), e.Y = new o(0, 1, 0), e.Z = new o(0, 0, 1), e | |
| }()); | |
| e.Axis = d; | |
| var p = function () { | |
| function e() {} | |
| return e.interpolate = function (e, t, i, r, n) { | |
| for (var o = 1 - 3 * r + 3 * t, s = 3 * r - 6 * t, a = 3 * t, c = e, h = 0; h < 5; h++) { | |
| var u = c * c; | |
| c -= (o * (u * c) + s * u + a * c - e) * (1 / (3 * o * u + 2 * s * c + a)), c = Math.min(1, Math.max(0, c)) | |
| } | |
| return 3 * Math.pow(1 - c, 2) * c * i + 3 * (1 - c) * Math.pow(c, 2) * n + Math.pow(c, 3) | |
| }, e | |
| }(); | |
| e.BezierCurve = p, | |
| function (e) { | |
| e[e.CW = 0] = "CW", e[e.CCW = 1] = "CCW" | |
| }(e.Orientation || (e.Orientation = {})); | |
| var m = e.Orientation, | |
| g = function () { | |
| function e(e) { | |
| var t = this; | |
| this.degrees = function () { | |
| return 180 * t._radians / Math.PI | |
| }, this.radians = function () { | |
| return t._radians | |
| }, this._radians = e, this._radians < 0 && (this._radians += 2 * Math.PI) | |
| } | |
| return e.BetweenTwoPoints = function (t, i) { | |
| var r = i.subtract(t); | |
| return new e(Math.atan2(r.y, r.x)) | |
| }, e.FromRadians = function (t) { | |
| return new e(t) | |
| }, e.FromDegrees = function (t) { | |
| return new e(t * Math.PI / 180) | |
| }, e | |
| }(); | |
| e.Angle = g; | |
| var _ = function () { | |
| return function (e, t, i) { | |
| this.startPoint = e, this.midPoint = t, this.endPoint = i; | |
| var r = Math.pow(t.x, 2) + Math.pow(t.y, 2), | |
| o = (Math.pow(e.x, 2) + Math.pow(e.y, 2) - r) / 2, | |
| s = (r - Math.pow(i.x, 2) - Math.pow(i.y, 2)) / 2, | |
| a = (e.x - t.x) * (t.y - i.y) - (t.x - i.x) * (e.y - t.y); | |
| this.centerPoint = new n((o * (t.y - i.y) - s * (e.y - t.y)) / a, ((e.x - t.x) * s - (t.x - i.x) * o) / a), this.radius = this.centerPoint.subtract(this.startPoint).length(), this.startAngle = g.BetweenTwoPoints(this.centerPoint, this.startPoint); | |
| var c = this.startAngle.degrees(), | |
| h = g.BetweenTwoPoints(this.centerPoint, this.midPoint).degrees(), | |
| u = g.BetweenTwoPoints(this.centerPoint, this.endPoint).degrees(); | |
| h - c > 180 && (h -= 360), h - c < -180 && (h += 360), u - h > 180 && (u -= 360), u - h < -180 && (u += 360), this.orientation = h - c < 0 ? m.CW : m.CCW, this.angle = g.FromDegrees(this.orientation === m.CW ? c - u : u - c) | |
| } | |
| }(); | |
| e.Arc2 = _; | |
| var v = function () { | |
| function e(e, t) { | |
| this._points = new Array, this._length = 0, this.closed = !1, this._points.push(new n(e, t)) | |
| } | |
| return e.prototype.addLineTo = function (e, t) { | |
| if (closed) return this; | |
| var i = new n(e, t), | |
| r = this._points[this._points.length - 1]; | |
| return this._points.push(i), this._length += i.subtract(r).length(), this | |
| }, e.prototype.addArcTo = function (e, t, i, r, o) { | |
| if (void 0 === o && (o = 36), closed) return this; | |
| var s = this._points[this._points.length - 1], | |
| a = new n(e, t), | |
| c = new n(i, r), | |
| h = new _(s, a, c), | |
| u = h.angle.radians() / o; | |
| h.orientation === m.CW && (u *= -1); | |
| for (var l = h.startAngle.radians() + u, f = 0; f < o; f++) { | |
| var d = Math.cos(l) * h.radius + h.centerPoint.x, | |
| p = Math.sin(l) * h.radius + h.centerPoint.y; | |
| this.addLineTo(d, p), l += u | |
| } | |
| return this | |
| }, e.prototype.close = function () { | |
| return this.closed = !0, this | |
| }, e.prototype.length = function () { | |
| var e = this._length; | |
| if (!this.closed) { | |
| var t = this._points[this._points.length - 1]; | |
| e += this._points[0].subtract(t).length() | |
| } | |
| return e | |
| }, e.prototype.getPoints = function () { | |
| return this._points | |
| }, e.prototype.getPointAtLengthPosition = function (e) { | |
| if (e < 0 || e > 1) return n.Zero(); | |
| for (var t = e * this.length(), i = 0, r = 0; r < this._points.length; r++) { | |
| var o = (r + 1) % this._points.length, | |
| s = this._points[r], | |
| a = this._points[o].subtract(s), | |
| c = a.length() + i; | |
| if (t >= i && t <= c) { | |
| var h = a.normalize(), | |
| u = t - i; | |
| return new n(s.x + h.x * u, s.y + h.y * u) | |
| } | |
| i = c | |
| } | |
| return n.Zero() | |
| }, e.StartingAt = function (t, i) { | |
| return new e(t, i) | |
| }, e | |
| }(); | |
| e.Path2 = v; | |
| var y = function () { | |
| function i(e, t, i) { | |
| this.path = e, this._curve = new Array, this._distances = new Array, this._tangents = new Array, this._normals = new Array, this._binormals = new Array; | |
| for (var r = 0; r < e.length; r++) this._curve[r] = e[r].clone(); | |
| this._raw = i || !1, this._compute(t) | |
| } | |
| return i.prototype.getCurve = function () { | |
| return this._curve | |
| }, i.prototype.getTangents = function () { | |
| return this._tangents | |
| }, i.prototype.getNormals = function () { | |
| return this._normals | |
| }, i.prototype.getBinormals = function () { | |
| return this._binormals | |
| }, i.prototype.getDistances = function () { | |
| return this._distances | |
| }, i.prototype.update = function (e, t) { | |
| for (var i = 0; i < e.length; i++) this._curve[i].x = e[i].x, this._curve[i].y = e[i].y, this._curve[i].z = e[i].z; | |
| return this._compute(t), this | |
| }, i.prototype._compute = function (e) { | |
| var t = this._curve.length; | |
| this._tangents[0] = this._getFirstNonNullVector(0), this._raw || this._tangents[0].normalize(), this._tangents[t - 1] = this._curve[t - 1].subtract(this._curve[t - 2]), this._raw || this._tangents[t - 1].normalize(); | |
| var i = this._tangents[0], | |
| r = this._normalVector(this._curve[0], i, e); | |
| this._normals[0] = r, this._raw || this._normals[0].normalize(), this._binormals[0] = o.Cross(i, this._normals[0]), this._raw || this._binormals[0].normalize(), this._distances[0] = 0; | |
| for (var n, s, a, c, h = 1; h < t; h++) n = this._getLastNonNullVector(h), h < t - 1 && (s = this._getFirstNonNullVector(h), this._tangents[h] = n.add(s), this._tangents[h].normalize()), this._distances[h] = this._distances[h - 1] + n.length(), a = this._tangents[h], c = this._binormals[h - 1], this._normals[h] = o.Cross(c, a), this._raw || this._normals[h].normalize(), this._binormals[h] = o.Cross(a, this._normals[h]), this._raw || this._binormals[h].normalize() | |
| }, i.prototype._getFirstNonNullVector = function (e) { | |
| for (var t = 1, i = this._curve[e + t].subtract(this._curve[e]); 0 === i.length() && e + t + 1 < this._curve.length;) t++, i = this._curve[e + t].subtract(this._curve[e]); | |
| return i | |
| }, i.prototype._getLastNonNullVector = function (e) { | |
| for (var t = 1, i = this._curve[e].subtract(this._curve[e - t]); 0 === i.length() && e > t + 1;) t++, i = this._curve[e].subtract(this._curve[e - t]); | |
| return i | |
| }, i.prototype._normalVector = function (i, r, n) { | |
| var s, a, c = r.length(); | |
| (0 === c && (c = 1), null == n) ? (t.WithinEpsilon(Math.abs(r.y) / c, 1, e.Epsilon) ? t.WithinEpsilon(Math.abs(r.x) / c, 1, e.Epsilon) ? t.WithinEpsilon(Math.abs(r.z) / c, 1, e.Epsilon) || (a = new o(0, 0, 1)) : a = new o(1, 0, 0) : a = new o(0, -1, 0), s = o.Cross(r, a)) : (s = o.Cross(r, n), o.CrossToRef(s, r, s)); | |
| return s.normalize(), s | |
| }, i | |
| }(); | |
| e.Path3D = y; | |
| var b = function () { | |
| function e(e) { | |
| this._length = 0, this._points = e, this._length = this._computeLength(e) | |
| } | |
| return e.CreateQuadraticBezier = function (t, i, r, n) { | |
| n = n > 2 ? n : 3; | |
| for (var s = new Array, a = function (e, t, i, r) { | |
| return (1 - e) * (1 - e) * t + 2 * e * (1 - e) * i + e * e * r | |
| }, c = 0; c <= n; c++) s.push(new o(a(c / n, t.x, i.x, r.x), a(c / n, t.y, i.y, r.y), a(c / n, t.z, i.z, r.z))); | |
| return new e(s) | |
| }, e.CreateCubicBezier = function (t, i, r, n, s) { | |
| s = s > 3 ? s : 4; | |
| for (var a = new Array, c = function (e, t, i, r, n) { | |
| return (1 - e) * (1 - e) * (1 - e) * t + 3 * e * (1 - e) * (1 - e) * i + 3 * e * e * (1 - e) * r + e * e * e * n | |
| }, h = 0; h <= s; h++) a.push(new o(c(h / s, t.x, i.x, r.x, n.x), c(h / s, t.y, i.y, r.y, n.y), c(h / s, t.z, i.z, r.z, n.z))); | |
| return new e(a) | |
| }, e.CreateHermiteSpline = function (t, i, r, n, s) { | |
| for (var a = new Array, c = 1 / s, h = 0; h <= s; h++) a.push(o.Hermite(t, i, r, n, h * c)); | |
| return new e(a) | |
| }, e.prototype.getPoints = function () { | |
| return this._points | |
| }, e.prototype.length = function () { | |
| return this._length | |
| }, e.prototype.continue = function (t) { | |
| for (var i = this._points[this._points.length - 1], r = this._points.slice(), n = t.getPoints(), o = 1; o < n.length; o++) r.push(n[o].subtract(n[0]).add(i)); | |
| return new e(r) | |
| }, e.prototype._computeLength = function (e) { | |
| for (var t = 0, i = 1; i < e.length; i++) t += e[i].subtract(e[i - 1]).length(); | |
| return t | |
| }, e | |
| }(); | |
| e.Curve3 = b; | |
| var x = function () { | |
| function e() { | |
| this.L00 = o.Zero(), this.L1_1 = o.Zero(), this.L10 = o.Zero(), this.L11 = o.Zero(), this.L2_2 = o.Zero(), this.L2_1 = o.Zero(), this.L20 = o.Zero(), this.L21 = o.Zero(), this.L22 = o.Zero() | |
| } | |
| return e.prototype.addLight = function (e, t, i) { | |
| var r = new o(t.r, t.g, t.b).scale(i); | |
| this.L00 = this.L00.add(r.scale(.282095)), this.L1_1 = this.L1_1.add(r.scale(.488603 * e.y)), this.L10 = this.L10.add(r.scale(.488603 * e.z)), this.L11 = this.L11.add(r.scale(.488603 * e.x)), this.L2_2 = this.L2_2.add(r.scale(1.092548 * e.x * e.y)), this.L2_1 = this.L2_1.add(r.scale(1.092548 * e.y * e.z)), this.L21 = this.L21.add(r.scale(1.092548 * e.x * e.z)), this.L20 = this.L20.add(r.scale(.315392 * (3 * e.z * e.z - 1))), this.L22 = this.L22.add(r.scale(.546274 * (e.x * e.x - e.y * e.y))) | |
| }, e.prototype.scale = function (e) { | |
| this.L00 = this.L00.scale(e), this.L1_1 = this.L1_1.scale(e), this.L10 = this.L10.scale(e), this.L11 = this.L11.scale(e), this.L2_2 = this.L2_2.scale(e), this.L2_1 = this.L2_1.scale(e), this.L20 = this.L20.scale(e), this.L21 = this.L21.scale(e), this.L22 = this.L22.scale(e) | |
| }, e | |
| }(); | |
| e.SphericalHarmonics = x; | |
| var w = function () { | |
| function e() { | |
| this.x = o.Zero(), this.y = o.Zero(), this.z = o.Zero(), this.xx = o.Zero(), this.yy = o.Zero(), this.zz = o.Zero(), this.xy = o.Zero(), this.yz = o.Zero(), this.zx = o.Zero() | |
| } | |
| return e.prototype.addAmbient = function (e) { | |
| var t = new o(e.r, e.g, e.b); | |
| this.xx = this.xx.add(t), this.yy = this.yy.add(t), this.zz = this.zz.add(t) | |
| }, e.getSphericalPolynomialFromHarmonics = function (t) { | |
| var i = new e; | |
| return i.x = t.L11.scale(1.02333), i.y = t.L1_1.scale(1.02333), i.z = t.L10.scale(1.02333), i.xx = t.L00.scale(.886277).subtract(t.L20.scale(.247708)).add(t.L22.scale(.429043)), i.yy = t.L00.scale(.886277).subtract(t.L20.scale(.247708)).subtract(t.L22.scale(.429043)), i.zz = t.L00.scale(.886277).add(t.L20.scale(.495417)), i.yz = t.L2_1.scale(.858086), i.zx = t.L21.scale(.858086), i.xy = t.L2_2.scale(.858086), i | |
| }, e | |
| }(); | |
| e.SphericalPolynomial = w; | |
| var S = function () { | |
| function e(e, t) { | |
| void 0 === e && (e = o.Zero()), void 0 === t && (t = o.Up()), this.position = e, this.normal = t | |
| } | |
| return e.prototype.clone = function () { | |
| return new e(this.position.clone(), this.normal.clone()) | |
| }, e | |
| }(); | |
| e.PositionNormalVertex = S; | |
| var T = function () { | |
| function e(e, t, i) { | |
| void 0 === e && (e = o.Zero()), void 0 === t && (t = o.Up()), void 0 === i && (i = n.Zero()), this.position = e, this.normal = t, this.uv = i | |
| } | |
| return e.prototype.clone = function () { | |
| return new e(this.position.clone(), this.normal.clone(), this.uv.clone()) | |
| }, e | |
| }(); | |
| e.PositionNormalTextureVertex = T; | |
| var A = function () { | |
| function e() {} | |
| return e.Color3 = [i.Black(), i.Black(), i.Black()], e.Vector2 = [n.Zero(), n.Zero(), n.Zero()], e.Vector3 = [o.Zero(), o.Zero(), o.Zero(), o.Zero(), o.Zero(), o.Zero(), o.Zero(), o.Zero(), o.Zero()], e.Vector4 = [s.Zero(), s.Zero(), s.Zero()], e.Quaternion = [new c(0, 0, 0, 0)], e.Matrix = [h.Zero(), h.Zero(), h.Zero(), h.Zero(), h.Zero(), h.Zero(), h.Zero(), h.Zero()], e | |
| }(); | |
| e.Tmp = A | |
| }(s || (s = {})), | |
| function (e) { | |
| function t(e, t) { | |
| return function (i, r) { | |
| i.__serializableMembers || (i.__serializableMembers = {}), i.__serializableMembers[r] || (i.__serializableMembers[r] = { | |
| type: e, | |
| sourceName: t | |
| }) | |
| } | |
| } | |
| e.serialize = function (e) { | |
| return t(0, e) | |
| }, e.serializeAsTexture = function (e) { | |
| return t(1, e) | |
| }, e.serializeAsColor3 = function (e) { | |
| return t(2, e) | |
| }, e.serializeAsFresnelParameters = function (e) { | |
| return t(3, e) | |
| }, e.serializeAsVector2 = function (e) { | |
| return t(4, e) | |
| }, e.serializeAsVector3 = function (e) { | |
| return t(5, e) | |
| }, e.serializeAsMeshReference = function (e) { | |
| return t(6, e) | |
| }, e.serializeAsColorCurves = function (e) { | |
| return t(7, e) | |
| }; | |
| var i = function () { | |
| function t() {} | |
| return t.Serialize = function (t, i) { | |
| for (var r in i || (i = {}), i.tags = e.Tags.GetTags(t), t.__serializableMembers) { | |
| var n = t.__serializableMembers[r], | |
| o = n.sourceName || r, | |
| s = n.type, | |
| a = t[r]; | |
| if (null != a) switch (s) { | |
| case 0: | |
| i[o] = a; | |
| break; | |
| case 1: | |
| i[o] = a.serialize(); | |
| break; | |
| case 2: | |
| i[o] = a.asArray(); | |
| break; | |
| case 3: | |
| i[o] = a.serialize(); | |
| break; | |
| case 4: | |
| case 5: | |
| i[o] = a.asArray(); | |
| break; | |
| case 6: | |
| i[o] = a.id; | |
| break; | |
| case 7: | |
| i[o] = a.serialize() | |
| } | |
| } | |
| return i | |
| }, t.Parse = function (t, i, r, n) { | |
| var o = t(); | |
| for (var s in e.Tags.AddTagsTo(o, i.tags), o.__serializableMembers) { | |
| var a = o.__serializableMembers[s], | |
| c = i[a.sourceName || s], | |
| h = a.type; | |
| if (null != c) switch (h) { | |
| case 0: | |
| o[s] = c; | |
| break; | |
| case 1: | |
| o[s] = e.Texture.Parse(c, r, n); | |
| break; | |
| case 2: | |
| o[s] = e.Color3.FromArray(c); | |
| break; | |
| case 3: | |
| o[s] = e.FresnelParameters.Parse(c); | |
| break; | |
| case 4: | |
| o[s] = e.Vector2.FromArray(c); | |
| break; | |
| case 5: | |
| o[s] = e.Vector3.FromArray(c); | |
| break; | |
| case 6: | |
| o[s] = r.getLastMeshByID(c); | |
| break; | |
| case 7: | |
| o[s] = e.ColorCurves.Parse(c) | |
| } | |
| } | |
| return o | |
| }, t.Clone = function (t, i) { | |
| var r = t(); | |
| for (var n in e.Tags.AddTagsTo(r, i.tags), r.__serializableMembers) { | |
| var o = r.__serializableMembers[n], | |
| s = i[n], | |
| a = o.type; | |
| if (null != s) switch (a) { | |
| case 0: | |
| case 6: | |
| r[n] = s; | |
| break; | |
| case 1: | |
| case 2: | |
| case 3: | |
| case 4: | |
| case 5: | |
| case 7: | |
| r[n] = s.clone() | |
| } | |
| } | |
| return r | |
| }, t | |
| }(); | |
| e.SerializationHelper = i | |
| }(s || (s = {})), | |
| function (e) { | |
| var t = function () { | |
| function e(e, t) { | |
| void 0 === t && (t = !1), this.initalize(e, t) | |
| } | |
| return e.prototype.initalize = function (e, t) { | |
| return void 0 === t && (t = !1), this.mask = e, this.skipNextObservers = t, this | |
| }, e | |
| }(); | |
| e.EventState = t; | |
| var i = function () { | |
| return function (e, t) { | |
| this.callback = e, this.mask = t | |
| } | |
| }(); | |
| e.Observer = i; | |
| var r = function () { | |
| function e() { | |
| this._observers = new Array, this._eventState = new t(0) | |
| } | |
| return e.prototype.add = function (e, t, r) { | |
| if (void 0 === t && (t = -1), void 0 === r && (r = !1), !e) return null; | |
| var n = new i(e, t); | |
| return r ? this._observers.unshift(n) : this._observers.push(n), n | |
| }, e.prototype.remove = function (e) { | |
| var t = this._observers.indexOf(e); | |
| return -1 !== t && (this._observers.splice(t, 1), !0) | |
| }, e.prototype.removeCallback = function (e) { | |
| for (var t = 0; t < this._observers.length; t++) | |
| if (this._observers[t].callback === e) return this._observers.splice(t, 1), !0; | |
| return !1 | |
| }, e.prototype.notifyObservers = function (e, t) { | |
| void 0 === t && (t = -1); | |
| var i = this._eventState; | |
| i.mask = t, i.skipNextObservers = !1; | |
| for (var r = 0, n = this._observers; r < n.length; r++) { | |
| var o = n[r]; | |
| if (o.mask & t && o.callback(e, i), i.skipNextObservers) return !1 | |
| } | |
| return !0 | |
| }, e.prototype.hasObservers = function () { | |
| return this._observers.length > 0 | |
| }, e.prototype.clear = function () { | |
| this._observers = new Array | |
| }, e.prototype.clone = function () { | |
| var t = new e; | |
| return t._observers = this._observers.slice(0), t | |
| }, e | |
| }(); | |
| e.Observable = r | |
| }(s || (s = {})), r = s || (s = {}), n = function () { | |
| function e(t, i) { | |
| this.idbFactory = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB, this.callbackManifestChecked = i, this.currentSceneUrl = e.ReturnFullUrlLocation(t), this.db = null, this.enableSceneOffline = !1, this.enableTexturesOffline = !1, this.manifestVersionFound = 0, this.mustUpdateRessources = !1, this.hasReachedQuota = !1, e.IDBStorageEnabled ? this.checkManifestFile() : this.callbackManifestChecked(!0) | |
| } | |
| return e.prototype.checkManifestFile = function () { | |
| function e() { | |
| i.enableSceneOffline = !1, i.enableTexturesOffline = !1, i.callbackManifestChecked(!1) | |
| } | |
| var t = this, | |
| i = this, | |
| n = !1, | |
| o = this.currentSceneUrl + ".manifest", | |
| s = new XMLHttpRequest; | |
| navigator.onLine && (n = !0, o = o + (null == o.match(/\?/) ? "?" : "&") + (new Date).getTime()), s.open("GET", o, !0), s.addEventListener("load", function () { | |
| if (200 === s.status || r.Tools.ValidateXHRData(s, 1)) try { | |
| var i = JSON.parse(s.response); | |
| t.enableSceneOffline = i.enableSceneOffline, t.enableTexturesOffline = i.enableTexturesOffline, i.version && !isNaN(parseInt(i.version)) && (t.manifestVersionFound = i.version), t.callbackManifestChecked && t.callbackManifestChecked(!0) | |
| } catch (t) { | |
| e() | |
| } else e() | |
| }, !1), s.addEventListener("error", function (i) { | |
| if (n) { | |
| n = !1; | |
| var r = t.currentSceneUrl + ".manifest"; | |
| s.open("GET", r, !0), s.send() | |
| } else e() | |
| }, !1); | |
| try { | |
| s.send() | |
| } catch (e) { | |
| r.Tools.Error("Error on XHR send request."), i.callbackManifestChecked(!1) | |
| } | |
| }, e.prototype.openAsync = function (e, t) { | |
| function i() { | |
| o.isSupported = !1, t && t() | |
| } | |
| var n = this, | |
| o = this; | |
| if (this.idbFactory && (this.enableSceneOffline || this.enableTexturesOffline)) | |
| if (this.db) e && e(); | |
| else { | |
| this.hasReachedQuota = !1, this.isSupported = !0; | |
| var s = this.idbFactory.open("babylonjs", 1); | |
| s.onerror = function (e) { | |
| i() | |
| }, s.onblocked = function (e) { | |
| r.Tools.Error("IDB request blocked. Please reload the page."), i() | |
| }, s.onsuccess = function (t) { | |
| n.db = s.result, e() | |
| }, s.onupgradeneeded = function (e) { | |
| n.db = e.target.result; | |
| try { | |
| n.db.createObjectStore("scenes", { | |
| keyPath: "sceneUrl" | |
| }), n.db.createObjectStore("versions", { | |
| keyPath: "sceneUrl" | |
| }), n.db.createObjectStore("textures", { | |
| keyPath: "textureUrl" | |
| }) | |
| } catch (e) { | |
| r.Tools.Error("Error while creating object stores. Exception: " + e.message), i() | |
| } | |
| } | |
| } | |
| else this.isSupported = !1, t && t() | |
| }, e.prototype.loadImageFromDB = function (t, i) { | |
| var r = this, | |
| n = e.ReturnFullUrlLocation(t), | |
| o = function () { | |
| r.hasReachedQuota || null === r.db ? i.src = t : r._saveImageIntoDBAsync(n, i) | |
| }; | |
| this.mustUpdateRessources ? o() : this._loadImageFromDBAsync(n, i, o) | |
| }, e.prototype._loadImageFromDBAsync = function (e, t, i) { | |
| if (this.isSupported && null !== this.db) { | |
| var n, o = this.db.transaction(["textures"]); | |
| o.onabort = function (i) { | |
| t.src = e | |
| }, o.oncomplete = function (o) { | |
| var s; | |
| if (n) { | |
| var a = window.URL || window.webkitURL; | |
| s = a.createObjectURL(n.data, { | |
| oneTimeOnly: !0 | |
| }), t.onerror = function () { | |
| r.Tools.Error("Error loading image from blob URL: " + s + " switching back to web url: " + e), t.src = e | |
| }, t.src = s | |
| } else i() | |
| }; | |
| var s = o.objectStore("textures").get(e); | |
| s.onsuccess = function (e) { | |
| n = e.target.result | |
| }, s.onerror = function (i) { | |
| r.Tools.Error("Error loading texture " + e + " from DB."), t.src = e | |
| } | |
| } else r.Tools.Error("Error: IndexedDB not supported by your browser or BabylonJS Database is not open."), t.src = e | |
| }, e.prototype._saveImageIntoDBAsync = function (t, i) { | |
| var n = this; | |
| if (this.isSupported) { | |
| var o = function () { | |
| var e; | |
| if (s) { | |
| var t = window.URL || window.webkitURL; | |
| try { | |
| e = t.createObjectURL(s, { | |
| oneTimeOnly: !0 | |
| }) | |
| } catch (i) { | |
| e = t.createObjectURL(s) | |
| } | |
| } | |
| i.src = e | |
| }; | |
| if (e.IsUASupportingBlobStorage) { | |
| var s, a = new XMLHttpRequest; | |
| a.open("GET", t, !0), a.responseType = "blob", a.addEventListener("load", function () { | |
| if (200 === a.status) { | |
| s = a.response; | |
| var r = n.db.transaction(["textures"], "readwrite"); | |
| r.onabort = function (e) { | |
| try { | |
| e.srcElement.error && "QuotaExceededError" === e.srcElement.error.name && (n.hasReachedQuota = !0) | |
| } catch (e) {} | |
| o() | |
| }, r.oncomplete = function (e) { | |
| o() | |
| }; | |
| var c = { | |
| textureUrl: t, | |
| data: s | |
| }; | |
| try { | |
| var h = r.objectStore("textures").put(c); | |
| h.onsuccess = function (e) {}, h.onerror = function (e) { | |
| o() | |
| } | |
| } catch (r) { | |
| 25 === r.code && (e.IsUASupportingBlobStorage = !1), i.src = t | |
| } | |
| } else i.src = t | |
| }, !1), a.addEventListener("error", function (e) { | |
| r.Tools.Error("Error in XHR request in BABYLON.Database."), i.src = t | |
| }, !1), a.send() | |
| } else i.src = t | |
| } else r.Tools.Error("Error: IndexedDB not supported by your browser or BabylonJS Database is not open."), i.src = t | |
| }, e.prototype._checkVersionFromDB = function (e, t) { | |
| var i = this; | |
| this._loadVersionFromDBAsync(e, t, function (r) { | |
| i._saveVersionIntoDBAsync(e, t) | |
| }) | |
| }, e.prototype._loadVersionFromDBAsync = function (e, t, i) { | |
| var n, o = this; | |
| if (this.isSupported) try { | |
| var s = this.db.transaction(["versions"]); | |
| s.oncomplete = function (e) { | |
| n ? o.manifestVersionFound > n.data ? (o.mustUpdateRessources = !0, i()) : t(n.data) : (o.mustUpdateRessources = !0, i()) | |
| }, s.onabort = function (e) { | |
| t(-1) | |
| }; | |
| var a = s.objectStore("versions").get(e); | |
| a.onsuccess = function (e) { | |
| n = e.target.result | |
| }, a.onerror = function (i) { | |
| r.Tools.Error("Error loading version for scene " + e + " from DB."), t(-1) | |
| } | |
| } catch (e) { | |
| r.Tools.Error("Error while accessing 'versions' object store (READ OP). Exception: " + e.message), t(-1) | |
| } else r.Tools.Error("Error: IndexedDB not supported by your browser or BabylonJS Database is not open."), t(-1) | |
| }, e.prototype._saveVersionIntoDBAsync = function (e, t) { | |
| var i = this; | |
| if (this.isSupported && !this.hasReachedQuota) try { | |
| var n = this.db.transaction(["versions"], "readwrite"); | |
| n.onabort = function (e) { | |
| try { | |
| e.srcElement.error && "QuotaExceededError" === e.srcElement.error.name && (i.hasReachedQuota = !0) | |
| } catch (e) {} | |
| t(-1) | |
| }, n.oncomplete = function (e) { | |
| t(i.manifestVersionFound) | |
| }; | |
| var o = { | |
| sceneUrl: e, | |
| data: this.manifestVersionFound | |
| }, | |
| s = n.objectStore("versions").put(o); | |
| s.onsuccess = function (e) {}, s.onerror = function (e) { | |
| r.Tools.Error("Error in DB add version request in BABYLON.Database.") | |
| } | |
| } catch (e) { | |
| r.Tools.Error("Error while accessing 'versions' object store (WRITE OP). Exception: " + e.message), t(-1) | |
| } else t(-1) | |
| }, e.prototype.loadFileFromDB = function (t, i, r, n, o) { | |
| var s = this, | |
| a = e.ReturnFullUrlLocation(t), | |
| c = function (e) { | |
| s._saveFileIntoDBAsync(a, i, r) | |
| }; | |
| this._checkVersionFromDB(a, function (e) { | |
| -1 !== e ? s.mustUpdateRessources ? s._saveFileIntoDBAsync(a, i, r, o) : s._loadFileFromDBAsync(a, i, c, o) : n() | |
| }) | |
| }, e.prototype._loadFileFromDBAsync = function (e, t, i, n) { | |
| if (this.isSupported) { | |
| var o; | |
| o = -1 !== e.indexOf(".babylon") ? "scenes" : "textures"; | |
| var s, a = this.db.transaction([o]); | |
| a.oncomplete = function (e) { | |
| s ? t(s.data) : i() | |
| }, a.onabort = function (e) { | |
| i() | |
| }; | |
| var c = a.objectStore(o).get(e); | |
| c.onsuccess = function (e) { | |
| s = e.target.result | |
| }, c.onerror = function (t) { | |
| r.Tools.Error("Error loading file " + e + " from DB."), i() | |
| } | |
| } else r.Tools.Error("Error: IndexedDB not supported by your browser or BabylonJS Database is not open."), t() | |
| }, e.prototype._saveFileIntoDBAsync = function (e, t, i, n) { | |
| var o = this; | |
| if (this.isSupported) { | |
| var s; | |
| s = -1 !== e.indexOf(".babylon") ? "scenes" : "textures"; | |
| var a, c = new XMLHttpRequest; | |
| c.open("GET", e, !0), n && (c.responseType = "arraybuffer"), c.onprogress = i, c.addEventListener("load", function () { | |
| if (200 === c.status || r.Tools.ValidateXHRData(c, n ? 6 : 1)) | |
| if (a = n ? c.response : c.responseText, o.hasReachedQuota) t(a); | |
| else { | |
| var i, h = o.db.transaction([s], "readwrite"); | |
| h.onabort = function (e) { | |
| try { | |
| e.srcElement.error && "QuotaExceededError" === e.srcElement.error.name && (o.hasReachedQuota = !0) | |
| } catch (e) {} | |
| t(a) | |
| }, h.oncomplete = function (e) { | |
| t(a) | |
| }, i = "scenes" === s ? { | |
| sceneUrl: e, | |
| data: a, | |
| version: o.manifestVersionFound | |
| } : { | |
| textureUrl: e, | |
| data: a | |
| }; | |
| try { | |
| var u = h.objectStore(s).put(i); | |
| u.onsuccess = function (e) {}, u.onerror = function (e) { | |
| r.Tools.Error("Error in DB add file request in BABYLON.Database.") | |
| } | |
| } catch (e) { | |
| t(a) | |
| } | |
| } | |
| else t() | |
| }, !1), c.addEventListener("error", function (e) { | |
| r.Tools.Error("error on XHR request."), t() | |
| }, !1), c.send() | |
| } else r.Tools.Error("Error: IndexedDB not supported by your browser or BabylonJS Database is not open."), t() | |
| }, e.IsUASupportingBlobStorage = !0, e.IDBStorageEnabled = !0, e.parseURL = function (e) { | |
| document.createElement("a").href = e; | |
| var t = e.substring(0, e.lastIndexOf("#")), | |
| i = e.substring(t.lastIndexOf("/") + 1, e.length); | |
| return e.substring(0, e.indexOf(i, 0)) | |
| }, e.ReturnFullUrlLocation = function (t) { | |
| return -1 === t.indexOf("http:/") ? e.parseURL(window.location.href) + t : t | |
| }, e | |
| }(), r.Database = n, | |
| function (e) { | |
| ! function (t) { | |
| var i = function () { | |
| function t() {} | |
| return t.GetTGAHeader = function (e) { | |
| var t = 0; | |
| return { | |
| id_length: e[t++], | |
| colormap_type: e[t++], | |
| image_type: e[t++], | |
| colormap_index: e[t++] | e[t++] << 8, | |
| colormap_length: e[t++] | e[t++] << 8, | |
| colormap_size: e[t++], | |
| origin: [e[t++] | e[t++] << 8, e[t++] | e[t++] << 8], | |
| width: e[t++] | e[t++] << 8, | |
| height: e[t++] | e[t++] << 8, | |
| pixel_size: e[t++], | |
| flags: e[t++] | |
| } | |
| }, t.UploadContent = function (i, r) { | |
| if (r.length < 19) e.Tools.Error("Unable to load TGA file - Not enough data to contain header"); | |
| else { | |
| var n = 18, | |
| o = t.GetTGAHeader(r); | |
| if (o.id_length + n > r.length) e.Tools.Error("Unable to load TGA file - Not enough data"); | |
| else { | |
| n += o.id_length; | |
| var s = !1, | |
| a = !1, | |
| c = !1; | |
| switch (o.image_type) { | |
| case t._TYPE_RLE_INDEXED: | |
| s = !0; | |
| case t._TYPE_INDEXED: | |
| a = !0; | |
| break; | |
| case t._TYPE_RLE_RGB: | |
| s = !0; | |
| case t._TYPE_RGB: | |
| !0; | |
| break; | |
| case t._TYPE_RLE_GREY: | |
| s = !0; | |
| case t._TYPE_GREY: | |
| c = !0 | |
| } | |
| var h, u, l, f, d, p, m, g, _ = (o.flags, o.pixel_size >> 3), | |
| v = o.width * o.height * _; | |
| if (a && (u = r.subarray(n, n += o.colormap_length * (o.colormap_size >> 3))), s) { | |
| h = new Uint8Array(v); | |
| for (var y, b, x, w = 0, S = new Uint8Array(_); n < v && w < v;) | |
| if (b = 1 + (127 & (y = r[n++])), 128 & y) { | |
| for (x = 0; x < _; ++x) S[x] = r[n++]; | |
| for (x = 0; x < b; ++x) h.set(S, w + x * _); | |
| w += _ * b | |
| } else { | |
| for (b *= _, x = 0; x < b; ++x) h[w + x] = r[n++]; | |
| w += b | |
| } | |
| } else h = r.subarray(n, n += a ? o.width * o.height : v); | |
| switch ((o.flags & t._ORIGIN_MASK) >> t._ORIGIN_SHIFT) { | |
| default: | |
| case t._ORIGIN_UL: | |
| l = 0, d = 1, g = o.width, f = 0, p = 1, m = o.height; | |
| break; | |
| case t._ORIGIN_BL: | |
| l = 0, d = 1, g = o.width, f = o.height - 1, p = -1, m = -1; | |
| break; | |
| case t._ORIGIN_UR: | |
| l = o.width - 1, d = -1, g = -1, f = 0, p = 1, m = o.height; | |
| break; | |
| case t._ORIGIN_BR: | |
| l = o.width - 1, d = -1, g = -1, f = o.height - 1, p = -1, m = -1 | |
| } | |
| var T = t["_getImageData" + (c ? "Grey" : "") + o.pixel_size + "bits"](o, u, h, f, p, m, l, d, g); | |
| i.texImage2D(i.TEXTURE_2D, 0, i.RGBA, o.width, o.height, 0, i.RGBA, i.UNSIGNED_BYTE, T) | |
| } | |
| } | |
| }, t._getImageData8bits = function (e, t, i, r, n, o, s, a, c) { | |
| var h, u, l, f = i, | |
| d = t, | |
| p = e.width, | |
| m = e.height, | |
| g = 0, | |
| _ = new Uint8Array(p * m * 4); | |
| for (l = r; l !== o; l += n) | |
| for (u = s; u !== c; u += a, g++) h = f[g], _[4 * (u + p * l) + 3] = 255, _[4 * (u + p * l) + 2] = d[3 * h + 0], _[4 * (u + p * l) + 1] = d[3 * h + 1], _[4 * (u + p * l) + 0] = d[3 * h + 2]; | |
| return _ | |
| }, t._getImageData16bits = function (e, t, i, r, n, o, s, a, c) { | |
| var h, u, l, f = i, | |
| d = e.width, | |
| p = e.height, | |
| m = 0, | |
| g = new Uint8Array(d * p * 4); | |
| for (l = r; l !== o; l += n) | |
| for (u = s; u !== c; u += a, m += 2) h = f[m + 0] + (f[m + 1] << 8), g[4 * (u + d * l) + 0] = (31744 & h) >> 7, g[4 * (u + d * l) + 1] = (992 & h) >> 2, g[4 * (u + d * l) + 2] = (31 & h) >> 3, g[4 * (u + d * l) + 3] = 32768 & h ? 0 : 255; | |
| return g | |
| }, t._getImageData24bits = function (e, t, i, r, n, o, s, a, c) { | |
| var h, u, l = i, | |
| f = e.width, | |
| d = e.height, | |
| p = 0, | |
| m = new Uint8Array(f * d * 4); | |
| for (u = r; u !== o; u += n) | |
| for (h = s; h !== c; h += a, p += 3) m[4 * (h + f * u) + 3] = 255, m[4 * (h + f * u) + 2] = l[p + 0], m[4 * (h + f * u) + 1] = l[p + 1], m[4 * (h + f * u) + 0] = l[p + 2]; | |
| return m | |
| }, t._getImageData32bits = function (e, t, i, r, n, o, s, a, c) { | |
| var h, u, l = i, | |
| f = e.width, | |
| d = e.height, | |
| p = 0, | |
| m = new Uint8Array(f * d * 4); | |
| for (u = r; u !== o; u += n) | |
| for (h = s; h !== c; h += a, p += 4) m[4 * (h + f * u) + 2] = l[p + 0], m[4 * (h + f * u) + 1] = l[p + 1], m[4 * (h + f * u) + 0] = l[p + 2], m[4 * (h + f * u) + 3] = l[p + 3]; | |
| return m | |
| }, t._getImageDataGrey8bits = function (e, t, i, r, n, o, s, a, c) { | |
| var h, u, l, f = i, | |
| d = e.width, | |
| p = e.height, | |
| m = 0, | |
| g = new Uint8Array(d * p * 4); | |
| for (l = r; l !== o; l += n) | |
| for (u = s; u !== c; u += a, m++) h = f[m], g[4 * (u + d * l) + 0] = h, g[4 * (u + d * l) + 1] = h, g[4 * (u + d * l) + 2] = h, g[4 * (u + d * l) + 3] = 255; | |
| return g | |
| }, t._getImageDataGrey16bits = function (e, t, i, r, n, o, s, a, c) { | |
| var h, u, l = i, | |
| f = e.width, | |
| d = e.height, | |
| p = 0, | |
| m = new Uint8Array(f * d * 4); | |
| for (u = r; u !== o; u += n) | |
| for (h = s; h !== c; h += a, p += 2) m[4 * (h + f * u) + 0] = l[p + 0], m[4 * (h + f * u) + 1] = l[p + 0], m[4 * (h + f * u) + 2] = l[p + 0], m[4 * (h + f * u) + 3] = l[p + 1]; | |
| return m | |
| }, t._TYPE_NO_DATA = 0, t._TYPE_INDEXED = 1, t._TYPE_RGB = 2, t._TYPE_GREY = 3, t._TYPE_RLE_INDEXED = 9, t._TYPE_RLE_RGB = 10, t._TYPE_RLE_GREY = 11, t._ORIGIN_MASK = 48, t._ORIGIN_SHIFT = 4, t._ORIGIN_BL = 0, t._ORIGIN_BR = 1, t._ORIGIN_UL = 2, t._ORIGIN_UR = 3, t | |
| }(); | |
| t.TGATools = i | |
| }(e.Internals || (e.Internals = {})) | |
| }(s || (s = {})), | |
| function (e) { | |
| var t = function () { | |
| function e(t) { | |
| this.length = 0, this._duplicateId = 0, this.data = new Array(t), this._id = e._GlobalId++ | |
| } | |
| return e.prototype.push = function (e) { | |
| this.data[this.length++] = e, this.length > this.data.length && (this.data.length *= 2), e.__smartArrayFlags || (e.__smartArrayFlags = {}), e.__smartArrayFlags[this._id] = this._duplicateId | |
| }, e.prototype.pushNoDuplicate = function (e) { | |
| return !(e.__smartArrayFlags && e.__smartArrayFlags[this._id] === this._duplicateId || (this.push(e), 0)) | |
| }, e.prototype.sort = function (e) { | |
| this.data.sort(e) | |
| }, e.prototype.reset = function () { | |
| this.length = 0, this._duplicateId++ | |
| }, e.prototype.concat = function (e) { | |
| if (0 !== e.length) { | |
| this.length + e.length > this.data.length && (this.data.length = 2 * (this.length + e.length)); | |
| for (var t = 0; t < e.length; t++) this.data[this.length++] = (e.data || e)[t] | |
| } | |
| }, e.prototype.concatWithNoDuplicate = function (e) { | |
| if (0 !== e.length) { | |
| this.length + e.length > this.data.length && (this.data.length = 2 * (this.length + e.length)); | |
| for (var t = 0; t < e.length; t++) { | |
| var i = (e.data || e)[t]; | |
| this.pushNoDuplicate(i) | |
| } | |
| } | |
| }, e.prototype.indexOf = function (e) { | |
| var t = this.data.indexOf(e); | |
| return t >= this.length ? -1 : t | |
| }, e._GlobalId = 0, e | |
| }(); | |
| e.SmartArray = t | |
| }(s || (s = {})), | |
| function (e) { | |
| var t = function () { | |
| function e() { | |
| this._count = 0, this._data = {} | |
| } | |
| return e.prototype.copyFrom = function (e) { | |
| var t = this; | |
| this.clear(), e.forEach(function (e, i) { | |
| return t.add(e, i) | |
| }) | |
| }, e.prototype.get = function (e) { | |
| var t = this._data[e]; | |
| if (void 0 !== t) return t | |
| }, e.prototype.getOrAddWithFactory = function (e, t) { | |
| var i = this.get(e); | |
| return void 0 !== i ? i : ((i = t(e)) && this.add(e, i), i) | |
| }, e.prototype.getOrAdd = function (e, t) { | |
| var i = this.get(e); | |
| return void 0 !== i ? i : (this.add(e, t), t) | |
| }, e.prototype.contains = function (e) { | |
| return void 0 !== this._data[e] | |
| }, e.prototype.add = function (e, t) { | |
| return void 0 === this._data[e] && (this._data[e] = t, ++this._count, !0) | |
| }, e.prototype.set = function (e, t) { | |
| return void 0 !== this._data[e] && (this._data[e] = t, !0) | |
| }, e.prototype.getAndRemove = function (e) { | |
| var t = this.get(e); | |
| return void 0 !== t ? (delete this._data[e], --this._count, t) : null | |
| }, e.prototype.remove = function (e) { | |
| return !!this.contains(e) && (delete this._data[e], --this._count, !0) | |
| }, e.prototype.clear = function () { | |
| this._data = {}, this._count = 0 | |
| }, Object.defineProperty(e.prototype, "count", { | |
| get: function () { | |
| return this._count | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), e.prototype.forEach = function (e) { | |
| for (var t in this._data) { | |
| e(t, this._data[t]) | |
| } | |
| }, e.prototype.first = function (e) { | |
| for (var t in this._data) { | |
| var i = e(t, this._data[t]); | |
| if (i) return i | |
| } | |
| return null | |
| }, e | |
| }(); | |
| e.StringDictionary = t | |
| }(s || (s = {})), | |
| function (e) { | |
| var t, r = function (t, i) { | |
| return t ? t instanceof e.Mesh ? null : t instanceof e.SubMesh ? t.clone(i) : t.clone ? t.clone() : null : null | |
| }, | |
| n = function () { | |
| function n() {} | |
| return n.Instantiate = function (e) { | |
| for (var t = e.split("."), i = window || this, r = 0, n = t.length; r < n; r++) i = i[t[r]]; | |
| return "function" != typeof i ? null : i | |
| }, n.SetImmediate = function (e) { | |
| window.setImmediate ? window.setImmediate(e) : setTimeout(e, 1) | |
| }, n.IsExponentOfTwo = function (e) { | |
| var t = 1; | |
| do { | |
| t *= 2 | |
| } while (t < e); | |
| return t === e | |
| }, n.GetExponentOfTwo = function (e, t) { | |
| var i = 1; | |
| do { | |
| i *= 2 | |
| } while (i < e); | |
| return i > t && (i = t), i | |
| }, n.GetFilename = function (e) { | |
| var t = e.lastIndexOf("/"); | |
| return t < 0 ? e : e.substring(t + 1) | |
| }, n.GetDOMTextContent = function (e) { | |
| for (var t = "", i = e.firstChild; i;) 3 === i.nodeType && (t += i.textContent), i = i.nextSibling; | |
| return t | |
| }, n.ToDegrees = function (e) { | |
| return 180 * e / Math.PI | |
| }, n.ToRadians = function (e) { | |
| return e * Math.PI / 180 | |
| }, n.EncodeArrayBufferTobase64 = function (e) { | |
| for (var t, i, r, n, o, s, a, c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", h = "", u = 0, l = new Uint8Array(e); u < l.length;) n = (t = l[u++]) >> 2, o = (3 & t) << 4 | (i = u < l.length ? l[u++] : Number.NaN) >> 4, s = (15 & i) << 2 | (r = u < l.length ? l[u++] : Number.NaN) >> 6, a = 63 & r, isNaN(i) ? s = a = 64 : isNaN(r) && (a = 64), h += c.charAt(n) + c.charAt(o) + c.charAt(s) + c.charAt(a); | |
| return "data:image/png;base64," + h | |
| }, n.ExtractMinAndMaxIndexed = function (t, i, r, n, o) { | |
| void 0 === o && (o = null); | |
| for (var s = new e.Vector3(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE), a = new e.Vector3(-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE), c = r; c < r + n; c++) { | |
| var h = new e.Vector3(t[3 * i[c]], t[3 * i[c] + 1], t[3 * i[c] + 2]); | |
| s = e.Vector3.Minimize(h, s), a = e.Vector3.Maximize(h, a) | |
| } | |
| return o && (s.x -= s.x * o.x + o.y, s.y -= s.y * o.x + o.y, s.z -= s.z * o.x + o.y, a.x += a.x * o.x + o.y, a.y += a.y * o.x + o.y, a.z += a.z * o.x + o.y), { | |
| minimum: s, | |
| maximum: a | |
| } | |
| }, n.ExtractMinAndMax = function (t, i, r, n, o) { | |
| void 0 === n && (n = null); | |
| var s = new e.Vector3(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE), | |
| a = new e.Vector3(-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE); | |
| o || (o = 3); | |
| for (var c = i; c < i + r; c++) { | |
| var h = new e.Vector3(t[c * o], t[c * o + 1], t[c * o + 2]); | |
| s = e.Vector3.Minimize(h, s), a = e.Vector3.Maximize(h, a) | |
| } | |
| return n && (s.x -= s.x * n.x + n.y, s.y -= s.y * n.x + n.y, s.z -= s.z * n.x + n.y, a.x += a.x * n.x + n.y, a.y += a.y * n.x + n.y, a.z += a.z * n.x + n.y), { | |
| minimum: s, | |
| maximum: a | |
| } | |
| }, n.Vector2ArrayFeeder = function (t) { | |
| return function (i) { | |
| var r = void 0 !== t.BYTES_PER_ELEMENT; | |
| if (i >= (r ? t.length / 2 : t.length)) return null; | |
| if (r) { | |
| var n = t; | |
| return new e.Vector2(n[2 * i + 0], n[2 * i + 1]) | |
| } | |
| return t[i] | |
| } | |
| }, n.ExtractMinAndMaxVector2 = function (t, i) { | |
| void 0 === i && (i = null); | |
| for (var r = new e.Vector2(Number.MAX_VALUE, Number.MAX_VALUE), n = new e.Vector2(-Number.MAX_VALUE, -Number.MAX_VALUE), o = 0, s = t(o++); s;) r = e.Vector2.Minimize(s, r), n = e.Vector2.Maximize(s, n), s = t(o++); | |
| return i && (r.x -= r.x * i.x + i.y, r.y -= r.y * i.x + i.y, n.x += n.x * i.x + i.y, n.y += n.y * i.x + i.y), { | |
| minimum: r, | |
| maximum: n | |
| } | |
| }, n.MakeArray = function (e, t) { | |
| if (!0 === t || void 0 !== e && null != e) return Array.isArray(e) ? e : [e] | |
| }, n.GetPointerPrefix = function () { | |
| var e = "pointer"; | |
| return window.PointerEvent || navigator.pointerEnabled || (e = "mouse"), e | |
| }, n.QueueNewFrame = function (e, t) { | |
| void 0 === t && (t = window), t.requestAnimationFrame ? t.requestAnimationFrame(e) : t.msRequestAnimationFrame ? t.msRequestAnimationFrame(e) : t.webkitRequestAnimationFrame ? t.webkitRequestAnimationFrame(e) : t.mozRequestAnimationFrame ? t.mozRequestAnimationFrame(e) : t.oRequestAnimationFrame ? t.oRequestAnimationFrame(e) : window.setTimeout(e, 16) | |
| }, n.RequestFullscreen = function (e) { | |
| var t = e.requestFullscreen || e.msRequestFullscreen || e.webkitRequestFullscreen || e.mozRequestFullScreen; | |
| t && t.call(e) | |
| }, n.ExitFullscreen = function () { | |
| document.exitFullscreen ? document.exitFullscreen() : document.mozCancelFullScreen ? document.mozCancelFullScreen() : document.webkitCancelFullScreen ? document.webkitCancelFullScreen() : document.msCancelFullScreen && document.msCancelFullScreen() | |
| }, n.SetCorsBehavior = function (e, t) { | |
| if (n.CorsBehavior) switch (i(n.CorsBehavior)) { | |
| case "function": | |
| var r = n.CorsBehavior(e); | |
| if (r) return r; | |
| break; | |
| case "string": | |
| default: | |
| t.crossOrigin = n.CorsBehavior | |
| } | |
| }, n.CleanUrl = function (e) { | |
| return e.replace(/#/gm, "%23") | |
| }, n.LoadImage = function (t, i, r, o) { | |
| t instanceof ArrayBuffer && (t = n.EncodeArrayBufferTobase64(t)), t = n.CleanUrl(t); | |
| var s = new Image; | |
| "data:" !== t.substr(0, 5) && n.SetCorsBehavior(t, s), s.onload = function () { | |
| i(s) | |
| }, s.onerror = function (e) { | |
| n.Error("Error while trying to load texture: " + t), n.UseFallbackTexture ? (s.src = "data:image/jpg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBmRXhpZgAATU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAAExAAIAAAAQAAAATgAAAAAAAABgAAAAAQAAAGAAAAABcGFpbnQubmV0IDQuMC41AP/bAEMABAIDAwMCBAMDAwQEBAQFCQYFBQUFCwgIBgkNCw0NDQsMDA4QFBEODxMPDAwSGBITFRYXFxcOERkbGRYaFBYXFv/bAEMBBAQEBQUFCgYGChYPDA8WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFv/AABEIAQABAAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APH6KKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FCiiigD6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++gooooA+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gUKKKKAPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76CiiigD5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BQooooA+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/voKKKKAPl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FCiiigD6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++gooooA+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gUKKKKAPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76CiiigD5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BQooooA+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/voKKKKAPl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FCiiigD6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++gooooA+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gUKKKKAPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76P//Z", i(s)) : r() | |
| }; | |
| var a = function () { | |
| s.src = t | |
| }; | |
| if ("data:" !== t.substr(0, 5) && o && o.enableTexturesOffline && e.Database.IsUASupportingBlobStorage) o.openAsync(function () { | |
| o.loadImageFromDB(t, s) | |
| }, a); | |
| else if (-1 === t.indexOf("file:")) a(); | |
| else try { | |
| var c, h = t.substring(5).toLowerCase(); | |
| try { | |
| c = URL.createObjectURL(e.FilesInput.FilesTextures[h], { | |
| oneTimeOnly: !0 | |
| }) | |
| } catch (t) { | |
| c = URL.createObjectURL(e.FilesInput.FilesTextures[h]) | |
| } | |
| s.src = c | |
| } catch (e) { | |
| s.src = null | |
| } | |
| return s | |
| }, n.LoadFile = function (t, i, r, o, s, a) { | |
| t = n.CleanUrl(t); | |
| var c = function () { | |
| var e = new XMLHttpRequest, | |
| o = n.BaseUrl + t; | |
| e.open("GET", o, !0), s && (e.responseType = "arraybuffer"), e.onprogress = r, e.onreadystatechange = function () { | |
| if (4 === e.readyState) | |
| if (e.onreadystatechange = null, e.status >= 200 && e.status < 300 || navigator.isCocoonJS && 0 === e.status) i(s ? e.response : e.responseText); | |
| else { | |
| if (!a) throw new Error("Error status: " + e.status + " - Unable to load " + o); | |
| a() | |
| } | |
| }, e.send(null) | |
| }; | |
| if (-1 !== t.indexOf("file:")) { | |
| var h = t.substring(5).toLowerCase(); | |
| n.ReadFile(e.FilesInput.FilesToLoad[h], i, r, s) | |
| } else o && o.enableSceneOffline ? o.openAsync(function () { | |
| o.loadFileFromDB(t, i, r, c, s) | |
| }, c) : c() | |
| }, n.ReadFileAsDataURL = function (e, t, i) { | |
| var r = new FileReader; | |
| r.onload = function (e) { | |
| t(e.target.result) | |
| }, r.onprogress = i, r.readAsDataURL(e) | |
| }, n.ReadFile = function (e, t, i, r) { | |
| var o = new FileReader; | |
| o.onerror = function (i) { | |
| n.Log("Error while reading file: " + e.name), t(JSON.stringify({ | |
| autoClear: !0, | |
| clearColor: [1, 0, 0], | |
| ambientColor: [0, 0, 0], | |
| gravity: [0, -9.807, 0], | |
| meshes: [], | |
| cameras: [], | |
| lights: [] | |
| })) | |
| }, o.onload = function (e) { | |
| t(e.target.result) | |
| }, o.onprogress = i, r ? o.readAsArrayBuffer(e) : o.readAsText(e) | |
| }, n.FileAsURL = function (e) { | |
| var t = new Blob([e]); | |
| return (window.URL || window.webkitURL).createObjectURL(t) | |
| }, n.Format = function (e, t) { | |
| return void 0 === t && (t = 2), e.toFixed(t) | |
| }, n.CheckExtends = function (e, t, i) { | |
| e.x < t.x && (t.x = e.x), e.y < t.y && (t.y = e.y), e.z < t.z && (t.z = e.z), e.x > i.x && (i.x = e.x), e.y > i.y && (i.y = e.y), e.z > i.z && (i.z = e.z) | |
| }, n.DeepCopy = function (e, t, n, o) { | |
| for (var s in e) | |
| if (("_" !== s[0] || o && -1 !== o.indexOf(s)) && (!n || -1 === n.indexOf(s))) { | |
| var a = e[s], | |
| c = i(a); | |
| if ("function" !== c) | |
| if ("object" === c) | |
| if (a instanceof Array) { | |
| if (t[s] = [], a.length > 0) | |
| if ("object" == i(a[0])) | |
| for (var h = 0; h < a.length; h++) { | |
| var u = r(a[h], t); - 1 === t[s].indexOf(u) && t[s].push(u) | |
| } else t[s] = a.slice(0) | |
| } else t[s] = r(a, t); | |
| else t[s] = a | |
| } | |
| }, n.IsEmpty = function (e) { | |
| for (var t in e) return !1; | |
| return !0 | |
| }, n.RegisterTopRootEvents = function (e) { | |
| for (var t = 0; t < e.length; t++) { | |
| var i = e[t]; | |
| window.addEventListener(i.name, i.handler, !1); | |
| try { | |
| window.parent && window.parent.addEventListener(i.name, i.handler, !1) | |
| } catch (e) {} | |
| } | |
| }, n.UnregisterTopRootEvents = function (e) { | |
| for (var t = 0; t < e.length; t++) { | |
| var i = e[t]; | |
| window.removeEventListener(i.name, i.handler); | |
| try { | |
| window.parent && window.parent.removeEventListener(i.name, i.handler) | |
| } catch (e) {} | |
| } | |
| }, n.DumpFramebuffer = function (e, i, r, o, s) { | |
| void 0 === s && (s = "image/png"); | |
| for (var a = 4 * e, c = i / 2, h = r.readPixels(0, 0, e, i), u = 0; u < c; u++) | |
| for (var l = 0; l < a; l++) { | |
| var f = l + u * a, | |
| d = l + (i - u - 1) * a, | |
| p = h[f]; | |
| h[f] = h[d], h[d] = p | |
| } | |
| t || (t = document.createElement("canvas")), t.width = e, t.height = i; | |
| var m = t.getContext("2d"), | |
| g = m.createImageData(e, i); | |
| g.data.set(h), m.putImageData(g, 0, 0), n.EncodeScreenshotCanvasData(o, s) | |
| }, n.EncodeScreenshotCanvasData = function (e, i) { | |
| void 0 === i && (i = "image/png"); | |
| var r = t.toDataURL(i); | |
| if (e) e(r); | |
| else if ("download" in document.createElement("a")) { | |
| var n = window.document.createElement("a"); | |
| n.href = r; | |
| var o = new Date, | |
| s = (o.getFullYear() + "-" + (o.getMonth() + 1)).slice(-2) + "-" + o.getDate() + "_" + o.getHours() + "-" + ("0" + o.getMinutes()).slice(-2); | |
| n.setAttribute("download", "screenshot_" + s + ".png"), window.document.body.appendChild(n), n.addEventListener("click", function () { | |
| n.parentElement.removeChild(n) | |
| }), n.click() | |
| } else { | |
| var a = window.open(""), | |
| c = a.document.createElement("img"); | |
| c.src = r, a.document.body.appendChild(c) | |
| } | |
| }, n.CreateScreenshot = function (e, i, r, o, s) { | |
| var a, c; | |
| if (void 0 === s && (s = "image/png"), r.precision) a = Math.round(e.getRenderWidth() * r.precision), c = Math.round(a / e.getAspectRatio(i)); | |
| else if (r.width && r.height) a = r.width, c = r.height; | |
| else if (r.width && !r.height) a = r.width, c = Math.round(a / e.getAspectRatio(i)); | |
| else if (r.height && !r.width) c = r.height, a = Math.round(c * e.getAspectRatio(i)); | |
| else { | |
| if (isNaN(r)) return void n.Error("Invalid 'size' parameter !"); | |
| c = r, a = r | |
| } | |
| t || (t = document.createElement("canvas")), t.width = a, t.height = c, t.getContext("2d").drawImage(e.getRenderingCanvas(), 0, 0, a, c), n.EncodeScreenshotCanvasData(o, s) | |
| }, n.CreateScreenshotUsingRenderTarget = function (t, i, r, o, s) { | |
| var a, c; | |
| if (void 0 === s && (s = "image/png"), r.precision) a = Math.round(t.getRenderWidth() * r.precision), c = Math.round(a / t.getAspectRatio(i)), r = { | |
| width: a, | |
| height: c | |
| }; | |
| else if (r.width && r.height) a = r.width, c = r.height; | |
| else if (r.width && !r.height) a = r.width, c = Math.round(a / t.getAspectRatio(i)), r = { | |
| width: a, | |
| height: c | |
| }; | |
| else if (r.height && !r.width) c = r.height, r = { | |
| width: a = Math.round(c * t.getAspectRatio(i)), | |
| height: c | |
| }; | |
| else { | |
| if (isNaN(r)) return void n.Error("Invalid 'size' parameter !"); | |
| c = r, a = r | |
| } | |
| var h = i.getScene(), | |
| u = null; | |
| h.activeCamera !== i && (u = h.activeCamera, h.activeCamera = i); | |
| var l = new e.RenderTargetTexture("screenShot", r, h, !1, !1); | |
| l.renderList = h.meshes, l.onAfterRenderObservable.add(function () { | |
| n.DumpFramebuffer(a, c, t, o, s) | |
| }), h.incrementRenderId(), h.resetCachedMaterial(), l.render(!0), l.dispose(), u && (h.activeCamera = u), i.getProjectionMatrix(!0) | |
| }, n.ValidateXHRData = function (t, i) { | |
| void 0 === i && (i = 7); | |
| try { | |
| if (1 & i) { | |
| if (t.responseText && t.responseText.length > 0) return !0; | |
| if (1 === i) return !1 | |
| } | |
| if (2 & i) { | |
| var r = e.Internals.TGATools.GetTGAHeader(t.response); | |
| if (r.width && r.height && r.width > 0 && r.height > 0) return !0; | |
| if (2 === i) return !1 | |
| } | |
| if (4 & i) { | |
| var n = new Uint8Array(t.response, 0, 3); | |
| return 68 === n[0] && 68 === n[1] && 83 === n[2] | |
| } | |
| } catch (e) {} | |
| return !1 | |
| }, n.RandomId = function () { | |
| return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (e) { | |
| var t = 16 * Math.random() | 0; | |
| return ("x" === e ? t : 3 & t | 8).toString(16) | |
| }) | |
| }, Object.defineProperty(n, "NoneLogLevel", { | |
| get: function () { | |
| return n._NoneLogLevel | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(n, "MessageLogLevel", { | |
| get: function () { | |
| return n._MessageLogLevel | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(n, "WarningLogLevel", { | |
| get: function () { | |
| return n._WarningLogLevel | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(n, "ErrorLogLevel", { | |
| get: function () { | |
| return n._ErrorLogLevel | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(n, "AllLogLevel", { | |
| get: function () { | |
| return n._MessageLogLevel | n._WarningLogLevel | n._ErrorLogLevel | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), n._AddLogEntry = function (e) { | |
| n._LogCache = e + n._LogCache, n.OnNewCacheEntry && n.OnNewCacheEntry(e) | |
| }, n._FormatMessage = function (e) { | |
| var t = function (e) { | |
| return e < 10 ? "0" + e : "" + e | |
| }, | |
| i = new Date; | |
| return "[" + t(i.getHours()) + ":" + t(i.getMinutes()) + ":" + t(i.getSeconds()) + "]: " + e | |
| }, n._LogDisabled = function (e) {}, n._LogEnabled = function (e) { | |
| var t = n._FormatMessage(e); | |
| console.log("BJS - " + t); | |
| var i = "<div style='color:white'>" + t + "</div><br>"; | |
| n._AddLogEntry(i) | |
| }, n._WarnDisabled = function (e) {}, n._WarnEnabled = function (e) { | |
| var t = n._FormatMessage(e); | |
| console.warn("BJS - " + t); | |
| var i = "<div style='color:orange'>" + t + "</div><br>"; | |
| n._AddLogEntry(i) | |
| }, n._ErrorDisabled = function (e) {}, n._ErrorEnabled = function (e) { | |
| n.errorsCount++; | |
| var t = n._FormatMessage(e); | |
| console.error("BJS - " + t); | |
| var i = "<div style='color:red'>" + t + "</div><br>"; | |
| n._AddLogEntry(i) | |
| }, Object.defineProperty(n, "LogCache", { | |
| get: function () { | |
| return n._LogCache | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), n.ClearLogCache = function () { | |
| n._LogCache = "", n.errorsCount = 0 | |
| }, Object.defineProperty(n, "LogLevels", { | |
| set: function (e) { | |
| (e & n.MessageLogLevel) === n.MessageLogLevel ? n.Log = n._LogEnabled : n.Log = n._LogDisabled, (e & n.WarningLogLevel) === n.WarningLogLevel ? n.Warn = n._WarnEnabled : n.Warn = n._WarnDisabled, (e & n.ErrorLogLevel) === n.ErrorLogLevel ? n.Error = n._ErrorEnabled : n.Error = n._ErrorDisabled | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(n, "PerformanceNoneLogLevel", { | |
| get: function () { | |
| return n._PerformanceNoneLogLevel | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(n, "PerformanceUserMarkLogLevel", { | |
| get: function () { | |
| return n._PerformanceUserMarkLogLevel | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(n, "PerformanceConsoleLogLevel", { | |
| get: function () { | |
| return n._PerformanceConsoleLogLevel | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(n, "PerformanceLogLevel", { | |
| set: function (e) { | |
| return (e & n.PerformanceUserMarkLogLevel) === n.PerformanceUserMarkLogLevel ? (n.StartPerformanceCounter = n._StartUserMark, void(n.EndPerformanceCounter = n._EndUserMark)) : (e & n.PerformanceConsoleLogLevel) === n.PerformanceConsoleLogLevel ? (n.StartPerformanceCounter = n._StartPerformanceConsole, void(n.EndPerformanceCounter = n._EndPerformanceConsole)) : (n.StartPerformanceCounter = n._StartPerformanceCounterDisabled, void(n.EndPerformanceCounter = n._EndPerformanceCounterDisabled)) | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), n._StartPerformanceCounterDisabled = function (e, t) {}, n._EndPerformanceCounterDisabled = function (e, t) {}, n._StartUserMark = function (e, t) { | |
| void 0 === t && (t = !0), t && n._performance.mark && n._performance.mark(e + "-Begin") | |
| }, n._EndUserMark = function (e, t) { | |
| void 0 === t && (t = !0), t && n._performance.mark && (n._performance.mark(e + "-End"), n._performance.measure(e, e + "-Begin", e + "-End")) | |
| }, n._StartPerformanceConsole = function (e, t) { | |
| void 0 === t && (t = !0), t && (n._StartUserMark(e, t), console.time && console.time(e)) | |
| }, n._EndPerformanceConsole = function (e, t) { | |
| void 0 === t && (t = !0), t && (n._EndUserMark(e, t), console.time && console.timeEnd(e)) | |
| }, Object.defineProperty(n, "Now", { | |
| get: function () { | |
| return window.performance && window.performance.now ? window.performance.now() : (new Date).getTime() | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), n.getClassName = function (e, t) { | |
| void 0 === t && (t = !1); | |
| var r = null; | |
| if (!t && e.getClassName) r = e.getClassName(); | |
| else { | |
| if (e instanceof Object) r = (t ? e : Object.getPrototypeOf(e)).constructor.__bjsclassName__; | |
| r || (r = i(e)) | |
| } | |
| return r | |
| }, n.first = function (e, t) { | |
| for (var i = 0, r = e; i < r.length; i++) { | |
| var n = r[i]; | |
| if (t(n)) return n | |
| } | |
| }, n.getFullClassName = function (e, t) { | |
| void 0 === t && (t = !1); | |
| var r = null, | |
| n = null; | |
| if (!t && e.getClassName) r = e.getClassName(); | |
| else { | |
| if (e instanceof Object) { | |
| var o = t ? e : Object.getPrototypeOf(e); | |
| r = o.constructor.__bjsclassName__, n = o.constructor.__bjsmoduleName__ | |
| } | |
| r || (r = i(e)) | |
| } | |
| return r ? (null != n ? n + "." : "") + r : null | |
| }, n.arrayOrStringFeeder = function (e) { | |
| return function (t) { | |
| if (t >= e.length) return null; | |
| var i = e.charCodeAt ? e.charCodeAt(t) : e[t]; | |
| return i && i.getHashCode && (i = i.getHashCode()), "string" == typeof i ? n.hashCodeFromStream(n.arrayOrStringFeeder(i)) : i | |
| } | |
| }, n.hashCodeFromStream = function (e) { | |
| for (var t = 0, i = 0, r = e(i++); null != r;) t = (t << 5) - t + r, t |= 0, r = e(i++); | |
| return t | |
| }, n.BaseUrl = "", n.CorsBehavior = "anonymous", n.UseFallbackTexture = !0, n._NoneLogLevel = 0, n._MessageLogLevel = 1, n._WarningLogLevel = 2, n._ErrorLogLevel = 4, n._LogCache = "", n.errorsCount = 0, n.Log = n._LogEnabled, n.Warn = n._WarnEnabled, n.Error = n._ErrorEnabled, n._PerformanceNoneLogLevel = 0, n._PerformanceUserMarkLogLevel = 1, n._PerformanceConsoleLogLevel = 2, n._performance = window.performance, n.StartPerformanceCounter = n._StartPerformanceCounterDisabled, n.EndPerformanceCounter = n._EndPerformanceCounterDisabled, n | |
| }(); | |
| e.Tools = n; | |
| var o = function () { | |
| function e() { | |
| this._startMonitoringTime = 0, this._min = 0, this._max = 0, this._average = 0, this._lastSecAverage = 0, this._current = 0, this._totalValueCount = 0, this._totalAccumulated = 0, this._lastSecAccumulated = 0, this._lastSecTime = 0, this._lastSecValueCount = 0 | |
| } | |
| return Object.defineProperty(e.prototype, "min", { | |
| get: function () { | |
| return this._min | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(e.prototype, "max", { | |
| get: function () { | |
| return this._max | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(e.prototype, "average", { | |
| get: function () { | |
| return this._average | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(e.prototype, "lastSecAverage", { | |
| get: function () { | |
| return this._lastSecAverage | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(e.prototype, "current", { | |
| get: function () { | |
| return this._current | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(e.prototype, "total", { | |
| get: function () { | |
| return this._totalAccumulated | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), e.prototype.fetchNewFrame = function () { | |
| this._totalValueCount++, this._current = 0, this._lastSecValueCount++ | |
| }, e.prototype.addCount = function (e, t) { | |
| this._current += e, t && this._fetchResult() | |
| }, e.prototype.beginMonitoring = function () { | |
| this._startMonitoringTime = n.Now | |
| }, e.prototype.endMonitoring = function (e) { | |
| void 0 === e && (e = !0), e && this.fetchNewFrame(); | |
| var t = n.Now; | |
| this._current = t - this._startMonitoringTime, e && this._fetchResult() | |
| }, e.prototype._fetchResult = function () { | |
| this._totalAccumulated += this._current, this._lastSecAccumulated += this._current, this._min = Math.min(this._min, this._current), this._max = Math.max(this._max, this._current), this._average = this._totalAccumulated / this._totalValueCount; | |
| var e = n.Now; | |
| e - this._lastSecTime > 1e3 && (this._lastSecAverage = this._lastSecAccumulated / this._lastSecValueCount, this._lastSecTime = e, this._lastSecAccumulated = 0, this._lastSecValueCount = 0) | |
| }, e | |
| }(); | |
| e.PerfCounter = o, e.className = function (e, t) { | |
| return function (i) { | |
| i.__bjsclassName__ = e, i.__bjsmoduleName__ = null != t ? t : null | |
| } | |
| }; | |
| var s = function () { | |
| function e(e, t, i, r) { | |
| void 0 === r && (r = 0), this.iterations = e, this._fn = t, this._successCallback = i, this.index = r - 1, this._done = !1 | |
| } | |
| return e.prototype.executeNext = function () { | |
| this._done || (this.index + 1 < this.iterations ? (++this.index, this._fn(this)) : this.breakLoop()) | |
| }, e.prototype.breakLoop = function () { | |
| this._done = !0, this._successCallback() | |
| }, e.Run = function (t, i, r, n) { | |
| void 0 === n && (n = 0); | |
| var o = new e(t, i, r, n); | |
| return o.executeNext(), o | |
| }, e.SyncAsyncForLoop = function (t, i, r, n, o, s) { | |
| void 0 === s && (s = 0), e.Run(Math.ceil(t / i), function (e) { | |
| o && o() ? e.breakLoop() : setTimeout(function () { | |
| for (var n = 0; n < i; ++n) { | |
| var s = e.index * i + n; | |
| if (s >= t) break; | |
| if (r(s), o && o()) { | |
| e.breakLoop(); | |
| break | |
| } | |
| } | |
| e.executeNext() | |
| }, s) | |
| }, n) | |
| }, e | |
| }(); | |
| e.AsyncLoop = s | |
| }(s || (s = {})), | |
| function (e) { | |
| ! function (e) { | |
| var t = function () { | |
| function e() { | |
| this._isAlphaBlendDirty = !1, this._isBlendFunctionParametersDirty = !1, this._alphaBlend = !1, this._blendFunctionParameters = new Array(4), this.reset() | |
| } | |
| return Object.defineProperty(e.prototype, "isDirty", { | |
| get: function () { | |
| return this._isAlphaBlendDirty || this._isBlendFunctionParametersDirty | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(e.prototype, "alphaBlend", { | |
| get: function () { | |
| return this._alphaBlend | |
| }, | |
| set: function (e) { | |
| this._alphaBlend !== e && (this._alphaBlend = e, this._isAlphaBlendDirty = !0) | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), e.prototype.setAlphaBlendFunctionParameters = function (e, t, i, r) { | |
| this._blendFunctionParameters[0] === e && this._blendFunctionParameters[1] === t && this._blendFunctionParameters[2] === i && this._blendFunctionParameters[3] === r || (this._blendFunctionParameters[0] = e, this._blendFunctionParameters[1] = t, this._blendFunctionParameters[2] = i, this._blendFunctionParameters[3] = r, this._isBlendFunctionParametersDirty = !0) | |
| }, e.prototype.reset = function () { | |
| this._alphaBlend = !1, this._blendFunctionParameters[0] = null, this._blendFunctionParameters[1] = null, this._blendFunctionParameters[2] = null, this._blendFunctionParameters[3] = null, this._isAlphaBlendDirty = !0, this._isBlendFunctionParametersDirty = !1 | |
| }, e.prototype.apply = function (e) { | |
| this.isDirty && (this._isAlphaBlendDirty && (this._alphaBlend ? e.enable(e.BLEND) : e.disable(e.BLEND), this._isAlphaBlendDirty = !1), this._isBlendFunctionParametersDirty && (e.blendFuncSeparate(this._blendFunctionParameters[0], this._blendFunctionParameters[1], this._blendFunctionParameters[2], this._blendFunctionParameters[3]), this._isBlendFunctionParametersDirty = !1)) | |
| }, e | |
| }(); | |
| e._AlphaState = t | |
| }(e.Internals || (e.Internals = {})) | |
| }(s || (s = {})), | |
| function (e) { | |
| ! function (e) { | |
| var t = function () { | |
| function e() { | |
| this._isDepthTestDirty = !1, this._isDepthMaskDirty = !1, this._isDepthFuncDirty = !1, this._isCullFaceDirty = !1, this._isCullDirty = !1, this._isZOffsetDirty = !1, this.reset() | |
| } | |
| return Object.defineProperty(e.prototype, "isDirty", { | |
| get: function () { | |
| return this._isDepthFuncDirty || this._isDepthTestDirty || this._isDepthMaskDirty || this._isCullFaceDirty || this._isCullDirty || this._isZOffsetDirty | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(e.prototype, "zOffset", { | |
| get: function () { | |
| return this._zOffset | |
| }, | |
| set: function (e) { | |
| this._zOffset !== e && (this._zOffset = e, this._isZOffsetDirty = !0) | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(e.prototype, "cullFace", { | |
| get: function () { | |
| return this._cullFace | |
| }, | |
| set: function (e) { | |
| this._cullFace !== e && (this._cullFace = e, this._isCullFaceDirty = !0) | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(e.prototype, "cull", { | |
| get: function () { | |
| return this._cull | |
| }, | |
| set: function (e) { | |
| this._cull !== e && (this._cull = e, this._isCullDirty = !0) | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(e.prototype, "depthFunc", { | |
| get: function () { | |
| return this._depthFunc | |
| }, | |
| set: function (e) { | |
| this._depthFunc !== e && (this._depthFunc = e, this._isDepthFuncDirty = !0) | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(e.prototype, "depthMask", { | |
| get: function () { | |
| return this._depthMask | |
| }, | |
| set: function (e) { | |
| this._depthMask !== e && (this._depthMask = e, this._isDepthMaskDirty = !0) | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(e.prototype, "depthTest", { | |
| get: function () { | |
| return this._depthTest | |
| }, | |
| set: function (e) { | |
| this._depthTest !== e && (this._depthTest = e, this._isDepthTestDirty = !0) | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), e.prototype.reset = function () { | |
| this._depthMask = !0, this._depthTest = !0, this._depthFunc = null, this._cullFace = null, this._cull = null, this._zOffset = 0, this._isDepthTestDirty = !0, this._isDepthMaskDirty = !0, this._isDepthFuncDirty = !1, this._isCullFaceDirty = !1, this._isCullDirty = !1, this._isZOffsetDirty = !1 | |
| }, e.prototype.apply = function (e) { | |
| this.isDirty && (this._isCullDirty && (this.cull ? e.enable(e.CULL_FACE) : e.disable(e.CULL_FACE), this._isCullDirty = !1), this._isCullFaceDirty && (e.cullFace(this.cullFace), this._isCullFaceDirty = !1), this._isDepthMaskDirty && (e.depthMask(this.depthMask), this._isDepthMaskDirty = !1), this._isDepthTestDirty && (this.depthTest ? e.enable(e.DEPTH_TEST) : e.disable(e.DEPTH_TEST), this._isDepthTestDirty = !1), this._isDepthFuncDirty && (e.depthFunc(this.depthFunc), this._isDepthFuncDirty = !1), this._isZOffsetDirty && (this.zOffset ? (e.enable(e.POLYGON_OFFSET_FILL), e.polygonOffset(this.zOffset, 0)) : e.disable(e.POLYGON_OFFSET_FILL), this._isZOffsetDirty = !1)) | |
| }, e | |
| }(); | |
| e._DepthCullingState = t | |
| }(e.Internals || (e.Internals = {})) | |
| }(s || (s = {})), | |
| function (e) { | |
| ! function (t) { | |
| var i = function () { | |
| function t() { | |
| this._isStencilTestDirty = !1, this._isStencilMaskDirty = !1, this._isStencilFuncDirty = !1, this._isStencilOpDirty = !1, this.reset() | |
| } | |
| return Object.defineProperty(t.prototype, "isDirty", { | |
| get: function () { | |
| return this._isStencilTestDirty || this._isStencilMaskDirty || this._isStencilFuncDirty || this._isStencilOpDirty | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(t.prototype, "stencilFunc", { | |
| get: function () { | |
| return this._stencilFunc | |
| }, | |
| set: function (e) { | |
| this._stencilFunc !== e && (this._stencilFunc = e, this._isStencilFuncDirty = !0) | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(t.prototype, "stencilFuncRef", { | |
| get: function () { | |
| return this._stencilFuncRef | |
| }, | |
| set: function (e) { | |
| this._stencilFuncRef !== e && (this._stencilFuncRef = e, this._isStencilFuncDirty = !0) | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(t.prototype, "stencilFuncMask", { | |
| get: function () { | |
| return this._stencilFuncMask | |
| }, | |
| set: function (e) { | |
| this._stencilFuncMask !== e && (this._stencilFuncMask = e, this._isStencilFuncDirty = !0) | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(t.prototype, "stencilOpStencilFail", { | |
| get: function () { | |
| return this._stencilOpStencilFail | |
| }, | |
| set: function (e) { | |
| this._stencilOpStencilFail !== e && (this._stencilOpStencilFail = e, this._isStencilOpDirty = !0) | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(t.prototype, "stencilOpDepthFail", { | |
| get: function () { | |
| return this._stencilOpDepthFail | |
| }, | |
| set: function (e) { | |
| this._stencilOpDepthFail !== e && (this._stencilOpDepthFail = e, this._isStencilOpDirty = !0) | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(t.prototype, "stencilOpStencilDepthPass", { | |
| get: function () { | |
| return this._stencilOpStencilDepthPass | |
| }, | |
| set: function (e) { | |
| this._stencilOpStencilDepthPass !== e && (this._stencilOpStencilDepthPass = e, this._isStencilOpDirty = !0) | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(t.prototype, "stencilMask", { | |
| get: function () { | |
| return this._stencilMask | |
| }, | |
| set: function (e) { | |
| this._stencilMask !== e && (this._stencilMask = e, this._isStencilMaskDirty = !0) | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(t.prototype, "stencilTest", { | |
| get: function () { | |
| return this._stencilTest | |
| }, | |
| set: function (e) { | |
| this._stencilTest !== e && (this._stencilTest = e, this._isStencilTestDirty = !0) | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), t.prototype.reset = function () { | |
| this._stencilTest = !1, this._stencilMask = 255, this._stencilFunc = e.Engine.ALWAYS, this._stencilFuncRef = 1, this._stencilFuncMask = 255, this._stencilOpStencilFail = e.Engine.KEEP, this._stencilOpDepthFail = e.Engine.KEEP, this._stencilOpStencilDepthPass = e.Engine.REPLACE, this._isStencilTestDirty = !0, this._isStencilMaskDirty = !0, this._isStencilFuncDirty = !0, this._isStencilOpDirty = !0 | |
| }, t.prototype.apply = function (e) { | |
| this.isDirty && (this._isStencilTestDirty && (this.stencilTest ? e.enable(e.STENCIL_TEST) : e.disable(e.STENCIL_TEST), this._isStencilTestDirty = !1), this._isStencilMaskDirty && (e.stencilMask(this.stencilMask), this._isStencilMaskDirty = !1), this._isStencilFuncDirty && (e.stencilFunc(this.stencilFunc, this.stencilFuncRef, this.stencilFuncMask), this._isStencilFuncDirty = !1), this._isStencilOpDirty && (e.stencilOp(this.stencilOpStencilFail, this.stencilOpDepthFail, this.stencilOpStencilDepthPass), this._isStencilOpDirty = !1)) | |
| }, t | |
| }(); | |
| t._StencilState = i | |
| }(e.Internals || (e.Internals = {})) | |
| }(s || (s = {})), | |
| function (e) { | |
| var t = function (e, t, i, r) { | |
| var n = e.createShader("vertex" === i ? e.VERTEX_SHADER : e.FRAGMENT_SHADER); | |
| if (e.shaderSource(n, (r ? r + "\n" : "") + t), e.compileShader(n), !e.getShaderParameter(n, e.COMPILE_STATUS)) throw new Error(e.getShaderInfoLog(n)); | |
| return n | |
| }, | |
| i = function (e, t) { | |
| return t === h.TEXTURETYPE_FLOAT ? e.FLOAT : t === h.TEXTURETYPE_HALF_FLOAT ? 36193 : e.UNSIGNED_BYTE | |
| }, | |
| r = function (t, i, r) { | |
| var n = r.NEAREST, | |
| o = r.NEAREST; | |
| return t === e.Texture.BILINEAR_SAMPLINGMODE ? (n = r.LINEAR, o = i ? r.LINEAR_MIPMAP_NEAREST : r.LINEAR) : t === e.Texture.TRILINEAR_SAMPLINGMODE ? (n = r.LINEAR, o = i ? r.LINEAR_MIPMAP_LINEAR : r.LINEAR) : t === e.Texture.NEAREST_SAMPLINGMODE && (n = r.NEAREST, o = i ? r.NEAREST_MIPMAP_LINEAR : r.NEAREST), { | |
| min: o, | |
| mag: n | |
| } | |
| }, | |
| n = function (t, i, n, o, s, a, c, h, u, l) { | |
| void 0 === l && (l = e.Texture.TRILINEAR_SAMPLINGMODE); | |
| var f = n.getEngine(), | |
| d = e.Tools.GetExponentOfTwo(o, f.getCaps().maxTextureSize), | |
| p = e.Tools.GetExponentOfTwo(s, f.getCaps().maxTextureSize); | |
| f._bindTextureDirectly(i.TEXTURE_2D, t), i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL, void 0 === a ? 1 : a ? 1 : 0), t._baseWidth = o, t._baseHeight = s, t._width = d, t._height = p, t.isReady = !0, u(d, p); | |
| var m = r(l, !c, i); | |
| i.texParameteri(i.TEXTURE_2D, i.TEXTURE_MAG_FILTER, m.mag), i.texParameteri(i.TEXTURE_2D, i.TEXTURE_MIN_FILTER, m.min), c || h || i.generateMipmap(i.TEXTURE_2D), f._bindTextureDirectly(i.TEXTURE_2D, null), f.resetTextureCache(), n._removePendingData(t), t.onLoadedCallbacks.forEach(function (e) { | |
| e() | |
| }), t.onLoadedCallbacks = [] | |
| }, | |
| o = function (t, i, r, n, o, s) { | |
| void 0 === s && (s = null); | |
| var a; | |
| a = e.Tools.LoadImage(t, function () { | |
| r[i] = a, r._internalCount++, n._removePendingData(a), 6 === r._internalCount && o(r) | |
| }, function () { | |
| n._removePendingData(a), s && s() | |
| }, n.database), n._addPendingData(a) | |
| }, | |
| s = function (e, t, i, r, n) { | |
| void 0 === n && (n = null); | |
| var s = []; | |
| s._internalCount = 0; | |
| for (var a = 0; a < 6; a++) o(r[a], a, s, t, i, n) | |
| }, | |
| a = function () { | |
| return function () {} | |
| }(); | |
| e.InstancingAttributeInfo = a; | |
| var c = function () { | |
| return function () {} | |
| }(); | |
| e.EngineCapabilities = c; | |
| var h = function () { | |
| function o(t, i, r, n) { | |
| var s = this; | |
| void 0 === n && (n = !0), this.isFullscreen = !1, this.isPointerLock = !1, this.cullBackFaces = !0, this.renderEvenInBackground = !0, this.enableOfflineSupport = !0, this.scenes = new Array, this._windowIsBackground = !1, this._webGLVersion = "1.0", this._badOS = !1, this._drawCalls = new e.PerfCounter, this._renderingQueueLaunched = !1, this._activeRenderLoops = [], this.fpsRange = 60, this.previousFramesDuration = [], this.fps = 60, this.deltaTime = 0, this._depthCullingState = new e.Internals._DepthCullingState, this._stencilState = new e.Internals._StencilState, this._alphaState = new e.Internals._AlphaState, this._alphaMode = o.ALPHA_DISABLE, this._loadedTexturesCache = new Array, this._maxTextureChannels = 16, this._activeTexturesCache = new Array(this._maxTextureChannels), this._compiledEffects = {}, this._vertexAttribArraysEnabled = [], this._uintIndicesCurrentlySet = !1, this._currentBoundBuffer = new Array, this._currentBufferPointers = [], this._currentInstanceLocations = new Array, this._currentInstanceBuffers = new Array, this._texturesSupported = new Array, this._onVRFullScreenTriggered = function () { | |
| if (s._vrDisplayEnabled && s._vrDisplayEnabled.isPresenting) { | |
| s._oldSize = new e.Size(s.getRenderWidth(), s.getRenderHeight()), s._oldHardwareScaleFactor = s.getHardwareScalingLevel(); | |
| var t = s._vrDisplayEnabled.getEyeParameters("left"); | |
| s.setHardwareScalingLevel(1), s.setSize(2 * t.renderWidth, t.renderHeight) | |
| } else s.setHardwareScalingLevel(s._oldHardwareScaleFactor), s.setSize(s._oldSize.width, s._oldSize.height), s._vrDisplayEnabled = void 0 | |
| }, this._renderingCanvas = t, this._externalData = new e.StringDictionary, r = r || {}, null != i && (r.antialias = i), void 0 === r.preserveDrawingBuffer && (r.preserveDrawingBuffer = !1); | |
| var a = this._canRenderToFloatTexture(), | |
| h = this._canRenderToHalfFloatTexture(); | |
| if (!this._gl) { | |
| if (!t) throw new Error("The provided canvas is null or undefined."); | |
| try { | |
| this._gl = t.getContext("webgl", r) || t.getContext("experimental-webgl", r) | |
| } catch (e) { | |
| throw new Error("WebGL not supported") | |
| } | |
| } | |
| if (!this._gl) throw new Error("WebGL not supported"); | |
| this._onBlur = function () { | |
| s._windowIsBackground = !0 | |
| }, this._onFocus = function () { | |
| s._windowIsBackground = !1 | |
| }, window.addEventListener("blur", this._onBlur), window.addEventListener("focus", this._onFocus); | |
| var u = r.limitDeviceRatio || window.devicePixelRatio || 1; | |
| this._hardwareScalingLevel = n ? 1 / Math.min(u, window.devicePixelRatio || 1) : 1, this.resize(), this._isStencilEnable = r.stencil, this._caps = new c, this._caps.maxTexturesImageUnits = this._gl.getParameter(this._gl.MAX_TEXTURE_IMAGE_UNITS), this._caps.maxTextureSize = this._gl.getParameter(this._gl.MAX_TEXTURE_SIZE), this._caps.maxCubemapTextureSize = this._gl.getParameter(this._gl.MAX_CUBE_MAP_TEXTURE_SIZE), this._caps.maxRenderTextureSize = this._gl.getParameter(this._gl.MAX_RENDERBUFFER_SIZE), this._caps.maxVertexAttribs = this._gl.getParameter(this._gl.MAX_VERTEX_ATTRIBS), this._glVersion = this._gl.getParameter(this._gl.VERSION); | |
| var l = this._gl.getExtension("WEBGL_debug_renderer_info"); | |
| if (null != l && (this._glRenderer = this._gl.getParameter(l.UNMASKED_RENDERER_WEBGL), this._glVendor = this._gl.getParameter(l.UNMASKED_VENDOR_WEBGL)), this._glVendor || (this._glVendor = "Unknown vendor"), this._glRenderer || (this._glRenderer = "Unknown renderer"), this._caps.standardDerivatives = null !== this._gl.getExtension("OES_standard_derivatives"), this._caps.astc = this._gl.getExtension("WEBGL_compressed_texture_astc"), this._caps.s3tc = this._gl.getExtension("WEBGL_compressed_texture_s3tc"), this._caps.pvrtc = this._gl.getExtension("WEBGL_compressed_texture_pvrtc") || this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"), this._caps.etc1 = this._gl.getExtension("WEBGL_compressed_texture_etc1"), this._caps.etc2 = this._gl.getExtension("WEBGL_compressed_texture_etc") || this._gl.getExtension("WEBGL_compressed_texture_es3_0"), this._caps.textureFloat = null !== this._gl.getExtension("OES_texture_float"), this._caps.textureAnisotropicFilterExtension = this._gl.getExtension("EXT_texture_filter_anisotropic") || this._gl.getExtension("WEBKIT_EXT_texture_filter_anisotropic") || this._gl.getExtension("MOZ_EXT_texture_filter_anisotropic"), this._caps.maxAnisotropy = this._caps.textureAnisotropicFilterExtension ? this._gl.getParameter(this._caps.textureAnisotropicFilterExtension.MAX_TEXTURE_MAX_ANISOTROPY_EXT) : 0, this._caps.instancedArrays = this._gl.getExtension("ANGLE_instanced_arrays"), this._caps.uintIndices = null !== this._gl.getExtension("OES_element_index_uint"), this._caps.fragmentDepthSupported = null !== this._gl.getExtension("EXT_frag_depth"), this._caps.highPrecisionShaderSupported = !0, this._caps.drawBuffersExtension = this._gl.getExtension("WEBGL_draw_buffers"), this._caps.textureFloatLinearFiltering = this._gl.getExtension("OES_texture_float_linear"), this._caps.textureLOD = this._gl.getExtension("EXT_shader_texture_lod"), this._caps.textureFloatRender = a, this._caps.textureHalfFloat = null !== this._gl.getExtension("OES_texture_half_float"), this._caps.textureHalfFloatLinearFiltering = this._gl.getExtension("OES_texture_half_float_linear"), this._caps.textureHalfFloatRender = h, this._caps.astc && this.texturesSupported.push(".astc"), this._caps.s3tc && this.texturesSupported.push(".dds"), this._caps.pvrtc && this.texturesSupported.push(".pvr"), this._caps.etc2 && this.texturesSupported.push(".etc2"), this._caps.etc1 && this.texturesSupported.push(".etc1"), this._gl.getShaderPrecisionFormat) { | |
| var f = this._gl.getShaderPrecisionFormat(this._gl.FRAGMENT_SHADER, this._gl.HIGH_FLOAT); | |
| this._caps.highPrecisionShaderSupported = 0 !== f.precision | |
| } | |
| this.setDepthBuffer(!0), this.setDepthFunctionToLessOrEqual(), this.setDepthWrite(!0), this._onFullscreenChange = function () { | |
| void 0 !== document.fullscreen ? s.isFullscreen = document.fullscreen : void 0 !== document.mozFullScreen ? s.isFullscreen = document.mozFullScreen : void 0 !== document.webkitIsFullScreen ? s.isFullscreen = document.webkitIsFullScreen : void 0 !== document.msIsFullScreen && (s.isFullscreen = document.msIsFullScreen), s.isFullscreen && s._pointerLockRequested && (t.requestPointerLock = t.requestPointerLock || t.msRequestPointerLock || t.mozRequestPointerLock || t.webkitRequestPointerLock, t.requestPointerLock && t.requestPointerLock()) | |
| }, document.addEventListener("fullscreenchange", this._onFullscreenChange, !1), document.addEventListener("mozfullscreenchange", this._onFullscreenChange, !1), document.addEventListener("webkitfullscreenchange", this._onFullscreenChange, !1), document.addEventListener("msfullscreenchange", this._onFullscreenChange, !1), this._onPointerLockChange = function () { | |
| s.isPointerLock = document.mozPointerLockElement === t || document.webkitPointerLockElement === t || document.msPointerLockElement === t || document.pointerLockElement === t | |
| }, document.addEventListener("pointerlockchange", this._onPointerLockChange, !1), document.addEventListener("mspointerlockchange", this._onPointerLockChange, !1), document.addEventListener("mozpointerlockchange", this._onPointerLockChange, !1), document.addEventListener("webkitpointerlockchange", this._onPointerLockChange, !1), e.AudioEngine && !o.audioEngine && (o.audioEngine = new e.AudioEngine), this._loadingScreen = new e.DefaultLoadingScreen(this._renderingCanvas), r.autoEnableWebVR && this.initWebVR(); | |
| this._badOS = /AppleWebKit.*10.[\d] Mobile/.test(navigator.userAgent), e.Tools.Log("Babylon.js engine (v" + o.Version + ") launched") | |
| } | |
| return Object.defineProperty(o, "NEVER", { | |
| get: function () { | |
| return o._NEVER | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "ALWAYS", { | |
| get: function () { | |
| return o._ALWAYS | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "LESS", { | |
| get: function () { | |
| return o._LESS | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "EQUAL", { | |
| get: function () { | |
| return o._EQUAL | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "LEQUAL", { | |
| get: function () { | |
| return o._LEQUAL | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "GREATER", { | |
| get: function () { | |
| return o._GREATER | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "GEQUAL", { | |
| get: function () { | |
| return o._GEQUAL | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "NOTEQUAL", { | |
| get: function () { | |
| return o._NOTEQUAL | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "KEEP", { | |
| get: function () { | |
| return o._KEEP | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "REPLACE", { | |
| get: function () { | |
| return o._REPLACE | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "INCR", { | |
| get: function () { | |
| return o._INCR | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "DECR", { | |
| get: function () { | |
| return o._DECR | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "INVERT", { | |
| get: function () { | |
| return o._INVERT | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "INCR_WRAP", { | |
| get: function () { | |
| return o._INCR_WRAP | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "DECR_WRAP", { | |
| get: function () { | |
| return o._DECR_WRAP | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "ALPHA_DISABLE", { | |
| get: function () { | |
| return o._ALPHA_DISABLE | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "ALPHA_ONEONE", { | |
| get: function () { | |
| return o._ALPHA_ONEONE | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "ALPHA_ADD", { | |
| get: function () { | |
| return o._ALPHA_ADD | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "ALPHA_COMBINE", { | |
| get: function () { | |
| return o._ALPHA_COMBINE | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "ALPHA_SUBTRACT", { | |
| get: function () { | |
| return o._ALPHA_SUBTRACT | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "ALPHA_MULTIPLY", { | |
| get: function () { | |
| return o._ALPHA_MULTIPLY | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "ALPHA_MAXIMIZED", { | |
| get: function () { | |
| return o._ALPHA_MAXIMIZED | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "DELAYLOADSTATE_NONE", { | |
| get: function () { | |
| return o._DELAYLOADSTATE_NONE | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "DELAYLOADSTATE_LOADED", { | |
| get: function () { | |
| return o._DELAYLOADSTATE_LOADED | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "DELAYLOADSTATE_LOADING", { | |
| get: function () { | |
| return o._DELAYLOADSTATE_LOADING | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "DELAYLOADSTATE_NOTLOADED", { | |
| get: function () { | |
| return o._DELAYLOADSTATE_NOTLOADED | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "TEXTUREFORMAT_ALPHA", { | |
| get: function () { | |
| return o._TEXTUREFORMAT_ALPHA | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "TEXTUREFORMAT_LUMINANCE", { | |
| get: function () { | |
| return o._TEXTUREFORMAT_LUMINANCE | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "TEXTUREFORMAT_LUMINANCE_ALPHA", { | |
| get: function () { | |
| return o._TEXTUREFORMAT_LUMINANCE_ALPHA | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "TEXTUREFORMAT_RGB", { | |
| get: function () { | |
| return o._TEXTUREFORMAT_RGB | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "TEXTUREFORMAT_RGBA", { | |
| get: function () { | |
| return o._TEXTUREFORMAT_RGBA | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "TEXTURETYPE_UNSIGNED_INT", { | |
| get: function () { | |
| return o._TEXTURETYPE_UNSIGNED_INT | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "TEXTURETYPE_FLOAT", { | |
| get: function () { | |
| return o._TEXTURETYPE_FLOAT | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "TEXTURETYPE_HALF_FLOAT", { | |
| get: function () { | |
| return o._TEXTURETYPE_HALF_FLOAT | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o, "Version", { | |
| get: function () { | |
| return "2.5" | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o.prototype, "texturesSupported", { | |
| get: function () { | |
| return this._texturesSupported | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o.prototype, "textureFormatInUse", { | |
| get: function () { | |
| return this._textureFormatInUse | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o.prototype, "webGLVersion", { | |
| get: function () { | |
| return this._webGLVersion | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o.prototype, "isStencilEnable", { | |
| get: function () { | |
| return this._isStencilEnable | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), o.prototype._prepareWorkingCanvas = function () { | |
| this._workingCanvas || (this._workingCanvas = document.createElement("canvas"), this._workingContext = this._workingCanvas.getContext("2d")) | |
| }, o.prototype.resetTextureCache = function () { | |
| for (var e = 0; e < this._maxTextureChannels; e++) this._activeTexturesCache[e] = null | |
| }, o.prototype.getGlInfo = function () { | |
| return { | |
| vendor: this._glVendor, | |
| renderer: this._glRenderer, | |
| version: this._glVersion | |
| } | |
| }, o.prototype.getAspectRatio = function (e, t) { | |
| void 0 === t && (t = !1); | |
| var i = e.viewport; | |
| return this.getRenderWidth(t) * i.width / (this.getRenderHeight(t) * i.height) | |
| }, o.prototype.getRenderWidth = function (e) { | |
| return void 0 === e && (e = !1), !e && this._currentRenderTarget ? this._currentRenderTarget._width : this._renderingCanvas.width | |
| }, o.prototype.getRenderHeight = function (e) { | |
| return void 0 === e && (e = !1), !e && this._currentRenderTarget ? this._currentRenderTarget._height : this._renderingCanvas.height | |
| }, o.prototype.getRenderingCanvas = function () { | |
| return this._renderingCanvas | |
| }, o.prototype.getRenderingCanvasClientRect = function () { | |
| return this._renderingCanvas.getBoundingClientRect() | |
| }, o.prototype.setHardwareScalingLevel = function (e) { | |
| this._hardwareScalingLevel = e, this.resize() | |
| }, o.prototype.getHardwareScalingLevel = function () { | |
| return this._hardwareScalingLevel | |
| }, o.prototype.getLoadedTexturesCache = function () { | |
| return this._loadedTexturesCache | |
| }, o.prototype.getCaps = function () { | |
| return this._caps | |
| }, Object.defineProperty(o.prototype, "drawCalls", { | |
| get: function () { | |
| return this._drawCalls.current | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), Object.defineProperty(o.prototype, "drawCallsPerfCounter", { | |
| get: function () { | |
| return this._drawCalls | |
| }, | |
| enumerable: !0, | |
| configurable: !0 | |
| }), o.prototype.getDepthFunction = function () { | |
| return this._depthCullingState.depthFunc | |
| }, o.prototype.setDepthFunction = function (e) { | |
| this._depthCullingState.depthFunc = e | |
| }, o.prototype.setDepthFunctionToGreater = function () { | |
| this._depthCullingState.depthFunc = this._gl.GREATER | |
| }, o.prototype.setDepthFunctionToGreaterOrEqual = function () { | |
| this._depthCullingState.depthFunc = this._gl.GEQUAL | |
| }, o.prototype.setDepthFunctionToLess = function () { | |
| this._depthCullingState.depthFunc = this._gl.LESS | |
| }, o.prototype.setDepthFunctionToLessOrEqual = function () { | |
| this._depthCullingState.depthFunc = this._gl.LEQUAL | |
| }, o.prototype.getStencilBuffer = function () { | |
| return this._stencilState.stencilTest | |
| }, o.prototype.setStencilBuffer = function (e) { | |
| this._stencilState.stencilTest = e | |
| }, o.prototype.getStencilMask = function () { | |
| return this._stencilState.stencilMask | |
| }, o.prototype.setStencilMask = function (e) { | |
| this._stencilState.stencilMask = e | |
| }, o.prototype.getStencilFunction = function () { | |
| return this._stencilState.stencilFunc | |
| }, o.prototype.getStencilFunctionReference = function () { | |
| return this._stencilState.stencilFuncRef | |
| }, o.prototype.getStencilFunctionMask = function () { | |
| return this._stencilState.stencilFuncMask | |
| }, o.prototype.setStencilFunction = function (e) { | |
| this._stencilState.stencilFunc = e | |
| }, o.prototype.setStencilFunctionReference = function (e) { | |
| this._stencilState.stencilFuncRef = e | |
| }, o.prototype.setStencilFunctionMask = function (e) { | |
| this._stencilState.stencilFuncMask = e | |
| }, o.prototype.getStencilOperationFail = function () { | |
| return this._stencilState.stencilOpStencilFail | |
| }, o.prototype.getStencilOperationDepthFail = function () { | |
| return this._stencilState.stencilOpDepthFail | |
| }, o.prototype.getStencilOperationPass = function () { | |
| return this._stencilState.stencilOpStencilDepthPass | |
| }, o.prototype.setStencilOperationFail = function (e) { | |
| this._stencilState.stencilOpStencilFail = e | |
| }, o.prototype.setStencilOperationDepthFail = function (e) { | |
| this._stencilState.stencilOpDepthFail = e | |
| }, o.prototype.setStencilOperationPass = function (e) { | |
| this._stencilState.stencilOpStencilDepthPass = e | |
| }, o.prototype.stopRenderLoop = function (e) { | |
| if (e) { | |
| var t = this._activeRenderLoops.indexOf(e); | |
| t >= 0 && this._activeRenderLoops.splice(t, 1) | |
| } else this._activeRenderLoops = [] | |
| }, o.prototype._renderLoop = function () { | |
| var t = !0; | |
| if (!this.renderEvenInBackground && this._windowIsBackground && (t = !1), t) { | |
| this.beginFrame(); | |
| for (var i = 0; i < this._activeRenderLoops.length; i++) { | |
| (0, this._activeRenderLoops[i])() | |
| } | |
| this.endFrame() | |
| } | |
| this._activeRenderLoops.length > 0 ? e.Tools.QueueNewFrame(this._bindedRenderFunction, this._vrDisplayEnabled) : this._renderingQueueLaunched = !1 | |
| }, o.prototype.runRenderLoop = function (t) { | |
| -1 === this._activeRenderLoops.indexOf(t) && (this._activeRenderLoops.push(t), this._renderingQueueLaunched || (this._renderingQueueLaunched = !0, this._bindedRenderFunction = this._renderLoop.bind(this), e.Tools.QueueNewFrame(this._bindedRenderFunction))) | |
| }, o.prototype.switchFullscreen = function (t) { | |
| this.isFullscreen ? e.Tools.ExitFullscreen() : (this._pointerLockRequested = t, e.Tools.RequestFullscreen(this._renderingCanvas)) | |
| }, o.prototype.clear = function (e, t, i, r) { | |
| void 0 === r && (r = !1), this.applyStates(); | |
| var n = 0; | |
| t && (this._gl.clearColor(e.r, e.g, e.b, void 0 !== e.a ? e.a : 1), n |= this._gl.COLOR_BUFFER_BIT), i && (this._gl.clearDepth(1), n |= this._gl.DEPTH_BUFFER_BIT), r && (this._gl.clearStencil(0), n |= this._gl.STENCIL_BUFFER_BIT), this._gl.clear(n) | |
| }, o.prototype.scissorClear = function (e, t, i, r, n) { | |
| var o = this._gl, | |
| s = o.getParameter(o.SCISSOR_TEST), | |
| a = o.getParameter(o.SCISSOR_BOX); | |
| o.enable(o.SCISSOR_TEST), o.scissor(e, t, i, r), this.clear(n, !0, !0, !0), o.scissor(a[0], a[1], a[2], a[3]), !0 === s ? o.enable(o.SCISSOR_TEST) : o.disable(o.SCISSOR_TEST) | |
| }, o.prototype.setViewport = function (e, t, i) { | |
| var r = t || (navigator.isCocoonJS ? window.innerWidth : this._renderingCanvas.width), | |
| n = i || (navigator.isCocoonJS ? window.innerHeight : this._renderingCanvas.height), | |
| o = e.x || 0, | |
| s = e.y || 0; | |
| this._cachedViewport = e, this._gl.viewport(o * r, s * n, r * e.width, n * e.height) | |
| }, o.prototype.setDirectViewport = function (e, t, i, r) { | |
| var n = this._cachedViewport; | |
| return this._cachedViewport = null, this._gl.viewport(e, t, i, r), n | |
| }, o.prototype.beginFrame = function () { | |
| this._measureFps() | |
| }, o.prototype.endFrame = function () { | |
| this._badOS && this.flushFramebuffer(), this._vrDisplayEnabled && this._vrDisplayEnabled.isPresenting && this._vrDisplayEnabled.submitFrame() | |
| }, o.prototype.resize = function () { | |
| var t = navigator.isCocoonJS ? window.innerWidth : this._renderingCanvas.clientWidth, | |
| i = navigator.isCocoonJS ? window.innerHeight : this._renderingCanvas.clientHeight; | |
| this.setSize(t / this._hardwareScalingLevel, i / this._hardwareScalingLevel); | |
| for (var r = 0; r < this.scenes.length; r++) { | |
| var n = this.scenes[r]; | |
| e.DebugLayer && n.debugLayer.isVisible() && n.debugLayer._syncPositions() | |
| } | |
| }, o.prototype.setSize = function (e, t) { | |
| this._renderingCanvas.width = e, this._renderingCanvas.height = t; | |
| for (var i = 0; i < this.scenes.length; i++) | |
| for (var r = this.scenes[i], n = 0; n < r.cameras.length; n++) { | |
| r.cameras[n]._currentRenderId = 0 | |
| } | |
| }, o.prototype.initWebVR = function () { | |
| this.vrDisplaysPromise || this._getVRDisplays() | |
| }, o.prototype.enableVR = function (e) { | |
| this._vrDisplayEnabled = e, this._vrDisplayEnabled.requestPresent([{ | |
| source: this.getRenderingCanvas() | |
| }]).then(this._onVRFullScreenTriggered) | |
| }, o.prototype.disableVR = function () { | |
| this._vrDisplayEnabled && this._vrDisplayEnabled.exitPresent().then(this._onVRFullScreenTriggered) | |
| }, o.prototype._getVRDisplays = function () { | |
| var e = this; | |
| navigator.getVRDisplays && (this.vrDisplaysPromise = navigator.getVRDisplays().then(function (t) { | |
| var i = (t.length, 0); | |
| return e._vrDisplays = t.filter(function (e) { | |
| return t[i] instanceof VRDisplay | |
| }), e._vrDisplays | |
| })) | |
| }, o.prototype.bindFramebuffer = function (e, t, i, r) { | |
| this._currentRenderTarget = e, this.bindUnboundFramebuffer(e._framebuffer); | |
| var n = this._gl; | |
| e.isCube && n.framebufferTexture2D(n.FRAMEBUFFER, n.COLOR_ATTACHMENT0, n.TEXTURE_CUBE_MAP_POSITIVE_X + t, e, 0), n.viewport(0, 0, i || e._width, r || e._height), this.wipeCaches() | |
| }, o.prototype.bindUnboundFramebuffer = function (e) { | |
| this._currentFramebuffer !== e && (this._gl.bindFramebuffer(this._gl.FRAMEBUFFER, e), this._currentFramebuffer = e) | |
| }, o.prototype.unBindFramebuffer = function (e, t) { | |
| if (void 0 === t && (t = !1), this._currentRenderTarget = null, e.generateMipMaps && !t) { | |
| var i = this._gl; | |
| this._bindTextureDirectly(i.TEXTURE_2D, e), i.generateMipmap(i.TEXTURE_2D), this._bindTextureDirectly(i.TEXTURE_2D, null) | |
| } | |
| this.bindUnboundFramebuffer(null) | |
| }, o.prototype.generateMipMapsForCubemap = function (e) { | |
| if (e.generateMipMaps) { | |
| var t = this._gl; | |
| this._bindTextureDirectly(t.TEXTURE_CUBE_MAP, e), t.generateMipmap(t.TEXTURE_CUBE_MAP), this._bindTextureDirectly(t.TEXTURE_CUBE_MAP, null) | |
| } | |
| }, o.prototype.flushFramebuffer = function () { | |
| this._gl.flush() | |
| }, o.prototype.restoreDefaultFramebuffer = function () { | |
| this._currentRenderTarget = null, this.bindUnboundFramebuffer(null), this.setViewport(this._cachedViewport), this.wipeCaches() | |
| }, o.prototype._resetVertexBufferBinding = function () { | |
| this.bindArrayBuffer(null), this._cachedVertexBuffers = null | |
| }, o.prototype.createVertexBuffer = function (e) { | |
| var t = this._gl.createBuffer(); | |
| return this.bindArrayBuffer(t), e instanceof Float32Array ? this._gl.bufferData(this._gl.ARRAY_BUFFER, e, this._gl.STATIC_DRAW) : this._gl.bufferData(this._gl.ARRAY_BUFFER, new Float32Array(e), this._gl.STATIC_DRAW), this._resetVertexBufferBinding(), t.references = 1, t | |
| }, o.prototype.createDynamicVertexBuffer = function (e) { | |
| var t = this._gl.createBuffer(); | |
| return this.bindArrayBuffer(t), e instanceof Float32Array ? this._gl.bufferData(this._gl.ARRAY_BUFFER, e, this._gl.DYNAMIC_DRAW) : this._gl.bufferData(this._gl.ARRAY_BUFFER, new Float32Array(e), this._gl.DYNAMIC_DRAW), this._resetVertexBufferBinding(), t.references = 1, t | |
| }, o.prototype.updateDynamicVertexBuffer = function (e, t, i, r) { | |
| this.bindArrayBuffer(e), void 0 === i && (i = 0), void 0 === r ? t instanceof Float32Array ? this._gl.bufferSubData(this._gl.ARRAY_BUFFER, i, t) : this._gl.bufferSubData(this._gl.ARRAY_BUFFER, i, new Float32Array(t)) : t instanceof Float32Array ? this._gl.bufferSubData(this._gl.ARRAY_BUFFER, 0, t.subarray(i, i + r)) : this._gl.bufferSubData(this._gl.ARRAY_BUFFER, 0, new Float32Array(t).subarray(i, i + r)), this._resetVertexBufferBinding() | |
| }, o.prototype._resetIndexBufferBinding = function () { | |
| this.bindIndexBuffer(null), this._cachedIndexBuffer = null | |
| }, o.prototype.createIndexBuffer = function (e) { | |
| var t = this._gl.createBuffer(); | |
| this.bindIndexBuffer(t); | |
| var i, r = !1; | |
| if (this._caps.uintIndices) { | |
| for (var n = 0; n < e.length; n++) | |
| if (e[n] > 65535) { | |
| r = !0; | |
| break | |
| } i = r ? new Uint32Array(e) : new Uint16Array(e) | |
| } else i = new Uint16Array(e); | |
| return this._gl.bufferData(this._gl.ELEMENT_ARRAY_BUFFER, i, this._gl.STATIC_DRAW), this._resetIndexBufferBinding(), t.references = 1, t.is32Bits = r, t | |
| }, o.prototype.bindArrayBuffer = function (e) { | |
| this.bindBuffer(e, this._gl.ARRAY_BUFFER) | |
| }, o.prototype.bindIndexBuffer = function (e) { | |
| this.bindBuffer(e, this._gl.ELEMENT_ARRAY_BUFFER) | |
| }, o.prototype.bindBuffer = function (e, t) { | |
| this._currentBoundBuffer[t] !== e && (this._gl.bindBuffer(t, e), this._currentBoundBuffer[t] = e) | |
| }, o.prototype.updateArrayBuffer = function (e) { | |
| this._gl.bufferSubData(this._gl.ARRAY_BUFFER, 0, e) | |
| }, o.prototype.vertexAttribPointer = function (e, t, i, r, n, o, s) { | |
| var a = this._currentBufferPointers[t], | |
| c = !1; | |
| a ? (a.buffer !== e && (a.buffer = e, c = !0), a.size !== i && (a.size = i, c = !0), a.type !== r && (a.type = r, c = !0), a.normalized !== n && (a.normalized = n, c = !0), a.stride !== o && (a.stride = o, c = !0), a.offset !== s && (a.offset = s, c = !0)) : (c = !0, this._currentBufferPointers[t] = { | |
| indx: t, | |
| size: i, | |
| type: r, | |
| normalized: n, | |
| stride: o, | |
| offset: s, | |
| buffer: e | |
| }), c && (this.bindArrayBuffer(e), this._gl.vertexAttribPointer(t, i, r, n, o, s)) | |
| }, o.prototype.bindBuffersDirectly = function (e, t, i, r, n) { | |
| if (this._cachedVertexBuffers !== e || this._cachedEffectForVertexBuffers !== n) { | |
| this._cachedVertexBuffers = e, this._cachedEffectForVertexBuffers = n; | |
| for (var o = n.getAttributesCount(), s = 0, a = 0; a < o; a++) | |
| if (a < i.length) { | |
| (c = n.getAttributeLocation(a)) >= 0 && (this._vertexAttribArraysEnabled[c] || (this._gl.enableVertexAttribArray(c), this._vertexAttribArraysEnabled[c] = !0), this.vertexAttribPointer(e, c, i[a], this._gl.FLOAT, !1, r, s)), s += 4 * i[a] | |
| } else { | |
| var c = n.getAttributeLocation(a); | |
| this._vertexAttribArraysEnabled[c] && (this._gl.disableVertexAttribArray(c), this._vertexAttribArraysEnabled[c] = !1) | |
| } | |
| } | |
| this._cachedIndexBuffer !== t && (this._cachedIndexBuffer = t, this.bindIndexBuffer(t), this._uintIndicesCurrentlySet = t.is32Bits) | |
| }, o.prototype.bindBuffers = function (e, t, i) { | |
| if (this._cachedVertexBuffers !== e || this._cachedEffectForVertexBuffers !== i) { | |
| this._cachedVertexBuffers = e, this._cachedEffectForVertexBuffers = i; | |
| for (var r = i.getAttributesNames(), n = 0; n < r.length; n++) { | |
| var o = i.getAttributeLocation(n); | |
| if (o >= 0) { | |
| var s = e[r[n]]; | |
| if (!s) { | |
| this._vertexAttribArraysEnabled[o] && (this._gl.disableVertexAttribArray(o), this._vertexAttribArraysEnabled[o] = !1); | |
| continue | |
| } | |
| this._vertexAttribArraysEnabled[o] || (this._gl.enableVertexAttribArray(o), this._vertexAttribArraysEnabled[o] = !0); | |
| var a = s.getBuffer(); | |
| this.vertexAttribPointer(a, o, s.getSize(), this._gl.FLOAT, !1, 4 * s.getStrideSize(), 4 * s.getOffset()), s.getIsInstanced() && (this._caps.instancedArrays.vertexAttribDivisorANGLE(o, 1), this._currentInstanceLocations.push(o), this._currentInstanceBuffers.push(a)) | |
| } | |
| } | |
| } | |
| null != t && this._cachedIndexBuffer !== t && (this._cachedIndexBuffer = t, this.bindIndexBuffer(t), this._uintIndicesCurrentlySet = t.is32Bits) | |
| }, o.prototype.unbindInstanceAttributes = function () { | |
| for (var e, t = 0, i = this._currentInstanceLocations.length; t < i; t++) { | |
| var r = this._currentInstanceBuffers[t]; | |
| e != r && (e = r, this.bindArrayBuffer(r)); | |
| var n = this._currentInstanceLocations[t]; | |
| this._caps.instancedArrays.vertexAttribDivisorANGLE(n, 0) | |
| } | |
| this._currentInstanceBuffers.length = 0, this._currentInstanceLocations.length = 0 | |
| }, o.prototype._releaseBuffer = function (e) { | |
| return e.references--, 0 === e.references && (this._gl.deleteBuffer(e), !0) | |
| }, o.prototype.createInstancesBuffer = function (e) { | |
| var t = this._gl.createBuffer(); | |
| return t.capacity = e, this.bindArrayBuffer(t), this._gl.bufferData(this._gl.ARRAY_BUFFER, e, this._gl.DYNAMIC_DRAW), t | |
| }, o.prototype.deleteInstancesBuffer = function (e) { | |
| this._gl.deleteBuffer(e) | |
| }, o.prototype.updateAndBindInstancesBuffer = function (e, t, i) { | |
| if (this.bindArrayBuffer(e), t && this._gl.bufferSubData(this._gl.ARRAY_BUFFER, 0, t), void 0 !== i[0].index) { | |
| for (var r = 0, n = 0; n < i.length; n++) { | |
| r += 4 * (o = i[n]).attributeSize | |
| } | |
| for (n = 0; n < i.length; n++) { | |
| var o = i[n]; | |
| this._vertexAttribArraysEnabled[o.index] || (this._gl.enableVertexAttribArray(o.index), this._vertexAttribArraysEnabled[o.index] = !0), this.vertexAttribPointer(e, o.index, o.attributeSize, o.attribyteType || this._gl.FLOAT, o.normalized || !1, r, o.offset), this._caps.instancedArrays.vertexAttribDivisorANGLE(o.index, 1), this._currentInstanceLocations.push(o.index), this._currentInstanceBuffers.push(e) | |
| } | |
| } else | |
| for (var s = 0; s < 4; s++) { | |
| var a = i[s]; | |
| this._vertexAttribArraysEnabled[a] || (this._gl.enableVertexAttribArray(a), this._vertexAttribArraysEnabled[a] = !0), this.vertexAttribPointer(e, a, 4, this._gl.FLOAT, !1, 64, 16 * s), this._caps.instancedArrays.vertexAttribDivisorANGLE(a, 1), this._currentInstanceLocations.push(a), this._currentInstanceBuffers.push(e) | |
| } | |
| }, o.prototype.applyStates = function () { | |
| this._depthCullingState.apply(this._gl), this._stencilState.apply(this._gl), this._alphaState.apply(this._gl) | |
| }, o.prototype.draw = function (e, t, i, r) { | |
| this.applyStates(), this._drawCalls.addCount(1, !1); | |
| var n = this._uintIndicesCurrentlySet ? this._gl.UNSIGNED_INT : this._gl.UNSIGNED_SHORT, | |
| o = this._uintIndicesCurrentlySet ? 4 : 2; | |
| return r ? void this._caps.instancedArrays.drawElementsInstancedANGLE(e ? this._gl.TRIANGLES : this._gl.LINES, i, n, t * o, r) : void this._gl.drawElements(e ? this._gl.TRIANGLES : this._gl.LINES, i, n, t * o) | |
| }, o.prototype.drawPointClouds = function (e, t, i) { | |
| return this.applyStates(), this._drawCalls.addCount(1, !1), i ? void this._caps.instancedArrays.drawArraysInstancedANGLE(this._gl.POINTS, e, t, i) : void this._gl.drawArrays(this._gl.POINTS, e, t) | |
| }, o.prototype.drawUnIndexed = function (e, t, i, r) { | |
| return this.applyStates(), this._drawCalls.addCount(1, !1), r ? void this._caps.instancedArrays.drawArraysInstancedANGLE(e ? this._gl.TRIANGLES : this._gl.LINES, t, i, r) : void this._gl.drawArrays(e ? this._gl.TRIANGLES : this._gl.LINES, t, i) | |
| }, o.prototype._releaseEffect = function (e) { | |
| this._compiledEffects[e._key] && (delete this._compiledEffects[e._key], e.getProgram() && this._gl.deleteProgram(e.getProgram())) | |
| }, o.prototype.createEffect = function (t, i, r, n, o, s, a, c, h) { | |
| var u = (t.vertexElement || t.vertex || t) + "+" + (t.fragmentElement || t.fragment || t) + "@" + o; | |
| if (this._compiledEffects[u]) return this._compiledEffects[u]; | |
| var l = new e.Effect(t, i, r, n, this, o, s, a, c, h); | |
| return l._key = u, this._compiledEffects[u] = l, l | |
| }, o.prototype.createEffectForParticles = function (e, t, i, r, n, o, s) { | |
| return void 0 === t && (t = []), void 0 === i && (i = []), void 0 === r && (r = ""), this.createEffect({ | |
| vertex: "particles", | |
| fragmentElement: e | |
| }, ["position", "color", "options"], ["view", "projection"].concat(t), ["diffuseSampler"].concat(i), r, n, o, s) | |
| }, o.prototype.createShaderProgram = function (e, i, r, n) { | |
| n = n || this._gl; | |
| var o = t(n, e, "vertex", r), | |
| s = t(n, i, "fragment", r), | |
| a = n.createProgram(); | |
| if (n.attachShader(a, o), n.attachShader(a, s), n.linkProgram(a), !n.getProgramParameter(a, n.LINK_STATUS)) { | |
| var c = n.getProgramInfoLog(a); | |
| if (c) throw new Error(c) | |
| } | |
| return n.deleteShader(o), n.deleteShader(s), a | |
| }, o.prototype.getUniforms = function (e, t) { | |
| for (var i = [], r = 0; r < t.length; r++) i.push(this._gl.getUniformLocation(e, t[r])); | |
| return i | |
| }, o.prototype.getAttributes = function (e, t) { | |
| for (var i = [], r = 0; r < t.length; r++) try { | |
| i.push(this._gl.getAttribLocation(e, t[r])) | |
| } catch (e) { | |
| i.push(-1) | |
| } | |
| return i | |
| }, o.prototype.enableEffect = function (e) { | |
| this.setProgram(e.getProgram()), this._currentEffect = e, e.onBind && e.onBind(e) | |
| }, o.prototype.setIntArray = function (e, t) { | |
| e && this._gl.uniform1iv(e, t) | |
| }, o.prototype.setIntArray2 = function (e, t) { | |
| e && t.length % 2 == 0 && this._gl.uniform2iv(e, t) | |
| }, o.prototype.setIntArray3 = function (e, t) { | |
| e && t.length % 3 == 0 && this._gl.uniform3iv(e, t) | |
| }, o.prototype.setIntArray4 = function (e, t) { | |
| e && t.length % 4 == 0 && this._gl.uniform4iv(e, t) | |
| }, o.prototype.setFloatArray = function (e, t) { | |
| e && this._gl.uniform1fv(e, t) | |
| }, o.prototype.setFloatArray2 = function (e, t) { | |
| e && t.length % 2 == 0 && this._gl.uniform2fv(e, t) | |
| }, o.prototype.setFloatArray3 = function (e, t) { | |
| e && t.length % 3 == 0 && this._gl.uniform3fv(e, t) | |
| }, o.prototype.setFloatArray4 = function (e, t) { | |
| e && t.length % 4 == 0 && this._gl.uniform4fv(e, t) | |
| }, o.prototype.setArray = function (e, t) { | |
| e && this._gl.uniform1fv(e, t) | |
| }, o.prototype.setArray2 = function (e, t) { | |
| e && t.length % 2 == 0 && this._gl.uniform2fv(e, t) | |
| }, o.prototype.setArray3 = function (e, t) { | |
| e && t.length % 3 == 0 && this._gl.uniform3fv(e, t) | |
| }, o.prototype.setArray4 = function (e, t) { | |
| e && t.length % 4 == 0 && this._gl.uniform4fv(e, t) | |
| }, o.prototype.setMatrices = function (e, t) { | |
| e && this._gl.uniformMatrix4fv(e, !1, t) | |
| }, o.prototype.setMatrix = function (e, t) { | |
| e && this._gl.uniformMatrix4fv(e, !1, t.toArray()) | |
| }, o.prototype.setMatrix3x3 = function (e, t) { | |
| e && this._gl.uniformMatrix3fv(e, !1, t) | |
| }, o.prototype.setMatrix2x2 = function (e, t) { | |
| e && this._gl.uniformMatrix2fv(e, !1, t) | |
| }, o.prototype.setFloat = function (e, t) { | |
| e && this._gl.uniform1f(e, t) | |
| }, o.prototype.setFloat2 = function (e, t, i) { | |
| e && this._gl.uniform2f(e, t, i) | |
| }, o.prototype.setFloat3 = function (e, t, i, r) { | |
| e && this._gl.uniform3f(e, t, i, r) | |
| }, o.prototype.setBool = function (e, t) { | |
| e && this._gl.uniform1i(e, t) | |
| }, o.prototype.setFloat4 = function (e, t, i, r, n) { | |
| e && this._gl.uniform4f(e, t, i, r, n) | |
| }, o.prototype.setColor3 = function (e, t) { | |
| e && this._gl.uniform3f(e, t.r, t.g, t.b) | |
| }, o.prototype.setColor4 = function (e, t, i) { | |
| e && this._gl.uniform4f(e, t.r, t.g, t.b, i) | |
| }, o.prototype.setState = function (e, t, i, r) { | |
| void 0 === t && (t = 0), void 0 === r && (r = !1); | |
| var n = r ? this._gl.FRONT : this._gl.BACK, | |
| o = r ? this._gl.BACK : this._gl.FRONT, | |
| s = this.cullBackFaces ? n : o; | |
| (this._depthCullingState.cull !== e || i || this._depthCullingState.cullFace !== s) && (e ? (this._depthCullingState.cullFace = s, this._depthCullingState.cull = !0) : this._depthCullingState.cull = !1), this._depthCullingState.zOffset = t | |
| }, o.prototype.setDepthBuffer = function (e) { | |
| this._depthCullingState.depthTest = e | |
| }, o.prototype.getDepthWrite = function () { | |
| return this._depthCullingState.depthMask | |
| }, o.prototype.setDepthWrite = function (e) { | |
| this._depthCullingState.depthMask = e | |
| }, o.prototype.setColorWrite = function (e) { | |
| this._gl.colorMask(e, e, e, e) | |
| }, o.prototype.setAlphaMode = function (e, t) { | |
| if (void 0 === t && (t = !1), this._alphaMode !== e) { | |
| switch (e) { | |
| case o.ALPHA_DISABLE: | |
| this._alphaState.alphaBlend = !1; | |
| break; | |
| case o.ALPHA_COMBINE: | |
| this._alphaState.setAlphaBlendFunctionParameters(this._gl.SRC_ALPHA, this._gl.ONE_MINUS_SRC_ALPHA, this._gl.ONE, this._gl.ONE), this._alphaState.alphaBlend = !0; | |
| break; | |
| case o.ALPHA_ONEONE: | |
| this._alphaState.setAlphaBlendFunctionParameters(this._gl.ONE, this._gl.ONE, this._gl.ZERO, this._gl.ONE), this._alphaState.alphaBlend = !0; | |
| break; | |
| case o.ALPHA_ADD: | |
| this._alphaState.setAlphaBlendFunctionParameters(this._gl.SRC_ALPHA, this._gl.ONE, this._gl.ZERO, this._gl.ONE), this._alphaState.alphaBlend = !0; | |
| break; | |
| case o.ALPHA_SUBTRACT: | |
| this._alphaState.setAlphaBlendFunctionParameters(this._gl.ZERO, this._gl.ONE_MINUS_SRC_COLOR, this._gl.ONE, this._gl.ONE), this._alphaState.alphaBlend = !0; | |
| break; | |
| case o.ALPHA_MULTIPLY: | |
| this._alphaState.setAlphaBlendFunctionParameters(this._gl.DST_COLOR, this._gl.ZERO, this._gl.ONE, this._gl.ONE), this._alphaState.alphaBlend = !0; | |
| break; | |
| case o.ALPHA_MAXIMIZED: | |
| this._alphaState.setAlphaBlendFunctionParameters(this._gl.SRC_ALPHA, this._gl.ONE_MINUS_SRC_COLOR, this._gl.ONE, this._gl.ONE), this._alphaState.alphaBlend = !0 | |
| } | |
| t || this.setDepthWrite(e === o.ALPHA_DISABLE), this._alphaMode = e | |
| } | |
| }, o.prototype.getAlphaMode = function () { | |
| return this._alphaMode | |
| }, o.prototype.setAlphaTesting = function (e) { | |
| this._alphaTest = e | |
| }, o.prototype.getAlphaTesting = function () { | |
| return this._alphaTest | |
| }, o.prototype.wipeCaches = function () { | |
| this.resetTextureCache(), this._currentEffect = null, this._stencilState.reset(), this._depthCullingState.reset(), this.setDepthFunctionToLessOrEqual(), this._alphaState.reset(), this._cachedVertexBuffers = null, this._cachedIndexBuffer = null, this._cachedEffectForVertexBuffers = null | |
| }, o.prototype.setSamplingMode = function (t, i) { | |
| var r = this._gl; | |
| this._bindTextureDirectly(r.TEXTURE_2D, t); | |
| var n = r.NEAREST, | |
| o = r.NEAREST; | |
| i === e.Texture.BILINEAR_SAMPLINGMODE ? (n = r.LINEAR, o = r.LINEAR) : i === e.Texture.TRILINEAR_SAMPLINGMODE && (n = r.LINEAR, o = r.LINEAR_MIPMAP_LINEAR), r.texParameteri(r.TEXTURE_2D, r.TEXTURE_MAG_FILTER, n), r.texParameteri(r.TEXTURE_2D, r.TEXTURE_MIN_FILTER, o), this._bindTextureDirectly(r.TEXTURE_2D, null), t.samplingMode = i | |
| }, o.prototype.setTextureFormatToUse = function (e) { | |
| for (var t = 0, i = this.texturesSupported.length; t < i; t++) | |
| if (".astc" !== this._texturesSupported[t] && ".pvr" !== this._texturesSupported[t] && ".etc1" !== this._texturesSupported[t] && ".etc2" !== this._texturesSupported[t]) | |
| for (var r = 0, n = e.length; r < n; r++) | |
| if (this._texturesSupported[t] === e[r].toLowerCase()) return this._textureFormatInUse = this._texturesSupported[t]; | |
| return this._textureFormatInUse = null | |
| }, o.prototype.createTexture = function (t, i, r, o, s, a, c, h) { | |
| var u = this; | |
| void 0 === s && (s = e.Texture.TRILINEAR_SAMPLINGMODE), void 0 === a && (a = null), void 0 === c && (c = null), void 0 === h && (h = null); | |
| var l, f = this._gl.createTexture(), | |
| d = !1; | |
| if ("data:" === t.substr(0, 5) && (d = !0), d) { | |
| var p = t; | |
| d = p.split(":"), t = p, l = d[1].substr(d[1].length - 4, 4).toLowerCase() | |
| } else { | |
| var m = t.lastIndexOf("."); | |
| l = t.substring(m).toLowerCase(), !this._textureFormatInUse || d || o.database || (l = this._textureFormatInUse, t = t.substring(0, m) + this._textureFormatInUse) | |
| } | |
| var g = ".dds" === l, | |
| _ = ".tga" === l; | |
| o._addPendingData(f), f.url = t, f.noMipmap = i, f.references = 1, f.samplingMode = s, f.onLoadedCallbacks = [a], this._loadedTexturesCache.push(f); | |
| var v, y = function () { | |
| o._removePendingData(f), c && c() | |
| }; | |
| if (_) v = function (t) { | |
| var a = new Uint8Array(t), | |
| c = e.Internals.TGATools.GetTGAHeader(a); | |
| n(f, u._gl, o, c.width, c.height, r, i, !1, function () { | |
| e.Internals.TGATools.UploadContent(u._gl, a) | |
| }, s) | |
| }, d instanceof Array ? v(h) : e.Tools.LoadFile(t, function (e) { | |
| v(e) | |
| }, null, o.database, !0, y); | |
| else if (g) v = function (t) { | |
| var a = e.Internals.DDSTools.GetDDSInfo(t), | |
| c = (a.isRGB || a.isLuminance || a.mipmapCount > 1) && !i && a.width >> a.mipmapCount - 1 == 1; | |
| n(f, u._gl, o, a.width, a.height, r, !c, a.isFourCC, function () { | |
| e.Internals.DDSTools.UploadDDSLevels(u._gl, u.getCaps().s3tc, t, a, c, 1) | |
| }, s) | |
| }, d instanceof Array ? v(h) : e.Tools.LoadFile(t, function (e) { | |
| v(e) | |
| }, null, o.database, !0, y); | |
| else { | |
| var b = function (t) { | |
| n(f, u._gl, o, t.width, t.height, r, i, !1, function (i, r) { | |
| var n = t.width === i && t.height === r; | |
| n || (u._prepareWorkingCanvas(), u._workingCanvas.width = i, u._workingCanvas.height = r, s === e.Texture.NEAREST_SAMPLINGMODE && (u._workingContext.imageSmoothingEnabled = !1, u._workingContext.mozImageSmoothingEnabled = !1, u._workingContext.oImageSmoothingEnabled = !1, u._workingContext.webkitImageSmoothingEnabled = !1, u._workingContext.msImageSmoothingEnabled = !1), u._workingContext.drawImage(t, 0, 0, t.width, t.height, 0, 0, i, r), s === e.Texture.NEAREST_SAMPLINGMODE && (u._workingContext.imageSmoothingEnabled = !0, u._workingContext.mozImageSmoothingEnabled = !0, u._workingContext.oImageSmoothingEnabled = !0, u._workingContext.webkitImageSmoothingEnabled = !0, u._workingContext.msImageSmoothingEnabled = !0)), u._gl.texImage2D(u._gl.TEXTURE_2D, 0, u._gl.RGBA, u._gl.RGBA, u._gl.UNSIGNED_BYTE, n ? t : u._workingCanvas) | |
| }, s) | |
| }; | |
| d instanceof Array ? e.Tools.LoadImage(h, b, y, o.database) : e.Tools.LoadImage(t, b, y, o.database) | |
| } | |
| return f | |
| }, o.prototype._getInternalFormat = function (e) { | |
| var t = this._gl.RGBA; | |
| switch (e) { | |
| case o.TEXTUREFORMAT_ALPHA: | |
| t = this._gl.ALPHA; | |
| break; | |
| case o.TEXTUREFORMAT_LUMINANCE: | |
| t = this._gl.LUMINANCE; | |
| break; | |
| case o.TEXTUREFORMAT_LUMINANCE_ALPHA: | |
| t = this._gl.LUMINANCE_ALPHA; | |
| break; | |
| case o.TEXTUREFORMAT_RGB: | |
| t = this._gl.RGB; | |
| break; | |
| case o.TEXTUREFORMAT_RGBA: | |
| t = this._gl.RGBA | |
| } | |
| return t | |
| }, o.prototype.updateRawTexture = function (e, t, i, r, n) { | |
| void 0 === n && (n = null); | |
| var o = this._getInternalFormat(i); | |
| this._bindTextureDirectly(this._gl.TEXTURE_2D, e), this._gl.pixelStorei(this._gl.UNPACK_FLIP_Y_WEBGL, void 0 === r ? 1 : r ? 1 : 0), e._width % 4 != 0 && this._gl.pixelStorei(this._gl.UNPACK_ALIGNMENT, 1), n ? this._gl.compressedTexImage2D(this._gl.TEXTURE_2D, 0, this.getCaps().s3tc[n], e._width, e._height, 0, t) : this._gl.texImage2D(this._gl.TEXTURE_2D, 0, o, e._width, e._height, 0, o, this._gl.UNSIGNED_BYTE, t), e.generateMipMaps && this._gl.generateMipmap(this._gl.TEXTURE_2D), this._bindTextureDirectly(this._gl.TEXTURE_2D, null), this.resetTextureCache(), e.isReady = !0 | |
| }, o.prototype.createRawTexture = function (e, t, i, n, o, s, a, c) { | |
| void 0 === c && (c = null); | |
| var h = this._gl.createTexture(); | |
| h._baseWidth = t, h._baseHeight = i, h._width = t, h._height = i, h.references = 1, this.updateRawTexture(h, e, n, s, c), this._bindTextureDirectly(this._gl.TEXTURE_2D, h); | |
| var u = r(a, o, this._gl); | |
| return this._gl.texParameteri(this._gl.TEXTURE_2D, this._gl.TEXTURE_MAG_FILTER, u.mag), this._gl.texParameteri(this._gl.TEXTURE_2D, this._gl.TEXTURE_MIN_FILTER, u.min), this._bindTextureDirectly(this._gl.TEXTURE_2D, null), h.samplingMode = a, this._loadedTexturesCache.push(h), h | |
| }, o.prototype.createDynamicTexture = function (t, i, r, n) { | |
| var o = this._gl.createTexture(); | |
| return o._baseWidth = t, o._baseHeight = i, r && (t = e.Tools.GetExponentOfTwo(t, this._caps.maxTextureSize), i = e.Tools.GetExponentOfTwo(i, this._caps.maxTextureSize)), this.resetTextureCache(), o._width = t, o._height = i, o.isReady = !1, o.generateMipMaps = r, o.references = 1, o.samplingMode = n, this.updateTextureSamplingMode(n, o), this._loadedTexturesCache.push(o), o | |
| }, o.prototype.updateTextureSamplingMode = function (e, t) { | |
| var i = r(e, t.generateMipMaps, this._gl); | |
| t.isCube ? (this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP, t), this._gl.texParameteri(this._gl.TEXTURE_CUBE_MAP, this._gl.TEXTURE_MAG_FILTER, i.mag), this._gl.texParameteri(this._gl.TEXTURE_CUBE_MAP, this._gl.TEXTURE_MIN_FILTER, i.min), this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP, null)) : (this._bindTextureDirectly(this._gl.TEXTURE_2D, t), this._gl.texParameteri(this._gl.TEXTURE_2D, this._gl.TEXTURE_MAG_FILTER, i.mag), this._gl.texParameteri(this._gl.TEXTURE_2D, this._gl.TEXTURE_MIN_FILTER, i.min), this._bindTextureDirectly(this._gl.TEXTURE_2D, null)) | |
| }, o.prototype.updateDynamicTexture = function (e, t, i, r) { | |
| void 0 === r && (r = !1), this._bindTextureDirectly(this._gl.TEXTURE_2D, e), this._gl.pixelStorei(this._gl.UNPACK_FLIP_Y_WEBGL, i ? 1 : 0), r && this._gl.pixelStorei(this._gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 1), this._gl.texImage2D(this._gl.TEXTURE_2D, 0, this._gl.RGBA, this._gl.RGBA, this._gl.UNSIGNED_BYTE, t), e.generateMipMaps && this._gl.generateMipmap(this._gl.TEXTURE_2D), this._bindTextureDirectly(this._gl.TEXTURE_2D, null), r && this._gl.pixelStorei(this._gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 0), this.resetTextureCache(), e.isReady = !0 | |
| }, o.prototype.updateVideoTexture = function (e, t, i) { | |
| if (!e._isDisabled) { | |
| this._bindTextureDirectly(this._gl.TEXTURE_2D, e), this._gl.pixelStorei(this._gl.UNPACK_FLIP_Y_WEBGL, i ? 0 : 1); | |
| try { | |
| void 0 === this._videoTextureSupported && (this._gl.texImage2D(this._gl.TEXTURE_2D, 0, this._gl.RGBA, this._gl.RGBA, this._gl.UNSIGNED_BYTE, t), 0 !== this._gl.getError() ? this._videoTextureSupported = !1 : this._videoTextureSupported = !0), this._videoTextureSupported ? this._gl.texImage2D(this._gl.TEXTURE_2D, 0, this._gl.RGBA, this._gl.RGBA, this._gl.UNSIGNED_BYTE, t) : (e._workingCanvas || (e._workingCanvas = document.createElement("canvas"), e._workingContext = e._workingCanvas.getContext("2d"), e._workingCanvas.width = e._width, e._workingCanvas.height = e._height), e._workingContext.drawImage(t, 0, 0, t.videoWidth, t.videoHeight, 0, 0, e._width, e._height), this._gl.texImage2D(this._gl.TEXTURE_2D, 0, this._gl.RGBA, this._gl.RGBA, this._gl.UNSIGNED_BYTE, e._workingCanvas)), e.generateMipMaps && this._gl.generateMipmap(this._gl.TEXTURE_2D), this._bindTextureDirectly(this._gl.TEXTURE_2D, null), this.resetTextureCache(), e.isReady = !0 | |
| } catch (t) { | |
| e._isDisabled = !0 | |
| } | |
| } | |
| }, o.prototype.createRenderTargetTexture = function (t, n) { | |
| var s = !1, | |
| a = !0, | |
| c = !1, | |
| h = o.TEXTURETYPE_UNSIGNED_INT, | |
| u = e.Texture.TRILINEAR_SAMPLINGMODE; | |
| void 0 !== n && (s = void 0 === n.generateMipMaps ? n : n.generateMipMaps, c = (a = void 0 === n.generateDepthBuffer || n.generateDepthBuffer) && n.generateStencilBuffer, h = void 0 === n.type ? h : n.type, void 0 !== n.samplingMode && (u = n.samplingMode), (h !== o.TEXTURETYPE_FLOAT || this._caps.textureFloatLinearFiltering) && (h !== o.TEXTURETYPE_HALF_FLOAT || this._caps.textureHalfFloatLinearFiltering) || (u = e.Texture.NEAREST_SAMPLINGMODE)); | |
| var l = this._gl, | |
| f = l.createTexture(); | |
| this._bindTextureDirectly(l.TEXTURE_2D, f); | |
| var d, p = t.width || t, | |
| m = t.height || t, | |
| g = r(u, s, l); | |
| h !== o.TEXTURETYPE_FLOAT || this._caps.textureFloat || (h = o.TEXTURETYPE_UNSIGNED_INT, e.Tools.Warn("Float textures are not supported. Render target forced to TEXTURETYPE_UNSIGNED_BYTE type")), l.texParameteri(l.TEXTURE_2D, l.TEXTURE_MAG_FILTER, g.mag), l.texParameteri(l.TEXTURE_2D, l.TEXTURE_MIN_FILTER, g.min), l.texParameteri(l.TEXTURE_2D, l.TEXTURE_WRAP_S, l.CLAMP_TO_EDGE), l.texParameteri(l.TEXTURE_2D, l.TEXTURE_WRAP_T, l.CLAMP_TO_EDGE), l.texImage2D(l.TEXTURE_2D, 0, l.RGBA, p, m, 0, l.RGBA, i(l, h), null), c ? (d = l.createRenderbuffer(), l.bindRenderbuffer(l.RENDERBUFFER, d), l.renderbufferStorage(l.RENDERBUFFER, l.DEPTH_STENCIL, p, m)) : a && (d = l.createRenderbuffer(), l.bindRenderbuffer(l.RENDERBUFFER, d), l.renderbufferStorage(l.RENDERBUFFER, l.DEPTH_COMPONENT16, p, m)); | |
| var _ = l.createFramebuffer(); | |
| return this.bindUnboundFramebuffer(_), c ? l.framebufferRenderbuffer(l.FRAMEBUFFER, l.DEPTH_STENCIL_ATTACHMENT, l.RENDERBUFFER, d) : a && l.framebufferRenderbuffer(l.FRAMEBUFFER, l.DEPTH_ATTACHMENT, l.RENDERBUFFER, d), l.framebufferTexture2D(l.FRAMEBUFFER, l.COLOR_ATTACHMENT0, l.TEXTURE_2D, f, 0), s && this._gl.generateMipmap(this._gl.TEXTURE_2D), this._bindTextureDirectly(l.TEXTURE_2D, null), l.bindRenderbuffer(l.RENDERBUFFER, null), this.bindUnboundFramebuffer(null), f._framebuffer = _, a && (f._depthBuffer = d), f._baseWidth = p, f._baseHeight = m, f._width = p, f._height = m, f.isReady = !0, f.generateMipMaps = s, f.references = 1, f.samplingMode = u, f.type = h, this.resetTextureCache(), this._loadedTexturesCache.push(f), f | |
| }, o.prototype.createRenderTargetCubeTexture = function (t, i) { | |
| var n = this._gl, | |
| o = n.createTexture(), | |
| s = !0, | |
| a = !0, | |
| c = !1, | |
| h = e.Texture.TRILINEAR_SAMPLINGMODE; | |
| void 0 !== i && (s = void 0 === i.generateMipMaps ? i : i.generateMipMaps, c = (a = void 0 === i.generateDepthBuffer || i.generateDepthBuffer) && i.generateStencilBuffer, void 0 !== i.samplingMode && (h = i.samplingMode)), o.isCube = !0, o.references = 1, o.generateMipMaps = s, o.references = 1, o.samplingMode = h; | |
| var u, l = r(h, s, n); | |
| this._bindTextureDirectly(n.TEXTURE_CUBE_MAP, o); | |
| for (var f = 0; f < 6; f++) n.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X + f, 0, n.RGBA, t, t, 0, n.RGBA, n.UNSIGNED_BYTE, null); | |
| n.texParameteri(n.TEXTURE_CUBE_MAP, n.TEXTURE_MAG_FILTER, l.mag), n.texParameteri(n.TEXTURE_CUBE_MAP, n.TEXTURE_MIN_FILTER, l.min), n.texParameteri(n.TEXTURE_CUBE_MAP, n.TEXTURE_WRAP_S, n.CLAMP_TO_EDGE), n.texParameteri(n.TEXTURE_CUBE_MAP, n.TEXTURE_WRAP_T, n.CLAMP_TO_EDGE), c ? (u = n.createRenderbuffer(), n.bindRenderbuffer(n.RENDERBUFFER, u), n.renderbufferStorage(n.RENDERBUFFER, n.DEPTH_STENCIL, t, t)) : a && (u = n.createRenderbuffer(), n.bindRenderbuffer(n.RENDERBUFFER, u), n.renderbufferStorage(n.RENDERBUFFER, n.DEPTH_COMPONENT16, t, t)); | |
| var d = n.createFramebuffer(); | |
| return this.bindUnboundFramebuffer(d), c ? n.framebufferRenderbuffer(n.FRAMEBUFFER, n.DEPTH_STENCIL_ATTACHMENT, n.RENDERBUFFER, u) : a && n.framebufferRenderbuffer(n.FRAMEBUFFER, n.DEPTH_ATTACHMENT, n.RENDERBUFFER, u), o.generateMipMaps && (this._bindTextureDirectly(n.TEXTURE_CUBE_MAP, o), n.generateMipmap(n.TEXTURE_CUBE_MAP)), this._bindTextureDirectly(n.TEXTURE_CUBE_MAP, null), n.bindRenderbuffer(n.RENDERBUFFER, null), this.bindUnboundFramebuffer(null), o._framebuffer = d, a && (o._depthBuffer = u), o._width = t, o._height = t, o.isReady = !0, this.resetTextureCache(), this._loadedTexturesCache.push(o), o | |
| }, o.prototype.createCubeTexture = function (t, i, r, n, o, a) { | |
| var c = this; | |
| void 0 === o && (o = null), void 0 === a && (a = null); | |
| var h = this._gl, | |
| u = h.createTexture(); | |
| u.isCube = !0, u.url = t, u.references = 1, u.onLoadedCallbacks = []; | |
| var l = t.substr(t.length - 4, 4).toLowerCase(); | |
| return this.getCaps().s3tc && ".dds" === l ? e.Tools.LoadFile(t, function (t) { | |
| var i = e.Internals.DDSTools.GetDDSInfo(t), | |
| r = (i.isRGB || i.isLuminance || i.mipmapCount > 1) && !n; | |
| c._bindTextureDirectly(h.TEXTURE_CUBE_MAP, u), h.pixelStorei(h.UNPACK_FLIP_Y_WEBGL, 1), e.Internals.DDSTools.UploadDDSLevels(c._gl, c.getCaps().s3tc, t, i, r, 6), n || i.isFourCC || 1 !== i.mipmapCount || h.generateMipmap(h.TEXTURE_CUBE_MAP), h.texParameteri(h.TEXTURE_CUBE_MAP, h.TEXTURE_MAG_FILTER, h.LINEAR), h.texParameteri(h.TEXTURE_CUBE_MAP, h.TEXTURE_MIN_FILTER, r ? h.LINEAR_MIPMAP_LINEAR : h.LINEAR), h.texParameteri(h.TEXTURE_CUBE_MAP, h.TEXTURE_WRAP_S, h.CLAMP_TO_EDGE), h.texParameteri(h.TEXTURE_CUBE_MAP, h.TEXTURE_WRAP_T, h.CLAMP_TO_EDGE), c._bindTextureDirectly(h.TEXTURE_CUBE_MAP, null), c.resetTextureCache(), u._width = i.width, u._height = i.height, u.isReady = !0 | |
| }, null, null, !0, a) : s(0, i, function (t) { | |
| var i = e.Tools.GetExponentOfTwo(t[0].width, c._caps.maxCubemapTextureSize), | |
| r = i; | |
| c._prepareWorkingCanvas(), c._workingCanvas.width = i, c._workingCanvas.height = r; | |
| var s = [h.TEXTURE_CUBE_MAP_POSITIVE_X, h.TEXTURE_CUBE_MAP_POSITIVE_Y, h.TEXTURE_CUBE_MAP_POSITIVE_Z, h.TEXTURE_CUBE_MAP_NEGATIVE_X, h.TEXTURE_CUBE_MAP_NEGATIVE_Y, h.TEXTURE_CUBE_MAP_NEGATIVE_Z]; | |
| c._bindTextureDirectly(h.TEXTURE_CUBE_MAP, u), h.pixelStorei(h.UNPACK_FLIP_Y_WEBGL, 0); | |
| for (var a = 0; a < s.length; a++) c._workingContext.drawImage(t[a], 0, 0, t[a].width, t[a].height, 0, 0, i, r), h.texImage2D(s[a], 0, h.RGBA, h.RGBA, h.UNSIGNED_BYTE, c._workingCanvas); | |
| n || h.generateMipmap(h.TEXTURE_CUBE_MAP), h.texParameteri(h.TEXTURE_CUBE_MAP, h.TEXTURE_MAG_FILTER, h.LINEAR), h.texParameteri(h.TEXTURE_CUBE_MAP, h.TEXTURE_MIN_FILTER, n ? h.LINEAR : h.LINEAR_MIPMAP_LINEAR), h.texParameteri(h.TEXTURE_CUBE_MAP, h.TEXTURE_WRAP_S, h.CLAMP_TO_EDGE), h.texParameteri(h.TEXTURE_CUBE_MAP, h.TEXTURE_WRAP_T, h.CLAMP_TO_EDGE), c._bindTextureDirectly(h.TEXTURE_CUBE_MAP, null), c.resetTextureCache(), u._width = i, u._height = r, u.isReady = !0, u.onLoadedCallbacks.forEach(function (e) { | |
| e() | |
| }), o && o() | |
| }, r, a), this._loadedTexturesCache.push(u), u | |
| }, o.prototype.updateTextureSize = function (e, t, i) { | |
| e._width = t, e._height = i, e._size = t * i, e._baseWidth = t, e._baseHeight = i | |
| }, o.prototype.createRawCubeTexture = function (t, i, r, n, s, a, c, h) { | |
| var u = this, | |
| l = this._gl, | |
| f = l.createTexture(); | |
| i._addPendingData(f), f.isCube = !0, f.references = 1, f.url = t; | |
| var d = this._getInternalFormat(n), | |
| p = l.UNSIGNED_BYTE; | |
| s === o.TEXTURETYPE_FLOAT && (p = l.FLOAT); | |
| var m = r, | |
| g = m, | |
| _ = e.Tools.IsExponentOfTwo(m) && e.Tools.IsExponentOfTwo(g); | |
| f._width = m, f._height = g; | |
| var v = function (t) { | |
| var r = c(t), | |
| n = [l.TEXTURE_CUBE_MAP_POSITIVE_X, l.TEXTURE_CUBE_MAP_POSITIVE_Y, l.TEXTURE_CUBE_MAP_POSITIVE_Z, l.TEXTURE_CUBE_MAP_NEGATIVE_X, l.TEXTURE_CUBE_MAP_NEGATIVE_Y, l.TEXTURE_CUBE_MAP_NEGATIVE_Z]; | |
| if (m = f._width, g = f._height, _ = e.Tools.IsExponentOfTwo(m) && e.Tools.IsExponentOfTwo(g), u._bindTextureDirectly(l.TEXTURE_CUBE_MAP, f), l.pixelStorei(l.UNPACK_FLIP_Y_WEBGL, 0), !a && _) | |
| if (h) { | |
| var o = []; | |
| o.push(r[0]), o.push(r[3]), o.push(r[1]), o.push(r[4]), o.push(r[2]), o.push(r[5]); | |
| for (var s = h(o), v = 0; v < s.length; v++) { | |
| var y = m >> v; | |
| l.texImage2D(n[0], v, d, y, y, 0, d, p, s[v][0]), l.texImage2D(n[1], v, d, y, y, 0, d, p, s[v][2]), l.texImage2D(n[2], v, d, y, y, 0, d, p, s[v][4]), l.texImage2D(n[3], v, d, y, y, 0, d, p, s[v][1]), l.texImage2D(n[4], v, d, y, y, 0, d, p, s[v][3]), l.texImage2D(n[5], v, d, y, y, 0, d, p, s[v][5]) | |
| } | |
| } else { | |
| for (var b = 0; b < n.length; b++) { | |
| var x = r[b]; | |
| l.texImage2D(n[b], 0, d, m, g, 0, d, p, x) | |
| } | |
| if (l.generateMipmap(l.TEXTURE_CUBE_MAP), p === l.FLOAT && d === l.RGB && 1282 === l.getError()) { | |
| e.Tools.Log("RGB32F not renderable on Firefox, trying fallback to RGBA32F."); | |
| for (b = 0; b < n.length; b++) { | |
| x = r[b]; | |
| for (var w = new Float32Array(m * g * 4), S = 0; S < m; S++) | |
| for (var T = 0; T < g; T++) { | |
| var A = 3 * (T * m + S), | |
| M = 4 * (T * m + S); | |
| w[M + 0] = x[A + 0], w[M + 1] = x[A + 1], w[M + 2] = x[A + 2], w[M + 3] = 1 | |
| } | |
| l.texImage2D(n[b], 0, l.RGBA, m, g, 0, l.RGBA, p, w) | |
| } | |
| l.generateMipmap(l.TEXTURE_CUBE_MAP) | |
| } | |
| } | |
| else a = !0; | |
| p === l.FLOAT && !u._caps.textureFloatLinearFiltering || 36193 === p && !u._caps.textureHalfFloatLinearFiltering ? (l.texParameteri(l.TEXTURE_CUBE_MAP, l.TEXTURE_MAG_FILTER, l.NEAREST), l.texParameteri(l.TEXTURE_CUBE_MAP, l.TEXTURE_MIN_FILTER, l.NEAREST)) : (l.texParameteri(l.TEXTURE_CUBE_MAP, l.TEXTURE_MAG_FILTER, l.LINEAR), l.texParameteri(l.TEXTURE_CUBE_MAP, l.TEX |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment