74 lines
1.8 KiB
JavaScript
74 lines
1.8 KiB
JavaScript
// Metro module 1310 (f1311).
|
|
const fromCharCodes = (a0) => {};
|
|
export function utf8read(a0) {
|
|
let r1, r3, r93;
|
|
if (a0.length < 1) {
|
|
return "";
|
|
}
|
|
const r36 = [];
|
|
const r39 = [];
|
|
const length = a0.length;
|
|
const r32 = 0 < length;
|
|
let r8 = 0;
|
|
let r9 = 0;
|
|
let r15 = 0;
|
|
if (r32) {
|
|
do {
|
|
L11: {
|
|
const r7 = r9 + 1;
|
|
const r38 = a0[r9];
|
|
const r11 = r8;
|
|
if (r38 < 128) {
|
|
r1 = r11 + 1;
|
|
r39[r11] = r38;
|
|
r3 = r7;
|
|
} else {
|
|
if (r38 > 191 && r38 < 224) {
|
|
r1 = r11 + 1;
|
|
const r71 = 31 & r38;
|
|
r3 = r7 + 1;
|
|
r39[r11] = r71 << 6 | 63 & a0[r7];
|
|
break L11;
|
|
}
|
|
if (r38 > 239 && r38 < 365) {
|
|
const r52 = 7 & r38;
|
|
const r53 = r7 + 1;
|
|
const r12 = 63 & a0[r7];
|
|
const r55 = r53 + 1;
|
|
const r6 = 63 & a0[r53];
|
|
r3 = r55 + 1;
|
|
const r65 = (r52 << 18 | r12 << 12 | r6 << 6 | 63 & a0[r55]) - 65536;
|
|
const r66 = r11 + 1;
|
|
r39[r11] = 55296 + (r65 >> 10);
|
|
r1 = r66 + 1;
|
|
r39[r66] = 56320 + (1023 & r65);
|
|
break L11;
|
|
}
|
|
r1 = r11 + 1;
|
|
const r5 = 15 & r38;
|
|
const r2 = r7 + 1;
|
|
const r0 = 63 & a0[r7];
|
|
r3 = r2 + 1;
|
|
r39[r11] = r5 << 12 | r0 << 6 | 63 & a0[r2];
|
|
}
|
|
}
|
|
if (8191 < r1) {
|
|
r36.push(String.fromCharCode.apply(String, r39));
|
|
r1 = 0;
|
|
}
|
|
r8 = r1;
|
|
r15 = r8;
|
|
r9 = r3;
|
|
} while (r9 < length);
|
|
}
|
|
if (r36.length) {
|
|
if (r15) {
|
|
r36.push(String.fromCharCode.apply(String, r39.slice(0, r15)));
|
|
}
|
|
r93 = r36.join("");
|
|
} else {
|
|
r93 = String.fromCharCode.apply(String, r39.slice(0, r15));
|
|
}
|
|
return r93;
|
|
}
|