diff options
Diffstat (limited to 'assets/js/d3.js')
-rw-r--r-- | assets/js/d3.js | 10554 |
1 files changed, 0 insertions, 10554 deletions
diff --git a/assets/js/d3.js b/assets/js/d3.js deleted file mode 100644 index 542bdc7..0000000 --- a/assets/js/d3.js +++ /dev/null @@ -1,10554 +0,0 @@ -// https://d3js.org Version 4.10.2. Copyright 2017 Mike Bostock. -(function (t, n) { - "object" == typeof exports && "undefined" != typeof module ? n(exports) : "function" == typeof define && define.amd ? define(["exports"], n) : n(t.d3 = t.d3 || {}) -})(this, function (t) { - "use strict"; - - function n(t) { - return function (n, e) { - return ss(t(n), e) - } - } - - function e(t, n) { - return [t, n] - } - - function r(t, n, e) { - var r = (n - t) / Math.max(0, e), - i = Math.floor(Math.log(r) / Math.LN10), - o = r / Math.pow(10, i); - return i >= 0 ? (o >= Ts ? 10 : o >= ks ? 5 : o >= Ns ? 2 : 1) * Math.pow(10, i) : -Math.pow(10, -i) / (o >= Ts ? 10 : o >= ks ? 5 : o >= Ns ? 2 : 1) - } - - function i(t, n, e) { - var r = Math.abs(n - t) / Math.max(0, e), - i = Math.pow(10, Math.floor(Math.log(r) / Math.LN10)), - o = r / i; - return o >= Ts ? i *= 10 : o >= ks ? i *= 5 : o >= Ns && (i *= 2), n < t ? -i : i - } - - function o(t) { - return t.length - } - - function u(t) { - return "translate(" + (t + .5) + ",0)" - } - - function a(t) { - return "translate(0," + (t + .5) + ")" - } - - function c(t) { - return function (n) { - return +t(n) - } - } - - function s(t) { - var n = Math.max(0, t.bandwidth() - 1) / 2; - return t.round() && (n = Math.round(n)), - function (e) { - return +t(e) + n - } - } - - function f() { - return !this.__axis - } - - function l(t, n) { - function e(e) { - var u = null == i ? n.ticks ? n.ticks.apply(n, r) : n.domain() : i, - a = null == o ? n.tickFormat ? n.tickFormat.apply(n, r) : Ls : o, - y = Math.max(l, 0) + p, - g = n.range(), - m = +g[0] + .5, - x = +g[g.length - 1] + .5, - b = (n.bandwidth ? s : c)(n.copy()), - w = e.selection ? e.selection() : e, - M = w.selectAll(".domain").data([null]), - T = w.selectAll(".tick").data(u, n).order(), - k = T.exit(), - N = T.enter().append("g").attr("class", "tick"), - S = T.select("line"), - E = T.select("text"); - M = M.merge(M.enter().insert("path", ".tick").attr("class", "domain").attr("stroke", "#000")), T = T.merge(N), S = S.merge(N.append("line").attr("stroke", "#000").attr(v + "2", d * l)), E = E.merge(N.append("text").attr("fill", "#000").attr(v, d * y).attr("dy", t === qs ? "0em" : t === Ds ? "0.71em" : "0.32em")), e !== w && (M = M.transition(e), T = T.transition(e), S = S.transition(e), E = E.transition(e), k = k.transition(e).attr("opacity", Fs).attr("transform", function (t) { - return isFinite(t = b(t)) ? _(t) : this.getAttribute("transform") - }), N.attr("opacity", Fs).attr("transform", function (t) { - var n = this.parentNode.__axis; - return _(n && isFinite(n = n(t)) ? n : b(t)) - })), k.remove(), M.attr("d", t === Os || t == Us ? "M" + d * h + "," + m + "H0.5V" + x + "H" + d * h : "M" + m + "," + d * h + "V0.5H" + x + "V" + d * h), T.attr("opacity", 1).attr("transform", function (t) { - return _(b(t)) - }), S.attr(v + "2", d * l), E.attr(v, d * y).text(a), w.filter(f).attr("fill", "none").attr("font-size", 10).attr("font-family", "sans-serif").attr("text-anchor", t === Us ? "start" : t === Os ? "end" : "middle"), w.each(function () { - this.__axis = b - }) - } - var r = [], - i = null, - o = null, - l = 6, - h = 6, - p = 3, - d = t === qs || t === Os ? -1 : 1, - v = t === Os || t === Us ? "x" : "y", - _ = t === qs || t === Ds ? u : a; - return e.scale = function (t) { - return arguments.length ? (n = t, e) : n - }, e.ticks = function () { - return r = Rs.call(arguments), e - }, e.tickArguments = function (t) { - return arguments.length ? (r = null == t ? [] : Rs.call(t), e) : r.slice() - }, e.tickValues = function (t) { - return arguments.length ? (i = null == t ? null : Rs.call(t), e) : i && i.slice() - }, e.tickFormat = function (t) { - return arguments.length ? (o = t, e) : o - }, e.tickSize = function (t) { - return arguments.length ? (l = h = +t, e) : l - }, e.tickSizeInner = function (t) { - return arguments.length ? (l = +t, e) : l - }, e.tickSizeOuter = function (t) { - return arguments.length ? (h = +t, e) : h - }, e.tickPadding = function (t) { - return arguments.length ? (p = +t, e) : p - }, e - } - - function h() { - for (var t, n = 0, e = arguments.length, r = {}; n < e; ++n) { - if (!(t = arguments[n] + "") || t in r) throw new Error("illegal type: " + t); - r[t] = [] - } - return new p(r) - } - - function p(t) { - this._ = t - } - - function d(t, n) { - return t.trim().split(/^|\s+/).map(function (t) { - var e = "", - r = t.indexOf("."); - if (r >= 0 && (e = t.slice(r + 1), t = t.slice(0, r)), t && !n.hasOwnProperty(t)) throw new Error("unknown type: " + t); - return { - type: t, - name: e - } - }) - } - - function v(t, n) { - for (var e, r = 0, i = t.length; r < i; ++r) - if ((e = t[r]).name === n) return e.value - } - - function _(t, n, e) { - for (var r = 0, i = t.length; r < i; ++r) - if (t[r].name === n) { - t[r] = Is, t = t.slice(0, r).concat(t.slice(r + 1)); - break - } - return null != e && t.push({ - name: n, - value: e - }), t - } - - function y(t) { - return function () { - var n = this.ownerDocument, - e = this.namespaceURI; - return e === Ys && n.documentElement.namespaceURI === Ys ? n.createElement(t) : n.createElementNS(e, t) - } - } - - function g(t) { - return function () { - return this.ownerDocument.createElementNS(t.space, t.local) - } - } - - function m() { - return new x - } - - function x() { - this._ = "@" + (++Xs).toString(36) - } - - function b(t, n, e) { - return t = w(t, n, e), - function (n) { - var e = n.relatedTarget; - e && (e === this || 8 & e.compareDocumentPosition(this)) || t.call(this, n) - } - } - - function w(n, e, r) { - return function (i) { - var o = t.event; - t.event = i; - try { - n.call(this, this.__data__, e, r) - } finally { - t.event = o - } - } - } - - function M(t) { - return t.trim().split(/^|\s+/).map(function (t) { - var n = "", - e = t.indexOf("."); - return e >= 0 && (n = t.slice(e + 1), t = t.slice(0, e)), { - type: t, - name: n - } - }) - } - - function T(t) { - return function () { - var n = this.__on; - if (n) { - for (var e, r = 0, i = -1, o = n.length; r < o; ++r) e = n[r], t.type && e.type !== t.type || e.name !== t.name ? n[++i] = e : this.removeEventListener(e.type, e.listener, e.capture); - ++i ? n.length = i : delete this.__on - } - } - } - - function k(t, n, e) { - var r = Gs.hasOwnProperty(t.type) ? b : w; - return function (i, o, u) { - var a, c = this.__on, - s = r(n, o, u); - if (c) - for (var f = 0, l = c.length; f < l; ++f) - if ((a = c[f]).type === t.type && a.name === t.name) return this.removeEventListener(a.type, a.listener, a.capture), this.addEventListener(a.type, a.listener = s, a.capture = e), void(a.value = n); - this.addEventListener(t.type, s, e), a = { - type: t.type, - name: t.name, - value: n, - listener: s, - capture: e - }, c ? c.push(a) : this.__on = [a] - } - } - - function N(n, e, r, i) { - var o = t.event; - n.sourceEvent = t.event, t.event = n; - try { - return e.apply(r, i) - } finally { - t.event = o - } - } - - function S() {} - - function E() { - return [] - } - - function A(t, n) { - this.ownerDocument = t.ownerDocument, this.namespaceURI = t.namespaceURI, this._next = null, this._parent = t, this.__data__ = n - } - - function C(t, n, e, r, i, o) { - for (var u, a = 0, c = n.length, s = o.length; a < s; ++a)(u = n[a]) ? (u.__data__ = o[a], r[a] = u) : e[a] = new A(t, o[a]); - for (; a < c; ++a)(u = n[a]) && (i[a] = u) - } - - function z(t, n, e, r, i, o, u) { - var a, c, s, f = {}, - l = n.length, - h = o.length, - p = new Array(l); - for (a = 0; a < l; ++a)(c = n[a]) && (p[a] = s = of +u.call(c, c.__data__, a, n), s in f ? i[a] = c : f[s] = c); - for (a = 0; a < h; ++a)(c = f[s = of +u.call(t, o[a], a, o)]) ? (r[a] = c, c.__data__ = o[a], f[s] = null) : e[a] = new A(t, o[a]); - for (a = 0; a < l; ++a)(c = n[a]) && f[p[a]] === c && (i[a] = c) - } - - function P(t, n) { - return t < n ? -1 : t > n ? 1 : t >= n ? 0 : NaN - } - - function R(t) { - return function () { - this.removeAttribute(t) - } - } - - function L(t) { - return function () { - this.removeAttributeNS(t.space, t.local) - } - } - - function q(t, n) { - return function () { - this.setAttribute(t, n) - } - } - - function U(t, n) { - return function () { - this.setAttributeNS(t.space, t.local, n) - } - } - - function D(t, n) { - return function () { - var e = n.apply(this, arguments); - null == e ? this.removeAttribute(t) : this.setAttribute(t, e) - } - } - - function O(t, n) { - return function () { - var e = n.apply(this, arguments); - null == e ? this.removeAttributeNS(t.space, t.local) : this.setAttributeNS(t.space, t.local, e) - } - } - - function F(t) { - return function () { - this.style.removeProperty(t) - } - } - - function I(t, n, e) { - return function () { - this.style.setProperty(t, n, e) - } - } - - function Y(t, n, e) { - return function () { - var r = n.apply(this, arguments); - null == r ? this.style.removeProperty(t) : this.style.setProperty(t, r, e) - } - } - - function B(t, n) { - return t.style.getPropertyValue(n) || uf(t).getComputedStyle(t, null).getPropertyValue(n) - } - - function j(t) { - return function () { - delete this[t] - } - } - - function H(t, n) { - return function () { - this[t] = n - } - } - - function X(t, n) { - return function () { - var e = n.apply(this, arguments); - null == e ? delete this[t] : this[t] = e - } - } - - function $(t) { - return t.trim().split(/^|\s+/) - } - - function V(t) { - return t.classList || new W(t) - } - - function W(t) { - this._node = t, this._names = $(t.getAttribute("class") || "") - } - - function Z(t, n) { - for (var e = V(t), r = -1, i = n.length; ++r < i;) e.add(n[r]) - } - - function G(t, n) { - for (var e = V(t), r = -1, i = n.length; ++r < i;) e.remove(n[r]) - } - - function J(t) { - return function () { - Z(this, t) - } - } - - function Q(t) { - return function () { - G(this, t) - } - } - - function K(t, n) { - return function () { - (n.apply(this, arguments) ? Z : G)(this, t) - } - } - - function tt() { - this.textContent = "" - } - - function nt(t) { - return function () { - this.textContent = t - } - } - - function et(t) { - return function () { - var n = t.apply(this, arguments); - this.textContent = null == n ? "" : n - } - } - - function rt() { - this.innerHTML = "" - } - - function it(t) { - return function () { - this.innerHTML = t - } - } - - function ot(t) { - return function () { - var n = t.apply(this, arguments); - this.innerHTML = null == n ? "" : n - } - } - - function ut() { - this.nextSibling && this.parentNode.appendChild(this) - } - - function at() { - this.previousSibling && this.parentNode.insertBefore(this, this.parentNode.firstChild) - } - - function ct() { - return null - } - - function st() { - var t = this.parentNode; - t && t.removeChild(this) - } - - function ft(t, n, e) { - var r = uf(t), - i = r.CustomEvent; - "function" == typeof i ? i = new i(n, e) : (i = r.document.createEvent("Event"), e ? (i.initEvent(n, e.bubbles, e.cancelable), i.detail = e.detail) : i.initEvent(n, !1, !1)), t.dispatchEvent(i) - } - - function lt(t, n) { - return function () { - return ft(this, t, n) - } - } - - function ht(t, n) { - return function () { - return ft(this, t, n.apply(this, arguments)) - } - } - - function pt(t, n) { - this._groups = t, this._parents = n - } - - function dt() { - return new pt([ - [document.documentElement] - ], af) - } - - function vt() { - t.event.stopImmediatePropagation() - } - - function _t(t, n) { - var e = t.document.documentElement, - r = cf(t).on("dragstart.drag", null); - n && (r.on("click.drag", ff, !0), setTimeout(function () { - r.on("click.drag", null) - }, 0)), "onselectstart" in e ? r.on("selectstart.drag", null) : (e.style.MozUserSelect = e.__noselect, delete e.__noselect) - } - - function yt(t, n, e, r, i, o, u, a, c, s) { - this.target = t, this.type = n, this.subject = e, this.identifier = r, this.active = i, this.x = o, this.y = u, this.dx = a, this.dy = c, this._ = s - } - - function gt() { - return !t.event.button - } - - function mt() { - return this.parentNode - } - - function xt(n) { - return null == n ? { - x: t.event.x, - y: t.event.y - } : n - } - - function bt() { - return "ontouchstart" in this - } - - function wt(t, n) { - var e = Object.create(t.prototype); - for (var r in n) e[r] = n[r]; - return e - } - - function Mt() {} - - function Tt(t) { - var n; - return t = (t + "").trim().toLowerCase(), (n = yf.exec(t)) ? (n = parseInt(n[1], 16), new At(n >> 8 & 15 | n >> 4 & 240, n >> 4 & 15 | 240 & n, (15 & n) << 4 | 15 & n, 1)) : (n = gf.exec(t)) ? kt(parseInt(n[1], 16)) : (n = mf.exec(t)) ? new At(n[1], n[2], n[3], 1) : (n = xf.exec(t)) ? new At(255 * n[1] / 100, 255 * n[2] / 100, 255 * n[3] / 100, 1) : (n = bf.exec(t)) ? Nt(n[1], n[2], n[3], n[4]) : (n = wf.exec(t)) ? Nt(255 * n[1] / 100, 255 * n[2] / 100, 255 * n[3] / 100, n[4]) : (n = Mf.exec(t)) ? Ct(n[1], n[2] / 100, n[3] / 100, 1) : (n = Tf.exec(t)) ? Ct(n[1], n[2] / 100, n[3] / 100, n[4]) : kf.hasOwnProperty(t) ? kt(kf[t]) : "transparent" === t ? new At(NaN, NaN, NaN, 0) : null - } - - function kt(t) { - return new At(t >> 16 & 255, t >> 8 & 255, 255 & t, 1) - } - - function Nt(t, n, e, r) { - return r <= 0 && (t = n = e = NaN), new At(t, n, e, r) - } - - function St(t) { - return t instanceof Mt || (t = Tt(t)), t ? (t = t.rgb(), new At(t.r, t.g, t.b, t.opacity)) : new At - } - - function Et(t, n, e, r) { - return 1 === arguments.length ? St(t) : new At(t, n, e, null == r ? 1 : r) - } - - function At(t, n, e, r) { - this.r = +t, this.g = +n, this.b = +e, this.opacity = +r - } - - function Ct(t, n, e, r) { - return r <= 0 ? t = n = e = NaN : e <= 0 || e >= 1 ? t = n = NaN : n <= 0 && (t = NaN), new Rt(t, n, e, r) - } - - function zt(t) { - if (t instanceof Rt) return new Rt(t.h, t.s, t.l, t.opacity); - if (t instanceof Mt || (t = Tt(t)), !t) return new Rt; - if (t instanceof Rt) return t; - var n = (t = t.rgb()).r / 255, - e = t.g / 255, - r = t.b / 255, - i = Math.min(n, e, r), - o = Math.max(n, e, r), - u = NaN, - a = o - i, - c = (o + i) / 2; - return a ? (u = n === o ? (e - r) / a + 6 * (e < r) : e === o ? (r - n) / a + 2 : (n - e) / a + 4, a /= c < .5 ? o + i : 2 - o - i, u *= 60) : a = c > 0 && c < 1 ? 0 : u, new Rt(u, a, c, t.opacity) - } - - function Pt(t, n, e, r) { - return 1 === arguments.length ? zt(t) : new Rt(t, n, e, null == r ? 1 : r) - } - - function Rt(t, n, e, r) { - this.h = +t, this.s = +n, this.l = +e, this.opacity = +r - } - - function Lt(t, n, e) { - return 255 * (t < 60 ? n + (e - n) * t / 60 : t < 180 ? e : t < 240 ? n + (e - n) * (240 - t) / 60 : n) - } - - function qt(t) { - if (t instanceof Dt) return new Dt(t.l, t.a, t.b, t.opacity); - if (t instanceof Ht) { - var n = t.h * Nf; - return new Dt(t.l, Math.cos(n) * t.c, Math.sin(n) * t.c, t.opacity) - } - t instanceof At || (t = St(t)); - var e = Yt(t.r), - r = Yt(t.g), - i = Yt(t.b), - o = Ot((.4124564 * e + .3575761 * r + .1804375 * i) / Ef), - u = Ot((.2126729 * e + .7151522 * r + .072175 * i) / Af); - return new Dt(116 * u - 16, 500 * (o - u), 200 * (u - Ot((.0193339 * e + .119192 * r + .9503041 * i) / Cf)), t.opacity) - } - - function Ut(t, n, e, r) { - return 1 === arguments.length ? qt(t) : new Dt(t, n, e, null == r ? 1 : r) - } - - function Dt(t, n, e, r) { - this.l = +t, this.a = +n, this.b = +e, this.opacity = +r - } - - function Ot(t) { - return t > Lf ? Math.pow(t, 1 / 3) : t / Rf + zf - } - - function Ft(t) { - return t > Pf ? t * t * t : Rf * (t - zf) - } - - function It(t) { - return 255 * (t <= .0031308 ? 12.92 * t : 1.055 * Math.pow(t, 1 / 2.4) - .055) - } - - function Yt(t) { - return (t /= 255) <= .04045 ? t / 12.92 : Math.pow((t + .055) / 1.055, 2.4) - } - - function Bt(t) { - if (t instanceof Ht) return new Ht(t.h, t.c, t.l, t.opacity); - t instanceof Dt || (t = qt(t)); - var n = Math.atan2(t.b, t.a) * Sf; - return new Ht(n < 0 ? n + 360 : n, Math.sqrt(t.a * t.a + t.b * t.b), t.l, t.opacity) - } - - function jt(t, n, e, r) { - return 1 === arguments.length ? Bt(t) : new Ht(t, n, e, null == r ? 1 : r) - } - - function Ht(t, n, e, r) { - this.h = +t, this.c = +n, this.l = +e, this.opacity = +r - } - - function Xt(t) { - if (t instanceof Vt) return new Vt(t.h, t.s, t.l, t.opacity); - t instanceof At || (t = St(t)); - var n = t.r / 255, - e = t.g / 255, - r = t.b / 255, - i = (Bf * r + If * n - Yf * e) / (Bf + If - Yf), - o = r - i, - u = (Ff * (e - i) - Df * o) / Of, - a = Math.sqrt(u * u + o * o) / (Ff * i * (1 - i)), - c = a ? Math.atan2(u, o) * Sf - 120 : NaN; - return new Vt(c < 0 ? c + 360 : c, a, i, t.opacity) - } - - function $t(t, n, e, r) { - return 1 === arguments.length ? Xt(t) : new Vt(t, n, e, null == r ? 1 : r) - } - - function Vt(t, n, e, r) { - this.h = +t, this.s = +n, this.l = +e, this.opacity = +r - } - - function Wt(t, n, e, r, i) { - var o = t * t, - u = o * t; - return ((1 - 3 * t + 3 * o - u) * n + (4 - 6 * o + 3 * u) * e + (1 + 3 * t + 3 * o - 3 * u) * r + u * i) / 6 - } - - function Zt(t, n) { - return function (e) { - return t + e * n - } - } - - function Gt(t, n, e) { - return t = Math.pow(t, e), n = Math.pow(n, e) - t, e = 1 / e, - function (r) { - return Math.pow(t + r * n, e) - } - } - - function Jt(t, n) { - var e = n - t; - return e ? Zt(t, e > 180 || e < -180 ? e - 360 * Math.round(e / 360) : e) : Jf(isNaN(t) ? n : t) - } - - function Qt(t) { - return 1 == (t = +t) ? Kt : function (n, e) { - return e - n ? Gt(n, e, t) : Jf(isNaN(n) ? e : n) - } - } - - function Kt(t, n) { - var e = n - t; - return e ? Zt(t, e) : Jf(isNaN(t) ? n : t) - } - - function tn(t) { - return function (n) { - var e, r, i = n.length, - o = new Array(i), - u = new Array(i), - a = new Array(i); - for (e = 0; e < i; ++e) r = Et(n[e]), o[e] = r.r || 0, u[e] = r.g || 0, a[e] = r.b || 0; - return o = t(o), u = t(u), a = t(a), r.opacity = 1, - function (t) { - return r.r = o(t), r.g = u(t), r.b = a(t), r + "" - } - } - } - - function nn(t) { - return function () { - return t - } - } - - function en(t) { - return function (n) { - return t(n) + "" - } - } - - function rn(t, n, e, r) { - function i(t) { - return t.length ? t.pop() + " " : "" - } - - function o(t, r, i, o, u, a) { - if (t !== i || r !== o) { - var c = u.push("translate(", null, n, null, e); - a.push({ - i: c - 4, - x: rl(t, i) - }, { - i: c - 2, - x: rl(r, o) - }) - } else(i || o) && u.push("translate(" + i + n + o + e) - } - - function u(t, n, e, o) { - t !== n ? (t - n > 180 ? n += 360 : n - t > 180 && (t += 360), o.push({ - i: e.push(i(e) + "rotate(", null, r) - 2, - x: rl(t, n) - })) : n && e.push(i(e) + "rotate(" + n + r) - } - - function a(t, n, e, o) { - t !== n ? o.push({ - i: e.push(i(e) + "skewX(", null, r) - 2, - x: rl(t, n) - }) : n && e.push(i(e) + "skewX(" + n + r) - } - - function c(t, n, e, r, o, u) { - if (t !== e || n !== r) { - var a = o.push(i(o) + "scale(", null, ",", null, ")"); - u.push({ - i: a - 4, - x: rl(t, e) - }, { - i: a - 2, - x: rl(n, r) - }) - } else 1 === e && 1 === r || o.push(i(o) + "scale(" + e + "," + r + ")") - } - return function (n, e) { - var r = [], - i = []; - return n = t(n), e = t(e), o(n.translateX, n.translateY, e.translateX, e.translateY, r, i), u(n.rotate, e.rotate, r, i), a(n.skewX, e.skewX, r, i), c(n.scaleX, n.scaleY, e.scaleX, e.scaleY, r, i), n = e = null, - function (t) { - for (var n, e = -1, o = i.length; ++e < o;) r[(n = i[e]).i] = n.x(t); - return r.join("") - } - } - } - - function on(t) { - return ((t = Math.exp(t)) + 1 / t) / 2 - } - - function un(t) { - return ((t = Math.exp(t)) - 1 / t) / 2 - } - - function an(t) { - return ((t = Math.exp(2 * t)) - 1) / (t + 1) - } - - function cn(t) { - return function (n, e) { - var r = t((n = Pt(n)).h, (e = Pt(e)).h), - i = Kt(n.s, e.s), - o = Kt(n.l, e.l), - u = Kt(n.opacity, e.opacity); - return function (t) { - return n.h = r(t), n.s = i(t), n.l = o(t), n.opacity = u(t), n + "" - } - } - } - - function sn(t) { - return function (n, e) { - var r = t((n = jt(n)).h, (e = jt(e)).h), - i = Kt(n.c, e.c), - o = Kt(n.l, e.l), - u = Kt(n.opacity, e.opacity); - return function (t) { - return n.h = r(t), n.c = i(t), n.l = o(t), n.opacity = u(t), n + "" - } - } - } - - function fn(t) { - return function n(e) { - function r(n, r) { - var i = t((n = $t(n)).h, (r = $t(r)).h), - o = Kt(n.s, r.s), - u = Kt(n.l, r.l), - a = Kt(n.opacity, r.opacity); - return function (t) { - return n.h = i(t), n.s = o(t), n.l = u(Math.pow(t, e)), n.opacity = a(t), n + "" - } - } - return e = +e, r.gamma = n, r - }(1) - } - - function ln() { - return El || (zl(hn), El = Cl.now() + Al) - } - - function hn() { - El = 0 - } - - function pn() { - this._call = this._time = this._next = null - } - - function dn(t, n, e) { - var r = new pn; - return r.restart(t, n, e), r - } - - function vn() { - ln(), ++Ml; - for (var t, n = Vf; n;)(t = El - n._time) >= 0 && n._call.call(null, t), n = n._next; - --Ml - } - - function _n() { - El = (Sl = Cl.now()) + Al, Ml = Tl = 0; - try { - vn() - } finally { - Ml = 0, gn(), El = 0 - } - } - - function yn() { - var t = Cl.now(), - n = t - Sl; - n > Nl && (Al -= n, Sl = t) - } - - function gn() { - for (var t, n, e = Vf, r = 1 / 0; e;) e._call ? (r > e._time && (r = e._time), t = e, e = e._next) : (n = e._next, e._next = null, e = t ? t._next = n : Vf = n); - Wf = t, mn(r) - } - - function mn(t) { - Ml || (Tl && (Tl = clearTimeout(Tl)), t - El > 24 ? (t < 1 / 0 && (Tl = setTimeout(_n, t - Cl.now() - Al)), kl && (kl = clearInterval(kl))) : (kl || (Sl = Cl.now(), kl = setInterval(yn, Nl)), Ml = 1, zl(_n))) - } - - function xn(t, n) { - var e = t.__transition; - if (!e || !(e = e[n]) || e.state > ql) throw new Error("too late"); - return e - } - - function bn(t, n) { - var e = t.__transition; - if (!e || !(e = e[n]) || e.state > Dl) throw new Error("too late"); - return e - } - - function wn(t, n) { - var e = t.__transition; - if (!e || !(e = e[n])) throw new Error("too late"); - return e - } - - function Mn(t, n, e) { - function r(c) { - var s, f, l, h; - if (e.state !== Ul) return o(); - for (s in a) - if ((h = a[s]).name === e.name) { - if (h.state === Ol) return Pl(r); - h.state === Fl ? (h.state = Yl, h.timer.stop(), h.on.call("interrupt", t, t.__data__, h.index, h.group), delete a[s]) : +s < n && (h.state = Yl, h.timer.stop(), delete a[s]) - } - if (Pl(function () { - e.state === Ol && (e.state = Fl, e.timer.restart(i, e.delay, e.time), i(c)) - }), e.state = Dl, e.on.call("start", t, t.__data__, e.index, e.group), e.state === Dl) { - for (e.state = Ol, u = new Array(l = e.tween.length), s = 0, f = -1; s < l; ++s)(h = e.tween[s].value.call(t, t.__data__, e.index, e.group)) && (u[++f] = h); - u.length = f + 1 - } - } - - function i(n) { - for (var r = n < e.duration ? e.ease.call(null, n / e.duration) : (e.timer.restart(o), e.state = Il, 1), i = -1, a = u.length; ++i < a;) u[i].call(null, r); - e.state === Il && (e.on.call("end", t, t.__data__, e.index, e.group), o()) - } - - function o() { - e.state = Yl, e.timer.stop(), delete a[n]; - for (var r in a) return; - delete t.__transition - } - var u, a = t.__transition; - a[n] = e, e.timer = dn(function (t) { - e.state = Ul, e.timer.restart(r, e.delay, e.time), e.delay <= t && r(t - e.delay) - }, 0, e.time) - } - - function Tn(t, n) { - var e, r; - return function () { - var i = bn(this, t), - o = i.tween; - if (o !== e) - for (var u = 0, a = (r = e = o).length; u < a; ++u) - if (r[u].name === n) { - (r = r.slice()).splice(u, 1); - break - } - i.tween = r - } - } - - function kn(t, n, e) { - var r, i; - if ("function" != typeof e) throw new Error; - return function () { - var o = bn(this, t), - u = o.tween; - if (u !== r) { - i = (r = u).slice(); - for (var a = { - name: n, - value: e - }, c = 0, s = i.length; c < s; ++c) - if (i[c].name === n) { - i[c] = a; - break - } - c === s && i.push(a) - } - o.tween = i - } - } - - function Nn(t, n, e) { - var r = t._id; - return t.each(function () { - var t = bn(this, r); - (t.value || (t.value = {}))[n] = e.apply(this, arguments) - }), - function (t) { - return wn(t, r).value[n] - } - } - - function Sn(t) { - return function () { - this.removeAttribute(t) - } - } - - function En(t) { - return function () { - this.removeAttributeNS(t.space, t.local) - } - } - - function An(t, n, e) { - var r, i; - return function () { - var o = this.getAttribute(t); - return o === e ? null : o === r ? i : i = n(r = o, e) - } - } - - function Cn(t, n, e) { - var r, i; - return function () { - var o = this.getAttributeNS(t.space, t.local); - return o === e ? null : o === r ? i : i = n(r = o, e) - } - } - - function zn(t, n, e) { - var r, i, o; - return function () { - var u, a = e(this); { - if (null != a) return (u = this.getAttribute(t)) === a ? null : u === r && a === i ? o : o = n(r = u, i = a); - this.removeAttribute(t) - } - } - } - - function Pn(t, n, e) { - var r, i, o; - return function () { - var u, a = e(this); { - if (null != a) return (u = this.getAttributeNS(t.space, t.local)) === a ? null : u === r && a === i ? o : o = n(r = u, i = a); - this.removeAttributeNS(t.space, t.local) - } - } - } - - function Rn(t, n) { - function e() { - var e = this, - r = n.apply(e, arguments); - return r && function (n) { - e.setAttributeNS(t.space, t.local, r(n)) - } - } - return e._value = n, e - } - - function Ln(t, n) { - function e() { - var e = this, - r = n.apply(e, arguments); - return r && function (n) { - e.setAttribute(t, r(n)) - } - } - return e._value = n, e - } - - function qn(t, n) { - return function () { - xn(this, t).delay = +n.apply(this, arguments) - } - } - - function Un(t, n) { - return n = +n, - function () { - xn(this, t).delay = n - } - } - - function Dn(t, n) { - return function () { - bn(this, t).duration = +n.apply(this, arguments) - } - } - - function On(t, n) { - return n = +n, - function () { - bn(this, t).duration = n - } - } - - function Fn(t, n) { - if ("function" != typeof n) throw new Error; - return function () { - bn(this, t).ease = n - } - } - - function In(t) { - return (t + "").trim().split(/^|\s+/).every(function (t) { - var n = t.indexOf("."); - return n >= 0 && (t = t.slice(0, n)), !t || "start" === t - }) - } - - function Yn(t, n, e) { - var r, i, o = In(n) ? xn : bn; - return function () { - var u = o(this, t), - a = u.on; - a !== r && (i = (r = a).copy()).on(n, e), u.on = i - } - } - - function Bn(t) { - return function () { - var n = this.parentNode; - for (var e in this.__transition) - if (+e !== t) return; - n && n.removeChild(this) - } - } - - function jn(t, n) { - var e, r, i; - return function () { - var o = B(this, t), - u = (this.style.removeProperty(t), B(this, t)); - return o === u ? null : o === e && u === r ? i : i = n(e = o, r = u) - } - } - - function Hn(t) { - return function () { - this.style.removeProperty(t) - } - } - - function Xn(t, n, e) { - var r, i; - return function () { - var o = B(this, t); - return o === e ? null : o === r ? i : i = n(r = o, e) - } - } - - function $n(t, n, e) { - var r, i, o; - return function () { - var u = B(this, t), - a = e(this); - return null == a && (this.style.removeProperty(t), a = B(this, t)), u === a ? null : u === r && a === i ? o : o = n(r = u, i = a) - } - } - - function Vn(t, n, e) { - function r() { - var r = this, - i = n.apply(r, arguments); - return i && function (n) { - r.style.setProperty(t, i(n), e) - } - } - return r._value = n, r - } - - function Wn(t) { - return function () { - this.textContent = t - } - } - - function Zn(t) { - return function () { - var n = t(this); - this.textContent = null == n ? "" : n - } - } - - function Gn(t, n, e, r) { - this._groups = t, this._parents = n, this._name = e, this._id = r - } - - function Jn(t) { - return dt().transition(t) - } - - function Qn() { - return ++$l - } - - function Kn(t) { - return ((t *= 2) <= 1 ? t * t : --t * (2 - t) + 1) / 2 - } - - function te(t) { - return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2 - } - - function ne(t) { - return (1 - Math.cos(Jl * t)) / 2 - } - - function ee(t) { - return ((t *= 2) <= 1 ? Math.pow(2, 10 * t - 10) : 2 - Math.pow(2, 10 - 10 * t)) / 2 - } - - function re(t) { - return ((t *= 2) <= 1 ? 1 - Math.sqrt(1 - t * t) : Math.sqrt(1 - (t -= 2) * t) + 1) / 2 - } - - function ie(t) { - return (t = +t) < Kl ? ch * t * t : t < nh ? ch * (t -= th) * t + eh : t < ih ? ch * (t -= rh) * t + oh : ch * (t -= uh) * t + ah - } - - function oe(t, n) { - for (var e; !(e = t.__transition) || !(e = e[n]);) - if (!(t = t.parentNode)) return _h.time = ln(), _h; - return e - } - - function ue() { - t.event.stopImmediatePropagation() - } - - function ae(t) { - return { - type: t - } - } - - function ce() { - return !t.event.button - } - - function se() { - var t = this.ownerSVGElement || this; - return [ - [0, 0], - [t.width.baseVal.value, t.height.baseVal.value] - ] - } - - function fe(t) { - for (; !t.__brush;) - if (!(t = t.parentNode)) return; - return t.__brush - } - - function le(t) { - return t[0][0] === t[1][0] || t[0][1] === t[1][1] - } - - function he(n) { - function e(t) { - var e = t.property("__brush", a).selectAll(".overlay").data([ae("overlay")]); - e.enter().append("rect").attr("class", "overlay").attr("pointer-events", "all").attr("cursor", Eh.overlay).merge(e).each(function () { - var t = fe(this).extent; - cf(this).attr("x", t[0][0]).attr("y", t[0][1]).attr("width", t[1][0] - t[0][0]).attr("height", t[1][1] - t[0][1]) - }), t.selectAll(".selection").data([ae("selection")]).enter().append("rect").attr("class", "selection").attr("cursor", Eh.selection).attr("fill", "#777").attr("fill-opacity", .3).attr("stroke", "#fff").attr("shape-rendering", "crispEdges"); - var i = t.selectAll(".handle").data(n.handles, function (t) { - return t.type - }); - i.exit().remove(), i.enter().append("rect").attr("class", function (t) { - return "handle handle--" + t.type - }).attr("cursor", function (t) { - return Eh[t.type] - }), t.each(r).attr("fill", "none").attr("pointer-events", "all").style("-webkit-tap-highlight-color", "rgba(0,0,0,0)").on("mousedown.brush touchstart.brush", u) - } - - function r() { - var t = cf(this), - n = fe(this).selection; - n ? (t.selectAll(".selection").style("display", null).attr("x", n[0][0]).attr("y", n[0][1]).attr("width", n[1][0] - n[0][0]).attr("height", n[1][1] - n[0][1]), t.selectAll(".handle").style("display", null).attr("x", function (t) { - return "e" === t.type[t.type.length - 1] ? n[1][0] - p / 2 : n[0][0] - p / 2 - }).attr("y", function (t) { - return "s" === t.type[0] ? n[1][1] - p / 2 : n[0][1] - p / 2 - }).attr("width", function (t) { - return "n" === t.type || "s" === t.type ? n[1][0] - n[0][0] + p : p - }).attr("height", function (t) { - return "e" === t.type || "w" === t.type ? n[1][1] - n[0][1] + p : p - })) : t.selectAll(".selection,.handle").style("display", "none").attr("x", null).attr("y", null).attr("width", null).attr("height", null) - } - - function i(t, n) { - return t.__brush.emitter || new o(t, n) - } - - function o(t, n) { - this.that = t, this.args = n, this.state = t.__brush, this.active = 0 - } - - function u() { - function e() { - var t = Ks(w); - !L || x || b || (Math.abs(t[0] - U[0]) > Math.abs(t[1] - U[1]) ? b = !0 : x = !0), U = t, m = !0, xh(), o() - } - - function o() { - var t; - switch (y = U[0] - q[0], g = U[1] - q[1], T) { - case wh: - case bh: - k && (y = Math.max(C - a, Math.min(P - p, y)), s = a + y, d = p + y), N && (g = Math.max(z - l, Math.min(R - v, g)), h = l + g, _ = v + g); - break; - case Mh: - k < 0 ? (y = Math.max(C - a, Math.min(P - a, y)), s = a + y, d = p) : k > 0 && (y = Math.max(C - p, Math.min(P - p, y)), s = a, d = p + y), N < 0 ? (g = Math.max(z - l, Math.min(R - l, g)), h = l + g, _ = v) : N > 0 && (g = Math.max(z - v, Math.min(R - v, g)), h = l, _ = v + g); - break; - case Th: - k && (s = Math.max(C, Math.min(P, a - y * k)), d = Math.max(C, Math.min(P, p + y * k))), N && (h = Math.max(z, Math.min(R, l - g * N)), _ = Math.max(z, Math.min(R, v + g * N))) - } - d < s && (k *= -1, t = a, a = p, p = t, t = s, s = d, d = t, M in Ah && F.attr("cursor", Eh[M = Ah[M]])), _ < h && (N *= -1, t = l, l = v, v = t, t = h, h = _, _ = t, M in Ch && F.attr("cursor", Eh[M = Ch[M]])), S.selection && (A = S.selection), x && (s = A[0][0], d = A[1][0]), b && (h = A[0][1], _ = A[1][1]), A[0][0] === s && A[0][1] === h && A[1][0] === d && A[1][1] === _ || (S.selection = [ - [s, h], - [d, _] - ], r.call(w), D.brush()) - } - - function u() { - if (ue(), t.event.touches) { - if (t.event.touches.length) return; - c && clearTimeout(c), c = setTimeout(function () { - c = null - }, 500), O.on("touchmove.brush touchend.brush touchcancel.brush", null) - } else _t(t.event.view, m), I.on("keydown.brush keyup.brush mousemove.brush mouseup.brush", null); - O.attr("pointer-events", "all"), F.attr("cursor", Eh.overlay), S.selection && (A = S.selection), le(A) && (S.selection = null, r.call(w)), D.end() - } - if (t.event.touches) { - if (t.event.changedTouches.length < t.event.touches.length) return xh() - } else if (c) return; - if (f.apply(this, arguments)) { - var a, s, l, h, p, d, v, _, y, g, m, x, b, w = this, - M = t.event.target.__data__.type, - T = "selection" === (t.event.metaKey ? M = "overlay" : M) ? bh : t.event.altKey ? Th : Mh, - k = n === Nh ? null : zh[M], - N = n === kh ? null : Ph[M], - S = fe(w), - E = S.extent, - A = S.selection, - C = E[0][0], - z = E[0][1], - P = E[1][0], - R = E[1][1], - L = k && N && t.event.shiftKey, - q = Ks(w), - U = q, - D = i(w, arguments).beforestart(); - "overlay" === M ? S.selection = A = [ - [a = n === Nh ? C : q[0], l = n === kh ? z : q[1]], - [p = n === Nh ? P : a, v = n === kh ? R : l] - ] : (a = A[0][0], l = A[0][1], p = A[1][0], v = A[1][1]), s = a, h = l, d = p, _ = v; - var O = cf(w).attr("pointer-events", "none"), - F = O.selectAll(".overlay").attr("cursor", Eh[M]); - if (t.event.touches) O.on("touchmove.brush", e, !0).on("touchend.brush touchcancel.brush", u, !0); - else { - var I = cf(t.event.view).on("keydown.brush", function () { - switch (t.event.keyCode) { - case 16: - L = k && N; - break; - case 18: - T === Mh && (k && (p = d - y * k, a = s + y * k), N && (v = _ - g * N, l = h + g * N), T = Th, o()); - break; - case 32: - T !== Mh && T !== Th || (k < 0 ? p = d - y : k > 0 && (a = s - y), N < 0 ? v = _ - g : N > 0 && (l = h - g), T = wh, F.attr("cursor", Eh.selection), o()); - break; - default: - return - } - xh() - }, !0).on("keyup.brush", function () { - switch (t.event.keyCode) { - case 16: - L && (x = b = L = !1, o()); - break; - case 18: - T === Th && (k < 0 ? p = d : k > 0 && (a = s), N < 0 ? v = _ : N > 0 && (l = h), T = Mh, o()); - break; - case 32: - T === wh && (t.event.altKey ? (k && (p = d - y * k, a = s + y * k), N && (v = _ - g * N, l = h + g * N), T = Th) : (k < 0 ? p = d : k > 0 && (a = s), N < 0 ? v = _ : N > 0 && (l = h), T = Mh), F.attr("cursor", Eh[M]), o()); - break; - default: - return - } - xh() - }, !0).on("mousemove.brush", e, !0).on("mouseup.brush", u, !0); - lf(t.event.view) - } - ue(), jl(w), r.call(w), D.start() - } - } - - function a() { - var t = this.__brush || { - selection: null - }; - return t.extent = s.apply(this, arguments), t.dim = n, t - } - var c, s = se, - f = ce, - l = h(e, "start", "brush", "end"), - p = 6; - return e.move = function (t, e) { - t.selection ? t.on("start.brush", function () { - i(this, arguments).beforestart().start() - }).on("interrupt.brush end.brush", function () { - i(this, arguments).end() - }).tween("brush", function () { - function t(t) { - u.selection = 1 === t && le(s) ? null : f(t), r.call(o), a.brush() - } - var o = this, - u = o.__brush, - a = i(o, arguments), - c = u.selection, - s = n.input("function" == typeof e ? e.apply(this, arguments) : e, u.extent), - f = cl(c, s); - return c && s ? t : t(1) - }) : t.each(function () { - var t = this, - o = arguments, - u = t.__brush, - a = n.input("function" == typeof e ? e.apply(t, o) : e, u.extent), - c = i(t, o).beforestart(); - jl(t), u.selection = null == a || le(a) ? null : a, r.call(t), c.start().brush().end() - }) - }, o.prototype = { - beforestart: function () { - return 1 == ++this.active && (this.state.emitter = this, this.starting = !0), this - }, - start: function () { - return this.starting && (this.starting = !1, this.emit("start")), this - }, - brush: function () { - return this.emit("brush"), this - }, - end: function () { - return 0 == --this.active && (delete this.state.emitter, this.emit("end")), this - }, - emit: function (t) { - N(new mh(e, t, n.output(this.state.selection)), l.apply, l, [t, this.that, this.args]) - } - }, e.extent = function (t) { - return arguments.length ? (s = "function" == typeof t ? t : gh([ - [+t[0][0], +t[0][1]], - [+t[1][0], +t[1][1]] - ]), e) : s - }, e.filter = function (t) { - return arguments.length ? (f = "function" == typeof t ? t : gh(!!t), e) : f - }, e.handleSize = function (t) { - return arguments.length ? (p = +t, e) : p - }, e.on = function () { - var t = l.on.apply(l, arguments); - return t === l ? e : t - }, e - } - - function pe(t) { - return function (n, e) { - return t(n.source.value + n.target.value, e.source.value + e.target.value) - } - } - - function de() { - this._x0 = this._y0 = this._x1 = this._y1 = null, this._ = "" - } - - function ve() { - return new de - } - - function _e(t) { - return t.source - } - - function ye(t) { - return t.target - } - - function ge(t) { - return t.radius - } - - function me(t) { - return t.startAngle - } - - function xe(t) { - return t.endAngle - } - - function be() {} - - function we(t, n) { - var e = new be; - if (t instanceof be) t.each(function (t, n) { - e.set(n, t) - }); - else if (Array.isArray(t)) { - var r, i = -1, - o = t.length; - if (null == n) - for (; ++i < o;) e.set(i, t[i]); - else - for (; ++i < o;) e.set(n(r = t[i], i, t), r) - } else if (t) - for (var u in t) e.set(u, t[u]); - return e - } - - function Me() { - return {} - } - - function Te(t, n, e) { - t[n] = e - } - - function ke() { - return we() - } - - function Ne(t, n, e) { - t.set(n, e) - } - - function Se() {} - - function Ee(t, n) { - var e = new Se; - if (t instanceof Se) t.each(function (t) { - e.add(t) - }); - else if (t) { - var r = -1, - i = t.length; - if (null == n) - for (; ++r < i;) e.add(t[r]); - else - for (; ++r < i;) e.add(n(t[r], r, t)) - } - return e - } - - function Ae(t) { - return new Function("d", "return {" + t.map(function (t, n) { - return JSON.stringify(t) + ": d[" + n + "]" - }).join(",") + "}") - } - - function Ce(t, n) { - var e = Ae(t); - return function (r, i) { - return n(e(r), i, t) - } - } - - function ze(t) { - var n = Object.create(null), - e = []; - return t.forEach(function (t) { - for (var r in t) r in n || e.push(n[r] = r) - }), e - } - - function Pe(t, n, e, r) { - if (isNaN(n) || isNaN(e)) return t; - var i, o, u, a, c, s, f, l, h, p = t._root, - d = { - data: r - }, - v = t._x0, - _ = t._y0, - y = t._x1, - g = t._y1; - if (!p) return t._root = d, t; - for (; p.length;) - if ((s = n >= (o = (v + y) / 2)) ? v = o : y = o, (f = e >= (u = (_ + g) / 2)) ? _ = u : g = u, i = p, !(p = p[l = f << 1 | s])) return i[l] = d, t; - if (a = +t._x.call(null, p.data), c = +t._y.call(null, p.data), n === a && e === c) return d.next = p, i ? i[l] = d : t._root = d, t; - do { - i = i ? i[l] = new Array(4) : t._root = new Array(4), (s = n >= (o = (v + y) / 2)) ? v = o : y = o, (f = e >= (u = (_ + g) / 2)) ? _ = u : g = u - } while ((l = f << 1 | s) == (h = (c >= u) << 1 | a >= o)); - return i[h] = p, i[l] = d, t - } - - function Re(t) { - return t[0] - } - - function Le(t) { - return t[1] - } - - function qe(t, n, e) { - var r = new Ue(null == n ? Re : n, null == e ? Le : e, NaN, NaN, NaN, NaN); - return null == t ? r : r.addAll(t) - } - - function Ue(t, n, e, r, i, o) { - this._x = t, this._y = n, this._x0 = e, this._y0 = r, this._x1 = i, this._y1 = o, this._root = void 0 - } - - function De(t) { - for (var n = { - data: t.data - }, e = n; t = t.next;) e = e.next = { - data: t.data - }; - return n - } - - function Oe(t) { - return t.x + t.vx - } - - function Fe(t) { - return t.y + t.vy - } - - function Ie(t) { - return t.index - } - - function Ye(t, n) { - var e = t.get(n); - if (!e) throw new Error("missing: " + n); - return e - } - - function Be(t) { - return t.x - } - - function je(t) { - return t.y - } - - function He(t) { - return new Xe(t) - } - - function Xe(t) { - if (!(n = xp.exec(t))) throw new Error("invalid format: " + t); - var n, e = n[1] || " ", - r = n[2] || ">", - i = n[3] || "-", - o = n[4] || "", - u = !!n[5], - a = n[6] && +n[6], - c = !!n[7], - s = n[8] && +n[8].slice(1), - f = n[9] || ""; - "n" === f ? (c = !0, f = "g") : mp[f] || (f = ""), (u || "0" === e && "=" === r) && (u = !0, e = "0", r = "="), this.fill = e, this.align = r, this.sign = i, this.symbol = o, this.zero = u, this.width = a, this.comma = c, this.precision = s, this.type = f - } - - function $e(n) { - return bp = Tp(n), t.format = bp.format, t.formatPrefix = bp.formatPrefix, bp - } - - function Ve() { - this.reset() - } - - function We(t, n, e) { - var r = t.s = n + e, - i = r - n, - o = r - i; - t.t = n - o + (e - i) - } - - function Ze(t) { - return t > 1 ? 0 : t < -1 ? cd : Math.acos(t) - } - - function Ge(t) { - return t > 1 ? sd : t < -1 ? -sd : Math.asin(t) - } - - function Je(t) { - return (t = wd(t / 2)) * t - } - - function Qe() {} - - function Ke(t, n) { - t && Sd.hasOwnProperty(t.type) && Sd[t.type](t, n) - } - - function tr(t, n, e) { - var r, i = -1, - o = t.length - e; - for (n.lineStart(); ++i < o;) r = t[i], n.point(r[0], r[1], r[2]); - n.lineEnd() - } - - function nr(t, n) { - var e = -1, - r = t.length; - for (n.polygonStart(); ++e < r;) tr(t[e], n, 1); - n.polygonEnd() - } - - function er() { - zd.point = ir - } - - function rr() { - or(Ap, Cp) - } - - function ir(t, n) { - zd.point = or, Ap = t, Cp = n, zp = t *= pd, Pp = yd(n = (n *= pd) / 2 + fd), Rp = wd(n) - } - - function or(t, n) { - n = (n *= pd) / 2 + fd; - var e = (t *= pd) - zp, - r = e >= 0 ? 1 : -1, - i = r * e, - o = yd(n), - u = wd(n), - a = Rp * u, - c = Pp * o + a * yd(i), - s = a * r * wd(i); - Ad.add(_d(s, c)), zp = t, Pp = o, Rp = u - } - - function ur(t) { - return [_d(t[1], t[0]), Ge(t[2])] - } - - function ar(t) { - var n = t[0], - e = t[1], - r = yd(e); - return [r * yd(n), r * wd(n), wd(e)] - } - - function cr(t, n) { - return t[0] * n[0] + t[1] * n[1] + t[2] * n[2] - } - - function sr(t, n) { - return [t[1] * n[2] - t[2] * n[1], t[2] * n[0] - t[0] * n[2], t[0] * n[1] - t[1] * n[0]] - } - - function fr(t, n) { - t[0] += n[0], t[1] += n[1], t[2] += n[2] - } - - function lr(t, n) { - return [t[0] * n, t[1] * n, t[2] * n] - } - - function hr(t) { - var n = Td(t[0] * t[0] + t[1] * t[1] + t[2] * t[2]); - t[0] /= n, t[1] /= n, t[2] /= n - } - - function pr(t, n) { - Bp.push(jp = [Lp = t, Up = t]), n < qp && (qp = n), n > Dp && (Dp = n) - } - - function dr(t, n) { - var e = ar([t * pd, n * pd]); - if (Yp) { - var r = sr(Yp, e), - i = sr([r[1], -r[0], 0], r); - hr(i), i = ur(i); - var o, u = t - Op, - a = u > 0 ? 1 : -1, - c = i[0] * hd * a, - s = dd(u) > 180; - s ^ (a * Op < c && c < a * t) ? (o = i[1] * hd) > Dp && (Dp = o) : (c = (c + 360) % 360 - 180, s ^ (a * Op < c && c < a * t) ? (o = -i[1] * hd) < qp && (qp = o) : (n < qp && (qp = n), n > Dp && (Dp = n))), s ? t < Op ? xr(Lp, t) > xr(Lp, Up) && (Up = t) : xr(t, Up) > xr(Lp, Up) && (Lp = t) : Up >= Lp ? (t < Lp && (Lp = t), t > Up && (Up = t)) : t > Op ? xr(Lp, t) > xr(Lp, Up) && (Up = t) : xr(t, Up) > xr(Lp, Up) && (Lp = t) - } else Bp.push(jp = [Lp = t, Up = t]); - n < qp && (qp = n), n > Dp && (Dp = n), Yp = e, Op = t - } - - function vr() { - Rd.point = dr - } - - function _r() { - jp[0] = Lp, jp[1] = Up, Rd.point = pr, Yp = null - } - - function yr(t, n) { - if (Yp) { - var e = t - Op; - Pd.add(dd(e) > 180 ? e + (e > 0 ? 360 : -360) : e) - } else Fp = t, Ip = n; - zd.point(t, n), dr(t, n) - } - - function gr() { - zd.lineStart() - } - - function mr() { - yr(Fp, Ip), zd.lineEnd(), dd(Pd) > ad && (Lp = -(Up = 180)), jp[0] = Lp, jp[1] = Up, Yp = null - } - - function xr(t, n) { - return (n -= t) < 0 ? n + 360 : n - } - - function br(t, n) { - return t[0] - n[0] - } - - function wr(t, n) { - return t[0] <= t[1] ? t[0] <= n && n <= t[1] : n < t[0] || t[1] < n - } - - function Mr(t, n) { - t *= pd; - var e = yd(n *= pd); - Tr(e * yd(t), e * wd(t), wd(n)) - } - - function Tr(t, n, e) { - $p += (t - $p) / ++Hp, Vp += (n - Vp) / Hp, Wp += (e - Wp) / Hp - } - - function kr() { - Ld.point = Nr - } - - function Nr(t, n) { - t *= pd; - var e = yd(n *= pd); - rd = e * yd(t), id = e * wd(t), od = wd(n), Ld.point = Sr, Tr(rd, id, od) - } - - function Sr(t, n) { - t *= pd; - var e = yd(n *= pd), - r = e * yd(t), - i = e * wd(t), - o = wd(n), - u = _d(Td((u = id * o - od * i) * u + (u = od * r - rd * o) * u + (u = rd * i - id * r) * u), rd * r + id * i + od * o); - Xp += u, Zp += u * (rd + (rd = r)), Gp += u * (id + (id = i)), Jp += u * (od + (od = o)), Tr(rd, id, od) - } - - function Er() { - Ld.point = Mr - } - - function Ar() { - Ld.point = zr - } - - function Cr() { - Pr(nd, ed), Ld.point = Mr - } - - function zr(t, n) { - nd = t, ed = n, t *= pd, n *= pd, Ld.point = Pr; - var e = yd(n); - rd = e * yd(t), id = e * wd(t), od = wd(n), Tr(rd, id, od) - } - - function Pr(t, n) { - t *= pd; - var e = yd(n *= pd), - r = e * yd(t), - i = e * wd(t), - o = wd(n), - u = id * o - od * i, - a = od * r - rd * o, - c = rd * i - id * r, - s = Td(u * u + a * a + c * c), - f = Ge(s), - l = s && -f / s; - Qp += l * u, Kp += l * a, td += l * c, Xp += f, Zp += f * (rd + (rd = r)), Gp += f * (id + (id = i)), Jp += f * (od + (od = o)), Tr(rd, id, od) - } - - function Rr(t, n) { - return [t > cd ? t - ld : t < -cd ? t + ld : t, n] - } - - function Lr(t, n, e) { - return (t %= ld) ? n || e ? Ud(Ur(t), Dr(n, e)) : Ur(t) : n || e ? Dr(n, e) : Rr - } - - function qr(t) { - return function (n, e) { - return n += t, [n > cd ? n - ld : n < -cd ? n + ld : n, e] - } - } - - function Ur(t) { - var n = qr(t); - return n.invert = qr(-t), n - } - - function Dr(t, n) { - function e(t, n) { - var e = yd(n), - a = yd(t) * e, - c = wd(t) * e, - s = wd(n), - f = s * r + a * i; - return [_d(c * o - f * u, a * r - s * i), Ge(f * o + c * u)] - } - var r = yd(t), - i = wd(t), - o = yd(n), - u = wd(n); - return e.invert = function (t, n) { - var e = yd(n), - a = yd(t) * e, - c = wd(t) * e, - s = wd(n), - f = s * o - c * u; - return [_d(c * o + s * u, a * r + f * i), Ge(f * r - a * i)] - }, e - } - - function Or(t, n, e, r, i, o) { - if (e) { - var u = yd(n), - a = wd(n), - c = r * e; - null == i ? (i = n + r * ld, o = n - c / 2) : (i = Fr(u, i), o = Fr(u, o), (r > 0 ? i < o : i > o) && (i += r * ld)); - for (var s, f = i; r > 0 ? f > o : f < o; f -= c) s = ur([u, -a * yd(f), -a * wd(f)]), t.point(s[0], s[1]) - } - } - - function Fr(t, n) { - (n = ar(n))[0] -= t, hr(n); - var e = Ze(-n[1]); - return ((-n[2] < 0 ? -e : e) + ld - ad) % ld - } - - function Ir(t, n, e, r) { - this.x = t, this.z = n, this.o = e, this.e = r, this.v = !1, this.n = this.p = null - } - - function Yr(t) { - if (n = t.length) { - for (var n, e, r = 0, i = t[0]; ++r < n;) i.n = e = t[r], e.p = i, i = e; - i.n = e = t[0], e.p = i - } - } - - function Br(t, n, e, r) { - function i(i, o) { - return t <= i && i <= e && n <= o && o <= r - } - - function o(i, o, a, s) { - var f = 0, - l = 0; - if (null == i || (f = u(i, a)) !== (l = u(o, a)) || c(i, o) < 0 ^ a > 0) - do { - s.point(0 === f || 3 === f ? t : e, f > 1 ? r : n) - } while ((f = (f + a + 4) % 4) !== l); - else s.point(o[0], o[1]) - } - - function u(r, i) { - return dd(r[0] - t) < ad ? i > 0 ? 0 : 3 : dd(r[0] - e) < ad ? i > 0 ? 2 : 1 : dd(r[1] - n) < ad ? i > 0 ? 1 : 0 : i > 0 ? 3 : 2 - } - - function a(t, n) { - return c(t.x, n.x) - } - - function c(t, n) { - var e = u(t, 1), - r = u(n, 1); - return e !== r ? e - r : 0 === e ? n[1] - t[1] : 1 === e ? t[0] - n[0] : 2 === e ? t[1] - n[1] : n[0] - t[0] - } - return function (u) { - function c(t, n) { - i(t, n) && w.point(t, n) - } - - function s() { - for (var n = 0, e = 0, i = h.length; e < i; ++e) - for (var o, u, a = h[e], c = 1, s = a.length, f = a[0], l = f[0], p = f[1]; c < s; ++c) o = l, u = p, l = (f = a[c])[0], p = f[1], u <= r ? p > r && (l - o) * (r - u) > (p - u) * (t - o) && ++n : p <= r && (l - o) * (r - u) < (p - u) * (t - o) && --n; - return n - } - - function f(o, u) { - var a = i(o, u); - if (h && p.push([o, u]), x) d = o, v = u, _ = a, x = !1, a && (w.lineStart(), w.point(o, u)); - else if (a && m) w.point(o, u); - else { - var c = [y = Math.max(tv, Math.min(Kd, y)), g = Math.max(tv, Math.min(Kd, g))], - s = [o = Math.max(tv, Math.min(Kd, o)), u = Math.max(tv, Math.min(Kd, u))]; - Gd(c, s, t, n, e, r) ? (m || (w.lineStart(), w.point(c[0], c[1])), w.point(s[0], s[1]), a || w.lineEnd(), b = !1) : a && (w.lineStart(), w.point(o, u), b = !1) - } - y = o, g = u, m = a - } - var l, h, p, d, v, _, y, g, m, x, b, w = u, - M = Zd(), - T = { - point: c, - lineStart: function () { - T.point = f, h && h.push(p = []), x = !0, m = !1, y = g = NaN - }, - lineEnd: function () { - l && (f(d, v), _ && m && M.rejoin(), l.push(M.result())), T.point = c, m && w.lineEnd() - }, - polygonStart: function () { - w = M, l = [], h = [], b = !0 - }, - polygonEnd: function () { - var t = s(), - n = b && t, - e = (l = Cs(l)).length; - (n || e) && (u.polygonStart(), n && (u.lineStart(), o(null, null, 1, u), u.lineEnd()), e && Qd(l, a, t, o, u), u.polygonEnd()), w = u, l = h = p = null - } - }; - return T - } - } - - function jr() { - iv.point = iv.lineEnd = Qe - } - - function Hr(t, n) { - Dd = t *= pd, Od = wd(n *= pd), Fd = yd(n), iv.point = Xr - } - - function Xr(t, n) { - t *= pd; - var e = wd(n *= pd), - r = yd(n), - i = dd(t - Dd), - o = yd(i), - u = r * wd(i), - a = Fd * e - Od * r * o, - c = Od * e + Fd * r * o; - rv.add(_d(Td(u * u + a * a), c)), Dd = t, Od = e, Fd = r - } - - function $r(t, n) { - return !(!t || !fv.hasOwnProperty(t.type)) && fv[t.type](t, n) - } - - function Vr(t, n) { - return 0 === cv(t, n) - } - - function Wr(t, n) { - var e = cv(t[0], t[1]); - return cv(t[0], n) + cv(n, t[1]) <= e + ad - } - - function Zr(t, n) { - return !!ev(t.map(Gr), Jr(n)) - } - - function Gr(t) { - return (t = t.map(Jr)).pop(), t - } - - function Jr(t) { - return [t[0] * pd, t[1] * pd] - } - - function Qr(t, n, e) { - var r = Ms(t, n - ad, e).concat(n); - return function (t) { - return r.map(function (n) { - return [t, n] - }) - } - } - - function Kr(t, n, e) { - var r = Ms(t, n - ad, e).concat(n); - return function (t) { - return r.map(function (n) { - return [n, t] - }) - } - } - - function ti() { - function t() { - return { - type: "MultiLineString", - coordinates: n() - } - } - - function n() { - return Ms(gd(o / _) * _, i, _).map(h).concat(Ms(gd(s / y) * y, c, y).map(p)).concat(Ms(gd(r / d) * d, e, d).filter(function (t) { - return dd(t % _) > ad - }).map(f)).concat(Ms(gd(a / v) * v, u, v).filter(function (t) { - return dd(t % y) > ad - }).map(l)) - } - var e, r, i, o, u, a, c, s, f, l, h, p, d = 10, - v = d, - _ = 90, - y = 360, - g = 2.5; - return t.lines = function () { - return n().map(function (t) { - return { - type: "LineString", - coordinates: t - } - }) - }, t.outline = function () { - return { - type: "Polygon", - coordinates: [h(o).concat(p(c).slice(1), h(i).reverse().slice(1), p(s).reverse().slice(1))] - } - }, t.extent = function (n) { - return arguments.length ? t.extentMajor(n).extentMinor(n) : t.extentMinor() - }, t.extentMajor = function (n) { - return arguments.length ? (o = +n[0][0], i = +n[1][0], s = +n[0][1], c = +n[1][1], o > i && (n = o, o = i, i = n), s > c && (n = s, s = c, c = n), t.precision(g)) : [ - [o, s], - [i, c] - ] - }, t.extentMinor = function (n) { - return arguments.length ? (r = +n[0][0], e = +n[1][0], a = +n[0][1], u = +n[1][1], r > e && (n = r, r = e, e = n), a > u && (n = a, a = u, u = n), t.precision(g)) : [ - [r, a], - [e, u] - ] - }, t.step = function (n) { - return arguments.length ? t.stepMajor(n).stepMinor(n) : t.stepMinor() - }, t.stepMajor = function (n) { - return arguments.length ? (_ = +n[0], y = +n[1], t) : [_, y] - }, t.stepMinor = function (n) { - return arguments.length ? (d = +n[0], v = +n[1], t) : [d, v] - }, t.precision = function (n) { - return arguments.length ? (g = +n, f = Qr(a, u, 90), l = Kr(r, e, g), h = Qr(s, c, 90), p = Kr(o, i, g), t) : g - }, t.extentMajor([ - [-180, -90 + ad], - [180, 90 - ad] - ]).extentMinor([ - [-180, -80 - ad], - [180, 80 + ad] - ]) - } - - function ni() { - dv.point = ei - } - - function ei(t, n) { - dv.point = ri, Id = Bd = t, Yd = jd = n - } - - function ri(t, n) { - pv.add(jd * t - Bd * n), Bd = t, jd = n - } - - function ii() { - ri(Id, Yd) - } - - function oi(t, n) { - xv += t, bv += n, ++wv - } - - function ui() { - Av.point = ai - } - - function ai(t, n) { - Av.point = ci, oi($d = t, Vd = n) - } - - function ci(t, n) { - var e = t - $d, - r = n - Vd, - i = Td(e * e + r * r); - Mv += i * ($d + t) / 2, Tv += i * (Vd + n) / 2, kv += i, oi($d = t, Vd = n) - } - - function si() { - Av.point = oi - } - - function fi() { - Av.point = hi - } - - function li() { - pi(Hd, Xd) - } - - function hi(t, n) { - Av.point = pi, oi(Hd = $d = t, Xd = Vd = n) - } - - function pi(t, n) { - var e = t - $d, - r = n - Vd, - i = Td(e * e + r * r); - Mv += i * ($d + t) / 2, Tv += i * (Vd + n) / 2, kv += i, Nv += (i = Vd * t - $d * n) * ($d + t), Sv += i * (Vd + n), Ev += 3 * i, oi($d = t, Vd = n) - } - - function di(t) { - this._context = t - } - - function vi(t, n) { - Uv.point = _i, zv = Rv = t, Pv = Lv = n - } - - function _i(t, n) { - Rv -= t, Lv -= n, qv.add(Td(Rv * Rv + Lv * Lv)), Rv = t, Lv = n - } - - function yi() { - this._string = [] - } - - function gi(t) { - return "m0," + t + "a" + t + "," + t + " 0 1,1 0," + -2 * t + "a" + t + "," + t + " 0 1,1 0," + 2 * t + "z" - } - - function mi(t) { - return t.length > 1 - } - - function xi(t, n) { - return ((t = t.x)[0] < 0 ? t[1] - sd - ad : sd - t[1]) - ((n = n.x)[0] < 0 ? n[1] - sd - ad : sd - n[1]) - } - - function bi(t, n, e, r) { - var i, o, u = wd(t - e); - return dd(u) > ad ? vd((wd(n) * (o = yd(r)) * wd(e) - wd(r) * (i = yd(n)) * wd(t)) / (i * o * u)) : (n + r) / 2 - } - - function wi(t) { - return function (n) { - var e = new Mi; - for (var r in t) e[r] = t[r]; - return e.stream = n, e - } - } - - function Mi() {} - - function Ti(t, n, e) { - var r = n[1][0] - n[0][0], - i = n[1][1] - n[0][1], - o = t.clipExtent && t.clipExtent(); - t.scale(150).translate([0, 0]), null != o && t.clipExtent(null), Ed(e, t.stream(mv)); - var u = mv.result(), - a = Math.min(r / (u[1][0] - u[0][0]), i / (u[1][1] - u[0][1])), - c = +n[0][0] + (r - a * (u[1][0] + u[0][0])) / 2, - s = +n[0][1] + (i - a * (u[1][1] + u[0][1])) / 2; - return null != o && t.clipExtent(o), t.scale(150 * a).translate([c, s]) - } - - function ki(t, n, e) { - return Ti(t, [ - [0, 0], n - ], e) - } - - function Ni(t) { - return wi({ - point: function (n, e) { - n = t(n, e), this.stream.point(n[0], n[1]) - } - }) - } - - function Si(t, n) { - function e(r, i, o, u, a, c, s, f, l, h, p, d, v, _) { - var y = s - r, - g = f - i, - m = y * y + g * g; - if (m > 4 * n && v--) { - var x = u + h, - b = a + p, - w = c + d, - M = Td(x * x + b * b + w * w), - T = Ge(w /= M), - k = dd(dd(w) - 1) < ad || dd(o - l) < ad ? (o + l) / 2 : _d(b, x), - N = t(k, T), - S = N[0], - E = N[1], - A = S - r, - C = E - i, - z = g * A - y * C; - (z * z / m > n || dd((y * A + g * C) / m - .5) > .3 || u * h + a * p + c * d < Yv) && (e(r, i, o, u, a, c, S, E, k, x /= M, b /= M, w, v, _), _.point(S, E), e(S, E, k, x, b, w, s, f, l, h, p, d, v, _)) - } - } - return function (n) { - function r(e, r) { - e = t(e, r), n.point(e[0], e[1]) - } - - function i() { - y = NaN, w.point = o, n.lineStart() - } - - function o(r, i) { - var o = ar([r, i]), - u = t(r, i); - e(y, g, _, m, x, b, y = u[0], g = u[1], _ = r, m = o[0], x = o[1], b = o[2], Iv, n), n.point(y, g) - } - - function u() { - w.point = r, n.lineEnd() - } - - function a() { - i(), w.point = c, w.lineEnd = s - } - - function c(t, n) { - o(f = t, n), l = y, h = g, p = m, d = x, v = b, w.point = o - } - - function s() { - e(y, g, _, m, x, b, l, h, f, p, d, v, Iv, n), w.lineEnd = u, u() - } - var f, l, h, p, d, v, _, y, g, m, x, b, w = { - point: r, - lineStart: i, - lineEnd: u, - polygonStart: function () { - n.polygonStart(), w.lineStart = a - }, - polygonEnd: function () { - n.polygonEnd(), w.lineStart = i - } - }; - return w - } - } - - function Ei(t) { - return Ai(function () { - return t - })() - } - - function Ai(t) { - function n(t) { - return t = f(t[0] * pd, t[1] * pd), [t[0] * _ + a, c - t[1] * _] - } - - function e(t) { - return (t = f.invert((t[0] - a) / _, (c - t[1]) / _)) && [t[0] * hd, t[1] * hd] - } - - function r(t, n) { - return t = u(t, n), [t[0] * _ + a, c - t[1] * _] - } - - function i() { - f = Ud(s = Lr(b, w, M), u); - var t = u(m, x); - return a = y - t[0] * _, c = g + t[1] * _, o() - } - - function o() { - return d = v = null, n - } - var u, a, c, s, f, l, h, p, d, v, _ = 150, - y = 480, - g = 250, - m = 0, - x = 0, - b = 0, - w = 0, - M = 0, - T = null, - k = Ov, - N = null, - S = lv, - E = .5, - A = Bv(r, E); - return n.stream = function (t) { - return d && v === t ? d : d = jv(k(s, A(S(v = t)))) - }, n.clipAngle = function (t) { - return arguments.length ? (k = +t ? Fv(T = t * pd, 6 * pd) : (T = null, Ov), o()) : T * hd - }, n.clipExtent = function (t) { - return arguments.length ? (S = null == t ? (N = l = h = p = null, lv) : Br(N = +t[0][0], l = +t[0][1], h = +t[1][0], p = +t[1][1]), o()) : null == N ? null : [ - [N, l], - [h, p] - ] - }, n.scale = function (t) { - return arguments.length ? (_ = +t, i()) : _ - }, n.translate = function (t) { - return arguments.length ? (y = +t[0], g = +t[1], i()) : [y, g] - }, n.center = function (t) { - return arguments.length ? (m = t[0] % 360 * pd, x = t[1] % 360 * pd, i()) : [m * hd, x * hd] - }, n.rotate = function (t) { - return arguments.length ? (b = t[0] % 360 * pd, w = t[1] % 360 * pd, M = t.length > 2 ? t[2] % 360 * pd : 0, i()) : [b * hd, w * hd, M * hd] - }, n.precision = function (t) { - return arguments.length ? (A = Bv(r, E = t * t), o()) : Td(E) - }, n.fitExtent = function (t, e) { - return Ti(n, t, e) - }, n.fitSize = function (t, e) { - return ki(n, t, e) - }, - function () { - return u = t.apply(this, arguments), n.invert = u.invert && e, i() - } - } - - function Ci(t) { - var n = 0, - e = cd / 3, - r = Ai(t), - i = r(n, e); - return i.parallels = function (t) { - return arguments.length ? r(n = t[0] * pd, e = t[1] * pd) : [n * hd, e * hd] - }, i - } - - function zi(t) { - function n(t, n) { - return [t * e, wd(n) / e] - } - var e = yd(t); - return n.invert = function (t, n) { - return [t / e, Ge(n * e)] - }, n - } - - function Pi(t, n) { - function e(t, n) { - var e = Td(o - 2 * i * wd(n)) / i; - return [e * wd(t *= i), u - e * yd(t)] - } - var r = wd(t), - i = (r + wd(n)) / 2; - if (dd(i) < ad) return zi(t); - var o = 1 + r * (2 * i - r), - u = Td(o) / i; - return e.invert = function (t, n) { - var e = u - n; - return [_d(t, dd(e)) / i * Md(e), Ge((o - (t * t + e * e) * i * i) / (2 * i))] - }, e - } - - function Ri(t) { - var n = t.length; - return { - point: function (e, r) { - for (var i = -1; ++i < n;) t[i].point(e, r) - }, - sphere: function () { - for (var e = -1; ++e < n;) t[e].sphere() - }, - lineStart: function () { - for (var e = -1; ++e < n;) t[e].lineStart() - }, - lineEnd: function () { - for (var e = -1; ++e < n;) t[e].lineEnd() - }, - polygonStart: function () { - for (var e = -1; ++e < n;) t[e].polygonStart() - }, - polygonEnd: function () { - for (var e = -1; ++e < n;) t[e].polygonEnd() - } - } - } - - function Li(t) { - return function (n, e) { - var r = yd(n), - i = yd(e), - o = t(r * i); - return [o * i * wd(n), o * wd(e)] - } - } - - function qi(t) { - return function (n, e) { - var r = Td(n * n + e * e), - i = t(r), - o = wd(i), - u = yd(i); - return [_d(n * o, r * u), Ge(r && e * o / r)] - } - } - - function Ui(t, n) { - return [t, xd(kd((sd + n) / 2))] - } - - function Di(t) { - function n() { - var n = cd * a(), - u = o(Wd(o.rotate()).invert([0, 0])); - return s(null == f ? [ - [u[0] - n, u[1] - n], - [u[0] + n, u[1] + n] - ] : t === Ui ? [ - [Math.max(u[0] - n, f), e], - [Math.min(u[0] + n, r), i] - ] : [ - [f, Math.max(u[1] - n, e)], - [r, Math.min(u[1] + n, i)] - ]) - } - var e, r, i, o = Ei(t), - u = o.center, - a = o.scale, - c = o.translate, - s = o.clipExtent, - f = null; - return o.scale = function (t) { - return arguments.length ? (a(t), n()) : a() - }, o.translate = function (t) { - return arguments.length ? (c(t), n()) : c() - }, o.center = function (t) { - return arguments.length ? (u(t), n()) : u() - }, o.clipExtent = function (t) { - return arguments.length ? (null == t ? f = e = r = i = null : (f = +t[0][0], e = +t[0][1], r = +t[1][0], i = +t[1][1]), n()) : null == f ? null : [ - [f, e], - [r, i] - ] - }, n() - } - - function Oi(t) { - return kd((sd + t) / 2) - } - - function Fi(t, n) { - function e(t, n) { - o > 0 ? n < -sd + ad && (n = -sd + ad) : n > sd - ad && (n = sd - ad); - var e = o / bd(Oi(n), i); - return [e * wd(i * t), o - e * yd(i * t)] - } - var r = yd(t), - i = t === n ? wd(t) : xd(r / yd(n)) / xd(Oi(n) / Oi(t)), - o = r * bd(Oi(t), i) / i; - return i ? (e.invert = function (t, n) { - var e = o - n, - r = Md(i) * Td(t * t + e * e); - return [_d(t, dd(e)) / i * Md(e), 2 * vd(bd(o / r, 1 / i)) - sd] - }, e) : Ui - } - - function Ii(t, n) { - return [t, n] - } - - function Yi(t, n) { - function e(t, n) { - var e = o - n, - r = i * t; - return [e * wd(r), o - e * yd(r)] - } - var r = yd(t), - i = t === n ? wd(t) : (r - yd(n)) / (n - t), - o = r / i + t; - return dd(i) < ad ? Ii : (e.invert = function (t, n) { - var e = o - n; - return [_d(t, dd(e)) / i * Md(e), o - Md(i) * Td(t * t + e * e)] - }, e) - } - - function Bi(t, n) { - var e = yd(n), - r = yd(t) * e; - return [e * wd(t) / r, wd(n) / r] - } - - function ji(t, n, e, r) { - return 1 === t && 1 === n && 0 === e && 0 === r ? lv : wi({ - point: function (i, o) { - this.stream.point(i * t + e, o * n + r) - } - }) - } - - function Hi(t, n) { - return [yd(n) * wd(t), wd(n)] - } - - function Xi(t, n) { - var e = yd(n), - r = 1 + yd(t) * e; - return [e * wd(t) / r, wd(n) / r] - } - - function $i(t, n) { - return [xd(kd((sd + n) / 2)), -t] - } - - function Vi(t, n) { - return t.parent === n.parent ? 1 : 2 - } - - function Wi(t) { - return t.reduce(Zi, 0) / t.length - } - - function Zi(t, n) { - return t + n.x - } - - function Gi(t) { - return 1 + t.reduce(Ji, 0) - } - - function Ji(t, n) { - return Math.max(t, n.y) - } - - function Qi(t) { - for (var n; n = t.children;) t = n[0]; - return t - } - - function Ki(t) { - for (var n; n = t.children;) t = n[n.length - 1]; - return t - } - - function to(t) { - var n = 0, - e = t.children, - r = e && e.length; - if (r) - for (; --r >= 0;) n += e[r].value; - else n = 1; - t.value = n - } - - function no(t, n) { - if (t === n) return t; - var e = t.ancestors(), - r = n.ancestors(), - i = null; - for (t = e.pop(), n = r.pop(); t === n;) i = t, t = e.pop(), n = r.pop(); - return i - } - - function eo(t, n) { - var e, r, i, o, u, a = new uo(t), - c = +t.value && (a.value = t.value), - s = [a]; - for (null == n && (n = ro); e = s.pop();) - if (c && (e.value = +e.data.value), (i = n(e.data)) && (u = i.length)) - for (e.children = new Array(u), o = u - 1; o >= 0; --o) s.push(r = e.children[o] = new uo(i[o])), r.parent = e, r.depth = e.depth + 1; - return a.eachBefore(oo) - } - - function ro(t) { - return t.children - } - - function io(t) { - t.data = t.data.data - } - - function oo(t) { - var n = 0; - do { - t.height = n - } while ((t = t.parent) && t.height < ++n) - } - - function uo(t) { - this.data = t, this.depth = this.height = 0, this.parent = null - } - - function ao(t) { - for (var n, e, r = t.length; r;) e = Math.random() * r-- | 0, n = t[r], t[r] = t[e], t[e] = n; - return t - } - - function co(t, n) { - var e, r; - if (lo(n, t)) return [n]; - for (e = 0; e < t.length; ++e) - if (so(n, t[e]) && lo(vo(t[e], n), t)) return [t[e], n]; - for (e = 0; e < t.length - 1; ++e) - for (r = e + 1; r < t.length; ++r) - if (so(vo(t[e], t[r]), n) && so(vo(t[e], n), t[r]) && so(vo(t[r], n), t[e]) && lo(_o(t[e], t[r], n), t)) return [t[e], t[r], n]; - throw new Error - } - - function so(t, n) { - var e = t.r - n.r, - r = n.x - t.x, - i = n.y - t.y; - return e < 0 || e * e < r * r + i * i - } - - function fo(t, n) { - var e = t.r - n.r + 1e-6, - r = n.x - t.x, - i = n.y - t.y; - return e > 0 && e * e > r * r + i * i - } - - function lo(t, n) { - for (var e = 0; e < n.length; ++e) - if (!fo(t, n[e])) return !1; - return !0 - } - - function ho(t) { - switch (t.length) { - case 1: - return po(t[0]); - case 2: - return vo(t[0], t[1]); - case 3: - return _o(t[0], t[1], t[2]) - } - } - - function po(t) { - return { - x: t.x, - y: t.y, - r: t.r - } - } - - function vo(t, n) { - var e = t.x, - r = t.y, - i = t.r, - o = n.x, - u = n.y, - a = n.r, - c = o - e, - s = u - r, - f = a - i, - l = Math.sqrt(c * c + s * s); - return { - x: (e + o + c / l * f) / 2, - y: (r + u + s / l * f) / 2, - r: (l + i + a) / 2 - } - } - - function _o(t, n, e) { - var r = t.x, - i = t.y, - o = t.r, - u = n.x, - a = n.y, - c = n.r, - s = e.x, - f = e.y, - l = e.r, - h = r - u, - p = r - s, - d = i - a, - v = i - f, - _ = c - o, - y = l - o, - g = r * r + i * i - o * o, - m = g - u * u - a * a + c * c, - x = g - s * s - f * f + l * l, - b = p * d - h * v, - w = (d * x - v * m) / (2 * b) - r, - M = (v * _ - d * y) / b, - T = (p * m - h * x) / (2 * b) - i, - k = (h * y - p * _) / b, - N = M * M + k * k - 1, - S = 2 * (o + w * M + T * k), - E = w * w + T * T - o * o, - A = -(N ? (S + Math.sqrt(S * S - 4 * N * E)) / (2 * N) : E / S); - return { - x: r + w + M * A, - y: i + T + k * A, - r: A - } - } - - function yo(t, n, e) { - var r = t.x, - i = t.y, - o = n.r + e.r, - u = t.r + e.r, - a = n.x - r, - c = n.y - i, - s = a * a + c * c; - if (s) { - var f = .5 + ((u *= u) - (o *= o)) / (2 * s), - l = Math.sqrt(Math.max(0, 2 * o * (u + s) - (u -= s) * u - o * o)) / (2 * s); - e.x = r + f * a + l * c, e.y = i + f * c - l * a - } else e.x = r + u, e.y = i - } - - function go(t, n) { - var e = n.x - t.x, - r = n.y - t.y, - i = t.r + n.r; - return i * i - 1e-6 > e * e + r * r - } - - function mo(t) { - var n = t._, - e = t.next._, - r = n.r + e.r, - i = (n.x * e.r + e.x * n.r) / r, - o = (n.y * e.r + e.y * n.r) / r; - return i * i + o * o - } - - function xo(t) { - this._ = t, this.next = null, this.previous = null - } - - function bo(t) { - if (!(i = t.length)) return 0; - var n, e, r, i, o, u, a, c, s, f, l; - if (n = t[0], n.x = 0, n.y = 0, !(i > 1)) return n.r; - if (e = t[1], n.x = -e.r, e.x = n.r, e.y = 0, !(i > 2)) return n.r + e.r; - yo(e, n, r = t[2]), n = new xo(n), e = new xo(e), r = new xo(r), n.next = r.previous = e, e.next = n.previous = r, r.next = e.previous = n; - t: for (a = 3; a < i; ++a) { - yo(n._, e._, r = t[a]), r = new xo(r), c = e.next, s = n.previous, f = e._.r, l = n._.r; - do { - if (f <= l) { - if (go(c._, r._)) { - e = c, n.next = e, e.previous = n, --a; - continue t - } - f += c._.r, c = c.next - } else { - if (go(s._, r._)) { - (n = s).next = e, e.previous = n, --a; - continue t - } - l += s._.r, s = s.previous - } - } while (c !== s.next); - for (r.previous = n, r.next = e, n.next = e.previous = e = r, o = mo(n); - (r = r.next) !== e;)(u = mo(r)) < o && (n = r, o = u); - e = n.next - } - for (n = [e._], r = e; - (r = r.next) !== e;) n.push(r._); - for (r = Zv(n), a = 0; a < i; ++a) n = t[a], n.x -= r.x, n.y -= r.y; - return r.r - } - - function wo(t) { - return null == t ? null : Mo(t) - } - - function Mo(t) { - if ("function" != typeof t) throw new Error; - return t - } - - function To() { - return 0 - } - - function ko(t) { - return Math.sqrt(t.value) - } - - function No(t) { - return function (n) { - n.children || (n.r = Math.max(0, +t(n) || 0)) - } - } - - function So(t, n) { - return function (e) { - if (r = e.children) { - var r, i, o, u = r.length, - a = t(e) * n || 0; - if (a) - for (i = 0; i < u; ++i) r[i].r += a; - if (o = bo(r), a) - for (i = 0; i < u; ++i) r[i].r -= a; - e.r = o + a - } - } - } - - function Eo(t) { - return function (n) { - var e = n.parent; - n.r *= t, e && (n.x = e.x + t * n.x, n.y = e.y + t * n.y) - } - } - - function Ao(t) { - return t.id - } - - function Co(t) { - return t.parentId - } - - function zo(t, n) { - return t.parent === n.parent ? 1 : 2 - } - - function Po(t) { - var n = t.children; - return n ? n[0] : t.t - } - - function Ro(t) { - var n = t.children; - return n ? n[n.length - 1] : t.t - } - - function Lo(t, n, e) { - var r = e / (n.i - t.i); - n.c -= r, n.s += e, t.c += r, n.z += e, n.m += e - } - - function qo(t) { - for (var n, e = 0, r = 0, i = t.children, o = i.length; --o >= 0;)(n = i[o]).z += e, n.m += e, e += n.s + (r += n.c) - } - - function Uo(t, n, e) { - return t.a.parent === n.parent ? t.a : e - } - - function Do(t, n) { - this._ = t, this.parent = null, this.children = null, this.A = null, this.a = this, this.z = 0, this.m = 0, this.c = 0, this.s = 0, this.t = null, this.i = n - } - - function Oo(t) { - for (var n, e, r, i, o, u = new Do(t, 0), a = [u]; n = a.pop();) - if (r = n._.children) - for (n.children = new Array(o = r.length), i = o - 1; i >= 0; --i) a.push(e = n.children[i] = new Do(r[i], i)), e.parent = n; - return (u.parent = new Do(null, 0)).children = [u], u - } - - function Fo(t, n, e, r, i, o) { - for (var u, a, c, s, f, l, h, p, d, v, _, y = [], g = n.children, m = 0, x = 0, b = g.length, w = n.value; m < b;) { - c = i - e, s = o - r; - do { - f = g[x++].value - } while (!f && x < b); - for (l = h = f, _ = f * f * (v = Math.max(s / c, c / s) / (w * t)), d = Math.max(h / _, _ / l); x < b; ++x) { - if (f += a = g[x].value, a < l && (l = a), a > h && (h = a), _ = f * f * v, (p = Math.max(h / _, _ / l)) > d) { - f -= a; - break - } - d = p - } - y.push(u = { - value: f, - dice: c < s, - children: g.slice(m, x) - }), u.dice ? Qv(u, e, r, i, w ? r += s * f / w : o) : e_(u, e, r, w ? e += c * f / w : i, o), w -= f, m = x - } - return y - } - - function Io(t, n) { - return t[0] - n[0] || t[1] - n[1] - } - - function Yo(t) { - for (var n = t.length, e = [0, 1], r = 2, i = 2; i < n; ++i) { - for (; r > 1 && u_(t[e[r - 2]], t[e[r - 1]], t[i]) <= 0;) --r; - e[r++] = i - } - return e.slice(0, r) - } - - function Bo(t) { - this._size = t, this._call = this._error = null, this._tasks = [], this._data = [], this._waiting = this._active = this._ended = this._start = 0 - } - - function jo(t) { - if (!t._start) try { - Ho(t) - } catch (n) { - if (t._tasks[t._ended + t._active - 1]) $o(t, n); - else if (!t._data) throw n - } - } - - function Ho(t) { - for (; t._start = t._waiting && t._active < t._size;) { - var n = t._ended + t._active, - e = t._tasks[n], - r = e.length - 1, - i = e[r]; - e[r] = Xo(t, n), --t._waiting, ++t._active, e = i.apply(null, e), t._tasks[n] && (t._tasks[n] = e || c_) - } - } - - function Xo(t, n) { - return function (e, r) { - t._tasks[n] && (--t._active, ++t._ended, t._tasks[n] = null, null == t._error && (null != e ? $o(t, e) : (t._data[n] = r, t._waiting ? jo(t) : Vo(t)))) - } - } - - function $o(t, n) { - var e, r = t._tasks.length; - for (t._error = n, t._data = void 0, t._waiting = NaN; --r >= 0;) - if ((e = t._tasks[r]) && (t._tasks[r] = null, e.abort)) try { - e.abort() - } catch (n) {} - t._active = NaN, Vo(t) - } - - function Vo(t) { - if (!t._active && t._call) { - var n = t._data; - t._data = void 0, t._call(t._error, n) - } - } - - function Wo(t) { - if (null == t) t = 1 / 0; - else if (!((t = +t) >= 1)) throw new Error("invalid concurrency"); - return new Bo(t) - } - - function Zo(t) { - return function (n, e) { - t(null == n ? e : null) - } - } - - function Go(t) { - var n = t.responseType; - return n && "text" !== n ? t.response : t.responseText - } - - function Jo(t, n) { - return function (e) { - return t(e.responseText, n) - } - } - - function Qo(t) { - function n(n) { - var o = n + "", - u = e.get(o); - if (!u) { - if (i !== E_) return i; - e.set(o, u = r.push(n)) - } - return t[(u - 1) % t.length] - } - var e = we(), - r = [], - i = E_; - return t = null == t ? [] : S_.call(t), n.domain = function (t) { - if (!arguments.length) return r.slice(); - r = [], e = we(); - for (var i, o, u = -1, a = t.length; ++u < a;) e.has(o = (i = t[u]) + "") || e.set(o, r.push(i)); - return n - }, n.range = function (e) { - return arguments.length ? (t = S_.call(e), n) : t.slice() - }, n.unknown = function (t) { - return arguments.length ? (i = t, n) : i - }, n.copy = function () { - return Qo().domain(r).range(t).unknown(i) - }, n - } - - function Ko() { - function t() { - var t = i().length, - r = u[1] < u[0], - l = u[r - 0], - h = u[1 - r]; - n = (h - l) / Math.max(1, t - c + 2 * s), a && (n = Math.floor(n)), l += (h - l - n * (t - c)) * f, e = n * (1 - c), a && (l = Math.round(l), e = Math.round(e)); - var p = Ms(t).map(function (t) { - return l + n * t - }); - return o(r ? p.reverse() : p) - } - var n, e, r = Qo().unknown(void 0), - i = r.domain, - o = r.range, - u = [0, 1], - a = !1, - c = 0, - s = 0, - f = .5; - return delete r.unknown, r.domain = function (n) { - return arguments.length ? (i(n), t()) : i() - }, r.range = function (n) { - return arguments.length ? (u = [+n[0], +n[1]], t()) : u.slice() - }, r.rangeRound = function (n) { - return u = [+n[0], +n[1]], a = !0, t() - }, r.bandwidth = function () { - return e - }, r.step = function () { - return n - }, r.round = function (n) { - return arguments.length ? (a = !!n, t()) : a - }, r.padding = function (n) { - return arguments.length ? (c = s = Math.max(0, Math.min(1, n)), t()) : c - }, r.paddingInner = function (n) { - return arguments.length ? (c = Math.max(0, Math.min(1, n)), t()) : c - }, r.paddingOuter = function (n) { - return arguments.length ? (s = Math.max(0, Math.min(1, n)), t()) : s - }, r.align = function (n) { - return arguments.length ? (f = Math.max(0, Math.min(1, n)), t()) : f - }, r.copy = function () { - return Ko().domain(i()).range(u).round(a).paddingInner(c).paddingOuter(s).align(f) - }, t() - } - - function tu(t) { - var n = t.copy; - return t.padding = t.paddingOuter, delete t.paddingInner, delete t.paddingOuter, t.copy = function () { - return tu(n()) - }, t - } - - function nu(t, n) { - return (n -= t = +t) ? function (e) { - return (e - t) / n - } : A_(n) - } - - function eu(t) { - return function (n, e) { - var r = t(n = +n, e = +e); - return function (t) { - return t <= n ? 0 : t >= e ? 1 : r(t) - } - } - } - - function ru(t) { - return function (n, e) { - var r = t(n = +n, e = +e); - return function (t) { - return t <= 0 ? n : t >= 1 ? e : r(t) - } - } - } - - function iu(t, n, e, r) { - var i = t[0], - o = t[1], - u = n[0], - a = n[1]; - return o < i ? (i = e(o, i), u = r(a, u)) : (i = e(i, o), u = r(u, a)), - function (t) { - return u(i(t)) - } - } - - function ou(t, n, e, r) { - var i = Math.min(t.length, n.length) - 1, - o = new Array(i), - u = new Array(i), - a = -1; - for (t[i] < t[0] && (t = t.slice().reverse(), n = n.slice().reverse()); ++a < i;) o[a] = e(t[a], t[a + 1]), u[a] = r(n[a], n[a + 1]); - return function (n) { - var e = hs(t, n, 1, i) - 1; - return u[e](o[e](n)) - } - } - - function uu(t, n) { - return n.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()) - } - - function au(t, n) { - function e() { - return i = Math.min(a.length, c.length) > 2 ? ou : iu, o = u = null, r - } - - function r(n) { - return (o || (o = i(a, c, f ? eu(t) : t, s)))(+n) - } - var i, o, u, a = z_, - c = z_, - s = cl, - f = !1; - return r.invert = function (t) { - return (u || (u = i(c, a, nu, f ? ru(n) : n)))(+t) - }, r.domain = function (t) { - return arguments.length ? (a = N_.call(t, C_), e()) : a.slice() - }, r.range = function (t) { - return arguments.length ? (c = S_.call(t), e()) : c.slice() - }, r.rangeRound = function (t) { - return c = S_.call(t), s = sl, e() - }, r.clamp = function (t) { - return arguments.length ? (f = !!t, e()) : f - }, r.interpolate = function (t) { - return arguments.length ? (s = t, e()) : s - }, e() - } - - function cu(t) { - var n = t.domain; - return t.ticks = function (t) { - var e = n(); - return Ss(e[0], e[e.length - 1], null == t ? 10 : t) - }, t.tickFormat = function (t, e) { - return P_(n(), t, e) - }, t.nice = function (e) { - null == e && (e = 10); - var i, o = n(), - u = 0, - a = o.length - 1, - c = o[u], - s = o[a]; - return s < c && (i = c, c = s, s = i, i = u, u = a, a = i), (i = r(c, s, e)) > 0 ? i = r(c = Math.floor(c / i) * i, s = Math.ceil(s / i) * i, e) : i < 0 && (i = r(c = Math.ceil(c * i) / i, s = Math.floor(s * i) / i, e)), i > 0 ? (o[u] = Math.floor(c / i) * i, o[a] = Math.ceil(s / i) * i, n(o)) : i < 0 && (o[u] = Math.ceil(c * i) / i, o[a] = Math.floor(s * i) / i, n(o)), t - }, t - } - - function su() { - var t = au(nu, rl); - return t.copy = function () { - return uu(t, su()) - }, cu(t) - } - - function fu() { - function t(t) { - return +t - } - var n = [0, 1]; - return t.invert = t, t.domain = t.range = function (e) { - return arguments.length ? (n = N_.call(e, C_), t) : n.slice() - }, t.copy = function () { - return fu().domain(n) - }, cu(t) - } - - function lu(t, n) { - return (n = Math.log(n / t)) ? function (e) { - return Math.log(e / t) / n - } : A_(n) - } - - function hu(t, n) { - return t < 0 ? function (e) { - return -Math.pow(-n, e) * Math.pow(-t, 1 - e) - } : function (e) { - return Math.pow(n, e) * Math.pow(t, 1 - e) - } - } - - function pu(t) { - return isFinite(t) ? +("1e" + t) : t < 0 ? 0 : t - } - - function du(t) { - return 10 === t ? pu : t === Math.E ? Math.exp : function (n) { - return Math.pow(t, n) - } - } - - function vu(t) { - return t === Math.E ? Math.log : 10 === t && Math.log10 || 2 === t && Math.log2 || (t = Math.log(t), function (n) { - return Math.log(n) / t - }) - } - - function _u(t) { - return function (n) { - return -t(-n) - } - } - - function yu() { - function n() { - return o = vu(i), u = du(i), r()[0] < 0 && (o = _u(o), u = _u(u)), e - } - var e = au(lu, hu).domain([1, 10]), - r = e.domain, - i = 10, - o = vu(10), - u = du(10); - return e.base = function (t) { - return arguments.length ? (i = +t, n()) : i - }, e.domain = function (t) { - return arguments.length ? (r(t), n()) : r() - }, e.ticks = function (t) { - var n, e = r(), - a = e[0], - c = e[e.length - 1]; - (n = c < a) && (h = a, a = c, c = h); - var s, f, l, h = o(a), - p = o(c), - d = null == t ? 10 : +t, - v = []; - if (!(i % 1) && p - h < d) { - if (h = Math.round(h) - 1, p = Math.round(p) + 1, a > 0) { - for (; h < p; ++h) - for (f = 1, s = u(h); f < i; ++f) - if (!((l = s * f) < a)) { - if (l > c) break; - v.push(l) - } - } else - for (; h < p; ++h) - for (f = i - 1, s = u(h); f >= 1; --f) - if (!((l = s * f) < a)) { - if (l > c) break; - v.push(l) - } - } else v = Ss(h, p, Math.min(p - h, d)).map(u); - return n ? v.reverse() : v - }, e.tickFormat = function (n, r) { - if (null == r && (r = 10 === i ? ".0e" : ","), "function" != typeof r && (r = t.format(r)), n === 1 / 0) return r; - null == n && (n = 10); - var a = Math.max(1, i * n / e.ticks().length); - return function (t) { - var n = t / u(Math.round(o(t))); - return n * i < i - .5 && (n *= i), n <= a ? r(t) : "" - } - }, e.nice = function () { - return r(R_(r(), { - floor: function (t) { - return u(Math.floor(o(t))) - }, - ceil: function (t) { - return u(Math.ceil(o(t))) - } - })) - }, e.copy = function () { - return uu(e, yu().base(i)) - }, e - } - - function gu(t, n) { - return t < 0 ? -Math.pow(-t, n) : Math.pow(t, n) - } - - function mu() { - var t = 1, - n = au(function (n, e) { - return (e = gu(e, t) - (n = gu(n, t))) ? function (r) { - return (gu(r, t) - n) / e - } : A_(e) - }, function (n, e) { - return e = gu(e, t) - (n = gu(n, t)), - function (r) { - return gu(n + e * r, 1 / t) - } - }), - e = n.domain; - return n.exponent = function (n) { - return arguments.length ? (t = +n, e(e())) : t - }, n.copy = function () { - return uu(n, mu().exponent(t)) - }, cu(n) - } - - function xu() { - function t() { - var t = 0, - o = Math.max(1, r.length); - for (i = new Array(o - 1); ++t < o;) i[t - 1] = As(e, t / o); - return n - } - - function n(t) { - if (!isNaN(t = +t)) return r[hs(i, t)] - } - var e = [], - r = [], - i = []; - return n.invertExtent = function (t) { - var n = r.indexOf(t); - return n < 0 ? [NaN, NaN] : [n > 0 ? i[n - 1] : e[0], n < i.length ? i[n] : e[e.length - 1]] - }, n.domain = function (n) { - if (!arguments.length) return e.slice(); - e = []; - for (var r, i = 0, o = n.length; i < o; ++i) null == (r = n[i]) || isNaN(r = +r) || e.push(r); - return e.sort(ss), t() - }, n.range = function (n) { - return arguments.length ? (r = S_.call(n), t()) : r.slice() - }, n.quantiles = function () { - return i.slice() - }, n.copy = function () { - return xu().domain(e).range(r) - }, n - } - - function bu() { - function t(t) { - if (t <= t) return u[hs(o, t, 0, i)] - } - - function n() { - var n = -1; - for (o = new Array(i); ++n < i;) o[n] = ((n + 1) * r - (n - i) * e) / (i + 1); - return t - } - var e = 0, - r = 1, - i = 1, - o = [.5], - u = [0, 1]; - return t.domain = function (t) { - return arguments.length ? (e = +t[0], r = +t[1], n()) : [e, r] - }, t.range = function (t) { - return arguments.length ? (i = (u = S_.call(t)).length - 1, n()) : u.slice() - }, t.invertExtent = function (t) { - var n = u.indexOf(t); - return n < 0 ? [NaN, NaN] : n < 1 ? [e, o[0]] : n >= i ? [o[i - 1], r] : [o[n - 1], o[n]] - }, t.copy = function () { - return bu().domain([e, r]).range(u) - }, cu(t) - } - - function wu() { - function t(t) { - if (t <= t) return e[hs(n, t, 0, r)] - } - var n = [.5], - e = [0, 1], - r = 1; - return t.domain = function (i) { - return arguments.length ? (n = S_.call(i), r = Math.min(n.length, e.length - 1), t) : n.slice() - }, t.range = function (i) { - return arguments.length ? (e = S_.call(i), r = Math.min(n.length, e.length - 1), t) : e.slice() - }, t.invertExtent = function (t) { - var r = e.indexOf(t); - return [n[r - 1], n[r]] - }, t.copy = function () { - return wu().domain(n).range(e) - }, t - } - - function Mu(t, n, e, r) { - function i(n) { - return t(n = new Date(+n)), n - } - return i.floor = i, i.ceil = function (e) { - return t(e = new Date(e - 1)), n(e, 1), t(e), e - }, i.round = function (t) { - var n = i(t), - e = i.ceil(t); - return t - n < e - t ? n : e - }, i.offset = function (t, e) { - return n(t = new Date(+t), null == e ? 1 : Math.floor(e)), t - }, i.range = function (e, r, o) { - var u = []; - if (e = i.ceil(e), o = null == o ? 1 : Math.floor(o), !(e < r && o > 0)) return u; - do { - u.push(new Date(+e)) - } while (n(e, o), t(e), e < r); - return u - }, i.filter = function (e) { - return Mu(function (n) { - if (n >= n) - for (; t(n), !e(n);) n.setTime(n - 1) - }, function (t, r) { - if (t >= t) - if (r < 0) - for (; ++r <= 0;) - for (; n(t, -1), !e(t);); - else - for (; --r >= 0;) - for (; n(t, 1), !e(t);); - }) - }, e && (i.count = function (n, r) { - return L_.setTime(+n), q_.setTime(+r), t(L_), t(q_), Math.floor(e(L_, q_)) - }, i.every = function (t) { - return t = Math.floor(t), isFinite(t) && t > 0 ? t > 1 ? i.filter(r ? function (n) { - return r(n) % t == 0 - } : function (n) { - return i.count(0, n) % t == 0 - }) : i : null - }), i - } - - function Tu(t) { - return Mu(function (n) { - n.setDate(n.getDate() - (n.getDay() + 7 - t) % 7), n.setHours(0, 0, 0, 0) - }, function (t, n) { - t.setDate(t.getDate() + 7 * n) - }, function (t, n) { - return (n - t - (n.getTimezoneOffset() - t.getTimezoneOffset()) * O_) / F_ - }) - } - - function ku(t) { - return Mu(function (n) { - n.setUTCDate(n.getUTCDate() - (n.getUTCDay() + 7 - t) % 7), n.setUTCHours(0, 0, 0, 0) - }, function (t, n) { - t.setUTCDate(t.getUTCDate() + 7 * n) - }, function (t, n) { - return (n - t) / F_ - }) - } - - function Nu(t) { - if (0 <= t.y && t.y < 100) { - var n = new Date(-1, t.m, t.d, t.H, t.M, t.S, t.L); - return n.setFullYear(t.y), n - } - return new Date(t.y, t.m, t.d, t.H, t.M, t.S, t.L) - } - - function Su(t) { - if (0 <= t.y && t.y < 100) { - var n = new Date(Date.UTC(-1, t.m, t.d, t.H, t.M, t.S, t.L)); - return n.setUTCFullYear(t.y), n - } - return new Date(Date.UTC(t.y, t.m, t.d, t.H, t.M, t.S, t.L)) - } - - function Eu(t) { - return { - y: t, - m: 0, - d: 1, - H: 0, - M: 0, - S: 0, - L: 0 - } - } - - function Au(t) { - function n(t, n) { - return function (e) { - var r, i, o, u = [], - a = -1, - c = 0, - s = t.length; - for (e instanceof Date || (e = new Date(+e)); ++a < s;) 37 === t.charCodeAt(a) && (u.push(t.slice(c, a)), null != (i = Dy[r = t.charAt(++a)]) ? r = t.charAt(++a) : i = "e" === r ? " " : "0", (o = n[r]) && (r = o(e, i)), u.push(r), c = a + 1); - return u.push(t.slice(c, a)), u.join("") - } - } - - function e(t, n) { - return function (e) { - var i = Eu(1900); - if (r(i, t, e += "", 0) != e.length) return null; - if ("p" in i && (i.H = i.H % 12 + 12 * i.p), "W" in i || "U" in i) { - "w" in i || (i.w = "W" in i ? 1 : 0); - var o = "Z" in i ? Su(Eu(i.y)).getUTCDay() : n(Eu(i.y)).getDay(); - i.m = 0, i.d = "W" in i ? (i.w + 6) % 7 + 7 * i.W - (o + 5) % 7 : i.w + 7 * i.U - (o + 6) % 7 - } - return "Z" in i ? (i.H += i.Z / 100 | 0, i.M += i.Z % 100, Su(i)) : n(i) - } - } - - function r(t, n, e, r) { - for (var i, o, u = 0, a = n.length, c = e.length; u < a;) { - if (r >= c) return -1; - if (37 === (i = n.charCodeAt(u++))) { - if (i = n.charAt(u++), !(o = T[i in Dy ? n.charAt(u++) : i]) || (r = o(t, e, r)) < 0) return -1 - } else if (i != e.charCodeAt(r++)) return -1 - } - return r - } - var i = t.dateTime, - o = t.date, - u = t.time, - a = t.periods, - c = t.days, - s = t.shortDays, - f = t.months, - l = t.shortMonths, - h = Pu(a), - p = Ru(a), - d = Pu(c), - v = Ru(c), - _ = Pu(s), - y = Ru(s), - g = Pu(f), - m = Ru(f), - x = Pu(l), - b = Ru(l), - w = { - a: function (t) { - return s[t.getDay()] - }, - A: function (t) { - return c[t.getDay()] - }, - b: function (t) { - return l[t.getMonth()] - }, - B: function (t) { - return f[t.getMonth()] - }, - c: null, - d: Wu, - e: Wu, - H: Zu, - I: Gu, - j: Ju, - L: Qu, - m: Ku, - M: ta, - p: function (t) { - return a[+(t.getHours() >= 12)] - }, - S: na, - U: ea, - w: ra, - W: ia, - x: null, - X: null, - y: oa, - Y: ua, - Z: aa, - "%": wa - }, - M = { - a: function (t) { - return s[t.getUTCDay()] - }, - A: function (t) { - return c[t.getUTCDay()] - }, - b: function (t) { - return l[t.getUTCMonth()] - }, - B: function (t) { - return f[t.getUTCMonth()] - }, - c: null, - d: ca, - e: ca, - H: sa, - I: fa, - j: la, - L: ha, - m: pa, - M: da, - p: function (t) { - return a[+(t.getUTCHours() >= 12)] - }, - S: va, - U: _a, - w: ya, - W: ga, - x: null, - X: null, - y: ma, - Y: xa, - Z: ba, - "%": wa - }, - T = { - a: function (t, n, e) { - var r = _.exec(n.slice(e)); - return r ? (t.w = y[r[0].toLowerCase()], e + r[0].length) : -1 - }, - A: function (t, n, e) { - var r = d.exec(n.slice(e)); - return r ? (t.w = v[r[0].toLowerCase()], e + r[0].length) : -1 - }, - b: function (t, n, e) { - var r = x.exec(n.slice(e)); - return r ? (t.m = b[r[0].toLowerCase()], e + r[0].length) : -1 - }, - B: function (t, n, e) { - var r = g.exec(n.slice(e)); - return r ? (t.m = m[r[0].toLowerCase()], e + r[0].length) : -1 - }, - c: function (t, n, e) { - return r(t, i, n, e) - }, - d: Yu, - e: Yu, - H: ju, - I: ju, - j: Bu, - L: $u, - m: Iu, - M: Hu, - p: function (t, n, e) { - var r = h.exec(n.slice(e)); - return r ? (t.p = p[r[0].toLowerCase()], e + r[0].length) : -1 - }, - S: Xu, - U: qu, - w: Lu, - W: Uu, - x: function (t, n, e) { - return r(t, o, n, e) - }, - X: function (t, n, e) { - return r(t, u, n, e) - }, - y: Ou, - Y: Du, - Z: Fu, - "%": Vu - }; - return w.x = n(o, w), w.X = n(u, w), w.c = n(i, w), M.x = n(o, M), M.X = n(u, M), M.c = n(i, M), { - format: function (t) { - var e = n(t += "", w); - return e.toString = function () { - return t - }, e - }, - parse: function (t) { - var n = e(t += "", Nu); - return n.toString = function () { - return t - }, n - }, - utcFormat: function (t) { - var e = n(t += "", M); - return e.toString = function () { - return t - }, e - }, - utcParse: function (t) { - var n = e(t, Su); - return n.toString = function () { - return t - }, n - } - } - } - - function Cu(t, n, e) { - var r = t < 0 ? "-" : "", - i = (r ? -t : t) + "", - o = i.length; - return r + (o < e ? new Array(e - o + 1).join(n) + i : i) - } - - function zu(t) { - return t.replace(Iy, "\\$&") - } - - function Pu(t) { - return new RegExp("^(?:" + t.map(zu).join("|") + ")", "i") - } - - function Ru(t) { - for (var n = {}, e = -1, r = t.length; ++e < r;) n[t[e].toLowerCase()] = e; - return n - } - - function Lu(t, n, e) { - var r = Oy.exec(n.slice(e, e + 1)); - return r ? (t.w = +r[0], e + r[0].length) : -1 - } - - function qu(t, n, e) { - var r = Oy.exec(n.slice(e)); - return r ? (t.U = +r[0], e + r[0].length) : -1 - } - - function Uu(t, n, e) { - var r = Oy.exec(n.slice(e)); - return r ? (t.W = +r[0], e + r[0].length) : -1 - } - - function Du(t, n, e) { - var r = Oy.exec(n.slice(e, e + 4)); - return r ? (t.y = +r[0], e + r[0].length) : -1 - } - - function Ou(t, n, e) { - var r = Oy.exec(n.slice(e, e + 2)); - return r ? (t.y = +r[0] + (+r[0] > 68 ? 1900 : 2e3), e + r[0].length) : -1 - } - - function Fu(t, n, e) { - var r = /^(Z)|([+-]\d\d)(?:\:?(\d\d))?/.exec(n.slice(e, e + 6)); - return r ? (t.Z = r[1] ? 0 : -(r[2] + (r[3] || "00")), e + r[0].length) : -1 - } - - function Iu(t, n, e) { - var r = Oy.exec(n.slice(e, e + 2)); - return r ? (t.m = r[0] - 1, e + r[0].length) : -1 - } - - function Yu(t, n, e) { - var r = Oy.exec(n.slice(e, e + 2)); - return r ? (t.d = +r[0], e + r[0].length) : -1 - } - - function Bu(t, n, e) { - var r = Oy.exec(n.slice(e, e + 3)); - return r ? (t.m = 0, t.d = +r[0], e + r[0].length) : -1 - } - - function ju(t, n, e) { - var r = Oy.exec(n.slice(e, e + 2)); - return r ? (t.H = +r[0], e + r[0].length) : -1 - } - - function Hu(t, n, e) { - var r = Oy.exec(n.slice(e, e + 2)); - return r ? (t.M = +r[0], e + r[0].length) : -1 - } - - function Xu(t, n, e) { - var r = Oy.exec(n.slice(e, e + 2)); - return r ? (t.S = +r[0], e + r[0].length) : -1 - } - - function $u(t, n, e) { - var r = Oy.exec(n.slice(e, e + 3)); - return r ? (t.L = +r[0], e + r[0].length) : -1 - } - - function Vu(t, n, e) { - var r = Fy.exec(n.slice(e, e + 1)); - return r ? e + r[0].length : -1 - } - - function Wu(t, n) { - return Cu(t.getDate(), n, 2) - } - - function Zu(t, n) { - return Cu(t.getHours(), n, 2) - } - - function Gu(t, n) { - return Cu(t.getHours() % 12 || 12, n, 2) - } - - function Ju(t, n) { - return Cu(1 + $_.count(fy(t), t), n, 3) - } - - function Qu(t, n) { - return Cu(t.getMilliseconds(), n, 3) - } - - function Ku(t, n) { - return Cu(t.getMonth() + 1, n, 2) - } - - function ta(t, n) { - return Cu(t.getMinutes(), n, 2) - } - - function na(t, n) { - return Cu(t.getSeconds(), n, 2) - } - - function ea(t, n) { - return Cu(W_.count(fy(t), t), n, 2) - } - - function ra(t) { - return t.getDay() - } - - function ia(t, n) { - return Cu(Z_.count(fy(t), t), n, 2) - } - - function oa(t, n) { - return Cu(t.getFullYear() % 100, n, 2) - } - - function ua(t, n) { - return Cu(t.getFullYear() % 1e4, n, 4) - } - - function aa(t) { - var n = t.getTimezoneOffset(); - return (n > 0 ? "-" : (n *= -1, "+")) + Cu(n / 60 | 0, "0", 2) + Cu(n % 60, "0", 2) - } - - function ca(t, n) { - return Cu(t.getUTCDate(), n, 2) - } - - function sa(t, n) { - return Cu(t.getUTCHours(), n, 2) - } - - function fa(t, n) { - return Cu(t.getUTCHours() % 12 || 12, n, 2) - } - - function la(t, n) { - return Cu(1 + _y.count(Ly(t), t), n, 3) - } - - function ha(t, n) { - return Cu(t.getUTCMilliseconds(), n, 3) - } - - function pa(t, n) { - return Cu(t.getUTCMonth() + 1, n, 2) - } - - function da(t, n) { - return Cu(t.getUTCMinutes(), n, 2) - } - - function va(t, n) { - return Cu(t.getUTCSeconds(), n, 2) - } - - function _a(t, n) { - return Cu(gy.count(Ly(t), t), n, 2) - } - - function ya(t) { - return t.getUTCDay() - } - - function ga(t, n) { - return Cu(my.count(Ly(t), t), n, 2) - } - - function ma(t, n) { - return Cu(t.getUTCFullYear() % 100, n, 2) - } - - function xa(t, n) { - return Cu(t.getUTCFullYear() % 1e4, n, 4) - } - - function ba() { - return "+0000" - } - - function wa() { - return "%" - } - - function Ma(n) { - return qy = Au(n), t.timeFormat = qy.format, t.timeParse = qy.parse, t.utcFormat = qy.utcFormat, t.utcParse = qy.utcParse, qy - } - - function Ta(t) { - return new Date(t) - } - - function ka(t) { - return t instanceof Date ? +t : +new Date(+t) - } - - function Na(t, n, e, r, o, u, a, c, s) { - function f(i) { - return (a(i) < i ? v : u(i) < i ? _ : o(i) < i ? y : r(i) < i ? g : n(i) < i ? e(i) < i ? m : x : t(i) < i ? b : w)(i) - } - - function l(n, e, r, o) { - if (null == n && (n = 10), "number" == typeof n) { - var u = Math.abs(r - e) / n, - a = fs(function (t) { - return t[2] - }).right(M, u); - a === M.length ? (o = i(e / Zy, r / Zy, n), n = t) : a ? (o = (a = M[u / M[a - 1][2] < M[a][2] / u ? a - 1 : a])[1], n = a[0]) : (o = i(e, r, n), n = c) - } - return null == o ? n : n.every(o) - } - var h = au(nu, rl), - p = h.invert, - d = h.domain, - v = s(".%L"), - _ = s(":%S"), - y = s("%I:%M"), - g = s("%I %p"), - m = s("%a %d"), - x = s("%b %d"), - b = s("%B"), - w = s("%Y"), - M = [ - [a, 1, jy], - [a, 5, 5 * jy], - [a, 15, 15 * jy], - [a, 30, 30 * jy], - [u, 1, Hy], - [u, 5, 5 * Hy], - [u, 15, 15 * Hy], - [u, 30, 30 * Hy], - [o, 1, Xy], - [o, 3, 3 * Xy], - [o, 6, 6 * Xy], - [o, 12, 12 * Xy], - [r, 1, $y], - [r, 2, 2 * $y], - [e, 1, Vy], - [n, 1, Wy], - [n, 3, 3 * Wy], - [t, 1, Zy] - ]; - return h.invert = function (t) { - return new Date(p(t)) - }, h.domain = function (t) { - return arguments.length ? d(N_.call(t, ka)) : d().map(Ta) - }, h.ticks = function (t, n) { - var e, r = d(), - i = r[0], - o = r[r.length - 1], - u = o < i; - return u && (e = i, i = o, o = e), e = l(t, i, o, n), e = e ? e.range(i, o + 1) : [], u ? e.reverse() : e - }, h.tickFormat = function (t, n) { - return null == n ? f : s(n) - }, h.nice = function (t, n) { - var e = d(); - return (t = l(t, e[0], e[e.length - 1], n)) ? d(R_(e, t)) : h - }, h.copy = function () { - return uu(h, Na(t, n, e, r, o, u, a, c, s)) - }, h - } - - function Sa(t) { - var n = t.length; - return function (e) { - return t[Math.max(0, Math.min(n - 1, Math.floor(e * n)))] - } - } - - function Ea(t) { - function n(n) { - var o = (n - e) / (r - e); - return t(i ? Math.max(0, Math.min(1, o)) : o) - } - var e = 0, - r = 1, - i = !1; - return n.domain = function (t) { - return arguments.length ? (e = +t[0], r = +t[1], n) : [e, r] - }, n.clamp = function (t) { - return arguments.length ? (i = !!t, n) : i - }, n.interpolator = function (e) { - return arguments.length ? (t = e, n) : t - }, n.copy = function () { - return Ea(t).domain([e, r]).clamp(i) - }, cu(n) - } - - function Aa(t) { - return t > 1 ? 0 : t < -1 ? gg : Math.acos(t) - } - - function Ca(t) { - return t >= 1 ? mg : t <= -1 ? -mg : Math.asin(t) - } - - function za(t) { - return t.innerRadius - } - - function Pa(t) { - return t.outerRadius - } - - function Ra(t) { - return t.startAngle - } - - function La(t) { - return t.endAngle - } - - function qa(t) { - return t && t.padAngle - } - - function Ua(t, n, e, r, i, o, u, a) { - var c = e - t, - s = r - n, - f = u - i, - l = a - o, - h = (f * (n - o) - l * (t - i)) / (l * c - f * s); - return [t + h * c, n + h * s] - } - - function Da(t, n, e, r, i, o, u) { - var a = t - e, - c = n - r, - s = (u ? o : -o) / _g(a * a + c * c), - f = s * c, - l = -s * a, - h = t + f, - p = n + l, - d = e + f, - v = r + l, - _ = (h + d) / 2, - y = (p + v) / 2, - g = d - h, - m = v - p, - x = g * g + m * m, - b = i - o, - w = h * v - d * p, - M = (m < 0 ? -1 : 1) * _g(pg(0, b * b * x - w * w)), - T = (w * m - g * M) / x, - k = (-w * g - m * M) / x, - N = (w * m + g * M) / x, - S = (-w * g + m * M) / x, - E = T - _, - A = k - y, - C = N - _, - z = S - y; - return E * E + A * A > C * C + z * z && (T = N, k = S), { - cx: T, - cy: k, - x01: -f, - y01: -l, - x11: T * (i / b - 1), - y11: k * (i / b - 1) - } - } - - function Oa(t) { - this._context = t - } - - function Fa(t) { - return t[0] - } - - function Ia(t) { - return t[1] - } - - function Ya(t) { - this._curve = t - } - - function Ba(t) { - function n(n) { - return new Ya(t(n)) - } - return n._curve = t, n - } - - function ja(t) { - var n = t.curve; - return t.angle = t.x, delete t.x, t.radius = t.y, delete t.y, t.curve = function (t) { - return arguments.length ? n(Ba(t)) : n()._curve - }, t - } - - function Ha(t) { - return t.source - } - - function Xa(t) { - return t.target - } - - function $a(t) { - function n() { - var n, a = Cg.call(arguments), - c = e.apply(this, a), - s = r.apply(this, a); - if (u || (u = n = ve()), t(u, +i.apply(this, (a[0] = c, a)), +o.apply(this, a), +i.apply(this, (a[0] = s, a)), +o.apply(this, a)), n) return u = null, n + "" || null - } - var e = Ha, - r = Xa, - i = Fa, - o = Ia, - u = null; - return n.source = function (t) { - return arguments.length ? (e = t, n) : e - }, n.target = function (t) { - return arguments.length ? (r = t, n) : r - }, n.x = function (t) { - return arguments.length ? (i = "function" == typeof t ? t : sg(+t), n) : i - }, n.y = function (t) { - return arguments.length ? (o = "function" == typeof t ? t : sg(+t), n) : o - }, n.context = function (t) { - return arguments.length ? (u = null == t ? null : t, n) : u - }, n - } - - function Va(t, n, e, r, i) { - t.moveTo(n, e), t.bezierCurveTo(n = (n + r) / 2, e, n, i, r, i) - } - - function Wa(t, n, e, r, i) { - t.moveTo(n, e), t.bezierCurveTo(n, e = (e + i) / 2, r, e, r, i) - } - - function Za(t, n, e, r, i) { - var o = Ag(n, e), - u = Ag(n, e = (e + i) / 2), - a = Ag(r, e), - c = Ag(r, i); - t.moveTo(o[0], o[1]), t.bezierCurveTo(u[0], u[1], a[0], a[1], c[0], c[1]) - } - - function Ga(t, n, e) { - t._context.bezierCurveTo((2 * t._x0 + t._x1) / 3, (2 * t._y0 + t._y1) / 3, (t._x0 + 2 * t._x1) / 3, (t._y0 + 2 * t._y1) / 3, (t._x0 + 4 * t._x1 + n) / 6, (t._y0 + 4 * t._y1 + e) / 6) - } - - function Ja(t) { - this._context = t - } - - function Qa(t) { - this._context = t - } - - function Ka(t) { - this._context = t - } - - function tc(t, n) { - this._basis = new Ja(t), this._beta = n - } - - function nc(t, n, e) { - t._context.bezierCurveTo(t._x1 + t._k * (t._x2 - t._x0), t._y1 + t._k * (t._y2 - t._y0), t._x2 + t._k * (t._x1 - n), t._y2 + t._k * (t._y1 - e), t._x2, t._y2) - } - - function ec(t, n) { - this._context = t, this._k = (1 - n) / 6 - } - - function rc(t, n) { - this._context = t, this._k = (1 - n) / 6 - } - - function ic(t, n) { - this._context = t, this._k = (1 - n) / 6 - } - - function oc(t, n, e) { - var r = t._x1, - i = t._y1, - o = t._x2, - u = t._y2; - if (t._l01_a > yg) { - var a = 2 * t._l01_2a + 3 * t._l01_a * t._l12_a + t._l12_2a, - c = 3 * t._l01_a * (t._l01_a + t._l12_a); - r = (r * a - t._x0 * t._l12_2a + t._x2 * t._l01_2a) / c, i = (i * a - t._y0 * t._l12_2a + t._y2 * t._l01_2a) / c - } - if (t._l23_a > yg) { - var s = 2 * t._l23_2a + 3 * t._l23_a * t._l12_a + t._l12_2a, - f = 3 * t._l23_a * (t._l23_a + t._l12_a); - o = (o * s + t._x1 * t._l23_2a - n * t._l12_2a) / f, u = (u * s + t._y1 * t._l23_2a - e * t._l12_2a) / f - } - t._context.bezierCurveTo(r, i, o, u, t._x2, t._y2) - } - - function uc(t, n) { - this._context = t, this._alpha = n - } - - function ac(t, n) { - this._context = t, this._alpha = n - } - - function cc(t, n) { - this._context = t, this._alpha = n - } - - function sc(t) { - this._context = t - } - - function fc(t) { - return t < 0 ? -1 : 1 - } - - function lc(t, n, e) { - var r = t._x1 - t._x0, - i = n - t._x1, - o = (t._y1 - t._y0) / (r || i < 0 && -0), - u = (e - t._y1) / (i || r < 0 && -0), - a = (o * i + u * r) / (r + i); - return (fc(o) + fc(u)) * Math.min(Math.abs(o), Math.abs(u), .5 * Math.abs(a)) || 0 - } - - function hc(t, n) { - var e = t._x1 - t._x0; - return e ? (3 * (t._y1 - t._y0) / e - n) / 2 : n - } - - function pc(t, n, e) { - var r = t._x0, - i = t._y0, - o = t._x1, - u = t._y1, - a = (o - r) / 3; - t._context.bezierCurveTo(r + a, i + a * n, o - a, u - a * e, o, u) - } - - function dc(t) { - this._context = t - } - - function vc(t) { - this._context = new _c(t) - } - - function _c(t) { - this._context = t - } - - function yc(t) { - this._context = t - } - - function gc(t) { - var n, e, r = t.length - 1, - i = new Array(r), - o = new Array(r), - u = new Array(r); - for (i[0] = 0, o[0] = 2, u[0] = t[0] + 2 * t[1], n = 1; n < r - 1; ++n) i[n] = 1, o[n] = 4, u[n] = 4 * t[n] + 2 * t[n + 1]; - for (i[r - 1] = 2, o[r - 1] = 7, u[r - 1] = 8 * t[r - 1] + t[r], n = 1; n < r; ++n) e = i[n] / o[n - 1], o[n] -= e, u[n] -= e * u[n - 1]; - for (i[r - 1] = u[r - 1] / o[r - 1], n = r - 2; n >= 0; --n) i[n] = (u[n] - i[n + 1]) / o[n]; - for (o[r - 1] = (t[r] + i[r - 1]) / 2, n = 0; n < r - 1; ++n) o[n] = 2 * t[n + 1] - i[n + 1]; - return [i, o] - } - - function mc(t, n) { - this._context = t, this._t = n - } - - function xc(t, n) { - return t[n] - } - - function bc(t) { - for (var n, e = 0, r = -1, i = t.length; ++r < i;)(n = +t[r][1]) && (e += n); - return e - } - - function wc(t) { - return t[0] - } - - function Mc(t) { - return t[1] - } - - function Tc() { - this._ = null - } - - function kc(t) { - t.U = t.C = t.L = t.R = t.P = t.N = null - } - - function Nc(t, n) { - var e = n, - r = n.R, - i = e.U; - i ? i.L === e ? i.L = r : i.R = r : t._ = r, r.U = i, e.U = r, e.R = r.L, e.R && (e.R.U = e), r.L = e - } - - function Sc(t, n) { - var e = n, - r = n.L, - i = e.U; - i ? i.L === e ? i.L = r : i.R = r : t._ = r, r.U = i, e.U = r, e.L = r.R, e.L && (e.L.U = e), r.R = e - } - - function Ec(t) { - for (; t.L;) t = t.L; - return t - } - - function Ac(t, n, e, r) { - var i = [null, null], - o = lm.push(i) - 1; - return i.left = t, i.right = n, e && zc(i, t, n, e), r && zc(i, n, t, r), sm[t.index].halfedges.push(o), sm[n.index].halfedges.push(o), i - } - - function Cc(t, n, e) { - var r = [n, e]; - return r.left = t, r - } - - function zc(t, n, e, r) { - t[0] || t[1] ? t.left === e ? t[1] = r : t[0] = r : (t[0] = r, t.left = n, t.right = e) - } - - function Pc(t, n, e, r, i) { - var o, u = t[0], - a = t[1], - c = u[0], - s = u[1], - f = 0, - l = 1, - h = a[0] - c, - p = a[1] - s; - if (o = n - c, h || !(o > 0)) { - if (o /= h, h < 0) { - if (o < f) return; - o < l && (l = o) - } else if (h > 0) { - if (o > l) return; - o > f && (f = o) - } - if (o = r - c, h || !(o < 0)) { - if (o /= h, h < 0) { - if (o > l) return; - o > f && (f = o) - } else if (h > 0) { - if (o < f) return; - o < l && (l = o) - } - if (o = e - s, p || !(o > 0)) { - if (o /= p, p < 0) { - if (o < f) return; - o < l && (l = o) - } else if (p > 0) { - if (o > l) return; - o > f && (f = o) - } - if (o = i - s, p || !(o < 0)) { - if (o /= p, p < 0) { - if (o > l) return; - o > f && (f = o) - } else if (p > 0) { - if (o < f) return; - o < l && (l = o) - } - return !(f > 0 || l < 1) || (f > 0 && (t[0] = [c + f * h, s + f * p]), l < 1 && (t[1] = [c + l * h, s + l * p]), !0) - } - } - } - } - } - - function Rc(t, n, e, r, i) { - var o = t[1]; - if (o) return !0; - var u, a, c = t[0], - s = t.left, - f = t.right, - l = s[0], - h = s[1], - p = f[0], - d = f[1], - v = (l + p) / 2, - _ = (h + d) / 2; - if (d === h) { - if (v < n || v >= r) return; - if (l > p) { - if (c) { - if (c[1] >= i) return - } else c = [v, e]; - o = [v, i] - } else { - if (c) { - if (c[1] < e) return - } else c = [v, i]; - o = [v, e] - } - } else if (u = (l - p) / (d - h), a = _ - u * v, u < -1 || u > 1) - if (l > p) { - if (c) { - if (c[1] >= i) return - } else c = [(e - a) / u, e]; - o = [(i - a) / u, i] - } else { - if (c) { - if (c[1] < e) return - } else c = [(i - a) / u, i]; - o = [(e - a) / u, e] - } - else if (h < d) { - if (c) { - if (c[0] >= r) return - } else c = [n, u * n + a]; - o = [r, u * r + a] - } else { - if (c) { - if (c[0] < n) return - } else c = [r, u * r + a]; - o = [n, u * n + a] - } - return t[0] = c, t[1] = o, !0 - } - - function Lc(t, n, e, r) { - for (var i, o = lm.length; o--;) Rc(i = lm[o], t, n, e, r) && Pc(i, t, n, e, r) && (Math.abs(i[0][0] - i[1][0]) > dm || Math.abs(i[0][1] - i[1][1]) > dm) || delete lm[o] - } - - function qc(t) { - return sm[t.index] = { - site: t, - halfedges: [] - } - } - - function Uc(t, n) { - var e = t.site, - r = n.left, - i = n.right; - return e === i && (i = r, r = e), i ? Math.atan2(i[1] - r[1], i[0] - r[0]) : (e === r ? (r = n[1], i = n[0]) : (r = n[0], i = n[1]), Math.atan2(r[0] - i[0], i[1] - r[1])) - } - - function Dc(t, n) { - return n[+(n.left !== t.site)] - } - - function Oc(t, n) { - return n[+(n.left === t.site)] - } - - function Fc() { - for (var t, n, e, r, i = 0, o = sm.length; i < o; ++i) - if ((t = sm[i]) && (r = (n = t.halfedges).length)) { - var u = new Array(r), - a = new Array(r); - for (e = 0; e < r; ++e) u[e] = e, a[e] = Uc(t, lm[n[e]]); - for (u.sort(function (t, n) { - return a[n] - a[t] - }), e = 0; e < r; ++e) a[e] = n[u[e]]; - for (e = 0; e < r; ++e) n[e] = a[e] - } - } - - function Ic(t, n, e, r) { - var i, o, u, a, c, s, f, l, h, p, d, v, _ = sm.length, - y = !0; - for (i = 0; i < _; ++i) - if (o = sm[i]) { - for (u = o.site, a = (c = o.halfedges).length; a--;) lm[c[a]] || c.splice(a, 1); - for (a = 0, s = c.length; a < s;) d = (p = Oc(o, lm[c[a]]))[0], v = p[1], l = (f = Dc(o, lm[c[++a % s]]))[0], h = f[1], (Math.abs(d - l) > dm || Math.abs(v - h) > dm) && (c.splice(a, 0, lm.push(Cc(u, p, Math.abs(d - t) < dm && r - v > dm ? [t, Math.abs(l - t) < dm ? h : r] : Math.abs(v - r) < dm && e - d > dm ? [Math.abs(h - r) < dm ? l : e, r] : Math.abs(d - e) < dm && v - n > dm ? [e, Math.abs(l - e) < dm ? h : n] : Math.abs(v - n) < dm && d - t > dm ? [Math.abs(h - n) < dm ? l : t, n] : null)) - 1), ++s); - s && (y = !1) - } - if (y) { - var g, m, x, b = 1 / 0; - for (i = 0, y = null; i < _; ++i)(o = sm[i]) && (x = (g = (u = o.site)[0] - t) * g + (m = u[1] - n) * m) < b && (b = x, y = o); - if (y) { - var w = [t, n], - M = [t, r], - T = [e, r], - k = [e, n]; - y.halfedges.push(lm.push(Cc(u = y.site, w, M)) - 1, lm.push(Cc(u, M, T)) - 1, lm.push(Cc(u, T, k)) - 1, lm.push(Cc(u, k, w)) - 1) - } - } - for (i = 0; i < _; ++i)(o = sm[i]) && (o.halfedges.length || delete sm[i]) - } - - function Yc() { - kc(this), this.x = this.y = this.arc = this.site = this.cy = null - } - - function Bc(t) { - var n = t.P, - e = t.N; - if (n && e) { - var r = n.site, - i = t.site, - o = e.site; - if (r !== o) { - var u = i[0], - a = i[1], - c = r[0] - u, - s = r[1] - a, - f = o[0] - u, - l = o[1] - a, - h = 2 * (c * l - s * f); - if (!(h >= -vm)) { - var p = c * c + s * s, - d = f * f + l * l, - v = (l * p - s * d) / h, - _ = (c * d - f * p) / h, - y = hm.pop() || new Yc; - y.arc = t, y.site = i, y.x = v + u, y.y = (y.cy = _ + a) + Math.sqrt(v * v + _ * _), t.circle = y; - for (var g = null, m = fm._; m;) - if (y.y < m.y || y.y === m.y && y.x <= m.x) { - if (!m.L) { - g = m.P; - break - } - m = m.L - } else { - if (!m.R) { - g = m; - break - } - m = m.R - } - fm.insert(g, y), g || (am = y) - } - } - } - } - - function jc(t) { - var n = t.circle; - n && (n.P || (am = n.N), fm.remove(n), hm.push(n), kc(n), t.circle = null) - } - - function Hc() { - kc(this), this.edge = this.site = this.circle = null - } - - function Xc(t) { - var n = pm.pop() || new Hc; - return n.site = t, n - } - - function $c(t) { - jc(t), cm.remove(t), pm.push(t), kc(t) - } - - function Vc(t) { - var n = t.circle, - e = n.x, - r = n.cy, - i = [e, r], - o = t.P, - u = t.N, - a = [t]; - $c(t); - for (var c = o; c.circle && Math.abs(e - c.circle.x) < dm && Math.abs(r - c.circle.cy) < dm;) o = c.P, a.unshift(c), $c(c), c = o; - a.unshift(c), jc(c); - for (var s = u; s.circle && Math.abs(e - s.circle.x) < dm && Math.abs(r - s.circle.cy) < dm;) u = s.N, a.push(s), $c(s), s = u; - a.push(s), jc(s); - var f, l = a.length; - for (f = 1; f < l; ++f) s = a[f], c = a[f - 1], zc(s.edge, c.site, s.site, i); - c = a[0], (s = a[l - 1]).edge = Ac(c.site, s.site, null, i), Bc(c), Bc(s) - } - - function Wc(t) { - for (var n, e, r, i, o = t[0], u = t[1], a = cm._; a;) - if ((r = Zc(a, u) - o) > dm) a = a.L; - else { - if (!((i = o - Gc(a, u)) > dm)) { - r > -dm ? (n = a.P, e = a) : i > -dm ? (n = a, e = a.N) : n = e = a; - break - } - if (!a.R) { - n = a; - break - } - a = a.R - } - qc(t); - var c = Xc(t); - if (cm.insert(n, c), n || e) { - if (n === e) return jc(n), e = Xc(n.site), cm.insert(c, e), c.edge = e.edge = Ac(n.site, c.site), Bc(n), void Bc(e); - if (e) { - jc(n), jc(e); - var s = n.site, - f = s[0], - l = s[1], - h = t[0] - f, - p = t[1] - l, - d = e.site, - v = d[0] - f, - _ = d[1] - l, - y = 2 * (h * _ - p * v), - g = h * h + p * p, - m = v * v + _ * _, - x = [(_ * g - p * m) / y + f, (h * m - v * g) / y + l]; - zc(e.edge, s, d, x), c.edge = Ac(s, t, null, x), e.edge = Ac(t, d, null, x), Bc(n), Bc(e) - } else c.edge = Ac(n.site, c.site) - } - } - - function Zc(t, n) { - var e = t.site, - r = e[0], - i = e[1], - o = i - n; - if (!o) return r; - var u = t.P; - if (!u) return -1 / 0; - var a = (e = u.site)[0], - c = e[1], - s = c - n; - if (!s) return a; - var f = a - r, - l = 1 / o - 1 / s, - h = f / s; - return l ? (-h + Math.sqrt(h * h - 2 * l * (f * f / (-2 * s) - c + s / 2 + i - o / 2))) / l + r : (r + a) / 2 - } - - function Gc(t, n) { - var e = t.N; - if (e) return Zc(e, n); - var r = t.site; - return r[1] === n ? r[0] : 1 / 0 - } - - function Jc(t, n, e) { - return (t[0] - e[0]) * (n[1] - t[1]) - (t[0] - n[0]) * (e[1] - t[1]) - } - - function Qc(t, n) { - return n[1] - t[1] || n[0] - t[0] - } - - function Kc(t, n) { - var e, r, i, o = t.sort(Qc).pop(); - for (lm = [], sm = new Array(t.length), cm = new Tc, fm = new Tc;;) - if (i = am, o && (!i || o[1] < i.y || o[1] === i.y && o[0] < i.x)) o[0] === e && o[1] === r || (Wc(o), e = o[0], r = o[1]), o = t.pop(); - else { - if (!i) break; - Vc(i.arc) - } - if (Fc(), n) { - var u = +n[0][0], - a = +n[0][1], - c = +n[1][0], - s = +n[1][1]; - Lc(u, a, c, s), Ic(u, a, c, s) - } - this.edges = lm, this.cells = sm, cm = fm = lm = sm = null - } - - function ts(t, n, e) { - this.target = t, this.type = n, this.transform = e - } - - function ns(t, n, e) { - this.k = t, this.x = n, this.y = e - } - - function es(t) { - return t.__zoom || ym - } - - function rs() { - t.event.stopImmediatePropagation() - } - - function is() { - return !t.event.button - } - - function os() { - var t, n, e = this; - return e instanceof SVGElement ? (t = (e = e.ownerSVGElement || e).width.baseVal.value, n = e.height.baseVal.value) : (t = e.clientWidth, n = e.clientHeight), [ - [0, 0], - [t, n] - ] - } - - function us() { - return this.__zoom || ym - } - - function as() { - return -t.event.deltaY * (t.event.deltaMode ? 120 : 1) / 500 - } - - function cs() { - return "ontouchstart" in this - } - var ss = function (t, n) { - return t < n ? -1 : t > n ? 1 : t >= n ? 0 : NaN - }, - fs = function (t) { - return 1 === t.length && (t = n(t)), { - left: function (n, e, r, i) { - for (null == r && (r = 0), null == i && (i = n.length); r < i;) { - var o = r + i >>> 1; - t(n[o], e) < 0 ? r = o + 1 : i = o - } - return r - }, - right: function (n, e, r, i) { - for (null == r && (r = 0), null == i && (i = n.length); r < i;) { - var o = r + i >>> 1; - t(n[o], e) > 0 ? i = o : r = o + 1 - } - return r - } - } - }, - ls = fs(ss), - hs = ls.right, - ps = ls.left, - ds = function (t) { - return null === t ? NaN : +t - }, - vs = function (t, n) { - var e, r, i = t.length, - o = 0, - u = -1, - a = 0, - c = 0; - if (null == n) - for (; ++u < i;) isNaN(e = ds(t[u])) || (c += (r = e - a) * (e - (a += r / ++o))); - else - for (; ++u < i;) isNaN(e = ds(n(t[u], u, t))) || (c += (r = e - a) * (e - (a += r / ++o))); - if (o > 1) return c / (o - 1) - }, - _s = function (t, n) { - var e = vs(t, n); - return e ? Math.sqrt(e) : e - }, - ys = function (t, n) { - var e, r, i, o = t.length, - u = -1; - if (null == n) { - for (; ++u < o;) - if (null != (e = t[u]) && e >= e) - for (r = i = e; ++u < o;) null != (e = t[u]) && (r > e && (r = e), i < e && (i = e)) - } else - for (; ++u < o;) - if (null != (e = n(t[u], u, t)) && e >= e) - for (r = i = e; ++u < o;) null != (e = n(t[u], u, t)) && (r > e && (r = e), i < e && (i = e)); - return [r, i] - }, - gs = Array.prototype, - ms = gs.slice, - xs = gs.map, - bs = function (t) { - return function () { - return t - } - }, - ws = function (t) { - return t - }, - Ms = function (t, n, e) { - t = +t, n = +n, e = (i = arguments.length) < 2 ? (n = t, t = 0, 1) : i < 3 ? 1 : +e; - for (var r = -1, i = 0 | Math.max(0, Math.ceil((n - t) / e)), o = new Array(i); ++r < i;) o[r] = t + r * e; - return o - }, - Ts = Math.sqrt(50), - ks = Math.sqrt(10), - Ns = Math.sqrt(2), - Ss = function (t, n, e) { - var i, o, u, a = n < t, - c = -1; - if (a && (i = t, t = n, n = i), 0 === (u = r(t, n, e)) || !isFinite(u)) return []; - if (u > 0) - for (t = Math.ceil(t / u), n = Math.floor(n / u), o = new Array(i = Math.ceil(n - t + 1)); ++c < i;) o[c] = (t + c) * u; - else - for (t = Math.floor(t * u), n = Math.ceil(n * u), o = new Array(i = Math.ceil(t - n + 1)); ++c < i;) o[c] = (t - c) / u; - return a && o.reverse(), o - }, - Es = function (t) { - return Math.ceil(Math.log(t.length) / Math.LN2) + 1 - }, - As = function (t, n, e) { - if (null == e && (e = ds), r = t.length) { - if ((n = +n) <= 0 || r < 2) return +e(t[0], 0, t); - if (n >= 1) return +e(t[r - 1], r - 1, t); - var r, i = (r - 1) * n, - o = Math.floor(i), - u = +e(t[o], o, t); - return u + (+e(t[o + 1], o + 1, t) - u) * (i - o) - } - }, - Cs = function (t) { - for (var n, e, r, i = t.length, o = -1, u = 0; ++o < i;) u += t[o].length; - for (e = new Array(u); --i >= 0;) - for (n = (r = t[i]).length; --n >= 0;) e[--u] = r[n]; - return e - }, - zs = function (t, n) { - var e, r, i = t.length, - o = -1; - if (null == n) { - for (; ++o < i;) - if (null != (e = t[o]) && e >= e) - for (r = e; ++o < i;) null != (e = t[o]) && r > e && (r = e) - } else - for (; ++o < i;) - if (null != (e = n(t[o], o, t)) && e >= e) - for (r = e; ++o < i;) null != (e = n(t[o], o, t)) && r > e && (r = e); - return r - }, - Ps = function (t) { - if (!(i = t.length)) return []; - for (var n = -1, e = zs(t, o), r = new Array(e); ++n < e;) - for (var i, u = -1, a = r[n] = new Array(i); ++u < i;) a[u] = t[u][n]; - return r - }, - Rs = Array.prototype.slice, - Ls = function (t) { - return t - }, - qs = 1, - Us = 2, - Ds = 3, - Os = 4, - Fs = 1e-6, - Is = { - value: function () {} - }; - p.prototype = h.prototype = { - constructor: p, - on: function (t, n) { - var e, r = this._, - i = d(t + "", r), - o = -1, - u = i.length; { - if (!(arguments.length < 2)) { - if (null != n && "function" != typeof n) throw new Error("invalid callback: " + n); - for (; ++o < u;) - if (e = (t = i[o]).type) r[e] = _(r[e], t.name, n); - else if (null == n) - for (e in r) r[e] = _(r[e], t.name, null); - return this - } - for (; ++o < u;) - if ((e = (t = i[o]).type) && (e = v(r[e], t.name))) return e - } - }, - copy: function () { - var t = {}, - n = this._; - for (var e in n) t[e] = n[e].slice(); - return new p(t) - }, - call: function (t, n) { - if ((e = arguments.length - 2) > 0) - for (var e, r, i = new Array(e), o = 0; o < e; ++o) i[o] = arguments[o + 2]; - if (!this._.hasOwnProperty(t)) throw new Error("unknown type: " + t); - for (o = 0, e = (r = this._[t]).length; o < e; ++o) r[o].value.apply(n, i) - }, - apply: function (t, n, e) { - if (!this._.hasOwnProperty(t)) throw new Error("unknown type: " + t); - for (var r = this._[t], i = 0, o = r.length; i < o; ++i) r[i].value.apply(n, e) - } - }; - var Ys = "http://www.w3.org/1999/xhtml", - Bs = { - svg: "http://www.w3.org/2000/svg", - xhtml: Ys, - xlink: "http://www.w3.org/1999/xlink", - xml: "http://www.w3.org/XML/1998/namespace", - xmlns: "http://www.w3.org/2000/xmlns/" - }, - js = function (t) { - var n = t += "", - e = n.indexOf(":"); - return e >= 0 && "xmlns" !== (n = t.slice(0, e)) && (t = t.slice(e + 1)), Bs.hasOwnProperty(n) ? { - space: Bs[n], - local: t - } : t - }, - Hs = function (t) { - var n = js(t); - return (n.local ? g : y)(n) - }, - Xs = 0; - x.prototype = m.prototype = { - constructor: x, - get: function (t) { - for (var n = this._; !(n in t);) - if (!(t = t.parentNode)) return; - return t[n] - }, - set: function (t, n) { - return t[this._] = n - }, - remove: function (t) { - return this._ in t && delete t[this._] - }, - toString: function () { - return this._ - } - }; - var $s = function (t) { - return function () { - return this.matches(t) - } - }; - if ("undefined" != typeof document) { - var Vs = document.documentElement; - if (!Vs.matches) { - var Ws = Vs.webkitMatchesSelector || Vs.msMatchesSelector || Vs.mozMatchesSelector || Vs.oMatchesSelector; - $s = function (t) { - return function () { - return Ws.call(this, t) - } - } - } - } - var Zs = $s, - Gs = {}; - t.event = null, "undefined" != typeof document && ("onmouseenter" in document.documentElement || (Gs = { - mouseenter: "mouseover", - mouseleave: "mouseout" - })); - var Js = function () { - for (var n, e = t.event; n = e.sourceEvent;) e = n; - return e - }, - Qs = function (t, n) { - var e = t.ownerSVGElement || t; - if (e.createSVGPoint) { - var r = e.createSVGPoint(); - return r.x = n.clientX, r.y = n.clientY, r = r.matrixTransform(t.getScreenCTM().inverse()), [r.x, r.y] - } - var i = t.getBoundingClientRect(); - return [n.clientX - i.left - t.clientLeft, n.clientY - i.top - t.clientTop] - }, - Ks = function (t) { - var n = Js(); - return n.changedTouches && (n = n.changedTouches[0]), Qs(t, n) - }, - tf = function (t) { - return null == t ? S : function () { - return this.querySelector(t) - } - }, - nf = function (t) { - return null == t ? E : function () { - return this.querySelectorAll(t) - } - }, - ef = function (t) { - return new Array(t.length) - }; - A.prototype = { - constructor: A, - appendChild: function (t) { - return this._parent.insertBefore(t, this._next) - }, - insertBefore: function (t, n) { - return this._parent.insertBefore(t, n) - }, - querySelector: function (t) { - return this._parent.querySelector(t) - }, - querySelectorAll: function (t) { - return this._parent.querySelectorAll(t) - } - }; - var rf = function (t) { - return function () { - return t - } - }, - of = "$", - uf = function (t) { - return t.ownerDocument && t.ownerDocument.defaultView || t.document && t || t.defaultView - }; - W.prototype = { - add: function (t) { - this._names.indexOf(t) < 0 && (this._names.push(t), this._node.setAttribute("class", this._names.join(" "))) - }, - remove: function (t) { - var n = this._names.indexOf(t); - n >= 0 && (this._names.splice(n, 1), this._node.setAttribute("class", this._names.join(" "))) - }, - contains: function (t) { - return this._names.indexOf(t) >= 0 - } - }; - var af = [null]; - pt.prototype = dt.prototype = { - constructor: pt, - select: function (t) { - "function" != typeof t && (t = tf(t)); - for (var n = this._groups, e = n.length, r = new Array(e), i = 0; i < e; ++i) - for (var o, u, a = n[i], c = a.length, s = r[i] = new Array(c), f = 0; f < c; ++f)(o = a[f]) && (u = t.call(o, o.__data__, f, a)) && ("__data__" in o && (u.__data__ = o.__data__), s[f] = u); - return new pt(r, this._parents) - }, - selectAll: function (t) { - "function" != typeof t && (t = nf(t)); - for (var n = this._groups, e = n.length, r = [], i = [], o = 0; o < e; ++o) - for (var u, a = n[o], c = a.length, s = 0; s < c; ++s)(u = a[s]) && (r.push(t.call(u, u.__data__, s, a)), i.push(u)); - return new pt(r, i) - }, - filter: function (t) { - "function" != typeof t && (t = Zs(t)); - for (var n = this._groups, e = n.length, r = new Array(e), i = 0; i < e; ++i) - for (var o, u = n[i], a = u.length, c = r[i] = [], s = 0; s < a; ++s)(o = u[s]) && t.call(o, o.__data__, s, u) && c.push(o); - return new pt(r, this._parents) - }, - data: function (t, n) { - if (!t) return p = new Array(this.size()), s = -1, this.each(function (t) { - p[++s] = t - }), p; - var e = n ? z : C, - r = this._parents, - i = this._groups; - "function" != typeof t && (t = rf(t)); - for (var o = i.length, u = new Array(o), a = new Array(o), c = new Array(o), s = 0; s < o; ++s) { - var f = r[s], - l = i[s], - h = l.length, - p = t.call(f, f && f.__data__, s, r), - d = p.length, - v = a[s] = new Array(d), - _ = u[s] = new Array(d); - e(f, l, v, _, c[s] = new Array(h), p, n); - for (var y, g, m = 0, x = 0; m < d; ++m) - if (y = v[m]) { - for (m >= x && (x = m + 1); !(g = _[x]) && ++x < d;); - y._next = g || null - } - } - return u = new pt(u, r), u._enter = a, u._exit = c, u - }, - enter: function () { - return new pt(this._enter || this._groups.map(ef), this._parents) - }, - exit: function () { - return new pt(this._exit || this._groups.map(ef), this._parents) - }, - merge: function (t) { - for (var n = this._groups, e = t._groups, r = n.length, i = e.length, o = Math.min(r, i), u = new Array(r), a = 0; a < o; ++a) - for (var c, s = n[a], f = e[a], l = s.length, h = u[a] = new Array(l), p = 0; p < l; ++p)(c = s[p] || f[p]) && (h[p] = c); - for (; a < r; ++a) u[a] = n[a]; - return new pt(u, this._parents) - }, - order: function () { - for (var t = this._groups, n = -1, e = t.length; ++n < e;) - for (var r, i = t[n], o = i.length - 1, u = i[o]; --o >= 0;)(r = i[o]) && (u && u !== r.nextSibling && u.parentNode.insertBefore(r, u), u = r); - return this - }, - sort: function (t) { - t || (t = P); - for (var n = this._groups, e = n.length, r = new Array(e), i = 0; i < e; ++i) { - for (var o, u = n[i], a = u.length, c = r[i] = new Array(a), s = 0; s < a; ++s)(o = u[s]) && (c[s] = o); - c.sort(function (n, e) { - return n && e ? t(n.__data__, e.__data__) : !n - !e - }) - } - return new pt(r, this._parents).order() - }, - call: function () { - var t = arguments[0]; - return arguments[0] = this, t.apply(null, arguments), this - }, - nodes: function () { - var t = new Array(this.size()), - n = -1; - return this.each(function () { - t[++n] = this - }), t - }, - node: function () { - for (var t = this._groups, n = 0, e = t.length; n < e; ++n) - for (var r = t[n], i = 0, o = r.length; i < o; ++i) { - var u = r[i]; - if (u) return u - } - return null - }, - size: function () { - var t = 0; - return this.each(function () { - ++t - }), t - }, - empty: function () { - return !this.node() - }, - each: function (t) { - for (var n = this._groups, e = 0, r = n.length; e < r; ++e) - for (var i, o = n[e], u = 0, a = o.length; u < a; ++u)(i = o[u]) && t.call(i, i.__data__, u, o); - return this - }, - attr: function (t, n) { - var e = js(t); - if (arguments.length < 2) { - var r = this.node(); - return e.local ? r.getAttributeNS(e.space, e.local) : r.getAttribute(e) - } - return this.each((null == n ? e.local ? L : R : "function" == typeof n ? e.local ? O : D : e.local ? U : q)(e, n)) - }, - style: function (t, n, e) { - return arguments.length > 1 ? this.each((null == n ? F : "function" == typeof n ? Y : I)(t, n, null == e ? "" : e)) : B(this.node(), t) - }, - property: function (t, n) { - return arguments.length > 1 ? this.each((null == n ? j : "function" == typeof n ? X : H)(t, n)) : this.node()[t] - }, - classed: function (t, n) { - var e = $(t + ""); - if (arguments.length < 2) { - for (var r = V(this.node()), i = -1, o = e.length; ++i < o;) - if (!r.contains(e[i])) return !1; - return !0 - } - return this.each(("function" == typeof n ? K : n ? J : Q)(e, n)) - }, - text: function (t) { - return arguments.length ? this.each(null == t ? tt : ("function" == typeof t ? et : nt)(t)) : this.node().textContent - }, - html: function (t) { - return arguments.length ? this.each(null == t ? rt : ("function" == typeof t ? ot : it)(t)) : this.node().innerHTML - }, - raise: function () { - return this.each(ut) - }, - lower: function () { - return this.each(at) - }, - append: function (t) { - var n = "function" == typeof t ? t : Hs(t); - return this.select(function () { - return this.appendChild(n.apply(this, arguments)) - }) - }, - insert: function (t, n) { - var e = "function" == typeof t ? t : Hs(t), - r = null == n ? ct : "function" == typeof n ? n : tf(n); - return this.select(function () { - return this.insertBefore(e.apply(this, arguments), r.apply(this, arguments) || null) - }) - }, - remove: function () { - return this.each(st) - }, - datum: function (t) { - return arguments.length ? this.property("__data__", t) : this.node().__data__ - }, - on: function (t, n, e) { - var r, i, o = M(t + ""), - u = o.length; { - if (!(arguments.length < 2)) { - for (a = n ? k : T, null == e && (e = !1), r = 0; r < u; ++r) this.each(a(o[r], n, e)); - return this - } - var a = this.node().__on; - if (a) - for (var c, s = 0, f = a.length; s < f; ++s) - for (r = 0, c = a[s]; r < u; ++r) - if ((i = o[r]).type === c.type && i.name === c.name) return c.value - } - }, - dispatch: function (t, n) { - return this.each(("function" == typeof n ? ht : lt)(t, n)) - } - }; - var cf = function (t) { - return "string" == typeof t ? new pt([ - [document.querySelector(t)] - ], [document.documentElement]) : new pt([ - [t] - ], af) - }, - sf = function (t, n, e) { - arguments.length < 3 && (e = n, n = Js().changedTouches); - for (var r, i = 0, o = n ? n.length : 0; i < o; ++i) - if ((r = n[i]).identifier === e) return Qs(t, r); - return null - }, - ff = function () { - t.event.preventDefault(), t.event.stopImmediatePropagation() - }, - lf = function (t) { - var n = t.document.documentElement, - e = cf(t).on("dragstart.drag", ff, !0); - "onselectstart" in n ? e.on("selectstart.drag", ff, !0) : (n.__noselect = n.style.MozUserSelect, n.style.MozUserSelect = "none") - }, - hf = function (t) { - return function () { - return t - } - }; - yt.prototype.on = function () { - var t = this._.on.apply(this._, arguments); - return t === this._ ? this : t - }; - var pf = function (t, n, e) { - t.prototype = n.prototype = e, e.constructor = t - }, - df = "\\s*([+-]?\\d+)\\s*", - vf = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*", - _f = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*", - yf = /^#([0-9a-f]{3})$/, - gf = /^#([0-9a-f]{6})$/, - mf = new RegExp("^rgb\\(" + [df, df, df] + "\\)$"), - xf = new RegExp("^rgb\\(" + [_f, _f, _f] + "\\)$"), - bf = new RegExp("^rgba\\(" + [df, df, df, vf] + "\\)$"), - wf = new RegExp("^rgba\\(" + [_f, _f, _f, vf] + "\\)$"), - Mf = new RegExp("^hsl\\(" + [vf, _f, _f] + "\\)$"), - Tf = new RegExp("^hsla\\(" + [vf, _f, _f, vf] + "\\)$"), - kf = { - aliceblue: 15792383, - antiquewhite: 16444375, - aqua: 65535, - aquamarine: 8388564, - azure: 15794175, - beige: 16119260, - bisque: 16770244, - black: 0, - blanchedalmond: 16772045, - blue: 255, - blueviolet: 9055202, - brown: 10824234, - burlywood: 14596231, - cadetblue: 6266528, - chartreuse: 8388352, - chocolate: 13789470, - coral: 16744272, - cornflowerblue: 6591981, - cornsilk: 16775388, - crimson: 14423100, - cyan: 65535, - darkblue: 139, - darkcyan: 35723, - darkgoldenrod: 12092939, - darkgray: 11119017, - darkgreen: 25600, - darkgrey: 11119017, - darkkhaki: 12433259, - darkmagenta: 9109643, - darkolivegreen: 5597999, - darkorange: 16747520, - darkorchid: 10040012, - darkred: 9109504, - darksalmon: 15308410, - darkseagreen: 9419919, - darkslateblue: 4734347, - darkslategray: 3100495, - darkslategrey: 3100495, - darkturquoise: 52945, - darkviolet: 9699539, - deeppink: 16716947, - deepskyblue: 49151, - dimgray: 6908265, - dimgrey: 6908265, - dodgerblue: 2003199, - firebrick: 11674146, - floralwhite: 16775920, - forestgreen: 2263842, - fuchsia: 16711935, - gainsboro: 14474460, - ghostwhite: 16316671, - gold: 16766720, - goldenrod: 14329120, - gray: 8421504, - green: 32768, - greenyellow: 11403055, - grey: 8421504, - honeydew: 15794160, - hotpink: 16738740, - indianred: 13458524, - indigo: 4915330, - ivory: 16777200, - khaki: 15787660, - lavender: 15132410, - lavenderblush: 16773365, - lawngreen: 8190976, - lemonchiffon: 16775885, - lightblue: 11393254, - lightcoral: 15761536, - lightcyan: 14745599, - lightgoldenrodyellow: 16448210, - lightgray: 13882323, - lightgreen: 9498256, - lightgrey: 13882323, - lightpink: 16758465, - lightsalmon: 16752762, - lightseagreen: 2142890, - lightskyblue: 8900346, - lightslategray: 7833753, - lightslategrey: 7833753, - lightsteelblue: 11584734, - lightyellow: 16777184, - lime: 65280, - limegreen: 3329330, - linen: 16445670, - magenta: 16711935, - maroon: 8388608, - mediumaquamarine: 6737322, - mediumblue: 205, - mediumorchid: 12211667, - mediumpurple: 9662683, - mediumseagreen: 3978097, - mediumslateblue: 8087790, - mediumspringgreen: 64154, - mediumturquoise: 4772300, - mediumvioletred: 13047173, - midnightblue: 1644912, - mintcream: 16121850, - mistyrose: 16770273, - moccasin: 16770229, - navajowhite: 16768685, - navy: 128, - oldlace: 16643558, - olive: 8421376, - olivedrab: 7048739, - orange: 16753920, - orangered: 16729344, - orchid: 14315734, - palegoldenrod: 15657130, - palegreen: 10025880, - paleturquoise: 11529966, - palevioletred: 14381203, - papayawhip: 16773077, - peachpuff: 16767673, - peru: 13468991, - pink: 16761035, - plum: 14524637, - powderblue: 11591910, - purple: 8388736, - rebeccapurple: 6697881, - red: 16711680, - rosybrown: 12357519, - royalblue: 4286945, - saddlebrown: 9127187, - salmon: 16416882, - sandybrown: 16032864, - seagreen: 3050327, - seashell: 16774638, - sienna: 10506797, - silver: 12632256, - skyblue: 8900331, - slateblue: 6970061, - slategray: 7372944, - slategrey: 7372944, - snow: 16775930, - springgreen: 65407, - steelblue: 4620980, - tan: 13808780, - teal: 32896, - thistle: 14204888, - tomato: 16737095, - turquoise: 4251856, - violet: 15631086, - wheat: 16113331, - white: 16777215, - whitesmoke: 16119285, - yellow: 16776960, - yellowgreen: 10145074 - }; - pf(Mt, Tt, { - displayable: function () { - return this.rgb().displayable() - }, - toString: function () { - return this.rgb() + "" - } - }), pf(At, Et, wt(Mt, { - brighter: function (t) { - return t = null == t ? 1 / .7 : Math.pow(1 / .7, t), new At(this.r * t, this.g * t, this.b * t, this.opacity) - }, - darker: function (t) { - return t = null == t ? .7 : Math.pow(.7, t), new At(this.r * t, this.g * t, this.b * t, this.opacity) - }, - rgb: function () { - return this - }, - displayable: function () { - return 0 <= this.r && this.r <= 255 && 0 <= this.g && this.g <= 255 && 0 <= this.b && this.b <= 255 && 0 <= this.opacity && this.opacity <= 1 - }, - toString: function () { - var t = this.opacity; - return (1 === (t = isNaN(t) ? 1 : Math.max(0, Math.min(1, t))) ? "rgb(" : "rgba(") + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + ", " + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + ", " + Math.max(0, Math.min(255, Math.round(this.b) || 0)) + (1 === t ? ")" : ", " + t + ")") - } - })), pf(Rt, Pt, wt(Mt, { - brighter: function (t) { - return t = null == t ? 1 / .7 : Math.pow(1 / .7, t), new Rt(this.h, this.s, this.l * t, this.opacity) - }, - darker: function (t) { - return t = null == t ? .7 : Math.pow(.7, t), new Rt(this.h, this.s, this.l * t, this.opacity) - }, - rgb: function () { - var t = this.h % 360 + 360 * (this.h < 0), - n = isNaN(t) || isNaN(this.s) ? 0 : this.s, - e = this.l, - r = e + (e < .5 ? e : 1 - e) * n, - i = 2 * e - r; - return new At(Lt(t >= 240 ? t - 240 : t + 120, i, r), Lt(t, i, r), Lt(t < 120 ? t + 240 : t - 120, i, r), this.opacity) - }, - displayable: function () { - return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && 0 <= this.l && this.l <= 1 && 0 <= this.opacity && this.opacity <= 1 - } - })); - var Nf = Math.PI / 180, - Sf = 180 / Math.PI, - Ef = .95047, - Af = 1, - Cf = 1.08883, - zf = 4 / 29, - Pf = 6 / 29, - Rf = 3 * Pf * Pf, - Lf = Pf * Pf * Pf; - pf(Dt, Ut, wt(Mt, { - brighter: function (t) { - return new Dt(this.l + 18 * (null == t ? 1 : t), this.a, this.b, this.opacity) - }, - darker: function (t) { - return new Dt(this.l - 18 * (null == t ? 1 : t), this.a, this.b, this.opacity) - }, - rgb: function () { - var t = (this.l + 16) / 116, - n = isNaN(this.a) ? t : t + this.a / 500, - e = isNaN(this.b) ? t : t - this.b / 200; - return t = Af * Ft(t), n = Ef * Ft(n), e = Cf * Ft(e), new At(It(3.2404542 * n - 1.5371385 * t - .4985314 * e), It(-.969266 * n + 1.8760108 * t + .041556 * e), It(.0556434 * n - .2040259 * t + 1.0572252 * e), this.opacity) - } - })), pf(Ht, jt, wt(Mt, { - brighter: function (t) { - return new Ht(this.h, this.c, this.l + 18 * (null == t ? 1 : t), this.opacity) - }, - darker: function (t) { - return new Ht(this.h, this.c, this.l - 18 * (null == t ? 1 : t), this.opacity) - }, - rgb: function () { - return qt(this).rgb() - } - })); - var qf = -.14861, - Uf = 1.78277, - Df = -.29227, - Of = -.90649, - Ff = 1.97294, - If = Ff * Of, - Yf = Ff * Uf, - Bf = Uf * Df - Of * qf; - pf(Vt, $t, wt(Mt, { - brighter: function (t) { - return t = null == t ? 1 / .7 : Math.pow(1 / .7, t), new Vt(this.h, this.s, this.l * t, this.opacity) - }, - darker: function (t) { - return t = null == t ? .7 : Math.pow(.7, t), new Vt(this.h, this.s, this.l * t, this.opacity) - }, - rgb: function () { - var t = isNaN(this.h) ? 0 : (this.h + 120) * Nf, - n = +this.l, - e = isNaN(this.s) ? 0 : this.s * n * (1 - n), - r = Math.cos(t), - i = Math.sin(t); - return new At(255 * (n + e * (qf * r + Uf * i)), 255 * (n + e * (Df * r + Of * i)), 255 * (n + e * (Ff * r)), this.opacity) - } - })); - var jf, Hf, Xf, $f, Vf, Wf, Zf = function (t) { - var n = t.length - 1; - return function (e) { - var r = e <= 0 ? e = 0 : e >= 1 ? (e = 1, n - 1) : Math.floor(e * n), - i = t[r], - o = t[r + 1], - u = r > 0 ? t[r - 1] : 2 * i - o, - a = r < n - 1 ? t[r + 2] : 2 * o - i; - return Wt((e - r / n) * n, u, i, o, a) - } - }, - Gf = function (t) { - var n = t.length; - return function (e) { - var r = Math.floor(((e %= 1) < 0 ? ++e : e) * n), - i = t[(r + n - 1) % n], - o = t[r % n], - u = t[(r + 1) % n], - a = t[(r + 2) % n]; - return Wt((e - r / n) * n, i, o, u, a) - } - }, - Jf = function (t) { - return function () { - return t - } - }, - Qf = function t(n) { - function e(t, n) { - var e = r((t = Et(t)).r, (n = Et(n)).r), - i = r(t.g, n.g), - o = r(t.b, n.b), - u = Kt(t.opacity, n.opacity); - return function (n) { - return t.r = e(n), t.g = i(n), t.b = o(n), t.opacity = u(n), t + "" - } - } - var r = Qt(n); - return e.gamma = t, e - }(1), - Kf = tn(Zf), - tl = tn(Gf), - nl = function (t, n) { - var e, r = n ? n.length : 0, - i = t ? Math.min(r, t.length) : 0, - o = new Array(r), - u = new Array(r); - for (e = 0; e < i; ++e) o[e] = cl(t[e], n[e]); - for (; e < r; ++e) u[e] = n[e]; - return function (t) { - for (e = 0; e < i; ++e) u[e] = o[e](t); - return u - } - }, - el = function (t, n) { - var e = new Date; - return t = +t, n -= t, - function (r) { - return e.setTime(t + n * r), e - } - }, - rl = function (t, n) { - return t = +t, n -= t, - function (e) { - return t + n * e - } - }, - il = function (t, n) { - var e, r = {}, - i = {}; - null !== t && "object" == typeof t || (t = {}), null !== n && "object" == typeof n || (n = {}); - for (e in n) e in t ? r[e] = cl(t[e], n[e]) : i[e] = n[e]; - return function (t) { - for (e in r) i[e] = r[e](t); - return i - } - }, - ol = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, - ul = new RegExp(ol.source, "g"), - al = function (t, n) { - var e, r, i, o = ol.lastIndex = ul.lastIndex = 0, - u = -1, - a = [], - c = []; - for (t += "", n += ""; - (e = ol.exec(t)) && (r = ul.exec(n));)(i = r.index) > o && (i = n.slice(o, i), a[u] ? a[u] += i : a[++u] = i), (e = e[0]) === (r = r[0]) ? a[u] ? a[u] += r : a[++u] = r : (a[++u] = null, c.push({ - i: u, - x: rl(e, r) - })), o = ul.lastIndex; - return o < n.length && (i = n.slice(o), a[u] ? a[u] += i : a[++u] = i), a.length < 2 ? c[0] ? en(c[0].x) : nn(n) : (n = c.length, function (t) { - for (var e, r = 0; r < n; ++r) a[(e = c[r]).i] = e.x(t); - return a.join("") - }) - }, - cl = function (t, n) { - var e, r = typeof n; - return null == n || "boolean" === r ? Jf(n) : ("number" === r ? rl : "string" === r ? (e = Tt(n)) ? (n = e, Qf) : al : n instanceof Tt ? Qf : n instanceof Date ? el : Array.isArray(n) ? nl : "function" != typeof n.valueOf && "function" != typeof n.toString || isNaN(n) ? il : rl)(t, n) - }, - sl = function (t, n) { - return t = +t, n -= t, - function (e) { - return Math.round(t + n * e) - } - }, - fl = 180 / Math.PI, - ll = { - translateX: 0, - translateY: 0, - rotate: 0, - skewX: 0, - scaleX: 1, - scaleY: 1 - }, - hl = function (t, n, e, r, i, o) { - var u, a, c; - return (u = Math.sqrt(t * t + n * n)) && (t /= u, n /= u), (c = t * e + n * r) && (e -= t * c, r -= n * c), (a = Math.sqrt(e * e + r * r)) && (e /= a, r /= a, c /= a), t * r < n * e && (t = -t, n = -n, c = -c, u = -u), { - translateX: i, - translateY: o, - rotate: Math.atan2(n, t) * fl, - skewX: Math.atan(c) * fl, - scaleX: u, - scaleY: a - } - }, - pl = rn(function (t) { - return "none" === t ? ll : (jf || (jf = document.createElement("DIV"), Hf = document.documentElement, Xf = document.defaultView), jf.style.transform = t, t = Xf.getComputedStyle(Hf.appendChild(jf), null).getPropertyValue("transform"), Hf.removeChild(jf), t = t.slice(7, -1).split(","), hl(+t[0], +t[1], +t[2], +t[3], +t[4], +t[5])) - }, "px, ", "px)", "deg)"), - dl = rn(function (t) { - return null == t ? ll : ($f || ($f = document.createElementNS("http://www.w3.org/2000/svg", "g")), $f.setAttribute("transform", t), (t = $f.transform.baseVal.consolidate()) ? (t = t.matrix, hl(t.a, t.b, t.c, t.d, t.e, t.f)) : ll) - }, ", ", ")", ")"), - vl = Math.SQRT2, - _l = function (t, n) { - var e, r, i = t[0], - o = t[1], - u = t[2], - a = n[0], - c = n[1], - s = n[2], - f = a - i, - l = c - o, - h = f * f + l * l; - if (h < 1e-12) r = Math.log(s / u) / vl, e = function (t) { - return [i + t * f, o + t * l, u * Math.exp(vl * t * r)] - }; - else { - var p = Math.sqrt(h), - d = (s * s - u * u + 4 * h) / (2 * u * 2 * p), - v = (s * s - u * u - 4 * h) / (2 * s * 2 * p), - _ = Math.log(Math.sqrt(d * d + 1) - d), - y = Math.log(Math.sqrt(v * v + 1) - v); - r = (y - _) / vl, e = function (t) { - var n = t * r, - e = on(_), - a = u / (2 * p) * (e * an(vl * n + _) - un(_)); - return [i + a * f, o + a * l, u * e / on(vl * n + _)] - } - } - return e.duration = 1e3 * r, e - }, - yl = cn(Jt), - gl = cn(Kt), - ml = sn(Jt), - xl = sn(Kt), - bl = fn(Jt), - wl = fn(Kt), - Ml = 0, - Tl = 0, - kl = 0, - Nl = 1e3, - Sl = 0, - El = 0, - Al = 0, - Cl = "object" == typeof performance && performance.now ? performance : Date, - zl = "object" == typeof window && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function (t) { - setTimeout(t, 17) - }; - pn.prototype = dn.prototype = { - constructor: pn, - restart: function (t, n, e) { - if ("function" != typeof t) throw new TypeError("callback is not a function"); - e = (null == e ? ln() : +e) + (null == n ? 0 : +n), this._next || Wf === this || (Wf ? Wf._next = this : Vf = this, Wf = this), this._call = t, this._time = e, mn() - }, - stop: function () { - this._call && (this._call = null, this._time = 1 / 0, mn()) - } - }; - var Pl = function (t, n, e) { - var r = new pn; - return n = null == n ? 0 : +n, r.restart(function (e) { - r.stop(), t(e + n) - }, n, e), r - }, - Rl = h("start", "end", "interrupt"), - Ll = [], - ql = 0, - Ul = 1, - Dl = 2, - Ol = 3, - Fl = 4, - Il = 5, - Yl = 6, - Bl = function (t, n, e, r, i, o) { - var u = t.__transition; - if (u) { - if (e in u) return - } else t.__transition = {}; - Mn(t, e, { - name: n, - index: r, - group: i, - on: Rl, - tween: Ll, - time: o.time, - delay: o.delay, - duration: o.duration, - ease: o.ease, - timer: null, - state: ql - }) - }, - jl = function (t, n) { - var e, r, i, o = t.__transition, - u = !0; - if (o) { - n = null == n ? null : n + ""; - for (i in o)(e = o[i]).name === n ? (r = e.state > Dl && e.state < Il, e.state = Yl, e.timer.stop(), r && e.on.call("interrupt", t, t.__data__, e.index, e.group), delete o[i]) : u = !1; - u && delete t.__transition - } - }, - Hl = function (t, n) { - var e; - return ("number" == typeof n ? rl : n instanceof Tt ? Qf : (e = Tt(n)) ? (n = e, Qf) : al)(t, n) - }, - Xl = dt.prototype.constructor, - $l = 0, - Vl = dt.prototype; - Gn.prototype = Jn.prototype = { - constructor: Gn, - select: function (t) { - var n = this._name, - e = this._id; - "function" != typeof t && (t = tf(t)); - for (var r = this._groups, i = r.length, o = new Array(i), u = 0; u < i; ++u) - for (var a, c, s = r[u], f = s.length, l = o[u] = new Array(f), h = 0; h < f; ++h)(a = s[h]) && (c = t.call(a, a.__data__, h, s)) && ("__data__" in a && (c.__data__ = a.__data__), l[h] = c, Bl(l[h], n, e, h, l, wn(a, e))); - return new Gn(o, this._parents, n, e) - }, - selectAll: function (t) { - var n = this._name, - e = this._id; - "function" != typeof t && (t = nf(t)); - for (var r = this._groups, i = r.length, o = [], u = [], a = 0; a < i; ++a) - for (var c, s = r[a], f = s.length, l = 0; l < f; ++l) - if (c = s[l]) { - for (var h, p = t.call(c, c.__data__, l, s), d = wn(c, e), v = 0, _ = p.length; v < _; ++v)(h = p[v]) && Bl(h, n, e, v, p, d); - o.push(p), u.push(c) - } - return new Gn(o, u, n, e) - }, - filter: function (t) { - "function" != typeof t && (t = Zs(t)); - for (var n = this._groups, e = n.length, r = new Array(e), i = 0; i < e; ++i) - for (var o, u = n[i], a = u.length, c = r[i] = [], s = 0; s < a; ++s)(o = u[s]) && t.call(o, o.__data__, s, u) && c.push(o); - return new Gn(r, this._parents, this._name, this._id) - }, - merge: function (t) { - if (t._id !== this._id) throw new Error; - for (var n = this._groups, e = t._groups, r = n.length, i = e.length, o = Math.min(r, i), u = new Array(r), a = 0; a < o; ++a) - for (var c, s = n[a], f = e[a], l = s.length, h = u[a] = new Array(l), p = 0; p < l; ++p)(c = s[p] || f[p]) && (h[p] = c); - for (; a < r; ++a) u[a] = n[a]; - return new Gn(u, this._parents, this._name, this._id) - }, - selection: function () { - return new Xl(this._groups, this._parents) - }, - transition: function () { - for (var t = this._name, n = this._id, e = Qn(), r = this._groups, i = r.length, o = 0; o < i; ++o) - for (var u, a = r[o], c = a.length, s = 0; s < c; ++s) - if (u = a[s]) { - var f = wn(u, n); - Bl(u, t, e, s, a, { - time: f.time + f.delay + f.duration, - delay: 0, - duration: f.duration, - ease: f.ease - }) - } - return new Gn(r, this._parents, t, e) - }, - call: Vl.call, - nodes: Vl.nodes, - node: Vl.node, - size: Vl.size, - empty: Vl.empty, - each: Vl.each, - on: function (t, n) { - var e = this._id; - return arguments.length < 2 ? wn(this.node(), e).on.on(t) : this.each(Yn(e, t, n)) - }, - attr: function (t, n) { - var e = js(t), - r = "transform" === e ? dl : Hl; - return this.attrTween(t, "function" == typeof n ? (e.local ? Pn : zn)(e, r, Nn(this, "attr." + t, n)) : null == n ? (e.local ? En : Sn)(e) : (e.local ? Cn : An)(e, r, n + "")) - }, - attrTween: function (t, n) { - var e = "attr." + t; - if (arguments.length < 2) return (e = this.tween(e)) && e._value; - if (null == n) return this.tween(e, null); - if ("function" != typeof n) throw new Error; - var r = js(t); - return this.tween(e, (r.local ? Rn : Ln)(r, n)) - }, - style: function (t, n, e) { - var r = "transform" == (t += "") ? pl : Hl; - return null == n ? this.styleTween(t, jn(t, r)).on("end.style." + t, Hn(t)) : this.styleTween(t, "function" == typeof n ? $n(t, r, Nn(this, "style." + t, n)) : Xn(t, r, n + ""), e) - }, - styleTween: function (t, n, e) { - var r = "style." + (t += ""); - if (arguments.length < 2) return (r = this.tween(r)) && r._value; - if (null == n) return this.tween(r, null); - if ("function" != typeof n) throw new Error; - return this.tween(r, Vn(t, n, null == e ? "" : e)) - }, - text: function (t) { - return this.tween("text", "function" == typeof t ? Zn(Nn(this, "text", t)) : Wn(null == t ? "" : t + "")) - }, - remove: function () { - return this.on("end.remove", Bn(this._id)) - }, - tween: function (t, n) { - var e = this._id; - if (t += "", arguments.length < 2) { - for (var r, i = wn(this.node(), e).tween, o = 0, u = i.length; o < u; ++o) - if ((r = i[o]).name === t) return r.value; - return null - } - return this.each((null == n ? Tn : kn)(e, t, n)) - }, - delay: function (t) { - var n = this._id; - return arguments.length ? this.each(("function" == typeof t ? qn : Un)(n, t)) : wn(this.node(), n).delay - }, - duration: function (t) { - var n = this._id; - return arguments.length ? this.each(("function" == typeof t ? Dn : On)(n, t)) : wn(this.node(), n).duration - }, - ease: function (t) { - var n = this._id; - return arguments.length ? this.each(Fn(n, t)) : wn(this.node(), n).ease - } - }; - var Wl = function t(n) { - function e(t) { - return Math.pow(t, n) - } - return n = +n, e.exponent = t, e - }(3), - Zl = function t(n) { - function e(t) { - return 1 - Math.pow(1 - t, n) - } - return n = +n, e.exponent = t, e - }(3), - Gl = function t(n) { - function e(t) { - return ((t *= 2) <= 1 ? Math.pow(t, n) : 2 - Math.pow(2 - t, n)) / 2 - } - return n = +n, e.exponent = t, e - }(3), - Jl = Math.PI, - Ql = Jl / 2, - Kl = 4 / 11, - th = 6 / 11, - nh = 8 / 11, - eh = .75, - rh = 9 / 11, - ih = 10 / 11, - oh = .9375, - uh = 21 / 22, - ah = 63 / 64, - ch = 1 / Kl / Kl, - sh = function t(n) { - function e(t) { - return t * t * ((n + 1) * t - n) - } - return n = +n, e.overshoot = t, e - }(1.70158), - fh = function t(n) { - function e(t) { - return --t * t * ((n + 1) * t + n) + 1 - } - return n = +n, e.overshoot = t, e - }(1.70158), - lh = function t(n) { - function e(t) { - return ((t *= 2) < 1 ? t * t * ((n + 1) * t - n) : (t -= 2) * t * ((n + 1) * t + n) + 2) / 2 - } - return n = +n, e.overshoot = t, e - }(1.70158), - hh = 2 * Math.PI, - ph = function t(n, e) { - function r(t) { - return n * Math.pow(2, 10 * --t) * Math.sin((i - t) / e) - } - var i = Math.asin(1 / (n = Math.max(1, n))) * (e /= hh); - return r.amplitude = function (n) { - return t(n, e * hh) - }, r.period = function (e) { - return t(n, e) - }, r - }(1, .3), - dh = function t(n, e) { - function r(t) { - return 1 - n * Math.pow(2, -10 * (t = +t)) * Math.sin((t + i) / e) - } - var i = Math.asin(1 / (n = Math.max(1, n))) * (e /= hh); - return r.amplitude = function (n) { - return t(n, e * hh) - }, r.period = function (e) { - return t(n, e) - }, r - }(1, .3), - vh = function t(n, e) { - function r(t) { - return ((t = 2 * t - 1) < 0 ? n * Math.pow(2, 10 * t) * Math.sin((i - t) / e) : 2 - n * Math.pow(2, -10 * t) * Math.sin((i + t) / e)) / 2 - } - var i = Math.asin(1 / (n = Math.max(1, n))) * (e /= hh); - return r.amplitude = function (n) { - return t(n, e * hh) - }, r.period = function (e) { - return t(n, e) - }, r - }(1, .3), - _h = { - time: null, - delay: 0, - duration: 250, - ease: te - }; - dt.prototype.interrupt = function (t) { - return this.each(function () { - jl(this, t) - }) - }, dt.prototype.transition = function (t) { - var n, e; - t instanceof Gn ? (n = t._id, t = t._name) : (n = Qn(), (e = _h).time = ln(), t = null == t ? null : t + ""); - for (var r = this._groups, i = r.length, o = 0; o < i; ++o) - for (var u, a = r[o], c = a.length, s = 0; s < c; ++s)(u = a[s]) && Bl(u, t, n, s, a, e || oe(u, n)); - return new Gn(r, this._parents, t, n) - }; - var yh = [null], - gh = function (t) { - return function () { - return t - } - }, - mh = function (t, n, e) { - this.target = t, this.type = n, this.selection = e - }, - xh = function () { - t.event.preventDefault(), t.event.stopImmediatePropagation() - }, - bh = { - name: "drag" - }, - wh = { - name: "space" - }, - Mh = { - name: "handle" - }, - Th = { - name: "center" - }, - kh = { - name: "x", - handles: ["e", "w"].map(ae), - input: function (t, n) { - return t && [ - [t[0], n[0][1]], - [t[1], n[1][1]] - ] - }, - output: function (t) { - return t && [t[0][0], t[1][0]] - } - }, - Nh = { - name: "y", - handles: ["n", "s"].map(ae), - input: function (t, n) { - return t && [ - [n[0][0], t[0]], - [n[1][0], t[1]] - ] - }, - output: function (t) { - return t && [t[0][1], t[1][1]] - } - }, - Sh = { - name: "xy", - handles: ["n", "e", "s", "w", "nw", "ne", "se", "sw"].map(ae), - input: function (t) { - return t - }, - output: function (t) { - return t - } - }, - Eh = { - overlay: "crosshair", - selection: "move", - n: "ns-resize", - e: "ew-resize", - s: "ns-resize", - w: "ew-resize", - nw: "nwse-resize", - ne: "nesw-resize", - se: "nwse-resize", - sw: "nesw-resize" - }, - Ah = { - e: "w", - w: "e", - nw: "ne", - ne: "nw", - se: "sw", - sw: "se" - }, - Ch = { - n: "s", - s: "n", - nw: "sw", - ne: "se", - se: "ne", - sw: "nw" - }, - zh = { - overlay: 1, - selection: 1, - n: null, - e: 1, - s: null, - w: -1, - nw: -1, - ne: 1, - se: 1, - sw: -1 - }, - Ph = { - overlay: 1, - selection: 1, - n: -1, - e: null, - s: 1, - w: null, - nw: -1, - ne: -1, - se: 1, - sw: 1 - }, - Rh = Math.cos, - Lh = Math.sin, - qh = Math.PI, - Uh = qh / 2, - Dh = 2 * qh, - Oh = Math.max, - Fh = Array.prototype.slice, - Ih = function (t) { - return function () { - return t - } - }, - Yh = Math.PI, - Bh = 2 * Yh, - jh = Bh - 1e-6; - de.prototype = ve.prototype = { - constructor: de, - moveTo: function (t, n) { - this._ += "M" + (this._x0 = this._x1 = +t) + "," + (this._y0 = this._y1 = +n) - }, - closePath: function () { - null !== this._x1 && (this._x1 = this._x0, this._y1 = this._y0, this._ += "Z") - }, - lineTo: function (t, n) { - this._ += "L" + (this._x1 = +t) + "," + (this._y1 = +n) - }, - quadraticCurveTo: function (t, n, e, r) { - this._ += "Q" + +t + "," + +n + "," + (this._x1 = +e) + "," + (this._y1 = +r) - }, - bezierCurveTo: function (t, n, e, r, i, o) { - this._ += "C" + +t + "," + +n + "," + +e + "," + +r + "," + (this._x1 = +i) + "," + (this._y1 = +o) - }, - arcTo: function (t, n, e, r, i) { - t = +t, n = +n, e = +e, r = +r, i = +i; - var o = this._x1, - u = this._y1, - a = e - t, - c = r - n, - s = o - t, - f = u - n, - l = s * s + f * f; - if (i < 0) throw new Error("negative radius: " + i); - if (null === this._x1) this._ += "M" + (this._x1 = t) + "," + (this._y1 = n); - else if (l > 1e-6) - if (Math.abs(f * a - c * s) > 1e-6 && i) { - var h = e - o, - p = r - u, - d = a * a + c * c, - v = h * h + p * p, - _ = Math.sqrt(d), - y = Math.sqrt(l), - g = i * Math.tan((Yh - Math.acos((d + l - v) / (2 * _ * y))) / 2), - m = g / y, - x = g / _; - Math.abs(m - 1) > 1e-6 && (this._ += "L" + (t + m * s) + "," + (n + m * f)), this._ += "A" + i + "," + i + ",0,0," + +(f * h > s * p) + "," + (this._x1 = t + x * a) + "," + (this._y1 = n + x * c) - } else this._ += "L" + (this._x1 = t) + "," + (this._y1 = n); - else; - }, - arc: function (t, n, e, r, i, o) { - t = +t, n = +n; - var u = (e = +e) * Math.cos(r), - a = e * Math.sin(r), - c = t + u, - s = n + a, - f = 1 ^ o, - l = o ? r - i : i - r; - if (e < 0) throw new Error("negative radius: " + e); - null === this._x1 ? this._ += "M" + c + "," + s : (Math.abs(this._x1 - c) > 1e-6 || Math.abs(this._y1 - s) > 1e-6) && (this._ += "L" + c + "," + s), e && (l < 0 && (l = l % Bh + Bh), l > jh ? this._ += "A" + e + "," + e + ",0,1," + f + "," + (t - u) + "," + (n - a) + "A" + e + "," + e + ",0,1," + f + "," + (this._x1 = c) + "," + (this._y1 = s) : l > 1e-6 && (this._ += "A" + e + "," + e + ",0," + +(l >= Yh) + "," + f + "," + (this._x1 = t + e * Math.cos(i)) + "," + (this._y1 = n + e * Math.sin(i)))) - }, - rect: function (t, n, e, r) { - this._ += "M" + (this._x0 = this._x1 = +t) + "," + (this._y0 = this._y1 = +n) + "h" + +e + "v" + +r + "h" + -e + "Z" - }, - toString: function () { - return this._ - } - }; - be.prototype = we.prototype = { - constructor: be, - has: function (t) { - return "$" + t in this - }, - get: function (t) { - return this["$" + t] - }, - set: function (t, n) { - return this["$" + t] = n, this - }, - remove: function (t) { - var n = "$" + t; - return n in this && delete this[n] - }, - clear: function () { - for (var t in this) "$" === t[0] && delete this[t] - }, - keys: function () { - var t = []; - for (var n in this) "$" === n[0] && t.push(n.slice(1)); - return t - }, - values: function () { - var t = []; - for (var n in this) "$" === n[0] && t.push(this[n]); - return t - }, - entries: function () { - var t = []; - for (var n in this) "$" === n[0] && t.push({ - key: n.slice(1), - value: this[n] - }); - return t - }, - size: function () { - var t = 0; - for (var n in this) "$" === n[0] && ++t; - return t - }, - empty: function () { - for (var t in this) - if ("$" === t[0]) return !1; - return !0 - }, - each: function (t) { - for (var n in this) "$" === n[0] && t(this[n], n.slice(1), this) - } - }; - var Hh = we.prototype; - Se.prototype = Ee.prototype = { - constructor: Se, - has: Hh.has, - add: function (t) { - return t += "", this["$" + t] = t, this - }, - remove: Hh.remove, - clear: Hh.clear, - values: Hh.keys, - size: Hh.size, - empty: Hh.empty, - each: Hh.each - }; - var Xh = {}, - $h = {}, - Vh = 34, - Wh = 10, - Zh = 13, - Gh = function (t) { - function n(t, n) { - function e() { - if (s) return $h; - if (f) return f = !1, Xh; - var n, e, r = a; - if (t.charCodeAt(r) === Vh) { - for (; a++ < u && t.charCodeAt(a) !== Vh || t.charCodeAt(++a) === Vh;); - return (n = a) >= u ? s = !0 : (e = t.charCodeAt(a++)) === Wh ? f = !0 : e === Zh && (f = !0, t.charCodeAt(a) === Wh && ++a), t.slice(r + 1, n - 1).replace(/""/g, '"') - } - for (; a < u;) { - if ((e = t.charCodeAt(n = a++)) === Wh) f = !0; - else if (e === Zh) f = !0, t.charCodeAt(a) === Wh && ++a; - else if (e !== o) continue; - return t.slice(r, n) - } - return s = !0, t.slice(r, u) - } - var r, i = [], - u = t.length, - a = 0, - c = 0, - s = u <= 0, - f = !1; - for (t.charCodeAt(u - 1) === Wh && --u, t.charCodeAt(u - 1) === Zh && --u; - (r = e()) !== $h;) { - for (var l = []; r !== Xh && r !== $h;) l.push(r), r = e(); - n && null == (l = n(l, c++)) || i.push(l) - } - return i - } - - function e(n) { - return n.map(r).join(t) - } - - function r(t) { - return null == t ? "" : i.test(t += "") ? '"' + t.replace(/"/g, '""') + '"' : t - } - var i = new RegExp('["' + t + "\n\r]"), - o = t.charCodeAt(0); - return { - parse: function (t, e) { - var r, i, o = n(t, function (t, n) { - if (r) return r(t, n - 1); - i = t, r = e ? Ce(t, e) : Ae(t) - }); - return o.columns = i, o - }, - parseRows: n, - format: function (n, e) { - return null == e && (e = ze(n)), [e.map(r).join(t)].concat(n.map(function (n) { - return e.map(function (t) { - return r(n[t]) - }).join(t) - })).join("\n") - }, - formatRows: function (t) { - return t.map(e).join("\n") - } - } - }, - Jh = Gh(","), - Qh = Jh.parse, - Kh = Jh.parseRows, - tp = Jh.format, - np = Jh.formatRows, - ep = Gh("\t"), - rp = ep.parse, - ip = ep.parseRows, - op = ep.format, - up = ep.formatRows, - ap = function (t) { - return function () { - return t - } - }, - cp = function () { - return 1e-6 * (Math.random() - .5) - }, - sp = function (t, n, e, r, i) { - this.node = t, this.x0 = n, this.y0 = e, this.x1 = r, this.y1 = i - }, - fp = qe.prototype = Ue.prototype; - fp.copy = function () { - var t, n, e = new Ue(this._x, this._y, this._x0, this._y0, this._x1, this._y1), - r = this._root; - if (!r) return e; - if (!r.length) return e._root = De(r), e; - for (t = [{ - source: r, - target: e._root = new Array(4) - }]; r = t.pop();) - for (var i = 0; i < 4; ++i)(n = r.source[i]) && (n.length ? t.push({ - source: n, - target: r.target[i] = new Array(4) - }) : r.target[i] = De(n)); - return e - }, fp.add = function (t) { - var n = +this._x.call(null, t), - e = +this._y.call(null, t); - return Pe(this.cover(n, e), n, e, t) - }, fp.addAll = function (t) { - var n, e, r, i, o = t.length, - u = new Array(o), - a = new Array(o), - c = 1 / 0, - s = 1 / 0, - f = -1 / 0, - l = -1 / 0; - for (e = 0; e < o; ++e) isNaN(r = +this._x.call(null, n = t[e])) || isNaN(i = +this._y.call(null, n)) || (u[e] = r, a[e] = i, r < c && (c = r), r > f && (f = r), i < s && (s = i), i > l && (l = i)); - for (f < c && (c = this._x0, f = this._x1), l < s && (s = this._y0, l = this._y1), this.cover(c, s).cover(f, l), e = 0; e < o; ++e) Pe(this, u[e], a[e], t[e]); - return this - }, fp.cover = function (t, n) { - if (isNaN(t = +t) || isNaN(n = +n)) return this; - var e = this._x0, - r = this._y0, - i = this._x1, - o = this._y1; - if (isNaN(e)) i = (e = Math.floor(t)) + 1, o = (r = Math.floor(n)) + 1; - else { - if (!(e > t || t > i || r > n || n > o)) return this; - var u, a, c = i - e, - s = this._root; - switch (a = (n < (r + o) / 2) << 1 | t < (e + i) / 2) { - case 0: - do { - u = new Array(4), u[a] = s, s = u - } while (c *= 2, i = e + c, o = r + c, t > i || n > o); - break; - case 1: - do { - u = new Array(4), u[a] = s, s = u - } while (c *= 2, e = i - c, o = r + c, e > t || n > o); - break; - case 2: - do { - u = new Array(4), u[a] = s, s = u - } while (c *= 2, i = e + c, r = o - c, t > i || r > n); - break; - case 3: - do { - u = new Array(4), u[a] = s, s = u - } while (c *= 2, e = i - c, r = o - c, e > t || r > n) - } - this._root && this._root.length && (this._root = s) - } - return this._x0 = e, this._y0 = r, this._x1 = i, this._y1 = o, this - }, fp.data = function () { - var t = []; - return this.visit(function (n) { - if (!n.length) - do { - t.push(n.data) - } while (n = n.next) - }), t - }, fp.extent = function (t) { - return arguments.length ? this.cover(+t[0][0], +t[0][1]).cover(+t[1][0], +t[1][1]) : isNaN(this._x0) ? void 0 : [ - [this._x0, this._y0], - [this._x1, this._y1] - ] - }, fp.find = function (t, n, e) { - var r, i, o, u, a, c, s, f = this._x0, - l = this._y0, - h = this._x1, - p = this._y1, - d = [], - v = this._root; - for (v && d.push(new sp(v, f, l, h, p)), null == e ? e = 1 / 0 : (f = t - e, l = n - e, h = t + e, p = n + e, e *= e); c = d.pop();) - if (!(!(v = c.node) || (i = c.x0) > h || (o = c.y0) > p || (u = c.x1) < f || (a = c.y1) < l)) - if (v.length) { - var _ = (i + u) / 2, - y = (o + a) / 2; - d.push(new sp(v[3], _, y, u, a), new sp(v[2], i, y, _, a), new sp(v[1], _, o, u, y), new sp(v[0], i, o, _, y)), (s = (n >= y) << 1 | t >= _) && (c = d[d.length - 1], d[d.length - 1] = d[d.length - 1 - s], d[d.length - 1 - s] = c) - } else { - var g = t - +this._x.call(null, v.data), - m = n - +this._y.call(null, v.data), - x = g * g + m * m; - if (x < e) { - var b = Math.sqrt(e = x); - f = t - b, l = n - b, h = t + b, p = n + b, r = v.data - } - } - return r - }, fp.remove = function (t) { - if (isNaN(o = +this._x.call(null, t)) || isNaN(u = +this._y.call(null, t))) return this; - var n, e, r, i, o, u, a, c, s, f, l, h, p = this._root, - d = this._x0, - v = this._y0, - _ = this._x1, - y = this._y1; - if (!p) return this; - if (p.length) - for (;;) { - if ((s = o >= (a = (d + _) / 2)) ? d = a : _ = a, (f = u >= (c = (v + y) / 2)) ? v = c : y = c, n = p, !(p = p[l = f << 1 | s])) return this; - if (!p.length) break; - (n[l + 1 & 3] || n[l + 2 & 3] || n[l + 3 & 3]) && (e = n, h = l) - } - for (; p.data !== t;) - if (r = p, !(p = p.next)) return this; - return (i = p.next) && delete p.next, r ? (i ? r.next = i : delete r.next, this) : n ? (i ? n[l] = i : delete n[l], (p = n[0] || n[1] || n[2] || n[3]) && p === (n[3] || n[2] || n[1] || n[0]) && !p.length && (e ? e[h] = p : this._root = p), this) : (this._root = i, this) - }, fp.removeAll = function (t) { - for (var n = 0, e = t.length; n < e; ++n) this.remove(t[n]); - return this - }, fp.root = function () { - return this._root - }, fp.size = function () { - var t = 0; - return this.visit(function (n) { - if (!n.length) - do { - ++t - } while (n = n.next) - }), t - }, fp.visit = function (t) { - var n, e, r, i, o, u, a = [], - c = this._root; - for (c && a.push(new sp(c, this._x0, this._y0, this._x1, this._y1)); n = a.pop();) - if (!t(c = n.node, r = n.x0, i = n.y0, o = n.x1, u = n.y1) && c.length) { - var s = (r + o) / 2, - f = (i + u) / 2; - (e = c[3]) && a.push(new sp(e, s, f, o, u)), (e = c[2]) && a.push(new sp(e, r, f, s, u)), (e = c[1]) && a.push(new sp(e, s, i, o, f)), (e = c[0]) && a.push(new sp(e, r, i, s, f)) - } - return this - }, fp.visitAfter = function (t) { - var n, e = [], - r = []; - for (this._root && e.push(new sp(this._root, this._x0, this._y0, this._x1, this._y1)); n = e.pop();) { - var i = n.node; - if (i.length) { - var o, u = n.x0, - a = n.y0, - c = n.x1, - s = n.y1, - f = (u + c) / 2, - l = (a + s) / 2; - (o = i[0]) && e.push(new sp(o, u, a, f, l)), (o = i[1]) && e.push(new sp(o, f, a, c, l)), (o = i[2]) && e.push(new sp(o, u, l, f, s)), (o = i[3]) && e.push(new sp(o, f, l, c, s)) - } - r.push(n) - } - for (; n = r.pop();) t(n.node, n.x0, n.y0, n.x1, n.y1); - return this - }, fp.x = function (t) { - return arguments.length ? (this._x = t, this) : this._x - }, fp.y = function (t) { - return arguments.length ? (this._y = t, this) : this._y - }; - var lp, hp = 10, - pp = Math.PI * (3 - Math.sqrt(5)), - dp = function (t, n) { - if ((e = (t = n ? t.toExponential(n - 1) : t.toExponential()).indexOf("e")) < 0) return null; - var e, r = t.slice(0, e); - return [r.length > 1 ? r[0] + r.slice(2) : r, +t.slice(e + 1)] - }, - vp = function (t) { - return (t = dp(Math.abs(t))) ? t[1] : NaN - }, - _p = function (t, n) { - return function (e, r) { - for (var i = e.length, o = [], u = 0, a = t[0], c = 0; i > 0 && a > 0 && (c + a + 1 > r && (a = Math.max(1, r - c)), o.push(e.substring(i -= a, i + a)), !((c += a + 1) > r));) a = t[u = (u + 1) % t.length]; - return o.reverse().join(n) - } - }, - yp = function (t) { - return function (n) { - return n.replace(/[0-9]/g, function (n) { - return t[+n] - }) - } - }, - gp = function (t, n) { - var e = dp(t, n); - if (!e) return t + ""; - var r = e[0], - i = e[1]; - return i < 0 ? "0." + new Array(-i).join("0") + r : r.length > i + 1 ? r.slice(0, i + 1) + "." + r.slice(i + 1) : r + new Array(i - r.length + 2).join("0") - }, - mp = { - "": function (t, n) { - t: for (var e, r = (t = t.toPrecision(n)).length, i = 1, o = -1; i < r; ++i) switch (t[i]) { - case ".": - o = e = i; - break; - case "0": - 0 === o && (o = i), e = i; - break; - case "e": - break t; - default: - o > 0 && (o = 0) - } - return o > 0 ? t.slice(0, o) + t.slice(e + 1) : t - }, - "%": function (t, n) { - return (100 * t).toFixed(n) - }, - b: function (t) { - return Math.round(t).toString(2) - }, - c: function (t) { - return t + "" - }, - d: function (t) { - return Math.round(t).toString(10) - }, - e: function (t, n) { - return t.toExponential(n) - }, - f: function (t, n) { - return t.toFixed(n) - }, - g: function (t, n) { - return t.toPrecision(n) - }, - o: function (t) { - return Math.round(t).toString(8) - }, - p: function (t, n) { - return gp(100 * t, n) - }, - r: gp, - s: function (t, n) { - var e = dp(t, n); - if (!e) return t + ""; - var r = e[0], - i = e[1], - o = i - (lp = 3 * Math.max(-8, Math.min(8, Math.floor(i / 3)))) + 1, - u = r.length; - return o === u ? r : o > u ? r + new Array(o - u + 1).join("0") : o > 0 ? r.slice(0, o) + "." + r.slice(o) : "0." + new Array(1 - o).join("0") + dp(t, Math.max(0, n + o - 1))[0] - }, - X: function (t) { - return Math.round(t).toString(16).toUpperCase() - }, - x: function (t) { - return Math.round(t).toString(16) - } - }, - xp = /^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i; - He.prototype = Xe.prototype, Xe.prototype.toString = function () { - return this.fill + this.align + this.sign + this.symbol + (this.zero ? "0" : "") + (null == this.width ? "" : Math.max(1, 0 | this.width)) + (this.comma ? "," : "") + (null == this.precision ? "" : "." + Math.max(0, 0 | this.precision)) + this.type - }; - var bp, wp = function (t) { - return t - }, - Mp = ["y", "z", "a", "f", "p", "n", "µ", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y"], - Tp = function (t) { - function n(t) { - function n(t) { - var n, r, u, f = _, - x = y; - if ("c" === v) x = g(t) + x, t = ""; - else { - var b = (t = +t) < 0; - if (t = g(Math.abs(t), d), b && 0 == +t && (b = !1), f = (b ? "(" === s ? s : "-" : "-" === s || "(" === s ? "" : s) + f, x = x + ("s" === v ? Mp[8 + lp / 3] : "") + (b && "(" === s ? ")" : ""), m) - for (n = -1, r = t.length; ++n < r;) - if (48 > (u = t.charCodeAt(n)) || u > 57) { - x = (46 === u ? i + t.slice(n + 1) : t.slice(n)) + x, t = t.slice(0, n); - break - } - } - p && !l && (t = e(t, 1 / 0)); - var w = f.length + t.length + x.length, - M = w < h ? new Array(h - w + 1).join(a) : ""; - switch (p && l && (t = e(M + t, M.length ? h - x.length : 1 / 0), M = ""), c) { - case "<": - t = f + t + x + M; - break; - case "=": - t = f + M + t + x; - break; - case "^": - t = M.slice(0, w = M.length >> 1) + f + t + x + M.slice(w); - break; - default: - t = M + f + t + x - } - return o(t) - } - var a = (t = He(t)).fill, - c = t.align, - s = t.sign, - f = t.symbol, - l = t.zero, - h = t.width, - p = t.comma, - d = t.precision, - v = t.type, - _ = "$" === f ? r[0] : "#" === f && /[boxX]/.test(v) ? "0" + v.toLowerCase() : "", - y = "$" === f ? r[1] : /[%p]/.test(v) ? u : "", - g = mp[v], - m = !v || /[defgprs%]/.test(v); - return d = null == d ? v ? 6 : 12 : /[gprs]/.test(v) ? Math.max(1, Math.min(21, d)) : Math.max(0, Math.min(20, d)), n.toString = function () { - return t + "" - }, n - } - var e = t.grouping && t.thousands ? _p(t.grouping, t.thousands) : wp, - r = t.currency, - i = t.decimal, - o = t.numerals ? yp(t.numerals) : wp, - u = t.percent || "%"; - return { - format: n, - formatPrefix: function (t, e) { - var r = n((t = He(t), t.type = "f", t)), - i = 3 * Math.max(-8, Math.min(8, Math.floor(vp(e) / 3))), - o = Math.pow(10, -i), - u = Mp[8 + i / 3]; - return function (t) { - return r(o * t) + u - } - } - } - }; - $e({ - decimal: ".", - thousands: ",", - grouping: [3], - currency: ["$", ""] - }); - var kp = function (t) { - return Math.max(0, -vp(Math.abs(t))) - }, - Np = function (t, n) { - return Math.max(0, 3 * Math.max(-8, Math.min(8, Math.floor(vp(n) / 3))) - vp(Math.abs(t))) - }, - Sp = function (t, n) { - return t = Math.abs(t), n = Math.abs(n) - t, Math.max(0, vp(n) - vp(t)) + 1 - }, - Ep = function () { - return new Ve - }; - Ve.prototype = { - constructor: Ve, - reset: function () { - this.s = this.t = 0 - }, - add: function (t) { - We(ud, t, this.t), We(this, ud.s, this.s), this.s ? this.t += ud.t : this.s = ud.t - }, - valueOf: function () { - return this.s - } - }; - var Ap, Cp, zp, Pp, Rp, Lp, qp, Up, Dp, Op, Fp, Ip, Yp, Bp, jp, Hp, Xp, $p, Vp, Wp, Zp, Gp, Jp, Qp, Kp, td, nd, ed, rd, id, od, ud = new Ve, - ad = 1e-6, - cd = Math.PI, - sd = cd / 2, - fd = cd / 4, - ld = 2 * cd, - hd = 180 / cd, - pd = cd / 180, - dd = Math.abs, - vd = Math.atan, - _d = Math.atan2, - yd = Math.cos, - gd = Math.ceil, - md = Math.exp, - xd = Math.log, - bd = Math.pow, - wd = Math.sin, - Md = Math.sign || function (t) { - return t > 0 ? 1 : t < 0 ? -1 : 0 - }, - Td = Math.sqrt, - kd = Math.tan, - Nd = { - Feature: function (t, n) { - Ke(t.geometry, n) - }, - FeatureCollection: function (t, n) { - for (var e = t.features, r = -1, i = e.length; ++r < i;) Ke(e[r].geometry, n) - } - }, - Sd = { - Sphere: function (t, n) { - n.sphere() - }, - Point: function (t, n) { - t = t.coordinates, n.point(t[0], t[1], t[2]) - }, - MultiPoint: function (t, n) { - for (var e = t.coordinates, r = -1, i = e.length; ++r < i;) t = e[r], n.point(t[0], t[1], t[2]) - }, - LineString: function (t, n) { - tr(t.coordinates, n, 0) - }, - MultiLineString: function (t, n) { - for (var e = t.coordinates, r = -1, i = e.length; ++r < i;) tr(e[r], n, 0) - }, - Polygon: function (t, n) { - nr(t.coordinates, n) - }, - MultiPolygon: function (t, n) { - for (var e = t.coordinates, r = -1, i = e.length; ++r < i;) nr(e[r], n) - }, - GeometryCollection: function (t, n) { - for (var e = t.geometries, r = -1, i = e.length; ++r < i;) Ke(e[r], n) - } - }, - Ed = function (t, n) { - t && Nd.hasOwnProperty(t.type) ? Nd[t.type](t, n) : Ke(t, n) - }, - Ad = Ep(), - Cd = Ep(), - zd = { - point: Qe, - lineStart: Qe, - lineEnd: Qe, - polygonStart: function () { - Ad.reset(), zd.lineStart = er, zd.lineEnd = rr - }, - polygonEnd: function () { - var t = +Ad; - Cd.add(t < 0 ? ld + t : t), this.lineStart = this.lineEnd = this.point = Qe - }, - sphere: function () { - Cd.add(ld) - } - }, - Pd = Ep(), - Rd = { - point: pr, - lineStart: vr, - lineEnd: _r, - polygonStart: function () { - Rd.point = yr, Rd.lineStart = gr, Rd.lineEnd = mr, Pd.reset(), zd.polygonStart() - }, - polygonEnd: function () { - zd.polygonEnd(), Rd.point = pr, Rd.lineStart = vr, Rd.lineEnd = _r, Ad < 0 ? (Lp = -(Up = 180), qp = -(Dp = 90)) : Pd > ad ? Dp = 90 : Pd < -ad && (qp = -90), jp[0] = Lp, jp[1] = Up - } - }, - Ld = { - sphere: Qe, - point: Mr, - lineStart: kr, - lineEnd: Er, - polygonStart: function () { - Ld.lineStart = Ar, Ld.lineEnd = Cr - }, - polygonEnd: function () { - Ld.lineStart = kr, Ld.lineEnd = Er - } - }, - qd = function (t) { - return function () { - return t - } - }, - Ud = function (t, n) { - function e(e, r) { - return e = t(e, r), n(e[0], e[1]) - } - return t.invert && n.invert && (e.invert = function (e, r) { - return (e = n.invert(e, r)) && t.invert(e[0], e[1]) - }), e - }; - Rr.invert = Rr; - var Dd, Od, Fd, Id, Yd, Bd, jd, Hd, Xd, $d, Vd, Wd = function (t) { - function n(n) { - return n = t(n[0] * pd, n[1] * pd), n[0] *= hd, n[1] *= hd, n - } - return t = Lr(t[0] * pd, t[1] * pd, t.length > 2 ? t[2] * pd : 0), n.invert = function (n) { - return n = t.invert(n[0] * pd, n[1] * pd), n[0] *= hd, n[1] *= hd, n - }, n - }, - Zd = function () { - var t, n = []; - return { - point: function (n, e) { - t.push([n, e]) - }, - lineStart: function () { - n.push(t = []) - }, - lineEnd: Qe, - rejoin: function () { - n.length > 1 && n.push(n.pop().concat(n.shift())) - }, - result: function () { - var e = n; - return n = [], t = null, e - } - } - }, - Gd = function (t, n, e, r, i, o) { - var u, a = t[0], - c = t[1], - s = 0, - f = 1, - l = n[0] - a, - h = n[1] - c; - if (u = e - a, l || !(u > 0)) { - if (u /= l, l < 0) { - if (u < s) return; - u < f && (f = u) - } else if (l > 0) { - if (u > f) return; - u > s && (s = u) - } - if (u = i - a, l || !(u < 0)) { - if (u /= l, l < 0) { - if (u > f) return; - u > s && (s = u) - } else if (l > 0) { - if (u < s) return; - u < f && (f = u) - } - if (u = r - c, h || !(u > 0)) { - if (u /= h, h < 0) { - if (u < s) return; - u < f && (f = u) - } else if (h > 0) { - if (u > f) return; - u > s && (s = u) - } - if (u = o - c, h || !(u < 0)) { - if (u /= h, h < 0) { - if (u > f) return; - u > s && (s = u) - } else if (h > 0) { - if (u < s) return; - u < f && (f = u) - } - return s > 0 && (t[0] = a + s * l, t[1] = c + s * h), f < 1 && (n[0] = a + f * l, n[1] = c + f * h), !0 - } - } - } - } - }, - Jd = function (t, n) { - return dd(t[0] - n[0]) < ad && dd(t[1] - n[1]) < ad - }, - Qd = function (t, n, e, r, i) { - var o, u, a = [], - c = []; - if (t.forEach(function (t) { - if (!((n = t.length - 1) <= 0)) { - var n, e, r = t[0], - u = t[n]; - if (Jd(r, u)) { - for (i.lineStart(), o = 0; o < n; ++o) i.point((r = t[o])[0], r[1]); - i.lineEnd() - } else a.push(e = new Ir(r, t, null, !0)), c.push(e.o = new Ir(r, null, e, !1)), a.push(e = new Ir(u, t, null, !1)), c.push(e.o = new Ir(u, null, e, !0)) - } - }), a.length) { - for (c.sort(n), Yr(a), Yr(c), o = 0, u = c.length; o < u; ++o) c[o].e = e = !e; - for (var s, f, l = a[0];;) { - for (var h = l, p = !0; h.v;) - if ((h = h.n) === l) return; - s = h.z, i.lineStart(); - do { - if (h.v = h.o.v = !0, h.e) { - if (p) - for (o = 0, u = s.length; o < u; ++o) i.point((f = s[o])[0], f[1]); - else r(h.x, h.n.x, 1, i); - h = h.n - } else { - if (p) - for (s = h.p.z, o = s.length - 1; o >= 0; --o) i.point((f = s[o])[0], f[1]); - else r(h.x, h.p.x, -1, i); - h = h.p - } - s = (h = h.o).z, p = !p - } while (!h.v); - i.lineEnd() - } - } - }, - Kd = 1e9, - tv = -Kd, - nv = Ep(), - ev = function (t, n) { - var e = n[0], - r = n[1], - i = [wd(e), -yd(e), 0], - o = 0, - u = 0; - nv.reset(); - for (var a = 0, c = t.length; a < c; ++a) - if (f = (s = t[a]).length) - for (var s, f, l = s[f - 1], h = l[0], p = l[1] / 2 + fd, d = wd(p), v = yd(p), _ = 0; _ < f; ++_, h = g, d = x, v = b, l = y) { - var y = s[_], - g = y[0], - m = y[1] / 2 + fd, - x = wd(m), - b = yd(m), - w = g - h, - M = w >= 0 ? 1 : -1, - T = M * w, - k = T > cd, - N = d * x; - if (nv.add(_d(N * M * wd(T), v * b + N * yd(T))), o += k ? w + M * ld : w, k ^ h >= e ^ g >= e) { - var S = sr(ar(l), ar(y)); - hr(S); - var E = sr(i, S); - hr(E); - var A = (k ^ w >= 0 ? -1 : 1) * Ge(E[2]); - (r > A || r === A && (S[0] || S[1])) && (u += k ^ w >= 0 ? 1 : -1) - } - } - return (o < -ad || o < ad && nv < -ad) ^ 1 & u - }, - rv = Ep(), - iv = { - sphere: Qe, - point: Qe, - lineStart: function () { - iv.point = Hr, iv.lineEnd = jr - }, - lineEnd: Qe, - polygonStart: Qe, - polygonEnd: Qe - }, - ov = function (t) { - return rv.reset(), Ed(t, iv), +rv - }, - uv = [null, null], - av = { - type: "LineString", - coordinates: uv - }, - cv = function (t, n) { - return uv[0] = t, uv[1] = n, ov(av) - }, - sv = { - Feature: function (t, n) { - return $r(t.geometry, n) - }, - FeatureCollection: function (t, n) { - for (var e = t.features, r = -1, i = e.length; ++r < i;) - if ($r(e[r].geometry, n)) return !0; - return !1 - } - }, - fv = { - Sphere: function () { - return !0 - }, - Point: function (t, n) { - return Vr(t.coordinates, n) - }, - MultiPoint: function (t, n) { - for (var e = t.coordinates, r = -1, i = e.length; ++r < i;) - if (Vr(e[r], n)) return !0; - return !1 - }, - LineString: function (t, n) { - return Wr(t.coordinates, n) - }, - MultiLineString: function (t, n) { - for (var e = t.coordinates, r = -1, i = e.length; ++r < i;) - if (Wr(e[r], n)) return !0; - return !1 - }, - Polygon: function (t, n) { - return Zr(t.coordinates, n) - }, - MultiPolygon: function (t, n) { - for (var e = t.coordinates, r = -1, i = e.length; ++r < i;) - if (Zr(e[r], n)) return !0; - return !1 - }, - GeometryCollection: function (t, n) { - for (var e = t.geometries, r = -1, i = e.length; ++r < i;) - if ($r(e[r], n)) return !0; - return !1 - } - }, - lv = function (t) { - return t - }, - hv = Ep(), - pv = Ep(), - dv = { - point: Qe, - lineStart: Qe, - lineEnd: Qe, - polygonStart: function () { - dv.lineStart = ni, dv.lineEnd = ii - }, - polygonEnd: function () { - dv.lineStart = dv.lineEnd = dv.point = Qe, hv.add(dd(pv)), pv.reset() - }, - result: function () { - var t = hv / 2; - return hv.reset(), t - } - }, - vv = 1 / 0, - _v = vv, - yv = -vv, - gv = yv, - mv = { - point: function (t, n) { - t < vv && (vv = t), t > yv && (yv = t), n < _v && (_v = n), n > gv && (gv = n) - }, - lineStart: Qe, - lineEnd: Qe, - polygonStart: Qe, - polygonEnd: Qe, - result: function () { - var t = [ - [vv, _v], - [yv, gv] - ]; - return yv = gv = -(_v = vv = 1 / 0), t - } - }, - xv = 0, - bv = 0, - wv = 0, - Mv = 0, - Tv = 0, - kv = 0, - Nv = 0, - Sv = 0, - Ev = 0, - Av = { - point: oi, - lineStart: ui, - lineEnd: si, - polygonStart: function () { - Av.lineStart = fi, Av.lineEnd = li - }, - polygonEnd: function () { - Av.point = oi, Av.lineStart = ui, Av.lineEnd = si - }, - result: function () { - var t = Ev ? [Nv / Ev, Sv / Ev] : kv ? [Mv / kv, Tv / kv] : wv ? [xv / wv, bv / wv] : [NaN, NaN]; - return xv = bv = wv = Mv = Tv = kv = Nv = Sv = Ev = 0, t - } - }; - di.prototype = { - _radius: 4.5, - pointRadius: function (t) { - return this._radius = t, this - }, - polygonStart: function () { - this._line = 0 - }, - polygonEnd: function () { - this._line = NaN - }, - lineStart: function () { - this._point = 0 - }, - lineEnd: function () { - 0 === this._line && this._context.closePath(), this._point = NaN - }, - point: function (t, n) { - switch (this._point) { - case 0: - this._context.moveTo(t, n), this._point = 1; - break; - case 1: - this._context.lineTo(t, n); - break; - default: - this._context.moveTo(t + this._radius, n), this._context.arc(t, n, this._radius, 0, ld) - } - }, - result: Qe - }; - var Cv, zv, Pv, Rv, Lv, qv = Ep(), - Uv = { - point: Qe, - lineStart: function () { - Uv.point = vi - }, - lineEnd: function () { - Cv && _i(zv, Pv), Uv.point = Qe - }, - polygonStart: function () { - Cv = !0 - }, - polygonEnd: function () { - Cv = null - }, - result: function () { - var t = +qv; - return qv.reset(), t - } - }; - yi.prototype = { - _radius: 4.5, - _circle: gi(4.5), - pointRadius: function (t) { - return (t = +t) !== this._radius && (this._radius = t, this._circle = null), this - }, - polygonStart: function () { - this._line = 0 - }, - polygonEnd: function () { - this._line = NaN - }, - lineStart: function () { - this._point = 0 - }, - lineEnd: function () { - 0 === this._line && this._string.push("Z"), this._point = NaN - }, - point: function (t, n) { - switch (this._point) { - case 0: - this._string.push("M", t, ",", n), this._point = 1; - break; - case 1: - this._string.push("L", t, ",", n); - break; - default: - null == this._circle && (this._circle = gi(this._radius)), this._string.push("M", t, ",", n, this._circle) - } - }, - result: function () { - if (this._string.length) { - var t = this._string.join(""); - return this._string = [], t - } - return null - } - }; - var Dv = function (t, n, e, r) { - return function (i, o) { - function u(n, e) { - var r = i(n, e); - t(n = r[0], e = r[1]) && o.point(n, e) - } - - function a(t, n) { - var e = i(t, n); - _.point(e[0], e[1]) - } - - function c() { - b.point = a, _.lineStart() - } - - function s() { - b.point = u, _.lineEnd() - } - - function f(t, n) { - v.push([t, n]); - var e = i(t, n); - m.point(e[0], e[1]) - } - - function l() { - m.lineStart(), v = [] - } - - function h() { - f(v[0][0], v[0][1]), m.lineEnd(); - var t, n, e, r, i = m.clean(), - u = g.result(), - a = u.length; - if (v.pop(), p.push(v), v = null, a) - if (1 & i) { - if (e = u[0], (n = e.length - 1) > 0) { - for (x || (o.polygonStart(), x = !0), o.lineStart(), t = 0; t < n; ++t) o.point((r = e[t])[0], r[1]); - o.lineEnd() - } - } else a > 1 && 2 & i && u.push(u.pop().concat(u.shift())), d.push(u.filter(mi)) - } - var p, d, v, _ = n(o), - y = i.invert(r[0], r[1]), - g = Zd(), - m = n(g), - x = !1, - b = { - point: u, - lineStart: c, - lineEnd: s, - polygonStart: function () { - b.point = f, b.lineStart = l, b.lineEnd = h, d = [], p = [] - }, - polygonEnd: function () { - b.point = u, b.lineStart = c, b.lineEnd = s, d = Cs(d); - var t = ev(p, y); - d.length ? (x || (o.polygonStart(), x = !0), Qd(d, xi, t, e, o)) : t && (x || (o.polygonStart(), x = !0), o.lineStart(), e(null, null, 1, o), o.lineEnd()), x && (o.polygonEnd(), x = !1), d = p = null - }, - sphere: function () { - o.polygonStart(), o.lineStart(), e(null, null, 1, o), o.lineEnd(), o.polygonEnd() - } - }; - return b - } - }, - Ov = Dv(function () { - return !0 - }, function (t) { - var n, e = NaN, - r = NaN, - i = NaN; - return { - lineStart: function () { - t.lineStart(), n = 1 - }, - point: function (o, u) { - var a = o > 0 ? cd : -cd, - c = dd(o - e); - dd(c - cd) < ad ? (t.point(e, r = (r + u) / 2 > 0 ? sd : -sd), t.point(i, r), t.lineEnd(), t.lineStart(), t.point(a, r), t.point(o, r), n = 0) : i !== a && c >= cd && (dd(e - i) < ad && (e -= i * ad), dd(o - a) < ad && (o -= a * ad), r = bi(e, r, o, u), t.point(i, r), t.lineEnd(), t.lineStart(), t.point(a, r), n = 0), t.point(e = o, r = u), i = a - }, - lineEnd: function () { - t.lineEnd(), e = r = NaN - }, - clean: function () { - return 2 - n - } - } - }, function (t, n, e, r) { - var i; - if (null == t) i = e * sd, r.point(-cd, i), r.point(0, i), r.point(cd, i), r.point(cd, 0), r.point(cd, -i), r.point(0, -i), r.point(-cd, -i), r.point(-cd, 0), r.point(-cd, i); - else if (dd(t[0] - n[0]) > ad) { - var o = t[0] < n[0] ? cd : -cd; - i = e * o / 2, r.point(-o, i), r.point(0, i), r.point(o, i) - } else r.point(n[0], n[1]) - }, [-cd, -sd]), - Fv = function (t, n) { - function e(t, n) { - return yd(t) * yd(n) > o - } - - function r(t, n, e) { - var r = [1, 0, 0], - i = sr(ar(t), ar(n)), - u = cr(i, i), - a = i[0], - c = u - a * a; - if (!c) return !e && t; - var s = o * u / c, - f = -o * a / c, - l = sr(r, i), - h = lr(r, s); - fr(h, lr(i, f)); - var p = l, - d = cr(h, p), - v = cr(p, p), - _ = d * d - v * (cr(h, h) - 1); - if (!(_ < 0)) { - var y = Td(_), - g = lr(p, (-d - y) / v); - if (fr(g, h), g = ur(g), !e) return g; - var m, x = t[0], - b = n[0], - w = t[1], - M = n[1]; - b < x && (m = x, x = b, b = m); - var T = b - x, - k = dd(T - cd) < ad, - N = k || T < ad; - if (!k && M < w && (m = w, w = M, M = m), N ? k ? w + M > 0 ^ g[1] < (dd(g[0] - x) < ad ? w : M) : w <= g[1] && g[1] <= M : T > cd ^ (x <= g[0] && g[0] <= b)) { - var S = lr(p, (-d + y) / v); - return fr(S, h), [g, ur(S)] - } - } - } - - function i(n, e) { - var r = u ? t : cd - t, - i = 0; - return n < -r ? i |= 1 : n > r && (i |= 2), e < -r ? i |= 4 : e > r && (i |= 8), i - } - var o = yd(t), - u = o > 0, - a = dd(o) > ad; - return Dv(e, function (t) { - var n, o, c, s, f; - return { - lineStart: function () { - s = c = !1, f = 1 - }, - point: function (l, h) { - var p, d = [l, h], - v = e(l, h), - _ = u ? v ? 0 : i(l, h) : v ? i(l + (l < 0 ? cd : -cd), h) : 0; - if (!n && (s = c = v) && t.lineStart(), v !== c && (!(p = r(n, d)) || Jd(n, p) || Jd(d, p)) && (d[0] += ad, d[1] += ad, v = e(d[0], d[1])), v !== c) f = 0, v ? (t.lineStart(), p = r(d, n), t.point(p[0], p[1])) : (p = r(n, d), t.point(p[0], p[1]), t.lineEnd()), n = p; - else if (a && n && u ^ v) { - var y; - _ & o || !(y = r(d, n, !0)) || (f = 0, u ? (t.lineStart(), t.point(y[0][0], y[0][1]), t.point(y[1][0], y[1][1]), t.lineEnd()) : (t.point(y[1][0], y[1][1]), t.lineEnd(), t.lineStart(), t.point(y[0][0], y[0][1]))) - }!v || n && Jd(n, d) || t.point(d[0], d[1]), n = d, c = v, o = _ - }, - lineEnd: function () { - c && t.lineEnd(), n = null - }, - clean: function () { - return f | (s && c) << 1 - } - } - }, function (e, r, i, o) { - Or(o, t, n, i, e, r) - }, u ? [0, -t] : [-cd, t - cd]) - }; - Mi.prototype = { - constructor: Mi, - point: function (t, n) { - this.stream.point(t, n) - }, - sphere: function () { - this.stream.sphere() - }, - lineStart: function () { - this.stream.lineStart() - }, - lineEnd: function () { - this.stream.lineEnd() - }, - polygonStart: function () { - this.stream.polygonStart() - }, - polygonEnd: function () { - this.stream.polygonEnd() - } - }; - var Iv = 16, - Yv = yd(30 * pd), - Bv = function (t, n) { - return +n ? Si(t, n) : Ni(t) - }, - jv = wi({ - point: function (t, n) { - this.stream.point(t * pd, n * pd) - } - }), - Hv = function () { - return Ci(Pi).scale(155.424).center([0, 33.6442]) - }, - Xv = function () { - return Hv().parallels([29.5, 45.5]).scale(1070).translate([480, 250]).rotate([96, 0]).center([-.6, 38.7]) - }, - $v = Li(function (t) { - return Td(2 / (1 + t)) - }); - $v.invert = qi(function (t) { - return 2 * Ge(t / 2) - }); - var Vv = Li(function (t) { - return (t = Ze(t)) && t / wd(t) - }); - Vv.invert = qi(function (t) { - return t - }); - Ui.invert = function (t, n) { - return [t, 2 * vd(md(n)) - sd] - }; - Ii.invert = Ii; - Bi.invert = qi(vd); - Hi.invert = qi(Ge); - Xi.invert = qi(function (t) { - return 2 * vd(t) - }); - $i.invert = function (t, n) { - return [-n, 2 * vd(md(t)) - sd] - }; - uo.prototype = eo.prototype = { - constructor: uo, - count: function () { - return this.eachAfter(to) - }, - each: function (t) { - var n, e, r, i, o = this, - u = [o]; - do { - for (n = u.reverse(), u = []; o = n.pop();) - if (t(o), e = o.children) - for (r = 0, i = e.length; r < i; ++r) u.push(e[r]) - } while (u.length); - return this - }, - eachAfter: function (t) { - for (var n, e, r, i = this, o = [i], u = []; i = o.pop();) - if (u.push(i), n = i.children) - for (e = 0, r = n.length; e < r; ++e) o.push(n[e]); - for (; i = u.pop();) t(i); - return this - }, - eachBefore: function (t) { - for (var n, e, r = this, i = [r]; r = i.pop();) - if (t(r), n = r.children) - for (e = n.length - 1; e >= 0; --e) i.push(n[e]); - return this - }, - sum: function (t) { - return this.eachAfter(function (n) { - for (var e = +t(n.data) || 0, r = n.children, i = r && r.length; --i >= 0;) e += r[i].value; - n.value = e - }) - }, - sort: function (t) { - return this.eachBefore(function (n) { - n.children && n.children.sort(t) - }) - }, - path: function (t) { - for (var n = this, e = no(n, t), r = [n]; n !== e;) n = n.parent, r.push(n); - for (var i = r.length; t !== e;) r.splice(i, 0, t), t = t.parent; - return r - }, - ancestors: function () { - for (var t = this, n = [t]; t = t.parent;) n.push(t); - return n - }, - descendants: function () { - var t = []; - return this.each(function (n) { - t.push(n) - }), t - }, - leaves: function () { - var t = []; - return this.eachBefore(function (n) { - n.children || t.push(n) - }), t - }, - links: function () { - var t = this, - n = []; - return t.each(function (e) { - e !== t && n.push({ - source: e.parent, - target: e - }) - }), n - }, - copy: function () { - return eo(this).eachBefore(io) - } - }; - var Wv = Array.prototype.slice, - Zv = function (t) { - for (var n, e, r = 0, i = (t = ao(Wv.call(t))).length, o = []; r < i;) n = t[r], e && fo(e, n) ? ++r : (e = ho(o = co(o, n)), r = 0); - return e - }, - Gv = function (t) { - return function () { - return t - } - }, - Jv = function (t) { - t.x0 = Math.round(t.x0), t.y0 = Math.round(t.y0), t.x1 = Math.round(t.x1), t.y1 = Math.round(t.y1) - }, - Qv = function (t, n, e, r, i) { - for (var o, u = t.children, a = -1, c = u.length, s = t.value && (r - n) / t.value; ++a < c;)(o = u[a]).y0 = e, o.y1 = i, o.x0 = n, o.x1 = n += o.value * s - }, - Kv = "$", - t_ = { - depth: -1 - }, - n_ = {}; - Do.prototype = Object.create(uo.prototype); - var e_ = function (t, n, e, r, i) { - for (var o, u = t.children, a = -1, c = u.length, s = t.value && (i - e) / t.value; ++a < c;)(o = u[a]).x0 = n, o.x1 = r, o.y0 = e, o.y1 = e += o.value * s - }, - r_ = (1 + Math.sqrt(5)) / 2, - i_ = function t(n) { - function e(t, e, r, i, o) { - Fo(n, t, e, r, i, o) - } - return e.ratio = function (n) { - return t((n = +n) > 1 ? n : 1) - }, e - }(r_), - o_ = function t(n) { - function e(t, e, r, i, o) { - if ((u = t._squarify) && u.ratio === n) - for (var u, a, c, s, f, l = -1, h = u.length, p = t.value; ++l < h;) { - for (c = (a = u[l]).children, s = a.value = 0, f = c.length; s < f; ++s) a.value += c[s].value; - a.dice ? Qv(a, e, r, i, r += (o - r) * a.value / p) : e_(a, e, r, e += (i - e) * a.value / p, o), p -= a.value - } else t._squarify = u = Fo(n, t, e, r, i, o), u.ratio = n - } - return e.ratio = function (n) { - return t((n = +n) > 1 ? n : 1) - }, e - }(r_), - u_ = function (t, n, e) { - return (n[0] - t[0]) * (e[1] - t[1]) - (n[1] - t[1]) * (e[0] - t[0]) - }, - a_ = [].slice, - c_ = {}; - Bo.prototype = Wo.prototype = { - constructor: Bo, - defer: function (t) { - if ("function" != typeof t) throw new Error("invalid callback"); - if (this._call) throw new Error("defer after await"); - if (null != this._error) return this; - var n = a_.call(arguments, 1); - return n.push(t), ++this._waiting, this._tasks.push(n), jo(this), this - }, - abort: function () { - return null == this._error && $o(this, new Error("abort")), this - }, - await: function (t) { - if ("function" != typeof t) throw new Error("invalid callback"); - if (this._call) throw new Error("multiple await"); - return this._call = function (n, e) { - t.apply(null, [n].concat(e)) - }, Vo(this), this - }, - awaitAll: function (t) { - if ("function" != typeof t) throw new Error("invalid callback"); - if (this._call) throw new Error("multiple await"); - return this._call = t, Vo(this), this - } - }; - var s_ = function () { - return Math.random() - }, - f_ = function t(n) { - function e(t, e) { - return t = null == t ? 0 : +t, e = null == e ? 1 : +e, 1 === arguments.length ? (e = t, t = 0) : e -= t, - function () { - return n() * e + t - } - } - return e.source = t, e - }(s_), - l_ = function t(n) { - function e(t, e) { - var r, i; - return t = null == t ? 0 : +t, e = null == e ? 1 : +e, - function () { - var o; - if (null != r) o = r, r = null; - else - do { - r = 2 * n() - 1, o = 2 * n() - 1, i = r * r + o * o - } while (!i || i > 1); - return t + e * o * Math.sqrt(-2 * Math.log(i) / i) - } - } - return e.source = t, e - }(s_), - h_ = function t(n) { - function e() { - var t = l_.source(n).apply(this, arguments); - return function () { - return Math.exp(t()) - } - } - return e.source = t, e - }(s_), - p_ = function t(n) { - function e(t) { - return function () { - for (var e = 0, r = 0; r < t; ++r) e += n(); - return e - } - } - return e.source = t, e - }(s_), - d_ = function t(n) { - function e(t) { - var e = p_.source(n)(t); - return function () { - return e() / t - } - } - return e.source = t, e - }(s_), - v_ = function t(n) { - function e(t) { - return function () { - return -Math.log(1 - n()) / t - } - } - return e.source = t, e - }(s_), - __ = function (t, n) { - function e(t) { - var n, e = s.status; - if (!e && Go(s) || e >= 200 && e < 300 || 304 === e) { - if (o) try { - n = o.call(r, s) - } catch (t) { - return void a.call("error", r, t) - } else n = s; - a.call("load", r, n) - } else a.call("error", r, t) - } - var r, i, o, u, a = h("beforesend", "progress", "load", "error"), - c = we(), - s = new XMLHttpRequest, - f = null, - l = null, - p = 0; - if ("undefined" == typeof XDomainRequest || "withCredentials" in s || !/^(http(s)?:)?\/\//.test(t) || (s = new XDomainRequest), "onload" in s ? s.onload = s.onerror = s.ontimeout = e : s.onreadystatechange = function (t) { - s.readyState > 3 && e(t) - }, s.onprogress = function (t) { - a.call("progress", r, t) - }, r = { - header: function (t, n) { - return t = (t + "").toLowerCase(), arguments.length < 2 ? c.get(t) : (null == n ? c.remove(t) : c.set(t, n + ""), r) - }, - mimeType: function (t) { - return arguments.length ? (i = null == t ? null : t + "", r) : i - }, - responseType: function (t) { - return arguments.length ? (u = t, r) : u - }, - timeout: function (t) { - return arguments.length ? (p = +t, r) : p - }, - user: function (t) { - return arguments.length < 1 ? f : (f = null == t ? null : t + "", r) - }, - password: function (t) { - return arguments.length < 1 ? l : (l = null == t ? null : t + "", r) - }, - response: function (t) { - return o = t, r - }, - get: function (t, n) { - return r.send("GET", t, n) - }, - post: function (t, n) { - return r.send("POST", t, n) - }, - send: function (n, e, o) { - return s.open(n, t, !0, f, l), null == i || c.has("accept") || c.set("accept", i + ",*/*"), s.setRequestHeader && c.each(function (t, n) { - s.setRequestHeader(n, t) - }), null != i && s.overrideMimeType && s.overrideMimeType(i), null != u && (s.responseType = u), p > 0 && (s.timeout = p), null == o && "function" == typeof e && (o = e, e = null), null != o && 1 === o.length && (o = Zo(o)), null != o && r.on("error", o).on("load", function (t) { - o(null, t) - }), a.call("beforesend", r, s), s.send(null == e ? null : e), r - }, - abort: function () { - return s.abort(), r - }, - on: function () { - var t = a.on.apply(a, arguments); - return t === a ? r : t - } - }, null != n) { - if ("function" != typeof n) throw new Error("invalid callback: " + n); - return r.get(n) - } - return r - }, - y_ = function (t, n) { - return function (e, r) { - var i = __(e).mimeType(t).response(n); - if (null != r) { - if ("function" != typeof r) throw new Error("invalid callback: " + r); - return i.get(r) - } - return i - } - }, - g_ = y_("text/html", function (t) { - return document.createRange().createContextualFragment(t.responseText) - }), - m_ = y_("application/json", function (t) { - return JSON.parse(t.responseText) - }), - x_ = y_("text/plain", function (t) { - return t.responseText - }), - b_ = y_("application/xml", function (t) { - var n = t.responseXML; - if (!n) throw new Error("parse error"); - return n - }), - w_ = function (t, n) { - return function (e, r, i) { - arguments.length < 3 && (i = r, r = null); - var o = __(e).mimeType(t); - return o.row = function (t) { - return arguments.length ? o.response(Jo(n, r = t)) : r - }, o.row(r), i ? o.get(i) : o - } - }, - M_ = w_("text/csv", Qh), - T_ = w_("text/tab-separated-values", rp), - k_ = Array.prototype, - N_ = k_.map, - S_ = k_.slice, - E_ = { - name: "implicit" - }, - A_ = function (t) { - return function () { - return t - } - }, - C_ = function (t) { - return +t - }, - z_ = [0, 1], - P_ = function (n, e, r) { - var o, u = n[0], - a = n[n.length - 1], - c = i(u, a, null == e ? 10 : e); - switch ((r = He(null == r ? ",f" : r)).type) { - case "s": - var s = Math.max(Math.abs(u), Math.abs(a)); - return null != r.precision || isNaN(o = Np(c, s)) || (r.precision = o), t.formatPrefix(r, s); - case "": - case "e": - case "g": - case "p": - case "r": - null != r.precision || isNaN(o = Sp(c, Math.max(Math.abs(u), Math.abs(a)))) || (r.precision = o - ("e" === r.type)); - break; - case "f": - case "%": - null != r.precision || isNaN(o = kp(c)) || (r.precision = o - 2 * ("%" === r.type)) - } - return t.format(r) - }, - R_ = function (t, n) { - var e, r = 0, - i = (t = t.slice()).length - 1, - o = t[r], - u = t[i]; - return u < o && (e = r, r = i, i = e, e = o, o = u, u = e), t[r] = n.floor(o), t[i] = n.ceil(u), t - }, - L_ = new Date, - q_ = new Date, - U_ = Mu(function () {}, function (t, n) { - t.setTime(+t + n) - }, function (t, n) { - return n - t - }); - U_.every = function (t) { - return t = Math.floor(t), isFinite(t) && t > 0 ? t > 1 ? Mu(function (n) { - n.setTime(Math.floor(n / t) * t) - }, function (n, e) { - n.setTime(+n + e * t) - }, function (n, e) { - return (e - n) / t - }) : U_ : null - }; - var D_ = U_.range, - O_ = 6e4, - F_ = 6048e5, - I_ = Mu(function (t) { - t.setTime(1e3 * Math.floor(t / 1e3)) - }, function (t, n) { - t.setTime(+t + 1e3 * n) - }, function (t, n) { - return (n - t) / 1e3 - }, function (t) { - return t.getUTCSeconds() - }), - Y_ = I_.range, - B_ = Mu(function (t) { - t.setTime(Math.floor(t / O_) * O_) - }, function (t, n) { - t.setTime(+t + n * O_) - }, function (t, n) { - return (n - t) / O_ - }, function (t) { - return t.getMinutes() - }), - j_ = B_.range, - H_ = Mu(function (t) { - var n = t.getTimezoneOffset() * O_ % 36e5; - n < 0 && (n += 36e5), t.setTime(36e5 * Math.floor((+t - n) / 36e5) + n) - }, function (t, n) { - t.setTime(+t + 36e5 * n) - }, function (t, n) { - return (n - t) / 36e5 - }, function (t) { - return t.getHours() - }), - X_ = H_.range, - $_ = Mu(function (t) { - t.setHours(0, 0, 0, 0) - }, function (t, n) { - t.setDate(t.getDate() + n) - }, function (t, n) { - return (n - t - (n.getTimezoneOffset() - t.getTimezoneOffset()) * O_) / 864e5 - }, function (t) { - return t.getDate() - 1 - }), - V_ = $_.range, - W_ = Tu(0), - Z_ = Tu(1), - G_ = Tu(2), - J_ = Tu(3), - Q_ = Tu(4), - K_ = Tu(5), - ty = Tu(6), - ny = W_.range, - ey = Z_.range, - ry = G_.range, - iy = J_.range, - oy = Q_.range, - uy = K_.range, - ay = ty.range, - cy = Mu(function (t) { - t.setDate(1), t.setHours(0, 0, 0, 0) - }, function (t, n) { - t.setMonth(t.getMonth() + n) - }, function (t, n) { - return n.getMonth() - t.getMonth() + 12 * (n.getFullYear() - t.getFullYear()) - }, function (t) { - return t.getMonth() - }), - sy = cy.range, - fy = Mu(function (t) { - t.setMonth(0, 1), t.setHours(0, 0, 0, 0) - }, function (t, n) { - t.setFullYear(t.getFullYear() + n) - }, function (t, n) { - return n.getFullYear() - t.getFullYear() - }, function (t) { - return t.getFullYear() - }); - fy.every = function (t) { - return isFinite(t = Math.floor(t)) && t > 0 ? Mu(function (n) { - n.setFullYear(Math.floor(n.getFullYear() / t) * t), n.setMonth(0, 1), n.setHours(0, 0, 0, 0) - }, function (n, e) { - n.setFullYear(n.getFullYear() + e * t) - }) : null - }; - var ly = fy.range, - hy = Mu(function (t) { - t.setUTCSeconds(0, 0) - }, function (t, n) { - t.setTime(+t + n * O_) - }, function (t, n) { - return (n - t) / O_ - }, function (t) { - return t.getUTCMinutes() - }), - py = hy.range, - dy = Mu(function (t) { - t.setUTCMinutes(0, 0, 0) - }, function (t, n) { - t.setTime(+t + 36e5 * n) - }, function (t, n) { - return (n - t) / 36e5 - }, function (t) { - return t.getUTCHours() - }), - vy = dy.range, - _y = Mu(function (t) { - t.setUTCHours(0, 0, 0, 0) - }, function (t, n) { - t.setUTCDate(t.getUTCDate() + n) - }, function (t, n) { - return (n - t) / 864e5 - }, function (t) { - return t.getUTCDate() - 1 - }), - yy = _y.range, - gy = ku(0), - my = ku(1), - xy = ku(2), - by = ku(3), - wy = ku(4), - My = ku(5), - Ty = ku(6), - ky = gy.range, - Ny = my.range, - Sy = xy.range, - Ey = by.range, - Ay = wy.range, - Cy = My.range, - zy = Ty.range, - Py = Mu(function (t) { - t.setUTCDate(1), t.setUTCHours(0, 0, 0, 0) - }, function (t, n) { - t.setUTCMonth(t.getUTCMonth() + n) - }, function (t, n) { - return n.getUTCMonth() - t.getUTCMonth() + 12 * (n.getUTCFullYear() - t.getUTCFullYear()) - }, function (t) { - return t.getUTCMonth() - }), - Ry = Py.range, - Ly = Mu(function (t) { - t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0) - }, function (t, n) { - t.setUTCFullYear(t.getUTCFullYear() + n) - }, function (t, n) { - return n.getUTCFullYear() - t.getUTCFullYear() - }, function (t) { - return t.getUTCFullYear() - }); - Ly.every = function (t) { - return isFinite(t = Math.floor(t)) && t > 0 ? Mu(function (n) { - n.setUTCFullYear(Math.floor(n.getUTCFullYear() / t) * t), n.setUTCMonth(0, 1), n.setUTCHours(0, 0, 0, 0) - }, function (n, e) { - n.setUTCFullYear(n.getUTCFullYear() + e * t) - }) : null - }; - var qy, Uy = Ly.range, - Dy = { - "-": "", - _: " ", - 0: "0" - }, - Oy = /^\s*\d+/, - Fy = /^%/, - Iy = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g; - Ma({ - dateTime: "%x, %X", - date: "%-m/%-d/%Y", - time: "%-I:%M:%S %p", - periods: ["AM", "PM"], - days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], - shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], - months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], - shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] - }); - var Yy = Date.prototype.toISOString ? function (t) { - return t.toISOString() - } : t.utcFormat("%Y-%m-%dT%H:%M:%S.%LZ"), - By = +new Date("2000-01-01T00:00:00.000Z") ? function (t) { - var n = new Date(t); - return isNaN(n) ? null : n - } : t.utcParse("%Y-%m-%dT%H:%M:%S.%LZ"), - jy = 1e3, - Hy = 60 * jy, - Xy = 60 * Hy, - $y = 24 * Xy, - Vy = 7 * $y, - Wy = 30 * $y, - Zy = 365 * $y, - Gy = function (t) { - return t.match(/.{6}/g).map(function (t) { - return "#" + t - }) - }, - Jy = Gy("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"), - Qy = Gy("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"), - Ky = Gy("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"), - tg = Gy("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"), - ng = wl($t(300, .5, 0), $t(-240, .5, 1)), - eg = wl($t(-100, .75, .35), $t(80, 1.5, .8)), - rg = wl($t(260, .75, .35), $t(80, 1.5, .8)), - ig = $t(), - og = Sa(Gy("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")), - ug = Sa(Gy("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")), - ag = Sa(Gy("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")), - cg = Sa(Gy("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921")), - sg = function (t) { - return function () { - return t - } - }, - fg = Math.abs, - lg = Math.atan2, - hg = Math.cos, - pg = Math.max, - dg = Math.min, - vg = Math.sin, - _g = Math.sqrt, - yg = 1e-12, - gg = Math.PI, - mg = gg / 2, - xg = 2 * gg; - Oa.prototype = { - areaStart: function () { - this._line = 0 - }, - areaEnd: function () { - this._line = NaN - }, - lineStart: function () { - this._point = 0 - }, - lineEnd: function () { - (this._line || 0 !== this._line && 1 === this._point) && this._context.closePath(), this._line = 1 - this._line - }, - point: function (t, n) { - switch (t = +t, n = +n, this._point) { - case 0: - this._point = 1, this._line ? this._context.lineTo(t, n) : this._context.moveTo(t, n); - break; - case 1: - this._point = 2; - default: - this._context.lineTo(t, n) - } - } - }; - var bg = function (t) { - return new Oa(t) - }, - wg = function () { - function t(t) { - var a, c, s, f = t.length, - l = !1; - for (null == i && (u = o(s = ve())), a = 0; a <= f; ++a) !(a < f && r(c = t[a], a, t)) === l && ((l = !l) ? u.lineStart() : u.lineEnd()), l && u.point(+n(c, a, t), +e(c, a, t)); - if (s) return u = null, s + "" || null - } - var n = Fa, - e = Ia, - r = sg(!0), - i = null, - o = bg, - u = null; - return t.x = function (e) { - return arguments.length ? (n = "function" == typeof e ? e : sg(+e), t) : n - }, t.y = function (n) { - return arguments.length ? (e = "function" == typeof n ? n : sg(+n), t) : e - }, t.defined = function (n) { - return arguments.length ? (r = "function" == typeof n ? n : sg(!!n), t) : r - }, t.curve = function (n) { - return arguments.length ? (o = n, null != i && (u = o(i)), t) : o - }, t.context = function (n) { - return arguments.length ? (null == n ? i = u = null : u = o(i = n), t) : i - }, t - }, - Mg = function () { - function t(t) { - var n, f, l, h, p, d = t.length, - v = !1, - _ = new Array(d), - y = new Array(d); - for (null == a && (s = c(p = ve())), n = 0; n <= d; ++n) { - if (!(n < d && u(h = t[n], n, t)) === v) - if (v = !v) f = n, s.areaStart(), s.lineStart(); - else { - for (s.lineEnd(), s.lineStart(), l = n - 1; l >= f; --l) s.point(_[l], y[l]); - s.lineEnd(), s.areaEnd() - } - v && (_[n] = +e(h, n, t), y[n] = +i(h, n, t), s.point(r ? +r(h, n, t) : _[n], o ? +o(h, n, t) : y[n])) - } - if (p) return s = null, p + "" || null - } - - function n() { - return wg().defined(u).curve(c).context(a) - } - var e = Fa, - r = null, - i = sg(0), - o = Ia, - u = sg(!0), - a = null, - c = bg, - s = null; - return t.x = function (n) { - return arguments.length ? (e = "function" == typeof n ? n : sg(+n), r = null, t) : e - }, t.x0 = function (n) { - return arguments.length ? (e = "function" == typeof n ? n : sg(+n), t) : e - }, t.x1 = function (n) { - return arguments.length ? (r = null == n ? null : "function" == typeof n ? n : sg(+n), t) : r - }, t.y = function (n) { - return arguments.length ? (i = "function" == typeof n ? n : sg(+n), o = null, t) : i - }, t.y0 = function (n) { - return arguments.length ? (i = "function" == typeof n ? n : sg(+n), t) : i - }, t.y1 = function (n) { - return arguments.length ? (o = null == n ? null : "function" == typeof n ? n : sg(+n), t) : o - }, t.lineX0 = t.lineY0 = function () { - return n().x(e).y(i) - }, t.lineY1 = function () { - return n().x(e).y(o) - }, t.lineX1 = function () { - return n().x(r).y(i) - }, t.defined = function (n) { - return arguments.length ? (u = "function" == typeof n ? n : sg(!!n), t) : u - }, t.curve = function (n) { - return arguments.length ? (c = n, null != a && (s = c(a)), t) : c - }, t.context = function (n) { - return arguments.length ? (null == n ? a = s = null : s = c(a = n), t) : a - }, t - }, - Tg = function (t, n) { - return n < t ? -1 : n > t ? 1 : n >= t ? 0 : NaN - }, - kg = function (t) { - return t - }, - Ng = Ba(bg); - Ya.prototype = { - areaStart: function () { - this._curve.areaStart() - }, - areaEnd: function () { - this._curve.areaEnd() - }, - lineStart: function () { - this._curve.lineStart() - }, - lineEnd: function () { - this._curve.lineEnd() - }, - point: function (t, n) { - this._curve.point(n * Math.sin(t), n * -Math.cos(t)) - } - }; - var Sg = function () { - return ja(wg().curve(Ng)) - }, - Eg = function () { - var t = Mg().curve(Ng), - n = t.curve, - e = t.lineX0, - r = t.lineX1, - i = t.lineY0, - o = t.lineY1; - return t.angle = t.x, delete t.x, t.startAngle = t.x0, delete t.x0, t.endAngle = t.x1, delete t.x1, t.radius = t.y, delete t.y, t.innerRadius = t.y0, delete t.y0, t.outerRadius = t.y1, delete t.y1, t.lineStartAngle = function () { - return ja(e()) - }, delete t.lineX0, t.lineEndAngle = function () { - return ja(r()) - }, delete t.lineX1, t.lineInnerRadius = function () { - return ja(i()) - }, delete t.lineY0, t.lineOuterRadius = function () { - return ja(o()) - }, delete t.lineY1, t.curve = function (t) { - return arguments.length ? n(Ba(t)) : n()._curve - }, t - }, - Ag = function (t, n) { - return [(n = +n) * Math.cos(t -= Math.PI / 2), n * Math.sin(t)] - }, - Cg = Array.prototype.slice, - zg = { - draw: function (t, n) { - var e = Math.sqrt(n / gg); - t.moveTo(e, 0), t.arc(0, 0, e, 0, xg) - } - }, - Pg = { - draw: function (t, n) { - var e = Math.sqrt(n / 5) / 2; - t.moveTo(-3 * e, -e), t.lineTo(-e, -e), t.lineTo(-e, -3 * e), t.lineTo(e, -3 * e), t.lineTo(e, -e), t.lineTo(3 * e, -e), t.lineTo(3 * e, e), t.lineTo(e, e), t.lineTo(e, 3 * e), t.lineTo(-e, 3 * e), t.lineTo(-e, e), t.lineTo(-3 * e, e), t.closePath() - } - }, - Rg = Math.sqrt(1 / 3), - Lg = 2 * Rg, - qg = { - draw: function (t, n) { - var e = Math.sqrt(n / Lg), - r = e * Rg; - t.moveTo(0, -e), t.lineTo(r, 0), t.lineTo(0, e), t.lineTo(-r, 0), t.closePath() - } - }, - Ug = Math.sin(gg / 10) / Math.sin(7 * gg / 10), - Dg = Math.sin(xg / 10) * Ug, - Og = -Math.cos(xg / 10) * Ug, - Fg = { - draw: function (t, n) { - var e = Math.sqrt(.8908130915292852 * n), - r = Dg * e, - i = Og * e; - t.moveTo(0, -e), t.lineTo(r, i); - for (var o = 1; o < 5; ++o) { - var u = xg * o / 5, - a = Math.cos(u), - c = Math.sin(u); - t.lineTo(c * e, -a * e), t.lineTo(a * r - c * i, c * r + a * i) - } - t.closePath() - } - }, - Ig = { - draw: function (t, n) { - var e = Math.sqrt(n), - r = -e / 2; - t.rect(r, r, e, e) - } - }, - Yg = Math.sqrt(3), - Bg = { - draw: function (t, n) { - var e = -Math.sqrt(n / (3 * Yg)); - t.moveTo(0, 2 * e), t.lineTo(-Yg * e, -e), t.lineTo(Yg * e, -e), t.closePath() - } - }, - jg = -.5, - Hg = Math.sqrt(3) / 2, - Xg = 1 / Math.sqrt(12), - $g = 3 * (Xg / 2 + 1), - Vg = { - draw: function (t, n) { - var e = Math.sqrt(n / $g), - r = e / 2, - i = e * Xg, - o = r, - u = e * Xg + e, - a = -o, - c = u; - t.moveTo(r, i), t.lineTo(o, u), t.lineTo(a, c), t.lineTo(jg * r - Hg * i, Hg * r + jg * i), t.lineTo(jg * o - Hg * u, Hg * o + jg * u), t.lineTo(jg * a - Hg * c, Hg * a + jg * c), t.lineTo(jg * r + Hg * i, jg * i - Hg * r), t.lineTo(jg * o + Hg * u, jg * u - Hg * o), t.lineTo(jg * a + Hg * c, jg * c - Hg * a), t.closePath() - } - }, - Wg = [zg, Pg, qg, Ig, Fg, Bg, Vg], - Zg = function () {}; - Ja.prototype = { - areaStart: function () { - this._line = 0 - }, - areaEnd: function () { - this._line = NaN - }, - lineStart: function () { - this._x0 = this._x1 = this._y0 = this._y1 = NaN, this._point = 0 - }, - lineEnd: function () { - switch (this._point) { - case 3: - Ga(this, this._x1, this._y1); - case 2: - this._context.lineTo(this._x1, this._y1) - }(this._line || 0 !== this._line && 1 === this._point) && this._context.closePath(), this._line = 1 - this._line - }, - point: function (t, n) { - switch (t = +t, n = +n, this._point) { - case 0: - this._point = 1, this._line ? this._context.lineTo(t, n) : this._context.moveTo(t, n); - break; - case 1: - this._point = 2; - break; - case 2: - this._point = 3, this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); - default: - Ga(this, t, n) - } - this._x0 = this._x1, this._x1 = t, this._y0 = this._y1, this._y1 = n - } - }; - Qa.prototype = { - areaStart: Zg, - areaEnd: Zg, - lineStart: function () { - this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN, this._point = 0 - }, - lineEnd: function () { - switch (this._point) { - case 1: - this._context.moveTo(this._x2, this._y2), this._context.closePath(); - break; - case 2: - this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3), this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3), this._context.closePath(); - break; - case 3: - this.point(this._x2, this._y2), this.point(this._x3, this._y3), this.point(this._x4, this._y4) - } - }, - point: function (t, n) { - switch (t = +t, n = +n, this._point) { - case 0: - this._point = 1, this._x2 = t, this._y2 = n; - break; - case 1: - this._point = 2, this._x3 = t, this._y3 = n; - break; - case 2: - this._point = 3, this._x4 = t, this._y4 = n, this._context.moveTo((this._x0 + 4 * this._x1 + t) / 6, (this._y0 + 4 * this._y1 + n) / 6); - break; - default: - Ga(this, t, n) - } - this._x0 = this._x1, this._x1 = t, this._y0 = this._y1, this._y1 = n - } - }; - Ka.prototype = { - areaStart: function () { - this._line = 0 - }, - areaEnd: function () { - this._line = NaN - }, - lineStart: function () { - this._x0 = this._x1 = this._y0 = this._y1 = NaN, this._point = 0 - }, - lineEnd: function () { - (this._line || 0 !== this._line && 3 === this._point) && this._context.closePath(), this._line = 1 - this._line - }, - point: function (t, n) { - switch (t = +t, n = +n, this._point) { - case 0: - this._point = 1; - break; - case 1: - this._point = 2; - break; - case 2: - this._point = 3; - var e = (this._x0 + 4 * this._x1 + t) / 6, - r = (this._y0 + 4 * this._y1 + n) / 6; - this._line ? this._context.lineTo(e, r) : this._context.moveTo(e, r); - break; - case 3: - this._point = 4; - default: - Ga(this, t, n) - } - this._x0 = this._x1, this._x1 = t, this._y0 = this._y1, this._y1 = n - } - }; - tc.prototype = { - lineStart: function () { - this._x = [], this._y = [], this._basis.lineStart() - }, - lineEnd: function () { - var t = this._x, - n = this._y, - e = t.length - 1; - if (e > 0) - for (var r, i = t[0], o = n[0], u = t[e] - i, a = n[e] - o, c = -1; ++c <= e;) r = c / e, this._basis.point(this._beta * t[c] + (1 - this._beta) * (i + r * u), this._beta * n[c] + (1 - this._beta) * (o + r * a)); - this._x = this._y = null, this._basis.lineEnd() - }, - point: function (t, n) { - this._x.push(+t), this._y.push(+n) - } - }; - var Gg = function t(n) { - function e(t) { - return 1 === n ? new Ja(t) : new tc(t, n) - } - return e.beta = function (n) { - return t(+n) - }, e - }(.85); - ec.prototype = { - areaStart: function () { - this._line = 0 - }, - areaEnd: function () { - this._line = NaN - }, - lineStart: function () { - this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._point = 0 - }, - lineEnd: function () { - switch (this._point) { - case 2: - this._context.lineTo(this._x2, this._y2); - break; - case 3: - nc(this, this._x1, this._y1) - }(this._line || 0 !== this._line && 1 === this._point) && this._context.closePath(), this._line = 1 - this._line - }, - point: function (t, n) { - switch (t = +t, n = +n, this._point) { - case 0: - this._point = 1, this._line ? this._context.lineTo(t, n) : this._context.moveTo(t, n); - break; - case 1: - this._point = 2, this._x1 = t, this._y1 = n; - break; - case 2: - this._point = 3; - default: - nc(this, t, n) - } - this._x0 = this._x1, this._x1 = this._x2, this._x2 = t, this._y0 = this._y1, this._y1 = this._y2, this._y2 = n - } - }; - var Jg = function t(n) { - function e(t) { - return new ec(t, n) - } - return e.tension = function (n) { - return t(+n) - }, e - }(0); - rc.prototype = { - areaStart: Zg, - areaEnd: Zg, - lineStart: function () { - this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN, this._point = 0 - }, - lineEnd: function () { - switch (this._point) { - case 1: - this._context.moveTo(this._x3, this._y3), this._context.closePath(); - break; - case 2: - this._context.lineTo(this._x3, this._y3), this._context.closePath(); - break; - case 3: - this.point(this._x3, this._y3), this.point(this._x4, this._y4), this.point(this._x5, this._y5) - } - }, - point: function (t, n) { - switch (t = +t, n = +n, this._point) { - case 0: - this._point = 1, this._x3 = t, this._y3 = n; - break; - case 1: - this._point = 2, this._context.moveTo(this._x4 = t, this._y4 = n); - break; - case 2: - this._point = 3, this._x5 = t, this._y5 = n; - break; - default: - nc(this, t, n) - } - this._x0 = this._x1, this._x1 = this._x2, this._x2 = t, this._y0 = this._y1, this._y1 = this._y2, this._y2 = n - } - }; - var Qg = function t(n) { - function e(t) { - return new rc(t, n) - } - return e.tension = function (n) { - return t(+n) - }, e - }(0); - ic.prototype = { - areaStart: function () { - this._line = 0 - }, - areaEnd: function () { - this._line = NaN - }, - lineStart: function () { - this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._point = 0 - }, - lineEnd: function () { - (this._line || 0 !== this._line && 3 === this._point) && this._context.closePath(), this._line = 1 - this._line - }, - point: function (t, n) { - switch (t = +t, n = +n, this._point) { - case 0: - this._point = 1; - break; - case 1: - this._point = 2; - break; - case 2: - this._point = 3, this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); - break; - case 3: - this._point = 4; - default: - nc(this, t, n) - } - this._x0 = this._x1, this._x1 = this._x2, this._x2 = t, this._y0 = this._y1, this._y1 = this._y2, this._y2 = n - } - }; - var Kg = function t(n) { - function e(t) { - return new ic(t, n) - } - return e.tension = function (n) { - return t(+n) - }, e - }(0); - uc.prototype = { - areaStart: function () { - this._line = 0 - }, - areaEnd: function () { - this._line = NaN - }, - lineStart: function () { - this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0 - }, - lineEnd: function () { - switch (this._point) { - case 2: - this._context.lineTo(this._x2, this._y2); - break; - case 3: - this.point(this._x2, this._y2) - }(this._line || 0 !== this._line && 1 === this._point) && this._context.closePath(), this._line = 1 - this._line - }, - point: function (t, n) { - if (t = +t, n = +n, this._point) { - var e = this._x2 - t, - r = this._y2 - n; - this._l23_a = Math.sqrt(this._l23_2a = Math.pow(e * e + r * r, this._alpha)) - } - switch (this._point) { - case 0: - this._point = 1, this._line ? this._context.lineTo(t, n) : this._context.moveTo(t, n); - break; - case 1: - this._point = 2; - break; - case 2: - this._point = 3; - default: - oc(this, t, n) - } - this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = t, this._y0 = this._y1, this._y1 = this._y2, this._y2 = n - } - }; - var tm = function t(n) { - function e(t) { - return n ? new uc(t, n) : new ec(t, 0) - } - return e.alpha = function (n) { - return t(+n) - }, e - }(.5); - ac.prototype = { - areaStart: Zg, - areaEnd: Zg, - lineStart: function () { - this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0 - }, - lineEnd: function () { - switch (this._point) { - case 1: - this._context.moveTo(this._x3, this._y3), this._context.closePath(); - break; - case 2: - this._context.lineTo(this._x3, this._y3), this._context.closePath(); - break; - case 3: - this.point(this._x3, this._y3), this.point(this._x4, this._y4), this.point(this._x5, this._y5) - } - }, - point: function (t, n) { - if (t = +t, n = +n, this._point) { - var e = this._x2 - t, - r = this._y2 - n; - this._l23_a = Math.sqrt(this._l23_2a = Math.pow(e * e + r * r, this._alpha)) - } - switch (this._point) { - case 0: - this._point = 1, this._x3 = t, this._y3 = n; - break; - case 1: - this._point = 2, this._context.moveTo(this._x4 = t, this._y4 = n); - break; - case 2: - this._point = 3, this._x5 = t, this._y5 = n; - break; - default: - oc(this, t, n) - } - this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = t, this._y0 = this._y1, this._y1 = this._y2, this._y2 = n - } - }; - var nm = function t(n) { - function e(t) { - return n ? new ac(t, n) : new rc(t, 0) - } - return e.alpha = function (n) { - return t(+n) - }, e - }(.5); - cc.prototype = { - areaStart: function () { - this._line = 0 - }, - areaEnd: function () { - this._line = NaN - }, - lineStart: function () { - this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0 - }, - lineEnd: function () { - (this._line || 0 !== this._line && 3 === this._point) && this._context.closePath(), this._line = 1 - this._line - }, - point: function (t, n) { - if (t = +t, n = +n, this._point) { - var e = this._x2 - t, - r = this._y2 - n; - this._l23_a = Math.sqrt(this._l23_2a = Math.pow(e * e + r * r, this._alpha)) - } - switch (this._point) { - case 0: - this._point = 1; - break; - case 1: - this._point = 2; - break; - case 2: - this._point = 3, this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); - break; - case 3: - this._point = 4; - default: - oc(this, t, n) - } - this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = t, this._y0 = this._y1, this._y1 = this._y2, this._y2 = n - } - }; - var em = function t(n) { - function e(t) { - return n ? new cc(t, n) : new ic(t, 0) - } - return e.alpha = function (n) { - return t(+n) - }, e - }(.5); - sc.prototype = { - areaStart: Zg, - areaEnd: Zg, - lineStart: function () { - this._point = 0 - }, - lineEnd: function () { - this._point && this._context.closePath() - }, - point: function (t, n) { - t = +t, n = +n, this._point ? this._context.lineTo(t, n) : (this._point = 1, this._context.moveTo(t, n)) - } - }; - dc.prototype = { - areaStart: function () { - this._line = 0 - }, - areaEnd: function () { - this._line = NaN - }, - lineStart: function () { - this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN, this._point = 0 - }, - lineEnd: function () { - switch (this._point) { - case 2: - this._context.lineTo(this._x1, this._y1); - break; - case 3: - pc(this, this._t0, hc(this, this._t0)) - }(this._line || 0 !== this._line && 1 === this._point) && this._context.closePath(), this._line = 1 - this._line - }, - point: function (t, n) { - var e = NaN; - if (t = +t, n = +n, t !== this._x1 || n !== this._y1) { - switch (this._point) { - case 0: - this._point = 1, this._line ? this._context.lineTo(t, n) : this._context.moveTo(t, n); - break; - case 1: - this._point = 2; - break; - case 2: - this._point = 3, pc(this, hc(this, e = lc(this, t, n)), e); - break; - default: - pc(this, this._t0, e = lc(this, t, n)) - } - this._x0 = this._x1, this._x1 = t, this._y0 = this._y1, this._y1 = n, this._t0 = e - } - } - }, (vc.prototype = Object.create(dc.prototype)).point = function (t, n) { - dc.prototype.point.call(this, n, t) - }, _c.prototype = { - moveTo: function (t, n) { - this._context.moveTo(n, t) - }, - closePath: function () { - this._context.closePath() - }, - lineTo: function (t, n) { - this._context.lineTo(n, t) - }, - bezierCurveTo: function (t, n, e, r, i, o) { - this._context.bezierCurveTo(n, t, r, e, o, i) - } - }, yc.prototype = { - areaStart: function () { - this._line = 0 - }, - areaEnd: function () { - this._line = NaN - }, - lineStart: function () { - this._x = [], this._y = [] - }, - lineEnd: function () { - var t = this._x, - n = this._y, - e = t.length; - if (e) - if (this._line ? this._context.lineTo(t[0], n[0]) : this._context.moveTo(t[0], n[0]), 2 === e) this._context.lineTo(t[1], n[1]); - else - for (var r = gc(t), i = gc(n), o = 0, u = 1; u < e; ++o, ++u) this._context.bezierCurveTo(r[0][o], i[0][o], r[1][o], i[1][o], t[u], n[u]); - (this._line || 0 !== this._line && 1 === e) && this._context.closePath(), this._line = 1 - this._line, this._x = this._y = null - }, - point: function (t, n) { - this._x.push(+t), this._y.push(+n) - } - }; - mc.prototype = { - areaStart: function () { - this._line = 0 - }, - areaEnd: function () { - this._line = NaN - }, - lineStart: function () { - this._x = this._y = NaN, this._point = 0 - }, - lineEnd: function () { - 0 < this._t && this._t < 1 && 2 === this._point && this._context.lineTo(this._x, this._y), (this._line || 0 !== this._line && 1 === this._point) && this._context.closePath(), this._line >= 0 && (this._t = 1 - this._t, this._line = 1 - this._line) - }, - point: function (t, n) { - switch (t = +t, n = +n, this._point) { - case 0: - this._point = 1, this._line ? this._context.lineTo(t, n) : this._context.moveTo(t, n); - break; - case 1: - this._point = 2; - default: - if (this._t <= 0) this._context.lineTo(this._x, n), this._context.lineTo(t, n); - else { - var e = this._x * (1 - this._t) + t * this._t; - this._context.lineTo(e, this._y), this._context.lineTo(e, n) - } - } - this._x = t, this._y = n - } - }; - var rm = function (t, n) { - if ((i = t.length) > 1) - for (var e, r, i, o = 1, u = t[n[0]], a = u.length; o < i; ++o) - for (r = u, u = t[n[o]], e = 0; e < a; ++e) u[e][1] += u[e][0] = isNaN(r[e][1]) ? r[e][0] : r[e][1] - }, - im = function (t) { - for (var n = t.length, e = new Array(n); --n >= 0;) e[n] = n; - return e - }, - om = function (t) { - var n = t.map(bc); - return im(t).sort(function (t, e) { - return n[t] - n[e] - }) - }, - um = function (t) { - return function () { - return t - } - }; - Tc.prototype = { - constructor: Tc, - insert: function (t, n) { - var e, r, i; - if (t) { - if (n.P = t, n.N = t.N, t.N && (t.N.P = n), t.N = n, t.R) { - for (t = t.R; t.L;) t = t.L; - t.L = n - } else t.R = n; - e = t - } else this._ ? (t = Ec(this._), n.P = null, n.N = t, t.P = t.L = n, e = t) : (n.P = n.N = null, this._ = n, e = null); - for (n.L = n.R = null, n.U = e, n.C = !0, t = n; e && e.C;) e === (r = e.U).L ? (i = r.R) && i.C ? (e.C = i.C = !1, r.C = !0, t = r) : (t === e.R && (Nc(this, e), e = (t = e).U), e.C = !1, r.C = !0, Sc(this, r)) : (i = r.L) && i.C ? (e.C = i.C = !1, r.C = !0, t = r) : (t === e.L && (Sc(this, e), e = (t = e).U), e.C = !1, r.C = !0, Nc(this, r)), e = t.U; - this._.C = !1 - }, - remove: function (t) { - t.N && (t.N.P = t.P), t.P && (t.P.N = t.N), t.N = t.P = null; - var n, e, r, i = t.U, - o = t.L, - u = t.R; - if (e = o ? u ? Ec(u) : o : u, i ? i.L === t ? i.L = e : i.R = e : this._ = e, o && u ? (r = e.C, e.C = t.C, e.L = o, o.U = e, e !== u ? (i = e.U, e.U = t.U, t = e.R, i.L = t, e.R = u, u.U = e) : (e.U = i, i = e, t = e.R)) : (r = t.C, t = e), t && (t.U = i), !r) - if (t && t.C) t.C = !1; - else { - do { - if (t === this._) break; - if (t === i.L) { - if ((n = i.R).C && (n.C = !1, i.C = !0, Nc(this, i), n = i.R), n.L && n.L.C || n.R && n.R.C) { - n.R && n.R.C || (n.L.C = !1, n.C = !0, Sc(this, n), n = i.R), n.C = i.C, i.C = n.R.C = !1, Nc(this, i), t = this._; - break - } - } else if ((n = i.L).C && (n.C = !1, i.C = !0, Sc(this, i), n = i.L), n.L && n.L.C || n.R && n.R.C) { - n.L && n.L.C || (n.R.C = !1, n.C = !0, Nc(this, n), n = i.L), n.C = i.C, i.C = n.L.C = !1, Sc(this, i), t = this._; - break - } - n.C = !0, t = i, i = i.U - } while (!t.C); - t && (t.C = !1) - } - } - }; - var am, cm, sm, fm, lm, hm = [], - pm = [], - dm = 1e-6, - vm = 1e-12; - Kc.prototype = { - constructor: Kc, - polygons: function () { - var t = this.edges; - return this.cells.map(function (n) { - var e = n.halfedges.map(function (e) { - return Dc(n, t[e]) - }); - return e.data = n.site.data, e - }) - }, - triangles: function () { - var t = [], - n = this.edges; - return this.cells.forEach(function (e, r) { - if (o = (i = e.halfedges).length) - for (var i, o, u, a = e.site, c = -1, s = n[i[o - 1]], f = s.left === a ? s.right : s.left; ++c < o;) u = f, f = (s = n[i[c]]).left === a ? s.right : s.left, u && f && r < u.index && r < f.index && Jc(a, u, f) < 0 && t.push([a.data, u.data, f.data]) - }), t - }, - links: function () { - return this.edges.filter(function (t) { - return t.right - }).map(function (t) { - return { - source: t.left.data, - target: t.right.data - } - }) - }, - find: function (t, n, e) { - for (var r, i, o = this, u = o._found || 0, a = o.cells.length; !(i = o.cells[u]);) - if (++u >= a) return null; - var c = t - i.site[0], - s = n - i.site[1], - f = c * c + s * s; - do { - i = o.cells[r = u], u = null, i.halfedges.forEach(function (e) { - var r = o.edges[e], - a = r.left; - if (a !== i.site && a || (a = r.right)) { - var c = t - a[0], - s = n - a[1], - l = c * c + s * s; - l < f && (f = l, u = a.index) - } - }) - } while (null !== u); - return o._found = r, null == e || f <= e * e ? i.site : null - } - }; - var _m = function (t) { - return function () { - return t - } - }; - ns.prototype = { - constructor: ns, - scale: function (t) { - return 1 === t ? this : new ns(this.k * t, this.x, this.y) - }, - translate: function (t, n) { - return 0 === t & 0 === n ? this : new ns(this.k, this.x + this.k * t, this.y + this.k * n) - }, - apply: function (t) { - return [t[0] * this.k + this.x, t[1] * this.k + this.y] - }, - applyX: function (t) { - return t * this.k + this.x - }, - applyY: function (t) { - return t * this.k + this.y - }, - invert: function (t) { - return [(t[0] - this.x) / this.k, (t[1] - this.y) / this.k] - }, - invertX: function (t) { - return (t - this.x) / this.k - }, - invertY: function (t) { - return (t - this.y) / this.k - }, - rescaleX: function (t) { - return t.copy().domain(t.range().map(this.invertX, this).map(t.invert, t)) - }, - rescaleY: function (t) { - return t.copy().domain(t.range().map(this.invertY, this).map(t.invert, t)) - }, - toString: function () { - return "translate(" + this.x + "," + this.y + ") scale(" + this.k + ")" - } - }; - var ym = new ns(1, 0, 0); - es.prototype = ns.prototype; - var gm = function () { - t.event.preventDefault(), t.event.stopImmediatePropagation() - }; - t.version = "4.10.2", t.bisect = hs, t.bisectRight = hs, t.bisectLeft = ps, t.ascending = ss, t.bisector = fs, t.cross = function (t, n, r) { - var i, o, u, a, c = t.length, - s = n.length, - f = new Array(c * s); - for (null == r && (r = e), i = u = 0; i < c; ++i) - for (a = t[i], o = 0; o < s; ++o, ++u) f[u] = r(a, n[o]); - return f - }, t.descending = function (t, n) { - return n < t ? -1 : n > t ? 1 : n >= t ? 0 : NaN - }, t.deviation = _s, t.extent = ys, t.histogram = function () { - function t(t) { - var o, u, a = t.length, - c = new Array(a); - for (o = 0; o < a; ++o) c[o] = n(t[o], o, t); - var s = e(c), - f = s[0], - l = s[1], - h = r(c, f, l); - Array.isArray(h) || (h = i(f, l, h), h = Ms(Math.ceil(f / h) * h, Math.floor(l / h) * h, h)); - for (var p = h.length; h[0] <= f;) h.shift(), --p; - for (; h[p - 1] > l;) h.pop(), --p; - var d, v = new Array(p + 1); - for (o = 0; o <= p; ++o)(d = v[o] = []).x0 = o > 0 ? h[o - 1] : f, d.x1 = o < p ? h[o] : l; - for (o = 0; o < a; ++o) f <= (u = c[o]) && u <= l && v[hs(h, u, 0, p)].push(t[o]); - return v - } - var n = ws, - e = ys, - r = Es; - return t.value = function (e) { - return arguments.length ? (n = "function" == typeof e ? e : bs(e), t) : n - }, t.domain = function (n) { - return arguments.length ? (e = "function" == typeof n ? n : bs([n[0], n[1]]), t) : e - }, t.thresholds = function (n) { - return arguments.length ? (r = "function" == typeof n ? n : bs(Array.isArray(n) ? ms.call(n) : n), t) : r - }, t - }, t.thresholdFreedmanDiaconis = function (t, n, e) { - return t = xs.call(t, ds).sort(ss), Math.ceil((e - n) / (2 * (As(t, .75) - As(t, .25)) * Math.pow(t.length, -1 / 3))) - }, t.thresholdScott = function (t, n, e) { - return Math.ceil((e - n) / (3.5 * _s(t) * Math.pow(t.length, -1 / 3))) - }, t.thresholdSturges = Es, t.max = function (t, n) { - var e, r, i = t.length, - o = -1; - if (null == n) { - for (; ++o < i;) - if (null != (e = t[o]) && e >= e) - for (r = e; ++o < i;) null != (e = t[o]) && e > r && (r = e) - } else - for (; ++o < i;) - if (null != (e = n(t[o], o, t)) && e >= e) - for (r = e; ++o < i;) null != (e = n(t[o], o, t)) && e > r && (r = e); - return r - }, t.mean = function (t, n) { - var e, r = t.length, - i = r, - o = -1, - u = 0; - if (null == n) - for (; ++o < r;) isNaN(e = ds(t[o])) ? --i : u += e; - else - for (; ++o < r;) isNaN(e = ds(n(t[o], o, t))) ? --i : u += e; - if (i) return u / i - }, t.median = function (t, n) { - var e, r = t.length, - i = -1, - o = []; - if (null == n) - for (; ++i < r;) isNaN(e = ds(t[i])) || o.push(e); - else - for (; ++i < r;) isNaN(e = ds(n(t[i], i, t))) || o.push(e); - return As(o.sort(ss), .5) - }, t.merge = Cs, t.min = zs, t.pairs = function (t, n) { - null == n && (n = e); - for (var r = 0, i = t.length - 1, o = t[0], u = new Array(i < 0 ? 0 : i); r < i;) u[r] = n(o, o = t[++r]); - return u - }, t.permute = function (t, n) { - for (var e = n.length, r = new Array(e); e--;) r[e] = t[n[e]]; - return r - }, t.quantile = As, t.range = Ms, t.scan = function (t, n) { - if (e = t.length) { - var e, r, i = 0, - o = 0, - u = t[o]; - for (null == n && (n = ss); ++i < e;)(n(r = t[i], u) < 0 || 0 !== n(u, u)) && (u = r, o = i); - return 0 === n(u, u) ? o : void 0 - } - }, t.shuffle = function (t, n, e) { - for (var r, i, o = (null == e ? t.length : e) - (n = null == n ? 0 : +n); o;) i = Math.random() * o-- | 0, r = t[o + n], t[o + n] = t[i + n], t[i + n] = r; - return t - }, t.sum = function (t, n) { - var e, r = t.length, - i = -1, - o = 0; - if (null == n) - for (; ++i < r;)(e = +t[i]) && (o += e); - else - for (; ++i < r;)(e = +n(t[i], i, t)) && (o += e); - return o - }, t.ticks = Ss, t.tickIncrement = r, t.tickStep = i, t.transpose = Ps, t.variance = vs, t.zip = function () { - return Ps(arguments) - }, t.axisTop = function (t) { - return l(qs, t) - }, t.axisRight = function (t) { - return l(Us, t) - }, t.axisBottom = function (t) { - return l(Ds, t) - }, t.axisLeft = function (t) { - return l(Os, t) - }, t.brush = function () { - return he(Sh) - }, t.brushX = function () { - return he(kh) - }, t.brushY = function () { - return he(Nh) - }, t.brushSelection = function (t) { - var n = t.__brush; - return n ? n.dim.output(n.selection) : null - }, t.chord = function () { - function t(t) { - var o, u, a, c, s, f, l = t.length, - h = [], - p = Ms(l), - d = [], - v = [], - _ = v.groups = new Array(l), - y = new Array(l * l); - for (o = 0, s = -1; ++s < l;) { - for (u = 0, f = -1; ++f < l;) u += t[s][f]; - h.push(u), d.push(Ms(l)), o += u - } - for (e && p.sort(function (t, n) { - return e(h[t], h[n]) - }), r && d.forEach(function (n, e) { - n.sort(function (n, i) { - return r(t[e][n], t[e][i]) - }) - }), c = (o = Oh(0, Dh - n * l) / o) ? n : Dh / l, u = 0, s = -1; ++s < l;) { - for (a = u, f = -1; ++f < l;) { - var g = p[s], - m = d[g][f], - x = t[g][m], - b = u, - w = u += x * o; - y[m * l + g] = { - index: g, - subindex: m, - startAngle: b, - endAngle: w, - value: x - } - } - _[g] = { - index: g, - startAngle: a, - endAngle: u, - value: h[g] - }, u += c - } - for (s = -1; ++s < l;) - for (f = s - 1; ++f < l;) { - var M = y[f * l + s], - T = y[s * l + f]; - (M.value || T.value) && v.push(M.value < T.value ? { - source: T, - target: M - } : { - source: M, - target: T - }) - } - return i ? v.sort(i) : v - } - var n = 0, - e = null, - r = null, - i = null; - return t.padAngle = function (e) { - return arguments.length ? (n = Oh(0, e), t) : n - }, t.sortGroups = function (n) { - return arguments.length ? (e = n, t) : e - }, t.sortSubgroups = function (n) { - return arguments.length ? (r = n, t) : r - }, t.sortChords = function (n) { - return arguments.length ? (null == n ? i = null : (i = pe(n))._ = n, t) : i && i._ - }, t - }, t.ribbon = function () { - function t() { - var t, a = Fh.call(arguments), - c = n.apply(this, a), - s = e.apply(this, a), - f = +r.apply(this, (a[0] = c, a)), - l = i.apply(this, a) - Uh, - h = o.apply(this, a) - Uh, - p = f * Rh(l), - d = f * Lh(l), - v = +r.apply(this, (a[0] = s, a)), - _ = i.apply(this, a) - Uh, - y = o.apply(this, a) - Uh; - if (u || (u = t = ve()), u.moveTo(p, d), u.arc(0, 0, f, l, h), l === _ && h === y || (u.quadraticCurveTo(0, 0, v * Rh(_), v * Lh(_)), u.arc(0, 0, v, _, y)), u.quadraticCurveTo(0, 0, p, d), u.closePath(), t) return u = null, t + "" || null - } - var n = _e, - e = ye, - r = ge, - i = me, - o = xe, - u = null; - return t.radius = function (n) { - return arguments.length ? (r = "function" == typeof n ? n : Ih(+n), t) : r - }, t.startAngle = function (n) { - return arguments.length ? (i = "function" == typeof n ? n : Ih(+n), t) : i - }, t.endAngle = function (n) { - return arguments.length ? (o = "function" == typeof n ? n : Ih(+n), t) : o - }, t.source = function (e) { - return arguments.length ? (n = e, t) : n - }, t.target = function (n) { - return arguments.length ? (e = n, t) : e - }, t.context = function (n) { - return arguments.length ? (u = null == n ? null : n, t) : u - }, t - }, t.nest = function () { - function t(n, i, u, a) { - if (i >= o.length) return null != e && n.sort(e), null != r ? r(n) : n; - for (var c, s, f, l = -1, h = n.length, p = o[i++], d = we(), v = u(); ++l < h;)(f = d.get(c = p(s = n[l]) + "")) ? f.push(s) : d.set(c, [s]); - return d.each(function (n, e) { - a(v, e, t(n, i, u, a)) - }), v - } - - function n(t, e) { - if (++e > o.length) return t; - var i, a = u[e - 1]; - return null != r && e >= o.length ? i = t.entries() : (i = [], t.each(function (t, r) { - i.push({ - key: r, - values: n(t, e) - }) - })), null != a ? i.sort(function (t, n) { - return a(t.key, n.key) - }) : i - } - var e, r, i, o = [], - u = []; - return i = { - object: function (n) { - return t(n, 0, Me, Te) - }, - map: function (n) { - return t(n, 0, ke, Ne) - }, - entries: function (e) { - return n(t(e, 0, ke, Ne), 0) - }, - key: function (t) { - return o.push(t), i - }, - sortKeys: function (t) { - return u[o.length - 1] = t, i - }, - sortValues: function (t) { - return e = t, i - }, - rollup: function (t) { - return r = t, i - } - } - }, t.set = Ee, t.map = we, t.keys = function (t) { - var n = []; - for (var e in t) n.push(e); - return n - }, t.values = function (t) { - var n = []; - for (var e in t) n.push(t[e]); - return n - }, t.entries = function (t) { - var n = []; - for (var e in t) n.push({ - key: e, - value: t[e] - }); - return n - }, t.color = Tt, t.rgb = Et, t.hsl = Pt, t.lab = Ut, t.hcl = jt, t.cubehelix = $t, t.dispatch = h, t.drag = function () { - function n(t) { - t.on("mousedown.drag", e).filter(bt).on("touchstart.drag", o).on("touchmove.drag", u).on("touchend.drag touchcancel.drag", a).style("touch-action", "none").style("-webkit-tap-highlight-color", "rgba(0,0,0,0)") - } - - function e() { - if (!p && d.apply(this, arguments)) { - var n = c("mouse", v.apply(this, arguments), Ks, this, arguments); - n && (cf(t.event.view).on("mousemove.drag", r, !0).on("mouseup.drag", i, !0), lf(t.event.view), vt(), l = !1, s = t.event.clientX, f = t.event.clientY, n("start")) - } - } - - function r() { - if (ff(), !l) { - var n = t.event.clientX - s, - e = t.event.clientY - f; - l = n * n + e * e > x - } - y.mouse("drag") - } - - function i() { - cf(t.event.view).on("mousemove.drag mouseup.drag", null), _t(t.event.view, l), ff(), y.mouse("end") - } - - function o() { - if (d.apply(this, arguments)) { - var n, e, r = t.event.changedTouches, - i = v.apply(this, arguments), - o = r.length; - for (n = 0; n < o; ++n)(e = c(r[n].identifier, i, sf, this, arguments)) && (vt(), e("start")) - } - } - - function u() { - var n, e, r = t.event.changedTouches, - i = r.length; - for (n = 0; n < i; ++n)(e = y[r[n].identifier]) && (ff(), e("drag")) - } - - function a() { - var n, e, r = t.event.changedTouches, - i = r.length; - for (p && clearTimeout(p), p = setTimeout(function () { - p = null - }, 500), n = 0; n < i; ++n)(e = y[r[n].identifier]) && (vt(), e("end")) - } - - function c(e, r, i, o, u) { - var a, c, s, f = i(r, e), - l = g.copy(); - if (N(new yt(n, "beforestart", a, e, m, f[0], f[1], 0, 0, l), function () { - return null != (t.event.subject = a = _.apply(o, u)) && (c = a.x - f[0] || 0, s = a.y - f[1] || 0, !0) - })) return function t(h) { - var p, d = f; - switch (h) { - case "start": - y[e] = t, p = m++; - break; - case "end": - delete y[e], --m; - case "drag": - f = i(r, e), p = m - } - N(new yt(n, h, a, e, p, f[0] + c, f[1] + s, f[0] - d[0], f[1] - d[1], l), l.apply, l, [h, o, u]) - } - } - var s, f, l, p, d = gt, - v = mt, - _ = xt, - y = {}, - g = h("start", "drag", "end"), - m = 0, - x = 0; - return n.filter = function (t) { - return arguments.length ? (d = "function" == typeof t ? t : hf(!!t), n) : d - }, n.container = function (t) { - return arguments.length ? (v = "function" == typeof t ? t : hf(t), n) : v - }, n.subject = function (t) { - return arguments.length ? (_ = "function" == typeof t ? t : hf(t), n) : _ - }, n.on = function () { - var t = g.on.apply(g, arguments); - return t === g ? n : t - }, n.clickDistance = function (t) { - return arguments.length ? (x = (t = +t) * t, n) : Math.sqrt(x) - }, n - }, t.dragDisable = lf, t.dragEnable = _t, t.dsvFormat = Gh, t.csvParse = Qh, t.csvParseRows = Kh, t.csvFormat = tp, t.csvFormatRows = np, t.tsvParse = rp, t.tsvParseRows = ip, t.tsvFormat = op, t.tsvFormatRows = up, t.easeLinear = function (t) { - return +t - }, t.easeQuad = Kn, t.easeQuadIn = function (t) { - return t * t - }, t.easeQuadOut = function (t) { - return t * (2 - t) - }, t.easeQuadInOut = Kn, t.easeCubic = te, t.easeCubicIn = function (t) { - return t * t * t - }, t.easeCubicOut = function (t) { - return --t * t * t + 1 - }, t.easeCubicInOut = te, t.easePoly = Gl, t.easePolyIn = Wl, t.easePolyOut = Zl, t.easePolyInOut = Gl, t.easeSin = ne, t.easeSinIn = function (t) { - return 1 - Math.cos(t * Ql) - }, t.easeSinOut = function (t) { - return Math.sin(t * Ql) - }, t.easeSinInOut = ne, t.easeExp = ee, t.easeExpIn = function (t) { - return Math.pow(2, 10 * t - 10) - }, t.easeExpOut = function (t) { - return 1 - Math.pow(2, -10 * t) - }, t.easeExpInOut = ee, t.easeCircle = re, t.easeCircleIn = function (t) { - return 1 - Math.sqrt(1 - t * t) - }, t.easeCircleOut = function (t) { - return Math.sqrt(1 - --t * t) - }, t.easeCircleInOut = re, t.easeBounce = ie, t.easeBounceIn = function (t) { - return 1 - ie(1 - t) - }, t.easeBounceOut = ie, t.easeBounceInOut = function (t) { - return ((t *= 2) <= 1 ? 1 - ie(1 - t) : ie(t - 1) + 1) / 2 - }, t.easeBack = lh, t.easeBackIn = sh, t.easeBackOut = fh, t.easeBackInOut = lh, t.easeElastic = dh, t.easeElasticIn = ph, t.easeElasticOut = dh, t.easeElasticInOut = vh, t.forceCenter = function (t, n) { - function e() { - var e, i, o = r.length, - u = 0, - a = 0; - for (e = 0; e < o; ++e) u += (i = r[e]).x, a += i.y; - for (u = u / o - t, a = a / o - n, e = 0; e < o; ++e)(i = r[e]).x -= u, i.y -= a - } - var r; - return null == t && (t = 0), null == n && (n = 0), e.initialize = function (t) { - r = t - }, e.x = function (n) { - return arguments.length ? (t = +n, e) : t - }, e.y = function (t) { - return arguments.length ? (n = +t, e) : n - }, e - }, t.forceCollide = function (t) { - function n() { - for (var t, n, r, c, s, f, l, h = i.length, p = 0; p < a; ++p) - for (n = qe(i, Oe, Fe).visitAfter(e), t = 0; t < h; ++t) r = i[t], f = o[r.index], l = f * f, c = r.x + r.vx, s = r.y + r.vy, n.visit(function (t, n, e, i, o) { - var a = t.data, - h = t.r, - p = f + h; - if (!a) return n > c + p || i < c - p || e > s + p || o < s - p; - if (a.index > r.index) { - var d = c - a.x - a.vx, - v = s - a.y - a.vy, - _ = d * d + v * v; - _ < p * p && (0 === d && (d = cp(), _ += d * d), 0 === v && (v = cp(), _ += v * v), _ = (p - (_ = Math.sqrt(_))) / _ * u, r.vx += (d *= _) * (p = (h *= h) / (l + h)), r.vy += (v *= _) * p, a.vx -= d * (p = 1 - p), a.vy -= v * p) - } - }) - } - - function e(t) { - if (t.data) return t.r = o[t.data.index]; - for (var n = t.r = 0; n < 4; ++n) t[n] && t[n].r > t.r && (t.r = t[n].r) - } - - function r() { - if (i) { - var n, e, r = i.length; - for (o = new Array(r), n = 0; n < r; ++n) e = i[n], o[e.index] = +t(e, n, i) - } - } - var i, o, u = 1, - a = 1; - return "function" != typeof t && (t = ap(null == t ? 1 : +t)), n.initialize = function (t) { - i = t, r() - }, n.iterations = function (t) { - return arguments.length ? (a = +t, n) : a - }, n.strength = function (t) { - return arguments.length ? (u = +t, n) : u - }, n.radius = function (e) { - return arguments.length ? (t = "function" == typeof e ? e : ap(+e), r(), n) : t - }, n - }, t.forceLink = function (t) { - function n(n) { - for (var e = 0, r = t.length; e < p; ++e) - for (var i, a, c, f, l, h, d, v = 0; v < r; ++v) a = (i = t[v]).source, f = (c = i.target).x + c.vx - a.x - a.vx || cp(), l = c.y + c.vy - a.y - a.vy || cp(), f *= h = ((h = Math.sqrt(f * f + l * l)) - u[v]) / h * n * o[v], l *= h, c.vx -= f * (d = s[v]), c.vy -= l * d, a.vx += f * (d = 1 - d), a.vy += l * d - } - - function e() { - if (a) { - var n, e, l = a.length, - h = t.length, - p = we(a, f); - for (n = 0, c = new Array(l); n < h; ++n)(e = t[n]).index = n, "object" != typeof e.source && (e.source = Ye(p, e.source)), "object" != typeof e.target && (e.target = Ye(p, e.target)), c[e.source.index] = (c[e.source.index] || 0) + 1, c[e.target.index] = (c[e.target.index] || 0) + 1; - for (n = 0, s = new Array(h); n < h; ++n) e = t[n], s[n] = c[e.source.index] / (c[e.source.index] + c[e.target.index]); - o = new Array(h), r(), u = new Array(h), i() - } - } - - function r() { - if (a) - for (var n = 0, e = t.length; n < e; ++n) o[n] = +l(t[n], n, t) - } - - function i() { - if (a) - for (var n = 0, e = t.length; n < e; ++n) u[n] = +h(t[n], n, t) - } - var o, u, a, c, s, f = Ie, - l = function (t) { - return 1 / Math.min(c[t.source.index], c[t.target.index]) - }, - h = ap(30), - p = 1; - return null == t && (t = []), n.initialize = function (t) { - a = t, e() - }, n.links = function (r) { - return arguments.length ? (t = r, e(), n) : t - }, n.id = function (t) { - return arguments.length ? (f = t, n) : f - }, n.iterations = function (t) { - return arguments.length ? (p = +t, n) : p - }, n.strength = function (t) { - return arguments.length ? (l = "function" == typeof t ? t : ap(+t), r(), n) : l - }, n.distance = function (t) { - return arguments.length ? (h = "function" == typeof t ? t : ap(+t), i(), n) : h - }, n - }, t.forceManyBody = function () { - function t(t) { - var n, a = i.length, - c = qe(i, Be, je).visitAfter(e); - for (u = t, n = 0; n < a; ++n) o = i[n], c.visit(r) - } - - function n() { - if (i) { - var t, n, e = i.length; - for (a = new Array(e), t = 0; t < e; ++t) n = i[t], a[n.index] = +c(n, t, i) - } - } - - function e(t) { - var n, e, r, i, o, u = 0; - if (t.length) { - for (r = i = o = 0; o < 4; ++o)(n = t[o]) && (e = n.value) && (u += e, r += e * n.x, i += e * n.y); - t.x = r / u, t.y = i / u - } else { - (n = t).x = n.data.x, n.y = n.data.y; - do { - u += a[n.data.index] - } while (n = n.next) - } - t.value = u - } - - function r(t, n, e, r) { - if (!t.value) return !0; - var i = t.x - o.x, - c = t.y - o.y, - h = r - n, - p = i * i + c * c; - if (h * h / l < p) return p < f && (0 === i && (i = cp(), p += i * i), 0 === c && (c = cp(), p += c * c), p < s && (p = Math.sqrt(s * p)), o.vx += i * t.value * u / p, o.vy += c * t.value * u / p), !0; - if (!(t.length || p >= f)) { - (t.data !== o || t.next) && (0 === i && (i = cp(), p += i * i), 0 === c && (c = cp(), p += c * c), p < s && (p = Math.sqrt(s * p))); - do { - t.data !== o && (h = a[t.data.index] * u / p, o.vx += i * h, o.vy += c * h) - } while (t = t.next) - } - } - var i, o, u, a, c = ap(-30), - s = 1, - f = 1 / 0, - l = .81; - return t.initialize = function (t) { - i = t, n() - }, t.strength = function (e) { - return arguments.length ? (c = "function" == typeof e ? e : ap(+e), n(), t) : c - }, t.distanceMin = function (n) { - return arguments.length ? (s = n * n, t) : Math.sqrt(s) - }, t.distanceMax = function (n) { - return arguments.length ? (f = n * n, t) : Math.sqrt(f) - }, t.theta = function (n) { - return arguments.length ? (l = n * n, t) : Math.sqrt(l) - }, t - }, t.forceSimulation = function (t) { - function n() { - e(), d.call("tick", o), u < a && (p.stop(), d.call("end", o)) - } - - function e() { - var n, e, r = t.length; - for (u += (s - u) * c, l.each(function (t) { - t(u) - }), n = 0; n < r; ++n) null == (e = t[n]).fx ? e.x += e.vx *= f : (e.x = e.fx, e.vx = 0), null == e.fy ? e.y += e.vy *= f : (e.y = e.fy, e.vy = 0) - } - - function r() { - for (var n, e = 0, r = t.length; e < r; ++e) { - if (n = t[e], n.index = e, isNaN(n.x) || isNaN(n.y)) { - var i = hp * Math.sqrt(e), - o = e * pp; - n.x = i * Math.cos(o), n.y = i * Math.sin(o) - }(isNaN(n.vx) || isNaN(n.vy)) && (n.vx = n.vy = 0) - } - } - - function i(n) { - return n.initialize && n.initialize(t), n - } - var o, u = 1, - a = .001, - c = 1 - Math.pow(a, 1 / 300), - s = 0, - f = .6, - l = we(), - p = dn(n), - d = h("tick", "end"); - return null == t && (t = []), r(), o = { - tick: e, - restart: function () { - return p.restart(n), o - }, - stop: function () { - return p.stop(), o - }, - nodes: function (n) { - return arguments.length ? (t = n, r(), l.each(i), o) : t - }, - alpha: function (t) { - return arguments.length ? (u = +t, o) : u - }, - alphaMin: function (t) { - return arguments.length ? (a = +t, o) : a - }, - alphaDecay: function (t) { - return arguments.length ? (c = +t, o) : +c - }, - alphaTarget: function (t) { - return arguments.length ? (s = +t, o) : s - }, - velocityDecay: function (t) { - return arguments.length ? (f = 1 - t, o) : 1 - f - }, - force: function (t, n) { - return arguments.length > 1 ? (null == n ? l.remove(t) : l.set(t, i(n)), o) : l.get(t) - }, - find: function (n, e, r) { - var i, o, u, a, c, s = 0, - f = t.length; - for (null == r ? r = 1 / 0 : r *= r, s = 0; s < f; ++s)(u = (i = n - (a = t[s]).x) * i + (o = e - a.y) * o) < r && (c = a, r = u); - return c - }, - on: function (t, n) { - return arguments.length > 1 ? (d.on(t, n), o) : d.on(t) - } - } - }, t.forceX = function (t) { - function n(t) { - for (var n, e = 0, u = r.length; e < u; ++e)(n = r[e]).vx += (o[e] - n.x) * i[e] * t - } - - function e() { - if (r) { - var n, e = r.length; - for (i = new Array(e), o = new Array(e), n = 0; n < e; ++n) i[n] = isNaN(o[n] = +t(r[n], n, r)) ? 0 : +u(r[n], n, r) - } - } - var r, i, o, u = ap(.1); - return "function" != typeof t && (t = ap(null == t ? 0 : +t)), n.initialize = function (t) { - r = t, e() - }, n.strength = function (t) { - return arguments.length ? (u = "function" == typeof t ? t : ap(+t), e(), n) : u - }, n.x = function (r) { - return arguments.length ? (t = "function" == typeof r ? r : ap(+r), e(), n) : t - }, n - }, t.forceY = function (t) { - function n(t) { - for (var n, e = 0, u = r.length; e < u; ++e)(n = r[e]).vy += (o[e] - n.y) * i[e] * t - } - - function e() { - if (r) { - var n, e = r.length; - for (i = new Array(e), o = new Array(e), n = 0; n < e; ++n) i[n] = isNaN(o[n] = +t(r[n], n, r)) ? 0 : +u(r[n], n, r) - } - } - var r, i, o, u = ap(.1); - return "function" != typeof t && (t = ap(null == t ? 0 : +t)), n.initialize = function (t) { - r = t, e() - }, n.strength = function (t) { - return arguments.length ? (u = "function" == typeof t ? t : ap(+t), e(), n) : u - }, n.y = function (r) { - return arguments.length ? (t = "function" == typeof r ? r : ap(+r), e(), n) : t - }, n - }, t.formatDefaultLocale = $e, t.formatLocale = Tp, t.formatSpecifier = He, t.precisionFixed = kp, t.precisionPrefix = Np, t.precisionRound = Sp, t.geoArea = function (t) { - return Cd.reset(), Ed(t, zd), 2 * Cd - }, t.geoBounds = function (t) { - var n, e, r, i, o, u, a; - if (Dp = Up = -(Lp = qp = 1 / 0), Bp = [], Ed(t, Rd), e = Bp.length) { - for (Bp.sort(br), n = 1, o = [r = Bp[0]]; n < e; ++n) wr(r, (i = Bp[n])[0]) || wr(r, i[1]) ? (xr(r[0], i[1]) > xr(r[0], r[1]) && (r[1] = i[1]), xr(i[0], r[1]) > xr(r[0], r[1]) && (r[0] = i[0])) : o.push(r = i); - for (u = -1 / 0, n = 0, r = o[e = o.length - 1]; n <= e; r = i, ++n) i = o[n], (a = xr(r[1], i[0])) > u && (u = a, Lp = i[0], Up = r[1]) - } - return Bp = jp = null, Lp === 1 / 0 || qp === 1 / 0 ? [ - [NaN, NaN], - [NaN, NaN] - ] : [ - [Lp, qp], - [Up, Dp] - ] - }, t.geoCentroid = function (t) { - Hp = Xp = $p = Vp = Wp = Zp = Gp = Jp = Qp = Kp = td = 0, Ed(t, Ld); - var n = Qp, - e = Kp, - r = td, - i = n * n + e * e + r * r; - return i < 1e-12 && (n = Zp, e = Gp, r = Jp, Xp < ad && (n = $p, e = Vp, r = Wp), (i = n * n + e * e + r * r) < 1e-12) ? [NaN, NaN] : [_d(e, n) * hd, Ge(r / Td(i)) * hd] - }, t.geoCircle = function () { - function t() { - var t = r.apply(this, arguments), - a = i.apply(this, arguments) * pd, - c = o.apply(this, arguments) * pd; - return n = [], e = Lr(-t[0] * pd, -t[1] * pd, 0).invert, Or(u, a, c, 1), t = { - type: "Polygon", - coordinates: [n] - }, n = e = null, t - } - var n, e, r = qd([0, 0]), - i = qd(90), - o = qd(6), - u = { - point: function (t, r) { - n.push(t = e(t, r)), t[0] *= hd, t[1] *= hd - } - }; - return t.center = function (n) { - return arguments.length ? (r = "function" == typeof n ? n : qd([+n[0], +n[1]]), t) : r - }, t.radius = function (n) { - return arguments.length ? (i = "function" == typeof n ? n : qd(+n), t) : i - }, t.precision = function (n) { - return arguments.length ? (o = "function" == typeof n ? n : qd(+n), t) : o - }, t - }, t.geoClipExtent = function () { - var t, n, e, r = 0, - i = 0, - o = 960, - u = 500; - return e = { - stream: function (e) { - return t && n === e ? t : t = Br(r, i, o, u)(n = e) - }, - extent: function (a) { - return arguments.length ? (r = +a[0][0], i = +a[0][1], o = +a[1][0], u = +a[1][1], t = n = null, e) : [ - [r, i], - [o, u] - ] - } - } - }, t.geoContains = function (t, n) { - return (t && sv.hasOwnProperty(t.type) ? sv[t.type] : $r)(t, n) - }, t.geoDistance = cv, t.geoGraticule = ti, t.geoGraticule10 = function () { - return ti()() - }, t.geoInterpolate = function (t, n) { - var e = t[0] * pd, - r = t[1] * pd, - i = n[0] * pd, - o = n[1] * pd, - u = yd(r), - a = wd(r), - c = yd(o), - s = wd(o), - f = u * yd(e), - l = u * wd(e), - h = c * yd(i), - p = c * wd(i), - d = 2 * Ge(Td(Je(o - r) + u * c * Je(i - e))), - v = wd(d), - _ = d ? function (t) { - var n = wd(t *= d) / v, - e = wd(d - t) / v, - r = e * f + n * h, - i = e * l + n * p, - o = e * a + n * s; - return [_d(i, r) * hd, _d(o, Td(r * r + i * i)) * hd] - } : function () { - return [e * hd, r * hd] - }; - return _.distance = d, _ - }, t.geoLength = ov, t.geoPath = function (t, n) { - function e(t) { - return t && ("function" == typeof o && i.pointRadius(+o.apply(this, arguments)), Ed(t, r(i))), i.result() - } - var r, i, o = 4.5; - return e.area = function (t) { - return Ed(t, r(dv)), dv.result() - }, e.measure = function (t) { - return Ed(t, r(Uv)), Uv.result() - }, e.bounds = function (t) { - return Ed(t, r(mv)), mv.result() - }, e.centroid = function (t) { - return Ed(t, r(Av)), Av.result() - }, e.projection = function (n) { - return arguments.length ? (r = null == n ? (t = null, lv) : (t = n).stream, e) : t - }, e.context = function (t) { - return arguments.length ? (i = null == t ? (n = null, new yi) : new di(n = t), "function" != typeof o && i.pointRadius(o), e) : n - }, e.pointRadius = function (t) { - return arguments.length ? (o = "function" == typeof t ? t : (i.pointRadius(+t), +t), e) : o - }, e.projection(t).context(n) - }, t.geoAlbers = Xv, t.geoAlbersUsa = function () { - function t(t) { - var n = t[0], - e = t[1]; - return a = null, i.point(n, e), a || (o.point(n, e), a) || (u.point(n, e), a) - } - - function n() { - return e = r = null, t - } - var e, r, i, o, u, a, c = Xv(), - s = Hv().rotate([154, 0]).center([-2, 58.5]).parallels([55, 65]), - f = Hv().rotate([157, 0]).center([-3, 19.9]).parallels([8, 18]), - l = { - point: function (t, n) { - a = [t, n] - } - }; - return t.invert = function (t) { - var n = c.scale(), - e = c.translate(), - r = (t[0] - e[0]) / n, - i = (t[1] - e[1]) / n; - return (i >= .12 && i < .234 && r >= -.425 && r < -.214 ? s : i >= .166 && i < .234 && r >= -.214 && r < -.115 ? f : c).invert(t) - }, t.stream = function (t) { - return e && r === t ? e : e = Ri([c.stream(r = t), s.stream(t), f.stream(t)]) - }, t.precision = function (t) { - return arguments.length ? (c.precision(t), s.precision(t), f.precision(t), n()) : c.precision() - }, t.scale = function (n) { - return arguments.length ? (c.scale(n), s.scale(.35 * n), f.scale(n), t.translate(c.translate())) : c.scale() - }, t.translate = function (t) { - if (!arguments.length) return c.translate(); - var e = c.scale(), - r = +t[0], - a = +t[1]; - return i = c.translate(t).clipExtent([ - [r - .455 * e, a - .238 * e], - [r + .455 * e, a + .238 * e] - ]).stream(l), o = s.translate([r - .307 * e, a + .201 * e]).clipExtent([ - [r - .425 * e + ad, a + .12 * e + ad], - [r - .214 * e - ad, a + .234 * e - ad] - ]).stream(l), u = f.translate([r - .205 * e, a + .212 * e]).clipExtent([ - [r - .214 * e + ad, a + .166 * e + ad], - [r - .115 * e - ad, a + .234 * e - ad] - ]).stream(l), n() - }, t.fitExtent = function (n, e) { - return Ti(t, n, e) - }, t.fitSize = function (n, e) { - return ki(t, n, e) - }, t.scale(1070) - }, t.geoAzimuthalEqualArea = function () { - return Ei($v).scale(124.75).clipAngle(179.999) - }, t.geoAzimuthalEqualAreaRaw = $v, t.geoAzimuthalEquidistant = function () { - return Ei(Vv).scale(79.4188).clipAngle(179.999) - }, t.geoAzimuthalEquidistantRaw = Vv, t.geoConicConformal = function () { - return Ci(Fi).scale(109.5).parallels([30, 30]) - }, t.geoConicConformalRaw = Fi, t.geoConicEqualArea = Hv, t.geoConicEqualAreaRaw = Pi, t.geoConicEquidistant = function () { - return Ci(Yi).scale(131.154).center([0, 13.9389]) - }, t.geoConicEquidistantRaw = Yi, t.geoEquirectangular = function () { - return Ei(Ii).scale(152.63) - }, t.geoEquirectangularRaw = Ii, t.geoGnomonic = function () { - return Ei(Bi).scale(144.049).clipAngle(60) - }, t.geoGnomonicRaw = Bi, t.geoIdentity = function () { - function t() { - return i = o = null, u - } - var n, e, r, i, o, u, a = 1, - c = 0, - s = 0, - f = 1, - l = 1, - h = lv, - p = null, - d = lv; - return u = { - stream: function (t) { - return i && o === t ? i : i = h(d(o = t)) - }, - clipExtent: function (i) { - return arguments.length ? (d = null == i ? (p = n = e = r = null, lv) : Br(p = +i[0][0], n = +i[0][1], e = +i[1][0], r = +i[1][1]), t()) : null == p ? null : [ - [p, n], - [e, r] - ] - }, - scale: function (n) { - return arguments.length ? (h = ji((a = +n) * f, a * l, c, s), t()) : a - }, - translate: function (n) { - return arguments.length ? (h = ji(a * f, a * l, c = +n[0], s = +n[1]), t()) : [c, s] - }, - reflectX: function (n) { - return arguments.length ? (h = ji(a * (f = n ? -1 : 1), a * l, c, s), t()) : f < 0 - }, - reflectY: function (n) { - return arguments.length ? (h = ji(a * f, a * (l = n ? -1 : 1), c, s), t()) : l < 0 - }, - fitExtent: function (t, n) { - return Ti(u, t, n) - }, - fitSize: function (t, n) { - return ki(u, t, n) - } - } - }, t.geoProjection = Ei, t.geoProjectionMutator = Ai, t.geoMercator = function () { - return Di(Ui).scale(961 / ld) - }, t.geoMercatorRaw = Ui, t.geoOrthographic = function () { - return Ei(Hi).scale(249.5).clipAngle(90 + ad) - }, t.geoOrthographicRaw = Hi, t.geoStereographic = function () { - return Ei(Xi).scale(250).clipAngle(142) - }, t.geoStereographicRaw = Xi, t.geoTransverseMercator = function () { - var t = Di($i), - n = t.center, - e = t.rotate; - return t.center = function (t) { - return arguments.length ? n([-t[1], t[0]]) : (t = n(), [t[1], -t[0]]) - }, t.rotate = function (t) { - return arguments.length ? e([t[0], t[1], t.length > 2 ? t[2] + 90 : 90]) : (t = e(), [t[0], t[1], t[2] - 90]) - }, e([0, 0, 90]).scale(159.155) - }, t.geoTransverseMercatorRaw = $i, t.geoRotation = Wd, t.geoStream = Ed, t.geoTransform = function (t) { - return { - stream: wi(t) - } - }, t.cluster = function () { - function t(t) { - var o, u = 0; - t.eachAfter(function (t) { - var e = t.children; - e ? (t.x = Wi(e), t.y = Gi(e)) : (t.x = o ? u += n(t, o) : 0, t.y = 0, o = t) - }); - var a = Qi(t), - c = Ki(t), - s = a.x - n(a, c) / 2, - f = c.x + n(c, a) / 2; - return t.eachAfter(i ? function (n) { - n.x = (n.x - t.x) * e, n.y = (t.y - n.y) * r - } : function (n) { - n.x = (n.x - s) / (f - s) * e, n.y = (1 - (t.y ? n.y / t.y : 1)) * r - }) - } - var n = Vi, - e = 1, - r = 1, - i = !1; - return t.separation = function (e) { - return arguments.length ? (n = e, t) : n - }, t.size = function (n) { - return arguments.length ? (i = !1, e = +n[0], r = +n[1], t) : i ? null : [e, r] - }, t.nodeSize = function (n) { - return arguments.length ? (i = !0, e = +n[0], r = +n[1], t) : i ? [e, r] : null - }, t - }, t.hierarchy = eo, t.pack = function () { - function t(t) { - return t.x = e / 2, t.y = r / 2, n ? t.eachBefore(No(n)).eachAfter(So(i, .5)).eachBefore(Eo(1)) : t.eachBefore(No(ko)).eachAfter(So(To, 1)).eachAfter(So(i, t.r / Math.min(e, r))).eachBefore(Eo(Math.min(e, r) / (2 * t.r))), t - } - var n = null, - e = 1, - r = 1, - i = To; - return t.radius = function (e) { - return arguments.length ? (n = wo(e), t) : n - }, t.size = function (n) { - return arguments.length ? (e = +n[0], r = +n[1], t) : [e, r] - }, t.padding = function (n) { - return arguments.length ? (i = "function" == typeof n ? n : Gv(+n), t) : i - }, t - }, t.packSiblings = function (t) { - return bo(t), t - }, t.packEnclose = Zv, t.partition = function () { - function t(t) { - var u = t.height + 1; - return t.x0 = t.y0 = i, t.x1 = e, t.y1 = r / u, t.eachBefore(n(r, u)), o && t.eachBefore(Jv), t - } - - function n(t, n) { - return function (e) { - e.children && Qv(e, e.x0, t * (e.depth + 1) / n, e.x1, t * (e.depth + 2) / n); - var r = e.x0, - o = e.y0, - u = e.x1 - i, - a = e.y1 - i; - u < r && (r = u = (r + u) / 2), a < o && (o = a = (o + a) / 2), e.x0 = r, e.y0 = o, e.x1 = u, e.y1 = a - } - } - var e = 1, - r = 1, - i = 0, - o = !1; - return t.round = function (n) { - return arguments.length ? (o = !!n, t) : o - }, t.size = function (n) { - return arguments.length ? (e = +n[0], r = +n[1], t) : [e, r] - }, t.padding = function (n) { - return arguments.length ? (i = +n, t) : i - }, t - }, t.stratify = function () { - function t(t) { - var r, i, o, u, a, c, s, f = t.length, - l = new Array(f), - h = {}; - for (i = 0; i < f; ++i) r = t[i], a = l[i] = new uo(r), null != (c = n(r, i, t)) && (c += "") && (h[s = Kv + (a.id = c)] = s in h ? n_ : a); - for (i = 0; i < f; ++i) - if (a = l[i], null != (c = e(t[i], i, t)) && (c += "")) { - if (!(u = h[Kv + c])) throw new Error("missing: " + c); - if (u === n_) throw new Error("ambiguous: " + c); - u.children ? u.children.push(a) : u.children = [a], a.parent = u - } else { - if (o) throw new Error("multiple roots"); - o = a - } - if (!o) throw new Error("no root"); - if (o.parent = t_, o.eachBefore(function (t) { - t.depth = t.parent.depth + 1, --f - }).eachBefore(oo), o.parent = null, f > 0) throw new Error("cycle"); - return o - } - var n = Ao, - e = Co; - return t.id = function (e) { - return arguments.length ? (n = Mo(e), t) : n - }, t.parentId = function (n) { - return arguments.length ? (e = Mo(n), t) : e - }, t - }, t.tree = function () { - function t(t) { - var r = Oo(t); - if (r.eachAfter(n), r.parent.m = -r.z, r.eachBefore(e), c) t.eachBefore(i); - else { - var s = t, - f = t, - l = t; - t.eachBefore(function (t) { - t.x < s.x && (s = t), t.x > f.x && (f = t), t.depth > l.depth && (l = t) - }); - var h = s === f ? 1 : o(s, f) / 2, - p = h - s.x, - d = u / (f.x + h + p), - v = a / (l.depth || 1); - t.eachBefore(function (t) { - t.x = (t.x + p) * d, t.y = t.depth * v - }) - } - return t - } - - function n(t) { - var n = t.children, - e = t.parent.children, - i = t.i ? e[t.i - 1] : null; - if (n) { - qo(t); - var u = (n[0].z + n[n.length - 1].z) / 2; - i ? (t.z = i.z + o(t._, i._), t.m = t.z - u) : t.z = u - } else i && (t.z = i.z + o(t._, i._)); - t.parent.A = r(t, i, t.parent.A || e[0]) - } - - function e(t) { - t._.x = t.z + t.parent.m, t.m += t.parent.m - } - - function r(t, n, e) { - if (n) { - for (var r, i = t, u = t, a = n, c = i.parent.children[0], s = i.m, f = u.m, l = a.m, h = c.m; a = Ro(a), i = Po(i), a && i;) c = Po(c), (u = Ro(u)).a = t, (r = a.z + l - i.z - s + o(a._, i._)) > 0 && (Lo(Uo(a, t, e), t, r), s += r, f += r), l += a.m, s += i.m, h += c.m, f += u.m; - a && !Ro(u) && (u.t = a, u.m += l - f), i && !Po(c) && (c.t = i, c.m += s - h, e = t) - } - return e - } - - function i(t) { - t.x *= u, t.y = t.depth * a - } - var o = zo, - u = 1, - a = 1, - c = null; - return t.separation = function (n) { - return arguments.length ? (o = n, t) : o - }, t.size = function (n) { - return arguments.length ? (c = !1, u = +n[0], a = +n[1], t) : c ? null : [u, a] - }, t.nodeSize = function (n) { - return arguments.length ? (c = !0, u = +n[0], a = +n[1], t) : c ? [u, a] : null - }, t - }, t.treemap = function () { - function t(t) { - return t.x0 = t.y0 = 0, t.x1 = i, t.y1 = o, t.eachBefore(n), u = [0], r && t.eachBefore(Jv), t - } - - function n(t) { - var n = u[t.depth], - r = t.x0 + n, - i = t.y0 + n, - o = t.x1 - n, - h = t.y1 - n; - o < r && (r = o = (r + o) / 2), h < i && (i = h = (i + h) / 2), t.x0 = r, t.y0 = i, t.x1 = o, t.y1 = h, t.children && (n = u[t.depth + 1] = a(t) / 2, r += l(t) - n, i += c(t) - n, o -= s(t) - n, h -= f(t) - n, o < r && (r = o = (r + o) / 2), h < i && (i = h = (i + h) / 2), e(t, r, i, o, h)) - } - var e = i_, - r = !1, - i = 1, - o = 1, - u = [0], - a = To, - c = To, - s = To, - f = To, - l = To; - return t.round = function (n) { - return arguments.length ? (r = !!n, t) : r - }, t.size = function (n) { - return arguments.length ? (i = +n[0], o = +n[1], t) : [i, o] - }, t.tile = function (n) { - return arguments.length ? (e = Mo(n), t) : e - }, t.padding = function (n) { - return arguments.length ? t.paddingInner(n).paddingOuter(n) : t.paddingInner() - }, t.paddingInner = function (n) { - return arguments.length ? (a = "function" == typeof n ? n : Gv(+n), t) : a - }, t.paddingOuter = function (n) { - return arguments.length ? t.paddingTop(n).paddingRight(n).paddingBottom(n).paddingLeft(n) : t.paddingTop() - }, t.paddingTop = function (n) { - return arguments.length ? (c = "function" == typeof n ? n : Gv(+n), t) : c - }, t.paddingRight = function (n) { - return arguments.length ? (s = "function" == typeof n ? n : Gv(+n), t) : s - }, t.paddingBottom = function (n) { - return arguments.length ? (f = "function" == typeof n ? n : Gv(+n), t) : f - }, t.paddingLeft = function (n) { - return arguments.length ? (l = "function" == typeof n ? n : Gv(+n), t) : l - }, t - }, t.treemapBinary = function (t, n, e, r, i) { - function o(t, n, e, r, i, u, a) { - if (t >= n - 1) { - var s = c[t]; - return s.x0 = r, s.y0 = i, s.x1 = u, void(s.y1 = a) - } - for (var l = f[t], h = e / 2 + l, p = t + 1, d = n - 1; p < d;) { - var v = p + d >>> 1; - f[v] < h ? p = v + 1 : d = v - } - h - f[p - 1] < f[p] - h && t + 1 < p && --p; - var _ = f[p] - l, - y = e - _; - if (u - r > a - i) { - var g = (r * y + u * _) / e; - o(t, p, _, r, i, g, a), o(p, n, y, g, i, u, a) - } else { - var m = (i * y + a * _) / e; - o(t, p, _, r, i, u, m), o(p, n, y, r, m, u, a) - } - } - var u, a, c = t.children, - s = c.length, - f = new Array(s + 1); - for (f[0] = a = u = 0; u < s; ++u) f[u + 1] = a += c[u].value; - o(0, s, t.value, n, e, r, i) - }, t.treemapDice = Qv, t.treemapSlice = e_, t.treemapSliceDice = function (t, n, e, r, i) { - (1 & t.depth ? e_ : Qv)(t, n, e, r, i) - }, t.treemapSquarify = i_, t.treemapResquarify = o_, t.interpolate = cl, t.interpolateArray = nl, t.interpolateBasis = Zf, t.interpolateBasisClosed = Gf, t.interpolateDate = el, t.interpolateNumber = rl, t.interpolateObject = il, t.interpolateRound = sl, t.interpolateString = al, t.interpolateTransformCss = pl, t.interpolateTransformSvg = dl, t.interpolateZoom = _l, t.interpolateRgb = Qf, t.interpolateRgbBasis = Kf, t.interpolateRgbBasisClosed = tl, t.interpolateHsl = yl, t.interpolateHslLong = gl, t.interpolateLab = function (t, n) { - var e = Kt((t = Ut(t)).l, (n = Ut(n)).l), - r = Kt(t.a, n.a), - i = Kt(t.b, n.b), - o = Kt(t.opacity, n.opacity); - return function (n) { - return t.l = e(n), t.a = r(n), t.b = i(n), t.opacity = o(n), t + "" - } - }, t.interpolateHcl = ml, t.interpolateHclLong = xl, t.interpolateCubehelix = bl, t.interpolateCubehelixLong = wl, t.quantize = function (t, n) { - for (var e = new Array(n), r = 0; r < n; ++r) e[r] = t(r / (n - 1)); - return e - }, t.path = ve, t.polygonArea = function (t) { - for (var n, e = -1, r = t.length, i = t[r - 1], o = 0; ++e < r;) n = i, i = t[e], o += n[1] * i[0] - n[0] * i[1]; - return o / 2 - }, t.polygonCentroid = function (t) { - for (var n, e, r = -1, i = t.length, o = 0, u = 0, a = t[i - 1], c = 0; ++r < i;) n = a, a = t[r], c += e = n[0] * a[1] - a[0] * n[1], o += (n[0] + a[0]) * e, u += (n[1] + a[1]) * e; - return c *= 3, [o / c, u / c] - }, t.polygonHull = function (t) { - if ((e = t.length) < 3) return null; - var n, e, r = new Array(e), - i = new Array(e); - for (n = 0; n < e; ++n) r[n] = [+t[n][0], +t[n][1], n]; - for (r.sort(Io), n = 0; n < e; ++n) i[n] = [r[n][0], -r[n][1]]; - var o = Yo(r), - u = Yo(i), - a = u[0] === o[0], - c = u[u.length - 1] === o[o.length - 1], - s = []; - for (n = o.length - 1; n >= 0; --n) s.push(t[r[o[n]][2]]); - for (n = +a; n < u.length - c; ++n) s.push(t[r[u[n]][2]]); - return s - }, t.polygonContains = function (t, n) { - for (var e, r, i = t.length, o = t[i - 1], u = n[0], a = n[1], c = o[0], s = o[1], f = !1, l = 0; l < i; ++l) e = (o = t[l])[0], (r = o[1]) > a != s > a && u < (c - e) * (a - r) / (s - r) + e && (f = !f), c = e, s = r; - return f - }, t.polygonLength = function (t) { - for (var n, e, r = -1, i = t.length, o = t[i - 1], u = o[0], a = o[1], c = 0; ++r < i;) n = u, e = a, n -= u = (o = t[r])[0], e -= a = o[1], c += Math.sqrt(n * n + e * e); - return c - }, t.quadtree = qe, t.queue = Wo, t.randomUniform = f_, t.randomNormal = l_, t.randomLogNormal = h_, t.randomBates = d_, t.randomIrwinHall = p_, t.randomExponential = v_, t.request = __, t.html = g_, t.json = m_, t.text = x_, t.xml = b_, t.csv = M_, t.tsv = T_, t.scaleBand = Ko, t.scalePoint = function () { - return tu(Ko().paddingInner(1)) - }, t.scaleIdentity = fu, t.scaleLinear = su, t.scaleLog = yu, t.scaleOrdinal = Qo, t.scaleImplicit = E_, t.scalePow = mu, t.scaleSqrt = function () { - return mu().exponent(.5) - }, t.scaleQuantile = xu, t.scaleQuantize = bu, t.scaleThreshold = wu, t.scaleTime = function () { - return Na(fy, cy, W_, $_, H_, B_, I_, U_, t.timeFormat).domain([new Date(2e3, 0, 1), new Date(2e3, 0, 2)]) - }, t.scaleUtc = function () { - return Na(Ly, Py, gy, _y, dy, hy, I_, U_, t.utcFormat).domain([Date.UTC(2e3, 0, 1), Date.UTC(2e3, 0, 2)]) - }, t.schemeCategory10 = Jy, t.schemeCategory20b = Qy, t.schemeCategory20c = Ky, t.schemeCategory20 = tg, t.interpolateCubehelixDefault = ng, t.interpolateRainbow = function (t) { - (t < 0 || t > 1) && (t -= Math.floor(t)); - var n = Math.abs(t - .5); - return ig.h = 360 * t - 100, ig.s = 1.5 - 1.5 * n, ig.l = .8 - .9 * n, ig + "" - }, t.interpolateWarm = eg, t.interpolateCool = rg, t.interpolateViridis = og, t.interpolateMagma = ug, t.interpolateInferno = ag, t.interpolatePlasma = cg, t.scaleSequential = Ea, t.creator = Hs, t.local = m, t.matcher = Zs, t.mouse = Ks, t.namespace = js, t.namespaces = Bs, t.select = cf, t.selectAll = function (t) { - return "string" == typeof t ? new pt([document.querySelectorAll(t)], [document.documentElement]) : new pt([null == t ? [] : t], af) - }, t.selection = dt, t.selector = tf, t.selectorAll = nf, t.style = B, t.touch = sf, t.touches = function (t, n) { - null == n && (n = Js().touches); - for (var e = 0, r = n ? n.length : 0, i = new Array(r); e < r; ++e) i[e] = Qs(t, n[e]); - return i - }, t.window = uf, t.customEvent = N, t.arc = function () { - function t() { - var t, s, f = +n.apply(this, arguments), - l = +e.apply(this, arguments), - h = o.apply(this, arguments) - mg, - p = u.apply(this, arguments) - mg, - d = fg(p - h), - v = p > h; - if (c || (c = t = ve()), l < f && (s = l, l = f, f = s), l > yg) - if (d > xg - yg) c.moveTo(l * hg(h), l * vg(h)), c.arc(0, 0, l, h, p, !v), f > yg && (c.moveTo(f * hg(p), f * vg(p)), c.arc(0, 0, f, p, h, v)); - else { - var _, y, g = h, - m = p, - x = h, - b = p, - w = d, - M = d, - T = a.apply(this, arguments) / 2, - k = T > yg && (i ? +i.apply(this, arguments) : _g(f * f + l * l)), - N = dg(fg(l - f) / 2, +r.apply(this, arguments)), - S = N, - E = N; - if (k > yg) { - var A = Ca(k / f * vg(T)), - C = Ca(k / l * vg(T)); - (w -= 2 * A) > yg ? (A *= v ? 1 : -1, x += A, b -= A) : (w = 0, x = b = (h + p) / 2), (M -= 2 * C) > yg ? (C *= v ? 1 : -1, g += C, m -= C) : (M = 0, g = m = (h + p) / 2) - } - var z = l * hg(g), - P = l * vg(g), - R = f * hg(b), - L = f * vg(b); - if (N > yg) { - var q = l * hg(m), - U = l * vg(m), - D = f * hg(x), - O = f * vg(x); - if (d < gg) { - var F = w > yg ? Ua(z, P, D, O, q, U, R, L) : [R, L], - I = z - F[0], - Y = P - F[1], - B = q - F[0], - j = U - F[1], - H = 1 / vg(Aa((I * B + Y * j) / (_g(I * I + Y * Y) * _g(B * B + j * j))) / 2), - X = _g(F[0] * F[0] + F[1] * F[1]); - S = dg(N, (f - X) / (H - 1)), E = dg(N, (l - X) / (H + 1)) - } - } - M > yg ? E > yg ? (_ = Da(D, O, z, P, l, E, v), y = Da(q, U, R, L, l, E, v), c.moveTo(_.cx + _.x01, _.cy + _.y01), E < N ? c.arc(_.cx, _.cy, E, lg(_.y01, _.x01), lg(y.y01, y.x01), !v) : (c.arc(_.cx, _.cy, E, lg(_.y01, _.x01), lg(_.y11, _.x11), !v), c.arc(0, 0, l, lg(_.cy + _.y11, _.cx + _.x11), lg(y.cy + y.y11, y.cx + y.x11), !v), c.arc(y.cx, y.cy, E, lg(y.y11, y.x11), lg(y.y01, y.x01), !v))) : (c.moveTo(z, P), c.arc(0, 0, l, g, m, !v)) : c.moveTo(z, P), f > yg && w > yg ? S > yg ? (_ = Da(R, L, q, U, f, -S, v), y = Da(z, P, D, O, f, -S, v), c.lineTo(_.cx + _.x01, _.cy + _.y01), S < N ? c.arc(_.cx, _.cy, S, lg(_.y01, _.x01), lg(y.y01, y.x01), !v) : (c.arc(_.cx, _.cy, S, lg(_.y01, _.x01), lg(_.y11, _.x11), !v), c.arc(0, 0, f, lg(_.cy + _.y11, _.cx + _.x11), lg(y.cy + y.y11, y.cx + y.x11), v), c.arc(y.cx, y.cy, S, lg(y.y11, y.x11), lg(y.y01, y.x01), !v))) : c.arc(0, 0, f, b, x, v) : c.lineTo(R, L) - } - else c.moveTo(0, 0); - if (c.closePath(), t) return c = null, t + "" || null - } - var n = za, - e = Pa, - r = sg(0), - i = null, - o = Ra, - u = La, - a = qa, - c = null; - return t.centroid = function () { - var t = (+n.apply(this, arguments) + +e.apply(this, arguments)) / 2, - r = (+o.apply(this, arguments) + +u.apply(this, arguments)) / 2 - gg / 2; - return [hg(r) * t, vg(r) * t] - }, t.innerRadius = function (e) { - return arguments.length ? (n = "function" == typeof e ? e : sg(+e), t) : n - }, t.outerRadius = function (n) { - return arguments.length ? (e = "function" == typeof n ? n : sg(+n), t) : e - }, t.cornerRadius = function (n) { - return arguments.length ? (r = "function" == typeof n ? n : sg(+n), t) : r - }, t.padRadius = function (n) { - return arguments.length ? (i = null == n ? null : "function" == typeof n ? n : sg(+n), t) : i - }, t.startAngle = function (n) { - return arguments.length ? (o = "function" == typeof n ? n : sg(+n), t) : o - }, t.endAngle = function (n) { - return arguments.length ? (u = "function" == typeof n ? n : sg(+n), t) : u - }, t.padAngle = function (n) { - return arguments.length ? (a = "function" == typeof n ? n : sg(+n), t) : a - }, t.context = function (n) { - return arguments.length ? (c = null == n ? null : n, t) : c - }, t - }, t.area = Mg, t.line = wg, t.pie = function () { - function t(t) { - var a, c, s, f, l, h = t.length, - p = 0, - d = new Array(h), - v = new Array(h), - _ = +i.apply(this, arguments), - y = Math.min(xg, Math.max(-xg, o.apply(this, arguments) - _)), - g = Math.min(Math.abs(y) / h, u.apply(this, arguments)), - m = g * (y < 0 ? -1 : 1); - for (a = 0; a < h; ++a)(l = v[d[a] = a] = +n(t[a], a, t)) > 0 && (p += l); - for (null != e ? d.sort(function (t, n) { - return e(v[t], v[n]) - }) : null != r && d.sort(function (n, e) { - return r(t[n], t[e]) - }), a = 0, s = p ? (y - h * m) / p : 0; a < h; ++a, _ = f) c = d[a], f = _ + ((l = v[c]) > 0 ? l * s : 0) + m, v[c] = { - data: t[c], - index: a, - value: l, - startAngle: _, - endAngle: f, - padAngle: g - }; - return v - } - var n = kg, - e = Tg, - r = null, - i = sg(0), - o = sg(xg), - u = sg(0); - return t.value = function (e) { - return arguments.length ? (n = "function" == typeof e ? e : sg(+e), t) : n - }, t.sortValues = function (n) { - return arguments.length ? (e = n, r = null, t) : e - }, t.sort = function (n) { - return arguments.length ? (r = n, e = null, t) : r - }, t.startAngle = function (n) { - return arguments.length ? (i = "function" == typeof n ? n : sg(+n), t) : i - }, t.endAngle = function (n) { - return arguments.length ? (o = "function" == typeof n ? n : sg(+n), t) : o - }, t.padAngle = function (n) { - return arguments.length ? (u = "function" == typeof n ? n : sg(+n), t) : u - }, t - }, t.areaRadial = Eg, t.radialArea = Eg, t.lineRadial = Sg, t.radialLine = Sg, t.pointRadial = Ag, t.linkHorizontal = function () { - return $a(Va) - }, t.linkVertical = function () { - return $a(Wa) - }, t.linkRadial = function () { - var t = $a(Za); - return t.angle = t.x, delete t.x, t.radius = t.y, delete t.y, t - }, t.symbol = function () { - function t() { - var t; - if (r || (r = t = ve()), n.apply(this, arguments).draw(r, +e.apply(this, arguments)), t) return r = null, t + "" || null - } - var n = sg(zg), - e = sg(64), - r = null; - return t.type = function (e) { - return arguments.length ? (n = "function" == typeof e ? e : sg(e), t) : n - }, t.size = function (n) { - return arguments.length ? (e = "function" == typeof n ? n : sg(+n), t) : e - }, t.context = function (n) { - return arguments.length ? (r = null == n ? null : n, t) : r - }, t - }, t.symbols = Wg, t.symbolCircle = zg, t.symbolCross = Pg, t.symbolDiamond = qg, t.symbolSquare = Ig, t.symbolStar = Fg, t.symbolTriangle = Bg, t.symbolWye = Vg, t.curveBasisClosed = function (t) { - return new Qa(t) - }, t.curveBasisOpen = function (t) { - return new Ka(t) - }, t.curveBasis = function (t) { - return new Ja(t) - }, t.curveBundle = Gg, t.curveCardinalClosed = Qg, t.curveCardinalOpen = Kg, t.curveCardinal = Jg, t.curveCatmullRomClosed = nm, t.curveCatmullRomOpen = em, t.curveCatmullRom = tm, t.curveLinearClosed = function (t) { - return new sc(t) - }, t.curveLinear = bg, t.curveMonotoneX = function (t) { - return new dc(t) - }, t.curveMonotoneY = function (t) { - return new vc(t) - }, t.curveNatural = function (t) { - return new yc(t) - }, t.curveStep = function (t) { - return new mc(t, .5) - }, t.curveStepAfter = function (t) { - return new mc(t, 1) - }, t.curveStepBefore = function (t) { - return new mc(t, 0) - }, t.stack = function () { - function t(t) { - var o, u, a = n.apply(this, arguments), - c = t.length, - s = a.length, - f = new Array(s); - for (o = 0; o < s; ++o) { - for (var l, h = a[o], p = f[o] = new Array(c), d = 0; d < c; ++d) p[d] = l = [0, +i(t[d], h, d, t)], l.data = t[d]; - p.key = h - } - for (o = 0, u = e(f); o < s; ++o) f[u[o]].index = o; - return r(f, u), f - } - var n = sg([]), - e = im, - r = rm, - i = xc; - return t.keys = function (e) { - return arguments.length ? (n = "function" == typeof e ? e : sg(Cg.call(e)), t) : n - }, t.value = function (n) { - return arguments.length ? (i = "function" == typeof n ? n : sg(+n), t) : i - }, t.order = function (n) { - return arguments.length ? (e = null == n ? im : "function" == typeof n ? n : sg(Cg.call(n)), t) : e - }, t.offset = function (n) { - return arguments.length ? (r = null == n ? rm : n, t) : r - }, t - }, t.stackOffsetExpand = function (t, n) { - if ((r = t.length) > 0) { - for (var e, r, i, o = 0, u = t[0].length; o < u; ++o) { - for (i = e = 0; e < r; ++e) i += t[e][o][1] || 0; - if (i) - for (e = 0; e < r; ++e) t[e][o][1] /= i - } - rm(t, n) - } - }, t.stackOffsetDiverging = function (t, n) { - if ((a = t.length) > 1) - for (var e, r, i, o, u, a, c = 0, s = t[n[0]].length; c < s; ++c) - for (o = u = 0, e = 0; e < a; ++e)(i = (r = t[n[e]][c])[1] - r[0]) >= 0 ? (r[0] = o, r[1] = o += i) : i < 0 ? (r[1] = u, r[0] = u += i) : r[0] = o - }, t.stackOffsetNone = rm, t.stackOffsetSilhouette = function (t, n) { - if ((e = t.length) > 0) { - for (var e, r = 0, i = t[n[0]], o = i.length; r < o; ++r) { - for (var u = 0, a = 0; u < e; ++u) a += t[u][r][1] || 0; - i[r][1] += i[r][0] = -a / 2 - } - rm(t, n) - } - }, t.stackOffsetWiggle = function (t, n) { - if ((i = t.length) > 0 && (r = (e = t[n[0]]).length) > 0) { - for (var e, r, i, o = 0, u = 1; u < r; ++u) { - for (var a = 0, c = 0, s = 0; a < i; ++a) { - for (var f = t[n[a]], l = f[u][1] || 0, h = (l - (f[u - 1][1] || 0)) / 2, p = 0; p < a; ++p) { - var d = t[n[p]]; - h += (d[u][1] || 0) - (d[u - 1][1] || 0) - } - c += l, s += h * l - } - e[u - 1][1] += e[u - 1][0] = o, c && (o -= s / c) - } - e[u - 1][1] += e[u - 1][0] = o, rm(t, n) - } - }, t.stackOrderAscending = om, t.stackOrderDescending = function (t) { - return om(t).reverse() - }, t.stackOrderInsideOut = function (t) { - var n, e, r = t.length, - i = t.map(bc), - o = im(t).sort(function (t, n) { - return i[n] - i[t] - }), - u = 0, - a = 0, - c = [], - s = []; - for (n = 0; n < r; ++n) e = o[n], u < a ? (u += i[e], c.push(e)) : (a += i[e], s.push(e)); - return s.reverse().concat(c) - }, t.stackOrderNone = im, t.stackOrderReverse = function (t) { - return im(t).reverse() - }, t.timeInterval = Mu, t.timeMillisecond = U_, t.timeMilliseconds = D_, t.utcMillisecond = U_, t.utcMilliseconds = D_, t.timeSecond = I_, t.timeSeconds = Y_, t.utcSecond = I_, t.utcSeconds = Y_, t.timeMinute = B_, t.timeMinutes = j_, t.timeHour = H_, t.timeHours = X_, t.timeDay = $_, t.timeDays = V_, t.timeWeek = W_, t.timeWeeks = ny, t.timeSunday = W_, t.timeSundays = ny, t.timeMonday = Z_, t.timeMondays = ey, t.timeTuesday = G_, t.timeTuesdays = ry, t.timeWednesday = J_, t.timeWednesdays = iy, t.timeThursday = Q_, t.timeThursdays = oy, t.timeFriday = K_, t.timeFridays = uy, t.timeSaturday = ty, t.timeSaturdays = ay, t.timeMonth = cy, t.timeMonths = sy, t.timeYear = fy, t.timeYears = ly, t.utcMinute = hy, t.utcMinutes = py, t.utcHour = dy, t.utcHours = vy, t.utcDay = _y, t.utcDays = yy, t.utcWeek = gy, t.utcWeeks = ky, t.utcSunday = gy, t.utcSundays = ky, t.utcMonday = my, t.utcMondays = Ny, t.utcTuesday = xy, t.utcTuesdays = Sy, t.utcWednesday = by, t.utcWednesdays = Ey, t.utcThursday = wy, t.utcThursdays = Ay, t.utcFriday = My, t.utcFridays = Cy, t.utcSaturday = Ty, t.utcSaturdays = zy, t.utcMonth = Py, t.utcMonths = Ry, t.utcYear = Ly, t.utcYears = Uy, t.timeFormatDefaultLocale = Ma, t.timeFormatLocale = Au, t.isoFormat = Yy, t.isoParse = By, t.now = ln, t.timer = dn, t.timerFlush = vn, t.timeout = Pl, t.interval = function (t, n, e) { - var r = new pn, - i = n; - return null == n ? (r.restart(t, n, e), r) : (n = +n, e = null == e ? ln() : +e, r.restart(function o(u) { - u += i, r.restart(o, i += n, e), t(u) - }, n, e), r) - }, t.transition = Jn, t.active = function (t, n) { - var e, r, i = t.__transition; - if (i) { - n = null == n ? null : n + ""; - for (r in i) - if ((e = i[r]).state > Ul && e.name === n) return new Gn([ - [t] - ], yh, n, +r) - } - return null - }, t.interrupt = jl, t.voronoi = function () { - function t(t) { - return new Kc(t.map(function (r, i) { - var o = [Math.round(n(r, i, t) / dm) * dm, Math.round(e(r, i, t) / dm) * dm]; - return o.index = i, o.data = r, o - }), r) - } - var n = wc, - e = Mc, - r = null; - return t.polygons = function (n) { - return t(n).polygons() - }, t.links = function (n) { - return t(n).links() - }, t.triangles = function (n) { - return t(n).triangles() - }, t.x = function (e) { - return arguments.length ? (n = "function" == typeof e ? e : um(+e), t) : n - }, t.y = function (n) { - return arguments.length ? (e = "function" == typeof n ? n : um(+n), t) : e - }, t.extent = function (n) { - return arguments.length ? (r = null == n ? null : [ - [+n[0][0], +n[0][1]], - [+n[1][0], +n[1][1]] - ], t) : r && [ - [r[0][0], r[0][1]], - [r[1][0], r[1][1]] - ] - }, t.size = function (n) { - return arguments.length ? (r = null == n ? null : [ - [0, 0], - [+n[0], +n[1]] - ], t) : r && [r[1][0] - r[0][0], r[1][1] - r[0][1]] - }, t - }, t.zoom = function () { - function n(t) { - t.property("__zoom", us).on("wheel.zoom", s).on("mousedown.zoom", f).on("dblclick.zoom", l).filter(cs).on("touchstart.zoom", p).on("touchmove.zoom", d).on("touchend.zoom touchcancel.zoom", v).style("touch-action", "none").style("-webkit-tap-highlight-color", "rgba(0,0,0,0)") - } - - function e(t, n) { - return (n = Math.max(b, Math.min(w, n))) === t.k ? t : new ns(n, t.x, t.y) - } - - function r(t, n, e) { - var r = n[0] - e[0] * t.k, - i = n[1] - e[1] * t.k; - return r === t.x && i === t.y ? t : new ns(t.k, r, i) - } - - function i(t, n) { - var e = t.invertX(n[0][0]) - M, - r = t.invertX(n[1][0]) - T, - i = t.invertY(n[0][1]) - k, - o = t.invertY(n[1][1]) - S; - return t.translate(r > e ? (e + r) / 2 : Math.min(0, e) || Math.max(0, r), o > i ? (i + o) / 2 : Math.min(0, i) || Math.max(0, o)) - } - - function o(t) { - return [(+t[0][0] + +t[1][0]) / 2, (+t[0][1] + +t[1][1]) / 2] - } - - function u(t, n, e) { - t.on("start.zoom", function () { - a(this, arguments).start() - }).on("interrupt.zoom end.zoom", function () { - a(this, arguments).end() - }).tween("zoom", function () { - var t = this, - r = arguments, - i = a(t, r), - u = m.apply(t, r), - c = e || o(u), - s = Math.max(u[1][0] - u[0][0], u[1][1] - u[0][1]), - f = t.__zoom, - l = "function" == typeof n ? n.apply(t, r) : n, - h = A(f.invert(c).concat(s / f.k), l.invert(c).concat(s / l.k)); - return function (t) { - if (1 === t) t = l; - else { - var n = h(t), - e = s / n[2]; - t = new ns(e, c[0] - n[0] * e, c[1] - n[1] * e) - } - i.zoom(null, t) - } - }) - } - - function a(t, n) { - for (var e, r = 0, i = C.length; r < i; ++r) - if ((e = C[r]).that === t) return e; - return new c(t, n) - } - - function c(t, n) { - this.that = t, this.args = n, this.index = -1, this.active = 0, this.extent = m.apply(t, n) - } - - function s() { - if (g.apply(this, arguments)) { - var t = a(this, arguments), - n = this.__zoom, - o = Math.max(b, Math.min(w, n.k * Math.pow(2, x.apply(this, arguments)))), - u = Ks(this); - if (t.wheel) t.mouse[0][0] === u[0] && t.mouse[0][1] === u[1] || (t.mouse[1] = n.invert(t.mouse[0] = u)), clearTimeout(t.wheel); - else { - if (n.k === o) return; - t.mouse = [u, n.invert(u)], jl(this), t.start() - } - gm(), t.wheel = setTimeout(function () { - t.wheel = null, t.end() - }, R), t.zoom("mouse", i(r(e(n, o), t.mouse[0], t.mouse[1]), t.extent)) - } - } - - function f() { - if (!y && g.apply(this, arguments)) { - var n = a(this, arguments), - e = cf(t.event.view).on("mousemove.zoom", function () { - if (gm(), !n.moved) { - var e = t.event.clientX - u, - o = t.event.clientY - c; - n.moved = e * e + o * o > L - } - n.zoom("mouse", i(r(n.that.__zoom, n.mouse[0] = Ks(n.that), n.mouse[1]), n.extent)) - }, !0).on("mouseup.zoom", function () { - e.on("mousemove.zoom mouseup.zoom", null), _t(t.event.view, n.moved), gm(), n.end() - }, !0), - o = Ks(this), - u = t.event.clientX, - c = t.event.clientY; - lf(t.event.view), rs(), n.mouse = [o, this.__zoom.invert(o)], jl(this), n.start() - } - } - - function l() { - if (g.apply(this, arguments)) { - var o = this.__zoom, - a = Ks(this), - c = o.invert(a), - s = i(r(e(o, o.k * (t.event.shiftKey ? .5 : 2)), a, c), m.apply(this, arguments)); - gm(), E > 0 ? cf(this).transition().duration(E).call(u, s, a) : cf(this).call(n.transform, s) - } - } - - function p() { - if (g.apply(this, arguments)) { - var n, e, r, i, o = a(this, arguments), - u = t.event.changedTouches, - c = u.length; - for (rs(), e = 0; e < c; ++e) r = u[e], i = [i = sf(this, u, r.identifier), this.__zoom.invert(i), r.identifier], o.touch0 ? o.touch1 || (o.touch1 = i) : (o.touch0 = i, n = !0); - if (_ && (_ = clearTimeout(_), !o.touch1)) return o.end(), void((i = cf(this).on("dblclick.zoom")) && i.apply(this, arguments)); - n && (_ = setTimeout(function () { - _ = null - }, P), jl(this), o.start()) - } - } - - function d() { - var n, o, u, c, s = a(this, arguments), - f = t.event.changedTouches, - l = f.length; - for (gm(), _ && (_ = clearTimeout(_)), n = 0; n < l; ++n) o = f[n], u = sf(this, f, o.identifier), s.touch0 && s.touch0[2] === o.identifier ? s.touch0[0] = u : s.touch1 && s.touch1[2] === o.identifier && (s.touch1[0] = u); - if (o = s.that.__zoom, s.touch1) { - var h = s.touch0[0], - p = s.touch0[1], - d = s.touch1[0], - v = s.touch1[1], - y = (y = d[0] - h[0]) * y + (y = d[1] - h[1]) * y, - g = (g = v[0] - p[0]) * g + (g = v[1] - p[1]) * g; - o = e(o, Math.sqrt(y / g)), u = [(h[0] + d[0]) / 2, (h[1] + d[1]) / 2], c = [(p[0] + v[0]) / 2, (p[1] + v[1]) / 2] - } else { - if (!s.touch0) return; - u = s.touch0[0], c = s.touch0[1] - } - s.zoom("touch", i(r(o, u, c), s.extent)) - } - - function v() { - var n, e, r = a(this, arguments), - i = t.event.changedTouches, - o = i.length; - for (rs(), y && clearTimeout(y), y = setTimeout(function () { - y = null - }, P), n = 0; n < o; ++n) e = i[n], r.touch0 && r.touch0[2] === e.identifier ? delete r.touch0 : r.touch1 && r.touch1[2] === e.identifier && delete r.touch1; - r.touch1 && !r.touch0 && (r.touch0 = r.touch1, delete r.touch1), r.touch0 ? r.touch0[1] = this.__zoom.invert(r.touch0[0]) : r.end() - } - var _, y, g = is, - m = os, - x = as, - b = 0, - w = 1 / 0, - M = -w, - T = w, - k = M, - S = T, - E = 250, - A = _l, - C = [], - z = h("start", "zoom", "end"), - P = 500, - R = 150, - L = 0; - return n.transform = function (t, n) { - var e = t.selection ? t.selection() : t; - e.property("__zoom", us), t !== e ? u(t, n) : e.interrupt().each(function () { - a(this, arguments).start().zoom(null, "function" == typeof n ? n.apply(this, arguments) : n).end() - }) - }, n.scaleBy = function (t, e) { - n.scaleTo(t, function () { - return this.__zoom.k * ("function" == typeof e ? e.apply(this, arguments) : e) - }) - }, n.scaleTo = function (t, u) { - n.transform(t, function () { - var t = m.apply(this, arguments), - n = this.__zoom, - a = o(t), - c = n.invert(a); - return i(r(e(n, "function" == typeof u ? u.apply(this, arguments) : u), a, c), t) - }) - }, n.translateBy = function (t, e, r) { - n.transform(t, function () { - return i(this.__zoom.translate("function" == typeof e ? e.apply(this, arguments) : e, "function" == typeof r ? r.apply(this, arguments) : r), m.apply(this, arguments)) - }) - }, n.translateTo = function (t, e, r) { - n.transform(t, function () { - var t = m.apply(this, arguments), - n = this.__zoom, - u = o(t); - return i(ym.translate(u[0], u[1]).scale(n.k).translate("function" == typeof e ? -e.apply(this, arguments) : -e, "function" == typeof r ? -r.apply(this, arguments) : -r), t) - }) - }, c.prototype = { - start: function () { - return 1 == ++this.active && (this.index = C.push(this) - 1, this.emit("start")), this - }, - zoom: function (t, n) { - return this.mouse && "mouse" !== t && (this.mouse[1] = n.invert(this.mouse[0])), this.touch0 && "touch" !== t && (this.touch0[1] = n.invert(this.touch0[0])), this.touch1 && "touch" !== t && (this.touch1[1] = n.invert(this.touch1[0])), this.that.__zoom = n, this.emit("zoom"), this - }, - end: function () { - return 0 == --this.active && (C.splice(this.index, 1), this.index = -1, this.emit("end")), this - }, - emit: function (t) { - N(new ts(n, t, this.that.__zoom), z.apply, z, [t, this.that, this.args]) - } - }, n.wheelDelta = function (t) { - return arguments.length ? (x = "function" == typeof t ? t : _m(+t), n) : x - }, n.filter = function (t) { - return arguments.length ? (g = "function" == typeof t ? t : _m(!!t), n) : g - }, n.extent = function (t) { - return arguments.length ? (m = "function" == typeof t ? t : _m([ - [+t[0][0], +t[0][1]], - [+t[1][0], +t[1][1]] - ]), n) : m - }, n.scaleExtent = function (t) { - return arguments.length ? (b = +t[0], w = +t[1], n) : [b, w] - }, n.translateExtent = function (t) { - return arguments.length ? (M = +t[0][0], T = +t[1][0], k = +t[0][1], S = +t[1][1], n) : [ - [M, k], - [T, S] - ] - }, n.duration = function (t) { - return arguments.length ? (E = +t, n) : E - }, n.interpolate = function (t) { - return arguments.length ? (A = t, n) : A - }, n.on = function () { - var t = z.on.apply(z, arguments); - return t === z ? n : t - }, n.clickDistance = function (t) { - return arguments.length ? (L = (t = +t) * t, n) : Math.sqrt(L) - }, n - }, t.zoomTransform = es, t.zoomIdentity = ym, Object.defineProperty(t, "__esModule", { - value: !0 - }) -});
\ No newline at end of file |