// Metro module 4821 (f4822). import Module4807 from "./Module4807"; import { readIfd, get0thIfdOffset } from "./readTag"; import { IFD_TYPE_0TH, IFD_TYPE_EXIF, IFD_TYPE_GPS, IFD_TYPE_INTEROPERABILITY } from "./Module4823"; import { objectAssign } from "./Module4802"; let c2963_3 = "Exif IFD Pointer"; let c2963_4 = "GPS Info IFD Pointer"; let c2963_5 = "Interoperability IFD Pointer"; export default { read: function read(a0, a1, a2) { const byteOrder = Module4807.getByteOrder(a0, a1); const r31 = readIfd(a0, IFD_TYPE_0TH, a1, get0thIfdOffset(a0, a1, byteOrder), byteOrder, a2); const r34 = r31[c2963_3] !== void 0 ? objectAssign(r31, readIfd(a0, IFD_TYPE_EXIF, a1, a1 + r31[c2963_3].value, byteOrder, a2)) : r31; const r52 = r34[c2963_4] !== void 0 ? objectAssign(r34, readIfd(a0, IFD_TYPE_GPS, a1, a1 + r34[c2963_4].value, byteOrder, a2)) : r34; return { tags: r52[c2963_5] !== void 0 ? objectAssign(r52, readIfd(a0, IFD_TYPE_INTEROPERABILITY, a1, a1 + r52[c2963_5].value, byteOrder, a2)) : r52, byteOrder }; } };