import e from "./_Symbol.js";
import t from "./eq.js";
import n from "./_Uint8Array.js";
import r from "./_equalArrays.js";
import i from "./_mapToArray.js";
import a from "./_setToArray.js";
//#region ../../node_modules/lodash-es/_equalByTag.js
var o = 1, s = 2, c = "[object Boolean]", l = "[object Date]", u = "[object Error]", d = "[object Map]", f = "[object Number]", p = "[object RegExp]", m = "[object Set]", h = "[object String]", g = "[object Symbol]", _ = "[object ArrayBuffer]", v = "[object DataView]", y = e ? e.prototype : void 0, b = y ? y.valueOf : void 0;
function x(e, y, x, S, C, w, T) {
	switch (x) {
		case v:
			if (e.byteLength != y.byteLength || e.byteOffset != y.byteOffset) return !1;
			e = e.buffer, y = y.buffer;
		case _: return !(e.byteLength != y.byteLength || !w(new n(e), new n(y)));
		case c:
		case l:
		case f: return t(+e, +y);
		case u: return e.name == y.name && e.message == y.message;
		case p:
		case h: return e == y + "";
		case d: var E = i;
		case m:
			var D = S & o;
			if (E ||= a, e.size != y.size && !D) return !1;
			var O = T.get(e);
			if (O) return O == y;
			S |= s, T.set(e, y);
			var k = r(E(e), E(y), S, C, w, T);
			return T.delete(e), k;
		case g: if (b) return b.call(e) == b.call(y);
	}
	return !1;
}
//#endregion
export { x as default };
