73 lines
3.2 KiB
JavaScript
73 lines
3.2 KiB
JavaScript
// Metro module 4850 (f4851).
|
|
import Module4819 from "./Module4819";
|
|
import { PNG_CHUNK_LENGTH_OFFSET, PNG_CHUNK_TYPE_OFFSET, PNG_CHUNK_TYPE_SIZE, TYPE_PHYS, PNG_CHUNK_DATA_OFFSET, TYPE_TIME } from "./Module4809";
|
|
import { getStringFromDataView } from "./Module4802";
|
|
export default {
|
|
read: function read(a0, a1) {
|
|
const r16 = {};
|
|
const r13 = 0 < a1.length;
|
|
let r2 = 0;
|
|
if (r13) {
|
|
do {
|
|
const longAt = Module4819.getLongAt(a0, a1[r2] + PNG_CHUNK_LENGTH_OFFSET);
|
|
const stringFromDataView = getStringFromDataView(a0, a1[r2] + PNG_CHUNK_TYPE_OFFSET, PNG_CHUNK_TYPE_SIZE);
|
|
const r4 = r2;
|
|
if (stringFromDataView === TYPE_PHYS) {
|
|
const r181 = a1[r4];
|
|
const r182 = 4 <= longAt && r181 + PNG_CHUNK_DATA_OFFSET + 0 + 4 <= a0.byteLength;
|
|
let r190 = void 0;
|
|
if (r182) {
|
|
const longAt2 = Module4819.getLongAt(a0, r181 + PNG_CHUNK_DATA_OFFSET + 0);
|
|
r190 = {
|
|
value: longAt2,
|
|
description: "" + longAt2
|
|
};
|
|
}
|
|
r16["Pixels Per Unit X"] = r190;
|
|
const r202 = a1[r4];
|
|
const r203 = 8 <= longAt && r202 + PNG_CHUNK_DATA_OFFSET + 4 + 4 <= a0.byteLength;
|
|
let r211 = void 0;
|
|
if (r203) {
|
|
const longAt3 = Module4819.getLongAt(a0, r202 + PNG_CHUNK_DATA_OFFSET + 4);
|
|
r211 = {
|
|
value: longAt3,
|
|
description: "" + longAt3
|
|
};
|
|
}
|
|
r16["Pixels Per Unit Y"] = r211;
|
|
const r223 = a1[r4];
|
|
const r224 = 9 <= longAt && r223 + PNG_CHUNK_DATA_OFFSET + 8 + 1 <= a0.byteLength;
|
|
let r232 = void 0;
|
|
if (r224) {
|
|
const byteAt6 = Module4819.getByteAt(a0, r223 + PNG_CHUNK_DATA_OFFSET + 8);
|
|
r232 = {
|
|
value: byteAt6,
|
|
description: byteAt6 === 1 ? "meters" : "Unknown"
|
|
};
|
|
}
|
|
r16["Pixel Units"] = r232;
|
|
} else if (stringFromDataView === TYPE_TIME) {
|
|
const r41 = a1[r4];
|
|
const r77 = 7 <= longAt && r41 + PNG_CHUNK_DATA_OFFSET + 0 + 7 <= a0.byteLength;
|
|
let r85 = void 0;
|
|
if (r77) {
|
|
const shortAt = Module4819.getShortAt(a0, r41 + PNG_CHUNK_DATA_OFFSET);
|
|
const byteAt4 = Module4819.getByteAt(a0, r41 + PNG_CHUNK_DATA_OFFSET + 2);
|
|
const byteAt3 = Module4819.getByteAt(a0, r41 + PNG_CHUNK_DATA_OFFSET + 3);
|
|
const byteAt2 = Module4819.getByteAt(a0, r41 + PNG_CHUNK_DATA_OFFSET + 4);
|
|
const byteAt = Module4819.getByteAt(a0, r41 + PNG_CHUNK_DATA_OFFSET + 5);
|
|
const byteAt5 = Module4819.getByteAt(a0, r41 + PNG_CHUNK_DATA_OFFSET + 6);
|
|
r85 = {
|
|
value: [shortAt, byteAt4, byteAt3, byteAt2, byteAt, byteAt5],
|
|
description: `${`${"0".repeat(4 - ("" + shortAt).length)}${shortAt}`}-${`${"0".repeat(2 - ("" + byteAt4).length)}${byteAt4}`}-${`${"0".repeat(2 - ("" + byteAt3).length)}${byteAt3}`} ${`${"0".repeat(2 - ("" + byteAt2).length)}${byteAt2}`}:${`${"0".repeat(2 - ("" + byteAt).length)}${byteAt}`}:${`${"0".repeat(2 - ("" + byteAt5).length)}${byteAt5}`}`
|
|
};
|
|
}
|
|
r16["Modify Date"] = r85;
|
|
}
|
|
r2 = r4 + 1;
|
|
} while (r2 < a1.length);
|
|
}
|
|
return r16;
|
|
}
|
|
};
|