import w from "./_SetCache.js";
import D from "./_arraySome.js";
import G from "./_cacheHas.js";
var H = w, M = D, q = G, t = 1, x = 2;
function F(n, e, A, v, L, f) {
  var R = A & t, S = n.length, p = e.length;
  if (S != p && !(R && p > S))
    return !1;
  var C = f.get(n), E = f.get(e);
  if (C && E)
    return C == e && E == n;
  var d = -1, _ = !0, l = A & x ? new H() : void 0;
  for (f.set(n, e), f.set(e, n); ++d < S; ) {
    var i = n[d], g = e[d];
    if (v)
      var P = R ? v(g, i, d, e, n, f) : v(i, g, d, n, e, f);
    if (P !== void 0) {
      if (P)
        continue;
      _ = !1;
      break;
    }
    if (l) {
      if (!M(e, function(O, r) {
        if (!q(l, r) && (i === O || L(i, O, A, v, f)))
          return l.push(r);
      })) {
        _ = !1;
        break;
      }
    } else if (!(i === g || L(i, g, A, v, f))) {
      _ = !1;
      break;
    }
  }
  return f.delete(n), f.delete(e), _;
}
var b = F;
export {
  b as default
};
//# sourceMappingURL=_equalArrays.js.map
