// Metro module 4340 (f4341). import * as _isFlattenable from "./isFlattenable"; import * as _arrayPush from "./arrayPush"; const baseFlatten = function baseFlatten(a0, a1, a2, a3, a4) { let r3; let r10 = a2; const length = a0.length; if (!a2) { r10 = _isFlattenable; } const r24 = a4 ? a4 : []; const r6 = 0 < length; let r0 = 0; if (r6) { do { L12: { const r15 = a0[r0]; r3 = r0; if (a1 > 0 && r10(r15)) { if (a1 > 1) { baseFlatten(r15, a1 - 1, r10, a3, r24); break L12; } _arrayPush(r24, r15); } else if (!a3) { r24[r24.length] = r15; } } r0 = r3 + 1; } while (r0 < length); } return r24; }; module.exports = baseFlatten;