import e from "./_SetCache.js";
import t from "./_cacheHas.js";
import n from "./_setToArray.js";
import r from "./_arrayIncludes.js";
import i from "./_arrayIncludesWith.js";
import a from "./_createSet.js";
//#region ../../node_modules/lodash-es/_baseUniq.js
var o = 200;
function s(s, c, l) {
	var u = -1, d = r, f = s.length, p = !0, m = [], h = m;
	if (l) p = !1, d = i;
	else if (f >= o) {
		var g = c ? null : a(s);
		if (g) return n(g);
		p = !1, d = t, h = new e();
	} else h = c ? [] : m;
	outer: for (; ++u < f;) {
		var _ = s[u], v = c ? c(_) : _;
		if (_ = l || _ !== 0 ? _ : 0, p && v === v) {
			for (var y = h.length; y--;) if (h[y] === v) continue outer;
			c && h.push(v), m.push(_);
		} else d(h, v, l) || (h !== m && h.push(v), m.push(_));
	}
	return m;
}
//#endregion
export { s as default };
