Files
discord-decomp/_bundle/Module1309.js
T
2026-11-01 12:12:55 +02:00

151 lines
3.4 KiB
JavaScript

// Metro module 1309 (f1310).
let c1077_0 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
let c1077_1 = [];
const r4 = 0 < c1077_0.length;
let r0 = 0;
if (r4) {
do {
c1077_1[c1077_0[r0].charCodeAt(0)] = r0;
r0 = r0 + 1;
} while (r0 < c1077_0.length);
}
c1077_1["-".charCodeAt(0)] = c1077_0.indexOf("+");
c1077_1["_".charCodeAt(0)] = c1077_0.indexOf("/");
export function base64decode(a0) {
let r0, r1, r58, length;
const r13 = 3 * a0.length / 4;
const uint8Array = new Uint8Array(a0[a0.length - 2] == "=" ? r13 - 2 : a0[a0.length - 1] == "=" ? r13 - 1 : r13);
const r23 = 0 < a0.length;
let r4 = 0;
let r27 = 0;
let r5 = 0;
let r6 = 0;
let r53 = 0;
let r54 = 0;
if (r23) {
do {
const r36 = c1077_1[a0.charCodeAt(r4)];
const r12 = r4;
const r57 = r27;
const r8 = r5;
const r3 = r6;
if (r36 === void 0) {
const r69 = a0[r12];
if (r69 === "=") {
r58 = r57;
r0 = 0;
r1 = r3;
} else {
r58 = r57;
r0 = r8;
r1 = r3;
if (r69 !== "\n") {
r58 = r57;
r0 = r8;
r1 = r3;
if (r69 !== "\r") {
r58 = r57;
r0 = r8;
r1 = r3;
if (r69 !== "\t") {
r58 = r57;
r0 = r8;
r1 = r3;
if (r69 !== " ") {
throw Error("invalid base64 string.");
}
}
}
}
}
} else if (r8 === 0) {
r58 = r36;
r0 = 1;
r1 = r3;
} else if (r8 === 1) {
r1 = r3 + 1;
uint8Array[r3] = r57 << 2 | (48 & r36) >> 4;
r58 = r36;
r0 = 2;
} else if (r8 === 2) {
r1 = r3 + 1;
uint8Array[r3] = (15 & r57) << 4 | (60 & r36) >> 2;
r58 = r36;
r0 = 3;
} else {
r58 = r57;
r1 = r3;
r0 = r8;
if (r0 === 3) {
r1 = r3 + 1;
uint8Array[r3] = (3 & r57) << 6 | r36;
r58 = r57;
r0 = 0;
}
}
r4 = r12 + 1;
length = a0.length;
r27 = r58;
r5 = r0;
r6 = r1;
r53 = r5;
r54 = r6;
} while (r4 < length);
}
if (r53 === 1) {
throw Error("invalid base64 string.");
}
return uint8Array.subarray(0, r54);
}
export function base64encode(a0) {
let r2, r24, length;
const r18 = 0 < a0.length;
let r22 = "";
let r3 = 0;
let r4 = 0;
let r5 = 0;
let r11 = 0;
let r12 = 0;
let r21 = "";
if (r18) {
do {
const r25 = a0[r3];
const r10 = r3;
const r6 = r4;
let r1 = r5;
const r26 = r22;
if (r1 === 0) {
r24 = r26 + c1077_0[r25 >> 2];
r2 = (3 & r25) << 4;
r1 = 1;
} else if (r1 === 1) {
r24 = r26 + c1077_0[r6 | r25 >> 4];
r2 = (15 & r25) << 2;
r1 = 2;
} else {
r2 = r6;
r24 = r26;
if (r1 === 2) {
r24 = r26 + c1077_0[r6 | r25 >> 6] + c1077_0[63 & r25];
r2 = r6;
r1 = 0;
}
}
r3 = r10 + 1;
length = a0.length;
r4 = r2;
r5 = r1;
r22 = r24;
r11 = r4;
r12 = r5;
r21 = r22;
} while (r3 < length);
}
let r43 = r21;
if (r12) {
const r48 = r21 + c1077_0[r11] + "=";
r43 = r12 === 1 ? r48 + "=" : r48;
}
return r43;
}