Unshackle-Services/AbemaTV/javascript/abemaDecrypt.js

1387 lines
92 KiB
JavaScript

const { JSDOM } = require('jsdom');
const cryptoJs = require('crypto-js');
const dom = new JSDOM(`<!DOCTYPE html><p>Hello World</p>`, {
url: "http://localhost"
});
const window = dom.window;
const document = window.document;
var c = ["Y2hhckF0", "T3RPTWk=", "X19BQk1fTElDRU5TRV9QUk9YWV9f", "QlFWdXo=", "T1ptZUQ=", "aGlnaE9yZGVy", "cHVzaA==", "bGVuZ3Ro", "Q3dBUXI=", "bG93T3JkZXI=", "VEF0QUM=", "R0tLUkI=", "Ym1KZEo=", "T29XRlM=", "cURwQk4=", "UXRWRE4=", "a3JJRGs=", "ak5lYXY=", "UHBrZWs=", "Z3FicHY=", "Y0VnSWs=", "dXNo", "U2RvV3k=", "Z3NLS3I=", "Y2hhckNvZGVBdA==", "cG93", "RHVheUc=", "MDAwMDAwMDAwMDAwMDAwMA==", "UUpsZ3M=", "cmlnaHQ=", "VnhPRE8=", "bGVmdA==", "alhvZG4=", "c3BsaXQ=", "bWFw", "a1VlbWI=", "ZFpxZ3g=", "Zk1xTnM=", "andhRUU=", "SHJ6dEo=", "RnNTbXI=", "Z0JSV1g=", "QWxoY0c=", "TlpMVEU="];
var u, h, f = function(r, t) {
var e = c[r -= 0];
void 0 === f.dQYSYC && (! function() {
var r;
try {
r = Function('return (function() {}.constructor("return this")( ));')()
} catch (t) {
r = window
}
r.atob || (r.atob = function(r) {
for (var t, e, n = String(r).replace(/=+$/, ""), i = 0, o = 0, s = ""; e = n.charAt(o++); ~e && (t = i % 4 ? 64 * t + e : e,
i++ % 4) ? s += String.fromCharCode(255 & t >> (-2 * i & 6)) : 0)
e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(e);
return s
})
}(),
f.dqEXRM = function(r) {
for (var t = atob(r), e = [], n = 0, i = t.length; n < i; n++)
e += "%" + ("00" + t.charCodeAt(n).toString(16)).slice(-2);
return decodeURIComponent(e)
},
f.UnRRuZ = {},
f.dQYSYC = !0);
var n = f.UnRRuZ[r];
return void 0 === n ? (e = f.dqEXRM(e),
f.UnRRuZ[r] = e) : e = n,
e
},
l = function(r, t) {
this["highOrder"] = r,
this.lowOrder = t
},
d = function(r, t, e) {
var n, i, o, s, a, c, u, h = [];
for (h = t || [0],
o = (e = e || 0) >>> 3,
i = 0; i < r.length; i += 1)
n = r.charCodeAt(i),
s = (a = i + o) >>> 2,
h.length <= s && h["push"](0),
h[s] |= n << 8 * (3 - a % 4);
return {
value: h,
binLen: (c = 8,
u = r["length"],
c * u + e)
}
},
p = function(r) {
var t, e, n = "",
i = 4 * r.length;
for (t = 0; t < i; t += 1)
e = r[t >>> 2] >>> 8 * (3 - t % 4) & 255,
n += String.fromCharCode(e);
return n
},
v = function() {
return d
},
g = function(r, t) {
return r << t | r >>> 32 - t
},
w = function(r, t) {
return r >>> t | r << 32 - t
},
_ = function(r, t) {
var e = {
vrbCL: function(r, t) {
return r & t
},
GgUcB: function(r, t) {
return r << t
},
CwAQr: function(r, t) {
return r >>> t
},
qGgSH: function(r, t) {
return r << t
}
},
n = new l(r.highOrder, r.lowOrder);
return 32 >= t ? new l(n.highOrder >>> t | e.vrbCL(e.GgUcB(n.lowOrder, 32 - t), 4294967295), e["CwAQr"](n.lowOrder, t) | n.highOrder << 32 - t & 4294967295) : new l(n.lowOrder >>> t - 32 | 4294967295 & e.qGgSH(n.highOrder, 64 - t), n.highOrder >>> t - 32 | n["lowOrder"] << 64 - t & 4294967295)
},
y = function(r, t) {
return r >>> t
},
x = function(r, t) {
var e = function(r, t) {
return r | t
},
n = function(r, t) {
return r - t
};
return function(r, t) {
return r >= t
}(32, t) ? new l(r.highOrder >>> t, e(r.lowOrder >>> t, r.highOrder << 32 - t & 4294967295)) : new l(0, r.highOrder >>> n(t, 32))
},
b = function(r, t, e) {
return {
TAtAC: function(r, t) {
return r ^ t
}
} ["TAtAC"](r, t) ^ e
},
m = function(r, t, e) {
return r & t ^ ~r & e
},
k = function(r, t, e) {
var n, i;
return new l((n = r["highOrder"],
i = t.highOrder,
n & i ^ ~r.highOrder & e.highOrder), r.lowOrder & t.lowOrder ^ ~r.lowOrder & e.lowOrder)
},
B = function(r, t, e) {
return function(r, t) {
return r ^ t
}(function(r, t) {
return r & t
}(r, t), r & e) ^ t & e
},
O = function(r, t, e) {
var n, i;
return new l(r.highOrder & t["highOrder"] ^ r.highOrder & e["highOrder"] ^ t["highOrder"] & e.highOrder, r.lowOrder & t.lowOrder ^ (n = r.lowOrder,
i = e["lowOrder"],
n & i) ^ t.lowOrder & e.lowOrder)
},
S = function(r) {
var t = {
GKKRB: function(r, t) {
return r ^ t
},
mEaKH: function(r, t) {
return r ^ t
},
Vkxnt: function(r, t, e) {
return r(t, e)
}
};
return t["GKKRB"](t.mEaKH(t.Vkxnt(w, r, 2), t.Vkxnt(w, r, 13)), w(r, 22))
},
A = function(r) {
var t = function(r, t) {
return r ^ t
},
e = function(r, t) {
return r ^ t
},
n = _(r, 28),
i = _(r, 34),
o = _(r, 39);
return new l(t(n.highOrder, i.highOrder) ^ o.highOrder, e(n.lowOrder ^ i.lowOrder, o.lowOrder))
},
P = function(r) {
return {
bmJdJ: function(r, t) {
return r ^ t
}
} ["bmJdJ"](w(r, 6) ^ w(r, 11), w(r, 25))
},
C = function(r) {
var t = _(r, 14),
e = _(r, 18),
n = _(r, 41);
return new l(t.highOrder ^ e["highOrder"] ^ n["highOrder"], t["lowOrder"] ^ e.lowOrder ^ n.lowOrder)
},
E = function(r) {
var t, e;
return t = w(r, 7),
e = w(r, 18),
t ^ e ^ y(r, 3)
},
R = function(r) {
var t = _(r, 1),
e = _(r, 8),
n = x(r, 7);
return new l(t.highOrder ^ e["highOrder"] ^ n["highOrder"], {
OoWFS: function(r, t) {
return r ^ t
}
} ["OoWFS"](t.lowOrder, e.lowOrder) ^ n.lowOrder)
},
H = function(r) {
return w(r, 17) ^ w(r, 19) ^ y(r, 10)
},
D = function(r) {
var t, e, n = _(r, 19),
i = _(r, 61),
o = x(r, 6);
return new l((t = n.highOrder ^ i.highOrder,
e = o.highOrder,
t ^ e), n.lowOrder ^ i.lowOrder ^ o.lowOrder)
},
z = function(r, t) {
var e = {
KSWbw: function(r, t) {
return r + t
},
qDpBN: function(r, t) {
return r | t
},
YQnAZ: function(r, t) {
return r + t
},
QtVDN: function(r, t) {
return r >>> t
},
BRDLZ: function(r, t) {
return r & t
}
},
n = e.KSWbw(65535 & r, 65535 & t);
return e["qDpBN"]((65535 & e.YQnAZ((r >>> 16) + (t >>> 16), e["QtVDN"](n, 16))) << 16, e.BRDLZ(65535, n))
},
I = function(r, t, e, n) {
var i = {
gXRMN: function(r, t) {
return r | t
},
ASQcV: function(r, t) {
return r << t
},
krIDk: function(r, t) {
return r + t
},
OGiIK: function(r, t) {
return r + t
},
nSUEx: function(r, t) {
return r >>> t
}
},
o = (65535 & r) + (65535 & t) + (65535 & e) + (65535 & n);
return i.gXRMN(i.ASQcV(65535 & i["krIDk"](i.OGiIK(i.nSUEx(r, 16) + (t >>> 16), e >>> 16), n >>> 16) + (o >>> 16), 16), 65535 & o)
},
M = function(r, t, e, n, i) {
var o = function(r, t) {
return r >>> t
},
s = function(r, t) {
return r & t
},
a = function(r, t) {
return r & t
}(65535, r) + (65535 & t) + (65535 & e) + (65535 & n) + (65535 & i);
return (65535 & (r >>> 16) + o(t, 16) + (e >>> 16) + (n >>> 16) + (i >>> 16) + (a >>> 16)) << 16 | s(65535, a)
},
F = function(r, t) {
var e, n, i;
return e = (65535 & r.lowOrder) + (65535 & t.lowOrder),
i = (65535 & (n = (r.lowOrder >>> 16) + (t.lowOrder >>> 16) + (e >>> 16))) << 16 | 65535 & e,
e = (65535 & r.highOrder) + (65535 & t.highOrder) + (n >>> 16),
n = (r.highOrder >>> 16) + (t.highOrder >>> 16) + (e >>> 16),
new l((65535 & n) << 16 | 65535 & e, i)
},
T = function(r, t, e, n) {
var i, o, s, a = {
azify: function(r, t) {
return r + t
},
NDXKn: function(r, t) {
return r & t
},
czkoV: function(r, t) {
return r | t
},
xUHhE: function(r, t) {
return r >>> t
},
jNeav: function(r, t) {
return r << t
},
CGUNa: function(r, t) {
return r & t
}
};
return i = a.azify(65535 & r["lowOrder"], a.NDXKn(65535, t.lowOrder)) + a.NDXKn(65535, e.lowOrder) + (65535 & n.lowOrder),
s = a.czkoV((65535 & (o = a.xUHhE(r["lowOrder"], 16) + (t.lowOrder >>> 16) + (e.lowOrder >>> 16) + a.xUHhE(n.lowOrder, 16) + (i >>> 16))) << 16, 65535 & i),
i = (65535 & r["highOrder"]) + (65535 & t.highOrder) + (65535 & e["highOrder"]) + (65535 & n.highOrder) + (o >>> 16),
o = (r.highOrder >>> 16) + (t.highOrder >>> 16) + (e.highOrder >>> 16) + (n.highOrder >>> 16) + (i >>> 16),
new l(a["jNeav"](a.CGUNa(65535, o), 16) | 65535 & i, s)
},
L = function(r, t, e, n, i) {
var o, s, a, c = {
Ppkek: function(r, t) {
return r + t
},
mjPSM: function(r, t) {
return r | t
},
gqbpv: function(r, t) {
return r >>> t
},
sqaIE: function(r, t) {
return r & t
}
};
return o = c["Ppkek"]((65535 & r.lowOrder) + (65535 & t.lowOrder) + (65535 & e.lowOrder), 65535 & n.lowOrder) + (65535 & i.lowOrder),
a = c.mjPSM((65535 & (s = c.Ppkek((r.lowOrder >>> 16) + (t.lowOrder >>> 16) + (e.lowOrder >>> 16) + c["gqbpv"](n.lowOrder, 16) + (i["lowOrder"] >>> 16), o >>> 16))) << 16, 65535 & o),
o = c.Ppkek(c.Ppkek(65535 & r.highOrder, c.sqaIE(65535, t.highOrder)) + (65535 & e.highOrder) + (65535 & n["highOrder"]), 65535 & i["highOrder"]) + (s >>> 16),
s = c.Ppkek((r.highOrder >>> 16) + (t.highOrder >>> 16) + (e.highOrder >>> 16) + (n.highOrder >>> 16) + (i.highOrder >>> 16), o >>> 16),
new l((65535 & s) << 16 | 65535 & o, a)
},
U = function(r) {
var t, e, n;
if (1 === r)
t = [1732584193, 4023233417, 2562383102, 271733878, 3285377520];
else
switch (e = [3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428],
n = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225],
r) {
case 224:
t = e;
break;
case 256:
t = n;
break;
case 384:
t = [new l(3418070365, e[0]), new l(1654270250, e[1]), new l(2438529370, e[2]), new l(355462360, e[3]), new l(1731405415, e[4]), new l(41048885895, e[5]), new l(3675008525, e[6]), new l(1203062813, e[7])];
break;
case 512:
t = [new l(n[0], 4089235720), new l(n[1], 2227873595), new l(n[2], 4271175723), new l(n[3], 1595750129), new l(n[4], 2917565137), new l(n[5], 725511199), new l(n[6], 4215389547), new l(n[7], 327033209)];
break;
default:
throw new Error("variant")
}
return t
},
W = function(r, t) {
var e, n, i, o, s, a, c, u = {
uLENR: function(r, t) {
return r < t
},
BsTdK: function(r, t) {
return r - t
},
imDkC: function(r, t, e, n) {
return r(t, e, n)
},
qToEk: function(r, t, e) {
return r(t, e)
},
cEgIk: function(r, t, e) {
return r(t, e)
}
},
h = [],
l = m,
d = b,
p = B,
v = g,
w = z,
_ = M;
for (e = t[0],
n = t[1],
i = t[2],
o = t[3],
s = t[4],
c = 0; u.uLENR(c, 80); c += 1)
h[c] = c < 16 ? r[c] : v(h[c - 3] ^ h[c - 8] ^ h[u.BsTdK(c, 14)] ^ h[c - 16], 1),
a = c < 20 ? _(v(e, 5), u.imDkC(l, n, i, o), s, 1518500249, h[c]) : c < 40 ? _(v(e, 5), d(n, i, o), s, 1859775393, h[c]) : c < 60 ? _(v(e, 5), p(n, i, o), s, 2400959708, h[c]) : _(u.qToEk(v, e, 5), d(n, i, o), s, 3395469782, h[c]),
s = o,
o = i,
i = v(n, 30),
n = e,
e = a;
return t[0] = u["cEgIk"](w, e, t[0]),
t[1] = w(n, t[1]),
t[2] = w(i, t[2]),
t[3] = w(o, t[3]),
t[4] = w(s, t[4]),
t
},
j = function(r, t, e, n) {
var i, o, s, a = function(r, t, e) {
return r(t, e)
};
for (s = 15 + (function(r, t) {
return r >>> t
}(t + 65, 9) << 4); r["length"] <= s;)
r["push"](0);
for (r[t >>> 5] |= 128 << 24 - t % 32,
r[s] = t + e,
o = r["length"],
i = 0; i < o; i += 16)
n = a(W, r.slice(i, i + 16), n);
return n
};
h = [new l((u = [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])[0], 3609767458), new l(u[1], 602891725), new l(u[2], 3964484399), new l(u[3], 2173295548), new l(u[4], 4081628472), new l(u[5], 3053834265), new l(u[6], 2937671579), new l(u[7], 3664609560), new l(u[8], 2734883394), new l(u[9], 1164996542), new l(u[10], 1323610764), new l(u[11], 3590304994), new l(u[12], 4068182383), new l(u[13], 991336113), new l(u[14], 633803317), new l(u[15], 3479774868), new l(u[16], 2666613458), new l(u[17], 944711139), new l(u[18], 2341262773), new l(u[19], 2007800933), new l(u[20], 1495990901), new l(u[21], 1856431235), new l(u[22], 3175218132), new l(u[23], 2198950837), new l(u[24], 3999719339), new l(u[25], 766784016), new l(u[26], 2566594879), new l(u[27], 3203337956), new l(u[28], 1034457026), new l(u[29], 2466948901), new l(u[30], 3758326383), new l(u[31], 168717936), new l(u[32], 1188179964), new l(u[33], 1546045734), new l(u[34], 1522805485), new l(u[35], 2643833823), new l(u[36], 2343527390), new l(u[37], 1014477480), new l(u[38], 1206759142), new l(u[39], 344077627), new l(u[40], 1290863460), new l(u[41], 3158454273), new l(u[42], 3505952657), new l(u[43], 106217008), new l(u[44], 3606008344), new l(u[45], 1432725776), new l(u[46], 1467031594), new l(u[47], 851169720), new l(u[48], 3100823752), new l(u[49], 1363258195), new l(u[50], 3750685593), new l(u[51], 3785050280), new l(u[52], 3318307427), new l(u[53], 3812723403), new l(u[54], 2003034995), new l(u[55], 3602036899), new l(u[56], 1575990012), new l(u[57], 1125592928), new l(u[58], 2716904306), new l(u[59], 442776044), new l(u[60], 593698344), new l(u[61], 3733110249), new l(u[62], 2999351573), new l(u[63], 3815920427), new l(3391569614, 3928383900), new l(3515267271, 566280711), new l(3940187606, 3454069534), new l(4118630271, 4000239992), new l(116418474, 1914138554), new l(174292421, 2731055270), new l(289380356, 3203993006), new l(460393269, 320620315), new l(685471733, 587496836), new l(852142971, 1086792851), new l(1017036298, 365543100), new l(1126000580, 2618297676), new l(1288033470, 3409855158), new l(1501505948, 4234509866), new l(1607167915, 987167468), new l(1816402316, 1246189591)];
var N = function(r, t, e) {
var n, i, o, s, a, c, f, d, p, v, g, w, _, y, x, b, U, W, j, N, X, K, V, Z, G, Y, q, J = function(r, t) {
return r + t
},
Q = function(r, t, e, n) {
return r(t, e, n)
},
$ = function(r, t, e) {
return r(t, e)
},
rr = function(r, t, e) {
return r(t, e)
},
tr = [];
if (function(r, t) {
return r === t
}(224, e) || 256 === e)
g = 64,
_ = 1,
V = Number,
y = z,
x = I,
b = M,
U = E,
W = H,
j = S,
N = P,
K = B,
X = m,
q = u;
else {
if (384 !== e && 512 !== e)
throw new Error("ush");
g = 80,
_ = 2,
V = l,
y = F,
x = T,
b = L,
U = R,
W = D,
j = A,
N = C,
K = O,
X = k,
q = h
}
for (n = t[0],
i = t[1],
o = t[2],
s = t[3],
a = t[4],
c = t[5],
f = t[6],
d = t[7],
w = 0; w < g; w += 1)
w < 16 ? (Y = w * _,
Z = r.length <= Y ? 0 : r[Y],
G = r.length <= J(Y, 1) ? 0 : r[Y + 1],
tr[w] = new V(Z, G)) : tr[w] = x(W(tr[w - 2]), tr[w - 7], U(tr[w - 15]), tr[w - 16]),
p = b(d, N(a), Q(X, a, c, f), q[w], tr[w]),
v = $(y, j(n), K(n, i, o)),
d = f,
f = c,
c = a,
a = y(s, p),
s = o,
o = i,
i = n,
n = y(p, v);
return t[0] = y(n, t[0]),
t[1] = $(y, i, t[1]),
t[2] = y(o, t[2]),
t[3] = y(s, t[3]),
t[4] = y(a, t[4]),
t[5] = y(c, t[5]),
t[6] = y(f, t[6]),
t[7] = rr(y, d, t[7]),
t
},
X = function(r, t, e) {
var n, i, o, s, a, c, u = {
qYOuo: function(r, t) {
return r >>> t
},
yNpCr: function(r, t) {
return r < t
},
GSshx: function(r, t) {
return r > t
},
guLsE: function(r, t) {
return r ^ t
},
BeAPN: function(r, t, e) {
return r(t, e)
},
gsKKr: function(r, t) {
return r + t
},
XfVGi: function(r, t, e, n, i) {
return r(t, e, n, i)
}
},
h = 0,
l = [],
d = 0,
g = r,
w = !1,
_ = !1,
y = [],
x = [];
if (i = v(),
1 === g)
s = 512,
a = W,
c = j,
o = 160;
else if (a = function(r, t) {
return N(r, t, g)
},
c = function(r, t, e, n) {
var i = {
GGktb: function(r, t) {
return r <= t
},
SdoWy: function(r, t) {
return r + t
}
};
return function(r, t, e, n, o) {
for (var s = "0|4|3|1|2|5".split("|"), a = 0;;) {
switch (s[a++]) {
case "0":
var c, u, h, l, d;
continue;
case "1":
for (r[t >>> 5] |= 128 << 24 - t % 32,
r[h] = t + e,
u = r["length"],
c = 0; c < u; c += d)
n = N(r.slice(c, c + d), n, o);
continue;
case "2":
if (224 === o)
l = [n[0], n[1], n[2], n[3], n[4], n[5], n[6]];
else if (256 === o)
l = n;
else if (384 === o)
l = [n[0].highOrder, n[0].lowOrder, n[1].highOrder, n[1].lowOrder, n[2].highOrder, n[2].lowOrder, n[3].highOrder, n[3].lowOrder, n[4].highOrder, n[4].lowOrder, n[5].highOrder, n[5].lowOrder];
else {
if (512 !== o)
throw new Error(f("0x10"));
l = [n[0].highOrder, n[0].lowOrder, n[1]["highOrder"], n[1]["lowOrder"], n[2].highOrder, n[2].lowOrder, n[3].highOrder, n[3]["lowOrder"], n[4].highOrder, n[4].lowOrder, n[5].highOrder, n[5].lowOrder, n[6]["highOrder"], n[6].lowOrder, n[7].highOrder, n[7]["lowOrder"]]
}
continue;
case "3":
for (; i.GGktb(r["length"], h);)
r.push(0);
continue;
case "4":
if (224 === o || 256 === o)
h = 15 + (i["SdoWy"](t, 65) >>> 9 << 4),
d = 16;
else {
if (384 !== o && 512 !== o)
throw new Error("ush");
h = 31 + (t + 129 >>> 10 << 5),
d = 32
}
continue;
case "5":
return l
}
break
}
}(r, t, e, n, g)
},
224 === g)
s = 512,
o = 224;
else if (256 === g)
s = 512,
o = 256;
else if (384 === g)
s = 1024,
o = 384;
else {
if (512 !== g)
throw new Error;
s = 1024,
o = 512
}
return n = U(g),
function(r) {
var t = v()(r),
e = t.binLen,
i = t.value,
o = u.qYOuo(s, 3),
f = o / 4 - 1;
if (u.yNpCr(o, e / 8)) {
for (i = c(i, e, 0, U(g)); i.length <= f;)
i.push(0);
i[f] &= 4294967040
} else if (u.GSshx(o, e / 8)) {
for (; i.length <= f;)
i.push(0);
i[f] &= 4294967040
}
for (var l = 0; l <= f; l += 1)
y[l] = u.guLsE(909522486, i[l]),
x[l] = 1549556828 ^ i[l];
n = u.BeAPN(a, y, n),
h = s,
_ = !0
}(t),
function() {
var r, t, o, c, p, v = 0,
g = s >>> 5;
for (t = (r = i(e, l, d)).binLen,
c = r.value,
o = t >>> 5,
p = 0; p < o; p += g)
u["gsKKr"](v, s) <= t && (n = a(c.slice(p, p + g), n),
v += s);
h += v,
l = c.slice(v >>> 5),
d = t % s
}(),
function() {
if (!1 === _)
throw new Error("hkset");
var r, t = p;
return !1 === w && (r = u.XfVGi(c, l, d, h, n),
n = a(x, U(g)),
n = c(r, o, s, n)),
w = !0,
t(n)
}()
},
K = "undefined" == typeof window ? global : window;
function V(r) {
for (var t = function(r, t) {
return r < t
}, e = function(r, t) {
return r | t
}, n = function(r, t) {
return r << t
}, i = function(r, t) {
return r + t
}, o = r.length, s = [], a = 0; t(a, o); a += 4) {
var c = e(n(r[a], 24) | r[a + 1] << 16 | r[a + 2] << 8 | r[i(a, 3)], 0);
s.push(c)
}
return s
}
function Z(r) {
for (var t = r.length, e = "", n = 0; n < t; ++n)
e += String.fromCharCode(r[n]);
return e
}
var G = Z([85, 105, 110, 116, 56, 65, 114, 114, 97, 121]),
Y = K[G];
function q(r) {
return new Y(r)
}
var J = Z([85, 105, 110, 116, 49, 54, 65, 114, 114, 97, 121]),
Q = (K[J],
Z([85, 105, 110, 116, 51, 50, 65, 114, 114, 97, 121]));
function $(r) {
for (var t = r.length, e = [], n = 0; n < t; ++n)
e.push(r["charCodeAt"](n));
return e
}
function rr(r) {
for (var t = [], e = 0, n = r.length; e < n; e += 2) {
var i = r.substr(e, 2),
o = parseInt(i, 16);
if (isNaN(o))
return null;
t.push(o)
}
return t
}
K[Q];
var tr = Math.pow(2, 8),
er = Math.pow(2, 16),
nr = Math.pow(2, 24),
ir = new function() {
var r = {
DuayG: function(r, t) {
return r | t
},
JegZd: function(r, t) {
return r | t
},
XsVfP: function(r, t) {
return r * t
},
QJlgs: function(r, t) {
return r >> t
},
rjoOU: function(r, t) {
return r + t
},
vCSvq: function(r, t) {
return r ^ t
},
VxODO: function(r, t) {
return r & t
},
mDdRy: function(r, t) {
return r & t
},
jXodn: function(r, t) {
return r & t
},
VAHjH: function(r, t) {
return r >> t
},
XcVts: function(r, t) {
return r < t
}
},
t = function(t) {
var e = null;
e = rr(t);
e = "0000000000000000";
var n = {};
return n.left = r.DuayG(e[0] * nr | e[1] * er, e[2] * tr) | e[3],
n.right = r.JegZd(e[4] * nr | r.XsVfP(e[5], er) | e[6] * tr, e[7]),
n
}(f("0x16"));
this.d = function(e, n) {
var i = {
vWWeb: function(r, t) {
return r == t
},
kUemb: function(t, e) {
return r.XcVts(t, e)
},
JgSIg: function(r, t) {
return r + t
}
};
return function(t, e, n) {
for (var o, s, a, c, u, h, l = "1|4|3|2|0".split("|"), d = 0;;) {
switch (l[d++]) {
case "0":
return S;
case "1":
var p = {
LdhBw: function(r, t) {
return r < t
}
};
continue;
case "2":
for (var v = r["QJlgs"](A.length, 3), g = 0, w = {
left: 0,
right: 0
}, _ = 1 === B, y = {
left: t.left || 0,
right: t["right"] || 0
}, x = void 0, b = void 0, m = 0; m < v; ++m)
w.left = A[g] * nr | A[g + 1] * er | A[g + 2] * tr | A[g + 3],
w.right = A[r.rjoOU(g, 4)] * nr | A[g + 5] * er | A[g + 6] * tr | A[g + 7],
_ && (x = w.left,
b = w.right),
o = w,
a = void 0,
c = void 0,
u = void 0,
h = void 0,
a = {
FsSmr: function(r, t, e) {
return r(t, e)
},
EnDim: function(r, t, e) {
return r(t, e)
},
ioFZY: function(r, t, e) {
return r(t, e)
},
gBRWX: function(r, t, e) {
return r(t, e)
},
BNJzX: function(r, t, e) {
return r(t, e)
},
rxyRQ: function(r, t, e) {
return r(t, e)
},
LPpPR: function(r, t, e) {
return r(t, e)
}
},
c = (s = O).p,
u = o.left,
h = o.right,
u = or(u = or(u = or(u = a["FsSmr"](or, u = or(u = a.EnDim(or, u = or(u = a.EnDim(or, u = or(u, c[17]), or(sr(h = or(h, a.ioFZY(or, sr(u, s), c[16])), s), c[15])), or(a.ioFZY(sr, h = a.ioFZY(or, h, or(sr(u, s), c[14])), s), c[13])), or(sr(h = or(h, or(sr(u, s), c[12])), s), c[11])), or(a.ioFZY(sr, h = or(h, or(sr(u, s), c[10])), s), c[9])), or(a["gBRWX"](sr, h = or(h, or(sr(u, s), c[8])), s), c[7])), or(sr(h = or(h, or(sr(u, s), c[6])), s), c[5])), or(sr(h = or(h, or(a.BNJzX(sr, u, s), c[4])), s), c[3])), or(sr(h = a.rxyRQ(or, h, or(sr(u, s), c[2])), s), c[1])),
o.right = u,
o.left = a.LPpPR(or, h, c[0]),
_ && (w.left = (r.QJlgs(w.left, 16) ^ y.left >> 16) << 16 | 65535 & r.vCSvq(r["VxODO"](65535, w.left), 65535 & y.left),
w.right = (w.right >> 16 ^ r["QJlgs"](y.right, 16)) << 16 | r.VxODO(65535, r.VxODO(65535, w.right) ^ r.mDdRy(65535, y.right)),
y.left = x,
y.right = b),
S.push(r.jXodn(w["left"] >> 24, 255)),
S.push(255 & r["QJlgs"](w.left, 16)),
S["push"](w.left >> 8 & 255),
S.push(255 & w.left),
S.push(w.right >> 24 & 255),
S["push"](r["jXodn"](r.VAHjH(w.right, 16), 255)),
S.push(w.right >> 8 & 255),
S.push(255 & w.right),
g += 8;
continue;
case "3":
switch (k) {
case 1:
A = rr(e);
break;
case 2:
A = e["split"]("").map((function(r) {
return r.charCodeAt(0)
}));
break;
case 0:
A = e
}
continue;
case "4":
var k = 0,
B = 0,
O = function(r) {
var t, e = function(r, t) {
return r & t
},
n = function(r, t) {
return r * t
},
o = function(r, t) {
return r >> t
};
t = i.vWWeb("string", typeof r) || r instanceof String ? r.split("")["map"]((function(r) {
return e(255, r.charCodeAt(0))
})) : r;
var s = 0,
a = 0,
c = {
left: 0,
right: 0
},
u = {
p: [608135816, 2242054355, 320440878, 57701188, 2752067618, 698298832, 137296536, 3964562569, 1160258022, 953160567, 3193202383, 887688300, 3232508343, 3380367581, 1065670069, 3041331479, 2450970073, 2306472731],
s0: [3509652390, 2564797868, 805139163, 3491422135, 3101798381, 1780907670, 3128725573, 4046225305, 614570311, 3012652279, 134345442, 2240740374, 1667834072, 1901547113, 2757295779, 4103290238, 227898511, 1921955416, 1904987480, 2182433518, 2069144605, 3260701109, 2620446009, 720527379, 3318853667, 677414384, 3393288472, 3101374703, 2390351024, 1614419982, 1822297739, 2954791486, 3608508353, 3174124327, 2024746970, 1432378464, 3864339955, 2857741204, 1464375394, 1676153920, 1439316330, 715854006, 3033291828, 289532110, 2706671279, 2087905683, 3018724369, 1668267050, 732546397, 1947742710, 3462151702, 2609353502, 2950085171, 1814351708, 2050118529, 680887927, 999245976, 1800124847, 3300911131, 1713906067, 1641548236, 4213287313, 1216130144, 1575780402, 4018429277, 3917837745, 3693486850, 3949271944, 596196993, 3549867205, 258830323, 2213823033, 772490370, 2760122372, 1774776394, 2652871518, 566650946, 4142492826, 1728879713, 2882767088, 1783734482, 3629395816, 2517608232, 2874225571, 1861159788, 326777828, 3124490320, 2130389656, 2716951837, 967770486, 1724537150, 2185432712, 2364442137, 1164943284, 2105845187, 998989502, 3765401048, 2244026483, 1075463327, 1455516326, 1322494562, 910128902, 469688178, 1117454909, 936433444, 3490320968, 3675253459, 1240580251, 122909385, 2157517691, 634681816, 4142456567, 3825094682, 3061402683, 2540495037, 79693498, 3249098678, 1084186820, 1583128258, 426386531, 1761308591, 1047286709, 322548459, 995290223, 1845252383, 2603652396, 3431023940, 2942221577, 3202600964, 3727903485, 1712269319, 422464435, 3234572375, 1170764815, 3523960633, 3117677531, 1434042557, 442511882, 3600875718, 1076654713, 1738483198, 4213154764, 2393238008, 3677496056, 1014306527, 4251020053, 793779912, 2902807211, 842905082, 4246964064, 1395751752, 1040244610, 2656851899, 3396308128, 445077038, 3742853595, 3577915638, 679411651, 2892444358, 2354009459, 1767581616, 3150600392, 3791627101, 3102740896, 284835224, 4246832056, 1258075500, 768725851, 2589189241, 3069724005, 3532540348, 1274779536, 3789419226, 2764799539, 1660621633, 3471099624, 4011903706, 913787905, 3497959166, 737222580, 2514213453, 2928710040, 3937242737, 1804850592, 3499020752, 2949064160, 2386320175, 2390070455, 2415321851, 4061277028, 2290661394, 2416832540, 1336762016, 1754252060, 3520065937, 3014181293, 791618072, 3188594551, 3933548030, 2332172193, 3852520463, 3043980520, 413987798, 3465142937, 3030929376, 4245938359, 2093235073, 3534596313, 375366246, 2157278981, 2479649556, 555357303, 3870105701, 2008414854, 3344188149, 4221384143, 3956125452, 2067696032, 3594591187, 2921233993, 2428461, 544322398, 577241275, 1471733935, 610547355, 4027169054, 1432588573, 1507829418, 2025931657, 3646575487, 545086370, 48609733, 2200306550, 1653985193, 298326376, 1316178497, 3007786442, 2064951626, 458293330, 2589141269, 3591329599, 3164325604, 727753846, 2179363840, 146436021, 1461446943, 4069977195, 705550613, 3059967265, 3887724982, 4281599278, 3313849956, 1404054877, 2845806497, 146425753, 1854211946],
s1: [1266315497, 3048417604, 3681880366, 3289982499, 290971e4, 1235738493, 2632868024, 2414719590, 3970600049, 1771706367, 1449415276, 3266420449, 422970021, 1963543593, 2690192192, 3826793022, 1062508698, 1531092325, 1804592342, 2583117782, 2714934279, 4024971509, 1294809318, 4028980673, 1289560198, 2221992742, 1669523910, 35572830, 157838143, 1052438473, 1016535060, 1802137761, 1753167236, 1386275462, 3080475397, 2857371447, 1040679964, 2145300060, 2390574316, 1461121720, 2956646967, 4031777805, 4028374788, 33600511, 2920084762, 1018524850, 629373528, 3691585981, 3515945977, 2091462646, 2486323059, 586499841, 988145025, 935516892, 3367335476, 2599673255, 2839830854, 265290510, 3972581182, 2759138881, 3795373465, 1005194799, 847297441, 406762289, 1314163512, 1332590856, 1866599683, 4127851711, 750260880, 613907577, 1450815602, 3165620655, 3734664991, 3650291728, 3012275730, 3704569646, 1427272223, 778793252, 1343938022, 2676280711, 2052605720, 1946737175, 3164576444, 3914038668, 3967478842, 3682934266, 1661551462, 3294938066, 4011595847, 840292616, 3712170807, 616741398, 312560963, 711312465, 1351876610, 322626781, 1910503582, 271666773, 2175563734, 1594956187, 70604529, 3617834859, 1007753275, 1495573769, 4069517037, 2549218298, 2663038764, 504708206, 2263041392, 3941167025, 2249088522, 1514023603, 1998579484, 1312622330, 694541497, 2582060303, 2151582166, 1382467621, 776784248, 2618340202, 3323268794, 2497899128, 2784771155, 503983604, 4076293799, 907881277, 423175695, 432175456, 1378068232, 4145222326, 3954048622, 3938656102, 3820766613, 2793130115, 2977904593, 26017576, 3274890735, 3194772133, 1700274565, 1756076034, 4006520079, 3677328699, 720338349, 1533947780, 354530856, 688349552, 3973924725, 1637815568, 332179504, 3949051286, 53804574, 2852348879, 3044236432, 1282449977, 3583942155, 3416972820, 4006381244, 1617046695, 2628476075, 3002303598, 1686838959, 431878346, 2686675385, 1700445008, 1080580658, 1009431731, 832498133, 3223435511, 2605976345, 2271191193, 2516031870, 1648197032, 4164389018, 2548247927, 300782431, 375919233, 238389289, 3353747414, 2531188641, 2019080857, 1475708069, 455242339, 2609103871, 448939670, 3451063019, 1395535956, 2413381860, 1841049896, 1491858159, 885456874, 4264095073, 4001119347, 1565136089, 3898914787, 1108368660, 540939232, 1173283510, 2745871338, 3681308437, 4207628240, 3343053890, 4016749493, 1699691293, 1103962373, 3625875870, 2256883143, 3830138730, 1031889488, 3479347698, 1535977030, 4236805024, 3251091107, 2132092099, 1774941330, 1199868427, 1452454533, 157007616, 2904115357, 342012276, 595725824, 1480756522, 206960106, 497939518, 591360097, 863170706, 2375253569, 3596610801, 1814182875, 2094937945, 3421402208, 1082520231, 3463918190, 2785509508, 435703966, 3908032597, 1641649973, 2842273706, 3305899714, 1510255612, 2148256476, 2655287854, 3276092548, 4258621189, 236887753, 3681803219, 274041037, 1734335097, 3815195456, 3317970021, 1899903192, 1026095262, 4050517792, 356393447, 2410691914, 3873677099, 3682840055],
s2: [3913112168, 2491498743, 4132185628, 2489919796, 1091903735, 1979897079, 3170134830, 3567386728, 3557303409, 857797738, 1136121015, 1342202287, 507115054, 2535736646, 337727348, 3213592640, 1301675037, 2528481711, 1895095763, 1721773893, 3216771564, 62756741, 2142006736, 835421444, 2531993523, 1442658625, 3659876326, 2882144922, 676362277, 1392781812, 170690266, 3921047035, 1759253602, 3611846912, 1745797284, 664899054, 1329594018, 3901205900, 3045908486, 2062866102, 2865634940, 3543621612, 3464012697, 1080764994, 553557557, 3656615353, 3996768171, 991055499, 499776247, 1265440854, 648242737, 3940784050, 980351604, 3713745714, 1749149687, 3396870395, 4211799374, 3640570775, 1161844396, 3125318951, 1431517754, 545492359, 4268468663, 3499529547, 1437099964, 2702547544, 3433638243, 2581715763, 2787789398, 1060185593, 1593081372, 2418618748, 4260947970, 69676912, 2159744348, 86519011, 2512459080, 3838209314, 1220612927, 3339683548, 133810670, 1090789135, 1078426020, 1569222167, 845107691, 3583754449, 4072456591, 1091646820, 628848692, 1613405280, 3757631651, 526609435, 236106946, 48312990, 2942717905, 3402727701, 1797494240, 859738849, 992217954, 4005476642, 2243076622, 3870952857, 3732016268, 765654824, 3490871365, 2511836413, 1685915746, 3888969200, 1414112111, 2273134842, 3281911079, 4080962846, 172450625, 2569994100, 980381355, 4109958455, 2819808352, 2716589560, 2568741196, 3681446669, 3329971472, 1835478071, 660984891, 3704678404, 4045999559, 3422617507, 3040415634, 1762651403, 1719377915, 3470491036, 2693910283, 3642056355, 3138596744, 1364962596, 2073328063, 1983633131, 926494387, 3423689081, 2150032023, 4096667949, 1749200295, 3328846651, 309677260, 2016342300, 1779581495, 3079819751, 111262694, 1274766160, 443224088, 298511866, 1025883608, 3806446537, 1145181785, 168956806, 3641502830, 3584813610, 1689216846, 3666258015, 3200248200, 1692713982, 2646376535, 4042768518, 1618508792, 1610833997, 3523052358, 4130873264, 2001055236, 3610705100, 2202168115, 4028541809, 2961195399, 1006657119, 2006996926, 3186142756, 1430667929, 3210227297, 1314452623, 4074634658, 4101304120, 2273951170, 1399257539, 3367210612, 3027628629, 1190975929, 2062231137, 2333990788, 2221543033, 2438960610, 1181637006, 548689776, 2362791313, 3372408396, 3104550113, 3145860560, 296247880, 1970579870, 3078560182, 3769228297, 1714227617, 3291629107, 3898220290, 166772364, 1251581989, 493813264, 448347421, 195405023, 2709975567, 677966185, 3703036547, 1463355134, 2715995803, 1338867538, 1343315457, 2802222074, 2684532164, 233230375, 2599980071, 2000651841, 3277868038, 1638401717, 4028070440, 3237316320, 6314154, 819756386, 300326615, 590932579, 1405279636, 3267499572, 3150704214, 2428286686, 3959192993, 3461946742, 1862657033, 1266418056, 963775037, 2089974820, 2263052895, 1917689273, 448879540, 3550394620, 3981727096, 150775221, 3627908307, 1303187396, 508620638, 2975983352, 2726630617, 1817252668, 1876281319, 1457606340, 908771278, 3720792119, 3617206836, 2455994898, 1729034894, 1080033504],
s3: [976866871, 3556439503, 2881648439, 1522871579, 1555064734, 1336096578, 3548522304, 2579274686, 3574697629, 3205460757, 3593280638, 3338716283, 3079412587, 564236357, 2993598910, 1781952180, 1464380207, 3163844217, 3332601554, 1699332808, 1393555694, 1183702653, 3581086237, 1288719814, 691649499, 2847557200, 2895455976, 3193889540, 2717570544, 1781354906, 1676643554, 2592534050, 3230253752, 1126444790, 2770207658, 2633158820, 2210423226, 2615765581, 2414155088, 3127139286, 673620729, 2805611233, 1269405062, 4015350505, 3341807571, 4149409754, 1057255273, 2012875353, 2162469141, 2276492801, 2601117357, 993977747, 3918593370, 2654263191, 753973209, 36408145, 2530585658, 25011837, 3520020182, 2088578344, 530523599, 2918365339, 1524020338, 1518925132, 3760827505, 3759777254, 1202760957, 3985898139, 3906192525, 674977740, 4174734889, 2031300136, 2019492241, 3983892565, 4153806404, 3822280332, 352677332, 2297720250, 60907813, 90501309, 3286998549, 1016092578, 2535922412, 2839152426, 457141659, 509813237, 4120667899, 652014361, 1966332200, 2975202805, 55981186, 2327461051, 676427537, 3255491064, 2882294119, 3433927263, 1307055953, 942726286, 933058658, 2468411793, 3933900994, 4215176142, 1361170020, 2001714738, 2830558078, 3274259782, 1222529897, 1679025792, 2729314320, 3714953764, 1770335741, 151462246, 3013232138, 1682292957, 1483529935, 471910574, 1539241949, 458788160, 3436315007, 1807016891, 3718408830, 978976581, 1043663428, 3165965781, 1927990952, 4200891579, 2372276910, 3208408903, 3533431907, 1412390302, 2931980059, 4132332400, 1947078029, 3881505623, 4168226417, 2941484381, 1077988104, 1320477388, 886195818, 18198404, 3786409e3, 2509781533, 112762804, 3463356488, 1866414978, 891333506, 18488651, 661792760, 1628790961, 3885187036, 3141171499, 876946877, 2693282273, 1372485963, 791857591, 2686433993, 3759982718, 3167212022, 3472953795, 2716379847, 445679433, 3561995674, 3504004811, 3574258232, 54117162, 3331405415, 2381918588, 3769707343, 4154350007, 1140177722, 4074052095, 668550556, 3214352940, 367459370, 261225585, 2610173221, 4209349473, 3468074219, 3265815641, 314222801, 3066103646, 3808782860, 282218597, 3406013506, 3773591054, 379116347, 1285071038, 846784868, 2669647154, 3771962079, 3550491691, 2305946142, 453669953, 1268987020, 3317592352, 3279303384, 3744833421, 2610507566, 3859509063, 266596637, 3847019092, 517658769, 3462560207, 3443424879, 370717030, 4247526661, 2224018117, 4143653529, 4112773975, 2788324899, 2477274417, 1456262402, 2901442914, 1517677493, 1846949527, 2295493580, 3734397586, 2176403920, 1280348187, 1908823572, 3871786941, 846861322, 1172426758, 3287448474, 3383383037, 1655181056, 3139813346, 901632758, 1897031941, 2986607138, 3066810236, 3447102507, 1393639104, 373351379, 950779232, 625454576, 3124240540, 4148612726, 2007998917, 544563296, 2244738638, 2330496472, 2058025392, 1291430526, 424198748, 50039436, 29584100, 3605783033, 2429876329, 2791104160, 1057563949, 3255363231, 3075367218, 3463963227, 1469046755, 985887462]
},
h = u.p;
! function(r, t) {
for (var e = 0, n = r.length; p.LdhBw(e, n); ++e) {
var i = t(r[e]);
r[e] = i
}
}(h, (function(r) {
for (var e = t["length"], i = 0; i < 4; ++i)
a = n(a, tr) | t[s++ % e];
return (r >> 16 ^ o(a, 16)) << 16 | 65535 & (65535 & r ^ 65535 & a)
}));
for (var l = 0, d = h.length; l < d;)
ar(c, u),
h[l++] = c.left,
h[l++] = c.right;
for (var v = 0; i["kUemb"](v, 4); ++v)
for (var g = u[i.JgSIg("s", v)], w = 0, _ = g.length; w < _;)
ar(c, u),
g[w++] = c["left"],
g[w++] = c.right;
return u
}(n),
S = [],
A = null;
continue
}
break
}
}(t, e, n)
}
};
function or(r, t) {
return {
dZqgx: function(r, t) {
return r << t
}
} ["dZqgx"](r >> 16 ^ t >> 16, 16) | 65535 & (65535 & r ^ 65535 & t)
}
function sr(r, t) {
var e = {
jIFhX: function(r, t) {
return r & t
},
cvxyv: function(r, t) {
return r >> t
},
rOiie: function(r, t) {
return r & t
},
jvAMh: function(r, t) {
return r & t
},
vFPuv: function(r, t) {
return r << t
},
fMqNs: function(r, t) {
return r ^ t
},
TGIdB: function(r, t) {
return r ^ t
},
lZvsE: function(r, t) {
return r + t
},
BnfyR: function(r, t) {
return r & t
}
},
n = t.s3[e.jIFhX(255, r)];
r >>= 8;
var i = t.s2[255 & r];
r >>= 8;
var o = t.s1[255 & r];
r >>= 8;
var s = t.s0[e.jIFhX(255, r)],
a = e.cvxyv(s, 16) + (o >> 16) + ((65535 & s) + (65535 & o) >> 16) << 16 | e.rOiie((65535 & s) + e.jvAMh(65535, o), 65535);
return ((a = e.vFPuv(e["fMqNs"](a >> 16, e.cvxyv(i, 16)), 16) | 65535 & e.TGIdB(65535 & a, 65535 & i)) >> 16) + (n >> 16) + ((65535 & a) + (65535 & n) >> 16) << 16 | 65535 & e.lZvsE(65535 & a, e.BnfyR(65535, n))
}
function ar(r, t) {
var e = {
KtxxG: function(r, t, e) {
return r(t, e)
},
jwaEE: function(r, t, e) {
return r(t, e)
},
ezmIL: function(r, t, e) {
return r(t, e)
},
HrztJ: function(r, t, e) {
return r(t, e)
}
},
n = t.p,
i = r["left"],
o = r.right;
i = or(i = or(i = or(i = or(i = or(i = or(i = or(i = or(i = or(i, n[0]), or(sr(o = or(o, or(sr(i, t), n[1])), t), n[2])), or(sr(o = or(o, or(sr(i, t), n[3])), t), n[4])), or(sr(o = or(o, or(e.KtxxG(sr, i, t), n[5])), t), n[6])), or(sr(o = or(o, e.KtxxG(or, sr(i, t), n[7])), t), n[8])), or(sr(o = or(o, or(sr(i, t), n[9])), t), n[10])), or(sr(o = or(o, or(e["jwaEE"](sr, i, t), n[11])), t), n[12])), or(sr(o = or(o, e.jwaEE(or, sr(i, t), n[13])), t), n[14])), e.ezmIL(or, sr(o = e["HrztJ"](or, o, or(sr(i, t), n[15])), t), n[16])),
r.right = i,
r.left = or(o, n[17])
}
var cr = {
16: 10,
24: 12,
32: 14
},
ur = [1, 2, 4, 8, 16, 32, 64, 128, 27, 54, 108, 216, 171, 77, 154, 47, 94, 188, 99, 198, 151, 53, 106, 212, 179, 125, 250, 239, 197, 145],
hr = [99, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215, 171, 118, 202, 130, 201, 125, 250, 89, 71, 240, 173, 212, 162, 175, 156, 164, 114, 192, 183, 253, 147, 38, 54, 63, 247, 204, 52, 165, 229, 241, 113, 216, 49, 21, 4, 199, 35, 195, 24, 150, 5, 154, 7, 18, 128, 226, 235, 39, 178, 117, 9, 131, 44, 26, 27, 110, 90, 160, 82, 59, 214, 179, 41, 227, 47, 132, 83, 209, 0, 237, 32, 252, 177, 91, 106, 203, 190, 57, 74, 76, 88, 207, 208, 239, 170, 251, 67, 77, 51, 133, 69, 249, 2, 127, 80, 60, 159, 168, 81, 163, 64, 143, 146, 157, 56, 245, 188, 182, 218, 33, 16, 255, 243, 210, 205, 12, 19, 236, 95, 151, 68, 23, 196, 167, 126, 61, 100, 93, 25, 115, 96, 129, 79, 220, 34, 42, 144, 136, 70, 238, 184, 20, 222, 94, 11, 219, 224, 50, 58, 10, 73, 6, 36, 92, 194, 211, 172, 98, 145, 149, 228, 121, 231, 200, 55, 109, 141, 213, 78, 169, 108, 86, 244, 234, 101, 122, 174, 8, 186, 120, 37, 46, 28, 166, 180, 198, 232, 221, 116, 31, 75, 189, 139, 138, 112, 62, 181, 102, 72, 3, 246, 14, 97, 53, 87, 185, 134, 193, 29, 158, 225, 248, 152, 17, 105, 217, 142, 148, 155, 30, 135, 233, 206, 85, 40, 223, 140, 161, 137, 13, 191, 230, 66, 104, 65, 153, 45, 15, 176, 84, 187, 22],
fr = [82, 9, 106, 213, 48, 54, 165, 56, 191, 64, 163, 158, 129, 243, 215, 251, 124, 227, 57, 130, 155, 47, 255, 135, 52, 142, 67, 68, 196, 222, 233, 203, 84, 123, 148, 50, 166, 194, 35, 61, 238, 76, 149, 11, 66, 250, 195, 78, 8, 46, 161, 102, 40, 217, 36, 178, 118, 91, 162, 73, 109, 139, 209, 37, 114, 248, 246, 100, 134, 104, 152, 22, 212, 164, 92, 204, 93, 101, 182, 146, 108, 112, 72, 80, 253, 237, 185, 218, 94, 21, 70, 87, 167, 141, 157, 132, 144, 216, 171, 0, 140, 188, 211, 10, 247, 228, 88, 5, 184, 179, 69, 6, 208, 44, 30, 143, 202, 63, 15, 2, 193, 175, 189, 3, 1, 19, 138, 107, 58, 145, 17, 65, 79, 103, 220, 234, 151, 242, 207, 206, 240, 180, 230, 115, 150, 172, 116, 34, 231, 173, 53, 133, 226, 249, 55, 232, 28, 117, 223, 110, 71, 241, 26, 113, 29, 41, 197, 137, 111, 183, 98, 14, 170, 24, 190, 27, 252, 86, 62, 75, 198, 210, 121, 32, 154, 219, 192, 254, 120, 205, 90, 244, 31, 221, 168, 51, 136, 7, 199, 49, 177, 18, 16, 89, 39, 128, 236, 95, 96, 81, 127, 169, 25, 181, 74, 13, 45, 229, 122, 159, 147, 201, 156, 239, 160, 224, 59, 77, 174, 42, 245, 176, 200, 235, 187, 60, 131, 83, 153, 97, 23, 43, 4, 126, 186, 119, 214, 38, 225, 105, 20, 99, 85, 33, 12, 125],
lr = [1374988112, 2118214995, 437757123, 975658646, 1001089995, 530400753, 2902087851, 1273168787, 540080725, 2910219766, 2295101073, 4110568485, 1340463100, 3307916247, 641025152, 3043140495, 3736164937, 632953703, 1172967064, 1576976609, 3274667266, 2169303058, 2370213795, 1809054150, 59727847, 361929877, 3211623147, 2505202138, 3569255213, 1484005843, 1239443753, 2395588676, 1975683434, 4102977912, 2572697195, 666464733, 3202437046, 4035489047, 3374361702, 2110667444, 1675577880, 3843699074, 2538681184, 1649639237, 2976151520, 3144396420, 4269907996, 4178062228, 1883793496, 2403728665, 2497604743, 1383856311, 2876494627, 1917518562, 3810496343, 1716890410, 3001755655, 800440835, 2261089178, 3543599269, 807962610, 599762354, 33778362, 3977675356, 2328828971, 2809771154, 4077384432, 1315562145, 1708848333, 101039829, 3509871135, 3299278474, 875451293, 2733856160, 92987698, 2767645557, 193195065, 1080094634, 1584504582, 3178106961, 1042385657, 2531067453, 3711829422, 1306967366, 2438237621, 1908694277, 67556463, 1615861247, 429456164, 3602770327, 2302690252, 1742315127, 2968011453, 126454664, 3877198648, 2043211483, 2709260871, 2084704233, 4169408201, 0, 159417987, 841739592, 504459436, 1817866830, 4245618683, 260388950, 1034867998, 908933415, 168810852, 1750902305, 2606453969, 607530554, 202008497, 2472011535, 3035535058, 463180190, 2160117071, 1641816226, 1517767529, 470948374, 3801332234, 3231722213, 1008918595, 303765277, 235474187, 4069246893, 766945465, 337553864, 1475418501, 2943682380, 4003061179, 2743034109, 4144047775, 1551037884, 1147550661, 1543208500, 2336434550, 3408119516, 3069049960, 3102011747, 3610369226, 1113818384, 328671808, 2227573024, 2236228733, 3535486456, 2935566865, 3341394285, 496906059, 3702665459, 226906860, 2009195472, 733156972, 2842737049, 294930682, 1206477858, 2835123396, 2700099354, 1451044056, 573804783, 2269728455, 3644379585, 2362090238, 2564033334, 2801107407, 2776292904, 3669462566, 1068351396, 742039012, 1350078989, 1784663195, 1417561698, 4136440770, 2430122216, 775550814, 2193862645, 2673705150, 1775276924, 1876241833, 3475313331, 3366754619, 270040487, 3902563182, 3678124923, 3441850377, 1851332852, 3969562369, 2203032232, 3868552805, 2868897406, 566021896, 4011190502, 3135740889, 1248802510, 3936291284, 699432150, 832877231, 708780849, 3332740144, 899835584, 1951317047, 4236429990, 3767586992, 866637845, 4043610186, 1106041591, 2144161806, 395441711, 1984812685, 1139781709, 3433712980, 3835036895, 2664543715, 1282050075, 3240894392, 1181045119, 2640243204, 25965917, 4203181171, 4211818798, 3009879386, 2463879762, 3910161971, 1842759443, 2597806476, 933301370, 1509430414, 3943906441, 3467192302, 3076639029, 3776767469, 2051518780, 2631065433, 1441952575, 404016761, 1942435775, 1408749034, 1610459739, 3745345300, 2017778566, 3400528769, 3110650942, 941896748, 3265478751, 371049330, 3168937228, 675039627, 4279080257, 967311729, 135050206, 3635733660, 1683407248, 2076935265, 3576870512, 1215061108, 3501741890],
dr = [1347548327, 1400783205, 3273267108, 2520393566, 3409685355, 4045380933, 2880240216, 2471224067, 1428173050, 4138563181, 2441661558, 636813900, 4233094615, 3620022987, 2149987652, 2411029155, 1239331162, 1730525723, 2554718734, 3781033664, 46346101, 310463728, 2743944855, 3328955385, 3875770207, 2501218972, 3955191162, 3667219033, 768917123, 3545789473, 692707433, 1150208456, 1786102409, 2029293177, 1805211710, 3710368113, 3065962831, 401639597, 1724457132, 3028143674, 409198410, 2196052529, 1620529459, 1164071807, 3769721975, 2226875310, 486441376, 2499348523, 1483753576, 428819965, 2274680428, 3075636216, 598438867, 3799141122, 1474502543, 711349675, 129166120, 53458370, 2592523643, 2782082824, 4063242375, 2988687269, 3120694122, 1559041666, 730517276, 2460449204, 4042459122, 2706270690, 3446004468, 3573941694, 533804130, 2328143614, 2637442643, 2695033685, 839224033, 1973745387, 957055980, 2856345839, 106852767, 1371368976, 4181598602, 1033297158, 2933734917, 1179510461, 3046200461, 91341917, 1862534868, 4284502037, 605657339, 2547432937, 3431546947, 2003294622, 3182487618, 2282195339, 954669403, 3682191598, 1201765386, 3917234703, 3388507166, 0, 2198438022, 1211247597, 2887651696, 1315723890, 4227665663, 1443857720, 507358933, 657861945, 1678381017, 560487590, 3516619604, 975451694, 2970356327, 261314535, 3535072918, 2652609425, 1333838021, 2724322336, 1767536459, 370938394, 182621114, 3854606378, 1128014560, 487725847, 185469197, 2918353863, 3106780840, 3356761769, 2237133081, 1286567175, 3152976349, 4255350624, 2683765030, 3160175349, 3309594171, 878443390, 1988838185, 3704300486, 1756818940, 1673061617, 3403100636, 272786309, 1075025698, 545572369, 2105887268, 4174560061, 296679730, 1841768865, 1260232239, 4091327024, 3960309330, 3497509347, 1814803222, 2578018489, 4195456072, 575138148, 3299409036, 446754879, 3629546796, 4011996048, 3347532110, 3252238545, 4270639778, 915985419, 3483825537, 681933534, 651868046, 2755636671, 3828103837, 223377554, 2607439820, 1649704518, 3270937875, 3901806776, 1580087799, 4118987695, 3198115200, 2087309459, 2842678573, 3016697106, 1003007129, 2802849917, 1860738147, 2077965243, 164439672, 4100872472, 32283319, 2827177882, 1709610350, 2125135846, 136428751, 3874428392, 3652904859, 3460984630, 3572145929, 3593056380, 2939266226, 824852259, 818324884, 3224740454, 930369212, 2801566410, 2967507152, 355706840, 1257309336, 4148292826, 243256656, 790073846, 2373340630, 1296297904, 1422699085, 3756299780, 3818836405, 457992840, 3099667487, 2135319889, 77422314, 1560382517, 1945798516, 788204353, 1521706781, 1385356242, 870912086, 325965383, 2358957921, 2050466060, 2388260884, 2313884476, 4006521127, 901210569, 3990953189, 1014646705, 1503449823, 1062597235, 2031621326, 3212035895, 3931371469, 1533017514, 350174575, 2256028891, 2177544179, 1052338372, 741876788, 1606591296, 1914052035, 213705253, 2334669897, 1107234197, 1899603969, 3725069491, 2631447780, 2422494913, 1635502980, 1893020342, 1950903388, 1120974935],
pr = [2807058932, 1699970625, 2764249623, 1586903591, 1808481195, 1173430173, 1487645946, 59984867, 4199882800, 1844882806, 1989249228, 1277555970, 3623636965, 3419915562, 1149249077, 2744104290, 1514790577, 459744698, 244860394, 3235995134, 1963115311, 4027744588, 2544078150, 4190530515, 1608975247, 2627016082, 2062270317, 1507497298, 2200818878, 567498868, 1764313568, 3359936201, 2305455554, 2037970062, 1047239e3, 1910319033, 1337376481, 2904027272, 2892417312, 984907214, 1243112415, 830661914, 861968209, 2135253587, 2011214180, 2927934315, 2686254721, 731183368, 1750626376, 4246310725, 1820824798, 4172763771, 3542330227, 48394827, 2404901663, 2871682645, 671593195, 3254988725, 2073724613, 145085239, 2280796200, 2779915199, 1790575107, 2187128086, 472615631, 3029510009, 4075877127, 3802222185, 4107101658, 3201631749, 1646252340, 4270507174, 1402811438, 1436590835, 3778151818, 3950355702, 3963161475, 4020912224, 2667994737, 273792366, 2331590177, 104699613, 95345982, 3175501286, 2377486676, 1560637892, 3564045318, 369057872, 4213447064, 3919042237, 1137477952, 2658625497, 1119727848, 2340947849, 1530455833, 4007360968, 172466556, 266959938, 516552836, 0, 2256734592, 3980931627, 1890328081, 1917742170, 4294704398, 945164165, 3575528878, 958871085, 3647212047, 2787207260, 1423022939, 775562294, 1739656202, 3876557655, 2530391278, 2443058075, 3310321856, 547512796, 1265195639, 437656594, 3121275539, 719700128, 3762502690, 387781147, 218828297, 3350065803, 2830708150, 2848461854, 428169201, 122466165, 3720081049, 1627235199, 648017665, 4122762354, 1002783846, 2117360635, 695634755, 3336358691, 4234721005, 4049844452, 3704280881, 2232435299, 574624663, 287343814, 612205898, 1039717051, 840019705, 2708326185, 793451934, 821288114, 1391201670, 3822090177, 376187827, 3113855344, 1224348052, 1679968233, 2361698556, 1058709744, 752375421, 2431590963, 1321699145, 3519142200, 2734591178, 188127444, 2177869557, 3727205754, 2384911031, 3215212461, 2648976442, 2450346104, 3432737375, 1180849278, 331544205, 3102249176, 4150144569, 2952102595, 2159976285, 2474404304, 766078933, 313773861, 2570832044, 2108100632, 1668212892, 3145456443, 2013908262, 418672217, 3070356634, 2594734927, 1852171925, 3867060991, 3473416636, 3907448597, 2614737639, 919489135, 164948639, 2094410160, 2997825956, 590424639, 2486224549, 1723872674, 3157750862, 3399941250, 3501252752, 3625268135, 2555048196, 3673637356, 1343127501, 4130281361, 3599595085, 2957853679, 1297403050, 81781910, 3051593425, 2283490410, 532201772, 1367295589, 3926170974, 895287692, 1953757831, 1093597963, 492483431, 3528626907, 1446242576, 1192455638, 1636604631, 209336225, 344873464, 1015671571, 669961897, 3375740769, 3857572124, 2973530695, 3747192018, 1933530610, 3464042516, 935293895, 3454686199, 2858115069, 1863638845, 3683022916, 4085369519, 3292445032, 875313188, 1080017571, 3279033885, 621591778, 1233856572, 2504130317, 24197544, 3017672716, 3835484340, 3247465558, 2220981195, 3060847922, 1551124588, 1463996600],
vr = [4104605777, 1097159550, 396673818, 660510266, 2875968315, 2638606623, 4200115116, 3808662347, 821712160, 1986918061, 3430322568, 38544885, 3856137295, 718002117, 893681702, 1654886325, 2975484382, 3122358053, 3926825029, 4274053469, 796197571, 1290801793, 1184342925, 3556361835, 2405426947, 2459735317, 1836772287, 1381620373, 3196267988, 1948373848, 3764988233, 3385345166, 3263785589, 2390325492, 1480485785, 3111247143, 3780097726, 2293045232, 548169417, 3459953789, 3746175075, 439452389, 1362321559, 1400849762, 1685577905, 1806599355, 2174754046, 137073913, 1214797936, 1174215055, 3731654548, 2079897426, 1943217067, 1258480242, 529487843, 1437280870, 3945269170, 3049390895, 3313212038, 923313619, 679998e3, 3215307299, 57326082, 377642221, 3474729866, 2041877159, 133361907, 1776460110, 3673476453, 96392454, 878845905, 2801699524, 777231668, 4082475170, 2330014213, 4142626212, 2213296395, 1626319424, 1906247262, 1846563261, 562755902, 3708173718, 1040559837, 3871163981, 1418573201, 3294430577, 114585348, 1343618912, 2566595609, 3186202582, 1078185097, 3651041127, 3896688048, 2307622919, 425408743, 3371096953, 2081048481, 1108339068, 2216610296, 0, 2156299017, 736970802, 292596766, 1517440620, 251657213, 2235061775, 2933202493, 758720310, 265905162, 1554391400, 1532285339, 908999204, 174567692, 1474760595, 4002861748, 2610011675, 3234156416, 3693126241, 2001430874, 303699484, 2478443234, 2687165888, 585122620, 454499602, 151849742, 2345119218, 3064510765, 514443284, 4044981591, 1963412655, 2581445614, 2137062819, 19308535, 1928707164, 1715193156, 4219352155, 1126790795, 600235211, 3992742070, 3841024952, 836553431, 1669664834, 2535604243, 3323011204, 1243905413, 3141400786, 4180808110, 698445255, 2653899549, 2989552604, 2253581325, 3252932727, 3004591147, 1891211689, 2487810577, 3915653703, 4237083816, 4030667424, 2100090966, 865136418, 1229899655, 953270745, 3399679628, 3557504664, 4118925222, 2061379749, 3079546586, 2915017791, 983426092, 2022837584, 1607244650, 2118541908, 2366882550, 3635996816, 972512814, 3283088770, 1568718495, 3499326569, 3576539503, 621982671, 2895723464, 410887952, 2623762152, 1002142683, 645401037, 1494807662, 2595684844, 1335535747, 2507040230, 4293295786, 3167684641, 367585007, 3885750714, 1865862730, 2668221674, 2960971305, 2763173681, 1059270954, 2777952454, 2724642869, 1320957812, 2194319100, 2429595872, 2815956275, 77089521, 3973773121, 3444575871, 2448830231, 1305906550, 4021308739, 2857194700, 2516901860, 3518358430, 1787304780, 740276417, 1699839814, 1592394909, 2352307457, 2272556026, 188821243, 1729977011, 3687994002, 274084841, 3594982253, 3613494426, 2701949495, 4162096729, 322734571, 2837966542, 1640576439, 484830689, 1202797690, 3537852828, 4067639125, 349075736, 3342319475, 4157467219, 4255800159, 1030690015, 1155237496, 2951971274, 1757691577, 607398968, 2738905026, 499347990, 3794078908, 1011452712, 227885567, 2818666809, 213114376, 3034881240, 1455525988, 3414450555, 850817237, 1817998408, 3092726480],
gr = [0, 235474187, 470948374, 303765277, 941896748, 908933415, 607530554, 708780849, 1883793496, 2118214995, 1817866830, 1649639237, 1215061108, 1181045119, 1417561698, 1517767529, 3767586992, 4003061179, 4236429990, 4069246893, 3635733660, 3602770327, 3299278474, 3400528769, 2430122216, 2664543715, 2362090238, 2193862645, 2835123396, 2801107407, 3035535058, 3135740889, 3678124923, 3576870512, 3341394285, 3374361702, 3810496343, 3977675356, 4279080257, 4043610186, 2876494627, 2776292904, 3076639029, 3110650942, 2472011535, 2640243204, 2403728665, 2169303058, 1001089995, 899835584, 666464733, 699432150, 59727847, 226906860, 530400753, 294930682, 1273168787, 1172967064, 1475418501, 1509430414, 1942435775, 2110667444, 1876241833, 1641816226, 2910219766, 2743034109, 2976151520, 3211623147, 2505202138, 2606453969, 2302690252, 2269728455, 3711829422, 3543599269, 3240894392, 3475313331, 3843699074, 3943906441, 4178062228, 4144047775, 1306967366, 1139781709, 1374988112, 1610459739, 1975683434, 2076935265, 1775276924, 1742315127, 1034867998, 866637845, 566021896, 800440835, 92987698, 193195065, 429456164, 395441711, 1984812685, 2017778566, 1784663195, 1683407248, 1315562145, 1080094634, 1383856311, 1551037884, 101039829, 135050206, 437757123, 337553864, 1042385657, 807962610, 573804783, 742039012, 2531067453, 2564033334, 2328828971, 2227573024, 2935566865, 2700099354, 3001755655, 3168937228, 3868552805, 3902563182, 4203181171, 4102977912, 3736164937, 3501741890, 3265478751, 3433712980, 1106041591, 1340463100, 1576976609, 1408749034, 2043211483, 2009195472, 1708848333, 1809054150, 832877231, 1068351396, 766945465, 599762354, 159417987, 126454664, 361929877, 463180190, 2709260871, 2943682380, 3178106961, 3009879386, 2572697195, 2538681184, 2236228733, 2336434550, 3509871135, 3745345300, 3441850377, 3274667266, 3910161971, 3877198648, 4110568485, 4211818798, 2597806476, 2497604743, 2261089178, 2295101073, 2733856160, 2902087851, 3202437046, 2968011453, 3936291284, 3835036895, 4136440770, 4169408201, 3535486456, 3702665459, 3467192302, 3231722213, 2051518780, 1951317047, 1716890410, 1750902305, 1113818384, 1282050075, 1584504582, 1350078989, 168810852, 67556463, 371049330, 404016761, 841739592, 1008918595, 775550814, 540080725, 3969562369, 3801332234, 4035489047, 4269907996, 3569255213, 3669462566, 3366754619, 3332740144, 2631065433, 2463879762, 2160117071, 2395588676, 2767645557, 2868897406, 3102011747, 3069049960, 202008497, 33778362, 270040487, 504459436, 875451293, 975658646, 675039627, 641025152, 2084704233, 1917518562, 1615861247, 1851332852, 1147550661, 1248802510, 1484005843, 1451044056, 933301370, 967311729, 733156972, 632953703, 260388950, 25965917, 328671808, 496906059, 1206477858, 1239443753, 1543208500, 1441952575, 2144161806, 1908694277, 1675577880, 1842759443, 3610369226, 3644379585, 3408119516, 3307916247, 4011190502, 3776767469, 4077384432, 4245618683, 2809771154, 2842737049, 3144396420, 3043140495, 2673705150, 2438237621, 2203032232, 2370213795],
wr = [0, 185469197, 370938394, 487725847, 741876788, 657861945, 975451694, 824852259, 1483753576, 1400783205, 1315723890, 1164071807, 1950903388, 2135319889, 1649704518, 1767536459, 2967507152, 3152976349, 2801566410, 2918353863, 2631447780, 2547432937, 2328143614, 2177544179, 3901806776, 3818836405, 4270639778, 4118987695, 3299409036, 3483825537, 3535072918, 3652904859, 2077965243, 1893020342, 1841768865, 1724457132, 1474502543, 1559041666, 1107234197, 1257309336, 598438867, 681933534, 901210569, 1052338372, 261314535, 77422314, 428819965, 310463728, 3409685355, 3224740454, 3710368113, 3593056380, 3875770207, 3960309330, 4045380933, 4195456072, 2471224067, 2554718734, 2237133081, 2388260884, 3212035895, 3028143674, 2842678573, 2724322336, 4138563181, 4255350624, 3769721975, 3955191162, 3667219033, 3516619604, 3431546947, 3347532110, 2933734917, 2782082824, 3099667487, 3016697106, 2196052529, 2313884476, 2499348523, 2683765030, 1179510461, 1296297904, 1347548327, 1533017514, 1786102409, 1635502980, 2087309459, 2003294622, 507358933, 355706840, 136428751, 53458370, 839224033, 957055980, 605657339, 790073846, 2373340630, 2256028891, 2607439820, 2422494913, 2706270690, 2856345839, 3075636216, 3160175349, 3573941694, 3725069491, 3273267108, 3356761769, 4181598602, 4063242375, 4011996048, 3828103837, 1033297158, 915985419, 730517276, 545572369, 296679730, 446754879, 129166120, 213705253, 1709610350, 1860738147, 1945798516, 2029293177, 1239331162, 1120974935, 1606591296, 1422699085, 4148292826, 4233094615, 3781033664, 3931371469, 3682191598, 3497509347, 3446004468, 3328955385, 2939266226, 2755636671, 3106780840, 2988687269, 2198438022, 2282195339, 2501218972, 2652609425, 1201765386, 1286567175, 1371368976, 1521706781, 1805211710, 1620529459, 2105887268, 1988838185, 533804130, 350174575, 164439672, 46346101, 870912086, 954669403, 636813900, 788204353, 2358957921, 2274680428, 2592523643, 2441661558, 2695033685, 2880240216, 3065962831, 3182487618, 3572145929, 3756299780, 3270937875, 3388507166, 4174560061, 4091327024, 4006521127, 3854606378, 1014646705, 930369212, 711349675, 560487590, 272786309, 457992840, 106852767, 223377554, 1678381017, 1862534868, 1914052035, 2031621326, 1211247597, 1128014560, 1580087799, 1428173050, 32283319, 182621114, 401639597, 486441376, 768917123, 651868046, 1003007129, 818324884, 1503449823, 1385356242, 1333838021, 1150208456, 1973745387, 2125135846, 1673061617, 1756818940, 2970356327, 3120694122, 2802849917, 2887651696, 2637442643, 2520393566, 2334669897, 2149987652, 3917234703, 3799141122, 4284502037, 4100872472, 3309594171, 3460984630, 3545789473, 3629546796, 2050466060, 1899603969, 1814803222, 1730525723, 1443857720, 1560382517, 1075025698, 1260232239, 575138148, 692707433, 878443390, 1062597235, 243256656, 91341917, 409198410, 325965383, 3403100636, 3252238545, 3704300486, 3620022987, 3874428392, 3990953189, 4042459122, 4227665663, 2460449204, 2578018489, 2226875310, 2411029155, 3198115200, 3046200461, 2827177882, 2743944855],
_r = [0, 218828297, 437656594, 387781147, 875313188, 958871085, 775562294, 590424639, 1750626376, 1699970625, 1917742170, 2135253587, 1551124588, 1367295589, 1180849278, 1265195639, 3501252752, 3720081049, 3399941250, 3350065803, 3835484340, 3919042237, 4270507174, 4085369519, 3102249176, 3051593425, 2734591178, 2952102595, 2361698556, 2177869557, 2530391278, 2614737639, 3145456443, 3060847922, 2708326185, 2892417312, 2404901663, 2187128086, 2504130317, 2555048196, 3542330227, 3727205754, 3375740769, 3292445032, 3876557655, 3926170974, 4246310725, 4027744588, 1808481195, 1723872674, 1910319033, 2094410160, 1608975247, 1391201670, 1173430173, 1224348052, 59984867, 244860394, 428169201, 344873464, 935293895, 984907214, 766078933, 547512796, 1844882806, 1627235199, 2011214180, 2062270317, 1507497298, 1423022939, 1137477952, 1321699145, 95345982, 145085239, 532201772, 313773861, 830661914, 1015671571, 731183368, 648017665, 3175501286, 2957853679, 2807058932, 2858115069, 2305455554, 2220981195, 2474404304, 2658625497, 3575528878, 3625268135, 3473416636, 3254988725, 3778151818, 3963161475, 4213447064, 4130281361, 3599595085, 3683022916, 3432737375, 3247465558, 3802222185, 4020912224, 4172763771, 4122762354, 3201631749, 3017672716, 2764249623, 2848461854, 2331590177, 2280796200, 2431590963, 2648976442, 104699613, 188127444, 472615631, 287343814, 840019705, 1058709744, 671593195, 621591778, 1852171925, 1668212892, 1953757831, 2037970062, 1514790577, 1463996600, 1080017571, 1297403050, 3673637356, 3623636965, 3235995134, 3454686199, 4007360968, 3822090177, 4107101658, 4190530515, 2997825956, 3215212461, 2830708150, 2779915199, 2256734592, 2340947849, 2627016082, 2443058075, 172466556, 122466165, 273792366, 492483431, 1047239e3, 861968209, 612205898, 695634755, 1646252340, 1863638845, 2013908262, 1963115311, 1446242576, 1530455833, 1277555970, 1093597963, 1636604631, 1820824798, 2073724613, 1989249228, 1436590835, 1487645946, 1337376481, 1119727848, 164948639, 81781910, 331544205, 516552836, 1039717051, 821288114, 669961897, 719700128, 2973530695, 3157750862, 2871682645, 2787207260, 2232435299, 2283490410, 2667994737, 2450346104, 3647212047, 3564045318, 3279033885, 3464042516, 3980931627, 3762502690, 4150144569, 4199882800, 3070356634, 3121275539, 2904027272, 2686254721, 2200818878, 2384911031, 2570832044, 2486224549, 3747192018, 3528626907, 3310321856, 3359936201, 3950355702, 3867060991, 4049844452, 4234721005, 1739656202, 1790575107, 2108100632, 1890328081, 1402811438, 1586903591, 1233856572, 1149249077, 266959938, 48394827, 369057872, 418672217, 1002783846, 919489135, 567498868, 752375421, 209336225, 24197544, 376187827, 459744698, 945164165, 895287692, 574624663, 793451934, 1679968233, 1764313568, 2117360635, 1933530610, 1343127501, 1560637892, 1243112415, 1192455638, 3704280881, 3519142200, 3336358691, 3419915562, 3907448597, 3857572124, 4075877127, 4294704398, 3029510009, 3113855344, 2927934315, 2744104290, 2159976285, 2377486676, 2594734927, 2544078150],
yr = [0, 151849742, 303699484, 454499602, 607398968, 758720310, 908999204, 1059270954, 1214797936, 1097159550, 1517440620, 1400849762, 1817998408, 1699839814, 2118541908, 2001430874, 2429595872, 2581445614, 2194319100, 2345119218, 3034881240, 3186202582, 2801699524, 2951971274, 3635996816, 3518358430, 3399679628, 3283088770, 4237083816, 4118925222, 4002861748, 3885750714, 1002142683, 850817237, 698445255, 548169417, 529487843, 377642221, 227885567, 77089521, 1943217067, 2061379749, 1640576439, 1757691577, 1474760595, 1592394909, 1174215055, 1290801793, 2875968315, 2724642869, 3111247143, 2960971305, 2405426947, 2253581325, 2638606623, 2487810577, 3808662347, 3926825029, 4044981591, 4162096729, 3342319475, 3459953789, 3576539503, 3693126241, 1986918061, 2137062819, 1685577905, 1836772287, 1381620373, 1532285339, 1078185097, 1229899655, 1040559837, 923313619, 740276417, 621982671, 439452389, 322734571, 137073913, 19308535, 3871163981, 4021308739, 4104605777, 4255800159, 3263785589, 3414450555, 3499326569, 3651041127, 2933202493, 2815956275, 3167684641, 3049390895, 2330014213, 2213296395, 2566595609, 2448830231, 1305906550, 1155237496, 1607244650, 1455525988, 1776460110, 1626319424, 2079897426, 1928707164, 96392454, 213114376, 396673818, 514443284, 562755902, 679998e3, 865136418, 983426092, 3708173718, 3557504664, 3474729866, 3323011204, 4180808110, 4030667424, 3945269170, 3794078908, 2507040230, 2623762152, 2272556026, 2390325492, 2975484382, 3092726480, 2738905026, 2857194700, 3973773121, 3856137295, 4274053469, 4157467219, 3371096953, 3252932727, 3673476453, 3556361835, 2763173681, 2915017791, 3064510765, 3215307299, 2156299017, 2307622919, 2459735317, 2610011675, 2081048481, 1963412655, 1846563261, 1729977011, 1480485785, 1362321559, 1243905413, 1126790795, 878845905, 1030690015, 645401037, 796197571, 274084841, 425408743, 38544885, 188821243, 3613494426, 3731654548, 3313212038, 3430322568, 4082475170, 4200115116, 3780097726, 3896688048, 2668221674, 2516901860, 2366882550, 2216610296, 3141400786, 2989552604, 2837966542, 2687165888, 1202797690, 1320957812, 1437280870, 1554391400, 1669664834, 1787304780, 1906247262, 2022837584, 265905162, 114585348, 499347990, 349075736, 736970802, 585122620, 972512814, 821712160, 2595684844, 2478443234, 2293045232, 2174754046, 3196267988, 3079546586, 2895723464, 2777952454, 3537852828, 3687994002, 3234156416, 3385345166, 4142626212, 4293295786, 3841024952, 3992742070, 174567692, 57326082, 410887952, 292596766, 777231668, 660510266, 1011452712, 893681702, 1108339068, 1258480242, 1343618912, 1494807662, 1715193156, 1865862730, 1948373848, 2100090966, 2701949495, 2818666809, 3004591147, 3122358053, 2235061775, 2352307457, 2535604243, 2653899549, 3915653703, 3764988233, 4219352155, 4067639125, 3444575871, 3294430577, 3746175075, 3594982253, 836553431, 953270745, 600235211, 718002117, 367585007, 484830689, 133361907, 251657213, 2041877159, 1891211689, 1806599355, 1654886325, 1568718495, 1418573201, 1335535747, 1184342925],
xr = function(r, t) {
var e = {
tWyby: function(r, t) {
return r < t
},
Eqyfx: function(r, t) {
return r < t
},
LhXNK: function(r, t) {
return r << t
},
zmHqt: function(r, t) {
return r & t
},
yUdym: function(r, t) {
return r << t
},
TTJHX: function(r, t) {
return r != t
},
TbrpH: function(r, t) {
return r - t
},
sRwZP: function(r, t) {
return r / t
},
DAjmi: function(r, t) {
return r - t
},
whYFj: function(r, t) {
return r ^ t
},
Tabbo: function(r, t) {
return r & t
},
OYKHB: function(r, t) {
return r - t
},
AlhcG: function(r, t) {
return r % t
},
maSeC: function(r, t) {
return r >> t
},
Qvhso: function(r, t) {
return r + t
},
JOcxB: function(r, t) {
return r >> t
},
NZLTE: function(r, t) {
return r & t
},
NTCcB: function(r, t) {
return r + t
}
};
r = function(r) {
for (var t = 0, n = r["length"]; t < n; ++t) {
var i = r[t];
if (e.tWyby(i, 0) || i >= 256)
throw new Error("ivi(" + i + ")")
}
return r.slice(0)
}(r);
var n = cr[r.length];
if (null == n)
throw new Error;
var i = [],
o = [];
return function(r) {
for (var t = 0; t <= n; t++)
i.push([0, 0, 0, 0]),
o["push"]([0, 0, 0, 0]);
var s, a = 4 * (n + 1),
c = r.length / 4,
u = V(r);
for (t = 0; t < c; t++)
i[s = t >> 2][t % 4] = u[t],
o[n - s][t % 4] = u[t];
for (var h, l = 0, d = c; e.Eqyfx(d, a);) {
if (h = u[c - 1],
u[0] ^= e.LhXNK(hr[e.zmHqt(h >> 16, 255)], 24) ^ hr[h >> 8 & 255] << 16 ^ e.yUdym(hr[255 & h], 8) ^ hr[h >> 24 & 255] ^ ur[l] << 24,
l += 1,
e.TTJHX(8, c))
for (t = 1; e.Eqyfx(t, c); t++)
u[t] ^= u[e.TbrpH(t, 1)];
else {
for (t = 1; t < e.sRwZP(c, 2); t++)
u[t] ^= u[t - 1];
for (h = u[e.DAjmi(e.sRwZP(c, 2), 1)],
u[c / 2] ^= e.whYFj(hr[255 & h] ^ hr[h >> 8 & 255] << 8 ^ e.yUdym(hr[h >> 16 & 255], 16), hr[e.Tabbo(h >> 24, 255)] << 24),
t = c / 2 + 1; t < c; t++)
u[t] ^= u[e.OYKHB(t, 1)]
}
for (t = 0; t < c && d < a;)
v = e["AlhcG"](d, 4),
i[p = d >> 2][v] = u[t],
o[n - p][v] = u[t++],
d++
}
for (var p = 1; p < n; p++)
for (var v = 0; v < 4; v++)
h = o[p][v],
o[p][v] = e.whYFj(gr[h >> 24 & 255], wr[255 & e.maSeC(h, 16)]) ^ _r[255 & e.maSeC(h, 8)] ^ yr[255 & h]
}(r),
function(r) {
var t = function(r, t) {
return r < t
};
if (16 != r["length"])
return new Error("b16");
for (var n = o["length"] - 1, i = [0, 0, 0, 0], s = V(r), a = 0; a < 4; a++)
s[a] ^= o[0][a];
for (var c = 1; c < n; c++) {
for (a = 0; a < 4; a++)
i[a] = lr[s[a] >> 24 & 255] ^ dr[s[e.Qvhso(a, 3) % 4] >> 16 & 255] ^ pr[255 & e.JOcxB(s[(a + 2) % 4], 8)] ^ vr[e["NZLTE"](255, s[(a + 1) % 4])] ^ o[c][a];
s = i.slice(0)
}
var u, h = function() {
for (var r = [], e = 0; t(e, 16); ++e)
r.push(0);
return r
}();
for (a = 0; a < 4; a++)
u = o[n][a],
h[4 * a] = 255 & e.whYFj(fr[s[a] >> 24 & 255], e.JOcxB(u, 24)),
h[4 * a + 1] = 255 & (fr[s[e.NTCcB(a, 3) % 4] >> 16 & 255] ^ u >> 16),
h[e.NTCcB(4 * a, 2)] = 255 & (fr[s[(a + 2) % 4] >> 8 & 255] ^ u >> 8),
h[4 * a + 3] = 255 & (fr[255 & s[(a + 1) % 4]] ^ u);
return h
}(t)
};
function br(r) {
for (var t = function(r, t) {
return r < t
}, e = function(r, t) {
return r / t
}, n = function(r, t) {
return r - t
}, i = function(r, t) {
return r >= t
}, o = function(r, t) {
return r * t
}, s = function(r, t) {
return r & t
}, a = {}, c = r["length"], u = r.charAt(0), h = 0; t(h, r.length); h++)
a[r["charAt"](h)] = h;
return {
e: function(o) {
if (0 === o["length"])
return "";
for (var s = [0], a = 0; t(a, o.length); ++a) {
for (var u = 0, h = o[a]; u < s.length; ++u)
h += s[u] << 8,
s[u] = h % c,
h = h / c | 0;
for (; h > 0;)
s.push(h % c),
h = 0 | e(h, c)
}
for (var l = "", d = 0; 0 === o[d] && t(d, n(o.length, 1)); ++d)
l += r[0];
for (var p = s.length - 1; i(p, 0); --p)
l += r[s[p]];
return l
},
d: function(r) {
if (0 === r.length)
return [];
for (var t = [0], e = 0; e < r["length"]; e++) {
var n = a[r[e]];
if (void 0 === n)
throw new Error("b" + c + "c");
for (var i = 0, h = n; i < t.length; ++i)
h += o(t[i], c),
t[i] = s(255, h),
h >>= 8;
for (; h > 0;)
t.push(255 & h),
h >>= 8
}
for (var l = 0; r[l] === u && l < r.length - 1; ++l)
t.push(0);
return t.reverse()
}
}
}
function mr(r, t) {
var e = {
OtOMi: function(r, t) {
return r(t)
},
pxVZU: function(r, t) {
return r < t
},
kNqnB: function(r, t) {
return r + t
},
FThVs: function(r, t) {
return r % t
}
},
n = e["OtOMi"](q, 256),
i = 0;
for (i = 0; i < 256; i++)
n[i] = i;
var o = 0,
s = 0;
for (i = 0; e.pxVZU(i, 256); ++i)
o = e.kNqnB(o + n[i], r[e.FThVs(i, r.length)]) % 256,
s = n[i],
n[i] = n[o],
n[o] = s;
i = 0,
o = 0;
for (var a = [], c = 0; c < t.length; c++)
o = (o + n[i = (i + 1) % 256]) % 256,
s = n[i],
n[i] = n[o],
n[o] = s,
a[c] = t[c] ^ n[(n[i] + n[o]) % 256];
return a
}
K["__ABM_LICENSE_PROXY__"];
var kr = br("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),
Br = 256,
Or = [
[200, 196, 157, 49, 219, 232, 69, 76, 83, 241, 90, 229, 150, 242, 92, 15, 84, 148, 229, 112, 54, 1, 119, 2, 169, 57, 211, 105, 136, 202, 103, 168],
[234, 169, 154, 104, 251, 227, 123, 14, 69, 153, 122, 248, 216, 214, 90, 81, 11, 135, 195, 113, 29, 23, 116, 2, 161, 38, 253, 115, 142, 200, 42, 189],
[200, 165, 201, 110, 242, 224, 40, 65, 59, 242, 81, 195, 162, 188, 101, 3, 79, 254, 234, 10, 16, 95, 72, 35, 164, 67, 164, 71, 240, 227, 121, 199],
[245, 130, 172, 48, 216, 131, 115, 127, 66, 236, 28, 185, 136, 252, 90, 79, 119, 243, 179, 12, 72, 39, 98, 61, 137, 71, 249, 115, 214, 177, 21, 172],
[89, 223, 151, 248, 170, 122, 131, 80, 144, 118, 56, 163, 241, 252, 134, 140, 142, 29, 185, 213, 230, 84, 127, 54, 179, 36, 10, 155, 207, 175, 138, 50],
[14, 100, 3, 93, 159, 22, 163, 57, 95, 210, 206, 203, 142, 255, 17, 137, 104]
],
Sr = [44, 128, 188, 10, 35, 20];
function Ar(r) {
return Z(mr(Sr, Or[r]))
}
function Pr(r) {
return mr(Sr, Or[r])
}
function Cr(r, t) {
return r + t
}
function Er(r, t, e) {
var n, i, o, s, a, c, u, h, l, d, p, v, g = {
RPJda: function(r, t, e) {
return r(t, e)
},
pNEvf: function(r, t, e, n) {
return r(t, e, n)
},
BQVuz: function(r, t) {
return r(t)
},
OZmeD: function(r, t) {
return r(t)
}
},
w = e["charAt"](e.length - 1),
_ = e.substring(0, e.length - 1);
return q("5" === w ? (n = r,
i = t,
o = _,
s = function(r, t) {
return r(t)
},
a = function(r, t, e) {
return r(t, e)
},
c = Ar(4),
u = X(Br, c, n + i),
h = X(Br, u, i),
l = X(Br, u, n),
d = mr(s(Pr, 5), $(h)),
p = a(mr, Pr(5), s($, l)),
v = kr.d(o),
v = mr(p, v),
ir.d(v, d)) : "4" === w ? function(r, t, e) {
var n = X(Br, Ar(3), g.RPJda(Cr, Ar(2), r)),
i = X(Br, n, Cr(t, r)),
o = g.pNEvf(X, Br, n, Cr(Ar(2), t)),
s = kr.d(e),
a = xr($(o), s);
return ir.d(a, $(i))
}(r, t, _) : function(r, t, e) {
var n = X(Br, Ar(1), Cr(r, g["BQVuz"](Ar, 0))),
i = X(Br, n, g.RPJda(Cr, r, t)),
o = X(Br, n, Cr(t, Ar(0))),
s = kr.d(e),
a = ir.d(s, g.BQVuz($, i));
return xr(g["OZmeD"]($, o), a)
}(r, t, _))
}
Z([97, 98, 109, 95, 109, 101, 100, 105, 97, 84, 111, 107, 101, 110]);
var Rr = Z([97, 98, 109, 95, 117, 115, 101, 114, 73, 100]),
Hr = Z([108, 111, 99, 97, 108, 83, 116, 111, 114, 97, 103, 101]),
Dr = Z([103, 101, 116, 73, 116, 101, 109]),
zr = K[Hr];
var Ir = Z([97, 112, 112, 108, 121]),
Mr = Z([102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101]),
Fr = Z([83, 116, 114, 105, 110, 103]),
Tr = Z([98, 117, 102, 102, 101, 114]),
Lr = Z([108, 101, 110, 103, 116, 104]),
Ur = Z([99, 104, 97, 114, 67, 111, 100, 101, 65, 116]),
Wr = Z([74, 83, 79, 78]),
jr = Z([112, 97, 114, 115, 101]),
Nr = Z([115, 116, 114, 105, 110, 103, 105, 102, 121]),
Xr = br("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),
Kr = Z([115, 108, 105, 99, 101]),
Vr = Z([116, 111, 83, 116, 114, 105, 110, 103]),
Zr = Z([105, 110, 100, 101, 120, 79, 102]),
Gr = Z([46]),
Yr = Z([107, 101, 121, 115]),
qr = Z([107, 105, 100]),
Jr = Z([107]),
Qr = Z([65, 69, 83]),
$r = Z([108, 105, 98]),
rt = Z([87, 111, 114, 100, 65, 114, 114, 97, 121]),
tt = Z([99, 114, 101, 97, 116, 101]),
et = Z([109, 111, 100, 101]),
nt = Z([105, 118]),
it = Z([112, 97, 100, 100, 105, 110, 103]),
ot = Z([101, 110, 99]),
st = Z([67, 66, 67]),
at = Z([72, 101, 120]),
ct = Z([112, 97, 100]),
ut = Z([80, 107, 99, 115, 55]),
ht = Z([99, 105, 112, 104, 101, 114, 116, 101, 120, 116]),
ft = Z([85, 116, 102, 56]),
lt = Z([100, 101, 99, 114, 121, 112, 116]);
function dt(r, t, e) {
var n, i, o, s, a, c, u = function(r, t) {
return r(t)
},
h = function(r, t) {
return r + t
},
f = (n = (c = t,
K[Fr][Mr][Ir](null, q(c))),
K[Wr][jr](n)),
l = f[Yr][0],
d = l[qr],
p = l[Jr],
v = p[Kr](0, p[Zr](Gr)),
g = p[Kr](p[Zr](Gr) + 1),
w = g[Kr](0, g[Zr](Gr)),
_ = g[Kr](h(g[Zr](Gr), 1)),
y = (a = v,
u(q, Xr.d(a))),
x = (o = r,
s = Er(d, e, w),
o[$r][rt][tt](s));
return l.k = function(r, t, e, n) {
var i = {};
i[ht] = r[$r][rt][tt](t);
var o, s, a, c, u, h = {};
return h[et] = r[et][st],
h[nt] = (u = n,
r[ot][at][jr](u)),
h[it] = r[ct][ut],
(o = r,
s = i,
a = e,
c = h,
o[Qr][lt](s, a, c))[Vr](r[ot][ft])
}(r, y, x, _),
function(r) {
for (var t = r[Lr], e = q(t), n = 0; n < t; ++n)
e[n] = r[Ur](n);
return e[Tr]
}((i = f,
K[Wr][Nr](i)))
}
function pt(r) {
var t, e = (t = Rr,
zr[Dr](t));
return function(t) {
return dt(r, t, e)
}
}
function jsonToBuffer(jsonObject) {
var stringJson = JSON.stringify(jsonObject);
return (new TextEncoder).encode(stringJson).buffer;
};
function bufferToJson(buffer) {
var array = new Uint8Array(buffer);
return JSON.parse((new TextDecoder).decode(array));
};
console.log(bufferToJson(dt(cryptoJs, jsonToBuffer(JSON.parse(process.argv[2])), process.argv[3])));