import e from "./_Stack.js";
import t from "./isArray.js";
import n from "./isBuffer.js";
import r from "./isTypedArray.js";
import i from "./_getTag.js";
import a from "./_equalArrays.js";
import o from "./_equalByTag.js";
import s from "./_equalObjects.js";
//#region ../../node_modules/lodash-es/_baseIsEqualDeep.js
var c = 1, l = "[object Arguments]", u = "[object Array]", d = "[object Object]", f = Object.prototype.hasOwnProperty;
function p(p, m, h, g, _, v) {
	var y = t(p), b = t(m), x = y ? u : i(p), S = b ? u : i(m);
	x = x == l ? d : x, S = S == l ? d : S;
	var C = x == d, w = S == d, T = x == S;
	if (T && n(p)) {
		if (!n(m)) return !1;
		y = !0, C = !1;
	}
	if (T && !C) return v ||= new e(), y || r(p) ? a(p, m, h, g, _, v) : o(p, m, x, h, g, _, v);
	if (!(h & c)) {
		var E = C && f.call(p, "__wrapped__"), D = w && f.call(m, "__wrapped__");
		if (E || D) {
			var O = E ? p.value() : p, k = D ? m.value() : m;
			return v ||= new e(), _(O, k, h, g, v);
		}
	}
	return T ? (v ||= new e(), s(p, m, h, g, _, v)) : !1;
}
//#endregion
export { p as default };
