import O from "./_assignMergeValue.js";
import "./_cloneBuffer.js";
import g from "./_cloneTypedArray.js";
import j from "./_copyArray.js";
import v from "./_initCloneObject.js";
import V from "./isArguments.js";
import M from "./isArray.js";
import P from "./isArrayLikeObject.js";
import "./isBuffer.js";
import x from "./isFunction.js";
import C from "./isObject.js";
import T from "./isPlainObject.js";
import B from "./isTypedArray.js";
import D from "./_safeGet.js";
import F from "./toPlainObject.js";
import { _ as G } from "../../../../../_virtual/_cloneBuffer.js";
import { i as L } from "../../../../../_virtual/isBuffer.js";
var u = O, w = G.exports, $ = g, h = j, q = v, c = V, y = M, E = P, H = L.exports, I = x, J = C, K = T, N = B, b = D, Q = F;
function R(a, l, o, d, A, m, t) {
  var i = b(a, o), e = b(l, o), p = t.get(e);
  if (p) {
    u(a, o, p);
    return;
  }
  var r = m ? m(i, e, o + "", a, l, t) : void 0, f = r === void 0;
  if (f) {
    var s = y(e), n = !s && H(e), _ = !s && !n && N(e);
    r = e, s || n || _ ? y(i) ? r = i : E(i) ? r = h(i) : n ? (f = !1, r = w(e, !0)) : _ ? (f = !1, r = $(e, !0)) : r = [] : K(e) || c(e) ? (r = i, c(i) ? r = Q(i) : (!J(i) || I(i)) && (r = q(e))) : f = !1;
  }
  f && (t.set(e, r), A(r, e, d, m, t), t.delete(e)), u(a, o, r);
}
var ne = R;
export {
  ne as default
};
//# sourceMappingURL=_baseMergeDeep.js.map
