eurostat-map 4.11.0 → 4.11.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3 @@
1
+ /*! /*! eurostat-map v4.11.2 | 2026 Eurostat | EUPL License. See https://github.com/eurostat/eurostat-map/blob/master/LICENSE * / */
2
+ !function webpackUniversalModuleDefinition(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.eurostatmap=n():t.eurostatmap=n()}(self,()=>(()=>{"use strict";var t={value:()=>{}};function dispatch(){for(var t,n=0,e=arguments.length,r={};n<e;++n){if(!(t=arguments[n]+"")||t in r||/[\s.]/.test(t))throw new Error("illegal type: "+t);r[t]=[]}return new Dispatch(r)}function Dispatch(t){this._=t}function get(t,n){for(var e,r=0,i=t.length;r<i;++r)if((e=t[r]).name===n)return e.value}function set(n,e,r){for(var i=0,o=n.length;i<o;++i)if(n[i].name===e){n[i]=t,n=n.slice(0,i).concat(n.slice(i+1));break}return null!=r&&n.push({name:e,value:r}),n}Dispatch.prototype=dispatch.prototype={constructor:Dispatch,on:function(t,n){var e,r=this._,i=function parseTypenames(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}})}(t+"",r),o=-1,a=i.length;if(!(arguments.length<2)){if(null!=n&&"function"!=typeof n)throw new Error("invalid callback: "+n);for(;++o<a;)if(e=(t=i[o]).type)r[e]=set(r[e],t.name,n);else if(null==n)for(e in r)r[e]=set(r[e],t.name,null);return this}for(;++o<a;)if((e=(t=i[o]).type)&&(e=get(r[e],t.name)))return e},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new Dispatch(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)}};const n=dispatch;var e,r,i=0,o=0,a=0,u=0,s=0,l=0,f="object"==typeof performance&&performance.now?performance:Date,c="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function now(){return s||(c(clearNow),s=f.now()+l)}function clearNow(){s=0}function Timer(){this._call=this._time=this._next=null}function timer(t,n,e){var r=new Timer;return r.restart(t,n,e),r}function wake(){s=(u=f.now())+l,i=o=0;try{!function timerFlush(){now(),++i;for(var t,n=e;n;)(t=s-n._time)>=0&&n._call.call(void 0,t),n=n._next;--i}()}finally{i=0,function nap(){var t,n,i=e,o=1/0;for(;i;)i._call?(o>i._time&&(o=i._time),t=i,i=i._next):(n=i._next,i._next=null,i=t?t._next=n:e=n);r=t,sleep(o)}(),s=0}}function poke(){var t=f.now(),n=t-u;n>1e3&&(l-=n,u=t)}function sleep(t){i||(o&&(o=clearTimeout(o)),t-s>24?(t<1/0&&(o=setTimeout(wake,t-f.now()-l)),a&&(a=clearInterval(a))):(a||(u=f.now(),a=setInterval(poke,1e3)),i=1,c(wake)))}Timer.prototype=timer.prototype={constructor:Timer,restart:function(t,n,i){if("function"!=typeof t)throw new TypeError("callback is not a function");i=(null==i?now():+i)+(null==n?0:+n),this._next||r===this||(r?r._next=this:e=this,r=this),this._call=t,this._time=i,sleep()},stop:function(){this._call&&(this._call=null,this._time=1/0,sleep())}};const h=4294967296;var p=Math.PI*(3-Math.sqrt(5));function simulation(t){var e,r=1,i=.001,o=1-Math.pow(i,1/300),a=0,u=.6,s=new Map,l=timer(step),f=n("tick","end"),c=function lcg(){let t=1;return()=>(t=(1664525*t+1013904223)%h)/h}();function step(){tick(),f.call("tick",e),r<i&&(l.stop(),f.call("end",e))}function tick(n){var i,l,f=t.length;void 0===n&&(n=1);for(var c=0;c<n;++c)for(r+=(a-r)*o,s.forEach(function(t){t(r)}),i=0;i<f;++i)null==(l=t[i]).fx?l.x+=l.vx*=u:(l.x=l.fx,l.vx=0),null==l.fy?l.y+=l.vy*=u:(l.y=l.fy,l.vy=0);return e}function initializeNodes(){for(var n,e=0,r=t.length;e<r;++e){if((n=t[e]).index=e,null!=n.fx&&(n.x=n.fx),null!=n.fy&&(n.y=n.fy),isNaN(n.x)||isNaN(n.y)){var i=10*Math.sqrt(.5+e),o=e*p;n.x=i*Math.cos(o),n.y=i*Math.sin(o)}(isNaN(n.vx)||isNaN(n.vy))&&(n.vx=n.vy=0)}}function initializeForce(n){return n.initialize&&n.initialize(t,c),n}return null==t&&(t=[]),initializeNodes(),e={tick,restart:function(){return l.restart(step),e},stop:function(){return l.stop(),e},nodes:function(n){return arguments.length?(t=n,initializeNodes(),s.forEach(initializeForce),e):t},alpha:function(t){return arguments.length?(r=+t,e):r},alphaMin:function(t){return arguments.length?(i=+t,e):i},alphaDecay:function(t){return arguments.length?(o=+t,e):+o},alphaTarget:function(t){return arguments.length?(a=+t,e):a},velocityDecay:function(t){return arguments.length?(u=1-t,e):1-u},randomSource:function(t){return arguments.length?(c=t,s.forEach(initializeForce),e):c},force:function(t,n){return arguments.length>1?(null==n?s.delete(t):s.set(t,initializeForce(n)),e):s.get(t)},find:function(n,e,r){var i,o,a,u,s,l=0,f=t.length;for(null==r?r=1/0:r*=r,l=0;l<f;++l)(a=(i=n-(u=t[l]).x)*i+(o=e-u.y)*o)<r&&(s=u,r=a);return s},on:function(t,n){return arguments.length>1?(f.on(t,n),e):f.on(t)}}}function constant(t){return function(){return t}}function src_x(t){var n,e,r,i=constant(.1);function force(t){for(var i,o=0,a=n.length;o<a;++o)(i=n[o]).vx+=(r[o]-i.x)*e[o]*t}function initialize(){if(n){var o,a=n.length;for(e=new Array(a),r=new Array(a),o=0;o<a;++o)e[o]=isNaN(r[o]=+t(n[o],o,n))?0:+i(n[o],o,n)}}return"function"!=typeof t&&(t=constant(null==t?0:+t)),force.initialize=function(t){n=t,initialize()},force.strength=function(t){return arguments.length?(i="function"==typeof t?t:constant(+t),initialize(),force):i},force.x=function(n){return arguments.length?(t="function"==typeof n?n:constant(+n),initialize(),force):t},force}function src_y(t){var n,e,r,i=constant(.1);function force(t){for(var i,o=0,a=n.length;o<a;++o)(i=n[o]).vy+=(r[o]-i.y)*e[o]*t}function initialize(){if(n){var o,a=n.length;for(e=new Array(a),r=new Array(a),o=0;o<a;++o)e[o]=isNaN(r[o]=+t(n[o],o,n))?0:+i(n[o],o,n)}}return"function"!=typeof t&&(t=constant(null==t?0:+t)),force.initialize=function(t){n=t,initialize()},force.strength=function(t){return arguments.length?(i="function"==typeof t?t:constant(+t),initialize(),force):i},force.y=function(n){return arguments.length?(t="function"==typeof n?n:constant(+n),initialize(),force):t},force}function add_add(t,n,e,r){if(isNaN(n)||isNaN(e))return t;var i,o,a,u,s,l,f,c,h,p=t._root,d={data:r},y=t._x0,_=t._y0,v=t._x1,x=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((l=n>=(o=(y+v)/2))?y=o:v=o,(f=e>=(a=(_+x)/2))?_=a:x=a,i=p,!(p=p[c=f<<1|l]))return i[c]=d,t;if(u=+t._x.call(null,p.data),s=+t._y.call(null,p.data),n===u&&e===s)return d.next=p,i?i[c]=d:t._root=d,t;do{i=i?i[c]=new Array(4):t._root=new Array(4),(l=n>=(o=(y+v)/2))?y=o:v=o,(f=e>=(a=(_+x)/2))?_=a:x=a}while((c=f<<1|l)==(h=(s>=a)<<1|u>=o));return i[h]=p,i[c]=d,t}function quad(t,n,e,r,i){this.node=t,this.x0=n,this.y0=e,this.x1=r,this.y1=i}function defaultX(t){return t[0]}function defaultY(t){return t[1]}function quadtree(t,n,e){var r=new Quadtree(null==n?defaultX:n,null==e?defaultY:e,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function Quadtree(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 leaf_copy(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}var d=quadtree.prototype=Quadtree.prototype;function jiggle(t){return 1e-6*(t()-.5)}function collide_x(t){return t.x+t.vx}function collide_y(t){return t.y+t.vy}function collide(t){var n,e,r,i=1,o=1;function force(){for(var t,a,u,s,l,f,c,h=n.length,p=0;p<o;++p)for(a=quadtree(n,collide_x,collide_y).visitAfter(prepare),t=0;t<h;++t)u=n[t],f=e[u.index],c=f*f,s=u.x+u.vx,l=u.y+u.vy,a.visit(apply);function apply(t,n,e,o,a){var h=t.data,p=t.r,d=f+p;if(!h)return n>s+d||o<s-d||e>l+d||a<l-d;if(h.index>u.index){var y=s-h.x-h.vx,_=l-h.y-h.vy,v=y*y+_*_;v<d*d&&(0===y&&(v+=(y=jiggle(r))*y),0===_&&(v+=(_=jiggle(r))*_),v=(d-(v=Math.sqrt(v)))/v*i,u.vx+=(y*=v)*(d=(p*=p)/(c+p)),u.vy+=(_*=v)*d,h.vx-=y*(d=1-d),h.vy-=_*d)}}}function prepare(t){if(t.data)return t.r=e[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 initialize(){if(n){var r,i,o=n.length;for(e=new Array(o),r=0;r<o;++r)i=n[r],e[i.index]=+t(i,r,n)}}return"function"!=typeof t&&(t=constant(null==t?1:+t)),force.initialize=function(t,e){n=t,r=e,initialize()},force.iterations=function(t){return arguments.length?(o=+t,force):o},force.strength=function(t){return arguments.length?(i=+t,force):i},force.radius=function(n){return arguments.length?(t="function"==typeof n?n:constant(+n),initialize(),force):t},force}return d.copy=function(){var t,n,e=new Quadtree(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=leaf_copy(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]=leaf_copy(n));return e},d.add=function add(t){const n=+this._x.call(null,t),e=+this._y.call(null,t);return add_add(this.cover(n,e),n,e,t)},d.addAll=function addAll(t){var n,e,r,i,o=t.length,a=new Array(o),u=new Array(o),s=1/0,l=1/0,f=-1/0,c=-1/0;for(e=0;e<o;++e)isNaN(r=+this._x.call(null,n=t[e]))||isNaN(i=+this._y.call(null,n))||(a[e]=r,u[e]=i,r<s&&(s=r),r>f&&(f=r),i<l&&(l=i),i>c&&(c=i));if(s>f||l>c)return this;for(this.cover(s,l).cover(f,c),e=0;e<o;++e)add_add(this,a[e],u[e],t[e]);return this},d.cover=function cover(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{for(var a,u,s=i-e||1,l=this._root;e>t||t>=i||r>n||n>=o;)switch(u=(n<r)<<1|t<e,(a=new Array(4))[u]=l,l=a,s*=2,u){case 0:i=e+s,o=r+s;break;case 1:e=i-s,o=r+s;break;case 2:i=e+s,r=o-s;break;case 3:e=i-s,r=o-s}this._root&&this._root.length&&(this._root=l)}return this._x0=e,this._y0=r,this._x1=i,this._y1=o,this},d.data=function data(){var t=[];return this.visit(function(n){if(!n.length)do{t.push(n.data)}while(n=n.next)}),t},d.extent=function extent(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]]},d.find=function find(t,n,e){var r,i,o,a,u,s,l,f=this._x0,c=this._y0,h=this._x1,p=this._y1,d=[],y=this._root;for(y&&d.push(new quad(y,f,c,h,p)),null==e?e=1/0:(f=t-e,c=n-e,h=t+e,p=n+e,e*=e);s=d.pop();)if(!(!(y=s.node)||(i=s.x0)>h||(o=s.y0)>p||(a=s.x1)<f||(u=s.y1)<c))if(y.length){var _=(i+a)/2,v=(o+u)/2;d.push(new quad(y[3],_,v,a,u),new quad(y[2],i,v,_,u),new quad(y[1],_,o,a,v),new quad(y[0],i,o,_,v)),(l=(n>=v)<<1|t>=_)&&(s=d[d.length-1],d[d.length-1]=d[d.length-1-l],d[d.length-1-l]=s)}else{var x=t-+this._x.call(null,y.data),g=n-+this._y.call(null,y.data),w=x*x+g*g;if(w<e){var m=Math.sqrt(e=w);f=t-m,c=n-m,h=t+m,p=n+m,r=y.data}}return r},d.remove=function remove(t){if(isNaN(o=+this._x.call(null,t))||isNaN(a=+this._y.call(null,t)))return this;var n,e,r,i,o,a,u,s,l,f,c,h,p=this._root,d=this._x0,y=this._y0,_=this._x1,v=this._y1;if(!p)return this;if(p.length)for(;;){if((l=o>=(u=(d+_)/2))?d=u:_=u,(f=a>=(s=(y+v)/2))?y=s:v=s,n=p,!(p=p[c=f<<1|l]))return this;if(!p.length)break;(n[c+1&3]||n[c+2&3]||n[c+3&3])&&(e=n,h=c)}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[c]=i:delete n[c],(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)},d.removeAll=function removeAll(t){for(var n=0,e=t.length;n<e;++n)this.remove(t[n]);return this},d.root=function root(){return this._root},d.size=function size(){var t=0;return this.visit(function(n){if(!n.length)do{++t}while(n=n.next)}),t},d.visit=function visit(t){var n,e,r,i,o,a,u=[],s=this._root;for(s&&u.push(new quad(s,this._x0,this._y0,this._x1,this._y1));n=u.pop();)if(!t(s=n.node,r=n.x0,i=n.y0,o=n.x1,a=n.y1)&&s.length){var l=(r+o)/2,f=(i+a)/2;(e=s[3])&&u.push(new quad(e,l,f,o,a)),(e=s[2])&&u.push(new quad(e,r,f,l,a)),(e=s[1])&&u.push(new quad(e,l,i,o,f)),(e=s[0])&&u.push(new quad(e,r,i,l,f))}return this},d.visitAfter=function visitAfter(t){var n,e=[],r=[];for(this._root&&e.push(new quad(this._root,this._x0,this._y0,this._x1,this._y1));n=e.pop();){var i=n.node;if(i.length){var o,a=n.x0,u=n.y0,s=n.x1,l=n.y1,f=(a+s)/2,c=(u+l)/2;(o=i[0])&&e.push(new quad(o,a,u,f,c)),(o=i[1])&&e.push(new quad(o,f,u,s,c)),(o=i[2])&&e.push(new quad(o,a,c,f,l)),(o=i[3])&&e.push(new quad(o,f,c,s,l))}r.push(n)}for(;n=r.pop();)t(n.node,n.x0,n.y0,n.x1,n.y1);return this},d.x=function d3_quadtree_src_x(t){return arguments.length?(this._x=t,this):this._x},d.y=function d3_quadtree_src_y(t){return arguments.length?(this._y=t,this):this._y},onmessage=function onmessage(t){var n=t.data,e=n.nodes,r=n.radii,i=n.strengthX,o=n.strengthY,a=n.iterations,u=n.d3URL,s={forceSimulation:simulation,forceX:src_x,forceY:src_y,forceCollide:collide};u&&(importScripts(u),s=self.d3);for(var l=e.map(function(t,n){return t.x=t.properties.centroid[0],t.y=t.properties.centroid[1],t.r=r[n],t}),f=s.forceSimulation(l).force("x",s.forceX(function(t){return t.properties.centroid[0]}).strength(i)).force("y",s.forceY(function(t){return t.properties.centroid[1]}).strength(o)).force("collide",s.forceCollide(function(t){return t.r}).iterations(a)).stop(),c=Math.ceil(Math.log(f.alphaMin())/Math.log(1-f.alphaDecay())),h=0;h<c;h++)f.tick(),h%10==0&&postMessage({type:"progress",progress:h,total:c});postMessage({type:"end",nodes:l}),self.close()},{}})());
3
+ //# sourceMappingURL=323.eurostatmap.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"323.eurostatmap.min.js","mappings":"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","sources":["webpack://eurostatmap/webpack/universalModuleDefinition","webpack://eurostatmap/./node_modules/d3-dispatch/src/dispatch.js","webpack://eurostatmap/./node_modules/d3-timer/src/timer.js","webpack://eurostatmap/./node_modules/d3-force/src/lcg.js","webpack://eurostatmap/./node_modules/d3-force/src/simulation.js","webpack://eurostatmap/./node_modules/d3-force/src/constant.js","webpack://eurostatmap/./node_modules/d3-force/src/x.js","webpack://eurostatmap/./node_modules/d3-force/src/y.js","webpack://eurostatmap/./node_modules/d3-quadtree/src/add.js","webpack://eurostatmap/./node_modules/d3-quadtree/src/quad.js","webpack://eurostatmap/./node_modules/d3-quadtree/src/x.js","webpack://eurostatmap/./node_modules/d3-quadtree/src/y.js","webpack://eurostatmap/./node_modules/d3-quadtree/src/quadtree.js","webpack://eurostatmap/./node_modules/d3-force/src/jiggle.js","webpack://eurostatmap/./node_modules/d3-force/src/collide.js","webpack://eurostatmap/./node_modules/d3-quadtree/src/cover.js","webpack://eurostatmap/./node_modules/d3-quadtree/src/data.js","webpack://eurostatmap/./node_modules/d3-quadtree/src/extent.js","webpack://eurostatmap/./node_modules/d3-quadtree/src/find.js","webpack://eurostatmap/./node_modules/d3-quadtree/src/remove.js","webpack://eurostatmap/./node_modules/d3-quadtree/src/root.js","webpack://eurostatmap/./node_modules/d3-quadtree/src/size.js","webpack://eurostatmap/./node_modules/d3-quadtree/src/visit.js","webpack://eurostatmap/./node_modules/d3-quadtree/src/visitAfter.js","webpack://eurostatmap/./src/core/dorling/dorling-worker.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"eurostatmap\"] = factory();\n\telse\n\t\troot[\"eurostatmap\"] = factory();\n})(self, () => {\nreturn ","var noop = {value: () => {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(undefined, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","// https://en.wikipedia.org/wiki/Linear_congruential_generator#Parameters_in_common_use\nconst a = 1664525;\nconst c = 1013904223;\nconst m = 4294967296; // 2^32\n\nexport default function() {\n let s = 1;\n return () => (s = (a * s + c) % m) / m;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer} from \"d3-timer\";\nimport lcg from \"./lcg.js\";\n\nexport function x(d) {\n return d.x;\n}\n\nexport function y(d) {\n return d.y;\n}\n\nvar initialRadius = 10,\n initialAngle = Math.PI * (3 - Math.sqrt(5));\n\nexport default function(nodes) {\n var simulation,\n alpha = 1,\n alphaMin = 0.001,\n alphaDecay = 1 - Math.pow(alphaMin, 1 / 300),\n alphaTarget = 0,\n velocityDecay = 0.6,\n forces = new Map(),\n stepper = timer(step),\n event = dispatch(\"tick\", \"end\"),\n random = lcg();\n\n if (nodes == null) nodes = [];\n\n function step() {\n tick();\n event.call(\"tick\", simulation);\n if (alpha < alphaMin) {\n stepper.stop();\n event.call(\"end\", simulation);\n }\n }\n\n function tick(iterations) {\n var i, n = nodes.length, node;\n\n if (iterations === undefined) iterations = 1;\n\n for (var k = 0; k < iterations; ++k) {\n alpha += (alphaTarget - alpha) * alphaDecay;\n\n forces.forEach(function(force) {\n force(alpha);\n });\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n if (node.fx == null) node.x += node.vx *= velocityDecay;\n else node.x = node.fx, node.vx = 0;\n if (node.fy == null) node.y += node.vy *= velocityDecay;\n else node.y = node.fy, node.vy = 0;\n }\n }\n\n return simulation;\n }\n\n function initializeNodes() {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.index = i;\n if (node.fx != null) node.x = node.fx;\n if (node.fy != null) node.y = node.fy;\n if (isNaN(node.x) || isNaN(node.y)) {\n var radius = initialRadius * Math.sqrt(0.5 + i), angle = i * initialAngle;\n node.x = radius * Math.cos(angle);\n node.y = radius * Math.sin(angle);\n }\n if (isNaN(node.vx) || isNaN(node.vy)) {\n node.vx = node.vy = 0;\n }\n }\n }\n\n function initializeForce(force) {\n if (force.initialize) force.initialize(nodes, random);\n return force;\n }\n\n initializeNodes();\n\n return simulation = {\n tick: tick,\n\n restart: function() {\n return stepper.restart(step), simulation;\n },\n\n stop: function() {\n return stepper.stop(), simulation;\n },\n\n nodes: function(_) {\n return arguments.length ? (nodes = _, initializeNodes(), forces.forEach(initializeForce), simulation) : nodes;\n },\n\n alpha: function(_) {\n return arguments.length ? (alpha = +_, simulation) : alpha;\n },\n\n alphaMin: function(_) {\n return arguments.length ? (alphaMin = +_, simulation) : alphaMin;\n },\n\n alphaDecay: function(_) {\n return arguments.length ? (alphaDecay = +_, simulation) : +alphaDecay;\n },\n\n alphaTarget: function(_) {\n return arguments.length ? (alphaTarget = +_, simulation) : alphaTarget;\n },\n\n velocityDecay: function(_) {\n return arguments.length ? (velocityDecay = 1 - _, simulation) : 1 - velocityDecay;\n },\n\n randomSource: function(_) {\n return arguments.length ? (random = _, forces.forEach(initializeForce), simulation) : random;\n },\n\n force: function(name, _) {\n return arguments.length > 1 ? ((_ == null ? forces.delete(name) : forces.set(name, initializeForce(_))), simulation) : forces.get(name);\n },\n\n find: function(x, y, radius) {\n var i = 0,\n n = nodes.length,\n dx,\n dy,\n d2,\n node,\n closest;\n\n if (radius == null) radius = Infinity;\n else radius *= radius;\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n dx = x - node.x;\n dy = y - node.y;\n d2 = dx * dx + dy * dy;\n if (d2 < radius) closest = node, radius = d2;\n }\n\n return closest;\n },\n\n on: function(name, _) {\n return arguments.length > 1 ? (event.on(name, _), simulation) : event.on(name);\n }\n };\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import constant from \"./constant.js\";\n\nexport default function(x) {\n var strength = constant(0.1),\n nodes,\n strengths,\n xz;\n\n if (typeof x !== \"function\") x = constant(x == null ? 0 : +x);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vx += (xz[i] - node.x) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n xz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(xz[i] = +x(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : x;\n };\n\n return force;\n}\n","import constant from \"./constant.js\";\n\nexport default function(y) {\n var strength = constant(0.1),\n nodes,\n strengths,\n yz;\n\n if (typeof y !== \"function\") y = constant(y == null ? 0 : +y);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vy += (yz[i] - node.y) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n yz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(yz[i] = +y(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : y;\n };\n\n return force;\n}\n","export default function(d) {\n const x = +this._x.call(null, d),\n y = +this._y.call(null, d);\n return add(this.cover(x, y), x, y, d);\n}\n\nfunction add(tree, x, y, d) {\n if (isNaN(x) || isNaN(y)) return tree; // ignore invalid points\n\n var parent,\n node = tree._root,\n leaf = {data: d},\n x0 = tree._x0,\n y0 = tree._y0,\n x1 = tree._x1,\n y1 = tree._y1,\n xm,\n ym,\n xp,\n yp,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return tree._root = leaf, tree;\n\n // Find the existing leaf for the new point, or add it.\n while (node.length) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (parent = node, !(node = node[i = bottom << 1 | right])) return parent[i] = leaf, tree;\n }\n\n // Is the new point is exactly coincident with the existing point?\n xp = +tree._x.call(null, node.data);\n yp = +tree._y.call(null, node.data);\n if (x === xp && y === yp) return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree;\n\n // Otherwise, split the leaf node until the old and new point are separated.\n do {\n parent = parent ? parent[i] = new Array(4) : tree._root = new Array(4);\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n } while ((i = bottom << 1 | right) === (j = (yp >= ym) << 1 | (xp >= xm)));\n return parent[j] = node, parent[i] = leaf, tree;\n}\n\nexport function addAll(data) {\n var d, i, n = data.length,\n x,\n y,\n xz = new Array(n),\n yz = new Array(n),\n x0 = Infinity,\n y0 = Infinity,\n x1 = -Infinity,\n y1 = -Infinity;\n\n // Compute the points and their extent.\n for (i = 0; i < n; ++i) {\n if (isNaN(x = +this._x.call(null, d = data[i])) || isNaN(y = +this._y.call(null, d))) continue;\n xz[i] = x;\n yz[i] = y;\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n }\n\n // If there were no (valid) points, abort.\n if (x0 > x1 || y0 > y1) return this;\n\n // Expand the tree to cover the new points.\n this.cover(x0, y0).cover(x1, y1);\n\n // Add the new points.\n for (i = 0; i < n; ++i) {\n add(this, xz[i], yz[i], data[i]);\n }\n\n return this;\n}\n","export default function(node, x0, y0, x1, y1) {\n this.node = node;\n this.x0 = x0;\n this.y0 = y0;\n this.x1 = x1;\n this.y1 = y1;\n}\n","export function defaultX(d) {\n return d[0];\n}\n\nexport default function(_) {\n return arguments.length ? (this._x = _, this) : this._x;\n}\n","export function defaultY(d) {\n return d[1];\n}\n\nexport default function(_) {\n return arguments.length ? (this._y = _, this) : this._y;\n}\n","import tree_add, {addAll as tree_addAll} from \"./add.js\";\nimport tree_cover from \"./cover.js\";\nimport tree_data from \"./data.js\";\nimport tree_extent from \"./extent.js\";\nimport tree_find from \"./find.js\";\nimport tree_remove, {removeAll as tree_removeAll} from \"./remove.js\";\nimport tree_root from \"./root.js\";\nimport tree_size from \"./size.js\";\nimport tree_visit from \"./visit.js\";\nimport tree_visitAfter from \"./visitAfter.js\";\nimport tree_x, {defaultX} from \"./x.js\";\nimport tree_y, {defaultY} from \"./y.js\";\n\nexport default function quadtree(nodes, x, y) {\n var tree = new Quadtree(x == null ? defaultX : x, y == null ? defaultY : y, NaN, NaN, NaN, NaN);\n return nodes == null ? tree : tree.addAll(nodes);\n}\n\nfunction Quadtree(x, y, x0, y0, x1, y1) {\n this._x = x;\n this._y = y;\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n this._root = undefined;\n}\n\nfunction leaf_copy(leaf) {\n var copy = {data: leaf.data}, next = copy;\n while (leaf = leaf.next) next = next.next = {data: leaf.data};\n return copy;\n}\n\nvar treeProto = quadtree.prototype = Quadtree.prototype;\n\ntreeProto.copy = function() {\n var copy = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1),\n node = this._root,\n nodes,\n child;\n\n if (!node) return copy;\n\n if (!node.length) return copy._root = leaf_copy(node), copy;\n\n nodes = [{source: node, target: copy._root = new Array(4)}];\n while (node = nodes.pop()) {\n for (var i = 0; i < 4; ++i) {\n if (child = node.source[i]) {\n if (child.length) nodes.push({source: child, target: node.target[i] = new Array(4)});\n else node.target[i] = leaf_copy(child);\n }\n }\n }\n\n return copy;\n};\n\ntreeProto.add = tree_add;\ntreeProto.addAll = tree_addAll;\ntreeProto.cover = tree_cover;\ntreeProto.data = tree_data;\ntreeProto.extent = tree_extent;\ntreeProto.find = tree_find;\ntreeProto.remove = tree_remove;\ntreeProto.removeAll = tree_removeAll;\ntreeProto.root = tree_root;\ntreeProto.size = tree_size;\ntreeProto.visit = tree_visit;\ntreeProto.visitAfter = tree_visitAfter;\ntreeProto.x = tree_x;\ntreeProto.y = tree_y;\n","export default function(random) {\n return (random() - 0.5) * 1e-6;\n}\n","import {quadtree} from \"d3-quadtree\";\nimport constant from \"./constant.js\";\nimport jiggle from \"./jiggle.js\";\n\nfunction x(d) {\n return d.x + d.vx;\n}\n\nfunction y(d) {\n return d.y + d.vy;\n}\n\nexport default function(radius) {\n var nodes,\n radii,\n random,\n strength = 1,\n iterations = 1;\n\n if (typeof radius !== \"function\") radius = constant(radius == null ? 1 : +radius);\n\n function force() {\n var i, n = nodes.length,\n tree,\n node,\n xi,\n yi,\n ri,\n ri2;\n\n for (var k = 0; k < iterations; ++k) {\n tree = quadtree(nodes, x, y).visitAfter(prepare);\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n ri = radii[node.index], ri2 = ri * ri;\n xi = node.x + node.vx;\n yi = node.y + node.vy;\n tree.visit(apply);\n }\n }\n\n function apply(quad, x0, y0, x1, y1) {\n var data = quad.data, rj = quad.r, r = ri + rj;\n if (data) {\n if (data.index > node.index) {\n var x = xi - data.x - data.vx,\n y = yi - data.y - data.vy,\n l = x * x + y * y;\n if (l < r * r) {\n if (x === 0) x = jiggle(random), l += x * x;\n if (y === 0) y = jiggle(random), l += y * y;\n l = (r - (l = Math.sqrt(l))) / l * strength;\n node.vx += (x *= l) * (r = (rj *= rj) / (ri2 + rj));\n node.vy += (y *= l) * r;\n data.vx -= x * (r = 1 - r);\n data.vy -= y * r;\n }\n }\n return;\n }\n return x0 > xi + r || x1 < xi - r || y0 > yi + r || y1 < yi - r;\n }\n }\n\n function prepare(quad) {\n if (quad.data) return quad.r = radii[quad.data.index];\n for (var i = quad.r = 0; i < 4; ++i) {\n if (quad[i] && quad[i].r > quad.r) {\n quad.r = quad[i].r;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n radii = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], radii[node.index] = +radius(node, i, nodes);\n }\n\n force.initialize = function(_nodes, _random) {\n nodes = _nodes;\n random = _random;\n initialize();\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = +_, force) : strength;\n };\n\n force.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : radius;\n };\n\n return force;\n}\n","export default function(x, y) {\n if (isNaN(x = +x) || isNaN(y = +y)) return this; // ignore invalid points\n\n var x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1;\n\n // If the quadtree has no extent, initialize them.\n // Integer extent are necessary so that if we later double the extent,\n // the existing quadrant boundaries don’t change due to floating point error!\n if (isNaN(x0)) {\n x1 = (x0 = Math.floor(x)) + 1;\n y1 = (y0 = Math.floor(y)) + 1;\n }\n\n // Otherwise, double repeatedly to cover.\n else {\n var z = x1 - x0 || 1,\n node = this._root,\n parent,\n i;\n\n while (x0 > x || x >= x1 || y0 > y || y >= y1) {\n i = (y < y0) << 1 | (x < x0);\n parent = new Array(4), parent[i] = node, node = parent, z *= 2;\n switch (i) {\n case 0: x1 = x0 + z, y1 = y0 + z; break;\n case 1: x0 = x1 - z, y1 = y0 + z; break;\n case 2: x1 = x0 + z, y0 = y1 - z; break;\n case 3: x0 = x1 - z, y0 = y1 - z; break;\n }\n }\n\n if (this._root && this._root.length) this._root = node;\n }\n\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n return this;\n}\n","export default function() {\n var data = [];\n this.visit(function(node) {\n if (!node.length) do data.push(node.data); while (node = node.next)\n });\n return data;\n}\n","export default function(_) {\n return arguments.length\n ? this.cover(+_[0][0], +_[0][1]).cover(+_[1][0], +_[1][1])\n : isNaN(this._x0) ? undefined : [[this._x0, this._y0], [this._x1, this._y1]];\n}\n","import Quad from \"./quad.js\";\n\nexport default function(x, y, radius) {\n var data,\n x0 = this._x0,\n y0 = this._y0,\n x1,\n y1,\n x2,\n y2,\n x3 = this._x1,\n y3 = this._y1,\n quads = [],\n node = this._root,\n q,\n i;\n\n if (node) quads.push(new Quad(node, x0, y0, x3, y3));\n if (radius == null) radius = Infinity;\n else {\n x0 = x - radius, y0 = y - radius;\n x3 = x + radius, y3 = y + radius;\n radius *= radius;\n }\n\n while (q = quads.pop()) {\n\n // Stop searching if this quadrant can’t contain a closer node.\n if (!(node = q.node)\n || (x1 = q.x0) > x3\n || (y1 = q.y0) > y3\n || (x2 = q.x1) < x0\n || (y2 = q.y1) < y0) continue;\n\n // Bisect the current quadrant.\n if (node.length) {\n var xm = (x1 + x2) / 2,\n ym = (y1 + y2) / 2;\n\n quads.push(\n new Quad(node[3], xm, ym, x2, y2),\n new Quad(node[2], x1, ym, xm, y2),\n new Quad(node[1], xm, y1, x2, ym),\n new Quad(node[0], x1, y1, xm, ym)\n );\n\n // Visit the closest quadrant first.\n if (i = (y >= ym) << 1 | (x >= xm)) {\n q = quads[quads.length - 1];\n quads[quads.length - 1] = quads[quads.length - 1 - i];\n quads[quads.length - 1 - i] = q;\n }\n }\n\n // Visit this point. (Visiting coincident points isn’t necessary!)\n else {\n var dx = x - +this._x.call(null, node.data),\n dy = y - +this._y.call(null, node.data),\n d2 = dx * dx + dy * dy;\n if (d2 < radius) {\n var d = Math.sqrt(radius = d2);\n x0 = x - d, y0 = y - d;\n x3 = x + d, y3 = y + d;\n data = node.data;\n }\n }\n }\n\n return data;\n}\n","export default function(d) {\n if (isNaN(x = +this._x.call(null, d)) || isNaN(y = +this._y.call(null, d))) return this; // ignore invalid points\n\n var parent,\n node = this._root,\n retainer,\n previous,\n next,\n x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1,\n x,\n y,\n xm,\n ym,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return this;\n\n // Find the leaf node for the point.\n // While descending, also retain the deepest parent with a non-removed sibling.\n if (node.length) while (true) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (!(parent = node, node = node[i = bottom << 1 | right])) return this;\n if (!node.length) break;\n if (parent[(i + 1) & 3] || parent[(i + 2) & 3] || parent[(i + 3) & 3]) retainer = parent, j = i;\n }\n\n // Find the point to remove.\n while (node.data !== d) if (!(previous = node, node = node.next)) return this;\n if (next = node.next) delete node.next;\n\n // If there are multiple coincident points, remove just the point.\n if (previous) return (next ? previous.next = next : delete previous.next), this;\n\n // If this is the root point, remove it.\n if (!parent) return this._root = next, this;\n\n // Remove this leaf.\n next ? parent[i] = next : delete parent[i];\n\n // If the parent now contains exactly one leaf, collapse superfluous parents.\n if ((node = parent[0] || parent[1] || parent[2] || parent[3])\n && node === (parent[3] || parent[2] || parent[1] || parent[0])\n && !node.length) {\n if (retainer) retainer[j] = node;\n else this._root = node;\n }\n\n return this;\n}\n\nexport function removeAll(data) {\n for (var i = 0, n = data.length; i < n; ++i) this.remove(data[i]);\n return this;\n}\n","export default function() {\n return this._root;\n}\n","export default function() {\n var size = 0;\n this.visit(function(node) {\n if (!node.length) do ++size; while (node = node.next)\n });\n return size;\n}\n","import Quad from \"./quad.js\";\n\nexport default function(callback) {\n var quads = [], q, node = this._root, child, x0, y0, x1, y1;\n if (node) quads.push(new Quad(node, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n if (!callback(node = q.node, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1) && node.length) {\n var xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n }\n }\n return this;\n}\n","import Quad from \"./quad.js\";\n\nexport default function(callback) {\n var quads = [], next = [], q;\n if (this._root) quads.push(new Quad(this._root, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n var node = q.node;\n if (node.length) {\n var child, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1, xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n }\n next.push(q);\n }\n while (q = next.pop()) {\n callback(q.node, q.x0, q.y0, q.x1, q.y1);\n }\n return this;\n}\n","import { forceSimulation, forceX, forceY, forceCollide } from 'd3-force'\r\n\r\nonmessage = (event) => {\r\n const { nodes: inputNodes, radii, strengthX, strengthY, iterations, d3URL } = event.data\r\n\r\n // d3-force is bundled directly by default (fast, no network dependency) - importScripts a\r\n // full runtime d3 build only if the caller explicitly opted into a custom build via\r\n // dorlingSettings({ workerD3URL }). Previously this always fetched the full d3 v7 bundle from\r\n // an external CDN on every single Dorling toggle, even though only these 4 named exports are\r\n // used - the network round-trip (worker spin-up + fetch + cache revalidation each time) was\r\n // the actual cause of the \"cartogram mode is slow now\" regression, not the simulation itself.\r\n let d3Force = { forceSimulation, forceX, forceY, forceCollide }\r\n if (d3URL) {\r\n importScripts(d3URL)\r\n d3Force = self.d3\r\n }\r\n\r\n const nodes = inputNodes.map((n, i) => {\r\n n.x = n.properties.centroid[0]\r\n n.y = n.properties.centroid[1]\r\n n.r = radii[i]\r\n return n\r\n })\r\n\r\n const sim = d3Force\r\n .forceSimulation(nodes)\r\n .force('x', d3Force.forceX((d) => d.properties.centroid[0]).strength(strengthX))\r\n .force('y', d3Force.forceY((d) => d.properties.centroid[1]).strength(strengthY))\r\n .force('collide', d3Force.forceCollide((d) => d.r).iterations(iterations))\r\n .stop()\r\n\r\n const nTicks = Math.ceil(Math.log(sim.alphaMin()) / Math.log(1 - sim.alphaDecay()))\r\n\r\n for (let i = 0; i < nTicks; i++) {\r\n sim.tick()\r\n if (i % 10 === 0) {\r\n postMessage({ type: 'progress', progress: i, total: nTicks })\r\n }\r\n }\r\n\r\n postMessage({ type: 'end', nodes })\r\n self.close()\r\n}\r\n"],"names":["webpackUniversalModuleDefinition","root","factory","exports","module","define","amd","self","noop","value","dispatch","t","i","n","arguments","length","_","test","Error","Dispatch","this","get","type","name","c","set","callback","slice","concat","push","prototype","constructor","on","typename","T","parseTypenames","typenames","types","trim","split","map","indexOf","hasOwnProperty","copy","call","that","args","Array","apply","taskHead","taskTail","timeout","interval","clockLast","clockNow","clockSkew","clock","performance","now","Date","setFrame","window","requestAnimationFrame","bind","f","setTimeout","clearNow","Timer","_call","_time","_next","timer","delay","time","restart","wake","timerFlush","e","undefined","nap","t0","t2","t1","Infinity","sleep","poke","clearTimeout","clearInterval","setInterval","TypeError","stop","m","initialAngle","Math","PI","sqrt","nodes","simulation","alpha","alphaMin","alphaDecay","pow","alphaTarget","velocityDecay","forces","Map","stepper","step","event","random","s","lcg","tick","iterations","node","k","forEach","force","fx","x","vx","fy","y","vy","initializeNodes","index","isNaN","radius","angle","cos","sin","initializeForce","initialize","randomSource","delete","find","dx","dy","d2","closest","strengths","xz","strength","constant","yz","tree","d","parent","xm","ym","xp","yp","right","bottom","j","_root","leaf","data","x0","_x0","y0","_y0","x1","_x1","y1","_y1","_x","_y","next","defaultX","defaultY","quadtree","Quadtree","NaN","addAll","leaf_copy","treeProto","radii","xi","yi","ri","ri2","visitAfter","prepare","visit","quad","rj","r","l","jiggle","_nodes","_random","child","source","target","pop","add","cover","floor","z","extent","x2","y2","q","x3","y3","quads","remove","retainer","previous","removeAll","size","onmessage","_event$data","inputNodes","strengthX","strengthY","d3URL","d3Force","forceSimulation","forceX","forceY","forceCollide","importScripts","d3","properties","centroid","sim","nTicks","ceil","log","postMessage","progress","total","close"],"sourceRoot":""}