@mui/x-charts-vendor
Version:
Vendored dependencies for MUI X Charts.
777 lines (775 loc) • 25.8 kB
JavaScript
;
// https://d3js.org/d3-array/ v3.2.4 Copyright 2010-2023 Mike Bostock
!function (t, n) {
"object" == typeof exports && "undefined" != typeof module ? n(exports) : "function" == typeof define && define.amd ? define(["exports"], n) : n((t = "undefined" != typeof globalThis ? globalThis : t || self).d3 = t.d3 || {});
}(this, function (t) {
"use strict";
function n(t, n) {
return null == t || null == n ? NaN : t < n ? -1 : t > n ? 1 : t >= n ? 0 : NaN;
}
function r(t, n) {
return null == t || null == n ? NaN : n < t ? -1 : n > t ? 1 : n >= t ? 0 : NaN;
}
function e(t) {
let e, f, i;
function u(t, n, r = 0, o = t.length) {
if (r < o) {
if (0 !== e(n, n)) return o;
do {
const e = r + o >>> 1;
f(t[e], n) < 0 ? r = e + 1 : o = e;
} while (r < o);
}
return r;
}
return 2 !== t.length ? (e = n, f = (r, e) => n(t(r), e), i = (n, r) => t(n) - r) : (e = t === n || t === r ? t : o, f = t, i = t), {
left: u,
center: function (t, n, r = 0, e = t.length) {
const o = u(t, n, r, e - 1);
return o > r && i(t[o - 1], n) > -i(t[o], n) ? o - 1 : o;
},
right: function (t, n, r = 0, o = t.length) {
if (r < o) {
if (0 !== e(n, n)) return o;
do {
const e = r + o >>> 1;
f(t[e], n) <= 0 ? r = e + 1 : o = e;
} while (r < o);
}
return r;
}
};
}
function o() {
return 0;
}
function f(t) {
return null === t ? NaN : +t;
}
const i = e(n),
u = i.right,
l = i.left,
c = e(f).center;
var s = u;
const a = d(m),
h = d(function (t) {
const n = m(t);
return (t, r, e, o, f) => {
n(t, r, (e <<= 2) + 0, (o <<= 2) + 0, f <<= 2), n(t, r, e + 1, o + 1, f), n(t, r, e + 2, o + 2, f), n(t, r, e + 3, o + 3, f);
};
});
function d(t) {
return function (n, r, e = r) {
if (!((r = +r) >= 0)) throw new RangeError("invalid rx");
if (!((e = +e) >= 0)) throw new RangeError("invalid ry");
let {
data: o,
width: f,
height: i
} = n;
if (!((f = Math.floor(f)) >= 0)) throw new RangeError("invalid width");
if (!((i = Math.floor(void 0 !== i ? i : o.length / f)) >= 0)) throw new RangeError("invalid height");
if (!f || !i || !r && !e) return n;
const u = r && t(r),
l = e && t(e),
c = o.slice();
return u && l ? (p(u, c, o, f, i), p(u, o, c, f, i), p(u, c, o, f, i), y(l, o, c, f, i), y(l, c, o, f, i), y(l, o, c, f, i)) : u ? (p(u, o, c, f, i), p(u, c, o, f, i), p(u, o, c, f, i)) : l && (y(l, o, c, f, i), y(l, c, o, f, i), y(l, o, c, f, i)), n;
};
}
function p(t, n, r, e, o) {
for (let f = 0, i = e * o; f < i;) t(n, r, f, f += e, 1);
}
function y(t, n, r, e, o) {
for (let f = 0, i = e * o; f < e; ++f) t(n, r, f, f + i, e);
}
function m(t) {
const n = Math.floor(t);
if (n === t) return function (t) {
const n = 2 * t + 1;
return (r, e, o, f, i) => {
if (!((f -= i) >= o)) return;
let u = t * e[o];
const l = i * t;
for (let t = o, n = o + l; t < n; t += i) u += e[Math.min(f, t)];
for (let t = o, c = f; t <= c; t += i) u += e[Math.min(f, t + l)], r[t] = u / n, u -= e[Math.max(o, t - l)];
};
}(t);
const r = t - n,
e = 2 * t + 1;
return (t, o, f, i, u) => {
if (!((i -= u) >= f)) return;
let l = n * o[f];
const c = u * n,
s = c + u;
for (let t = f, n = f + c; t < n; t += u) l += o[Math.min(i, t)];
for (let n = f, a = i; n <= a; n += u) l += o[Math.min(i, n + c)], t[n] = (l + r * (o[Math.max(f, n - s)] + o[Math.min(i, n + s)])) / e, l -= o[Math.max(f, n - c)];
};
}
function g(t, n) {
let r = 0;
if (void 0 === n) for (let n of t) null != n && (n = +n) >= n && ++r;else {
let e = -1;
for (let o of t) null != (o = n(o, ++e, t)) && (o = +o) >= o && ++r;
}
return r;
}
function v(t) {
return 0 | t.length;
}
function M(t) {
return !(t > 0);
}
function w(t) {
return "object" != typeof t || "length" in t ? t : Array.from(t);
}
function b(t, n) {
let r,
e = 0,
o = 0,
f = 0;
if (void 0 === n) for (let n of t) null != n && (n = +n) >= n && (r = n - o, o += r / ++e, f += r * (n - o));else {
let i = -1;
for (let u of t) null != (u = n(u, ++i, t)) && (u = +u) >= u && (r = u - o, o += r / ++e, f += r * (u - o));
}
if (e > 1) return f / (e - 1);
}
function A(t, n) {
const r = b(t, n);
return r ? Math.sqrt(r) : r;
}
function x(t, n) {
let r, e;
if (void 0 === n) for (const n of t) null != n && (void 0 === r ? n >= n && (r = e = n) : (r > n && (r = n), e < n && (e = n)));else {
let o = -1;
for (let f of t) null != (f = n(f, ++o, t)) && (void 0 === r ? f >= f && (r = e = f) : (r > f && (r = f), e < f && (e = f)));
}
return [r, e];
}
class N {
constructor() {
this._partials = new Float64Array(32), this._n = 0;
}
add(t) {
const n = this._partials;
let r = 0;
for (let e = 0; e < this._n && e < 32; e++) {
const o = n[e],
f = t + o,
i = Math.abs(t) < Math.abs(o) ? t - (f - o) : o - (f - t);
i && (n[r++] = i), t = f;
}
return n[r] = t, this._n = r + 1, this;
}
valueOf() {
const t = this._partials;
let n,
r,
e,
o = this._n,
f = 0;
if (o > 0) {
for (f = t[--o]; o > 0 && (n = f, r = t[--o], f = n + r, e = r - (f - n), !e););
o > 0 && (e < 0 && t[o - 1] < 0 || e > 0 && t[o - 1] > 0) && (r = 2 * e, n = f + r, r == n - f && (f = n));
}
return f;
}
}
class InternMap extends Map {
constructor(t, n = k) {
if (super(), Object.defineProperties(this, {
_intern: {
value: new Map()
},
_key: {
value: n
}
}), null != t) for (const [n, r] of t) this.set(n, r);
}
get(t) {
return super.get(E(this, t));
}
has(t) {
return super.has(E(this, t));
}
set(t, n) {
return super.set(_(this, t), n);
}
delete(t) {
return super.delete(S(this, t));
}
}
class InternSet extends Set {
constructor(t, n = k) {
if (super(), Object.defineProperties(this, {
_intern: {
value: new Map()
},
_key: {
value: n
}
}), null != t) for (const n of t) this.add(n);
}
has(t) {
return super.has(E(this, t));
}
add(t) {
return super.add(_(this, t));
}
delete(t) {
return super.delete(S(this, t));
}
}
function E({
_intern: t,
_key: n
}, r) {
const e = n(r);
return t.has(e) ? t.get(e) : r;
}
function _({
_intern: t,
_key: n
}, r) {
const e = n(r);
return t.has(e) ? t.get(e) : (t.set(e, r), r);
}
function S({
_intern: t,
_key: n
}, r) {
const e = n(r);
return t.has(e) && (r = t.get(e), t.delete(e)), r;
}
function k(t) {
return null !== t && "object" == typeof t ? t.valueOf() : t;
}
function T(t) {
return t;
}
function F(t, ...n) {
return U(t, T, T, n);
}
function I(t, ...n) {
return U(t, Array.from, T, n);
}
function j(t, n) {
for (let r = 1, e = n.length; r < e; ++r) t = t.flatMap(t => t.pop().map(([n, r]) => [...t, n, r]));
return t;
}
function q(t, n, ...r) {
return U(t, T, n, r);
}
function R(t, n, ...r) {
return U(t, Array.from, n, r);
}
function O(t) {
if (1 !== t.length) throw new Error("duplicate key");
return t[0];
}
function U(t, n, r, e) {
return function t(o, f) {
if (f >= e.length) return r(o);
const i = new InternMap(),
u = e[f++];
let l = -1;
for (const t of o) {
const n = u(t, ++l, o),
r = i.get(n);
r ? r.push(t) : i.set(n, [t]);
}
for (const [n, r] of i) i.set(n, t(r, f));
return n(i);
}(t, 0);
}
function L(t, n) {
return Array.from(n, n => t[n]);
}
function P(t, ...n) {
if ("function" != typeof t[Symbol.iterator]) throw new TypeError("values is not iterable");
t = Array.from(t);
let [r] = n;
if (r && 2 !== r.length || n.length > 1) {
const e = Uint32Array.from(t, (t, n) => n);
return n.length > 1 ? (n = n.map(n => t.map(n)), e.sort((t, r) => {
for (const e of n) {
const n = C(e[t], e[r]);
if (n) return n;
}
})) : (r = t.map(r), e.sort((t, n) => C(r[t], r[n]))), L(t, e);
}
return t.sort(z(r));
}
function z(t = n) {
if (t === n) return C;
if ("function" != typeof t) throw new TypeError("compare is not a function");
return (n, r) => {
const e = t(n, r);
return e || 0 === e ? e : (0 === t(r, r)) - (0 === t(n, n));
};
}
function C(t, n) {
return (null == t || !(t >= t)) - (null == n || !(n >= n)) || (t < n ? -1 : t > n ? 1 : 0);
}
var D = Array.prototype.slice;
function G(t) {
return () => t;
}
const B = Math.sqrt(50),
H = Math.sqrt(10),
J = Math.sqrt(2);
function K(t, n, r) {
const e = (n - t) / Math.max(0, r),
o = Math.floor(Math.log10(e)),
f = e / Math.pow(10, o),
i = f >= B ? 10 : f >= H ? 5 : f >= J ? 2 : 1;
let u, l, c;
return o < 0 ? (c = Math.pow(10, -o) / i, u = Math.round(t * c), l = Math.round(n * c), u / c < t && ++u, l / c > n && --l, c = -c) : (c = Math.pow(10, o) * i, u = Math.round(t / c), l = Math.round(n / c), u * c < t && ++u, l * c > n && --l), l < u && .5 <= r && r < 2 ? K(t, n, 2 * r) : [u, l, c];
}
function Q(t, n, r) {
if (!((r = +r) > 0)) return [];
if ((t = +t) === (n = +n)) return [t];
const e = n < t,
[o, f, i] = e ? K(n, t, r) : K(t, n, r);
if (!(f >= o)) return [];
const u = f - o + 1,
l = new Array(u);
if (e) {
if (i < 0) for (let t = 0; t < u; ++t) l[t] = (f - t) / -i;else for (let t = 0; t < u; ++t) l[t] = (f - t) * i;
} else if (i < 0) for (let t = 0; t < u; ++t) l[t] = (o + t) / -i;else for (let t = 0; t < u; ++t) l[t] = (o + t) * i;
return l;
}
function V(t, n, r) {
return K(t = +t, n = +n, r = +r)[2];
}
function W(t, n, r) {
let e;
for (;;) {
const o = V(t, n, r);
if (o === e || 0 === o || !isFinite(o)) return [t, n];
o > 0 ? (t = Math.floor(t / o) * o, n = Math.ceil(n / o) * o) : o < 0 && (t = Math.ceil(t * o) / o, n = Math.floor(n * o) / o), e = o;
}
}
function X(t) {
return Math.max(1, Math.ceil(Math.log(g(t)) / Math.LN2) + 1);
}
function Y() {
var t = T,
n = x,
r = X;
function e(e) {
Array.isArray(e) || (e = Array.from(e));
var o,
f,
i,
u = e.length,
l = new Array(u);
for (o = 0; o < u; ++o) l[o] = t(e[o], o, e);
var c = n(l),
a = c[0],
h = c[1],
d = r(l, a, h);
if (!Array.isArray(d)) {
const t = h,
r = +d;
if (n === x && ([a, h] = W(a, h, r)), (d = Q(a, h, r))[0] <= a && (i = V(a, h, r)), d[d.length - 1] >= h) if (t >= h && n === x) {
const t = V(a, h, r);
isFinite(t) && (t > 0 ? h = (Math.floor(h / t) + 1) * t : t < 0 && (h = (Math.ceil(h * -t) + 1) / -t));
} else d.pop();
}
for (var p = d.length, y = 0, m = p; d[y] <= a;) ++y;
for (; d[m - 1] > h;) --m;
(y || m < p) && (d = d.slice(y, m), p = m - y);
var g,
v = new Array(p + 1);
for (o = 0; o <= p; ++o) (g = v[o] = []).x0 = o > 0 ? d[o - 1] : a, g.x1 = o < p ? d[o] : h;
if (isFinite(i)) {
if (i > 0) for (o = 0; o < u; ++o) null != (f = l[o]) && a <= f && f <= h && v[Math.min(p, Math.floor((f - a) / i))].push(e[o]);else if (i < 0) for (o = 0; o < u; ++o) if (null != (f = l[o]) && a <= f && f <= h) {
const t = Math.floor((a - f) * i);
v[Math.min(p, t + (d[t] <= f))].push(e[o]);
}
} else for (o = 0; o < u; ++o) null != (f = l[o]) && a <= f && f <= h && v[s(d, f, 0, p)].push(e[o]);
return v;
}
return e.value = function (n) {
return arguments.length ? (t = "function" == typeof n ? n : G(n), e) : t;
}, e.domain = function (t) {
return arguments.length ? (n = "function" == typeof t ? t : G([t[0], t[1]]), e) : n;
}, e.thresholds = function (t) {
return arguments.length ? (r = "function" == typeof t ? t : G(Array.isArray(t) ? D.call(t) : t), e) : r;
}, e;
}
function Z(t, n) {
let r;
if (void 0 === n) for (const n of t) null != n && (r < n || void 0 === r && n >= n) && (r = n);else {
let e = -1;
for (let o of t) null != (o = n(o, ++e, t)) && (r < o || void 0 === r && o >= o) && (r = o);
}
return r;
}
function $(t, n) {
let r,
e = -1,
o = -1;
if (void 0 === n) for (const n of t) ++o, null != n && (r < n || void 0 === r && n >= n) && (r = n, e = o);else for (let f of t) null != (f = n(f, ++o, t)) && (r < f || void 0 === r && f >= f) && (r = f, e = o);
return e;
}
function tt(t, n) {
let r;
if (void 0 === n) for (const n of t) null != n && (r > n || void 0 === r && n >= n) && (r = n);else {
let e = -1;
for (let o of t) null != (o = n(o, ++e, t)) && (r > o || void 0 === r && o >= o) && (r = o);
}
return r;
}
function nt(t, n) {
let r,
e = -1,
o = -1;
if (void 0 === n) for (const n of t) ++o, null != n && (r > n || void 0 === r && n >= n) && (r = n, e = o);else for (let f of t) null != (f = n(f, ++o, t)) && (r > f || void 0 === r && f >= f) && (r = f, e = o);
return e;
}
function rt(t, n, r = 0, e = 1 / 0, o) {
if (n = Math.floor(n), r = Math.floor(Math.max(0, r)), e = Math.floor(Math.min(t.length - 1, e)), !(r <= n && n <= e)) return t;
for (o = void 0 === o ? C : z(o); e > r;) {
if (e - r > 600) {
const f = e - r + 1,
i = n - r + 1,
u = Math.log(f),
l = .5 * Math.exp(2 * u / 3),
c = .5 * Math.sqrt(u * l * (f - l) / f) * (i - f / 2 < 0 ? -1 : 1);
rt(t, n, Math.max(r, Math.floor(n - i * l / f + c)), Math.min(e, Math.floor(n + (f - i) * l / f + c)), o);
}
const f = t[n];
let i = r,
u = e;
for (et(t, r, n), o(t[e], f) > 0 && et(t, r, e); i < u;) {
for (et(t, i, u), ++i, --u; o(t[i], f) < 0;) ++i;
for (; o(t[u], f) > 0;) --u;
}
0 === o(t[r], f) ? et(t, r, u) : (++u, et(t, u, e)), u <= n && (r = u + 1), n <= u && (e = u - 1);
}
return t;
}
function et(t, n, r) {
const e = t[n];
t[n] = t[r], t[r] = e;
}
function ot(t, r = n) {
let e,
o = !1;
if (1 === r.length) {
let f;
for (const i of t) {
const t = r(i);
(o ? n(t, f) > 0 : 0 === n(t, t)) && (e = i, f = t, o = !0);
}
} else for (const n of t) (o ? r(n, e) > 0 : 0 === r(n, n)) && (e = n, o = !0);
return e;
}
function ft(t, n, r) {
if (t = Float64Array.from(function* (t, n) {
if (void 0 === n) for (let n of t) null != n && (n = +n) >= n && (yield n);else {
let r = -1;
for (let e of t) null != (e = n(e, ++r, t)) && (e = +e) >= e && (yield e);
}
}(t, r)), (e = t.length) && !isNaN(n = +n)) {
if (n <= 0 || e < 2) return tt(t);
if (n >= 1) return Z(t);
var e,
o = (e - 1) * n,
f = Math.floor(o),
i = Z(rt(t, f).subarray(0, f + 1));
return i + (tt(t.subarray(f + 1)) - i) * (o - f);
}
}
function it(t, n, r = f) {
if (!isNaN(n = +n)) {
if (e = Float64Array.from(t, (n, e) => f(r(t[e], e, t))), n <= 0) return nt(e);
if (n >= 1) return $(e);
var e,
o = Uint32Array.from(t, (t, n) => n),
i = e.length - 1,
u = Math.floor(i * n);
return rt(o, u, 0, i, (t, n) => C(e[t], e[n])), (u = ot(o.subarray(0, u + 1), t => e[t])) >= 0 ? u : -1;
}
}
function ut(t, n) {
return [t, n];
}
function lt(t, r = n) {
if (1 === r.length) return nt(t, r);
let e,
o = -1,
f = -1;
for (const n of t) ++f, (o < 0 ? 0 === r(n, n) : r(n, e) < 0) && (e = n, o = f);
return o;
}
var ct = st(Math.random);
function st(t) {
return function (n, r = 0, e = n.length) {
let o = e - (r = +r);
for (; o;) {
const e = t() * o-- | 0,
f = n[o + r];
n[o + r] = n[e + r], n[e + r] = f;
}
return n;
};
}
function at(t) {
if (!(o = t.length)) return [];
for (var n = -1, r = tt(t, ht), e = new Array(r); ++n < r;) for (var o, f = -1, i = e[n] = new Array(o); ++f < o;) i[f] = t[f][n];
return e;
}
function ht(t) {
return t.length;
}
function dt(t) {
return t instanceof InternSet ? t : new InternSet(t);
}
function pt(t, n) {
const r = t[Symbol.iterator](),
e = new Set();
for (const t of n) {
const n = yt(t);
if (e.has(n)) continue;
let o, f;
for (; {
value: o,
done: f
} = r.next();) {
if (f) return !1;
const t = yt(o);
if (e.add(t), Object.is(n, t)) break;
}
}
return !0;
}
function yt(t) {
return null !== t && "object" == typeof t ? t.valueOf() : t;
}
t.Adder = N, t.InternMap = InternMap, t.InternSet = InternSet, t.ascending = n, t.bin = Y, t.bisect = s, t.bisectCenter = c, t.bisectLeft = l, t.bisectRight = u, t.bisector = e, t.blur = function (t, n) {
if (!((n = +n) >= 0)) throw new RangeError("invalid r");
let r = t.length;
if (!((r = Math.floor(r)) >= 0)) throw new RangeError("invalid length");
if (!r || !n) return t;
const e = m(n),
o = t.slice();
return e(t, o, 0, r, 1), e(o, t, 0, r, 1), e(t, o, 0, r, 1), t;
}, t.blur2 = a, t.blurImage = h, t.count = g, t.cross = function (...t) {
const n = "function" == typeof t[t.length - 1] && function (t) {
return n => t(...n);
}(t.pop()),
r = (t = t.map(w)).map(v),
e = t.length - 1,
o = new Array(e + 1).fill(0),
f = [];
if (e < 0 || r.some(M)) return f;
for (;;) {
f.push(o.map((n, r) => t[r][n]));
let i = e;
for (; ++o[i] === r[i];) {
if (0 === i) return n ? f.map(n) : f;
o[i--] = 0;
}
}
}, t.cumsum = function (t, n) {
var r = 0,
e = 0;
return Float64Array.from(t, void 0 === n ? t => r += +t || 0 : o => r += +n(o, e++, t) || 0);
}, t.descending = r, t.deviation = A, t.difference = function (t, ...n) {
t = new InternSet(t);
for (const r of n) for (const n of r) t.delete(n);
return t;
}, t.disjoint = function (t, n) {
const r = n[Symbol.iterator](),
e = new InternSet();
for (const n of t) {
if (e.has(n)) return !1;
let t, o;
for (; ({
value: t,
done: o
} = r.next()) && !o;) {
if (Object.is(n, t)) return !1;
e.add(t);
}
}
return !0;
}, t.every = function (t, n) {
if ("function" != typeof n) throw new TypeError("test is not a function");
let r = -1;
for (const e of t) if (!n(e, ++r, t)) return !1;
return !0;
}, t.extent = x, t.fcumsum = function (t, n) {
const r = new N();
let e = -1;
return Float64Array.from(t, void 0 === n ? t => r.add(+t || 0) : o => r.add(+n(o, ++e, t) || 0));
}, t.filter = function (t, n) {
if ("function" != typeof n) throw new TypeError("test is not a function");
const r = [];
let e = -1;
for (const o of t) n(o, ++e, t) && r.push(o);
return r;
}, t.flatGroup = function (t, ...n) {
return j(I(t, ...n), n);
}, t.flatRollup = function (t, n, ...r) {
return j(R(t, n, ...r), r);
}, t.fsum = function (t, n) {
const r = new N();
if (void 0 === n) for (let n of t) (n = +n) && r.add(n);else {
let e = -1;
for (let o of t) (o = +n(o, ++e, t)) && r.add(o);
}
return +r;
}, t.greatest = ot, t.greatestIndex = function (t, r = n) {
if (1 === r.length) return $(t, r);
let e,
o = -1,
f = -1;
for (const n of t) ++f, (o < 0 ? 0 === r(n, n) : r(n, e) > 0) && (e = n, o = f);
return o;
}, t.group = F, t.groupSort = function (t, r, e) {
return (2 !== r.length ? P(q(t, r, e), ([t, r], [e, o]) => n(r, o) || n(t, e)) : P(F(t, e), ([t, e], [o, f]) => r(e, f) || n(t, o))).map(([t]) => t);
}, t.groups = I, t.histogram = Y, t.index = function (t, ...n) {
return U(t, T, O, n);
}, t.indexes = function (t, ...n) {
return U(t, Array.from, O, n);
}, t.intersection = function (t, ...n) {
t = new InternSet(t), n = n.map(dt);
t: for (const r of t) for (const e of n) if (!e.has(r)) {
t.delete(r);
continue t;
}
return t;
}, t.least = function (t, r = n) {
let e,
o = !1;
if (1 === r.length) {
let f;
for (const i of t) {
const t = r(i);
(o ? n(t, f) < 0 : 0 === n(t, t)) && (e = i, f = t, o = !0);
}
} else for (const n of t) (o ? r(n, e) < 0 : 0 === r(n, n)) && (e = n, o = !0);
return e;
}, t.leastIndex = lt, t.map = function (t, n) {
if ("function" != typeof t[Symbol.iterator]) throw new TypeError("values is not iterable");
if ("function" != typeof n) throw new TypeError("mapper is not a function");
return Array.from(t, (r, e) => n(r, e, t));
}, t.max = Z, t.maxIndex = $, t.mean = function (t, n) {
let r = 0,
e = 0;
if (void 0 === n) for (let n of t) null != n && (n = +n) >= n && (++r, e += n);else {
let o = -1;
for (let f of t) null != (f = n(f, ++o, t)) && (f = +f) >= f && (++r, e += f);
}
if (r) return e / r;
}, t.median = function (t, n) {
return ft(t, .5, n);
}, t.medianIndex = function (t, n) {
return it(t, .5, n);
}, t.merge = function (t) {
return Array.from(function* (t) {
for (const n of t) yield* n;
}(t));
}, t.min = tt, t.minIndex = nt, t.mode = function (t, n) {
const r = new InternMap();
if (void 0 === n) for (let n of t) null != n && n >= n && r.set(n, (r.get(n) || 0) + 1);else {
let e = -1;
for (let o of t) null != (o = n(o, ++e, t)) && o >= o && r.set(o, (r.get(o) || 0) + 1);
}
let e,
o = 0;
for (const [t, n] of r) n > o && (o = n, e = t);
return e;
}, t.nice = W, t.pairs = function (t, n = ut) {
const r = [];
let e,
o = !1;
for (const f of t) o && r.push(n(e, f)), e = f, o = !0;
return r;
}, t.permute = L, t.quantile = ft, t.quantileIndex = it, t.quantileSorted = function (t, n, r = f) {
if ((e = t.length) && !isNaN(n = +n)) {
if (n <= 0 || e < 2) return +r(t[0], 0, t);
if (n >= 1) return +r(t[e - 1], e - 1, t);
var e,
o = (e - 1) * n,
i = Math.floor(o),
u = +r(t[i], i, t);
return u + (+r(t[i + 1], i + 1, t) - u) * (o - i);
}
}, t.quickselect = rt, t.range = function (t, n, r) {
t = +t, n = +n, r = (o = arguments.length) < 2 ? (n = t, t = 0, 1) : o < 3 ? 1 : +r;
for (var e = -1, o = 0 | Math.max(0, Math.ceil((n - t) / r)), f = new Array(o); ++e < o;) f[e] = t + e * r;
return f;
}, t.rank = function (t, r = n) {
if ("function" != typeof t[Symbol.iterator]) throw new TypeError("values is not iterable");
let e = Array.from(t);
const o = new Float64Array(e.length);
2 !== r.length && (e = e.map(r), r = n);
const f = (t, n) => r(e[t], e[n]);
let i, u;
return (t = Uint32Array.from(e, (t, n) => n)).sort(r === n ? (t, n) => C(e[t], e[n]) : z(f)), t.forEach((t, n) => {
const r = f(t, void 0 === i ? t : i);
r >= 0 ? ((void 0 === i || r > 0) && (i = t, u = n), o[t] = u) : o[t] = NaN;
}), o;
}, t.reduce = function (t, n, r) {
if ("function" != typeof n) throw new TypeError("reducer is not a function");
const e = t[Symbol.iterator]();
let o,
f,
i = -1;
if (arguments.length < 3) {
if ({
done: o,
value: r
} = e.next(), o) return;
++i;
}
for (; {
done: o,
value: f
} = e.next(), !o;) r = n(r, f, ++i, t);
return r;
}, t.reverse = function (t) {
if ("function" != typeof t[Symbol.iterator]) throw new TypeError("values is not iterable");
return Array.from(t).reverse();
}, t.rollup = q, t.rollups = R, t.scan = function (t, n) {
const r = lt(t, n);
return r < 0 ? void 0 : r;
}, t.shuffle = ct, t.shuffler = st, t.some = function (t, n) {
if ("function" != typeof n) throw new TypeError("test is not a function");
let r = -1;
for (const e of t) if (n(e, ++r, t)) return !0;
return !1;
}, t.sort = P, t.subset = function (t, n) {
return pt(n, t);
}, t.sum = function (t, n) {
let r = 0;
if (void 0 === n) for (let n of t) (n = +n) && (r += n);else {
let e = -1;
for (let o of t) (o = +n(o, ++e, t)) && (r += o);
}
return r;
}, t.superset = pt, t.thresholdFreedmanDiaconis = function (t, n, r) {
const e = g(t),
o = ft(t, .75) - ft(t, .25);
return e && o ? Math.ceil((r - n) / (2 * o * Math.pow(e, -1 / 3))) : 1;
}, t.thresholdScott = function (t, n, r) {
const e = g(t),
o = A(t);
return e && o ? Math.ceil((r - n) * Math.cbrt(e) / (3.49 * o)) : 1;
}, t.thresholdSturges = X, t.tickIncrement = V, t.tickStep = function (t, n, r) {
r = +r;
const e = (n = +n) < (t = +t),
o = e ? V(n, t, r) : V(t, n, r);
return (e ? -1 : 1) * (o < 0 ? 1 / -o : o);
}, t.ticks = Q, t.transpose = at, t.union = function (...t) {
const n = new InternSet();
for (const r of t) for (const t of r) n.add(t);
return n;
}, t.variance = b, t.zip = function () {
return at(arguments);
};
});