UNPKG

@skyway-sdk/token

Version:

The official Next Generation JavaScript SDK for SkyWay

1,435 lines (1,433 loc) 717 kB
var __create = Object.create; var __defProp = Object.defineProperty; var __defProps = Object.defineProperties; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropDescs = Object.getOwnPropertyDescriptors; var __getOwnPropNames = Object.getOwnPropertyNames; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __pow = Math.pow; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __spreadValues = (a, b) => { for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]); if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) { if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]); } return a; }; var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); var __esm = (fn, res) => function __init() { return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; }; var __commonJS = (cb, mod) => function __require() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __async = (__this, __arguments, generator) => { return new Promise((resolve, reject) => { var fulfilled = (value) => { try { step(generator.next(value)); } catch (e2) { reject(e2); } }; var rejected = (value) => { try { step(generator.throw(value)); } catch (e2) { reject(e2); } }; var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); step((generator = generator.apply(__this, __arguments)).next()); }); }; // shims/process.js var init_process = __esm({ "shims/process.js"() { "use strict"; } }); // ../../node_modules/.pnpm/jsrsasign@11.1.0/node_modules/jsrsasign/lib/jsrsasign.js var require_jsrsasign = __commonJS({ "../../node_modules/.pnpm/jsrsasign@11.1.0/node_modules/jsrsasign/lib/jsrsasign.js"(exports) { init_process(); var navigator = {}; navigator.userAgent = false; var window2 = {}; var VERSION = "11.1.0"; var VERSION_FULL = "jsrsasign(all) 11.1.0 (2024-02-01) (c) 2010-2023 Kenji Urushima | kjur.github.io/jsrsasign/license"; var CryptoJS = CryptoJS || (function(e2, g) { var a = {}; var b = a.lib = {}; var j = b.Base = /* @__PURE__ */ (function() { function n2() { } return { extend: function(p) { n2.prototype = this; var o2 = new n2(); if (p) { o2.mixIn(p); } if (!o2.hasOwnProperty("init")) { o2.init = function() { o2.$super.init.apply(this, arguments); }; } o2.init.prototype = o2; o2.$super = this; return o2; }, create: function() { var o2 = this.extend(); o2.init.apply(o2, arguments); return o2; }, init: function() { }, mixIn: function(p) { for (var o2 in p) { if (p.hasOwnProperty(o2)) { this[o2] = p[o2]; } } if (p.hasOwnProperty("toString")) { this.toString = p.toString; } }, clone: function() { return this.init.prototype.extend(this); } }; })(); var l = b.WordArray = j.extend({ init: function(o2, n2) { o2 = this.words = o2 || []; if (n2 != g) { this.sigBytes = n2; } else { this.sigBytes = o2.length * 4; } }, toString: function(n2) { return (n2 || h).stringify(this); }, concat: function(t3) { var q = this.words; var p = t3.words; var n2 = this.sigBytes; var s = t3.sigBytes; this.clamp(); if (n2 % 4) { for (var r2 = 0; r2 < s; r2++) { var o2 = p[r2 >>> 2] >>> 24 - r2 % 4 * 8 & 255; q[n2 + r2 >>> 2] |= o2 << 24 - (n2 + r2) % 4 * 8; } } else { for (var r2 = 0; r2 < s; r2 += 4) { q[n2 + r2 >>> 2] = p[r2 >>> 2]; } } this.sigBytes += s; return this; }, clamp: function() { var o2 = this.words; var n2 = this.sigBytes; o2[n2 >>> 2] &= 4294967295 << 32 - n2 % 4 * 8; o2.length = e2.ceil(n2 / 4); }, clone: function() { var n2 = j.clone.call(this); n2.words = this.words.slice(0); return n2; }, random: function(p) { var o2 = []; for (var n2 = 0; n2 < p; n2 += 4) { o2.push(e2.random() * 4294967296 | 0); } return new l.init(o2, p); } }); var m = a.enc = {}; var h = m.Hex = { stringify: function(p) { var r2 = p.words; var o2 = p.sigBytes; var q = []; for (var n2 = 0; n2 < o2; n2++) { var s = r2[n2 >>> 2] >>> 24 - n2 % 4 * 8 & 255; q.push((s >>> 4).toString(16)); q.push((s & 15).toString(16)); } return q.join(""); }, parse: function(p) { var n2 = p.length; var q = []; for (var o2 = 0; o2 < n2; o2 += 2) { q[o2 >>> 3] |= parseInt(p.substr(o2, 2), 16) << 24 - o2 % 8 * 4; } return new l.init(q, n2 / 2); } }; var d = m.Latin1 = { stringify: function(q) { var r2 = q.words; var p = q.sigBytes; var n2 = []; for (var o2 = 0; o2 < p; o2++) { var s = r2[o2 >>> 2] >>> 24 - o2 % 4 * 8 & 255; n2.push(String.fromCharCode(s)); } return n2.join(""); }, parse: function(p) { var n2 = p.length; var q = []; for (var o2 = 0; o2 < n2; o2++) { q[o2 >>> 2] |= (p.charCodeAt(o2) & 255) << 24 - o2 % 4 * 8; } return new l.init(q, n2); } }; var c = m.Utf8 = { stringify: function(n2) { try { return decodeURIComponent(escape(d.stringify(n2))); } catch (o2) { throw new Error("Malformed UTF-8 data"); } }, parse: function(n2) { return d.parse(unescape(encodeURIComponent(n2))); } }; var i = b.BufferedBlockAlgorithm = j.extend({ reset: function() { this._data = new l.init(); this._nDataBytes = 0; }, _append: function(n2) { if (typeof n2 == "string") { n2 = c.parse(n2); } this._data.concat(n2); this._nDataBytes += n2.sigBytes; }, _process: function(w) { var q = this._data; var x = q.words; var n2 = q.sigBytes; var t3 = this.blockSize; var v = t3 * 4; var u = n2 / v; if (w) { u = e2.ceil(u); } else { u = e2.max((u | 0) - this._minBufferSize, 0); } var s = u * t3; var r2 = e2.min(s * 4, n2); if (s) { for (var p = 0; p < s; p += t3) { this._doProcessBlock(x, p); } var o2 = x.splice(0, s); q.sigBytes -= r2; } return new l.init(o2, r2); }, clone: function() { var n2 = j.clone.call(this); n2._data = this._data.clone(); return n2; }, _minBufferSize: 0 }); var f = b.Hasher = i.extend({ cfg: j.extend(), init: function(n2) { this.cfg = this.cfg.extend(n2); this.reset(); }, reset: function() { i.reset.call(this); this._doReset(); }, update: function(n2) { this._append(n2); this._process(); return this; }, finalize: function(n2) { if (n2) { this._append(n2); } var o2 = this._doFinalize(); return o2; }, blockSize: 512 / 32, _createHelper: function(n2) { return function(p, o2) { return new n2.init(o2).finalize(p); }; }, _createHmacHelper: function(n2) { return function(p, o2) { return new k.HMAC.init(n2, o2).finalize(p); }; } }); var k = a.algo = {}; return a; })(Math); (function(g) { var a = CryptoJS, f = a.lib, e2 = f.Base, h = f.WordArray, a = a.x64 = {}; a.Word = e2.extend({ init: function(b, c) { this.high = b; this.low = c; } }); a.WordArray = e2.extend({ init: function(b, c) { b = this.words = b || []; this.sigBytes = c != g ? c : 8 * b.length; }, toX32: function() { for (var b = this.words, c = b.length, a2 = [], d = 0; d < c; d++) { var e3 = b[d]; a2.push(e3.high); a2.push(e3.low); } return h.create(a2, this.sigBytes); }, clone: function() { for (var b = e2.clone.call(this), c = b.words = this.words.slice(0), a2 = c.length, d = 0; d < a2; d++) c[d] = c[d].clone(); return b; } }); })(); CryptoJS.lib.Cipher || (function(u) { var g = CryptoJS, f = g.lib, k = f.Base, l = f.WordArray, q = f.BufferedBlockAlgorithm, r2 = g.enc.Base64, v = g.algo.EvpKDF, n2 = f.Cipher = q.extend({ cfg: k.extend(), createEncryptor: function(a, b) { return this.create(this._ENC_XFORM_MODE, a, b); }, createDecryptor: function(a, b) { return this.create(this._DEC_XFORM_MODE, a, b); }, init: function(a, b, c) { this.cfg = this.cfg.extend(c); this._xformMode = a; this._key = b; this.reset(); }, reset: function() { q.reset.call(this); this._doReset(); }, process: function(a) { this._append(a); return this._process(); }, finalize: function(a) { a && this._append(a); return this._doFinalize(); }, keySize: 4, ivSize: 4, _ENC_XFORM_MODE: 1, _DEC_XFORM_MODE: 2, _createHelper: function(a) { return { encrypt: function(b, c, d) { return ("string" == typeof c ? s : j).encrypt(a, b, c, d); }, decrypt: function(b, c, d) { return ("string" == typeof c ? s : j).decrypt(a, b, c, d); } }; } }); f.StreamCipher = n2.extend({ _doFinalize: function() { return this._process(true); }, blockSize: 1 }); var m = g.mode = {}, t3 = function(a, b, c) { var d = this._iv; d ? this._iv = u : d = this._prevBlock; for (var e2 = 0; e2 < c; e2++) a[b + e2] ^= d[e2]; }, h = (f.BlockCipherMode = k.extend({ createEncryptor: function(a, b) { return this.Encryptor.create(a, b); }, createDecryptor: function(a, b) { return this.Decryptor.create(a, b); }, init: function(a, b) { this._cipher = a; this._iv = b; } })).extend(); h.Encryptor = h.extend({ processBlock: function(a, b) { var c = this._cipher, d = c.blockSize; t3.call(this, a, b, d); c.encryptBlock(a, b); this._prevBlock = a.slice(b, b + d); } }); h.Decryptor = h.extend({ processBlock: function(a, b) { var c = this._cipher, d = c.blockSize, e2 = a.slice(b, b + d); c.decryptBlock( a, b ); t3.call(this, a, b, d); this._prevBlock = e2; } }); m = m.CBC = h; h = (g.pad = {}).Pkcs7 = { pad: function(a, b) { for (var c = 4 * b, c = c - a.sigBytes % c, d = c << 24 | c << 16 | c << 8 | c, e2 = [], f2 = 0; f2 < c; f2 += 4) e2.push(d); c = l.create(e2, c); a.concat(c); }, unpad: function(a) { a.sigBytes -= a.words[a.sigBytes - 1 >>> 2] & 255; } }; f.BlockCipher = n2.extend({ cfg: n2.cfg.extend({ mode: m, padding: h }), reset: function() { n2.reset.call(this); var a = this.cfg, b = a.iv, a = a.mode; if (this._xformMode == this._ENC_XFORM_MODE) var c = a.createEncryptor; else c = a.createDecryptor, this._minBufferSize = 1; this._mode = c.call(a, this, b && b.words); }, _doProcessBlock: function(a, b) { this._mode.processBlock(a, b); }, _doFinalize: function() { var a = this.cfg.padding; if (this._xformMode == this._ENC_XFORM_MODE) { a.pad(this._data, this.blockSize); var b = this._process(true); } else b = this._process(true), a.unpad(b); return b; }, blockSize: 4 }); var p = f.CipherParams = k.extend({ init: function(a) { this.mixIn(a); }, toString: function(a) { return (a || this.formatter).stringify(this); } }), m = (g.format = {}).OpenSSL = { stringify: function(a) { var b = a.ciphertext; a = a.salt; return (a ? l.create([1398893684, 1701076831]).concat(a).concat(b) : b).toString(r2); }, parse: function(a) { a = r2.parse(a); var b = a.words; if (1398893684 == b[0] && 1701076831 == b[1]) { var c = l.create(b.slice(2, 4)); b.splice(0, 4); a.sigBytes -= 16; } return p.create({ ciphertext: a, salt: c }); } }, j = f.SerializableCipher = k.extend({ cfg: k.extend({ format: m }), encrypt: function(a, b, c, d) { d = this.cfg.extend(d); var e2 = a.createEncryptor(c, d); b = e2.finalize(b); e2 = e2.cfg; return p.create({ ciphertext: b, key: c, iv: e2.iv, algorithm: a, mode: e2.mode, padding: e2.padding, blockSize: a.blockSize, formatter: d.format }); }, decrypt: function(a, b, c, d) { d = this.cfg.extend(d); b = this._parse(b, d.format); return a.createDecryptor(c, d).finalize(b.ciphertext); }, _parse: function(a, b) { return "string" == typeof a ? b.parse(a, this) : a; } }), g = (g.kdf = {}).OpenSSL = { execute: function(a, b, c, d) { d || (d = l.random(8)); a = v.create({ keySize: b + c }).compute(a, d); c = l.create(a.words.slice(b), 4 * c); a.sigBytes = 4 * b; return p.create({ key: a, iv: c, salt: d }); } }, s = f.PasswordBasedCipher = j.extend({ cfg: j.cfg.extend({ kdf: g }), encrypt: function(a, b, c, d) { d = this.cfg.extend(d); c = d.kdf.execute(c, a.keySize, a.ivSize); d.iv = c.iv; a = j.encrypt.call(this, a, b, c.key, d); a.mixIn(c); return a; }, decrypt: function(a, b, c, d) { d = this.cfg.extend(d); b = this._parse(b, d.format); c = d.kdf.execute(c, a.keySize, a.ivSize, b.salt); d.iv = c.iv; return j.decrypt.call(this, a, b, c.key, d); } }); })(); (function() { for (var q = CryptoJS, x = q.lib.BlockCipher, r2 = q.algo, j = [], y = [], z2 = [], A = [], B = [], C = [], s = [], u = [], v = [], w = [], g = [], k = 0; 256 > k; k++) g[k] = 128 > k ? k << 1 : k << 1 ^ 283; for (var n2 = 0, l = 0, k = 0; 256 > k; k++) { var f = l ^ l << 1 ^ l << 2 ^ l << 3 ^ l << 4, f = f >>> 8 ^ f & 255 ^ 99; j[n2] = f; y[f] = n2; var t3 = g[n2], D = g[t3], E = g[D], b = 257 * g[f] ^ 16843008 * f; z2[n2] = b << 24 | b >>> 8; A[n2] = b << 16 | b >>> 16; B[n2] = b << 8 | b >>> 24; C[n2] = b; b = 16843009 * E ^ 65537 * D ^ 257 * t3 ^ 16843008 * n2; s[f] = b << 24 | b >>> 8; u[f] = b << 16 | b >>> 16; v[f] = b << 8 | b >>> 24; w[f] = b; n2 ? (n2 = t3 ^ g[g[g[E ^ t3]]], l ^= g[g[l]]) : n2 = l = 1; } var F = [ 0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54 ], r2 = r2.AES = x.extend({ _doReset: function() { for (var c = this._key, e2 = c.words, a = c.sigBytes / 4, c = 4 * ((this._nRounds = a + 6) + 1), b2 = this._keySchedule = [], h = 0; h < c; h++) if (h < a) b2[h] = e2[h]; else { var d = b2[h - 1]; h % a ? 6 < a && 4 == h % a && (d = j[d >>> 24] << 24 | j[d >>> 16 & 255] << 16 | j[d >>> 8 & 255] << 8 | j[d & 255]) : (d = d << 8 | d >>> 24, d = j[d >>> 24] << 24 | j[d >>> 16 & 255] << 16 | j[d >>> 8 & 255] << 8 | j[d & 255], d ^= F[h / a | 0] << 24); b2[h] = b2[h - a] ^ d; } e2 = this._invKeySchedule = []; for (a = 0; a < c; a++) h = c - a, d = a % 4 ? b2[h] : b2[h - 4], e2[a] = 4 > a || 4 >= h ? d : s[j[d >>> 24]] ^ u[j[d >>> 16 & 255]] ^ v[j[d >>> 8 & 255]] ^ w[j[d & 255]]; }, encryptBlock: function(c, e2) { this._doCryptBlock(c, e2, this._keySchedule, z2, A, B, C, j); }, decryptBlock: function(c, e2) { var a = c[e2 + 1]; c[e2 + 1] = c[e2 + 3]; c[e2 + 3] = a; this._doCryptBlock(c, e2, this._invKeySchedule, s, u, v, w, y); a = c[e2 + 1]; c[e2 + 1] = c[e2 + 3]; c[e2 + 3] = a; }, _doCryptBlock: function(c, e2, a, b2, h, d, j2, m) { for (var n3 = this._nRounds, f2 = c[e2] ^ a[0], g2 = c[e2 + 1] ^ a[1], k2 = c[e2 + 2] ^ a[2], p = c[e2 + 3] ^ a[3], l2 = 4, t4 = 1; t4 < n3; t4++) var q2 = b2[f2 >>> 24] ^ h[g2 >>> 16 & 255] ^ d[k2 >>> 8 & 255] ^ j2[p & 255] ^ a[l2++], r3 = b2[g2 >>> 24] ^ h[k2 >>> 16 & 255] ^ d[p >>> 8 & 255] ^ j2[f2 & 255] ^ a[l2++], s2 = b2[k2 >>> 24] ^ h[p >>> 16 & 255] ^ d[f2 >>> 8 & 255] ^ j2[g2 & 255] ^ a[l2++], p = b2[p >>> 24] ^ h[f2 >>> 16 & 255] ^ d[g2 >>> 8 & 255] ^ j2[k2 & 255] ^ a[l2++], f2 = q2, g2 = r3, k2 = s2; q2 = (m[f2 >>> 24] << 24 | m[g2 >>> 16 & 255] << 16 | m[k2 >>> 8 & 255] << 8 | m[p & 255]) ^ a[l2++]; r3 = (m[g2 >>> 24] << 24 | m[k2 >>> 16 & 255] << 16 | m[p >>> 8 & 255] << 8 | m[f2 & 255]) ^ a[l2++]; s2 = (m[k2 >>> 24] << 24 | m[p >>> 16 & 255] << 16 | m[f2 >>> 8 & 255] << 8 | m[g2 & 255]) ^ a[l2++]; p = (m[p >>> 24] << 24 | m[f2 >>> 16 & 255] << 16 | m[g2 >>> 8 & 255] << 8 | m[k2 & 255]) ^ a[l2++]; c[e2] = q2; c[e2 + 1] = r3; c[e2 + 2] = s2; c[e2 + 3] = p; }, keySize: 8 }); q.AES = x._createHelper(r2); })(); (function() { function j(b, c) { var a = (this._lBlock >>> b ^ this._rBlock) & c; this._rBlock ^= a; this._lBlock ^= a << b; } function l(b, c) { var a = (this._rBlock >>> b ^ this._lBlock) & c; this._lBlock ^= a; this._rBlock ^= a << b; } var h = CryptoJS, e2 = h.lib, n2 = e2.WordArray, e2 = e2.BlockCipher, g = h.algo, q = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4], p = [ 14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32 ], r2 = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28], s = [{ "0": 8421888, 268435456: 32768, 536870912: 8421378, 805306368: 2, 1073741824: 512, 1342177280: 8421890, 1610612736: 8389122, 1879048192: 8388608, 2147483648: 514, 2415919104: 8389120, 2684354560: 33280, 2952790016: 8421376, 3221225472: 32770, 3489660928: 8388610, 3758096384: 0, 4026531840: 33282, 134217728: 0, 402653184: 8421890, 671088640: 33282, 939524096: 32768, 1207959552: 8421888, 1476395008: 512, 1744830464: 8421378, 2013265920: 2, 2281701376: 8389120, 2550136832: 33280, 2818572288: 8421376, 3087007744: 8389122, 3355443200: 8388610, 3623878656: 32770, 3892314112: 514, 4160749568: 8388608, 1: 32768, 268435457: 2, 536870913: 8421888, 805306369: 8388608, 1073741825: 8421378, 1342177281: 33280, 1610612737: 512, 1879048193: 8389122, 2147483649: 8421890, 2415919105: 8421376, 2684354561: 8388610, 2952790017: 33282, 3221225473: 514, 3489660929: 8389120, 3758096385: 32770, 4026531841: 0, 134217729: 8421890, 402653185: 8421376, 671088641: 8388608, 939524097: 512, 1207959553: 32768, 1476395009: 8388610, 1744830465: 2, 2013265921: 33282, 2281701377: 32770, 2550136833: 8389122, 2818572289: 514, 3087007745: 8421888, 3355443201: 8389120, 3623878657: 0, 3892314113: 33280, 4160749569: 8421378 }, { "0": 1074282512, 16777216: 16384, 33554432: 524288, 50331648: 1074266128, 67108864: 1073741840, 83886080: 1074282496, 100663296: 1073758208, 117440512: 16, 134217728: 540672, 150994944: 1073758224, 167772160: 1073741824, 184549376: 540688, 201326592: 524304, 218103808: 0, 234881024: 16400, 251658240: 1074266112, 8388608: 1073758208, 25165824: 540688, 41943040: 16, 58720256: 1073758224, 75497472: 1074282512, 92274688: 1073741824, 109051904: 524288, 125829120: 1074266128, 142606336: 524304, 159383552: 0, 176160768: 16384, 192937984: 1074266112, 209715200: 1073741840, 226492416: 540672, 243269632: 1074282496, 260046848: 16400, 268435456: 0, 285212672: 1074266128, 301989888: 1073758224, 318767104: 1074282496, 335544320: 1074266112, 352321536: 16, 369098752: 540688, 385875968: 16384, 402653184: 16400, 419430400: 524288, 436207616: 524304, 452984832: 1073741840, 469762048: 540672, 486539264: 1073758208, 503316480: 1073741824, 520093696: 1074282512, 276824064: 540688, 293601280: 524288, 310378496: 1074266112, 327155712: 16384, 343932928: 1073758208, 360710144: 1074282512, 377487360: 16, 394264576: 1073741824, 411041792: 1074282496, 427819008: 1073741840, 444596224: 1073758224, 461373440: 524304, 478150656: 0, 494927872: 16400, 511705088: 1074266128, 528482304: 540672 }, { "0": 260, 1048576: 0, 2097152: 67109120, 3145728: 65796, 4194304: 65540, 5242880: 67108868, 6291456: 67174660, 7340032: 67174400, 8388608: 67108864, 9437184: 67174656, 10485760: 65792, 11534336: 67174404, 12582912: 67109124, 13631488: 65536, 14680064: 4, 15728640: 256, 524288: 67174656, 1572864: 67174404, 2621440: 0, 3670016: 67109120, 4718592: 67108868, 5767168: 65536, 6815744: 65540, 7864320: 260, 8912896: 4, 9961472: 256, 11010048: 67174400, 12058624: 65796, 13107200: 65792, 14155776: 67109124, 15204352: 67174660, 16252928: 67108864, 16777216: 67174656, 17825792: 65540, 18874368: 65536, 19922944: 67109120, 20971520: 256, 22020096: 67174660, 23068672: 67108868, 24117248: 0, 25165824: 67109124, 26214400: 67108864, 27262976: 4, 28311552: 65792, 29360128: 67174400, 30408704: 260, 31457280: 65796, 32505856: 67174404, 17301504: 67108864, 18350080: 260, 19398656: 67174656, 20447232: 0, 21495808: 65540, 22544384: 67109120, 23592960: 256, 24641536: 67174404, 25690112: 65536, 26738688: 67174660, 27787264: 65796, 28835840: 67108868, 29884416: 67109124, 30932992: 67174400, 31981568: 4, 33030144: 65792 }, { "0": 2151682048, 65536: 2147487808, 131072: 4198464, 196608: 2151677952, 262144: 0, 327680: 4198400, 393216: 2147483712, 458752: 4194368, 524288: 2147483648, 589824: 4194304, 655360: 64, 720896: 2147487744, 786432: 2151678016, 851968: 4160, 917504: 4096, 983040: 2151682112, 32768: 2147487808, 98304: 64, 163840: 2151678016, 229376: 2147487744, 294912: 4198400, 360448: 2151682112, 425984: 0, 491520: 2151677952, 557056: 4096, 622592: 2151682048, 688128: 4194304, 753664: 4160, 819200: 2147483648, 884736: 4194368, 950272: 4198464, 1015808: 2147483712, 1048576: 4194368, 1114112: 4198400, 1179648: 2147483712, 1245184: 0, 1310720: 4160, 1376256: 2151678016, 1441792: 2151682048, 1507328: 2147487808, 1572864: 2151682112, 1638400: 2147483648, 1703936: 2151677952, 1769472: 4198464, 1835008: 2147487744, 1900544: 4194304, 1966080: 64, 2031616: 4096, 1081344: 2151677952, 1146880: 2151682112, 1212416: 0, 1277952: 4198400, 1343488: 4194368, 1409024: 2147483648, 1474560: 2147487808, 1540096: 64, 1605632: 2147483712, 1671168: 4096, 1736704: 2147487744, 1802240: 2151678016, 1867776: 4160, 1933312: 2151682048, 1998848: 4194304, 2064384: 4198464 }, { "0": 128, 4096: 17039360, 8192: 262144, 12288: 536870912, 16384: 537133184, 20480: 16777344, 24576: 553648256, 28672: 262272, 32768: 16777216, 36864: 537133056, 40960: 536871040, 45056: 553910400, 49152: 553910272, 53248: 0, 57344: 17039488, 61440: 553648128, 2048: 17039488, 6144: 553648256, 10240: 128, 14336: 17039360, 18432: 262144, 22528: 537133184, 26624: 553910272, 30720: 536870912, 34816: 537133056, 38912: 0, 43008: 553910400, 47104: 16777344, 51200: 536871040, 55296: 553648128, 59392: 16777216, 63488: 262272, 65536: 262144, 69632: 128, 73728: 536870912, 77824: 553648256, 81920: 16777344, 86016: 553910272, 90112: 537133184, 94208: 16777216, 98304: 553910400, 102400: 553648128, 106496: 17039360, 110592: 537133056, 114688: 262272, 118784: 536871040, 122880: 0, 126976: 17039488, 67584: 553648256, 71680: 16777216, 75776: 17039360, 79872: 537133184, 83968: 536870912, 88064: 17039488, 92160: 128, 96256: 553910272, 100352: 262272, 104448: 553910400, 108544: 0, 112640: 553648128, 116736: 16777344, 120832: 262144, 124928: 537133056, 129024: 536871040 }, { "0": 268435464, 256: 8192, 512: 270532608, 768: 270540808, 1024: 268443648, 1280: 2097152, 1536: 2097160, 1792: 268435456, 2048: 0, 2304: 268443656, 2560: 2105344, 2816: 8, 3072: 270532616, 3328: 2105352, 3584: 8200, 3840: 270540800, 128: 270532608, 384: 270540808, 640: 8, 896: 2097152, 1152: 2105352, 1408: 268435464, 1664: 268443648, 1920: 8200, 2176: 2097160, 2432: 8192, 2688: 268443656, 2944: 270532616, 3200: 0, 3456: 270540800, 3712: 2105344, 3968: 268435456, 4096: 268443648, 4352: 270532616, 4608: 270540808, 4864: 8200, 5120: 2097152, 5376: 268435456, 5632: 268435464, 5888: 2105344, 6144: 2105352, 6400: 0, 6656: 8, 6912: 270532608, 7168: 8192, 7424: 268443656, 7680: 270540800, 7936: 2097160, 4224: 8, 4480: 2105344, 4736: 2097152, 4992: 268435464, 5248: 268443648, 5504: 8200, 5760: 270540808, 6016: 270532608, 6272: 270540800, 6528: 270532616, 6784: 8192, 7040: 2105352, 7296: 2097160, 7552: 0, 7808: 268435456, 8064: 268443656 }, { "0": 1048576, 16: 33555457, 32: 1024, 48: 1049601, 64: 34604033, 80: 0, 96: 1, 112: 34603009, 128: 33555456, 144: 1048577, 160: 33554433, 176: 34604032, 192: 34603008, 208: 1025, 224: 1049600, 240: 33554432, 8: 34603009, 24: 0, 40: 33555457, 56: 34604032, 72: 1048576, 88: 33554433, 104: 33554432, 120: 1025, 136: 1049601, 152: 33555456, 168: 34603008, 184: 1048577, 200: 1024, 216: 34604033, 232: 1, 248: 1049600, 256: 33554432, 272: 1048576, 288: 33555457, 304: 34603009, 320: 1048577, 336: 33555456, 352: 34604032, 368: 1049601, 384: 1025, 400: 34604033, 416: 1049600, 432: 1, 448: 0, 464: 34603008, 480: 33554433, 496: 1024, 264: 1049600, 280: 33555457, 296: 34603009, 312: 1, 328: 33554432, 344: 1048576, 360: 1025, 376: 34604032, 392: 33554433, 408: 34603008, 424: 0, 440: 34604033, 456: 1049601, 472: 1024, 488: 33555456, 504: 1048577 }, { "0": 134219808, 1: 131072, 2: 134217728, 3: 32, 4: 131104, 5: 134350880, 6: 134350848, 7: 2048, 8: 134348800, 9: 134219776, 10: 133120, 11: 134348832, 12: 2080, 13: 0, 14: 134217760, 15: 133152, 2147483648: 2048, 2147483649: 134350880, 2147483650: 134219808, 2147483651: 134217728, 2147483652: 134348800, 2147483653: 133120, 2147483654: 133152, 2147483655: 32, 2147483656: 134217760, 2147483657: 2080, 2147483658: 131104, 2147483659: 134350848, 2147483660: 0, 2147483661: 134348832, 2147483662: 134219776, 2147483663: 131072, 16: 133152, 17: 134350848, 18: 32, 19: 2048, 20: 134219776, 21: 134217760, 22: 134348832, 23: 131072, 24: 0, 25: 131104, 26: 134348800, 27: 134219808, 28: 134350880, 29: 133120, 30: 2080, 31: 134217728, 2147483664: 131072, 2147483665: 2048, 2147483666: 134348832, 2147483667: 133152, 2147483668: 32, 2147483669: 134348800, 2147483670: 134217728, 2147483671: 134219808, 2147483672: 134350880, 2147483673: 134217760, 2147483674: 134219776, 2147483675: 0, 2147483676: 133120, 2147483677: 2080, 2147483678: 131104, 2147483679: 134350848 }], t3 = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679], m = g.DES = e2.extend({ _doReset: function() { for (var b = this._key.words, c = [], a = 0; 56 > a; a++) { var f = q[a] - 1; c[a] = b[f >>> 5] >>> 31 - f % 32 & 1; } b = this._subKeys = []; for (f = 0; 16 > f; f++) { for (var d = b[f] = [], e3 = r2[f], a = 0; 24 > a; a++) d[a / 6 | 0] |= c[(p[a] - 1 + e3) % 28] << 31 - a % 6, d[4 + (a / 6 | 0)] |= c[28 + (p[a + 24] - 1 + e3) % 28] << 31 - a % 6; d[0] = d[0] << 1 | d[0] >>> 31; for (a = 1; 7 > a; a++) d[a] >>>= 4 * (a - 1) + 3; d[7] = d[7] << 5 | d[7] >>> 27; } c = this._invSubKeys = []; for (a = 0; 16 > a; a++) c[a] = b[15 - a]; }, encryptBlock: function(b, c) { this._doCryptBlock(b, c, this._subKeys); }, decryptBlock: function(b, c) { this._doCryptBlock(b, c, this._invSubKeys); }, _doCryptBlock: function(b, c, a) { this._lBlock = b[c]; this._rBlock = b[c + 1]; j.call(this, 4, 252645135); j.call(this, 16, 65535); l.call(this, 2, 858993459); l.call(this, 8, 16711935); j.call(this, 1, 1431655765); for (var f = 0; 16 > f; f++) { for (var d = a[f], e3 = this._lBlock, h2 = this._rBlock, g2 = 0, k = 0; 8 > k; k++) g2 |= s[k][((h2 ^ d[k]) & t3[k]) >>> 0]; this._lBlock = h2; this._rBlock = e3 ^ g2; } a = this._lBlock; this._lBlock = this._rBlock; this._rBlock = a; j.call(this, 1, 1431655765); l.call(this, 8, 16711935); l.call(this, 2, 858993459); j.call(this, 16, 65535); j.call(this, 4, 252645135); b[c] = this._lBlock; b[c + 1] = this._rBlock; }, keySize: 2, ivSize: 2, blockSize: 2 }); h.DES = e2._createHelper(m); g = g.TripleDES = e2.extend({ _doReset: function() { var b = this._key.words; this._des1 = m.createEncryptor(n2.create(b.slice(0, 2))); this._des2 = m.createEncryptor(n2.create(b.slice(2, 4))); this._des3 = m.createEncryptor(n2.create(b.slice(4, 6))); }, encryptBlock: function(b, c) { this._des1.encryptBlock(b, c); this._des2.decryptBlock(b, c); this._des3.encryptBlock(b, c); }, decryptBlock: function(b, c) { this._des3.decryptBlock(b, c); this._des2.encryptBlock(b, c); this._des1.decryptBlock(b, c); }, keySize: 6, ivSize: 2, blockSize: 2 }); h.TripleDES = e2._createHelper(g); })(); (function() { var h = CryptoJS, j = h.lib.WordArray; h.enc.Base64 = { stringify: function(b) { var e2 = b.words, f = b.sigBytes, c = this._map; b.clamp(); b = []; for (var a = 0; a < f; a += 3) for (var d = (e2[a >>> 2] >>> 24 - 8 * (a % 4) & 255) << 16 | (e2[a + 1 >>> 2] >>> 24 - 8 * ((a + 1) % 4) & 255) << 8 | e2[a + 2 >>> 2] >>> 24 - 8 * ((a + 2) % 4) & 255, g = 0; 4 > g && a + 0.75 * g < f; g++) b.push(c.charAt(d >>> 6 * (3 - g) & 63)); if (e2 = c.charAt(64)) for (; b.length % 4; ) b.push(e2); return b.join(""); }, parse: function(b) { var e2 = b.length, f = this._map, c = f.charAt(64); c && (c = b.indexOf(c), -1 != c && (e2 = c)); for (var c = [], a = 0, d = 0; d < e2; d++) if (d % 4) { var g = f.indexOf(b.charAt(d - 1)) << 2 * (d % 4), h2 = f.indexOf(b.charAt(d)) >>> 6 - 2 * (d % 4); c[a >>> 2] |= (g | h2) << 24 - 8 * (a % 4); a++; } return j.create(c, a); }, _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" }; })(); (function(E) { function h(a2, f, g, j, p, h2, k2) { a2 = a2 + (f & g | ~f & j) + p + k2; return (a2 << h2 | a2 >>> 32 - h2) + f; } function k(a2, f, g, j, p, h2, k2) { a2 = a2 + (f & j | g & ~j) + p + k2; return (a2 << h2 | a2 >>> 32 - h2) + f; } function l(a2, f, g, j, h2, k2, l2) { a2 = a2 + (f ^ g ^ j) + h2 + l2; return (a2 << k2 | a2 >>> 32 - k2) + f; } function n2(a2, f, g, j, h2, k2, l2) { a2 = a2 + (g ^ (f | ~j)) + h2 + l2; return (a2 << k2 | a2 >>> 32 - k2) + f; } for (var r2 = CryptoJS, q = r2.lib, F = q.WordArray, s = q.Hasher, q = r2.algo, a = [], t3 = 0; 64 > t3; t3++) a[t3] = 4294967296 * E.abs(E.sin(t3 + 1)) | 0; q = q.MD5 = s.extend({ _doReset: function() { this._hash = new F.init([1732584193, 4023233417, 2562383102, 271733878]); }, _doProcessBlock: function(m, f) { for (var g = 0; 16 > g; g++) { var j = f + g, p = m[j]; m[j] = (p << 8 | p >>> 24) & 16711935 | (p << 24 | p >>> 8) & 4278255360; } var g = this._hash.words, j = m[f + 0], p = m[f + 1], q2 = m[f + 2], r3 = m[f + 3], s2 = m[f + 4], t4 = m[f + 5], u = m[f + 6], v = m[f + 7], w = m[f + 8], x = m[f + 9], y = m[f + 10], z2 = m[f + 11], A = m[f + 12], B = m[f + 13], C = m[f + 14], D = m[f + 15], b = g[0], c = g[1], d = g[2], e2 = g[3], b = h(b, c, d, e2, j, 7, a[0]), e2 = h(e2, b, c, d, p, 12, a[1]), d = h(d, e2, b, c, q2, 17, a[2]), c = h(c, d, e2, b, r3, 22, a[3]), b = h(b, c, d, e2, s2, 7, a[4]), e2 = h(e2, b, c, d, t4, 12, a[5]), d = h(d, e2, b, c, u, 17, a[6]), c = h(c, d, e2, b, v, 22, a[7]), b = h(b, c, d, e2, w, 7, a[8]), e2 = h(e2, b, c, d, x, 12, a[9]), d = h(d, e2, b, c, y, 17, a[10]), c = h(c, d, e2, b, z2, 22, a[11]), b = h(b, c, d, e2, A, 7, a[12]), e2 = h(e2, b, c, d, B, 12, a[13]), d = h(d, e2, b, c, C, 17, a[14]), c = h(c, d, e2, b, D, 22, a[15]), b = k(b, c, d, e2, p, 5, a[16]), e2 = k(e2, b, c, d, u, 9, a[17]), d = k(d, e2, b, c, z2, 14, a[18]), c = k(c, d, e2, b, j, 20, a[19]), b = k(b, c, d, e2, t4, 5, a[20]), e2 = k(e2, b, c, d, y, 9, a[21]), d = k(d, e2, b, c, D, 14, a[22]), c = k(c, d, e2, b, s2, 20, a[23]), b = k(b, c, d, e2, x, 5, a[24]), e2 = k(e2, b, c, d, C, 9, a[25]), d = k(d, e2, b, c, r3, 14, a[26]), c = k(c, d, e2, b, w, 20, a[27]), b = k(b, c, d, e2, B, 5, a[28]), e2 = k( e2, b, c, d, q2, 9, a[29] ), d = k(d, e2, b, c, v, 14, a[30]), c = k(c, d, e2, b, A, 20, a[31]), b = l(b, c, d, e2, t4, 4, a[32]), e2 = l(e2, b, c, d, w, 11, a[33]), d = l(d, e2, b, c, z2, 16, a[34]), c = l(c, d, e2, b, C, 23, a[35]), b = l(b, c, d, e2, p, 4, a[36]), e2 = l(e2, b, c, d, s2, 11, a[37]), d = l(d, e2, b, c, v, 16, a[38]), c = l(c, d, e2, b, y, 23, a[39]), b = l(b, c, d, e2, B, 4, a[40]), e2 = l(e2, b, c, d, j, 11, a[41]), d = l(d, e2, b, c, r3, 16, a[42]), c = l(c, d, e2, b, u, 23, a[43]), b = l(b, c, d, e2, x, 4, a[44]), e2 = l(e2, b, c, d, A, 11, a[45]), d = l(d, e2, b, c, D, 16, a[46]), c = l(c, d, e2, b, q2, 23, a[47]), b = n2(b, c, d, e2, j, 6, a[48]), e2 = n2(e2, b, c, d, v, 10, a[49]), d = n2( d, e2, b, c, C, 15, a[50] ), c = n2(c, d, e2, b, t4, 21, a[51]), b = n2(b, c, d, e2, A, 6, a[52]), e2 = n2(e2, b, c, d, r3, 10, a[53]), d = n2(d, e2, b, c, y, 15, a[54]), c = n2(c, d, e2, b, p, 21, a[55]), b = n2(b, c, d, e2, w, 6, a[56]), e2 = n2(e2, b, c, d, D, 10, a[57]), d = n2(d, e2, b, c, u, 15, a[58]), c = n2(c, d, e2, b, B, 21, a[59]), b = n2(b, c, d, e2, s2, 6, a[60]), e2 = n2(e2, b, c, d, z2, 10, a[61]), d = n2(d, e2, b, c, q2, 15, a[62]), c = n2(c, d, e2, b, x, 21, a[63]); g[0] = g[0] + b | 0; g[1] = g[1] + c | 0; g[2] = g[2] + d | 0; g[3] = g[3] + e2 | 0; }, _doFinalize: function() { var a2 = this._data, f = a2.words, g = 8 * this._nDataBytes, j = 8 * a2.sigBytes; f[j >>> 5] |= 128 << 24 - j % 32; var h2 = E.floor(g / 4294967296); f[(j + 64 >>> 9 << 4) + 15] = (h2 << 8 | h2 >>> 24) & 16711935 | (h2 << 24 | h2 >>> 8) & 4278255360; f[(j + 64 >>> 9 << 4) + 14] = (g << 8 | g >>> 24) & 16711935 | (g << 24 | g >>> 8) & 4278255360; a2.sigBytes = 4 * (f.length + 1); this._process(); a2 = this._hash; f = a2.words; for (g = 0; 4 > g; g++) j = f[g], f[g] = (j << 8 | j >>> 24) & 16711935 | (j << 24 | j >>> 8) & 4278255360; return a2; }, clone: function() { var a2 = s.clone.call(this); a2._hash = this._hash.clone(); return a2; } }); r2.MD5 = s._createHelper(q); r2.HmacMD5 = s._createHmacHelper(q); })(Math); (function() { var k = CryptoJS, b = k.lib, m = b.WordArray, l = b.Hasher, d = [], b = k.algo.SHA1 = l.extend({ _doReset: function() { this._hash = new m.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]); }, _doProcessBlock: function(n2, p) { for (var a = this._hash.words, e2 = a[0], f = a[1], h = a[2], j = a[3], b2 = a[4], c = 0; 80 > c; c++) { if (16 > c) d[c] = n2[p + c] | 0; else { var g = d[c - 3] ^ d[c - 8] ^ d[c - 14] ^ d[c - 16]; d[c] = g << 1 | g >>> 31; } g = (e2 << 5 | e2 >>> 27) + b2 + d[c]; g = 20 > c ? g + ((f & h | ~f & j) + 1518500249) : 40 > c ? g + ((f ^ h ^ j) + 1859775393) : 60 > c ? g + ((f & h | f & j | h & j) - 1894007588) : g + ((f ^ h ^ j) - 899497514); b2 = j; j = h; h = f << 30 | f >>> 2; f = e2; e2 = g; } a[0] = a[0] + e2 | 0; a[1] = a[1] + f | 0; a[2] = a[2] + h | 0; a[3] = a[3] + j | 0; a[4] = a[4] + b2 | 0; }, _doFinalize: function() { var b2 = this._data, d2 = b2.words, a = 8 * this._nDataBytes, e2 = 8 * b2.sigBytes; d2[e2 >>> 5] |= 128 << 24 - e2 % 32; d2[(e2 + 64 >>> 9 << 4) + 14] = Math.floor(a / 4294967296); d2[(e2 + 64 >>> 9 << 4) + 15] = a; b2.sigBytes = 4 * d2.length; this._process(); return this._hash; }, clone: function() { var b2 = l.clone.call(this); b2._hash = this._hash.clone(); return b2; } }); k.SHA1 = l._createHelper(b); k.HmacSHA1 = l._createHmacHelper(b); })(); (function(k) { for (var g = CryptoJS, h = g.lib, v = h.WordArray, j = h.Hasher, h = g.algo, s = [], t3 = [], u = function(q) { return 4294967296 * (q - (q | 0)) | 0; }, l = 2, b = 0; 64 > b; ) { var d; a: { d = l; for (var w = k.sqrt(d), r2 = 2; r2 <= w; r2++) if (!(d % r2)) { d = false; break a; } d = true; } d && (8 > b && (s[b] = u(k.pow(l, 0.5))), t3[b] = u(k.pow(l, 1 / 3)), b++); l++; } var n2 = [], h = h.SHA256 = j.extend({ _doReset: function() { this._hash = new v.init(s.slice(0)); }, _doProcessBlock: function(q, h2) { for (var a = this._hash.words, c = a[0], d2 = a[1], b2 = a[2], k2 = a[3], f = a[4], g2 = a[5], j2 = a[6], l2 = a[7], e2 = 0; 64 > e2; e2++) { if (16 > e2) n2[e2] = q[h2 + e2] | 0; else { var m = n2[e2 - 15], p = n2[e2 - 2]; n2[e2] = ((m << 25 | m >>> 7) ^ (m << 14 | m >>> 18) ^ m >>> 3) + n2[e2 - 7] + ((p << 15 | p >>> 17) ^ (p << 13 | p >>> 19) ^ p >>> 10) + n2[e2 - 16]; } m = l2 + ((f << 26 | f >>> 6) ^ (f << 21 | f >>> 11) ^ (f << 7 | f >>> 25)) + (f & g2 ^ ~f & j2) + t3[e2] + n2[e2]; p = ((c << 30 | c >>> 2) ^ (c << 19 | c >>> 13) ^ (c << 10 | c >>> 22)) + (c & d2 ^ c & b2 ^ d2 & b2); l2 = j2; j2 = g2; g2 = f; f = k2 + m | 0; k2 = b2; b2 = d2; d2 = c; c = m + p | 0; } a[0] = a[0] + c | 0; a[1] = a[1] + d2 | 0; a[2] = a[2] + b2 | 0; a[3] = a[3] + k2 | 0; a[4] = a[4] + f | 0; a[5] = a[5] + g2 | 0; a[6] = a[6] + j2 | 0; a[7] = a[7] + l2 | 0; }, _doFinalize: function() { var d2 = this._data, b2 = d2.words, a = 8 * this._nDataBytes, c = 8 * d2.sigBytes; b2[c >>> 5] |= 128 << 24 - c % 32; b2[(c + 64 >>> 9 << 4) + 14] = k.floor(a / 4294967296); b2[(c + 64 >>> 9 << 4) + 15] = a; d2.sigBytes = 4 * b2.length; this._process(); return this._hash; }, clone: function() { var b2 = j.clone.call(this); b2._hash = this._hash.clone(); return b2; } }); g.SHA256 = j._createHelper(h); g.HmacSHA256 = j._createHmacHelper(h); })(Math); (function() { var b = CryptoJS, d = b.lib.WordArray, a = b.algo, c = a.SHA256, a = a.SHA224 = c.extend({ _doReset: function() { this._hash = new d.init([3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428]); }, _doFinalize: function() { var a2 = c._doFinalize.call(this); a2.sigBytes -= 4; return a2; } }); b.SHA224 = c._createHelper(a); b.HmacSHA224 = c._createHmacHelper(a); })(); (function() { function a() { return d.create.apply(d, arguments); } for (var n2 = CryptoJS, r2 = n2.lib.Hasher, e2 = n2.x64, d = e2.Word, T = e2.WordArray, e2 = n2.algo, ea = [ a(1116352408, 3609767458), a(1899447441, 602891725), a(3049323471, 3964484399), a(3921009573, 2173295548), a(961987163, 4081628472), a(1508970993, 3053834265), a(2453635748, 2937671579), a(2870763221, 3664609560), a(3624381080, 2734883394), a(310598401, 1164996542), a(607225278, 1323610764), a(1426881987, 3590304994), a(1925078388, 4068182383), a(2162078206, 991336113), a(2614888103, 633803317), a(3248222580, 3479774868), a(3835390401, 2666613458), a(4022224774, 944711139), a(264347078, 2341262773), a(604807628, 2007800933), a(770255983, 1495990901), a(1249150122, 1856431235), a(1555081692, 3175218132), a(1996064986, 2198950837), a(2554220882, 3999719339), a(2821834349, 766784016), a(2952996808, 2566594879), a(3210313671, 3203337956), a(3336571891, 1034457026), a(3584528711, 2466948901), a(113926993, 3758326383), a(338241895, 168717936), a(666307205, 1188179964), a(773529912, 1546045734), a(1294757372, 1522805485), a( 1396182291, 2643833823 ), a(1695183700, 2343527390), a(1986661051, 1014477480), a(2177026350, 1206759142), a(2456956037, 344077627), a(2730485921, 1290863460), a(2820302411, 3158454273), a(3259730800, 3505952657), a(3345764771, 106217008), a(3516065817, 3606008344), a(3600352804, 1432725776), a(4094571909, 1467031594), a(275423344, 851169720), a(430227734, 3100823752), a(506948616, 1363258195), a(659060556, 3750685593), a(883997877, 3785050280), a(958139571, 3318307427), a(1322822218, 3812723403), a(1537002063, 2003034995), a(1747873779, 3602036899), a(1955562222, 1575990012), a(2024104815, 1125592928), a(2227730452, 2716904306), a(2361852424, 442776044), a(2428436474, 593698344), a(2756734187, 3733110249), a(3204031479, 2999351573), a(3329325298, 3815920427), a(3391569614, 3928383900), a(3515267271, 566280711), a(3940187606, 3454069534), a(4118630271, 4000239992), a(116418474, 1914138554), a(174292421, 2731055270), a(289380356, 3203993006), a(460393269, 320620315), a(685471733, 587496836), a(852142971, 1086792851), a(1017036298, 365543100), a(1126000580, 2618297676), a( 1288033470, 3409855158 ), a(1501505948, 4234509866), a(1607167915, 987167468), a(1816402316, 1246189591) ], v = [], w = 0; 80 > w; w++) v[w] = a(); e2 = e2.SHA512 = r2.extend({ _doReset: function() { this._hash = new T.init([new d.init(1779033703, 4089235720), new d.init(3144134277, 2227873595), new d.init(1013904242, 4271175723), new d.init(2773480762, 1595750129), new d.init(1359893119, 2917565137), new d.init(2600822924, 725511199), new d.init(528734635, 4215389547), new d.init(1541459225, 327033209)]); }, _doProcessBlock: function(a2, d2) { for (var f = this._hash.words, F