From f41a203f5cae1c7295c952e7b51ddb2c03c17566 Mon Sep 17 00:00:00 2001 From: Don Park Date: Mon, 27 Apr 2015 09:44:53 -0700 Subject: [PATCH 1/2] PIXI.js expects canvas to support events --- Source/Ejecta/EJCanvas/EJBindingCanvas.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Ejecta/EJCanvas/EJBindingCanvas.h b/Source/Ejecta/EJCanvas/EJBindingCanvas.h index c1eed95e..4f2b1b39 100644 --- a/Source/Ejecta/EJCanvas/EJBindingCanvas.h +++ b/Source/Ejecta/EJCanvas/EJBindingCanvas.h @@ -1,4 +1,4 @@ -#import "EJBindingBase.h" +#import "EJBindingEventedBase.h" #import "EJTexture.h" #import "EJDrawable.h" #import "EJCanvasContext.h" @@ -16,7 +16,7 @@ typedef enum { kEJCanvasContextModeWebGL } EJCanvasContextMode; -@interface EJBindingCanvas : EJBindingBase { +@interface EJBindingCanvas : EJBindingEventedBase { JSObjectRef jsCanvasContext; EJCanvasContext *renderingContext; EJCanvasContextMode contextMode; From 7ac6f7b05e9cd2114ef9137ead7e4785a1207412 Mon Sep 17 00:00:00 2001 From: Don Park Date: Mon, 4 May 2015 18:22:33 -0700 Subject: [PATCH 2/2] demoapps --- demoapps/d3demo.js | 104 + demoapps/d3demo/miserables.json | 337 + demoapps/index.js | 4 + demoapps/lines.js | 70 + demoapps/pixidemo1.js | 35 + demoapps/pixidemo1/bunny.png | Bin 0 -> 449 bytes demoapps/pixidemo2.js | 273 + demoapps/pixidemo2/characterBlurTrail.png | Bin 0 -> 16530 bytes demoapps/pixidemo2/characterFlying_01.png | Bin 0 -> 12484 bytes demoapps/pixidemo2/characterFlying_02.png | Bin 0 -> 12174 bytes demoapps/pixidemo2/characterFlying_03.png | Bin 0 -> 12484 bytes demoapps/pixidemo2/column.png | Bin 0 -> 153366 bytes demoapps/pixidemo2/flyingPixie.png | Bin 0 -> 12362 bytes demoapps/pixidemo2/mainBG.jpg | Bin 0 -> 172812 bytes demoapps/threedemo.js | 209 + demoapps/threedemo/BinaryLoader.js | 752 + demoapps/threedemo/Detector.js | 66 + demoapps/threedemo/WaltHead_bin.bin | Bin 0 -> 542416 bytes demoapps/threedemo/WaltHead_bin.js | 30 + demoapps/threedemo/nx.jpg | Bin 0 -> 55087 bytes demoapps/threedemo/ny.jpg | Bin 0 -> 26281 bytes demoapps/threedemo/nz.jpg | Bin 0 -> 55926 bytes demoapps/threedemo/px.jpg | Bin 0 -> 43656 bytes demoapps/threedemo/py.jpg | Bin 0 -> 6204 bytes demoapps/threedemo/pz.jpg | Bin 0 -> 75549 bytes demoapps/threedemo/stats.js | 6 + demoapps/vendor/d3.js | 9505 ++++++ demoapps/vendor/d3.min.js | 5 + demoapps/vendor/pixi.js | 25512 ++++++++++++++ demoapps/vendor/pixi.js.map | 1 + demoapps/vendor/pixi.min.js | 10 + demoapps/vendor/pixi.min.js.map | 1 + demoapps/vendor/three.js | 35133 ++++++++++++++++++++ demoapps/vendor/three.min.js | 835 + 34 files changed, 72888 insertions(+) create mode 100644 demoapps/d3demo.js create mode 100644 demoapps/d3demo/miserables.json create mode 100644 demoapps/index.js create mode 100644 demoapps/lines.js create mode 100644 demoapps/pixidemo1.js create mode 100644 demoapps/pixidemo1/bunny.png create mode 100644 demoapps/pixidemo2.js create mode 100644 demoapps/pixidemo2/characterBlurTrail.png create mode 100644 demoapps/pixidemo2/characterFlying_01.png create mode 100644 demoapps/pixidemo2/characterFlying_02.png create mode 100644 demoapps/pixidemo2/characterFlying_03.png create mode 100644 demoapps/pixidemo2/column.png create mode 100644 demoapps/pixidemo2/flyingPixie.png create mode 100644 demoapps/pixidemo2/mainBG.jpg create mode 100644 demoapps/threedemo.js create mode 100644 demoapps/threedemo/BinaryLoader.js create mode 100644 demoapps/threedemo/Detector.js create mode 100644 demoapps/threedemo/WaltHead_bin.bin create mode 100644 demoapps/threedemo/WaltHead_bin.js create mode 100644 demoapps/threedemo/nx.jpg create mode 100644 demoapps/threedemo/ny.jpg create mode 100644 demoapps/threedemo/nz.jpg create mode 100644 demoapps/threedemo/px.jpg create mode 100644 demoapps/threedemo/py.jpg create mode 100644 demoapps/threedemo/pz.jpg create mode 100644 demoapps/threedemo/stats.js create mode 100644 demoapps/vendor/d3.js create mode 100644 demoapps/vendor/d3.min.js create mode 100644 demoapps/vendor/pixi.js create mode 100644 demoapps/vendor/pixi.js.map create mode 100644 demoapps/vendor/pixi.min.js create mode 100644 demoapps/vendor/pixi.min.js.map create mode 100644 demoapps/vendor/three.js create mode 100644 demoapps/vendor/three.min.js diff --git a/demoapps/d3demo.js b/demoapps/d3demo.js new file mode 100644 index 00000000..8075cf9a --- /dev/null +++ b/demoapps/d3demo.js @@ -0,0 +1,104 @@ +var width = window.innerWidth; +//---------------------------------------------------- + +(function (global) { + var document = global.document; + var createElement = document.createElement; + document.createElement = function (name) { + var elem = createElement(name); + elem.style = new CSSStyleDeclaration(); + return elem; + }; + document.createElementNS = function (ns, name) { + var elem = createElement(name); + elem.style = new CSSStyleDeclaration(); + return elem; + }; + document.querySelector = function (s) { + if (s === "body") { + return document.body; + } else { + console.log("document.querySelector selector", s); + return document.createElement("foobar"); + } + }; +})(this); + +(function (global) { + global.Element = global.HTMLElement; + global.Element.prototype.setAttributeNS = function (ns, name, value) { + this.setAttribute(name, value); + }; + Object.defineProperty(global.Element.prototype, "ownerDocument", { + get: function () { + console.log("ownerDocument called"); + return global.document; + } + }); +})(this); + +(function (global) { + global.CSSStyleDeclaration = function () {}; + global.CSSStyleDeclaration.prototype.setProperty = function (name, value) { + console.log("CSSStyleDeclaration.setProperty", name, value); + }; +})(this); + +//---------------------------------------------------- + +var height = window.innerHeight; +var canvas = document.getElementById('canvas'); +canvas.width = width; +canvas.height = height; + +//---------------------------------------------------- + +var d3 = require('vendor/d3.js'); +console.log("d3", d3); + +var color = d3.scale.category20(); + +var force = d3.layout.force() + .charge(-120) + .linkDistance(30) + .size([width, height]); + +var svg = d3.select("body").append("svg") + .attr("width", width) + .attr("height", height); + +d3.json("d3demo/miserables.json", function(error, graph) { + force + .nodes(graph.nodes) + .links(graph.links) + .start(); + + var link = svg.selectAll(".link") + .data(graph.links) + .enter().append("line") + .attr("class", "link") + .style("stroke-width", function(d) { return Math.sqrt(d.value); }); + + var node = svg.selectAll(".node") + .data(graph.nodes) + .enter().append("circle") + .attr("class", "node") + .attr("r", 5) + .style("fill", function(d) { return color(d.group); }) + .call(force.drag); + + node.append("title") + .text(function(d) { return d.name; }); + + force.on("tick", function() { + link.attr("x1", function(d) { return d.source.x; }) + .attr("y1", function(d) { return d.source.y; }) + .attr("x2", function(d) { return d.target.x; }) + .attr("y2", function(d) { return d.target.y; }); + + node.attr("cx", function(d) { return d.x; }) + .attr("cy", function(d) { return d.y; }); + }); + + // resulting SVG should be in document.body.svg +}); diff --git a/demoapps/d3demo/miserables.json b/demoapps/d3demo/miserables.json new file mode 100644 index 00000000..40be7572 --- /dev/null +++ b/demoapps/d3demo/miserables.json @@ -0,0 +1,337 @@ +{ + "nodes":[ + {"name":"Myriel","group":1}, + {"name":"Napoleon","group":1}, + {"name":"Mlle.Baptistine","group":1}, + {"name":"Mme.Magloire","group":1}, + {"name":"CountessdeLo","group":1}, + {"name":"Geborand","group":1}, + {"name":"Champtercier","group":1}, + {"name":"Cravatte","group":1}, + {"name":"Count","group":1}, + {"name":"OldMan","group":1}, + {"name":"Labarre","group":2}, + {"name":"Valjean","group":2}, + {"name":"Marguerite","group":3}, + {"name":"Mme.deR","group":2}, + {"name":"Isabeau","group":2}, + {"name":"Gervais","group":2}, + {"name":"Tholomyes","group":3}, + {"name":"Listolier","group":3}, + {"name":"Fameuil","group":3}, + {"name":"Blacheville","group":3}, + {"name":"Favourite","group":3}, + {"name":"Dahlia","group":3}, + {"name":"Zephine","group":3}, + {"name":"Fantine","group":3}, + {"name":"Mme.Thenardier","group":4}, + {"name":"Thenardier","group":4}, + {"name":"Cosette","group":5}, + {"name":"Javert","group":4}, + {"name":"Fauchelevent","group":0}, + {"name":"Bamatabois","group":2}, + {"name":"Perpetue","group":3}, + {"name":"Simplice","group":2}, + {"name":"Scaufflaire","group":2}, + {"name":"Woman1","group":2}, + {"name":"Judge","group":2}, + {"name":"Champmathieu","group":2}, + {"name":"Brevet","group":2}, + {"name":"Chenildieu","group":2}, + {"name":"Cochepaille","group":2}, + {"name":"Pontmercy","group":4}, + {"name":"Boulatruelle","group":6}, + {"name":"Eponine","group":4}, + {"name":"Anzelma","group":4}, + {"name":"Woman2","group":5}, + {"name":"MotherInnocent","group":0}, + {"name":"Gribier","group":0}, + {"name":"Jondrette","group":7}, + {"name":"Mme.Burgon","group":7}, + {"name":"Gavroche","group":8}, + {"name":"Gillenormand","group":5}, + {"name":"Magnon","group":5}, + {"name":"Mlle.Gillenormand","group":5}, + {"name":"Mme.Pontmercy","group":5}, + {"name":"Mlle.Vaubois","group":5}, + {"name":"Lt.Gillenormand","group":5}, + {"name":"Marius","group":8}, + {"name":"BaronessT","group":5}, + {"name":"Mabeuf","group":8}, + {"name":"Enjolras","group":8}, + {"name":"Combeferre","group":8}, + {"name":"Prouvaire","group":8}, + {"name":"Feuilly","group":8}, + {"name":"Courfeyrac","group":8}, + {"name":"Bahorel","group":8}, + {"name":"Bossuet","group":8}, + {"name":"Joly","group":8}, + {"name":"Grantaire","group":8}, + {"name":"MotherPlutarch","group":9}, + {"name":"Gueulemer","group":4}, + {"name":"Babet","group":4}, + {"name":"Claquesous","group":4}, + {"name":"Montparnasse","group":4}, + {"name":"Toussaint","group":5}, + {"name":"Child1","group":10}, + {"name":"Child2","group":10}, + {"name":"Brujon","group":4}, + {"name":"Mme.Hucheloup","group":8} + ], + "links":[ + {"source":1,"target":0,"value":1}, + {"source":2,"target":0,"value":8}, + {"source":3,"target":0,"value":10}, + {"source":3,"target":2,"value":6}, + {"source":4,"target":0,"value":1}, + {"source":5,"target":0,"value":1}, + {"source":6,"target":0,"value":1}, + {"source":7,"target":0,"value":1}, + {"source":8,"target":0,"value":2}, + {"source":9,"target":0,"value":1}, + {"source":11,"target":10,"value":1}, + {"source":11,"target":3,"value":3}, + {"source":11,"target":2,"value":3}, + {"source":11,"target":0,"value":5}, + {"source":12,"target":11,"value":1}, + {"source":13,"target":11,"value":1}, + {"source":14,"target":11,"value":1}, + {"source":15,"target":11,"value":1}, + {"source":17,"target":16,"value":4}, + {"source":18,"target":16,"value":4}, + {"source":18,"target":17,"value":4}, + {"source":19,"target":16,"value":4}, + {"source":19,"target":17,"value":4}, + {"source":19,"target":18,"value":4}, + {"source":20,"target":16,"value":3}, + {"source":20,"target":17,"value":3}, + {"source":20,"target":18,"value":3}, + {"source":20,"target":19,"value":4}, + {"source":21,"target":16,"value":3}, + {"source":21,"target":17,"value":3}, + {"source":21,"target":18,"value":3}, + {"source":21,"target":19,"value":3}, + {"source":21,"target":20,"value":5}, + {"source":22,"target":16,"value":3}, + {"source":22,"target":17,"value":3}, + {"source":22,"target":18,"value":3}, + {"source":22,"target":19,"value":3}, + {"source":22,"target":20,"value":4}, + {"source":22,"target":21,"value":4}, + {"source":23,"target":16,"value":3}, + {"source":23,"target":17,"value":3}, + {"source":23,"target":18,"value":3}, + {"source":23,"target":19,"value":3}, + {"source":23,"target":20,"value":4}, + {"source":23,"target":21,"value":4}, + {"source":23,"target":22,"value":4}, + {"source":23,"target":12,"value":2}, + {"source":23,"target":11,"value":9}, + {"source":24,"target":23,"value":2}, + {"source":24,"target":11,"value":7}, + {"source":25,"target":24,"value":13}, + {"source":25,"target":23,"value":1}, + {"source":25,"target":11,"value":12}, + {"source":26,"target":24,"value":4}, + {"source":26,"target":11,"value":31}, + {"source":26,"target":16,"value":1}, + {"source":26,"target":25,"value":1}, + {"source":27,"target":11,"value":17}, + {"source":27,"target":23,"value":5}, + {"source":27,"target":25,"value":5}, + {"source":27,"target":24,"value":1}, + {"source":27,"target":26,"value":1}, + {"source":28,"target":11,"value":8}, + {"source":28,"target":27,"value":1}, + {"source":29,"target":23,"value":1}, + {"source":29,"target":27,"value":1}, + {"source":29,"target":11,"value":2}, + {"source":30,"target":23,"value":1}, + {"source":31,"target":30,"value":2}, + {"source":31,"target":11,"value":3}, + {"source":31,"target":23,"value":2}, + {"source":31,"target":27,"value":1}, + {"source":32,"target":11,"value":1}, + {"source":33,"target":11,"value":2}, + {"source":33,"target":27,"value":1}, + {"source":34,"target":11,"value":3}, + {"source":34,"target":29,"value":2}, + {"source":35,"target":11,"value":3}, + {"source":35,"target":34,"value":3}, + {"source":35,"target":29,"value":2}, + {"source":36,"target":34,"value":2}, + {"source":36,"target":35,"value":2}, + {"source":36,"target":11,"value":2}, + {"source":36,"target":29,"value":1}, + {"source":37,"target":34,"value":2}, + {"source":37,"target":35,"value":2}, + {"source":37,"target":36,"value":2}, + {"source":37,"target":11,"value":2}, + {"source":37,"target":29,"value":1}, + {"source":38,"target":34,"value":2}, + {"source":38,"target":35,"value":2}, + {"source":38,"target":36,"value":2}, + {"source":38,"target":37,"value":2}, + {"source":38,"target":11,"value":2}, + {"source":38,"target":29,"value":1}, + {"source":39,"target":25,"value":1}, + {"source":40,"target":25,"value":1}, + {"source":41,"target":24,"value":2}, + {"source":41,"target":25,"value":3}, + {"source":42,"target":41,"value":2}, + {"source":42,"target":25,"value":2}, + {"source":42,"target":24,"value":1}, + {"source":43,"target":11,"value":3}, + {"source":43,"target":26,"value":1}, + {"source":43,"target":27,"value":1}, + {"source":44,"target":28,"value":3}, + {"source":44,"target":11,"value":1}, + {"source":45,"target":28,"value":2}, + {"source":47,"target":46,"value":1}, + {"source":48,"target":47,"value":2}, + {"source":48,"target":25,"value":1}, + {"source":48,"target":27,"value":1}, + {"source":48,"target":11,"value":1}, + {"source":49,"target":26,"value":3}, + {"source":49,"target":11,"value":2}, + {"source":50,"target":49,"value":1}, + {"source":50,"target":24,"value":1}, + {"source":51,"target":49,"value":9}, + {"source":51,"target":26,"value":2}, + {"source":51,"target":11,"value":2}, + {"source":52,"target":51,"value":1}, + {"source":52,"target":39,"value":1}, + {"source":53,"target":51,"value":1}, + {"source":54,"target":51,"value":2}, + {"source":54,"target":49,"value":1}, + {"source":54,"target":26,"value":1}, + {"source":55,"target":51,"value":6}, + {"source":55,"target":49,"value":12}, + {"source":55,"target":39,"value":1}, + {"source":55,"target":54,"value":1}, + {"source":55,"target":26,"value":21}, + {"source":55,"target":11,"value":19}, + {"source":55,"target":16,"value":1}, + {"source":55,"target":25,"value":2}, + {"source":55,"target":41,"value":5}, + {"source":55,"target":48,"value":4}, + {"source":56,"target":49,"value":1}, + {"source":56,"target":55,"value":1}, + {"source":57,"target":55,"value":1}, + {"source":57,"target":41,"value":1}, + {"source":57,"target":48,"value":1}, + {"source":58,"target":55,"value":7}, + {"source":58,"target":48,"value":7}, + {"source":58,"target":27,"value":6}, + {"source":58,"target":57,"value":1}, + {"source":58,"target":11,"value":4}, + {"source":59,"target":58,"value":15}, + {"source":59,"target":55,"value":5}, + {"source":59,"target":48,"value":6}, + {"source":59,"target":57,"value":2}, + {"source":60,"target":48,"value":1}, + {"source":60,"target":58,"value":4}, + {"source":60,"target":59,"value":2}, + {"source":61,"target":48,"value":2}, + {"source":61,"target":58,"value":6}, + {"source":61,"target":60,"value":2}, + {"source":61,"target":59,"value":5}, + {"source":61,"target":57,"value":1}, + {"source":61,"target":55,"value":1}, + {"source":62,"target":55,"value":9}, + {"source":62,"target":58,"value":17}, + {"source":62,"target":59,"value":13}, + {"source":62,"target":48,"value":7}, + {"source":62,"target":57,"value":2}, + {"source":62,"target":41,"value":1}, + {"source":62,"target":61,"value":6}, + {"source":62,"target":60,"value":3}, + {"source":63,"target":59,"value":5}, + {"source":63,"target":48,"value":5}, + {"source":63,"target":62,"value":6}, + {"source":63,"target":57,"value":2}, + {"source":63,"target":58,"value":4}, + {"source":63,"target":61,"value":3}, + {"source":63,"target":60,"value":2}, + {"source":63,"target":55,"value":1}, + {"source":64,"target":55,"value":5}, + {"source":64,"target":62,"value":12}, + {"source":64,"target":48,"value":5}, + {"source":64,"target":63,"value":4}, + {"source":64,"target":58,"value":10}, + {"source":64,"target":61,"value":6}, + {"source":64,"target":60,"value":2}, + {"source":64,"target":59,"value":9}, + {"source":64,"target":57,"value":1}, + {"source":64,"target":11,"value":1}, + {"source":65,"target":63,"value":5}, + {"source":65,"target":64,"value":7}, + {"source":65,"target":48,"value":3}, + {"source":65,"target":62,"value":5}, + {"source":65,"target":58,"value":5}, + {"source":65,"target":61,"value":5}, + {"source":65,"target":60,"value":2}, + {"source":65,"target":59,"value":5}, + {"source":65,"target":57,"value":1}, + {"source":65,"target":55,"value":2}, + {"source":66,"target":64,"value":3}, + {"source":66,"target":58,"value":3}, + {"source":66,"target":59,"value":1}, + {"source":66,"target":62,"value":2}, + {"source":66,"target":65,"value":2}, + {"source":66,"target":48,"value":1}, + {"source":66,"target":63,"value":1}, + {"source":66,"target":61,"value":1}, + {"source":66,"target":60,"value":1}, + {"source":67,"target":57,"value":3}, + {"source":68,"target":25,"value":5}, + {"source":68,"target":11,"value":1}, + {"source":68,"target":24,"value":1}, + {"source":68,"target":27,"value":1}, + {"source":68,"target":48,"value":1}, + {"source":68,"target":41,"value":1}, + {"source":69,"target":25,"value":6}, + {"source":69,"target":68,"value":6}, + {"source":69,"target":11,"value":1}, + {"source":69,"target":24,"value":1}, + {"source":69,"target":27,"value":2}, + {"source":69,"target":48,"value":1}, + {"source":69,"target":41,"value":1}, + {"source":70,"target":25,"value":4}, + {"source":70,"target":69,"value":4}, + {"source":70,"target":68,"value":4}, + {"source":70,"target":11,"value":1}, + {"source":70,"target":24,"value":1}, + {"source":70,"target":27,"value":1}, + {"source":70,"target":41,"value":1}, + {"source":70,"target":58,"value":1}, + {"source":71,"target":27,"value":1}, + {"source":71,"target":69,"value":2}, + {"source":71,"target":68,"value":2}, + {"source":71,"target":70,"value":2}, + {"source":71,"target":11,"value":1}, + {"source":71,"target":48,"value":1}, + {"source":71,"target":41,"value":1}, + {"source":71,"target":25,"value":1}, + {"source":72,"target":26,"value":2}, + {"source":72,"target":27,"value":1}, + {"source":72,"target":11,"value":1}, + {"source":73,"target":48,"value":2}, + {"source":74,"target":48,"value":2}, + {"source":74,"target":73,"value":3}, + {"source":75,"target":69,"value":3}, + {"source":75,"target":68,"value":3}, + {"source":75,"target":25,"value":3}, + {"source":75,"target":48,"value":1}, + {"source":75,"target":41,"value":1}, + {"source":75,"target":70,"value":1}, + {"source":75,"target":71,"value":1}, + {"source":76,"target":64,"value":1}, + {"source":76,"target":65,"value":1}, + {"source":76,"target":66,"value":1}, + {"source":76,"target":63,"value":1}, + {"source":76,"target":62,"value":1}, + {"source":76,"target":48,"value":1}, + {"source":76,"target":58,"value":1} + ] +} \ No newline at end of file diff --git a/demoapps/index.js b/demoapps/index.js new file mode 100644 index 00000000..3a8e910b --- /dev/null +++ b/demoapps/index.js @@ -0,0 +1,4 @@ +// ejecta.include('lines.js'); +ejecta.include('pixidemo2.js'); +// ejecta.include('threedemo.js'); +// ejecta.include('d3demo.js') diff --git a/demoapps/lines.js b/demoapps/lines.js new file mode 100644 index 00000000..2b05ca51 --- /dev/null +++ b/demoapps/lines.js @@ -0,0 +1,70 @@ +// renderer = new THREE.WebGLRenderer( {canvas: document.getElementById('canvas')} ); + +var w = window.innerWidth; +var h = window.innerHeight; +var w2 = w/2; +var h2 = h/2; + +var canvas = document.getElementById('canvas'); +canvas.width = w; +canvas.height = h; + +var ctx = canvas.getContext('2d'); + + +var curves = []; +for( var i = 0; i < 200; i++ ) { + curves.push({ + current: Math.random() * 1000, + inc: Math.random() * 0.005 + 0.002, + color: '#'+(Math.random()*0xFFFFFF<<0).toString(16) // Random color + }); +} + +var p = [0,0, 0,0, 0,0, 0,0]; +var animate = function() { + // Clear the screen - note that .globalAlpha is still honored, + // so this will only "darken" the sceen a bit + ctx.globalCompositeOperation = 'source-over'; + ctx.fillRect(0,0,w,h); + + // Use the additive blend mode to draw the bezier curves + ctx.globalCompositeOperation = 'lighter'; + + // Calculate curve positions and draw + for( var i = 0; i < maxCurves; i++ ) { + var curve = curves[i]; + curve.current += curve.inc; + for( var j = 0; j < p.length; j+=2 ) { + var a = Math.sin( curve.current * (j+3) * 373 * 0.0001 ); + var b = Math.sin( curve.current * (j+5) * 927 * 0.0002 ); + var c = Math.sin( curve.current * (j+5) * 573 * 0.0001 ); + p[j] = (a * a * b + c * a + b) * w * c + w2; + p[j+1] = (a * b * b + c - a * b *c) * h2 + h2; + } + + ctx.beginPath(); + ctx.moveTo( p[0], p[1] ); + ctx.bezierCurveTo( p[2], p[3], p[4], p[5], p[6], p[7] ); + ctx.strokeStyle = curve.color; + ctx.stroke(); + } +}; + + +// The vertical touch position controls the number of curves; +// horizontal controls the line width +var maxCurves = 70; +document.addEventListener( 'touchmove', function( ev ) { + ctx.lineWidth = (ev.touches[0].pageX/w) * 20; + maxCurves = Math.floor((ev.touches[0].pageY/h) * curves.length); +}, false ); + + + +ctx.fillStyle = '#000000'; +ctx.fillRect( 0, 0, w, h ); + +ctx.globalAlpha = 0.05; +ctx.lineWidth = 2; +setInterval( animate, 16 ); diff --git a/demoapps/pixidemo1.js b/demoapps/pixidemo1.js new file mode 100644 index 00000000..c22ff81c --- /dev/null +++ b/demoapps/pixidemo1.js @@ -0,0 +1,35 @@ +var width = window.innerWidth; +var height = window.innerHeight; +var canvas = document.getElementById('canvas'); +canvas.width = width; +canvas.height = height; + +ejecta.include('vendor/pixi.js'); +var renderer = new PIXI.CanvasRenderer(width, height, { + view: canvas +}); + +// document.body.appendChild(renderer.view); + +var stage = new PIXI.Container(); + +var bunnyTexture = PIXI.Texture.fromImage("pixidemo1/bunny.png"); +var bunny = new PIXI.Sprite(bunnyTexture); + +bunny.position.x = 400; +bunny.position.y = 300; + +bunny.scale.x = 2; +bunny.scale.y = 2; + +stage.addChild(bunny); + +requestAnimationFrame(animate); + +function animate() { + bunny.rotation += 0.01; + + renderer.render(stage); + + requestAnimationFrame(animate); +} diff --git a/demoapps/pixidemo1/bunny.png b/demoapps/pixidemo1/bunny.png new file mode 100644 index 0000000000000000000000000000000000000000..79c31675083b7ffc272a6370bc189360bde484d0 GIT binary patch literal 449 zcmV;y0Y3hTP)SOJFMz`0@qn1GK$9W|wOohG3Lai}FkWLtiT<2<{JbM8>W7|R$! zUuNqg#gmKmsTnILy&K;zJjd^_40xy)%EA1>FWWk~LFpr>Et|!Hv(V>Hs9!2xEQJ>~!qz76HLsxFXdG zs5~GjUDeD6dXvG$_#HtoUok|M-X@BSTy{VK4P?TJZcz}O&FVzD0fZu8Yajr@?2aYL r_Q@_>J=ju&>AqoA-=wzwF98MsNX4 pipe.position.x && + playerHitArea.x - playerHitArea.width/2 < pipe.position.x + pipe.width){ + + if( playerHitArea.y - playerHitArea.height/2 < pipe.topPipe.position.y + pipe.topPipe.height || + playerHitArea.y + playerHitArea.height/2 > pipe.bottomPipe.position.y){ + + return true; + } + } + return false; +} + +Game.prototype.gameover = function(){ + this.state = 'gameover'; + this.steve.hit(); +} + +Game.prototype.reset = function(){ + this.state = 'playing'; + var pipeWidth = 139; + var pipeGap = 200; + var totalPipes = this.pipes.length; + for (var i = 0; i < totalPipes; i++){ + var pipe = this.pipes[i]; + pipe.position.x = ((pipeWidth + pipeGap) * i) + 800; + pipe.adjustGapPosition(); + }; + this.steve.reset(); +} + + +Game.prototype.update = function() +{ + if(this.state === 'playing'){ + + + + this.background.tilePosition.x -= this.gameSpeed * 0.6; + this.steve.alpha = 1; + + for (var i = 0; i < this.pipes.length; i++){ + var pipe = this.pipes[i]; + pipe.update( this.gameSpeed ); + var hit = this.hitTestPipe(pipe); + if(hit){ + this.gameover(); + break; + } + + }; + + if(this.steve.position.y > this.height){ + this.gameover(); + } + } + + this.steve.update(); + this.trail.update( this.gameSpeed * 3); + this.renderer.render(this.stage); + requestAnimationFrame(this.update.bind(this)); +} + +var assets = [ + 'pixidemo2/mainBG.jpg', + 'pixidemo2/column.png', + 'pixidemo2/characterFlying_01.png', + 'pixidemo2/characterFlying_02.png', + 'pixidemo2/characterFlying_03.png', + 'pixidemo2/characterBlurTrail.png' +]; +var loader = PIXI.loader; +loader.once('complete', function () { + var game = new Game(); +}); +for (var assetUrl in assets) { + loader.add(assetUrl, assetUrl); +} +loader.load(); diff --git a/demoapps/pixidemo2/characterBlurTrail.png b/demoapps/pixidemo2/characterBlurTrail.png new file mode 100644 index 0000000000000000000000000000000000000000..9babdc8aef2ca63408532e3b8132ef2c1b07948a GIT binary patch literal 16530 zcmaL9byOWevoE@Fhv4q+8+Uhici9jeHXhtvg1ZC@?(V^YySqyuxZBHj?m73pKkmD; z)=bOPud2GbYS!xMnu$_XmO()zKm-5)C~~rr>i^2vf2Sop?7yq#^2+SL0^dza*G!z!u$Zz4~z+(0v8Wt}H=YMDb zKv2ZX+04QYTp7 z|5`#6U)|iC`B_;#Jv~`GIar*))~sxNe0;1xc2;(F=6@8-uHKGrW?syWu9W}7K@#L@ z0k&~=vvG1H`wvGmb0>Eg4^WC7$j!^f#>XSZCCw%+&A}!G)5*#He>_0-tCO3P>sKddG6@YXG9@z$8^`~&|1&-RYqXLeu#E@E zQX1^!K=xnu<+u4i$Y*Ec=8=|=UzB0*4y*Nkfct#TzuKg~uid(Z5$qPAj*ZMw0dXHqFwaWzG@@>woM%jDuk zxjFCK_OTF4rYp`g=`?A=tLijs|LurtpJ0Hm1KMpHtvvl_qCalWdBVgvYp?y{PL_R| zQC%uF#k;b|FPd`9h@l(&hv zOv$k)euQ)`tEg6mQR@<%)FFz7j7E9PtpHZ=u&ht!EghJvf=tHMeRaFzKAzF(Hk2em zLFvFE|7im1$l?Cwk4U}eUqy%IX1`R2ve>iAZ_A6NXKd4c^7XHCF*NKo5vm!2G4K4t z3p;(NfS<*h`t%d8L+#UYUyz1%3!6?|loOKqOWYEWmUf-|U<1MN-3RLmhp8z@HHV?C zgxCI1Q}|aMYH5Cadr+`Z-z7<|v&f@4qx-5!)A(Zf;s@SO-4tod2Bt6HCRKYL{u$@* zKC|EcFq{^AsgvZg%{m5|U!z@zJXd!$@?Q@{ePyG_p5xl59HbKG#`P47Z1pqnScccC zJax6U^jC+l1%eI(;U9f$<>HLYP1SANyIevvy#tHq^hQ^i0$tu=$IxrWB!T2GwBDh< z1b{J!e4f&VI1715Q3Q){kC=A72!6c>(Bl2 z=NhbR(#)d~T;hV#_TpqsEyE_EmM4LyK;T@-mzNCjY{{ksW1@1Pm=*;5Uw>tGnr1Ea zWiMtLJW+sbwAJf`I{=a@&=UEo&`uDB%oT2NUSh9_o>rbRVLyfrP{=^PgU0~@fnE;* z`jSZ|Coy3YOODL;)L#bd0FiX%OY>YpWbsaTQ}Bi-CpSt(=7-Z#YxNukdK+}V-Kb=z zh)_uPCb%7q3L%bzmj?-N{fvH7^XyVvE&~my7HF#Dppk z?LL{t6hB6b>!trm3itub`z^3&8pcg;zkoGK@;7@s3|Tf-P&6UtBTt~}k77JT*(*P8 z`UcX+ea_-5)#xs_+7Rldo^8b{`0xp^BKA9%>0 zkXP8vH!uK1OnkfO@2TlKF(JvS)Q94dF`R`jU&*8b(^2Spm8xu{3Pjzh0c_&;2Z*GJ zh_ZbmzlE+cv+ra9G0?hz#EeJ47?yel7(O|{3~}pH!Z{h~^_^2Ji7AnaT@)0>7TTrD z_zQPBgdWo>oI1CH+eWCQ!+7udI?n6%2qExZ`NatEzzmpJKO2qo^Ns_OGM0$L{Hoc-!ra!`<{z}zl|SAL6-#&A|`4wpjy=rB&v)gCwqq1LII@( zeb5l%)s^N0&Jz+oi~m$w$YKMenu!5(NJWUUWJGn?-3zKx;_hs475G!FziTTV*bb2F;$f!yEv&1QrM*D+Rg6B$b0kU>NjQWx zQPmD{B{{Ir@JMcIcGQMnYcVR3mJz~d&+r&O8R(Ry!y21%ffKgTOP@w)UqgjY1owN0JA^3t(F
%Slu&a(B{C)YH>7+ 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 literal 0 HcmV?d00001 diff --git a/demoapps/pixidemo2/characterFlying_01.png b/demoapps/pixidemo2/characterFlying_01.png new file mode 100644 index 0000000000000000000000000000000000000000..649fae84749fbd02a7721921f394b3f3a2eca52a GIT binary patch literal 12484 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 literal 0 HcmV?d00001 diff --git a/demoapps/pixidemo2/characterFlying_02.png b/demoapps/pixidemo2/characterFlying_02.png new file mode 100644 index 0000000000000000000000000000000000000000..d58e56e718d177c044588d18969b690c4323464f GIT binary patch literal 12174 zcmbVyRa6|^x-B#WhXi+bf;G~(H|`J|f?IHRcZY5~c#xpM-6gmuxI=Jv=jPx0>~rtK z8Ry~F7*)%@IX{0|6{VsijgCTu0s{ksE-M38`#akGea(;%{(fWcI&=OGgszg>uIdgJ zt{%qD<}hMr4kqRlvUbLn=4$4~W?oLi=7KOVa2D2|v|Y6o75GgZ>{yNekzw_;bNq{j zfe{q(bTl@#F?XdfF}Jj~7os|A>!PBtHWQ-K;#Oo=bd)f+vX=37Hdpsn`ef>DW6Ebn zB_d2A=*j<=z|P#&n8MS}*4~BRQ;6zcy!?OX|7^2SQT$89)kcWw-$rRGs!&KcIGa;& zv$C_8vV+(uKtNU?Cl?P74>JV^JCL1?or4X?!2;yr=j7mLXQ%kDhw863XEO_aHL%ow z>H518qOx*zb>wGb^YHLs_26W6aJFOv^6~Ng!@hbz#mnB+*ptQHh5A1XU~?B! zXKP1SYX^IZe;AET9Nb)msQy~|Zx`$w6&3%R*xu#80`)g!Y@WuBY(Q3aHaok2{Q8%) zi>sRX|25-(ly>>#m9~RXA0soEN|E}mC!N1nd_k`8V+KitA#KkAYEy=?!$-xfd1p@ha#JHt^Qc|2iNp>!7N$&q}{Et{5 zh(}5S4C0pL;{gICImCD*q{O+nIi%RR#6j%rp#NZH?Oj}r?M==9qu2T$z5m8?|F2kn z31@R-R|n@$4i2{esQ?u#2UiCdD+fmk33YA?MPpNI`+wH|r03t>g3X<+-ObIUoE_{a z{uN(->;FN&6gL+;hZL6tyTrf!=H&rOfw{#%+bk=3{NIjNcM1{_8;`_4Vl!+och)vNPWBVzf#2nX6gv zsbk;CNO0NG^zYxHbD+BQe!dcYtK)4!rKMQP3^8Y{VKW^~i_$XmGLw*jg2eB|3^W`u zG!isPVB{@(%$^s580n20_kxaZWYbp7(N)Wid1senF>g+`HbichwoASSA3~2#K=>S- zR~r{QA+S*Mm=Pv_sdpf1~)al($T zaKz}Jj8RcbOI(PQd9@brcb_P5@Hv#O=3v{7Bf}`*0c+SBk_{KK?II8U{%vwI-kqOg z;v*AD*zqw{BH{8;XKR(Q^f=M=ZNpp8Yde(xM_9b28U75gYwQvyuR0IQ-s4tm9Wi%# z??}pWp4D^s*UWl=EHw6yE9sf=GxL*-vbPQCudWI&AeKm-FTb$6!UxR983hD9HN=3n zLQgcoogeUGD-I?0tBqK~0e1$!kVOi%TcDlFohK8$!Av`QDMe@gdnNO8 zup9AmRN|yPU(VGdR$sOY3RHhB{*mCXYAFhbeIoUHAfM%{qQblT0H>kP?GuXx<+Fn=F_-LzHa)6pqblGse(x-uhLcdl#*98b2o8aBeYNKwG+-^+`>Cn{Rm9`Xnp}HRUVAQJOO&<66x|a))**+ zi(l&CE?&WrU*)&B=3-wYP})xa;xqnbmKjUnC4M;DA}YcobY|^+Yz;e zti`#o_md=K9A51S*h7YBJ2E3ICj59?i7Vv&d@$xdKZlznlQfV-DP@LuBDCzZI zJa~P!_Isg2utP>XKM9vM1(A&!R()d}stSrtoa9wA>$HADU z?3b5i!N+&R&q-ChM{fgBP*NS7+DB?KEeHrWAwX8$BvNnzBMmq#LL1)d)Q6P zeT6OAioTp!NXFpFp@Jb6!BwPYX-isIFu<9;<( zszXnA$wA-f)`R?U)h`iO{e&`(#80m3Wyb~W*(rf;p3M<`y38&AP8Pd1p^ogH1&I_Z~i%y=T#{?m% ze`X}xij{?4@^(w&!z{28>veWm_DI#~xa@;}Za6iDV$WQ+h-W4*EPKg}Iv>=XQd^UC zr9#zx6#zfssnT=gw>PpDY3jsg1?h&<4rH+lajX~@zZLbK+C9GbDIFc7SNEYWG0(Gy ztWSP1C7+wo!h_-c&h5GXG1MAtuxcDcU_SZ%>ZVlr?SJkOko#OBiK1A zT-K!WsQ?_us=<%(S!p{xGE44wHW`dNO;|f!3lTM`s)pyse3KuJ<=~dm>1aD>gh-4M z%(h(n^KM-4dZ7c{M77p!hyl_hrf$_)X=aNa#kAHlFJ@HkSPxau1zTs)2|ZBhGhxUm zIFw#70(B))4E5bZ@z%K~$A%+6!m=aV^8KWQ>6`f@7bMw1KG8uwJ>$bf`guFC9%+~u z?NqOs1#*8y{Vl226ufHQR|QD+nIr>_m{d4w*>4(hwr#mOK;=@Y=HtYToCT{#Fj>((7J9eQ~(9p%eGm0%D z%r!gw`NFC$7vUNF+lwh2R-W@G-J_Afur4Hp=BQcokKApbV)ruW9gShsKqSVXX?5A05I775+r@<4gbFPepnd%fi3?Uo=Up*cx+I5(d7+ni zPo9Gq#e(I8Hnhv++%q*3+I@xrA7FpE_G z1GUrypLJMR8t2bPJ58Qr(0k@u>_tAl;;v;yH3+<}F+7T2!U7bRz5P%XVI^qXlJ}U$ zM%=R&G_^iTh&iz%qIii1+w67z+Q)djh;PNVYmv~>Z9iHV<35Fc4H=JjzMha5)Ro;j zc-DzxkSUR?6^B_gsx$8{wn)5cIL3fu#zRGkxfJueO=?&eM?{QOAj!u~Ke2eI z!4q9h?wQc+0;|Qn!oqywp^=O36ZfL}I5BnZg;!JJ{@M@qH;a+4cCJjnaAN%m!w}RY zR>Z=+l&(6iBYsMwr5~6*bTQi2s$=Jr-eE|af)twhUxuMNw|-5W0sUUQ#U1a$9l{V;A6wu>euxMPc?6kTPQPM}lFPe-&nrMsn)P7=RU1~h*$)i@c)IJh!1E7b* z76rM)>o}JzbdP0jHK73P=JVn0&@wtR+gHA{Mw*81N<_qPvCz|_ddKotav&XXgPYMP zD~S+#1BfE5;?T?FMT?~=RaI4tq>XFfydFR(8yeWmDWbL7V9s9)EO1N~6qR8=?axht zmq7Tud147IX#$pU%KE0Tjgy$3vlvPu+00A^J+O;_vwG>bhDtn^LN6R!LuI=21i0Ly z^2G8)T{#W;+!KDYU8fI@TG0j9j+z#HB)7+yHYAox92I1d^loAgQbMs-Ben-}Shtk} z>8sp`-;^mFT`H@S=zzQx;s|cVO0T^eeuOyV^-y-K!o~|4*c2)bz`SA^2Rw%a0Zj6E zLB6`HaeD7y4M>WL$h(#5d-;v&Ac)PK`}V8uaNLiNvb~Xt7Iv%NRX**|*LFXLqMeB3 zNME#OK7}{Cxmfw^c>UUO!oJ+8LV5Ex=Oiylo@6i5$ZMKBdN*y(O2;84`=NFcLKC_z z0Bo-jP&A+6npFhCvMO_W7`(QIxJpii+_z63rE;GrV;%w@2IHbl*?jzgQ$}z{8l{dR zZC8wGqFALb`!UOg4@o9Uk>_C=-rAH0c46Uz=(sz1qy1^fBr!d9=1liyrV1#7rBa}o zDD#M^MaJy}6V~p7XFL0rKy8J;hKBx*QFcE;Wg(J&R}}`b%pv^;2eChI-ubDt)9Zxd z{p4aw<``69XI3X)?jR16LgdUG=g-!?7g1!~FL_C| zX}e!&_*v1Ama?h(My_NWn|IyeA2w`VTys@oGyd$ppaCgI?LLp zGIDOY))L&(=|mmk352~{!G!y3q%BnEX&3Sd+sXy?iawM1GVnHMEZ;>J&0OSeCQQ=v zt8XO2w;}Sc3C+0ajcUEY0zR1N_xXs_#Rr_@S>ngP^3?_fC@fkiEcj)=+A>yBio!!p zpqgqCA@%VIzx~Aa{g{6pz|IU=37RVre#)pHRDzpO6vf*U&Co|4jRjUKFh_tXM$Ami z_aonJe_!70+X~>yi|RJ5B(~p{ojeiHbV2wd2RNOkMp+t!X^$Y-b(1hpN7KCsxKC;c zeR@0`_5*0G1Vm6I2 zo>ZAu+v_8JtNUqI1ZNfo?VYxoG7BnAVb9bl8W{D>pmY{H5$%}}-EMtlS=Qum#K&}G zBXOESs*b`LwPPL0jm&4B;gmt9X$u-zzZM_n`EZEwttlUWf`neMh>V7znYC=%@j%^P zTR9hHRMwQ@kB`hpB$647q=b@J+-ujzNRtS7$kcwnARCS$A&og&LGA_2^|YO;$4HyMz-sLfsGE2pHD47O}}N~uP5HYfJ2`r!7h&z#B2 zp%f9C7z#ZAeDs2bM<3}$ii6Smt5!@5E^#rwHHa^08; zw&_NO&8@Z9nq!1=u48bRYa&XF@s~mzsypJixRR`_4O)hHB@=Pgx&cN^;mj-Y5D*X} zBc26wIQ?QZ+cs6@malhJuuc(R)sNH;PXOvfje_$J9%oYVq*zE~Y)z7cuy`j*z|)6( zUf$=N&VV&7L!2Yr&NIN|5mT6JpuT<8?ANlDsO?2HW4E}gy8(U!Xw?rQqs2O55dV;k_1ji&)EhFQxNpLD(l;<@* zt^yH+jdeoN|13=&J}D8{&a?lcP?$onHlW`>%w!rkes#t69BhgIf zvKKnskIThcyLW7e!nwgm0i=vm6V+v>^H+@LWMynFlkxf2bSN4SDqlN)cz(DKML3mO z*-W*gb@@^Jc;8EUS#@ieI+5+*H6df<9{e^*yx>YD$Stj`fO*h$JeWsYZ+mwL^FWZ1 zLXuY!F}g@FHtC}ZC2kVPo8j6KQ1~LtF;5hRgUpeil%~0v)YQ1aXm~uA7Gv9FH&)tz zL})rq&OH=?E<{Fget&__gNO5pb?g?$=;$^@u-govB!IPh!Bu|9pH7HwmO}<)yP27)Di^MVjf#zlH&7IqM&@0=1`dpyX%KmyrNlN1=$27D|MU!VKWvN zh3Gy$S_GlSlJC#~xeHZyNf1p8{Az4hwO)DnEJ2n|&cnU)CeKE)-Bj#qD&e;N@APbL z@{f;e{ayTIJaP2z(P&8xYj1D%KLeVG&j#kG49BF3^n(0ZqA=|~V4d+L z;^LEot*C_?mlF8`J)?LH4E{6ub=D|`!HP>-EK4d>U^&{QOE<3atB7cFMZ_2N@GK$9 z4R^Acj3c;v&d$mV2_5ocdYMtW{>^kO9&URW8Oti{D4AZagorYekFsxcmSdqzr=;wi z25nh#kg*AVY;wA`)*PdREJLm3SP-Qj#_K z^5;5_qmpJ)!SGI@zd`hTj$R1**?fk@dI3qM2KQ6N2j2GC=6(!%=$qPYASb&BR>MTP-p)rP?>9W{B7e#M;MUma zV+g7oXq1a}Q37kro3|oxq%&9KW7BCEtu1DC^l1s70vHP6Er*IH%lgrq3_}k~%_DG| zH^1m2;_H)58k@_1@h>oFSY^y}@YRFQnf6>1e3p7b)+l*g zcp0Vux;&vq+#oY}B}QDPeQOvLR8&QD4Gr9cwej~r_FUB3^`9u3`a3_LV=Okp5K|=} z1C#Jp2AMg$Mxx{ED>5j&ka2OEV836NIcevg&yK3~^mkp#9vkf=R_c(UbOgLL;IKI6 zKwHeQir9&~Lvj;KTWpS@^9uO{@9J@t5a81JQV5&o3LCD<>1DhnRZia{NGKJU5^mg3W6KO5z9 zw9x69wGU@KwaCPJ;F6q4Du#)eI4SVVqx9Or=T{#n>%`#BpU zh@(YhDbjJZrDa2X_kMb?H!EnUVm~avjuPw>j8J<~8Vs5b{D9bGoRHbafnGx+uw&(s0a4OMLIRn=gH}FQy2Kb@0G`h1+*| zv)b#4<~Ir&Zl@8aM@ZqV(|^{ZjpWgyln8?d2r!M_DVtI3;nHUeBx@473eSGRKzgYx zXTq*2V(M`e0>=jo40>l+aK8q;ZvFi_xCXs>o;T7Rr$gVr~5L* zPKd#}!#>o~I}4_?mH$9f=z%=bExDYU&Hg%%_3 zpT5S#5Y<2DU!?&yD0Wr#LvzHOt3@g}^z~pYU1sE%K`|#;7-K_xaZI)!{_R4FG0OEi zoLwdS$LFl?RtzJ%K}#&93Rl zEjfW`X+6bCVkI54w8W=2#f>(Tq|G8vGol6Tu4ho@yarVUMKEaW#_JNc+howKlUbL% zNw03hajz$76I}gcULTD4+n0Uioug7_?3(3UP=Qm5)uP&iCB4_DFez z0mBp9j|@Q&R&U~1L6NdJ!UF@yOTyYXIy~+7uW!HS-;^I+;ACSKG#=8hC_@8Q*2C*q zM+f(ZF`$fe+Y)dIJ!*DTsjoso;pn?4^Y3$7O5E;~qJP1T>q=YXXoU}8uvnoHSj*;l zPoNPIHVlyqplH3_X?ULGI&A!YS|3EVoCu@A-TGz2Dk;Clkkxd)9(XGJyxAMDHxRjP z&?xv_ZsaU#Cq(=!4%gdU$kx$IViw|rbZu_!JX50IR-%~R=lP+)Rp0SaPJhZTIDWFg zmAAF<@ZI0^?PRCcJ*clzvDswZ$t{EoRkh-@Q0qc<`(6G(SB?2o4W4U`edVp+(!JWg z9)u_K`rHq_=DLP^NHVy}n1rM%?B)x`Q?Fbs1n;FCx3ng^L*Kcm=t2}LD)HrCpLsj) z&(gXL5)(4;Sw-bd5o=A10eskQ5K{V8zoVVTy|pZ6+vTfvxjLET@1OQ+{jclqOjgF- zc~Nlpos8GLWGAGqVJdU+=M)06S?&rq^puP)UZW-d>>CpuQsG_63*p;v=A%ols*i%v@fWlQUVy|fm%+tnfdS{bi^ z$;O^cVX?1La!Y;J&Z}?QpZvmpn~2HC&|S9z+n@+i*UEwgHf8;kL$Q#7VY%^__=@k) z0GhesqNCD(d3p}!VR}&YN2=5hIX^@%bxpZGaN`XS`t1QseywBRiXvI6bp%xMH`Tg6 zvHTE3vgwYnTSIaliFU$@8~n*TCFksnkVuTSy(i*>5QafGV3-B);($%H`Q!G%(WNSZ zzb;2+=GLuks>YU-Nzlwc`cn1k^$Qn^PB8qmbKlfj$|qx`9{dvmw-&@XU+YOKF-A$b zG2enzKynjWYKx-L`#_o=Ba+V!IIkx_*G_Dy?~FB8J+;v`k{t8Xq}=-fHeouG4BGLZ zr*19D26r`+Da0{PpBx;z5Ai<_#JzvU!dwlGhhJ9AgU}o|ZZ|%4n&(*I!X8-0p{a=~ zWUEP{d7)dIF%CfZI7cya3@}pG*1^8U$HTv^bS^MrtJvRUR&iJ?et9<0bXMNcj?1mX zPuej6D)`h;n2nV!))QlsX>n)j9TFD{6B57HQ+hO_fBP}g-}-i_d%yJja{x6pwW}bW z6pl~ieUR2VxS(MhW;P>twNYeB_a$5C+~dY%_UMd?WM4W;L)^i;L8WMySThu-jbQj`i`9^-}_}soMeC zbu`{SB|5SHYK)@~AjcYHmMscjvI5WxLPL$iOH%ro0hYP>ZXmuz=JH8~1IkfmoHqHbl>=XJK&PGdFZRK9#wJWD3I@L)PuYoSp+_7)v9&E_-E-{lWJ5oReQM3iNxS}{ z3McE_-u@dK;SDf=Vc}nB-q1D zy1_2iRJL(Rkm^dMq9+4<6UYEeu@qa_wPDj)OR!JJi?)*q1)W$$a(xq-Mjb~=40nzT zkDT!3ArgQ1uDrXcZ!4+*-Bj6XKD&);-msY^+bEhz>xACMTcQU2a+D zjBqgjIFr&_WmU))=!1`X3Kuiwm?u%T*0!;F2fBHAmq|t|j>XB@&GAm5?E9q)_o?70Tl5T}d#7qaR*K7DQ#9 zx59^MdaRLt$|R;pMVzy62EL&Uv34hOVsb1DUQ`3bK5wZER@YXHK>K8CRt$3r#nhjQ#pP?Z8{> z#pwz)KE5`luPf%k#Ag&h&7>Iq#kITYtU#VFf$1E>U5d5u&~<|p5S!Lh=1%{hqyDy`%Lee(wCv!Q-x5BQd0IPy{um!{$tj zg6(E%yXf3aCov-}@SAuDp1l6)su3(~&G%=UB-~!I?Nml41cV>q96et#r6=Y7OcYz5 z2w1=2-(j(2EaBruCnXA2AB@8r?Ez7j3I@6!uKpMs!rUtG@P8qmYPKK6C9#YXv71XU z5f*`)Q~dP|S>Y?=<7>Tad~Y0z(|*%rsd{x=CVh1o_OU9!*z1tK<8B7f!GR}|CLIb6 z<=2W}(FiJ8&a?37e(|IQ1sY~QgFx;JMo-q-l)`LZDqT8(S!VJv3Wi$`sS zXBLCmfPmq5CwsYGx|9BsUH2Mf*q*x=dmurD*Mq_}jS&gIBj#dI=_0?rDbz99TE)c; zyBZugrhiA@6>cUED{m*mO{(7urI1=?Q=)*W6PZ1BUeKU}n}pJjUwvSw_b44Tre+cu zTF*Nc=Q;lEUeQ+Nws}1qq|?=6{^UP-aHCUg0r!T%t*O9vXS#*k!>vc=_IcItqtCYA zRzkX!3=T`bHyF$h2Dj1BgtVg(I9QI$_y!>(^B~MLO$Te|4hcK{PQj%>V=3%BK`e@VoID-0j@}oTM?mw#xyWTo(b2SZ8 zgCH*18`rA(HF+zmQAfY#RkAP%)zIbrzR5D$jEM}*q~J&b1H|9w7-%5PfDl-#yS5Lm z?#}tFB6cv(;8y~$9F^x^f46m7D#8Q1;-9fkcqjLR8>mog7C(RA?k%M!KeG%n%bnzk z^Qn&vY_oMI{#+vZwLudLox~vmhAW0ZQoPCJ^)ecLbeG%0qXSzwZte6}6L_6PhPOr{ z9bVp@&JJr)M#sZT>ao?TS z>O!L*7g>N#&r!L;;VU!3j}r=iP7hz6(|~WbcbsDJA)tP#U!8zba_tSTvU&HnP#nu! zS#>49>i64ekB+Ug{H6N+O?%&cTD1}xrrfYRjfdf@j>rcRIkBn_kt@`tw>9!%M)l?$ z-Kw9m@!h4|t4bGKn03a&H9vwko2>;IrjXcmApPOQon0^qUCZw3dyk6GpAU`oSJHND zK)ETX!+HqE-x)7dq(2I3Nf23~si9*FN@G!ppiI5zTE49AgT|qc>k(9+>4Pln-*N*U zr``4o#4gf_g591`Xj)YId8=$Be%Fs$W^obi8Mq^yW($+~*?=gnrq@~MHcpEsc`bBJ zeJs4!3rLSVnJhJ*TtCifm8IV#lLLJo(;gy6ueL4z-f5WhDS5ztSq<|nZ^2u$x}RU? z-`t6~Va6{T)xze?Qy?e&v`aJw!CA?eDc{J4n@JGu)=zx)ayZe|ep?CFbBp|r@>?CM=ZZ>0gz1>RxCklODgYf%bN_CWHC1jz;( zKl@WK`gguP!&@_?QS_4_EdYvJ1TmIg8x(4^3q?MAEs{Jpb|6g`!YsG)Z2BK6f50}b z_==G1M-7)VteO0ok%DXub{to%fSQW51UhBiz#~e)y1*HY%DbRIZ zTRFb0L04G)7*8@W%Qg?V1R^*=IH8vdsQ1c4t{u{7jxiuv> z%8mNI)Lw!jtitX#eU%H^nip`YSm+D$^L|ghix0o4!Lsk+y2G*k;r**l)z>KQ+rqmH zo}18NPQmFY?WasQCoO`DDmu@mCdwwka0m+Ny8(5Tsa;7!^#q-gh0dA`*r(wlPURLo z^n+cv{P##i_!v=-s_a4!2R1~L(9PSnR3rIGEM6jybBE$*tBrgJ{6fng^CHxeTxTrJ z+w%RBrFU<7A2CntH^-jdZss?ir}o=9rN&86m5u2*uErVh;rYk^$T+xv`j`ljKu>#T zB~HhTAVS;l=0a|A_Jc^C-l%Zg#yv|(;NjrxckU+`xY4GDd_OIrUPXQU=z#LarMSr> z@TAa}BcUU5pUXy3%eQe2`Z#fmB*f`gh5|88mzAtf@Fpn|XTGY{eS|EM4z^e40iZtw z*3>V+cdv|4hotlOaDs6i%AHwB6NO{ahlA~l{lbnbLnoT?)Tp{d&D%l&p<)7L*S>3G h+ZVS7^>1w5FzT-Y80hqj4gdThFDt18t`av2{y)$JuRs6* literal 0 HcmV?d00001 diff --git a/demoapps/pixidemo2/characterFlying_03.png b/demoapps/pixidemo2/characterFlying_03.png new file mode 100644 index 0000000000000000000000000000000000000000..7cae7e3ffa05c9de3902261fa1ab142a946dc026 GIT binary patch literal 12484 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

ll`+POGuml!04pCdRTEWa=PIRfA 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%0AWWSULF4XBm%i&D1t30|+%e ztl17=gR(aB^nmK-mbCMJ!t-#~D0)@Hi6;M$eD_S<0q!YY9o@z|y#25K-AcL&_Xo%?YYevcQ0ryO_pP)dD3^DdWoJz)6@UN3`Z zYq%Ah$V@{jsS3_>8UD;!s?~#ROE?+JU|&P^T+46x=(uaZTZ#VQy(zWTQR1A&;emI2 zHHdTV3L_)H1+=KM!KLr6E95!TMJ2a)rYzwNR^T6h&VX8QChCmevqubn&%Nw;uOQUU&I$CJ1G1F3cr*e}2rm#(ycQG#} zzzkL}G>l3LR&k9C2ELZXJ`-%tt@4JdqLFUk{wSt&YJV-_5E6w+nS0frmfH7T(lzvF zI=0v-dV-_dy~BHF@$$`S(YrjFhWi@!ZqokMvxKe(69`r#?QwT0g#P|wAkDtM*vX01 zXCYS8r;{0A2u*8J5@_f#wQKFf(3mQ0R3)fSs%1-0NL7&9<^4x3u{$IDO`d{dUwR<4(~WN%Pde+n)B+H#dX9nkE0 zUPVlgNxM+Jvd-)?5GCi^azS$io2Sti2u33roH-}sQ>UqS2i(eV9CAJcL21++gwCfu^1V(dO7n_PTa;04FbLQpVzct8i0 z9QF2emz(7GindDd6mY3jLkcVp(s!NrOUWjh&}E)XuGcaEB-81*HmhXQH@OT-Q#6ek zOmyP>pY252LU%;ci_?Om_mM^%$Y)90Ij)XjWMOp+oD4%h5PbxD8*a8WN}*Lo*sP(o zqPgjaxHNig5E-Tz+cK<^Y`QyO{&6DgN^#F<5e^g2 zstRpxVplyA48qhH{}yd;YSaPbRMebG<6##1_p@1MEq)H}DjP*O5g$NG35IH%U2qV% zp`t5!!<7z=U4y>qLv!;?>QoZVTl#~0B%Ai-Xrvpbms13pbD_vKK}*Pop$j{wS&OR> zvo8oJ>+M1%Cp7Rp=d*~u6$YXC!J*{0Z%Ya<$JCgg^LZiTu|`bKFuYCf{VCnAmzuN4 z$6ZH^GJ1!`#q_AxEs8uI3~6edgx<4c9C|haKb{!-W>w|8#L(0GxIcs7O)PEHlWZ*` zKE-nt03io;=dA8p$#nDWCv(XYlwc#-I@Ivp1g`03qCO0J&Zx?F1HX6$_HK-70=g^l zBe;&7#V!6tp4otsNcpBark+AM02@Blr1sp|b)#RP8NyEQs_X`iwjoDpl`_-c+B3x@ za}4u1>1~?UC7EXWL^t`;lRNt-^?T^~j_%ZQx{w>2nJg=l55sd=;cEEp`7dUYx7E)STrLZ5Yqf zS`kjXK{V`q5ODQ5^`q_?PK4_h6qZV2WNT~xJElyMV6kI~HA3V^n#9GrSt6U%uDCSR z9DxZX6q^!#P$vp05B4R#IG2HF>Dh^^WK6Z%b1+HEC!A5GZ<=Y;a|K4XFJ7qr~e%UOi&oflruI zs={)qmB*sNEX-mTiRMP5fAQ$kQe4X=+YjZiSINydH{oN?lGx47hyzelk96E{XY4>D zhQ=n-*|M?CfJh5RvyuKANX24zEscrB+=pd#iVL zi^3|O@iT7@{cCz!$`Y~~PLm85ca+3jQ0mZiMhFXAy^3afs&6c$O!b-?2ILQ+iXb+2 zCEMxMvd}!GThmBX`O-hqhvs~p*-UZ{p*X*AG2@1FZG3E&)R{3wx>9)7luA#G2|zaw z

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

d1XXsRKWjhAF&Ph# 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�&+ed(Hdqp@r|cpREu{JY?-)Ym_|~ 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 TNnTP@00000NkvXXu0mjfgYQfh literal 0 HcmV?d00001 diff --git a/demoapps/pixidemo2/flyingPixie.png b/demoapps/pixidemo2/flyingPixie.png new file mode 100644 index 0000000000000000000000000000000000000000..83294e8d9b6a7e9bc400715d38718f4caffcbd16 GIT binary patch literal 12362 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 MCFI3xMGb@h5Bhj_e*gdg literal 0 HcmV?d00001 diff --git a/demoapps/pixidemo2/mainBG.jpg b/demoapps/pixidemo2/mainBG.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ee37775d30a8771dbf5147cde6481baf3f70b862 GIT binary patch literal 172812 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 TsiS`&@(+#t?=z&z(b)e13AEpw literal 0 HcmV?d00001 diff --git a/demoapps/threedemo.js b/demoapps/threedemo.js new file mode 100644 index 00000000..cec86c43 --- /dev/null +++ b/demoapps/threedemo.js @@ -0,0 +1,209 @@ +var width = window.innerWidth; +var height = window.innerHeight; +var canvas = document.getElementById('canvas'); +canvas.width = width; +canvas.height = height; + +ejecta.include('vendor/three.js'); +ejecta.include('threedemo/BinaryLoader.js'); +ejecta.include('threedemo/Detector.js'); +// ejecta.include('threedemo/stats.js'); +var renderer = new THREE.WebGLRenderer({ + canvas: canvas +}); +renderer.setSize(width, height); + +if ( ! Detector.webgl ) Detector.addGetWebGLMessage(); + +var container, stats; + +var camera, scene, renderer; +var cameraCube, sceneCube; + +var mesh, geometry; + +var loader; + +var pointLight; + +var mouseX = 0; +var mouseY = 0; + +var windowHalfX = window.innerWidth / 2; +var windowHalfY = window.innerHeight / 2; + +document.addEventListener('mousemove', onDocumentMouseMove, false); + +init(); +animate(); + +function init() { + + // container = document.createElement( 'div' ); + // document.body.appendChild( container ); + + camera = new THREE.PerspectiveCamera( 50, window.innerWidth / window.innerHeight, 1, 5000 ); + camera.position.z = 2000; + + cameraCube = new THREE.PerspectiveCamera( 50, window.innerWidth / window.innerHeight, 1, 100 ); + + scene = new THREE.Scene(); + sceneCube = new THREE.Scene(); + + // LIGHTS + + var ambient = new THREE.AmbientLight( 0xffffff ); + scene.add( ambient ); + + pointLight = new THREE.PointLight( 0xffffff, 2 ); + scene.add( pointLight ); + + // light representation + + var sphere = new THREE.SphereGeometry( 100, 16, 8 ); + + var mesh = new THREE.Mesh( sphere, new THREE.MeshBasicMaterial( { color: 0xffaa00 } ) ); + mesh.scale.set( 0.05, 0.05, 0.05 ); + pointLight.add( mesh ); + + var path = "threedemo/"; + var format = '.jpg'; + var urls = [ + path + 'px' + format, path + 'nx' + format, + path + 'py' + format, path + 'ny' + format, + path + 'pz' + format, path + 'nz' + format + ]; + + var reflectionCube = THREE.ImageUtils.loadTextureCube( urls ); + reflectionCube.format = THREE.RGBFormat; + + var refractionCube = new THREE.CubeTexture( reflectionCube.image, THREE.CubeRefractionMapping ); + refractionCube.format = THREE.RGBFormat; + + //var cubeMaterial3 = new THREE.MeshPhongMaterial( { color: 0x000000, specular:0xaa0000, envMap: reflectionCube, combine: THREE.MixOperation, reflectivity: 0.25 } ); + var cubeMaterial3 = new THREE.MeshLambertMaterial( { color: 0xff6600, envMap: reflectionCube, combine: THREE.MixOperation, reflectivity: 0.3 } ); + var cubeMaterial2 = new THREE.MeshLambertMaterial( { color: 0xffee00, envMap: refractionCube, refractionRatio: 0.95 } ); + var cubeMaterial1 = new THREE.MeshLambertMaterial( { color: 0xffffff, envMap: reflectionCube } ) + + // Skybox + + var shader = THREE.ShaderLib[ "cube" ]; + shader.uniforms[ "tCube" ].value = reflectionCube; + + var material = new THREE.ShaderMaterial( { + + fragmentShader: shader.fragmentShader, + vertexShader: shader.vertexShader, + uniforms: shader.uniforms, + depthWrite: false, + side: THREE.BackSide + + } ), + + mesh = new THREE.Mesh( new THREE.BoxGeometry( 100, 100, 100 ), material ); + sceneCube.add( mesh ); + + // + + // renderer = new THREE.WebGLRenderer(); + renderer.setPixelRatio( window.devicePixelRatio ); + renderer.setSize( window.innerWidth, window.innerHeight ); + renderer.autoClear = false; + // container.appendChild( renderer.domElement ); + + // + + // stats = new Stats(); + // stats.domElement.style.position = 'absolute'; + // stats.domElement.style.top = '0px'; + // stats.domElement.style.zIndex = 100; + // container.appendChild( stats.domElement ); + + // + + loader = new THREE.BinaryLoader( true ); + document.body.appendChild( loader.statusDomElement ); + + loader.load( "threedemo/WaltHead_bin.js", function( geometry ) { createScene( geometry, cubeMaterial1, cubeMaterial2, cubeMaterial3 ) } ); + + // + + window.addEventListener( 'resize', onWindowResize, false ); + +} + +function onWindowResize() { + + windowHalfX = window.innerWidth / 2; + windowHalfY = window.innerHeight / 2; + + camera.aspect = window.innerWidth / window.innerHeight; + camera.updateProjectionMatrix(); + + cameraCube.aspect = window.innerWidth / window.innerHeight; + cameraCube.updateProjectionMatrix(); + + renderer.setSize( window.innerWidth, window.innerHeight ); + +} + +function createScene( geometry, m1, m2, m3 ) { + + var s = 15; + + var mesh = new THREE.Mesh( geometry, m1 ); + mesh.position.z = - 100; + mesh.scale.x = mesh.scale.y = mesh.scale.z = s; + scene.add( mesh ); + + var mesh = new THREE.Mesh( geometry, m2 ); + mesh.position.x = - 900; + mesh.position.z = - 100; + mesh.scale.x = mesh.scale.y = mesh.scale.z = s; + scene.add( mesh ); + + var mesh = new THREE.Mesh( geometry, m3 ); + mesh.position.x = 900; + mesh.position.z = - 100; + mesh.scale.x = mesh.scale.y = mesh.scale.z = s; + scene.add( mesh ); + + loader.statusDomElement.style.display = "none"; + +} + +function onDocumentMouseMove(event) { + + mouseX = ( event.clientX - windowHalfX ) * 4; + mouseY = ( event.clientY - windowHalfY ) * 4; + +} + +// + +function animate() { + + requestAnimationFrame( animate ); + + render(); + // stats.update(); + +} + +function render() { + + var timer = -0.0002 * Date.now(); + + pointLight.position.x = 1500 * Math.cos( timer ); + pointLight.position.z = 1500 * Math.sin( timer ); + + camera.position.x += ( mouseX - camera.position.x ) * .05; + camera.position.y += ( - mouseY - camera.position.y ) * .05; + + camera.lookAt( scene.position ); + cameraCube.rotation.copy( camera.rotation ); + + renderer.render( sceneCube, cameraCube ); + renderer.render( scene, camera ); + +} diff --git a/demoapps/threedemo/BinaryLoader.js b/demoapps/threedemo/BinaryLoader.js new file mode 100644 index 00000000..0c2db6c0 --- /dev/null +++ b/demoapps/threedemo/BinaryLoader.js @@ -0,0 +1,752 @@ +/** + * @author alteredq / http://alteredqualia.com/ + */ + +THREE.BinaryLoader = function ( showStatus ) { + + THREE.Loader.call( this, showStatus ); + +}; + +THREE.BinaryLoader.prototype = Object.create( THREE.Loader.prototype ); +THREE.BinaryLoader.prototype.constructor = THREE.BinaryLoader; + +// Load models generated by slim OBJ converter with BINARY option (converter_obj_three_slim.py -t binary) +// - binary models consist of two files: JS and BIN +// - parameters +// - url (required) +// - callback (required) +// - texturePath (optional: if not specified, textures will be assumed to be in the same folder as JS model file) +// - binaryPath (optional: if not specified, binary file will be assumed to be in the same folder as JS model file) + +THREE.BinaryLoader.prototype.load = function ( url, callback, texturePath, binaryPath ) { + + // todo: unify load API to for easier SceneLoader use + + texturePath = texturePath || this.extractUrlBase( url ); + binaryPath = binaryPath || this.extractUrlBase( url ); + + var callbackProgress = this.showProgress ? THREE.Loader.prototype.updateProgress : undefined; + + this.onLoadStart(); + + // #1 load JS part via web worker + + this.loadAjaxJSON( this, url, callback, texturePath, binaryPath, callbackProgress ); + +}; + +THREE.BinaryLoader.prototype.loadAjaxJSON = function ( context, url, callback, texturePath, binaryPath, callbackProgress ) { + + var xhr = new XMLHttpRequest(); + + texturePath = texturePath && ( typeof texturePath === "string" ) ? texturePath : this.extractUrlBase( url ); + binaryPath = binaryPath && ( typeof binaryPath === "string" ) ? binaryPath : this.extractUrlBase( url ); + + xhr.onreadystatechange = function () { + + if ( xhr.readyState == 4 ) { + + if ( xhr.status == 200 || xhr.status == 0 ) { + + var json = JSON.parse( xhr.responseText ); + context.loadAjaxBuffers( json, callback, binaryPath, texturePath, callbackProgress ); + + } else { + + console.error( "THREE.BinaryLoader: Couldn't load [" + url + "] [" + xhr.status + "]" ); + + } + + } + + }; + + xhr.open( "GET", url, true ); + xhr.send( null ); + +}; + +THREE.BinaryLoader.prototype.loadAjaxBuffers = function ( json, callback, binaryPath, texturePath, callbackProgress ) { + + var scope = this; + + var xhr = new XMLHttpRequest(), + url = binaryPath + json.buffers; + + xhr.addEventListener( 'load', function ( event ) { + + var buffer = xhr.response; + + if ( buffer === undefined ) { + + // IEWEBGL needs this + buffer = ( new Uint8Array( xhr.responseBody ) ).buffer; + + } + + if ( buffer.byteLength == 0 ) { // iOS and other XMLHttpRequest level 1 + + var buffer = new ArrayBuffer( xhr.responseText.length ); + + var bufView = new Uint8Array( buffer ); + + for ( var i = 0, l = xhr.responseText.length; i < l; i ++ ) { + + bufView[ i ] = xhr.responseText.charCodeAt( i ) & 0xff; + + } + + } + + scope.createBinModel( buffer, callback, texturePath, json.materials ); + + }, false ); + + if ( callbackProgress !== undefined ) { + + xhr.addEventListener( 'progress', function ( event ) { + + if ( event.lengthComputable ) { + + callbackProgress( event ); + + } + + }, false ); + + } + + xhr.addEventListener( 'error', function ( event ) { + + console.error( "THREE.BinaryLoader: Couldn't load [" + url + "] [" + xhr.status + "]" ); + + }, false ); + + + xhr.open( "GET", url, true ); + xhr.responseType = "arraybuffer"; + if ( xhr.overrideMimeType ) xhr.overrideMimeType( "text/plain; charset=x-user-defined" ); + xhr.send( null ); + +}; + +// Binary AJAX parser + +THREE.BinaryLoader.prototype.createBinModel = function ( data, callback, texturePath, jsonMaterials ) { + + var Model = function ( texturePath ) { + + var scope = this, + currentOffset = 0, + md, + normals = [], + uvs = [], + start_tri_flat, start_tri_smooth, start_tri_flat_uv, start_tri_smooth_uv, + start_quad_flat, start_quad_smooth, start_quad_flat_uv, start_quad_smooth_uv, + tri_size, quad_size, + len_tri_flat, len_tri_smooth, len_tri_flat_uv, len_tri_smooth_uv, + len_quad_flat, len_quad_smooth, len_quad_flat_uv, len_quad_smooth_uv; + + + THREE.Geometry.call( this ); + + md = parseMetaData( data, currentOffset ); + + currentOffset += md.header_bytes; +/* + md.vertex_index_bytes = Uint32Array.BYTES_PER_ELEMENT; + md.material_index_bytes = Uint16Array.BYTES_PER_ELEMENT; + md.normal_index_bytes = Uint32Array.BYTES_PER_ELEMENT; + md.uv_index_bytes = Uint32Array.BYTES_PER_ELEMENT; +*/ + // buffers sizes + + tri_size = md.vertex_index_bytes * 3 + md.material_index_bytes; + quad_size = md.vertex_index_bytes * 4 + md.material_index_bytes; + + len_tri_flat = md.ntri_flat * ( tri_size ); + len_tri_smooth = md.ntri_smooth * ( tri_size + md.normal_index_bytes * 3 ); + len_tri_flat_uv = md.ntri_flat_uv * ( tri_size + md.uv_index_bytes * 3 ); + len_tri_smooth_uv = md.ntri_smooth_uv * ( tri_size + md.normal_index_bytes * 3 + md.uv_index_bytes * 3 ); + + len_quad_flat = md.nquad_flat * ( quad_size ); + len_quad_smooth = md.nquad_smooth * ( quad_size + md.normal_index_bytes * 4 ); + len_quad_flat_uv = md.nquad_flat_uv * ( quad_size + md.uv_index_bytes * 4 ); + len_quad_smooth_uv = md.nquad_smooth_uv * ( quad_size + md.normal_index_bytes * 4 + md.uv_index_bytes * 4 ); + + // read buffers + + currentOffset += init_vertices( currentOffset ); + + currentOffset += init_normals( currentOffset ); + currentOffset += handlePadding( md.nnormals * 3 ); + + currentOffset += init_uvs( currentOffset ); + + start_tri_flat = currentOffset; + start_tri_smooth = start_tri_flat + len_tri_flat + handlePadding( md.ntri_flat * 2 ); + start_tri_flat_uv = start_tri_smooth + len_tri_smooth + handlePadding( md.ntri_smooth * 2 ); + start_tri_smooth_uv = start_tri_flat_uv + len_tri_flat_uv + handlePadding( md.ntri_flat_uv * 2 ); + + start_quad_flat = start_tri_smooth_uv + len_tri_smooth_uv + handlePadding( md.ntri_smooth_uv * 2 ); + start_quad_smooth = start_quad_flat + len_quad_flat + handlePadding( md.nquad_flat * 2 ); + start_quad_flat_uv = start_quad_smooth + len_quad_smooth + handlePadding( md.nquad_smooth * 2 ); + start_quad_smooth_uv = start_quad_flat_uv + len_quad_flat_uv + handlePadding( md.nquad_flat_uv * 2 ); + + // have to first process faces with uvs + // so that face and uv indices match + + init_triangles_flat_uv( start_tri_flat_uv ); + init_triangles_smooth_uv( start_tri_smooth_uv ); + + init_quads_flat_uv( start_quad_flat_uv ); + init_quads_smooth_uv( start_quad_smooth_uv ); + + // now we can process untextured faces + + init_triangles_flat( start_tri_flat ); + init_triangles_smooth( start_tri_smooth ); + + init_quads_flat( start_quad_flat ); + init_quads_smooth( start_quad_smooth ); + + this.computeFaceNormals(); + + function handlePadding( n ) { + + return ( n % 4 ) ? ( 4 - n % 4 ) : 0; + + }; + + function parseMetaData( data, offset ) { + + var metaData = { + + 'signature' :parseString( data, offset, 12 ), + 'header_bytes' :parseUChar8( data, offset + 12 ), + + 'vertex_coordinate_bytes' :parseUChar8( data, offset + 13 ), + 'normal_coordinate_bytes' :parseUChar8( data, offset + 14 ), + 'uv_coordinate_bytes' :parseUChar8( data, offset + 15 ), + + 'vertex_index_bytes' :parseUChar8( data, offset + 16 ), + 'normal_index_bytes' :parseUChar8( data, offset + 17 ), + 'uv_index_bytes' :parseUChar8( data, offset + 18 ), + 'material_index_bytes' :parseUChar8( data, offset + 19 ), + + 'nvertices' :parseUInt32( data, offset + 20 ), + 'nnormals' :parseUInt32( data, offset + 20 + 4 * 1 ), + 'nuvs' :parseUInt32( data, offset + 20 + 4 * 2 ), + + 'ntri_flat' :parseUInt32( data, offset + 20 + 4 * 3 ), + 'ntri_smooth' :parseUInt32( data, offset + 20 + 4 * 4 ), + 'ntri_flat_uv' :parseUInt32( data, offset + 20 + 4 * 5 ), + 'ntri_smooth_uv' :parseUInt32( data, offset + 20 + 4 * 6 ), + + 'nquad_flat' :parseUInt32( data, offset + 20 + 4 * 7 ), + 'nquad_smooth' :parseUInt32( data, offset + 20 + 4 * 8 ), + 'nquad_flat_uv' :parseUInt32( data, offset + 20 + 4 * 9 ), + 'nquad_smooth_uv' :parseUInt32( data, offset + 20 + 4 * 10 ) + + }; +/* + console.log( "signature: " + metaData.signature ); + + console.log( "header_bytes: " + metaData.header_bytes ); + console.log( "vertex_coordinate_bytes: " + metaData.vertex_coordinate_bytes ); + console.log( "normal_coordinate_bytes: " + metaData.normal_coordinate_bytes ); + console.log( "uv_coordinate_bytes: " + metaData.uv_coordinate_bytes ); + + console.log( "vertex_index_bytes: " + metaData.vertex_index_bytes ); + console.log( "normal_index_bytes: " + metaData.normal_index_bytes ); + console.log( "uv_index_bytes: " + metaData.uv_index_bytes ); + console.log( "material_index_bytes: " + metaData.material_index_bytes ); + + console.log( "nvertices: " + metaData.nvertices ); + console.log( "nnormals: " + metaData.nnormals ); + console.log( "nuvs: " + metaData.nuvs ); + + console.log( "ntri_flat: " + metaData.ntri_flat ); + console.log( "ntri_smooth: " + metaData.ntri_smooth ); + console.log( "ntri_flat_uv: " + metaData.ntri_flat_uv ); + console.log( "ntri_smooth_uv: " + metaData.ntri_smooth_uv ); + + console.log( "nquad_flat: " + metaData.nquad_flat ); + console.log( "nquad_smooth: " + metaData.nquad_smooth ); + console.log( "nquad_flat_uv: " + metaData.nquad_flat_uv ); + console.log( "nquad_smooth_uv: " + metaData.nquad_smooth_uv ); + + var total = metaData.header_bytes + + metaData.nvertices * metaData.vertex_coordinate_bytes * 3 + + metaData.nnormals * metaData.normal_coordinate_bytes * 3 + + metaData.nuvs * metaData.uv_coordinate_bytes * 2 + + metaData.ntri_flat * ( metaData.vertex_index_bytes*3 + metaData.material_index_bytes ) + + metaData.ntri_smooth * ( metaData.vertex_index_bytes*3 + metaData.material_index_bytes + metaData.normal_index_bytes*3 ) + + metaData.ntri_flat_uv * ( metaData.vertex_index_bytes*3 + metaData.material_index_bytes + metaData.uv_index_bytes*3 ) + + metaData.ntri_smooth_uv * ( metaData.vertex_index_bytes*3 + metaData.material_index_bytes + metaData.normal_index_bytes*3 + metaData.uv_index_bytes*3 ) + + metaData.nquad_flat * ( metaData.vertex_index_bytes*4 + metaData.material_index_bytes ) + + metaData.nquad_smooth * ( metaData.vertex_index_bytes*4 + metaData.material_index_bytes + metaData.normal_index_bytes*4 ) + + metaData.nquad_flat_uv * ( metaData.vertex_index_bytes*4 + metaData.material_index_bytes + metaData.uv_index_bytes*4 ) + + metaData.nquad_smooth_uv * ( metaData.vertex_index_bytes*4 + metaData.material_index_bytes + metaData.normal_index_bytes*4 + metaData.uv_index_bytes*4 ); + console.log( "total bytes: " + total ); +*/ + + return metaData; + + }; + + function parseString( data, offset, length ) { + + var charArray = new Uint8Array( data, offset, length ); + + var text = ""; + + for ( var i = 0; i < length; i ++ ) { + + text += String.fromCharCode( charArray[ offset + i ] ); + + } + + return text; + + }; + + function parseUChar8( data, offset ) { + + var charArray = new Uint8Array( data, offset, 1 ); + + return charArray[ 0 ]; + + }; + + function parseUInt32( data, offset ) { + + var intArray = new Uint32Array( data, offset, 1 ); + + return intArray[ 0 ]; + + }; + + function init_vertices( start ) { + + var nElements = md.nvertices; + + var coordArray = new Float32Array( data, start, nElements * 3 ); + + var i, x, y, z; + + for ( i = 0; i < nElements; i ++ ) { + + x = coordArray[ i * 3 ]; + y = coordArray[ i * 3 + 1 ]; + z = coordArray[ i * 3 + 2 ]; + + scope.vertices.push( new THREE.Vector3( x, y, z ) ); + + } + + return nElements * 3 * Float32Array.BYTES_PER_ELEMENT; + + }; + + function init_normals( start ) { + + var nElements = md.nnormals; + + if ( nElements ) { + + var normalArray = new Int8Array( data, start, nElements * 3 ); + + var i, x, y, z; + + for ( i = 0; i < nElements; i ++ ) { + + x = normalArray[ i * 3 ]; + y = normalArray[ i * 3 + 1 ]; + z = normalArray[ i * 3 + 2 ]; + + normals.push( x / 127, y / 127, z / 127 ); + + } + + } + + return nElements * 3 * Int8Array.BYTES_PER_ELEMENT; + + }; + + function init_uvs( start ) { + + var nElements = md.nuvs; + + if ( nElements ) { + + var uvArray = new Float32Array( data, start, nElements * 2 ); + + var i, u, v; + + for ( i = 0; i < nElements; i ++ ) { + + u = uvArray[ i * 2 ]; + v = uvArray[ i * 2 + 1 ]; + + uvs.push( u, v ); + + } + + } + + return nElements * 2 * Float32Array.BYTES_PER_ELEMENT; + + }; + + function init_uvs3( nElements, offset ) { + + var i, uva, uvb, uvc, u1, u2, u3, v1, v2, v3; + + var uvIndexBuffer = new Uint32Array( data, offset, 3 * nElements ); + + for ( i = 0; i < nElements; i ++ ) { + + uva = uvIndexBuffer[ i * 3 ]; + uvb = uvIndexBuffer[ i * 3 + 1 ]; + uvc = uvIndexBuffer[ i * 3 + 2 ]; + + u1 = uvs[ uva * 2 ]; + v1 = uvs[ uva * 2 + 1 ]; + + u2 = uvs[ uvb * 2 ]; + v2 = uvs[ uvb * 2 + 1 ]; + + u3 = uvs[ uvc * 2 ]; + v3 = uvs[ uvc * 2 + 1 ]; + + scope.faceVertexUvs[ 0 ].push( [ + new THREE.Vector2( u1, v1 ), + new THREE.Vector2( u2, v2 ), + new THREE.Vector2( u3, v3 ) + ] ); + + } + + }; + + function init_uvs4( nElements, offset ) { + + var i, uva, uvb, uvc, uvd, u1, u2, u3, u4, v1, v2, v3, v4; + + var uvIndexBuffer = new Uint32Array( data, offset, 4 * nElements ); + + for ( i = 0; i < nElements; i ++ ) { + + uva = uvIndexBuffer[ i * 4 ]; + uvb = uvIndexBuffer[ i * 4 + 1 ]; + uvc = uvIndexBuffer[ i * 4 + 2 ]; + uvd = uvIndexBuffer[ i * 4 + 3 ]; + + u1 = uvs[ uva * 2 ]; + v1 = uvs[ uva * 2 + 1 ]; + + u2 = uvs[ uvb * 2 ]; + v2 = uvs[ uvb * 2 + 1 ]; + + u3 = uvs[ uvc * 2 ]; + v3 = uvs[ uvc * 2 + 1 ]; + + u4 = uvs[ uvd * 2 ]; + v4 = uvs[ uvd * 2 + 1 ]; + + scope.faceVertexUvs[ 0 ].push( [ + new THREE.Vector2( u1, v1 ), + new THREE.Vector2( u2, v2 ), + new THREE.Vector2( u4, v4 ) + ] ); + + scope.faceVertexUvs[ 0 ].push( [ + new THREE.Vector2( u2, v2 ), + new THREE.Vector2( u3, v3 ), + new THREE.Vector2( u4, v4 ) + ] ); + + } + + }; + + function init_faces3_flat( nElements, offsetVertices, offsetMaterials ) { + + var i, a, b, c, m; + + var vertexIndexBuffer = new Uint32Array( data, offsetVertices, 3 * nElements ); + var materialIndexBuffer = new Uint16Array( data, offsetMaterials, nElements ); + + for ( i = 0; i < nElements; i ++ ) { + + a = vertexIndexBuffer[ i * 3 ]; + b = vertexIndexBuffer[ i * 3 + 1 ]; + c = vertexIndexBuffer[ i * 3 + 2 ]; + + m = materialIndexBuffer[ i ]; + + scope.faces.push( new THREE.Face3( a, b, c, null, null, m ) ); + + } + + }; + + function init_faces4_flat( nElements, offsetVertices, offsetMaterials ) { + + var i, a, b, c, d, m; + + var vertexIndexBuffer = new Uint32Array( data, offsetVertices, 4 * nElements ); + var materialIndexBuffer = new Uint16Array( data, offsetMaterials, nElements ); + + for ( i = 0; i < nElements; i ++ ) { + + a = vertexIndexBuffer[ i * 4 ]; + b = vertexIndexBuffer[ i * 4 + 1 ]; + c = vertexIndexBuffer[ i * 4 + 2 ]; + d = vertexIndexBuffer[ i * 4 + 3 ]; + + m = materialIndexBuffer[ i ]; + + scope.faces.push( new THREE.Face3( a, b, d, null, null, m ) ); + scope.faces.push( new THREE.Face3( b, c, d, null, null, m ) ); + + } + + }; + + function init_faces3_smooth( nElements, offsetVertices, offsetNormals, offsetMaterials ) { + + var i, a, b, c, m; + var na, nb, nc; + + var vertexIndexBuffer = new Uint32Array( data, offsetVertices, 3 * nElements ); + var normalIndexBuffer = new Uint32Array( data, offsetNormals, 3 * nElements ); + var materialIndexBuffer = new Uint16Array( data, offsetMaterials, nElements ); + + for ( i = 0; i < nElements; i ++ ) { + + a = vertexIndexBuffer[ i * 3 ]; + b = vertexIndexBuffer[ i * 3 + 1 ]; + c = vertexIndexBuffer[ i * 3 + 2 ]; + + na = normalIndexBuffer[ i * 3 ]; + nb = normalIndexBuffer[ i * 3 + 1 ]; + nc = normalIndexBuffer[ i * 3 + 2 ]; + + m = materialIndexBuffer[ i ]; + + var nax = normals[ na * 3 ], + nay = normals[ na * 3 + 1 ], + naz = normals[ na * 3 + 2 ], + + nbx = normals[ nb * 3 ], + nby = normals[ nb * 3 + 1 ], + nbz = normals[ nb * 3 + 2 ], + + ncx = normals[ nc * 3 ], + ncy = normals[ nc * 3 + 1 ], + ncz = normals[ nc * 3 + 2 ]; + + scope.faces.push( new THREE.Face3( a, b, c, [ + new THREE.Vector3( nax, nay, naz ), + new THREE.Vector3( nbx, nby, nbz ), + new THREE.Vector3( ncx, ncy, ncz ) + ], null, m ) ); + + } + + }; + + function init_faces4_smooth( nElements, offsetVertices, offsetNormals, offsetMaterials ) { + + var i, a, b, c, d, m; + var na, nb, nc, nd; + + var vertexIndexBuffer = new Uint32Array( data, offsetVertices, 4 * nElements ); + var normalIndexBuffer = new Uint32Array( data, offsetNormals, 4 * nElements ); + var materialIndexBuffer = new Uint16Array( data, offsetMaterials, nElements ); + + for ( i = 0; i < nElements; i ++ ) { + + a = vertexIndexBuffer[ i * 4 ]; + b = vertexIndexBuffer[ i * 4 + 1 ]; + c = vertexIndexBuffer[ i * 4 + 2 ]; + d = vertexIndexBuffer[ i * 4 + 3 ]; + + na = normalIndexBuffer[ i * 4 ]; + nb = normalIndexBuffer[ i * 4 + 1 ]; + nc = normalIndexBuffer[ i * 4 + 2 ]; + nd = normalIndexBuffer[ i * 4 + 3 ]; + + m = materialIndexBuffer[ i ]; + + var nax = normals[ na * 3 ], + nay = normals[ na * 3 + 1 ], + naz = normals[ na * 3 + 2 ], + + nbx = normals[ nb * 3 ], + nby = normals[ nb * 3 + 1 ], + nbz = normals[ nb * 3 + 2 ], + + ncx = normals[ nc * 3 ], + ncy = normals[ nc * 3 + 1 ], + ncz = normals[ nc * 3 + 2 ], + + ndx = normals[ nd * 3 ], + ndy = normals[ nd * 3 + 1 ], + ndz = normals[ nd * 3 + 2 ]; + + scope.faces.push( new THREE.Face3( a, b, d, [ + new THREE.Vector3( nax, nay, naz ), + new THREE.Vector3( nbx, nby, nbz ), + new THREE.Vector3( ndx, ndy, ndz ) + ], null, m ) ); + + scope.faces.push( new THREE.Face3( b, c, d, [ + new THREE.Vector3( nbx, nby, nbz ), + new THREE.Vector3( ncx, ncy, ncz ), + new THREE.Vector3( ndx, ndy, ndz ) + ], null, m ) ); + + } + + }; + + function init_triangles_flat( start ) { + + var nElements = md.ntri_flat; + + if ( nElements ) { + + var offsetMaterials = start + nElements * Uint32Array.BYTES_PER_ELEMENT * 3; + init_faces3_flat( nElements, start, offsetMaterials ); + + } + + }; + + function init_triangles_flat_uv( start ) { + + var nElements = md.ntri_flat_uv; + + if ( nElements ) { + + var offsetUvs = start + nElements * Uint32Array.BYTES_PER_ELEMENT * 3; + var offsetMaterials = offsetUvs + nElements * Uint32Array.BYTES_PER_ELEMENT * 3; + + init_faces3_flat( nElements, start, offsetMaterials ); + init_uvs3( nElements, offsetUvs ); + + } + + }; + + function init_triangles_smooth( start ) { + + var nElements = md.ntri_smooth; + + if ( nElements ) { + + var offsetNormals = start + nElements * Uint32Array.BYTES_PER_ELEMENT * 3; + var offsetMaterials = offsetNormals + nElements * Uint32Array.BYTES_PER_ELEMENT * 3; + + init_faces3_smooth( nElements, start, offsetNormals, offsetMaterials ); + + } + + }; + + function init_triangles_smooth_uv( start ) { + + var nElements = md.ntri_smooth_uv; + + if ( nElements ) { + + var offsetNormals = start + nElements * Uint32Array.BYTES_PER_ELEMENT * 3; + var offsetUvs = offsetNormals + nElements * Uint32Array.BYTES_PER_ELEMENT * 3; + var offsetMaterials = offsetUvs + nElements * Uint32Array.BYTES_PER_ELEMENT * 3; + + init_faces3_smooth( nElements, start, offsetNormals, offsetMaterials ); + init_uvs3( nElements, offsetUvs ); + + } + + }; + + function init_quads_flat( start ) { + + var nElements = md.nquad_flat; + + if ( nElements ) { + + var offsetMaterials = start + nElements * Uint32Array.BYTES_PER_ELEMENT * 4; + init_faces4_flat( nElements, start, offsetMaterials ); + + } + + }; + + function init_quads_flat_uv( start ) { + + var nElements = md.nquad_flat_uv; + + if ( nElements ) { + + var offsetUvs = start + nElements * Uint32Array.BYTES_PER_ELEMENT * 4; + var offsetMaterials = offsetUvs + nElements * Uint32Array.BYTES_PER_ELEMENT * 4; + + init_faces4_flat( nElements, start, offsetMaterials ); + init_uvs4( nElements, offsetUvs ); + + } + + }; + + function init_quads_smooth( start ) { + + var nElements = md.nquad_smooth; + + if ( nElements ) { + + var offsetNormals = start + nElements * Uint32Array.BYTES_PER_ELEMENT * 4; + var offsetMaterials = offsetNormals + nElements * Uint32Array.BYTES_PER_ELEMENT * 4; + + init_faces4_smooth( nElements, start, offsetNormals, offsetMaterials ); + + } + + }; + + function init_quads_smooth_uv( start ) { + + var nElements = md.nquad_smooth_uv; + + if ( nElements ) { + + var offsetNormals = start + nElements * Uint32Array.BYTES_PER_ELEMENT * 4; + var offsetUvs = offsetNormals + nElements * Uint32Array.BYTES_PER_ELEMENT * 4; + var offsetMaterials = offsetUvs + nElements * Uint32Array.BYTES_PER_ELEMENT * 4; + + init_faces4_smooth( nElements, start, offsetNormals, offsetMaterials ); + init_uvs4( nElements, offsetUvs ); + + } + + }; + + }; + + Model.prototype = Object.create( THREE.Geometry.prototype ); + Model.prototype.constructor = Model; + + var geometry = new Model( texturePath ); + var materials = this.initMaterials( jsonMaterials, texturePath ); + + if ( this.needsTangents( materials ) ) geometry.computeTangents(); + + callback( geometry, materials ); + +}; diff --git a/demoapps/threedemo/Detector.js b/demoapps/threedemo/Detector.js new file mode 100644 index 00000000..3a4fad55 --- /dev/null +++ b/demoapps/threedemo/Detector.js @@ -0,0 +1,66 @@ +/** + * @author alteredq / http://alteredqualia.com/ + * @author mr.doob / http://mrdoob.com/ + */ + +var Detector = { + + canvas: !! window.CanvasRenderingContext2D, + webgl: ( function () { try { var canvas = document.createElement( 'canvas' ); return !! ( window.WebGLRenderingContext && ( canvas.getContext( 'webgl' ) || canvas.getContext( 'experimental-webgl' ) ) ); } catch ( e ) { return false; } } )(), + workers: !! window.Worker, + fileapi: window.File && window.FileReader && window.FileList && window.Blob, + + getWebGLErrorMessage: function () { + + var element = document.createElement( 'div' ); + element.id = 'webgl-error-message'; + element.style.fontFamily = 'monospace'; + element.style.fontSize = '13px'; + element.style.fontWeight = 'normal'; + element.style.textAlign = 'center'; + element.style.background = '#fff'; + element.style.color = '#000'; + element.style.padding = '1.5em'; + element.style.width = '400px'; + element.style.margin = '5em auto 0'; + + if ( ! this.webgl ) { + + element.innerHTML = window.WebGLRenderingContext ? [ + 'Your graphics card does not seem to support WebGL.
', + 'Find out how to get it here.' + ].join( '\n' ) : [ + 'Your browser does not seem to support WebGL.
', + 'Find out how to get it here.' + ].join( '\n' ); + + } + + return element; + + }, + + addGetWebGLMessage: function ( parameters ) { + + var parent, id, element; + + parameters = parameters || {}; + + parent = parameters.parent !== undefined ? parameters.parent : document.body; + id = parameters.id !== undefined ? parameters.id : 'oldie'; + + element = Detector.getWebGLErrorMessage(); + element.id = id; + + parent.appendChild( element ); + + } + +}; + +// browserify support +if ( typeof module === 'object' ) { + + module.exports = Detector; + +} diff --git a/demoapps/threedemo/WaltHead_bin.bin b/demoapps/threedemo/WaltHead_bin.bin new file mode 100644 index 0000000000000000000000000000000000000000..b43962e121bad2b4dfcb955345dffe479970e3fc GIT binary patch literal 542416 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�_}FSP&sWs=Te^;xMtUY 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%0DTv^T2G9 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%0DsS8sd3;77qQkfj1Iaz2TdN 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 G1OEeL>oHsa literal 0 HcmV?d00001 diff --git a/demoapps/threedemo/WaltHead_bin.js b/demoapps/threedemo/WaltHead_bin.js new file mode 100644 index 00000000..c78249d8 --- /dev/null +++ b/demoapps/threedemo/WaltHead_bin.js @@ -0,0 +1,30 @@ +{ + + "metadata" : + { + "formatVersion" : 3.1, + "sourceFile" : "WaltHead.obj", + "generatedBy" : "OBJConverter", + "vertices" : 8146, + "faces" : 16160, + "normals" : 8146, + "uvs" : 0, + "materials" : 1 + }, + + "materials": [ { + "DbgColor" : 15658734, + "DbgIndex" : 0, + "DbgName" : "lambert2SG.001", + "colorAmbient" : [0.0, 0.0, 0.0], + "colorDiffuse" : [0.64, 0.64, 0.64], + "colorSpecular" : [0.25, 0.25, 0.25], + "illumination" : 2, + "opticalDensity" : 1.0, + "specularCoef" : 92.156863, + "opacity" : 1.0 + }], + + "buffers": "WaltHead_bin.bin" + +} diff --git a/demoapps/threedemo/nx.jpg b/demoapps/threedemo/nx.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f527be5bf00d7a355a014960a31593485263fd01 GIT binary patch literal 55087 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 literal 0 HcmV?d00001 diff --git a/demoapps/threedemo/ny.jpg b/demoapps/threedemo/ny.jpg new file mode 100644 index 0000000000000000000000000000000000000000..30a7e82e709b41da5e8c28d34a613f12869e0a21 GIT binary patch literal 26281 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

j4f(qZTAe_Q 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%0A+_LG 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 u018FuLG=7-oo?nabd3ram~uht4KoDhHb+?@mJi literal 0 HcmV?d00001 diff --git a/demoapps/threedemo/px.jpg b/demoapps/threedemo/px.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7b58481146d960c2e44d0a8531dc5a3fa7109277 GIT binary patch literal 43656 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 MrIg)}`QNMm1CvwMoB#j- literal 0 HcmV?d00001 diff --git a/demoapps/threedemo/py.jpg b/demoapps/threedemo/py.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9a285e81699a9c21b7354a3cb330b54338728e0e GIT binary patch literal 6204 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.children.length;){var j=document.createElement("span");j.style.cssText="width:1px;height:30px;float:left;background-color:#113";c.appendChild(j)}var d=document.createElement("div");d.id="ms";d.style.cssText="padding:0 0 3px 3px;text-align:left;background-color:#020;display:none";f.appendChild(d);var k=document.createElement("div"); +k.id="msText";k.style.cssText="color:#0f0;font-family:Helvetica,Arial,sans-serif;font-size:9px;font-weight:bold;line-height:15px";k.innerHTML="MS";d.appendChild(k);var e=document.createElement("div");e.id="msGraph";e.style.cssText="position:relative;width:74px;height:30px;background-color:#0f0";for(d.appendChild(e);74>e.children.length;)j=document.createElement("span"),j.style.cssText="width:1px;height:30px;float:left;background-color:#131",e.appendChild(j);var t=function(b){s=b;switch(s){case 0:a.style.display= +"block";d.style.display="none";break;case 1:a.style.display="none",d.style.display="block"}};return{REVISION:11,domElement:f,setMode:t,begin:function(){l=Date.now()},end:function(){var b=Date.now();g=b-l;n=Math.min(n,g);o=Math.max(o,g);k.textContent=g+" MS ("+n+"-"+o+")";var a=Math.min(30,30-30*(g/200));e.appendChild(e.firstChild).style.height=a+"px";r++;b>m+1E3&&(h=Math.round(1E3*r/(b-m)),p=Math.min(p,h),q=Math.max(q,h),i.textContent=h+" FPS ("+p+"-"+q+")",a=Math.min(30,30-30*(h/100)),c.appendChild(c.firstChild).style.height= +a+"px",m=b,r=0);return b},update:function(){l=this.end()}}}; diff --git a/demoapps/vendor/d3.js b/demoapps/vendor/d3.js new file mode 100644 index 00000000..f18950fd --- /dev/null +++ b/demoapps/vendor/d3.js @@ -0,0 +1,9505 @@ +!function() { + var d3 = { + version: "3.5.5" + }; + var d3_arraySlice = [].slice, d3_array = function(list) { + return d3_arraySlice.call(list); + }; + var d3_document = this.document; + function d3_documentElement(node) { + return node && (node.ownerDocument || node.document || node).documentElement; + } + function d3_window(node) { + return node && (node.ownerDocument && node.ownerDocument.defaultView || node.document && node || node.defaultView); + } + if (d3_document) { + try { + d3_array(d3_document.documentElement.childNodes)[0].nodeType; + } catch (e) { + d3_array = function(list) { + var i = list.length, array = new Array(i); + while (i--) array[i] = list[i]; + return array; + }; + } + } + if (!Date.now) Date.now = function() { + return +new Date(); + }; + if (d3_document) { + try { + d3_document.createElement("DIV").style.setProperty("opacity", 0, ""); + } catch (error) { + var d3_element_prototype = this.Element.prototype, d3_element_setAttribute = d3_element_prototype.setAttribute, d3_element_setAttributeNS = d3_element_prototype.setAttributeNS, d3_style_prototype = this.CSSStyleDeclaration.prototype, d3_style_setProperty = d3_style_prototype.setProperty; + d3_element_prototype.setAttribute = function(name, value) { + d3_element_setAttribute.call(this, name, value + ""); + }; + d3_element_prototype.setAttributeNS = function(space, local, value) { + d3_element_setAttributeNS.call(this, space, local, value + ""); + }; + d3_style_prototype.setProperty = function(name, value, priority) { + d3_style_setProperty.call(this, name, value + "", priority); + }; + } + } + d3.ascending = d3_ascending; + function d3_ascending(a, b) { + return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; + } + d3.descending = function(a, b) { + return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN; + }; + d3.min = function(array, f) { + var i = -1, n = array.length, a, b; + if (arguments.length === 1) { + while (++i < n) if ((b = array[i]) != null && b >= b) { + a = b; + break; + } + while (++i < n) if ((b = array[i]) != null && a > b) a = b; + } else { + while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { + a = b; + break; + } + while (++i < n) if ((b = f.call(array, array[i], i)) != null && a > b) a = b; + } + return a; + }; + d3.max = function(array, f) { + var i = -1, n = array.length, a, b; + if (arguments.length === 1) { + while (++i < n) if ((b = array[i]) != null && b >= b) { + a = b; + break; + } + while (++i < n) if ((b = array[i]) != null && b > a) a = b; + } else { + while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { + a = b; + break; + } + while (++i < n) if ((b = f.call(array, array[i], i)) != null && b > a) a = b; + } + return a; + }; + d3.extent = function(array, f) { + var i = -1, n = array.length, a, b, c; + if (arguments.length === 1) { + while (++i < n) if ((b = array[i]) != null && b >= b) { + a = c = b; + break; + } + while (++i < n) if ((b = array[i]) != null) { + if (a > b) a = b; + if (c < b) c = b; + } + } else { + while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { + a = c = b; + break; + } + while (++i < n) if ((b = f.call(array, array[i], i)) != null) { + if (a > b) a = b; + if (c < b) c = b; + } + } + return [ a, c ]; + }; + function d3_number(x) { + return x === null ? NaN : +x; + } + function d3_numeric(x) { + return !isNaN(x); + } + d3.sum = function(array, f) { + var s = 0, n = array.length, a, i = -1; + if (arguments.length === 1) { + while (++i < n) if (d3_numeric(a = +array[i])) s += a; + } else { + while (++i < n) if (d3_numeric(a = +f.call(array, array[i], i))) s += a; + } + return s; + }; + d3.mean = function(array, f) { + var s = 0, n = array.length, a, i = -1, j = n; + if (arguments.length === 1) { + while (++i < n) if (d3_numeric(a = d3_number(array[i]))) s += a; else --j; + } else { + while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) s += a; else --j; + } + if (j) return s / j; + }; + d3.quantile = function(values, p) { + var H = (values.length - 1) * p + 1, h = Math.floor(H), v = +values[h - 1], e = H - h; + return e ? v + e * (values[h] - v) : v; + }; + d3.median = function(array, f) { + var numbers = [], n = array.length, a, i = -1; + if (arguments.length === 1) { + while (++i < n) if (d3_numeric(a = d3_number(array[i]))) numbers.push(a); + } else { + while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) numbers.push(a); + } + if (numbers.length) return d3.quantile(numbers.sort(d3_ascending), .5); + }; + d3.variance = function(array, f) { + var n = array.length, m = 0, a, d, s = 0, i = -1, j = 0; + if (arguments.length === 1) { + while (++i < n) { + if (d3_numeric(a = d3_number(array[i]))) { + d = a - m; + m += d / ++j; + s += d * (a - m); + } + } + } else { + while (++i < n) { + if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) { + d = a - m; + m += d / ++j; + s += d * (a - m); + } + } + } + if (j > 1) return s / (j - 1); + }; + d3.deviation = function() { + var v = d3.variance.apply(this, arguments); + return v ? Math.sqrt(v) : v; + }; + function d3_bisector(compare) { + return { + left: function(a, x, lo, hi) { + if (arguments.length < 3) lo = 0; + if (arguments.length < 4) hi = a.length; + while (lo < hi) { + var mid = lo + hi >>> 1; + if (compare(a[mid], x) < 0) lo = mid + 1; else hi = mid; + } + return lo; + }, + right: function(a, x, lo, hi) { + if (arguments.length < 3) lo = 0; + if (arguments.length < 4) hi = a.length; + while (lo < hi) { + var mid = lo + hi >>> 1; + if (compare(a[mid], x) > 0) hi = mid; else lo = mid + 1; + } + return lo; + } + }; + } + var d3_bisect = d3_bisector(d3_ascending); + d3.bisectLeft = d3_bisect.left; + d3.bisect = d3.bisectRight = d3_bisect.right; + d3.bisector = function(f) { + return d3_bisector(f.length === 1 ? function(d, x) { + return d3_ascending(f(d), x); + } : f); + }; + d3.shuffle = function(array, i0, i1) { + if ((m = arguments.length) < 3) { + i1 = array.length; + if (m < 2) i0 = 0; + } + var m = i1 - i0, t, i; + while (m) { + i = Math.random() * m-- | 0; + t = array[m + i0], array[m + i0] = array[i + i0], array[i + i0] = t; + } + return array; + }; + d3.permute = function(array, indexes) { + var i = indexes.length, permutes = new Array(i); + while (i--) permutes[i] = array[indexes[i]]; + return permutes; + }; + d3.pairs = function(array) { + var i = 0, n = array.length - 1, p0, p1 = array[0], pairs = new Array(n < 0 ? 0 : n); + while (i < n) pairs[i] = [ p0 = p1, p1 = array[++i] ]; + return pairs; + }; + d3.zip = function() { + if (!(n = arguments.length)) return []; + for (var i = -1, m = d3.min(arguments, d3_zipLength), zips = new Array(m); ++i < m; ) { + for (var j = -1, n, zip = zips[i] = new Array(n); ++j < n; ) { + zip[j] = arguments[j][i]; + } + } + return zips; + }; + function d3_zipLength(d) { + return d.length; + } + d3.transpose = function(matrix) { + return d3.zip.apply(d3, matrix); + }; + d3.keys = function(map) { + var keys = []; + for (var key in map) keys.push(key); + return keys; + }; + d3.values = function(map) { + var values = []; + for (var key in map) values.push(map[key]); + return values; + }; + d3.entries = function(map) { + var entries = []; + for (var key in map) entries.push({ + key: key, + value: map[key] + }); + return entries; + }; + d3.merge = function(arrays) { + var n = arrays.length, m, i = -1, j = 0, merged, array; + while (++i < n) j += arrays[i].length; + merged = new Array(j); + while (--n >= 0) { + array = arrays[n]; + m = array.length; + while (--m >= 0) { + merged[--j] = array[m]; + } + } + return merged; + }; + var abs = Math.abs; + d3.range = function(start, stop, step) { + if (arguments.length < 3) { + step = 1; + if (arguments.length < 2) { + stop = start; + start = 0; + } + } + if ((stop - start) / step === Infinity) throw new Error("infinite range"); + var range = [], k = d3_range_integerScale(abs(step)), i = -1, j; + start *= k, stop *= k, step *= k; + if (step < 0) while ((j = start + step * ++i) > stop) range.push(j / k); else while ((j = start + step * ++i) < stop) range.push(j / k); + return range; + }; + function d3_range_integerScale(x) { + var k = 1; + while (x * k % 1) k *= 10; + return k; + } + function d3_class(ctor, properties) { + for (var key in properties) { + Object.defineProperty(ctor.prototype, key, { + value: properties[key], + enumerable: false + }); + } + } + d3.map = function(object, f) { + var map = new d3_Map(); + if (object instanceof d3_Map) { + object.forEach(function(key, value) { + map.set(key, value); + }); + } else if (Array.isArray(object)) { + var i = -1, n = object.length, o; + if (arguments.length === 1) while (++i < n) map.set(i, object[i]); else while (++i < n) map.set(f.call(object, o = object[i], i), o); + } else { + for (var key in object) map.set(key, object[key]); + } + return map; + }; + function d3_Map() { + this._ = Object.create(null); + } + var d3_map_proto = "__proto__", d3_map_zero = "\x00"; + d3_class(d3_Map, { + has: d3_map_has, + get: function(key) { + return this._[d3_map_escape(key)]; + }, + set: function(key, value) { + return this._[d3_map_escape(key)] = value; + }, + remove: d3_map_remove, + keys: d3_map_keys, + values: function() { + var values = []; + for (var key in this._) values.push(this._[key]); + return values; + }, + entries: function() { + var entries = []; + for (var key in this._) entries.push({ + key: d3_map_unescape(key), + value: this._[key] + }); + return entries; + }, + size: d3_map_size, + empty: d3_map_empty, + forEach: function(f) { + for (var key in this._) f.call(this, d3_map_unescape(key), this._[key]); + } + }); + function d3_map_escape(key) { + return (key += "") === d3_map_proto || key[0] === d3_map_zero ? d3_map_zero + key : key; + } + function d3_map_unescape(key) { + return (key += "")[0] === d3_map_zero ? key.slice(1) : key; + } + function d3_map_has(key) { + return d3_map_escape(key) in this._; + } + function d3_map_remove(key) { + return (key = d3_map_escape(key)) in this._ && delete this._[key]; + } + function d3_map_keys() { + var keys = []; + for (var key in this._) keys.push(d3_map_unescape(key)); + return keys; + } + function d3_map_size() { + var size = 0; + for (var key in this._) ++size; + return size; + } + function d3_map_empty() { + for (var key in this._) return false; + return true; + } + d3.nest = function() { + var nest = {}, keys = [], sortKeys = [], sortValues, rollup; + function map(mapType, array, depth) { + if (depth >= keys.length) return rollup ? rollup.call(nest, array) : sortValues ? array.sort(sortValues) : array; + var i = -1, n = array.length, key = keys[depth++], keyValue, object, setter, valuesByKey = new d3_Map(), values; + while (++i < n) { + if (values = valuesByKey.get(keyValue = key(object = array[i]))) { + values.push(object); + } else { + valuesByKey.set(keyValue, [ object ]); + } + } + if (mapType) { + object = mapType(); + setter = function(keyValue, values) { + object.set(keyValue, map(mapType, values, depth)); + }; + } else { + object = {}; + setter = function(keyValue, values) { + object[keyValue] = map(mapType, values, depth); + }; + } + valuesByKey.forEach(setter); + return object; + } + function entries(map, depth) { + if (depth >= keys.length) return map; + var array = [], sortKey = sortKeys[depth++]; + map.forEach(function(key, keyMap) { + array.push({ + key: key, + values: entries(keyMap, depth) + }); + }); + return sortKey ? array.sort(function(a, b) { + return sortKey(a.key, b.key); + }) : array; + } + nest.map = function(array, mapType) { + return map(mapType, array, 0); + }; + nest.entries = function(array) { + return entries(map(d3.map, array, 0), 0); + }; + nest.key = function(d) { + keys.push(d); + return nest; + }; + nest.sortKeys = function(order) { + sortKeys[keys.length - 1] = order; + return nest; + }; + nest.sortValues = function(order) { + sortValues = order; + return nest; + }; + nest.rollup = function(f) { + rollup = f; + return nest; + }; + return nest; + }; + d3.set = function(array) { + var set = new d3_Set(); + if (array) for (var i = 0, n = array.length; i < n; ++i) set.add(array[i]); + return set; + }; + function d3_Set() { + this._ = Object.create(null); + } + d3_class(d3_Set, { + has: d3_map_has, + add: function(key) { + this._[d3_map_escape(key += "")] = true; + return key; + }, + remove: d3_map_remove, + values: d3_map_keys, + size: d3_map_size, + empty: d3_map_empty, + forEach: function(f) { + for (var key in this._) f.call(this, d3_map_unescape(key)); + } + }); + d3.behavior = {}; + function d3_identity(d) { + return d; + } + d3.rebind = function(target, source) { + var i = 1, n = arguments.length, method; + while (++i < n) target[method = arguments[i]] = d3_rebind(target, source, source[method]); + return target; + }; + function d3_rebind(target, source, method) { + return function() { + var value = method.apply(source, arguments); + return value === source ? target : value; + }; + } + function d3_vendorSymbol(object, name) { + if (name in object) return name; + name = name.charAt(0).toUpperCase() + name.slice(1); + for (var i = 0, n = d3_vendorPrefixes.length; i < n; ++i) { + var prefixName = d3_vendorPrefixes[i] + name; + if (prefixName in object) return prefixName; + } + } + var d3_vendorPrefixes = [ "webkit", "ms", "moz", "Moz", "o", "O" ]; + function d3_noop() {} + d3.dispatch = function() { + var dispatch = new d3_dispatch(), i = -1, n = arguments.length; + while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch); + return dispatch; + }; + function d3_dispatch() {} + d3_dispatch.prototype.on = function(type, listener) { + var i = type.indexOf("."), name = ""; + if (i >= 0) { + name = type.slice(i + 1); + type = type.slice(0, i); + } + if (type) return arguments.length < 2 ? this[type].on(name) : this[type].on(name, listener); + if (arguments.length === 2) { + if (listener == null) for (type in this) { + if (this.hasOwnProperty(type)) this[type].on(name, null); + } + return this; + } + }; + function d3_dispatch_event(dispatch) { + var listeners = [], listenerByName = new d3_Map(); + function event() { + var z = listeners, i = -1, n = z.length, l; + while (++i < n) if (l = z[i].on) l.apply(this, arguments); + return dispatch; + } + event.on = function(name, listener) { + var l = listenerByName.get(name), i; + if (arguments.length < 2) return l && l.on; + if (l) { + l.on = null; + listeners = listeners.slice(0, i = listeners.indexOf(l)).concat(listeners.slice(i + 1)); + listenerByName.remove(name); + } + if (listener) listeners.push(listenerByName.set(name, { + on: listener + })); + return dispatch; + }; + return event; + } + d3.event = null; + function d3_eventPreventDefault() { + d3.event.preventDefault(); + } + function d3_eventSource() { + var e = d3.event, s; + while (s = e.sourceEvent) e = s; + return e; + } + function d3_eventDispatch(target) { + var dispatch = new d3_dispatch(), i = 0, n = arguments.length; + while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch); + dispatch.of = function(thiz, argumentz) { + return function(e1) { + try { + var e0 = e1.sourceEvent = d3.event; + e1.target = target; + d3.event = e1; + dispatch[e1.type].apply(thiz, argumentz); + } finally { + d3.event = e0; + } + }; + }; + return dispatch; + } + d3.requote = function(s) { + return s.replace(d3_requote_re, "\\$&"); + }; + var d3_requote_re = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g; + var d3_subclass = {}.__proto__ ? function(object, prototype) { + object.__proto__ = prototype; + } : function(object, prototype) { + for (var property in prototype) object[property] = prototype[property]; + }; + function d3_selection(groups) { + d3_subclass(groups, d3_selectionPrototype); + return groups; + } + var d3_select = function(s, n) { + return n.querySelector(s); + }, d3_selectAll = function(s, n) { + return n.querySelectorAll(s); + }, d3_selectMatches = function(n, s) { + var d3_selectMatcher = n.matches || n[d3_vendorSymbol(n, "matchesSelector")]; + d3_selectMatches = function(n, s) { + return d3_selectMatcher.call(n, s); + }; + return d3_selectMatches(n, s); + }; + if (typeof Sizzle === "function") { + d3_select = function(s, n) { + return Sizzle(s, n)[0] || null; + }; + d3_selectAll = Sizzle; + d3_selectMatches = Sizzle.matchesSelector; + } + d3.selection = function() { + return d3.select(d3_document.documentElement); + }; + var d3_selectionPrototype = d3.selection.prototype = []; + d3_selectionPrototype.select = function(selector) { + var subgroups = [], subgroup, subnode, group, node; + selector = d3_selection_selector(selector); + for (var j = -1, m = this.length; ++j < m; ) { + subgroups.push(subgroup = []); + subgroup.parentNode = (group = this[j]).parentNode; + for (var i = -1, n = group.length; ++i < n; ) { + if (node = group[i]) { + subgroup.push(subnode = selector.call(node, node.__data__, i, j)); + if (subnode && "__data__" in node) subnode.__data__ = node.__data__; + } else { + subgroup.push(null); + } + } + } + return d3_selection(subgroups); + }; + function d3_selection_selector(selector) { + return typeof selector === "function" ? selector : function() { + return d3_select(selector, this); + }; + } + d3_selectionPrototype.selectAll = function(selector) { + var subgroups = [], subgroup, node; + selector = d3_selection_selectorAll(selector); + for (var j = -1, m = this.length; ++j < m; ) { + for (var group = this[j], i = -1, n = group.length; ++i < n; ) { + if (node = group[i]) { + subgroups.push(subgroup = d3_array(selector.call(node, node.__data__, i, j))); + subgroup.parentNode = node; + } + } + } + return d3_selection(subgroups); + }; + function d3_selection_selectorAll(selector) { + return typeof selector === "function" ? selector : function() { + return d3_selectAll(selector, this); + }; + } + var d3_nsPrefix = { + svg: "http://www.w3.org/2000/svg", + xhtml: "http://www.w3.org/1999/xhtml", + xlink: "http://www.w3.org/1999/xlink", + xml: "http://www.w3.org/XML/1998/namespace", + xmlns: "http://www.w3.org/2000/xmlns/" + }; + d3.ns = { + prefix: d3_nsPrefix, + qualify: function(name) { + var i = name.indexOf(":"), prefix = name; + if (i >= 0) { + prefix = name.slice(0, i); + name = name.slice(i + 1); + } + return d3_nsPrefix.hasOwnProperty(prefix) ? { + space: d3_nsPrefix[prefix], + local: name + } : name; + } + }; + d3_selectionPrototype.attr = function(name, value) { + if (arguments.length < 2) { + if (typeof name === "string") { + var node = this.node(); + name = d3.ns.qualify(name); + return name.local ? node.getAttributeNS(name.space, name.local) : node.getAttribute(name); + } + for (value in name) this.each(d3_selection_attr(value, name[value])); + return this; + } + return this.each(d3_selection_attr(name, value)); + }; + function d3_selection_attr(name, value) { + name = d3.ns.qualify(name); + function attrNull() { + this.removeAttribute(name); + } + function attrNullNS() { + this.removeAttributeNS(name.space, name.local); + } + function attrConstant() { + this.setAttribute(name, value); + } + function attrConstantNS() { + this.setAttributeNS(name.space, name.local, value); + } + function attrFunction() { + var x = value.apply(this, arguments); + if (x == null) this.removeAttribute(name); else this.setAttribute(name, x); + } + function attrFunctionNS() { + var x = value.apply(this, arguments); + if (x == null) this.removeAttributeNS(name.space, name.local); else this.setAttributeNS(name.space, name.local, x); + } + return value == null ? name.local ? attrNullNS : attrNull : typeof value === "function" ? name.local ? attrFunctionNS : attrFunction : name.local ? attrConstantNS : attrConstant; + } + function d3_collapse(s) { + return s.trim().replace(/\s+/g, " "); + } + d3_selectionPrototype.classed = function(name, value) { + if (arguments.length < 2) { + if (typeof name === "string") { + var node = this.node(), n = (name = d3_selection_classes(name)).length, i = -1; + if (value = node.classList) { + while (++i < n) if (!value.contains(name[i])) return false; + } else { + value = node.getAttribute("class"); + while (++i < n) if (!d3_selection_classedRe(name[i]).test(value)) return false; + } + return true; + } + for (value in name) this.each(d3_selection_classed(value, name[value])); + return this; + } + return this.each(d3_selection_classed(name, value)); + }; + function d3_selection_classedRe(name) { + return new RegExp("(?:^|\\s+)" + d3.requote(name) + "(?:\\s+|$)", "g"); + } + function d3_selection_classes(name) { + return (name + "").trim().split(/^|\s+/); + } + function d3_selection_classed(name, value) { + name = d3_selection_classes(name).map(d3_selection_classedName); + var n = name.length; + function classedConstant() { + var i = -1; + while (++i < n) name[i](this, value); + } + function classedFunction() { + var i = -1, x = value.apply(this, arguments); + while (++i < n) name[i](this, x); + } + return typeof value === "function" ? classedFunction : classedConstant; + } + function d3_selection_classedName(name) { + var re = d3_selection_classedRe(name); + return function(node, value) { + if (c = node.classList) return value ? c.add(name) : c.remove(name); + var c = node.getAttribute("class") || ""; + if (value) { + re.lastIndex = 0; + if (!re.test(c)) node.setAttribute("class", d3_collapse(c + " " + name)); + } else { + node.setAttribute("class", d3_collapse(c.replace(re, " "))); + } + }; + } + d3_selectionPrototype.style = function(name, value, priority) { + var n = arguments.length; + if (n < 3) { + if (typeof name !== "string") { + if (n < 2) value = ""; + for (priority in name) this.each(d3_selection_style(priority, name[priority], value)); + return this; + } + if (n < 2) { + var node = this.node(); + return d3_window(node).getComputedStyle(node, null).getPropertyValue(name); + } + priority = ""; + } + return this.each(d3_selection_style(name, value, priority)); + }; + function d3_selection_style(name, value, priority) { + function styleNull() { + this.style.removeProperty(name); + } + function styleConstant() { + this.style.setProperty(name, value, priority); + } + function styleFunction() { + var x = value.apply(this, arguments); + if (x == null) this.style.removeProperty(name); else this.style.setProperty(name, x, priority); + } + return value == null ? styleNull : typeof value === "function" ? styleFunction : styleConstant; + } + d3_selectionPrototype.property = function(name, value) { + if (arguments.length < 2) { + if (typeof name === "string") return this.node()[name]; + for (value in name) this.each(d3_selection_property(value, name[value])); + return this; + } + return this.each(d3_selection_property(name, value)); + }; + function d3_selection_property(name, value) { + function propertyNull() { + delete this[name]; + } + function propertyConstant() { + this[name] = value; + } + function propertyFunction() { + var x = value.apply(this, arguments); + if (x == null) delete this[name]; else this[name] = x; + } + return value == null ? propertyNull : typeof value === "function" ? propertyFunction : propertyConstant; + } + d3_selectionPrototype.text = function(value) { + return arguments.length ? this.each(typeof value === "function" ? function() { + var v = value.apply(this, arguments); + this.textContent = v == null ? "" : v; + } : value == null ? function() { + this.textContent = ""; + } : function() { + this.textContent = value; + }) : this.node().textContent; + }; + d3_selectionPrototype.html = function(value) { + return arguments.length ? this.each(typeof value === "function" ? function() { + var v = value.apply(this, arguments); + this.innerHTML = v == null ? "" : v; + } : value == null ? function() { + this.innerHTML = ""; + } : function() { + this.innerHTML = value; + }) : this.node().innerHTML; + }; + d3_selectionPrototype.append = function(name) { + name = d3_selection_creator(name); + return this.select(function() { + return this.appendChild(name.apply(this, arguments)); + }); + }; + function d3_selection_creator(name) { + function create() { + var document = this.ownerDocument, namespace = this.namespaceURI; + return namespace ? document.createElementNS(namespace, name) : document.createElement(name); + } + function createNS() { + console.log("createNS this", this); + return this.ownerDocument.createElementNS(name.space, name.local); + } + return typeof name === "function" ? name : (name = d3.ns.qualify(name)).local ? createNS : create; + } + d3_selectionPrototype.insert = function(name, before) { + name = d3_selection_creator(name); + before = d3_selection_selector(before); + return this.select(function() { + return this.insertBefore(name.apply(this, arguments), before.apply(this, arguments) || null); + }); + }; + d3_selectionPrototype.remove = function() { + return this.each(d3_selectionRemove); + }; + function d3_selectionRemove() { + var parent = this.parentNode; + if (parent) parent.removeChild(this); + } + d3_selectionPrototype.data = function(value, key) { + var i = -1, n = this.length, group, node; + if (!arguments.length) { + value = new Array(n = (group = this[0]).length); + while (++i < n) { + if (node = group[i]) { + value[i] = node.__data__; + } + } + return value; + } + function bind(group, groupData) { + var i, n = group.length, m = groupData.length, n0 = Math.min(n, m), updateNodes = new Array(m), enterNodes = new Array(m), exitNodes = new Array(n), node, nodeData; + if (key) { + var nodeByKeyValue = new d3_Map(), keyValues = new Array(n), keyValue; + for (i = -1; ++i < n; ) { + if (nodeByKeyValue.has(keyValue = key.call(node = group[i], node.__data__, i))) { + exitNodes[i] = node; + } else { + nodeByKeyValue.set(keyValue, node); + } + keyValues[i] = keyValue; + } + for (i = -1; ++i < m; ) { + if (!(node = nodeByKeyValue.get(keyValue = key.call(groupData, nodeData = groupData[i], i)))) { + enterNodes[i] = d3_selection_dataNode(nodeData); + } else if (node !== true) { + updateNodes[i] = node; + node.__data__ = nodeData; + } + nodeByKeyValue.set(keyValue, true); + } + for (i = -1; ++i < n; ) { + if (nodeByKeyValue.get(keyValues[i]) !== true) { + exitNodes[i] = group[i]; + } + } + } else { + for (i = -1; ++i < n0; ) { + node = group[i]; + nodeData = groupData[i]; + if (node) { + node.__data__ = nodeData; + updateNodes[i] = node; + } else { + enterNodes[i] = d3_selection_dataNode(nodeData); + } + } + for (;i < m; ++i) { + enterNodes[i] = d3_selection_dataNode(groupData[i]); + } + for (;i < n; ++i) { + exitNodes[i] = group[i]; + } + } + enterNodes.update = updateNodes; + enterNodes.parentNode = updateNodes.parentNode = exitNodes.parentNode = group.parentNode; + enter.push(enterNodes); + update.push(updateNodes); + exit.push(exitNodes); + } + var enter = d3_selection_enter([]), update = d3_selection([]), exit = d3_selection([]); + if (typeof value === "function") { + while (++i < n) { + bind(group = this[i], value.call(group, group.parentNode.__data__, i)); + } + } else { + while (++i < n) { + bind(group = this[i], value); + } + } + update.enter = function() { + return enter; + }; + update.exit = function() { + return exit; + }; + return update; + }; + function d3_selection_dataNode(data) { + return { + __data__: data + }; + } + d3_selectionPrototype.datum = function(value) { + return arguments.length ? this.property("__data__", value) : this.property("__data__"); + }; + d3_selectionPrototype.filter = function(filter) { + var subgroups = [], subgroup, group, node; + if (typeof filter !== "function") filter = d3_selection_filter(filter); + for (var j = 0, m = this.length; j < m; j++) { + subgroups.push(subgroup = []); + subgroup.parentNode = (group = this[j]).parentNode; + for (var i = 0, n = group.length; i < n; i++) { + if ((node = group[i]) && filter.call(node, node.__data__, i, j)) { + subgroup.push(node); + } + } + } + return d3_selection(subgroups); + }; + function d3_selection_filter(selector) { + return function() { + return d3_selectMatches(this, selector); + }; + } + d3_selectionPrototype.order = function() { + for (var j = -1, m = this.length; ++j < m; ) { + for (var group = this[j], i = group.length - 1, next = group[i], node; --i >= 0; ) { + if (node = group[i]) { + if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next); + next = node; + } + } + } + return this; + }; + d3_selectionPrototype.sort = function(comparator) { + comparator = d3_selection_sortComparator.apply(this, arguments); + for (var j = -1, m = this.length; ++j < m; ) this[j].sort(comparator); + return this.order(); + }; + function d3_selection_sortComparator(comparator) { + if (!arguments.length) comparator = d3_ascending; + return function(a, b) { + return a && b ? comparator(a.__data__, b.__data__) : !a - !b; + }; + } + d3_selectionPrototype.each = function(callback) { + return d3_selection_each(this, function(node, i, j) { + callback.call(node, node.__data__, i, j); + }); + }; + function d3_selection_each(groups, callback) { + for (var j = 0, m = groups.length; j < m; j++) { + for (var group = groups[j], i = 0, n = group.length, node; i < n; i++) { + if (node = group[i]) callback(node, i, j); + } + } + return groups; + } + d3_selectionPrototype.call = function(callback) { + var args = d3_array(arguments); + callback.apply(args[0] = this, args); + return this; + }; + d3_selectionPrototype.empty = function() { + return !this.node(); + }; + d3_selectionPrototype.node = function() { + for (var j = 0, m = this.length; j < m; j++) { + for (var group = this[j], i = 0, n = group.length; i < n; i++) { + var node = group[i]; + if (node) return node; + } + } + return null; + }; + d3_selectionPrototype.size = function() { + var n = 0; + d3_selection_each(this, function() { + ++n; + }); + return n; + }; + function d3_selection_enter(selection) { + d3_subclass(selection, d3_selection_enterPrototype); + return selection; + } + var d3_selection_enterPrototype = []; + d3.selection.enter = d3_selection_enter; + d3.selection.enter.prototype = d3_selection_enterPrototype; + d3_selection_enterPrototype.append = d3_selectionPrototype.append; + d3_selection_enterPrototype.empty = d3_selectionPrototype.empty; + d3_selection_enterPrototype.node = d3_selectionPrototype.node; + d3_selection_enterPrototype.call = d3_selectionPrototype.call; + d3_selection_enterPrototype.size = d3_selectionPrototype.size; + d3_selection_enterPrototype.select = function(selector) { + var subgroups = [], subgroup, subnode, upgroup, group, node; + for (var j = -1, m = this.length; ++j < m; ) { + upgroup = (group = this[j]).update; + subgroups.push(subgroup = []); + subgroup.parentNode = group.parentNode; + for (var i = -1, n = group.length; ++i < n; ) { + if (node = group[i]) { + subgroup.push(upgroup[i] = subnode = selector.call(group.parentNode, node.__data__, i, j)); + subnode.__data__ = node.__data__; + } else { + subgroup.push(null); + } + } + } + return d3_selection(subgroups); + }; + d3_selection_enterPrototype.insert = function(name, before) { + if (arguments.length < 2) before = d3_selection_enterInsertBefore(this); + return d3_selectionPrototype.insert.call(this, name, before); + }; + function d3_selection_enterInsertBefore(enter) { + var i0, j0; + return function(d, i, j) { + var group = enter[j].update, n = group.length, node; + if (j != j0) j0 = j, i0 = 0; + if (i >= i0) i0 = i + 1; + while (!(node = group[i0]) && ++i0 < n) ; + return node; + }; + } + d3.select = function(node) { + var group; + if (typeof node === "string") { + group = [ d3_select(node, d3_document) ]; + group.parentNode = d3_document.documentElement; + } else { + group = [ node ]; + group.parentNode = d3_documentElement(node); + } + return d3_selection([ group ]); + }; + d3.selectAll = function(nodes) { + var group; + if (typeof nodes === "string") { + group = d3_array(d3_selectAll(nodes, d3_document)); + group.parentNode = d3_document.documentElement; + } else { + group = nodes; + group.parentNode = null; + } + return d3_selection([ group ]); + }; + d3_selectionPrototype.on = function(type, listener, capture) { + var n = arguments.length; + if (n < 3) { + if (typeof type !== "string") { + if (n < 2) listener = false; + for (capture in type) this.each(d3_selection_on(capture, type[capture], listener)); + return this; + } + if (n < 2) return (n = this.node()["__on" + type]) && n._; + capture = false; + } + return this.each(d3_selection_on(type, listener, capture)); + }; + function d3_selection_on(type, listener, capture) { + var name = "__on" + type, i = type.indexOf("."), wrap = d3_selection_onListener; + if (i > 0) type = type.slice(0, i); + var filter = d3_selection_onFilters.get(type); + if (filter) type = filter, wrap = d3_selection_onFilter; + function onRemove() { + var l = this[name]; + if (l) { + this.removeEventListener(type, l, l.$); + delete this[name]; + } + } + function onAdd() { + var l = wrap(listener, d3_array(arguments)); + onRemove.call(this); + this.addEventListener(type, this[name] = l, l.$ = capture); + l._ = listener; + } + function removeAll() { + var re = new RegExp("^__on([^.]+)" + d3.requote(type) + "$"), match; + for (var name in this) { + if (match = name.match(re)) { + var l = this[name]; + this.removeEventListener(match[1], l, l.$); + delete this[name]; + } + } + } + return i ? listener ? onAdd : onRemove : listener ? d3_noop : removeAll; + } + var d3_selection_onFilters = d3.map({ + mouseenter: "mouseover", + mouseleave: "mouseout" + }); + if (d3_document) { + d3_selection_onFilters.forEach(function(k) { + if ("on" + k in d3_document) d3_selection_onFilters.remove(k); + }); + } + function d3_selection_onListener(listener, argumentz) { + return function(e) { + var o = d3.event; + d3.event = e; + argumentz[0] = this.__data__; + try { + listener.apply(this, argumentz); + } finally { + d3.event = o; + } + }; + } + function d3_selection_onFilter(listener, argumentz) { + var l = d3_selection_onListener(listener, argumentz); + return function(e) { + var target = this, related = e.relatedTarget; + if (!related || related !== target && !(related.compareDocumentPosition(target) & 8)) { + l.call(target, e); + } + }; + } + var d3_event_dragSelect, d3_event_dragId = 0; + function d3_event_dragSuppress(node) { + var name = ".dragsuppress-" + ++d3_event_dragId, click = "click" + name, w = d3.select(d3_window(node)).on("touchmove" + name, d3_eventPreventDefault).on("dragstart" + name, d3_eventPreventDefault).on("selectstart" + name, d3_eventPreventDefault); + if (d3_event_dragSelect == null) { + d3_event_dragSelect = "onselectstart" in node ? false : d3_vendorSymbol(node.style, "userSelect"); + } + if (d3_event_dragSelect) { + var style = d3_documentElement(node).style, select = style[d3_event_dragSelect]; + style[d3_event_dragSelect] = "none"; + } + return function(suppressClick) { + w.on(name, null); + if (d3_event_dragSelect) style[d3_event_dragSelect] = select; + if (suppressClick) { + var off = function() { + w.on(click, null); + }; + w.on(click, function() { + d3_eventPreventDefault(); + off(); + }, true); + setTimeout(off, 0); + } + }; + } + d3.mouse = function(container) { + return d3_mousePoint(container, d3_eventSource()); + }; + var d3_mouse_bug44083 = this.navigator && /WebKit/.test(this.navigator.userAgent) ? -1 : 0; + function d3_mousePoint(container, e) { + if (e.changedTouches) e = e.changedTouches[0]; + var svg = container.ownerSVGElement || container; + if (svg.createSVGPoint) { + var point = svg.createSVGPoint(); + if (d3_mouse_bug44083 < 0) { + var window = d3_window(container); + if (window.scrollX || window.scrollY) { + svg = d3.select("body").append("svg").style({ + position: "absolute", + top: 0, + left: 0, + margin: 0, + padding: 0, + border: "none" + }, "important"); + var ctm = svg[0][0].getScreenCTM(); + d3_mouse_bug44083 = !(ctm.f || ctm.e); + svg.remove(); + } + } + if (d3_mouse_bug44083) point.x = e.pageX, point.y = e.pageY; else point.x = e.clientX, + point.y = e.clientY; + point = point.matrixTransform(container.getScreenCTM().inverse()); + return [ point.x, point.y ]; + } + var rect = container.getBoundingClientRect(); + return [ e.clientX - rect.left - container.clientLeft, e.clientY - rect.top - container.clientTop ]; + } + d3.touch = function(container, touches, identifier) { + if (arguments.length < 3) identifier = touches, touches = d3_eventSource().changedTouches; + if (touches) for (var i = 0, n = touches.length, touch; i < n; ++i) { + if ((touch = touches[i]).identifier === identifier) { + return d3_mousePoint(container, touch); + } + } + }; + d3.behavior.drag = function() { + var event = d3_eventDispatch(drag, "drag", "dragstart", "dragend"), origin = null, mousedown = dragstart(d3_noop, d3.mouse, d3_window, "mousemove", "mouseup"), touchstart = dragstart(d3_behavior_dragTouchId, d3.touch, d3_identity, "touchmove", "touchend"); + function drag() { + this.on("mousedown.drag", mousedown).on("touchstart.drag", touchstart); + } + function dragstart(id, position, subject, move, end) { + return function() { + var that = this, target = d3.event.target, parent = that.parentNode, dispatch = event.of(that, arguments), dragged = 0, dragId = id(), dragName = ".drag" + (dragId == null ? "" : "-" + dragId), dragOffset, dragSubject = d3.select(subject(target)).on(move + dragName, moved).on(end + dragName, ended), dragRestore = d3_event_dragSuppress(target), position0 = position(parent, dragId); + if (origin) { + dragOffset = origin.apply(that, arguments); + dragOffset = [ dragOffset.x - position0[0], dragOffset.y - position0[1] ]; + } else { + dragOffset = [ 0, 0 ]; + } + dispatch({ + type: "dragstart" + }); + function moved() { + var position1 = position(parent, dragId), dx, dy; + if (!position1) return; + dx = position1[0] - position0[0]; + dy = position1[1] - position0[1]; + dragged |= dx | dy; + position0 = position1; + dispatch({ + type: "drag", + x: position1[0] + dragOffset[0], + y: position1[1] + dragOffset[1], + dx: dx, + dy: dy + }); + } + function ended() { + if (!position(parent, dragId)) return; + dragSubject.on(move + dragName, null).on(end + dragName, null); + dragRestore(dragged && d3.event.target === target); + dispatch({ + type: "dragend" + }); + } + }; + } + drag.origin = function(x) { + if (!arguments.length) return origin; + origin = x; + return drag; + }; + return d3.rebind(drag, event, "on"); + }; + function d3_behavior_dragTouchId() { + return d3.event.changedTouches[0].identifier; + } + d3.touches = function(container, touches) { + if (arguments.length < 2) touches = d3_eventSource().touches; + return touches ? d3_array(touches).map(function(touch) { + var point = d3_mousePoint(container, touch); + point.identifier = touch.identifier; + return point; + }) : []; + }; + var ε = 1e-6, ε2 = ε * ε, π = Math.PI, τ = 2 * π, τε = τ - ε, halfπ = π / 2, d3_radians = π / 180, d3_degrees = 180 / π; + function d3_sgn(x) { + return x > 0 ? 1 : x < 0 ? -1 : 0; + } + function d3_cross2d(a, b, c) { + return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]); + } + function d3_acos(x) { + return x > 1 ? 0 : x < -1 ? π : Math.acos(x); + } + function d3_asin(x) { + return x > 1 ? halfπ : x < -1 ? -halfπ : Math.asin(x); + } + function d3_sinh(x) { + return ((x = Math.exp(x)) - 1 / x) / 2; + } + function d3_cosh(x) { + return ((x = Math.exp(x)) + 1 / x) / 2; + } + function d3_tanh(x) { + return ((x = Math.exp(2 * x)) - 1) / (x + 1); + } + function d3_haversin(x) { + return (x = Math.sin(x / 2)) * x; + } + var ρ = Math.SQRT2, ρ2 = 2, ρ4 = 4; + d3.interpolateZoom = function(p0, p1) { + var ux0 = p0[0], uy0 = p0[1], w0 = p0[2], ux1 = p1[0], uy1 = p1[1], w1 = p1[2]; + var dx = ux1 - ux0, dy = uy1 - uy0, d2 = dx * dx + dy * dy, d1 = Math.sqrt(d2), b0 = (w1 * w1 - w0 * w0 + ρ4 * d2) / (2 * w0 * ρ2 * d1), b1 = (w1 * w1 - w0 * w0 - ρ4 * d2) / (2 * w1 * ρ2 * d1), r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1), dr = r1 - r0, S = (dr || Math.log(w1 / w0)) / ρ; + function interpolate(t) { + var s = t * S; + if (dr) { + var coshr0 = d3_cosh(r0), u = w0 / (ρ2 * d1) * (coshr0 * d3_tanh(ρ * s + r0) - d3_sinh(r0)); + return [ ux0 + u * dx, uy0 + u * dy, w0 * coshr0 / d3_cosh(ρ * s + r0) ]; + } + return [ ux0 + t * dx, uy0 + t * dy, w0 * Math.exp(ρ * s) ]; + } + interpolate.duration = S * 1e3; + return interpolate; + }; + d3.behavior.zoom = function() { + var view = { + x: 0, + y: 0, + k: 1 + }, translate0, center0, center, size = [ 960, 500 ], scaleExtent = d3_behavior_zoomInfinity, duration = 250, zooming = 0, mousedown = "mousedown.zoom", mousemove = "mousemove.zoom", mouseup = "mouseup.zoom", mousewheelTimer, touchstart = "touchstart.zoom", touchtime, event = d3_eventDispatch(zoom, "zoomstart", "zoom", "zoomend"), x0, x1, y0, y1; + if (!d3_behavior_zoomWheel) { + d3_behavior_zoomWheel = "onwheel" in d3_document ? (d3_behavior_zoomDelta = function() { + return -d3.event.deltaY * (d3.event.deltaMode ? 120 : 1); + }, "wheel") : "onmousewheel" in d3_document ? (d3_behavior_zoomDelta = function() { + return d3.event.wheelDelta; + }, "mousewheel") : (d3_behavior_zoomDelta = function() { + return -d3.event.detail; + }, "MozMousePixelScroll"); + } + function zoom(g) { + g.on(mousedown, mousedowned).on(d3_behavior_zoomWheel + ".zoom", mousewheeled).on("dblclick.zoom", dblclicked).on(touchstart, touchstarted); + } + zoom.event = function(g) { + g.each(function() { + var dispatch = event.of(this, arguments), view1 = view; + if (d3_transitionInheritId) { + d3.select(this).transition().each("start.zoom", function() { + view = this.__chart__ || { + x: 0, + y: 0, + k: 1 + }; + zoomstarted(dispatch); + }).tween("zoom:zoom", function() { + var dx = size[0], dy = size[1], cx = center0 ? center0[0] : dx / 2, cy = center0 ? center0[1] : dy / 2, i = d3.interpolateZoom([ (cx - view.x) / view.k, (cy - view.y) / view.k, dx / view.k ], [ (cx - view1.x) / view1.k, (cy - view1.y) / view1.k, dx / view1.k ]); + return function(t) { + var l = i(t), k = dx / l[2]; + this.__chart__ = view = { + x: cx - l[0] * k, + y: cy - l[1] * k, + k: k + }; + zoomed(dispatch); + }; + }).each("interrupt.zoom", function() { + zoomended(dispatch); + }).each("end.zoom", function() { + zoomended(dispatch); + }); + } else { + this.__chart__ = view; + zoomstarted(dispatch); + zoomed(dispatch); + zoomended(dispatch); + } + }); + }; + zoom.translate = function(_) { + if (!arguments.length) return [ view.x, view.y ]; + view = { + x: +_[0], + y: +_[1], + k: view.k + }; + rescale(); + return zoom; + }; + zoom.scale = function(_) { + if (!arguments.length) return view.k; + view = { + x: view.x, + y: view.y, + k: +_ + }; + rescale(); + return zoom; + }; + zoom.scaleExtent = function(_) { + if (!arguments.length) return scaleExtent; + scaleExtent = _ == null ? d3_behavior_zoomInfinity : [ +_[0], +_[1] ]; + return zoom; + }; + zoom.center = function(_) { + if (!arguments.length) return center; + center = _ && [ +_[0], +_[1] ]; + return zoom; + }; + zoom.size = function(_) { + if (!arguments.length) return size; + size = _ && [ +_[0], +_[1] ]; + return zoom; + }; + zoom.duration = function(_) { + if (!arguments.length) return duration; + duration = +_; + return zoom; + }; + zoom.x = function(z) { + if (!arguments.length) return x1; + x1 = z; + x0 = z.copy(); + view = { + x: 0, + y: 0, + k: 1 + }; + return zoom; + }; + zoom.y = function(z) { + if (!arguments.length) return y1; + y1 = z; + y0 = z.copy(); + view = { + x: 0, + y: 0, + k: 1 + }; + return zoom; + }; + function location(p) { + return [ (p[0] - view.x) / view.k, (p[1] - view.y) / view.k ]; + } + function point(l) { + return [ l[0] * view.k + view.x, l[1] * view.k + view.y ]; + } + function scaleTo(s) { + view.k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], s)); + } + function translateTo(p, l) { + l = point(l); + view.x += p[0] - l[0]; + view.y += p[1] - l[1]; + } + function zoomTo(that, p, l, k) { + that.__chart__ = { + x: view.x, + y: view.y, + k: view.k + }; + scaleTo(Math.pow(2, k)); + translateTo(center0 = p, l); + that = d3.select(that); + if (duration > 0) that = that.transition().duration(duration); + that.call(zoom.event); + } + function rescale() { + if (x1) x1.domain(x0.range().map(function(x) { + return (x - view.x) / view.k; + }).map(x0.invert)); + if (y1) y1.domain(y0.range().map(function(y) { + return (y - view.y) / view.k; + }).map(y0.invert)); + } + function zoomstarted(dispatch) { + if (!zooming++) dispatch({ + type: "zoomstart" + }); + } + function zoomed(dispatch) { + rescale(); + dispatch({ + type: "zoom", + scale: view.k, + translate: [ view.x, view.y ] + }); + } + function zoomended(dispatch) { + if (!--zooming) dispatch({ + type: "zoomend" + }); + center0 = null; + } + function mousedowned() { + var that = this, target = d3.event.target, dispatch = event.of(that, arguments), dragged = 0, subject = d3.select(d3_window(that)).on(mousemove, moved).on(mouseup, ended), location0 = location(d3.mouse(that)), dragRestore = d3_event_dragSuppress(that); + d3_selection_interrupt.call(that); + zoomstarted(dispatch); + function moved() { + dragged = 1; + translateTo(d3.mouse(that), location0); + zoomed(dispatch); + } + function ended() { + subject.on(mousemove, null).on(mouseup, null); + dragRestore(dragged && d3.event.target === target); + zoomended(dispatch); + } + } + function touchstarted() { + var that = this, dispatch = event.of(that, arguments), locations0 = {}, distance0 = 0, scale0, zoomName = ".zoom-" + d3.event.changedTouches[0].identifier, touchmove = "touchmove" + zoomName, touchend = "touchend" + zoomName, targets = [], subject = d3.select(that), dragRestore = d3_event_dragSuppress(that); + started(); + zoomstarted(dispatch); + subject.on(mousedown, null).on(touchstart, started); + function relocate() { + var touches = d3.touches(that); + scale0 = view.k; + touches.forEach(function(t) { + if (t.identifier in locations0) locations0[t.identifier] = location(t); + }); + return touches; + } + function started() { + var target = d3.event.target; + d3.select(target).on(touchmove, moved).on(touchend, ended); + targets.push(target); + var changed = d3.event.changedTouches; + for (var i = 0, n = changed.length; i < n; ++i) { + locations0[changed[i].identifier] = null; + } + var touches = relocate(), now = Date.now(); + if (touches.length === 1) { + if (now - touchtime < 500) { + var p = touches[0]; + zoomTo(that, p, locations0[p.identifier], Math.floor(Math.log(view.k) / Math.LN2) + 1); + d3_eventPreventDefault(); + } + touchtime = now; + } else if (touches.length > 1) { + var p = touches[0], q = touches[1], dx = p[0] - q[0], dy = p[1] - q[1]; + distance0 = dx * dx + dy * dy; + } + } + function moved() { + var touches = d3.touches(that), p0, l0, p1, l1; + d3_selection_interrupt.call(that); + for (var i = 0, n = touches.length; i < n; ++i, l1 = null) { + p1 = touches[i]; + if (l1 = locations0[p1.identifier]) { + if (l0) break; + p0 = p1, l0 = l1; + } + } + if (l1) { + var distance1 = (distance1 = p1[0] - p0[0]) * distance1 + (distance1 = p1[1] - p0[1]) * distance1, scale1 = distance0 && Math.sqrt(distance1 / distance0); + p0 = [ (p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2 ]; + l0 = [ (l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2 ]; + scaleTo(scale1 * scale0); + } + touchtime = null; + translateTo(p0, l0); + zoomed(dispatch); + } + function ended() { + if (d3.event.touches.length) { + var changed = d3.event.changedTouches; + for (var i = 0, n = changed.length; i < n; ++i) { + delete locations0[changed[i].identifier]; + } + for (var identifier in locations0) { + return void relocate(); + } + } + d3.selectAll(targets).on(zoomName, null); + subject.on(mousedown, mousedowned).on(touchstart, touchstarted); + dragRestore(); + zoomended(dispatch); + } + } + function mousewheeled() { + var dispatch = event.of(this, arguments); + if (mousewheelTimer) clearTimeout(mousewheelTimer); else translate0 = location(center0 = center || d3.mouse(this)), + d3_selection_interrupt.call(this), zoomstarted(dispatch); + mousewheelTimer = setTimeout(function() { + mousewheelTimer = null; + zoomended(dispatch); + }, 50); + d3_eventPreventDefault(); + scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * view.k); + translateTo(center0, translate0); + zoomed(dispatch); + } + function dblclicked() { + var p = d3.mouse(this), k = Math.log(view.k) / Math.LN2; + zoomTo(this, p, location(p), d3.event.shiftKey ? Math.ceil(k) - 1 : Math.floor(k) + 1); + } + return d3.rebind(zoom, event, "on"); + }; + var d3_behavior_zoomInfinity = [ 0, Infinity ], d3_behavior_zoomDelta, d3_behavior_zoomWheel; + d3.color = d3_color; + function d3_color() {} + d3_color.prototype.toString = function() { + return this.rgb() + ""; + }; + d3.hsl = d3_hsl; + function d3_hsl(h, s, l) { + return this instanceof d3_hsl ? void (this.h = +h, this.s = +s, this.l = +l) : arguments.length < 2 ? h instanceof d3_hsl ? new d3_hsl(h.h, h.s, h.l) : d3_rgb_parse("" + h, d3_rgb_hsl, d3_hsl) : new d3_hsl(h, s, l); + } + var d3_hslPrototype = d3_hsl.prototype = new d3_color(); + d3_hslPrototype.brighter = function(k) { + k = Math.pow(.7, arguments.length ? k : 1); + return new d3_hsl(this.h, this.s, this.l / k); + }; + d3_hslPrototype.darker = function(k) { + k = Math.pow(.7, arguments.length ? k : 1); + return new d3_hsl(this.h, this.s, k * this.l); + }; + d3_hslPrototype.rgb = function() { + return d3_hsl_rgb(this.h, this.s, this.l); + }; + function d3_hsl_rgb(h, s, l) { + var m1, m2; + h = isNaN(h) ? 0 : (h %= 360) < 0 ? h + 360 : h; + s = isNaN(s) ? 0 : s < 0 ? 0 : s > 1 ? 1 : s; + l = l < 0 ? 0 : l > 1 ? 1 : l; + m2 = l <= .5 ? l * (1 + s) : l + s - l * s; + m1 = 2 * l - m2; + function v(h) { + if (h > 360) h -= 360; else if (h < 0) h += 360; + if (h < 60) return m1 + (m2 - m1) * h / 60; + if (h < 180) return m2; + if (h < 240) return m1 + (m2 - m1) * (240 - h) / 60; + return m1; + } + function vv(h) { + return Math.round(v(h) * 255); + } + return new d3_rgb(vv(h + 120), vv(h), vv(h - 120)); + } + d3.hcl = d3_hcl; + function d3_hcl(h, c, l) { + return this instanceof d3_hcl ? void (this.h = +h, this.c = +c, this.l = +l) : arguments.length < 2 ? h instanceof d3_hcl ? new d3_hcl(h.h, h.c, h.l) : h instanceof d3_lab ? d3_lab_hcl(h.l, h.a, h.b) : d3_lab_hcl((h = d3_rgb_lab((h = d3.rgb(h)).r, h.g, h.b)).l, h.a, h.b) : new d3_hcl(h, c, l); + } + var d3_hclPrototype = d3_hcl.prototype = new d3_color(); + d3_hclPrototype.brighter = function(k) { + return new d3_hcl(this.h, this.c, Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1))); + }; + d3_hclPrototype.darker = function(k) { + return new d3_hcl(this.h, this.c, Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1))); + }; + d3_hclPrototype.rgb = function() { + return d3_hcl_lab(this.h, this.c, this.l).rgb(); + }; + function d3_hcl_lab(h, c, l) { + if (isNaN(h)) h = 0; + if (isNaN(c)) c = 0; + return new d3_lab(l, Math.cos(h *= d3_radians) * c, Math.sin(h) * c); + } + d3.lab = d3_lab; + function d3_lab(l, a, b) { + return this instanceof d3_lab ? void (this.l = +l, this.a = +a, this.b = +b) : arguments.length < 2 ? l instanceof d3_lab ? new d3_lab(l.l, l.a, l.b) : l instanceof d3_hcl ? d3_hcl_lab(l.h, l.c, l.l) : d3_rgb_lab((l = d3_rgb(l)).r, l.g, l.b) : new d3_lab(l, a, b); + } + var d3_lab_K = 18; + var d3_lab_X = .95047, d3_lab_Y = 1, d3_lab_Z = 1.08883; + var d3_labPrototype = d3_lab.prototype = new d3_color(); + d3_labPrototype.brighter = function(k) { + return new d3_lab(Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)), this.a, this.b); + }; + d3_labPrototype.darker = function(k) { + return new d3_lab(Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)), this.a, this.b); + }; + d3_labPrototype.rgb = function() { + return d3_lab_rgb(this.l, this.a, this.b); + }; + function d3_lab_rgb(l, a, b) { + var y = (l + 16) / 116, x = y + a / 500, z = y - b / 200; + x = d3_lab_xyz(x) * d3_lab_X; + y = d3_lab_xyz(y) * d3_lab_Y; + z = d3_lab_xyz(z) * d3_lab_Z; + return new d3_rgb(d3_xyz_rgb(3.2404542 * x - 1.5371385 * y - .4985314 * z), d3_xyz_rgb(-.969266 * x + 1.8760108 * y + .041556 * z), d3_xyz_rgb(.0556434 * x - .2040259 * y + 1.0572252 * z)); + } + function d3_lab_hcl(l, a, b) { + return l > 0 ? new d3_hcl(Math.atan2(b, a) * d3_degrees, Math.sqrt(a * a + b * b), l) : new d3_hcl(NaN, NaN, l); + } + function d3_lab_xyz(x) { + return x > .206893034 ? x * x * x : (x - 4 / 29) / 7.787037; + } + function d3_xyz_lab(x) { + return x > .008856 ? Math.pow(x, 1 / 3) : 7.787037 * x + 4 / 29; + } + function d3_xyz_rgb(r) { + return Math.round(255 * (r <= .00304 ? 12.92 * r : 1.055 * Math.pow(r, 1 / 2.4) - .055)); + } + d3.rgb = d3_rgb; + function d3_rgb(r, g, b) { + return this instanceof d3_rgb ? void (this.r = ~~r, this.g = ~~g, this.b = ~~b) : arguments.length < 2 ? r instanceof d3_rgb ? new d3_rgb(r.r, r.g, r.b) : d3_rgb_parse("" + r, d3_rgb, d3_hsl_rgb) : new d3_rgb(r, g, b); + } + function d3_rgbNumber(value) { + return new d3_rgb(value >> 16, value >> 8 & 255, value & 255); + } + function d3_rgbString(value) { + return d3_rgbNumber(value) + ""; + } + var d3_rgbPrototype = d3_rgb.prototype = new d3_color(); + d3_rgbPrototype.brighter = function(k) { + k = Math.pow(.7, arguments.length ? k : 1); + var r = this.r, g = this.g, b = this.b, i = 30; + if (!r && !g && !b) return new d3_rgb(i, i, i); + if (r && r < i) r = i; + if (g && g < i) g = i; + if (b && b < i) b = i; + return new d3_rgb(Math.min(255, r / k), Math.min(255, g / k), Math.min(255, b / k)); + }; + d3_rgbPrototype.darker = function(k) { + k = Math.pow(.7, arguments.length ? k : 1); + return new d3_rgb(k * this.r, k * this.g, k * this.b); + }; + d3_rgbPrototype.hsl = function() { + return d3_rgb_hsl(this.r, this.g, this.b); + }; + d3_rgbPrototype.toString = function() { + return "#" + d3_rgb_hex(this.r) + d3_rgb_hex(this.g) + d3_rgb_hex(this.b); + }; + function d3_rgb_hex(v) { + return v < 16 ? "0" + Math.max(0, v).toString(16) : Math.min(255, v).toString(16); + } + function d3_rgb_parse(format, rgb, hsl) { + var r = 0, g = 0, b = 0, m1, m2, color; + m1 = /([a-z]+)\((.*)\)/i.exec(format); + if (m1) { + m2 = m1[2].split(","); + switch (m1[1]) { + case "hsl": + { + return hsl(parseFloat(m2[0]), parseFloat(m2[1]) / 100, parseFloat(m2[2]) / 100); + } + + case "rgb": + { + return rgb(d3_rgb_parseNumber(m2[0]), d3_rgb_parseNumber(m2[1]), d3_rgb_parseNumber(m2[2])); + } + } + } + if (color = d3_rgb_names.get(format.toLowerCase())) { + return rgb(color.r, color.g, color.b); + } + if (format != null && format.charAt(0) === "#" && !isNaN(color = parseInt(format.slice(1), 16))) { + if (format.length === 4) { + r = (color & 3840) >> 4; + r = r >> 4 | r; + g = color & 240; + g = g >> 4 | g; + b = color & 15; + b = b << 4 | b; + } else if (format.length === 7) { + r = (color & 16711680) >> 16; + g = (color & 65280) >> 8; + b = color & 255; + } + } + return rgb(r, g, b); + } + function d3_rgb_hsl(r, g, b) { + var min = Math.min(r /= 255, g /= 255, b /= 255), max = Math.max(r, g, b), d = max - min, h, s, l = (max + min) / 2; + if (d) { + s = l < .5 ? d / (max + min) : d / (2 - max - min); + if (r == max) h = (g - b) / d + (g < b ? 6 : 0); else if (g == max) h = (b - r) / d + 2; else h = (r - g) / d + 4; + h *= 60; + } else { + h = NaN; + s = l > 0 && l < 1 ? 0 : h; + } + return new d3_hsl(h, s, l); + } + function d3_rgb_lab(r, g, b) { + r = d3_rgb_xyz(r); + g = d3_rgb_xyz(g); + b = d3_rgb_xyz(b); + var x = d3_xyz_lab((.4124564 * r + .3575761 * g + .1804375 * b) / d3_lab_X), y = d3_xyz_lab((.2126729 * r + .7151522 * g + .072175 * b) / d3_lab_Y), z = d3_xyz_lab((.0193339 * r + .119192 * g + .9503041 * b) / d3_lab_Z); + return d3_lab(116 * y - 16, 500 * (x - y), 200 * (y - z)); + } + function d3_rgb_xyz(r) { + return (r /= 255) <= .04045 ? r / 12.92 : Math.pow((r + .055) / 1.055, 2.4); + } + function d3_rgb_parseNumber(c) { + var f = parseFloat(c); + return c.charAt(c.length - 1) === "%" ? Math.round(f * 2.55) : f; + } + var d3_rgb_names = d3.map({ + 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 + }); + d3_rgb_names.forEach(function(key, value) { + d3_rgb_names.set(key, d3_rgbNumber(value)); + }); + function d3_functor(v) { + return typeof v === "function" ? v : function() { + return v; + }; + } + d3.functor = d3_functor; + d3.xhr = d3_xhrType(d3_identity); + function d3_xhrType(response) { + return function(url, mimeType, callback) { + if (arguments.length === 2 && typeof mimeType === "function") callback = mimeType, + mimeType = null; + return d3_xhr(url, mimeType, response, callback); + }; + } + function d3_xhr(url, mimeType, response, callback) { + var xhr = {}, dispatch = d3.dispatch("beforesend", "progress", "load", "error"), headers = {}, request = new XMLHttpRequest(), responseType = null; + if (this.XDomainRequest && !("withCredentials" in request) && /^(http(s)?:)?\/\//.test(url)) request = new XDomainRequest(); + "onload" in request ? request.onload = request.onerror = respond : request.onreadystatechange = function() { + request.readyState > 3 && respond(); + }; + function respond() { + var status = request.status, result; + if (!status && d3_xhrHasResponse(request) || status >= 200 && status < 300 || status === 304) { + try { + result = response.call(xhr, request); + } catch (e) { + dispatch.error.call(xhr, e); + return; + } + dispatch.load.call(xhr, result); + } else { + dispatch.error.call(xhr, request); + } + } + request.onprogress = function(event) { + var o = d3.event; + d3.event = event; + try { + dispatch.progress.call(xhr, request); + } finally { + d3.event = o; + } + }; + xhr.header = function(name, value) { + name = (name + "").toLowerCase(); + if (arguments.length < 2) return headers[name]; + if (value == null) delete headers[name]; else headers[name] = value + ""; + return xhr; + }; + xhr.mimeType = function(value) { + if (!arguments.length) return mimeType; + mimeType = value == null ? null : value + ""; + return xhr; + }; + xhr.responseType = function(value) { + if (!arguments.length) return responseType; + responseType = value; + return xhr; + }; + xhr.response = function(value) { + response = value; + return xhr; + }; + [ "get", "post" ].forEach(function(method) { + xhr[method] = function() { + return xhr.send.apply(xhr, [ method ].concat(d3_array(arguments))); + }; + }); + xhr.send = function(method, data, callback) { + if (arguments.length === 2 && typeof data === "function") callback = data, data = null; + request.open(method, url, true); + if (mimeType != null && !("accept" in headers)) headers["accept"] = mimeType + ",*/*"; + if (request.setRequestHeader) for (var name in headers) request.setRequestHeader(name, headers[name]); + if (mimeType != null && request.overrideMimeType) request.overrideMimeType(mimeType); + if (responseType != null) request.responseType = responseType; + if (callback != null) xhr.on("error", callback).on("load", function(request) { + callback(null, request); + }); + dispatch.beforesend.call(xhr, request); + request.send(data == null ? null : data); + return xhr; + }; + xhr.abort = function() { + request.abort(); + return xhr; + }; + d3.rebind(xhr, dispatch, "on"); + return callback == null ? xhr : xhr.get(d3_xhr_fixCallback(callback)); + } + function d3_xhr_fixCallback(callback) { + return callback.length === 1 ? function(error, request) { + callback(error == null ? request : null); + } : callback; + } + function d3_xhrHasResponse(request) { + var type = request.responseType; + return type && type !== "text" ? request.response : request.responseText; + } + d3.dsv = function(delimiter, mimeType) { + var reFormat = new RegExp('["' + delimiter + "\n]"), delimiterCode = delimiter.charCodeAt(0); + function dsv(url, row, callback) { + if (arguments.length < 3) callback = row, row = null; + var xhr = d3_xhr(url, mimeType, row == null ? response : typedResponse(row), callback); + xhr.row = function(_) { + return arguments.length ? xhr.response((row = _) == null ? response : typedResponse(_)) : row; + }; + return xhr; + } + function response(request) { + return dsv.parse(request.responseText); + } + function typedResponse(f) { + return function(request) { + return dsv.parse(request.responseText, f); + }; + } + dsv.parse = function(text, f) { + var o; + return dsv.parseRows(text, function(row, i) { + if (o) return o(row, i - 1); + var a = new Function("d", "return {" + row.map(function(name, i) { + return JSON.stringify(name) + ": d[" + i + "]"; + }).join(",") + "}"); + o = f ? function(row, i) { + return f(a(row), i); + } : a; + }); + }; + dsv.parseRows = function(text, f) { + var EOL = {}, EOF = {}, rows = [], N = text.length, I = 0, n = 0, t, eol; + function token() { + if (I >= N) return EOF; + if (eol) return eol = false, EOL; + var j = I; + if (text.charCodeAt(j) === 34) { + var i = j; + while (i++ < N) { + if (text.charCodeAt(i) === 34) { + if (text.charCodeAt(i + 1) !== 34) break; + ++i; + } + } + I = i + 2; + var c = text.charCodeAt(i + 1); + if (c === 13) { + eol = true; + if (text.charCodeAt(i + 2) === 10) ++I; + } else if (c === 10) { + eol = true; + } + return text.slice(j + 1, i).replace(/""/g, '"'); + } + while (I < N) { + var c = text.charCodeAt(I++), k = 1; + if (c === 10) eol = true; else if (c === 13) { + eol = true; + if (text.charCodeAt(I) === 10) ++I, ++k; + } else if (c !== delimiterCode) continue; + return text.slice(j, I - k); + } + return text.slice(j); + } + while ((t = token()) !== EOF) { + var a = []; + while (t !== EOL && t !== EOF) { + a.push(t); + t = token(); + } + if (f && (a = f(a, n++)) == null) continue; + rows.push(a); + } + return rows; + }; + dsv.format = function(rows) { + if (Array.isArray(rows[0])) return dsv.formatRows(rows); + var fieldSet = new d3_Set(), fields = []; + rows.forEach(function(row) { + for (var field in row) { + if (!fieldSet.has(field)) { + fields.push(fieldSet.add(field)); + } + } + }); + return [ fields.map(formatValue).join(delimiter) ].concat(rows.map(function(row) { + return fields.map(function(field) { + return formatValue(row[field]); + }).join(delimiter); + })).join("\n"); + }; + dsv.formatRows = function(rows) { + return rows.map(formatRow).join("\n"); + }; + function formatRow(row) { + return row.map(formatValue).join(delimiter); + } + function formatValue(text) { + return reFormat.test(text) ? '"' + text.replace(/\"/g, '""') + '"' : text; + } + return dsv; + }; + d3.csv = d3.dsv(",", "text/csv"); + d3.tsv = d3.dsv(" ", "text/tab-separated-values"); + var d3_timer_queueHead, d3_timer_queueTail, d3_timer_interval, d3_timer_timeout, d3_timer_active, d3_timer_frame = this[d3_vendorSymbol(this, "requestAnimationFrame")] || function(callback) { + setTimeout(callback, 17); + }; + d3.timer = function(callback, delay, then) { + var n = arguments.length; + if (n < 2) delay = 0; + if (n < 3) then = Date.now(); + var time = then + delay, timer = { + c: callback, + t: time, + f: false, + n: null + }; + if (d3_timer_queueTail) d3_timer_queueTail.n = timer; else d3_timer_queueHead = timer; + d3_timer_queueTail = timer; + if (!d3_timer_interval) { + d3_timer_timeout = clearTimeout(d3_timer_timeout); + d3_timer_interval = 1; + d3_timer_frame(d3_timer_step); + } + }; + function d3_timer_step() { + var now = d3_timer_mark(), delay = d3_timer_sweep() - now; + if (delay > 24) { + if (isFinite(delay)) { + clearTimeout(d3_timer_timeout); + d3_timer_timeout = setTimeout(d3_timer_step, delay); + } + d3_timer_interval = 0; + } else { + d3_timer_interval = 1; + d3_timer_frame(d3_timer_step); + } + } + d3.timer.flush = function() { + d3_timer_mark(); + d3_timer_sweep(); + }; + function d3_timer_mark() { + var now = Date.now(); + d3_timer_active = d3_timer_queueHead; + while (d3_timer_active) { + if (now >= d3_timer_active.t) d3_timer_active.f = d3_timer_active.c(now - d3_timer_active.t); + d3_timer_active = d3_timer_active.n; + } + return now; + } + function d3_timer_sweep() { + var t0, t1 = d3_timer_queueHead, time = Infinity; + while (t1) { + if (t1.f) { + t1 = t0 ? t0.n = t1.n : d3_timer_queueHead = t1.n; + } else { + if (t1.t < time) time = t1.t; + t1 = (t0 = t1).n; + } + } + d3_timer_queueTail = t0; + return time; + } + function d3_format_precision(x, p) { + return p - (x ? Math.ceil(Math.log(x) / Math.LN10) : 1); + } + d3.round = function(x, n) { + return n ? Math.round(x * (n = Math.pow(10, n))) / n : Math.round(x); + }; + var d3_formatPrefixes = [ "y", "z", "a", "f", "p", "n", "µ", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y" ].map(d3_formatPrefix); + d3.formatPrefix = function(value, precision) { + var i = 0; + if (value) { + if (value < 0) value *= -1; + if (precision) value = d3.round(value, d3_format_precision(value, precision)); + i = 1 + Math.floor(1e-12 + Math.log(value) / Math.LN10); + i = Math.max(-24, Math.min(24, Math.floor((i - 1) / 3) * 3)); + } + return d3_formatPrefixes[8 + i / 3]; + }; + function d3_formatPrefix(d, i) { + var k = Math.pow(10, abs(8 - i) * 3); + return { + scale: i > 8 ? function(d) { + return d / k; + } : function(d) { + return d * k; + }, + symbol: d + }; + } + function d3_locale_numberFormat(locale) { + var locale_decimal = locale.decimal, locale_thousands = locale.thousands, locale_grouping = locale.grouping, locale_currency = locale.currency, formatGroup = locale_grouping && locale_thousands ? function(value, width) { + var i = value.length, t = [], j = 0, g = locale_grouping[0], length = 0; + while (i > 0 && g > 0) { + if (length + g + 1 > width) g = Math.max(1, width - length); + t.push(value.substring(i -= g, i + g)); + if ((length += g + 1) > width) break; + g = locale_grouping[j = (j + 1) % locale_grouping.length]; + } + return t.reverse().join(locale_thousands); + } : d3_identity; + return function(specifier) { + var match = d3_format_re.exec(specifier), fill = match[1] || " ", align = match[2] || ">", sign = match[3] || "-", symbol = match[4] || "", zfill = match[5], width = +match[6], comma = match[7], precision = match[8], type = match[9], scale = 1, prefix = "", suffix = "", integer = false, exponent = true; + if (precision) precision = +precision.substring(1); + if (zfill || fill === "0" && align === "=") { + zfill = fill = "0"; + align = "="; + } + switch (type) { + case "n": + comma = true; + type = "g"; + break; + + case "%": + scale = 100; + suffix = "%"; + type = "f"; + break; + + case "p": + scale = 100; + suffix = "%"; + type = "r"; + break; + + case "b": + case "o": + case "x": + case "X": + if (symbol === "#") prefix = "0" + type.toLowerCase(); + + case "c": + exponent = false; + + case "d": + integer = true; + precision = 0; + break; + + case "s": + scale = -1; + type = "r"; + break; + } + if (symbol === "$") prefix = locale_currency[0], suffix = locale_currency[1]; + if (type == "r" && !precision) type = "g"; + if (precision != null) { + if (type == "g") precision = Math.max(1, Math.min(21, precision)); else if (type == "e" || type == "f") precision = Math.max(0, Math.min(20, precision)); + } + type = d3_format_types.get(type) || d3_format_typeDefault; + var zcomma = zfill && comma; + return function(value) { + var fullSuffix = suffix; + if (integer && value % 1) return ""; + var negative = value < 0 || value === 0 && 1 / value < 0 ? (value = -value, "-") : sign === "-" ? "" : sign; + if (scale < 0) { + var unit = d3.formatPrefix(value, precision); + value = unit.scale(value); + fullSuffix = unit.symbol + suffix; + } else { + value *= scale; + } + value = type(value, precision); + var i = value.lastIndexOf("."), before, after; + if (i < 0) { + var j = exponent ? value.lastIndexOf("e") : -1; + if (j < 0) before = value, after = ""; else before = value.substring(0, j), after = value.substring(j); + } else { + before = value.substring(0, i); + after = locale_decimal + value.substring(i + 1); + } + if (!zfill && comma) before = formatGroup(before, Infinity); + var length = prefix.length + before.length + after.length + (zcomma ? 0 : negative.length), padding = length < width ? new Array(length = width - length + 1).join(fill) : ""; + if (zcomma) before = formatGroup(padding + before, padding.length ? width - after.length : Infinity); + negative += prefix; + value = before + after; + return (align === "<" ? negative + value + padding : align === ">" ? padding + negative + value : align === "^" ? padding.substring(0, length >>= 1) + negative + value + padding.substring(length) : negative + (zcomma ? value : padding + value)) + fullSuffix; + }; + }; + } + var d3_format_re = /(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i; + var d3_format_types = d3.map({ + b: function(x) { + return x.toString(2); + }, + c: function(x) { + return String.fromCharCode(x); + }, + o: function(x) { + return x.toString(8); + }, + x: function(x) { + return x.toString(16); + }, + X: function(x) { + return x.toString(16).toUpperCase(); + }, + g: function(x, p) { + return x.toPrecision(p); + }, + e: function(x, p) { + return x.toExponential(p); + }, + f: function(x, p) { + return x.toFixed(p); + }, + r: function(x, p) { + return (x = d3.round(x, d3_format_precision(x, p))).toFixed(Math.max(0, Math.min(20, d3_format_precision(x * (1 + 1e-15), p)))); + } + }); + function d3_format_typeDefault(x) { + return x + ""; + } + var d3_time = d3.time = {}, d3_date = Date; + function d3_date_utc() { + this._ = new Date(arguments.length > 1 ? Date.UTC.apply(this, arguments) : arguments[0]); + } + d3_date_utc.prototype = { + getDate: function() { + return this._.getUTCDate(); + }, + getDay: function() { + return this._.getUTCDay(); + }, + getFullYear: function() { + return this._.getUTCFullYear(); + }, + getHours: function() { + return this._.getUTCHours(); + }, + getMilliseconds: function() { + return this._.getUTCMilliseconds(); + }, + getMinutes: function() { + return this._.getUTCMinutes(); + }, + getMonth: function() { + return this._.getUTCMonth(); + }, + getSeconds: function() { + return this._.getUTCSeconds(); + }, + getTime: function() { + return this._.getTime(); + }, + getTimezoneOffset: function() { + return 0; + }, + valueOf: function() { + return this._.valueOf(); + }, + setDate: function() { + d3_time_prototype.setUTCDate.apply(this._, arguments); + }, + setDay: function() { + d3_time_prototype.setUTCDay.apply(this._, arguments); + }, + setFullYear: function() { + d3_time_prototype.setUTCFullYear.apply(this._, arguments); + }, + setHours: function() { + d3_time_prototype.setUTCHours.apply(this._, arguments); + }, + setMilliseconds: function() { + d3_time_prototype.setUTCMilliseconds.apply(this._, arguments); + }, + setMinutes: function() { + d3_time_prototype.setUTCMinutes.apply(this._, arguments); + }, + setMonth: function() { + d3_time_prototype.setUTCMonth.apply(this._, arguments); + }, + setSeconds: function() { + d3_time_prototype.setUTCSeconds.apply(this._, arguments); + }, + setTime: function() { + d3_time_prototype.setTime.apply(this._, arguments); + } + }; + var d3_time_prototype = Date.prototype; + function d3_time_interval(local, step, number) { + function round(date) { + var d0 = local(date), d1 = offset(d0, 1); + return date - d0 < d1 - date ? d0 : d1; + } + function ceil(date) { + step(date = local(new d3_date(date - 1)), 1); + return date; + } + function offset(date, k) { + step(date = new d3_date(+date), k); + return date; + } + function range(t0, t1, dt) { + var time = ceil(t0), times = []; + if (dt > 1) { + while (time < t1) { + if (!(number(time) % dt)) times.push(new Date(+time)); + step(time, 1); + } + } else { + while (time < t1) times.push(new Date(+time)), step(time, 1); + } + return times; + } + function range_utc(t0, t1, dt) { + try { + d3_date = d3_date_utc; + var utc = new d3_date_utc(); + utc._ = t0; + return range(utc, t1, dt); + } finally { + d3_date = Date; + } + } + local.floor = local; + local.round = round; + local.ceil = ceil; + local.offset = offset; + local.range = range; + var utc = local.utc = d3_time_interval_utc(local); + utc.floor = utc; + utc.round = d3_time_interval_utc(round); + utc.ceil = d3_time_interval_utc(ceil); + utc.offset = d3_time_interval_utc(offset); + utc.range = range_utc; + return local; + } + function d3_time_interval_utc(method) { + return function(date, k) { + try { + d3_date = d3_date_utc; + var utc = new d3_date_utc(); + utc._ = date; + return method(utc, k)._; + } finally { + d3_date = Date; + } + }; + } + d3_time.year = d3_time_interval(function(date) { + date = d3_time.day(date); + date.setMonth(0, 1); + return date; + }, function(date, offset) { + date.setFullYear(date.getFullYear() + offset); + }, function(date) { + return date.getFullYear(); + }); + d3_time.years = d3_time.year.range; + d3_time.years.utc = d3_time.year.utc.range; + d3_time.day = d3_time_interval(function(date) { + var day = new d3_date(2e3, 0); + day.setFullYear(date.getFullYear(), date.getMonth(), date.getDate()); + return day; + }, function(date, offset) { + date.setDate(date.getDate() + offset); + }, function(date) { + return date.getDate() - 1; + }); + d3_time.days = d3_time.day.range; + d3_time.days.utc = d3_time.day.utc.range; + d3_time.dayOfYear = function(date) { + var year = d3_time.year(date); + return Math.floor((date - year - (date.getTimezoneOffset() - year.getTimezoneOffset()) * 6e4) / 864e5); + }; + [ "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday" ].forEach(function(day, i) { + i = 7 - i; + var interval = d3_time[day] = d3_time_interval(function(date) { + (date = d3_time.day(date)).setDate(date.getDate() - (date.getDay() + i) % 7); + return date; + }, function(date, offset) { + date.setDate(date.getDate() + Math.floor(offset) * 7); + }, function(date) { + var day = d3_time.year(date).getDay(); + return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7) - (day !== i); + }); + d3_time[day + "s"] = interval.range; + d3_time[day + "s"].utc = interval.utc.range; + d3_time[day + "OfYear"] = function(date) { + var day = d3_time.year(date).getDay(); + return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7); + }; + }); + d3_time.week = d3_time.sunday; + d3_time.weeks = d3_time.sunday.range; + d3_time.weeks.utc = d3_time.sunday.utc.range; + d3_time.weekOfYear = d3_time.sundayOfYear; + function d3_locale_timeFormat(locale) { + var locale_dateTime = locale.dateTime, locale_date = locale.date, locale_time = locale.time, locale_periods = locale.periods, locale_days = locale.days, locale_shortDays = locale.shortDays, locale_months = locale.months, locale_shortMonths = locale.shortMonths; + function d3_time_format(template) { + var n = template.length; + function format(date) { + var string = [], i = -1, j = 0, c, p, f; + while (++i < n) { + if (template.charCodeAt(i) === 37) { + string.push(template.slice(j, i)); + if ((p = d3_time_formatPads[c = template.charAt(++i)]) != null) c = template.charAt(++i); + if (f = d3_time_formats[c]) c = f(date, p == null ? c === "e" ? " " : "0" : p); + string.push(c); + j = i + 1; + } + } + string.push(template.slice(j, i)); + return string.join(""); + } + format.parse = function(string) { + var d = { + y: 1900, + m: 0, + d: 1, + H: 0, + M: 0, + S: 0, + L: 0, + Z: null + }, i = d3_time_parse(d, template, string, 0); + if (i != string.length) return null; + if ("p" in d) d.H = d.H % 12 + d.p * 12; + var localZ = d.Z != null && d3_date !== d3_date_utc, date = new (localZ ? d3_date_utc : d3_date)(); + if ("j" in d) date.setFullYear(d.y, 0, d.j); else if ("w" in d && ("W" in d || "U" in d)) { + date.setFullYear(d.y, 0, 1); + date.setFullYear(d.y, 0, "W" in d ? (d.w + 6) % 7 + d.W * 7 - (date.getDay() + 5) % 7 : d.w + d.U * 7 - (date.getDay() + 6) % 7); + } else date.setFullYear(d.y, d.m, d.d); + date.setHours(d.H + (d.Z / 100 | 0), d.M + d.Z % 100, d.S, d.L); + return localZ ? date._ : date; + }; + format.toString = function() { + return template; + }; + return format; + } + function d3_time_parse(date, template, string, j) { + var c, p, t, i = 0, n = template.length, m = string.length; + while (i < n) { + if (j >= m) return -1; + c = template.charCodeAt(i++); + if (c === 37) { + t = template.charAt(i++); + p = d3_time_parsers[t in d3_time_formatPads ? template.charAt(i++) : t]; + if (!p || (j = p(date, string, j)) < 0) return -1; + } else if (c != string.charCodeAt(j++)) { + return -1; + } + } + return j; + } + d3_time_format.utc = function(template) { + var local = d3_time_format(template); + function format(date) { + try { + d3_date = d3_date_utc; + var utc = new d3_date(); + utc._ = date; + return local(utc); + } finally { + d3_date = Date; + } + } + format.parse = function(string) { + try { + d3_date = d3_date_utc; + var date = local.parse(string); + return date && date._; + } finally { + d3_date = Date; + } + }; + format.toString = local.toString; + return format; + }; + d3_time_format.multi = d3_time_format.utc.multi = d3_time_formatMulti; + var d3_time_periodLookup = d3.map(), d3_time_dayRe = d3_time_formatRe(locale_days), d3_time_dayLookup = d3_time_formatLookup(locale_days), d3_time_dayAbbrevRe = d3_time_formatRe(locale_shortDays), d3_time_dayAbbrevLookup = d3_time_formatLookup(locale_shortDays), d3_time_monthRe = d3_time_formatRe(locale_months), d3_time_monthLookup = d3_time_formatLookup(locale_months), d3_time_monthAbbrevRe = d3_time_formatRe(locale_shortMonths), d3_time_monthAbbrevLookup = d3_time_formatLookup(locale_shortMonths); + locale_periods.forEach(function(p, i) { + d3_time_periodLookup.set(p.toLowerCase(), i); + }); + var d3_time_formats = { + a: function(d) { + return locale_shortDays[d.getDay()]; + }, + A: function(d) { + return locale_days[d.getDay()]; + }, + b: function(d) { + return locale_shortMonths[d.getMonth()]; + }, + B: function(d) { + return locale_months[d.getMonth()]; + }, + c: d3_time_format(locale_dateTime), + d: function(d, p) { + return d3_time_formatPad(d.getDate(), p, 2); + }, + e: function(d, p) { + return d3_time_formatPad(d.getDate(), p, 2); + }, + H: function(d, p) { + return d3_time_formatPad(d.getHours(), p, 2); + }, + I: function(d, p) { + return d3_time_formatPad(d.getHours() % 12 || 12, p, 2); + }, + j: function(d, p) { + return d3_time_formatPad(1 + d3_time.dayOfYear(d), p, 3); + }, + L: function(d, p) { + return d3_time_formatPad(d.getMilliseconds(), p, 3); + }, + m: function(d, p) { + return d3_time_formatPad(d.getMonth() + 1, p, 2); + }, + M: function(d, p) { + return d3_time_formatPad(d.getMinutes(), p, 2); + }, + p: function(d) { + return locale_periods[+(d.getHours() >= 12)]; + }, + S: function(d, p) { + return d3_time_formatPad(d.getSeconds(), p, 2); + }, + U: function(d, p) { + return d3_time_formatPad(d3_time.sundayOfYear(d), p, 2); + }, + w: function(d) { + return d.getDay(); + }, + W: function(d, p) { + return d3_time_formatPad(d3_time.mondayOfYear(d), p, 2); + }, + x: d3_time_format(locale_date), + X: d3_time_format(locale_time), + y: function(d, p) { + return d3_time_formatPad(d.getFullYear() % 100, p, 2); + }, + Y: function(d, p) { + return d3_time_formatPad(d.getFullYear() % 1e4, p, 4); + }, + Z: d3_time_zone, + "%": function() { + return "%"; + } + }; + var d3_time_parsers = { + a: d3_time_parseWeekdayAbbrev, + A: d3_time_parseWeekday, + b: d3_time_parseMonthAbbrev, + B: d3_time_parseMonth, + c: d3_time_parseLocaleFull, + d: d3_time_parseDay, + e: d3_time_parseDay, + H: d3_time_parseHour24, + I: d3_time_parseHour24, + j: d3_time_parseDayOfYear, + L: d3_time_parseMilliseconds, + m: d3_time_parseMonthNumber, + M: d3_time_parseMinutes, + p: d3_time_parseAmPm, + S: d3_time_parseSeconds, + U: d3_time_parseWeekNumberSunday, + w: d3_time_parseWeekdayNumber, + W: d3_time_parseWeekNumberMonday, + x: d3_time_parseLocaleDate, + X: d3_time_parseLocaleTime, + y: d3_time_parseYear, + Y: d3_time_parseFullYear, + Z: d3_time_parseZone, + "%": d3_time_parseLiteralPercent + }; + function d3_time_parseWeekdayAbbrev(date, string, i) { + d3_time_dayAbbrevRe.lastIndex = 0; + var n = d3_time_dayAbbrevRe.exec(string.slice(i)); + return n ? (date.w = d3_time_dayAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; + } + function d3_time_parseWeekday(date, string, i) { + d3_time_dayRe.lastIndex = 0; + var n = d3_time_dayRe.exec(string.slice(i)); + return n ? (date.w = d3_time_dayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; + } + function d3_time_parseMonthAbbrev(date, string, i) { + d3_time_monthAbbrevRe.lastIndex = 0; + var n = d3_time_monthAbbrevRe.exec(string.slice(i)); + return n ? (date.m = d3_time_monthAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; + } + function d3_time_parseMonth(date, string, i) { + d3_time_monthRe.lastIndex = 0; + var n = d3_time_monthRe.exec(string.slice(i)); + return n ? (date.m = d3_time_monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; + } + function d3_time_parseLocaleFull(date, string, i) { + return d3_time_parse(date, d3_time_formats.c.toString(), string, i); + } + function d3_time_parseLocaleDate(date, string, i) { + return d3_time_parse(date, d3_time_formats.x.toString(), string, i); + } + function d3_time_parseLocaleTime(date, string, i) { + return d3_time_parse(date, d3_time_formats.X.toString(), string, i); + } + function d3_time_parseAmPm(date, string, i) { + var n = d3_time_periodLookup.get(string.slice(i, i += 2).toLowerCase()); + return n == null ? -1 : (date.p = n, i); + } + return d3_time_format; + } + var d3_time_formatPads = { + "-": "", + _: " ", + "0": "0" + }, d3_time_numberRe = /^\s*\d+/, d3_time_percentRe = /^%/; + function d3_time_formatPad(value, fill, width) { + var sign = value < 0 ? "-" : "", string = (sign ? -value : value) + "", length = string.length; + return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string); + } + function d3_time_formatRe(names) { + return new RegExp("^(?:" + names.map(d3.requote).join("|") + ")", "i"); + } + function d3_time_formatLookup(names) { + var map = new d3_Map(), i = -1, n = names.length; + while (++i < n) map.set(names[i].toLowerCase(), i); + return map; + } + function d3_time_parseWeekdayNumber(date, string, i) { + d3_time_numberRe.lastIndex = 0; + var n = d3_time_numberRe.exec(string.slice(i, i + 1)); + return n ? (date.w = +n[0], i + n[0].length) : -1; + } + function d3_time_parseWeekNumberSunday(date, string, i) { + d3_time_numberRe.lastIndex = 0; + var n = d3_time_numberRe.exec(string.slice(i)); + return n ? (date.U = +n[0], i + n[0].length) : -1; + } + function d3_time_parseWeekNumberMonday(date, string, i) { + d3_time_numberRe.lastIndex = 0; + var n = d3_time_numberRe.exec(string.slice(i)); + return n ? (date.W = +n[0], i + n[0].length) : -1; + } + function d3_time_parseFullYear(date, string, i) { + d3_time_numberRe.lastIndex = 0; + var n = d3_time_numberRe.exec(string.slice(i, i + 4)); + return n ? (date.y = +n[0], i + n[0].length) : -1; + } + function d3_time_parseYear(date, string, i) { + d3_time_numberRe.lastIndex = 0; + var n = d3_time_numberRe.exec(string.slice(i, i + 2)); + return n ? (date.y = d3_time_expandYear(+n[0]), i + n[0].length) : -1; + } + function d3_time_parseZone(date, string, i) { + return /^[+-]\d{4}$/.test(string = string.slice(i, i + 5)) ? (date.Z = -string, + i + 5) : -1; + } + function d3_time_expandYear(d) { + return d + (d > 68 ? 1900 : 2e3); + } + function d3_time_parseMonthNumber(date, string, i) { + d3_time_numberRe.lastIndex = 0; + var n = d3_time_numberRe.exec(string.slice(i, i + 2)); + return n ? (date.m = n[0] - 1, i + n[0].length) : -1; + } + function d3_time_parseDay(date, string, i) { + d3_time_numberRe.lastIndex = 0; + var n = d3_time_numberRe.exec(string.slice(i, i + 2)); + return n ? (date.d = +n[0], i + n[0].length) : -1; + } + function d3_time_parseDayOfYear(date, string, i) { + d3_time_numberRe.lastIndex = 0; + var n = d3_time_numberRe.exec(string.slice(i, i + 3)); + return n ? (date.j = +n[0], i + n[0].length) : -1; + } + function d3_time_parseHour24(date, string, i) { + d3_time_numberRe.lastIndex = 0; + var n = d3_time_numberRe.exec(string.slice(i, i + 2)); + return n ? (date.H = +n[0], i + n[0].length) : -1; + } + function d3_time_parseMinutes(date, string, i) { + d3_time_numberRe.lastIndex = 0; + var n = d3_time_numberRe.exec(string.slice(i, i + 2)); + return n ? (date.M = +n[0], i + n[0].length) : -1; + } + function d3_time_parseSeconds(date, string, i) { + d3_time_numberRe.lastIndex = 0; + var n = d3_time_numberRe.exec(string.slice(i, i + 2)); + return n ? (date.S = +n[0], i + n[0].length) : -1; + } + function d3_time_parseMilliseconds(date, string, i) { + d3_time_numberRe.lastIndex = 0; + var n = d3_time_numberRe.exec(string.slice(i, i + 3)); + return n ? (date.L = +n[0], i + n[0].length) : -1; + } + function d3_time_zone(d) { + var z = d.getTimezoneOffset(), zs = z > 0 ? "-" : "+", zh = abs(z) / 60 | 0, zm = abs(z) % 60; + return zs + d3_time_formatPad(zh, "0", 2) + d3_time_formatPad(zm, "0", 2); + } + function d3_time_parseLiteralPercent(date, string, i) { + d3_time_percentRe.lastIndex = 0; + var n = d3_time_percentRe.exec(string.slice(i, i + 1)); + return n ? i + n[0].length : -1; + } + function d3_time_formatMulti(formats) { + var n = formats.length, i = -1; + while (++i < n) formats[i][0] = this(formats[i][0]); + return function(date) { + var i = 0, f = formats[i]; + while (!f[1](date)) f = formats[++i]; + return f[0](date); + }; + } + d3.locale = function(locale) { + return { + numberFormat: d3_locale_numberFormat(locale), + timeFormat: d3_locale_timeFormat(locale) + }; + }; + var d3_locale_enUS = d3.locale({ + decimal: ".", + thousands: ",", + grouping: [ 3 ], + currency: [ "$", "" ], + dateTime: "%a %b %e %X %Y", + date: "%m/%d/%Y", + time: "%H:%M:%S", + 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" ] + }); + d3.format = d3_locale_enUS.numberFormat; + d3.geo = {}; + function d3_adder() {} + d3_adder.prototype = { + s: 0, + t: 0, + add: function(y) { + d3_adderSum(y, this.t, d3_adderTemp); + d3_adderSum(d3_adderTemp.s, this.s, this); + if (this.s) this.t += d3_adderTemp.t; else this.s = d3_adderTemp.t; + }, + reset: function() { + this.s = this.t = 0; + }, + valueOf: function() { + return this.s; + } + }; + var d3_adderTemp = new d3_adder(); + function d3_adderSum(a, b, o) { + var x = o.s = a + b, bv = x - a, av = x - bv; + o.t = a - av + (b - bv); + } + d3.geo.stream = function(object, listener) { + if (object && d3_geo_streamObjectType.hasOwnProperty(object.type)) { + d3_geo_streamObjectType[object.type](object, listener); + } else { + d3_geo_streamGeometry(object, listener); + } + }; + function d3_geo_streamGeometry(geometry, listener) { + if (geometry && d3_geo_streamGeometryType.hasOwnProperty(geometry.type)) { + d3_geo_streamGeometryType[geometry.type](geometry, listener); + } + } + var d3_geo_streamObjectType = { + Feature: function(feature, listener) { + d3_geo_streamGeometry(feature.geometry, listener); + }, + FeatureCollection: function(object, listener) { + var features = object.features, i = -1, n = features.length; + while (++i < n) d3_geo_streamGeometry(features[i].geometry, listener); + } + }; + var d3_geo_streamGeometryType = { + Sphere: function(object, listener) { + listener.sphere(); + }, + Point: function(object, listener) { + object = object.coordinates; + listener.point(object[0], object[1], object[2]); + }, + MultiPoint: function(object, listener) { + var coordinates = object.coordinates, i = -1, n = coordinates.length; + while (++i < n) object = coordinates[i], listener.point(object[0], object[1], object[2]); + }, + LineString: function(object, listener) { + d3_geo_streamLine(object.coordinates, listener, 0); + }, + MultiLineString: function(object, listener) { + var coordinates = object.coordinates, i = -1, n = coordinates.length; + while (++i < n) d3_geo_streamLine(coordinates[i], listener, 0); + }, + Polygon: function(object, listener) { + d3_geo_streamPolygon(object.coordinates, listener); + }, + MultiPolygon: function(object, listener) { + var coordinates = object.coordinates, i = -1, n = coordinates.length; + while (++i < n) d3_geo_streamPolygon(coordinates[i], listener); + }, + GeometryCollection: function(object, listener) { + var geometries = object.geometries, i = -1, n = geometries.length; + while (++i < n) d3_geo_streamGeometry(geometries[i], listener); + } + }; + function d3_geo_streamLine(coordinates, listener, closed) { + var i = -1, n = coordinates.length - closed, coordinate; + listener.lineStart(); + while (++i < n) coordinate = coordinates[i], listener.point(coordinate[0], coordinate[1], coordinate[2]); + listener.lineEnd(); + } + function d3_geo_streamPolygon(coordinates, listener) { + var i = -1, n = coordinates.length; + listener.polygonStart(); + while (++i < n) d3_geo_streamLine(coordinates[i], listener, 1); + listener.polygonEnd(); + } + d3.geo.area = function(object) { + d3_geo_areaSum = 0; + d3.geo.stream(object, d3_geo_area); + return d3_geo_areaSum; + }; + var d3_geo_areaSum, d3_geo_areaRingSum = new d3_adder(); + var d3_geo_area = { + sphere: function() { + d3_geo_areaSum += 4 * π; + }, + point: d3_noop, + lineStart: d3_noop, + lineEnd: d3_noop, + polygonStart: function() { + d3_geo_areaRingSum.reset(); + d3_geo_area.lineStart = d3_geo_areaRingStart; + }, + polygonEnd: function() { + var area = 2 * d3_geo_areaRingSum; + d3_geo_areaSum += area < 0 ? 4 * π + area : area; + d3_geo_area.lineStart = d3_geo_area.lineEnd = d3_geo_area.point = d3_noop; + } + }; + function d3_geo_areaRingStart() { + var λ00, φ00, λ0, cosφ0, sinφ0; + d3_geo_area.point = function(λ, φ) { + d3_geo_area.point = nextPoint; + λ0 = (λ00 = λ) * d3_radians, cosφ0 = Math.cos(φ = (φ00 = φ) * d3_radians / 2 + π / 4), + sinφ0 = Math.sin(φ); + }; + function nextPoint(λ, φ) { + λ *= d3_radians; + φ = φ * d3_radians / 2 + π / 4; + var dλ = λ - λ0, sdλ = dλ >= 0 ? 1 : -1, adλ = sdλ * dλ, cosφ = Math.cos(φ), sinφ = Math.sin(φ), k = sinφ0 * sinφ, u = cosφ0 * cosφ + k * Math.cos(adλ), v = k * sdλ * Math.sin(adλ); + d3_geo_areaRingSum.add(Math.atan2(v, u)); + λ0 = λ, cosφ0 = cosφ, sinφ0 = sinφ; + } + d3_geo_area.lineEnd = function() { + nextPoint(λ00, φ00); + }; + } + function d3_geo_cartesian(spherical) { + var λ = spherical[0], φ = spherical[1], cosφ = Math.cos(φ); + return [ cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ) ]; + } + function d3_geo_cartesianDot(a, b) { + return a[0] * b[0] + a[1] * b[1] + a[2] * b[2]; + } + function d3_geo_cartesianCross(a, b) { + return [ a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0] ]; + } + function d3_geo_cartesianAdd(a, b) { + a[0] += b[0]; + a[1] += b[1]; + a[2] += b[2]; + } + function d3_geo_cartesianScale(vector, k) { + return [ vector[0] * k, vector[1] * k, vector[2] * k ]; + } + function d3_geo_cartesianNormalize(d) { + var l = Math.sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]); + d[0] /= l; + d[1] /= l; + d[2] /= l; + } + function d3_geo_spherical(cartesian) { + return [ Math.atan2(cartesian[1], cartesian[0]), d3_asin(cartesian[2]) ]; + } + function d3_geo_sphericalEqual(a, b) { + return abs(a[0] - b[0]) < ε && abs(a[1] - b[1]) < ε; + } + d3.geo.bounds = function() { + var λ0, φ0, λ1, φ1, λ_, λ__, φ__, p0, dλSum, ranges, range; + var bound = { + point: point, + lineStart: lineStart, + lineEnd: lineEnd, + polygonStart: function() { + bound.point = ringPoint; + bound.lineStart = ringStart; + bound.lineEnd = ringEnd; + dλSum = 0; + d3_geo_area.polygonStart(); + }, + polygonEnd: function() { + d3_geo_area.polygonEnd(); + bound.point = point; + bound.lineStart = lineStart; + bound.lineEnd = lineEnd; + if (d3_geo_areaRingSum < 0) λ0 = -(λ1 = 180), φ0 = -(φ1 = 90); else if (dλSum > ε) φ1 = 90; else if (dλSum < -ε) φ0 = -90; + range[0] = λ0, range[1] = λ1; + } + }; + function point(λ, φ) { + ranges.push(range = [ λ0 = λ, λ1 = λ ]); + if (φ < φ0) φ0 = φ; + if (φ > φ1) φ1 = φ; + } + function linePoint(λ, φ) { + var p = d3_geo_cartesian([ λ * d3_radians, φ * d3_radians ]); + if (p0) { + var normal = d3_geo_cartesianCross(p0, p), equatorial = [ normal[1], -normal[0], 0 ], inflection = d3_geo_cartesianCross(equatorial, normal); + d3_geo_cartesianNormalize(inflection); + inflection = d3_geo_spherical(inflection); + var dλ = λ - λ_, s = dλ > 0 ? 1 : -1, λi = inflection[0] * d3_degrees * s, antimeridian = abs(dλ) > 180; + if (antimeridian ^ (s * λ_ < λi && λi < s * λ)) { + var φi = inflection[1] * d3_degrees; + if (φi > φ1) φ1 = φi; + } else if (λi = (λi + 360) % 360 - 180, antimeridian ^ (s * λ_ < λi && λi < s * λ)) { + var φi = -inflection[1] * d3_degrees; + if (φi < φ0) φ0 = φi; + } else { + if (φ < φ0) φ0 = φ; + if (φ > φ1) φ1 = φ; + } + if (antimeridian) { + if (λ < λ_) { + if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ; + } else { + if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ; + } + } else { + if (λ1 >= λ0) { + if (λ < λ0) λ0 = λ; + if (λ > λ1) λ1 = λ; + } else { + if (λ > λ_) { + if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ; + } else { + if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ; + } + } + } + } else { + point(λ, φ); + } + p0 = p, λ_ = λ; + } + function lineStart() { + bound.point = linePoint; + } + function lineEnd() { + range[0] = λ0, range[1] = λ1; + bound.point = point; + p0 = null; + } + function ringPoint(λ, φ) { + if (p0) { + var dλ = λ - λ_; + dλSum += abs(dλ) > 180 ? dλ + (dλ > 0 ? 360 : -360) : dλ; + } else λ__ = λ, φ__ = φ; + d3_geo_area.point(λ, φ); + linePoint(λ, φ); + } + function ringStart() { + d3_geo_area.lineStart(); + } + function ringEnd() { + ringPoint(λ__, φ__); + d3_geo_area.lineEnd(); + if (abs(dλSum) > ε) λ0 = -(λ1 = 180); + range[0] = λ0, range[1] = λ1; + p0 = null; + } + function angle(λ0, λ1) { + return (λ1 -= λ0) < 0 ? λ1 + 360 : λ1; + } + function compareRanges(a, b) { + return a[0] - b[0]; + } + function withinRange(x, range) { + return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x; + } + return function(feature) { + φ1 = λ1 = -(λ0 = φ0 = Infinity); + ranges = []; + d3.geo.stream(feature, bound); + var n = ranges.length; + if (n) { + ranges.sort(compareRanges); + for (var i = 1, a = ranges[0], b, merged = [ a ]; i < n; ++i) { + b = ranges[i]; + if (withinRange(b[0], a) || withinRange(b[1], a)) { + if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1]; + if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0]; + } else { + merged.push(a = b); + } + } + var best = -Infinity, dλ; + for (var n = merged.length - 1, i = 0, a = merged[n], b; i <= n; a = b, ++i) { + b = merged[i]; + if ((dλ = angle(a[1], b[0])) > best) best = dλ, λ0 = b[0], λ1 = a[1]; + } + } + ranges = range = null; + return λ0 === Infinity || φ0 === Infinity ? [ [ NaN, NaN ], [ NaN, NaN ] ] : [ [ λ0, φ0 ], [ λ1, φ1 ] ]; + }; + }(); + d3.geo.centroid = function(object) { + d3_geo_centroidW0 = d3_geo_centroidW1 = d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0; + d3.geo.stream(object, d3_geo_centroid); + var x = d3_geo_centroidX2, y = d3_geo_centroidY2, z = d3_geo_centroidZ2, m = x * x + y * y + z * z; + if (m < ε2) { + x = d3_geo_centroidX1, y = d3_geo_centroidY1, z = d3_geo_centroidZ1; + if (d3_geo_centroidW1 < ε) x = d3_geo_centroidX0, y = d3_geo_centroidY0, z = d3_geo_centroidZ0; + m = x * x + y * y + z * z; + if (m < ε2) return [ NaN, NaN ]; + } + return [ Math.atan2(y, x) * d3_degrees, d3_asin(z / Math.sqrt(m)) * d3_degrees ]; + }; + var d3_geo_centroidW0, d3_geo_centroidW1, d3_geo_centroidX0, d3_geo_centroidY0, d3_geo_centroidZ0, d3_geo_centroidX1, d3_geo_centroidY1, d3_geo_centroidZ1, d3_geo_centroidX2, d3_geo_centroidY2, d3_geo_centroidZ2; + var d3_geo_centroid = { + sphere: d3_noop, + point: d3_geo_centroidPoint, + lineStart: d3_geo_centroidLineStart, + lineEnd: d3_geo_centroidLineEnd, + polygonStart: function() { + d3_geo_centroid.lineStart = d3_geo_centroidRingStart; + }, + polygonEnd: function() { + d3_geo_centroid.lineStart = d3_geo_centroidLineStart; + } + }; + function d3_geo_centroidPoint(λ, φ) { + λ *= d3_radians; + var cosφ = Math.cos(φ *= d3_radians); + d3_geo_centroidPointXYZ(cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ)); + } + function d3_geo_centroidPointXYZ(x, y, z) { + ++d3_geo_centroidW0; + d3_geo_centroidX0 += (x - d3_geo_centroidX0) / d3_geo_centroidW0; + d3_geo_centroidY0 += (y - d3_geo_centroidY0) / d3_geo_centroidW0; + d3_geo_centroidZ0 += (z - d3_geo_centroidZ0) / d3_geo_centroidW0; + } + function d3_geo_centroidLineStart() { + var x0, y0, z0; + d3_geo_centroid.point = function(λ, φ) { + λ *= d3_radians; + var cosφ = Math.cos(φ *= d3_radians); + x0 = cosφ * Math.cos(λ); + y0 = cosφ * Math.sin(λ); + z0 = Math.sin(φ); + d3_geo_centroid.point = nextPoint; + d3_geo_centroidPointXYZ(x0, y0, z0); + }; + function nextPoint(λ, φ) { + λ *= d3_radians; + var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), w = Math.atan2(Math.sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z); + d3_geo_centroidW1 += w; + d3_geo_centroidX1 += w * (x0 + (x0 = x)); + d3_geo_centroidY1 += w * (y0 + (y0 = y)); + d3_geo_centroidZ1 += w * (z0 + (z0 = z)); + d3_geo_centroidPointXYZ(x0, y0, z0); + } + } + function d3_geo_centroidLineEnd() { + d3_geo_centroid.point = d3_geo_centroidPoint; + } + function d3_geo_centroidRingStart() { + var λ00, φ00, x0, y0, z0; + d3_geo_centroid.point = function(λ, φ) { + λ00 = λ, φ00 = φ; + d3_geo_centroid.point = nextPoint; + λ *= d3_radians; + var cosφ = Math.cos(φ *= d3_radians); + x0 = cosφ * Math.cos(λ); + y0 = cosφ * Math.sin(λ); + z0 = Math.sin(φ); + d3_geo_centroidPointXYZ(x0, y0, z0); + }; + d3_geo_centroid.lineEnd = function() { + nextPoint(λ00, φ00); + d3_geo_centroid.lineEnd = d3_geo_centroidLineEnd; + d3_geo_centroid.point = d3_geo_centroidPoint; + }; + function nextPoint(λ, φ) { + λ *= d3_radians; + var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), cx = y0 * z - z0 * y, cy = z0 * x - x0 * z, cz = x0 * y - y0 * x, m = Math.sqrt(cx * cx + cy * cy + cz * cz), u = x0 * x + y0 * y + z0 * z, v = m && -d3_acos(u) / m, w = Math.atan2(m, u); + d3_geo_centroidX2 += v * cx; + d3_geo_centroidY2 += v * cy; + d3_geo_centroidZ2 += v * cz; + d3_geo_centroidW1 += w; + d3_geo_centroidX1 += w * (x0 + (x0 = x)); + d3_geo_centroidY1 += w * (y0 + (y0 = y)); + d3_geo_centroidZ1 += w * (z0 + (z0 = z)); + d3_geo_centroidPointXYZ(x0, y0, z0); + } + } + function d3_geo_compose(a, b) { + function compose(x, y) { + return x = a(x, y), b(x[0], x[1]); + } + if (a.invert && b.invert) compose.invert = function(x, y) { + return x = b.invert(x, y), x && a.invert(x[0], x[1]); + }; + return compose; + } + function d3_true() { + return true; + } + function d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener) { + var subject = [], clip = []; + segments.forEach(function(segment) { + if ((n = segment.length - 1) <= 0) return; + var n, p0 = segment[0], p1 = segment[n]; + if (d3_geo_sphericalEqual(p0, p1)) { + listener.lineStart(); + for (var i = 0; i < n; ++i) listener.point((p0 = segment[i])[0], p0[1]); + listener.lineEnd(); + return; + } + var a = new d3_geo_clipPolygonIntersection(p0, segment, null, true), b = new d3_geo_clipPolygonIntersection(p0, null, a, false); + a.o = b; + subject.push(a); + clip.push(b); + a = new d3_geo_clipPolygonIntersection(p1, segment, null, false); + b = new d3_geo_clipPolygonIntersection(p1, null, a, true); + a.o = b; + subject.push(a); + clip.push(b); + }); + clip.sort(compare); + d3_geo_clipPolygonLinkCircular(subject); + d3_geo_clipPolygonLinkCircular(clip); + if (!subject.length) return; + for (var i = 0, entry = clipStartInside, n = clip.length; i < n; ++i) { + clip[i].e = entry = !entry; + } + var start = subject[0], points, point; + while (1) { + var current = start, isSubject = true; + while (current.v) if ((current = current.n) === start) return; + points = current.z; + listener.lineStart(); + do { + current.v = current.o.v = true; + if (current.e) { + if (isSubject) { + for (var i = 0, n = points.length; i < n; ++i) listener.point((point = points[i])[0], point[1]); + } else { + interpolate(current.x, current.n.x, 1, listener); + } + current = current.n; + } else { + if (isSubject) { + points = current.p.z; + for (var i = points.length - 1; i >= 0; --i) listener.point((point = points[i])[0], point[1]); + } else { + interpolate(current.x, current.p.x, -1, listener); + } + current = current.p; + } + current = current.o; + points = current.z; + isSubject = !isSubject; + } while (!current.v); + listener.lineEnd(); + } + } + function d3_geo_clipPolygonLinkCircular(array) { + if (!(n = array.length)) return; + var n, i = 0, a = array[0], b; + while (++i < n) { + a.n = b = array[i]; + b.p = a; + a = b; + } + a.n = b = array[0]; + b.p = a; + } + function d3_geo_clipPolygonIntersection(point, points, other, entry) { + this.x = point; + this.z = points; + this.o = other; + this.e = entry; + this.v = false; + this.n = this.p = null; + } + function d3_geo_clip(pointVisible, clipLine, interpolate, clipStart) { + return function(rotate, listener) { + var line = clipLine(listener), rotatedClipStart = rotate.invert(clipStart[0], clipStart[1]); + var clip = { + point: point, + lineStart: lineStart, + lineEnd: lineEnd, + polygonStart: function() { + clip.point = pointRing; + clip.lineStart = ringStart; + clip.lineEnd = ringEnd; + segments = []; + polygon = []; + }, + polygonEnd: function() { + clip.point = point; + clip.lineStart = lineStart; + clip.lineEnd = lineEnd; + segments = d3.merge(segments); + var clipStartInside = d3_geo_pointInPolygon(rotatedClipStart, polygon); + if (segments.length) { + if (!polygonStarted) listener.polygonStart(), polygonStarted = true; + d3_geo_clipPolygon(segments, d3_geo_clipSort, clipStartInside, interpolate, listener); + } else if (clipStartInside) { + if (!polygonStarted) listener.polygonStart(), polygonStarted = true; + listener.lineStart(); + interpolate(null, null, 1, listener); + listener.lineEnd(); + } + if (polygonStarted) listener.polygonEnd(), polygonStarted = false; + segments = polygon = null; + }, + sphere: function() { + listener.polygonStart(); + listener.lineStart(); + interpolate(null, null, 1, listener); + listener.lineEnd(); + listener.polygonEnd(); + } + }; + function point(λ, φ) { + var point = rotate(λ, φ); + if (pointVisible(λ = point[0], φ = point[1])) listener.point(λ, φ); + } + function pointLine(λ, φ) { + var point = rotate(λ, φ); + line.point(point[0], point[1]); + } + function lineStart() { + clip.point = pointLine; + line.lineStart(); + } + function lineEnd() { + clip.point = point; + line.lineEnd(); + } + var segments; + var buffer = d3_geo_clipBufferListener(), ringListener = clipLine(buffer), polygonStarted = false, polygon, ring; + function pointRing(λ, φ) { + ring.push([ λ, φ ]); + var point = rotate(λ, φ); + ringListener.point(point[0], point[1]); + } + function ringStart() { + ringListener.lineStart(); + ring = []; + } + function ringEnd() { + pointRing(ring[0][0], ring[0][1]); + ringListener.lineEnd(); + var clean = ringListener.clean(), ringSegments = buffer.buffer(), segment, n = ringSegments.length; + ring.pop(); + polygon.push(ring); + ring = null; + if (!n) return; + if (clean & 1) { + segment = ringSegments[0]; + var n = segment.length - 1, i = -1, point; + if (n > 0) { + if (!polygonStarted) listener.polygonStart(), polygonStarted = true; + listener.lineStart(); + while (++i < n) listener.point((point = segment[i])[0], point[1]); + listener.lineEnd(); + } + return; + } + if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift())); + segments.push(ringSegments.filter(d3_geo_clipSegmentLength1)); + } + return clip; + }; + } + function d3_geo_clipSegmentLength1(segment) { + return segment.length > 1; + } + function d3_geo_clipBufferListener() { + var lines = [], line; + return { + lineStart: function() { + lines.push(line = []); + }, + point: function(λ, φ) { + line.push([ λ, φ ]); + }, + lineEnd: d3_noop, + buffer: function() { + var buffer = lines; + lines = []; + line = null; + return buffer; + }, + rejoin: function() { + if (lines.length > 1) lines.push(lines.pop().concat(lines.shift())); + } + }; + } + function d3_geo_clipSort(a, b) { + return ((a = a.x)[0] < 0 ? a[1] - halfπ - ε : halfπ - a[1]) - ((b = b.x)[0] < 0 ? b[1] - halfπ - ε : halfπ - b[1]); + } + var d3_geo_clipAntimeridian = d3_geo_clip(d3_true, d3_geo_clipAntimeridianLine, d3_geo_clipAntimeridianInterpolate, [ -π, -π / 2 ]); + function d3_geo_clipAntimeridianLine(listener) { + var λ0 = NaN, φ0 = NaN, sλ0 = NaN, clean; + return { + lineStart: function() { + listener.lineStart(); + clean = 1; + }, + point: function(λ1, φ1) { + var sλ1 = λ1 > 0 ? π : -π, dλ = abs(λ1 - λ0); + if (abs(dλ - π) < ε) { + listener.point(λ0, φ0 = (φ0 + φ1) / 2 > 0 ? halfπ : -halfπ); + listener.point(sλ0, φ0); + listener.lineEnd(); + listener.lineStart(); + listener.point(sλ1, φ0); + listener.point(λ1, φ0); + clean = 0; + } else if (sλ0 !== sλ1 && dλ >= π) { + if (abs(λ0 - sλ0) < ε) λ0 -= sλ0 * ε; + if (abs(λ1 - sλ1) < ε) λ1 -= sλ1 * ε; + φ0 = d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1); + listener.point(sλ0, φ0); + listener.lineEnd(); + listener.lineStart(); + listener.point(sλ1, φ0); + clean = 0; + } + listener.point(λ0 = λ1, φ0 = φ1); + sλ0 = sλ1; + }, + lineEnd: function() { + listener.lineEnd(); + λ0 = φ0 = NaN; + }, + clean: function() { + return 2 - clean; + } + }; + } + function d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1) { + var cosφ0, cosφ1, sinλ0_λ1 = Math.sin(λ0 - λ1); + return abs(sinλ0_λ1) > ε ? Math.atan((Math.sin(φ0) * (cosφ1 = Math.cos(φ1)) * Math.sin(λ1) - Math.sin(φ1) * (cosφ0 = Math.cos(φ0)) * Math.sin(λ0)) / (cosφ0 * cosφ1 * sinλ0_λ1)) : (φ0 + φ1) / 2; + } + function d3_geo_clipAntimeridianInterpolate(from, to, direction, listener) { + var φ; + if (from == null) { + φ = direction * halfπ; + listener.point(-π, φ); + listener.point(0, φ); + listener.point(π, φ); + listener.point(π, 0); + listener.point(π, -φ); + listener.point(0, -φ); + listener.point(-π, -φ); + listener.point(-π, 0); + listener.point(-π, φ); + } else if (abs(from[0] - to[0]) > ε) { + var s = from[0] < to[0] ? π : -π; + φ = direction * s / 2; + listener.point(-s, φ); + listener.point(0, φ); + listener.point(s, φ); + } else { + listener.point(to[0], to[1]); + } + } + function d3_geo_pointInPolygon(point, polygon) { + var meridian = point[0], parallel = point[1], meridianNormal = [ Math.sin(meridian), -Math.cos(meridian), 0 ], polarAngle = 0, winding = 0; + d3_geo_areaRingSum.reset(); + for (var i = 0, n = polygon.length; i < n; ++i) { + var ring = polygon[i], m = ring.length; + if (!m) continue; + var point0 = ring[0], λ0 = point0[0], φ0 = point0[1] / 2 + π / 4, sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), j = 1; + while (true) { + if (j === m) j = 0; + point = ring[j]; + var λ = point[0], φ = point[1] / 2 + π / 4, sinφ = Math.sin(φ), cosφ = Math.cos(φ), dλ = λ - λ0, sdλ = dλ >= 0 ? 1 : -1, adλ = sdλ * dλ, antimeridian = adλ > π, k = sinφ0 * sinφ; + d3_geo_areaRingSum.add(Math.atan2(k * sdλ * Math.sin(adλ), cosφ0 * cosφ + k * Math.cos(adλ))); + polarAngle += antimeridian ? dλ + sdλ * τ : dλ; + if (antimeridian ^ λ0 >= meridian ^ λ >= meridian) { + var arc = d3_geo_cartesianCross(d3_geo_cartesian(point0), d3_geo_cartesian(point)); + d3_geo_cartesianNormalize(arc); + var intersection = d3_geo_cartesianCross(meridianNormal, arc); + d3_geo_cartesianNormalize(intersection); + var φarc = (antimeridian ^ dλ >= 0 ? -1 : 1) * d3_asin(intersection[2]); + if (parallel > φarc || parallel === φarc && (arc[0] || arc[1])) { + winding += antimeridian ^ dλ >= 0 ? 1 : -1; + } + } + if (!j++) break; + λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ, point0 = point; + } + } + return (polarAngle < -ε || polarAngle < ε && d3_geo_areaRingSum < 0) ^ winding & 1; + } + function d3_geo_clipCircle(radius) { + var cr = Math.cos(radius), smallRadius = cr > 0, notHemisphere = abs(cr) > ε, interpolate = d3_geo_circleInterpolate(radius, 6 * d3_radians); + return d3_geo_clip(visible, clipLine, interpolate, smallRadius ? [ 0, -radius ] : [ -π, radius - π ]); + function visible(λ, φ) { + return Math.cos(λ) * Math.cos(φ) > cr; + } + function clipLine(listener) { + var point0, c0, v0, v00, clean; + return { + lineStart: function() { + v00 = v0 = false; + clean = 1; + }, + point: function(λ, φ) { + var point1 = [ λ, φ ], point2, v = visible(λ, φ), c = smallRadius ? v ? 0 : code(λ, φ) : v ? code(λ + (λ < 0 ? π : -π), φ) : 0; + if (!point0 && (v00 = v0 = v)) listener.lineStart(); + if (v !== v0) { + point2 = intersect(point0, point1); + if (d3_geo_sphericalEqual(point0, point2) || d3_geo_sphericalEqual(point1, point2)) { + point1[0] += ε; + point1[1] += ε; + v = visible(point1[0], point1[1]); + } + } + if (v !== v0) { + clean = 0; + if (v) { + listener.lineStart(); + point2 = intersect(point1, point0); + listener.point(point2[0], point2[1]); + } else { + point2 = intersect(point0, point1); + listener.point(point2[0], point2[1]); + listener.lineEnd(); + } + point0 = point2; + } else if (notHemisphere && point0 && smallRadius ^ v) { + var t; + if (!(c & c0) && (t = intersect(point1, point0, true))) { + clean = 0; + if (smallRadius) { + listener.lineStart(); + listener.point(t[0][0], t[0][1]); + listener.point(t[1][0], t[1][1]); + listener.lineEnd(); + } else { + listener.point(t[1][0], t[1][1]); + listener.lineEnd(); + listener.lineStart(); + listener.point(t[0][0], t[0][1]); + } + } + } + if (v && (!point0 || !d3_geo_sphericalEqual(point0, point1))) { + listener.point(point1[0], point1[1]); + } + point0 = point1, v0 = v, c0 = c; + }, + lineEnd: function() { + if (v0) listener.lineEnd(); + point0 = null; + }, + clean: function() { + return clean | (v00 && v0) << 1; + } + }; + } + function intersect(a, b, two) { + var pa = d3_geo_cartesian(a), pb = d3_geo_cartesian(b); + var n1 = [ 1, 0, 0 ], n2 = d3_geo_cartesianCross(pa, pb), n2n2 = d3_geo_cartesianDot(n2, n2), n1n2 = n2[0], determinant = n2n2 - n1n2 * n1n2; + if (!determinant) return !two && a; + var c1 = cr * n2n2 / determinant, c2 = -cr * n1n2 / determinant, n1xn2 = d3_geo_cartesianCross(n1, n2), A = d3_geo_cartesianScale(n1, c1), B = d3_geo_cartesianScale(n2, c2); + d3_geo_cartesianAdd(A, B); + var u = n1xn2, w = d3_geo_cartesianDot(A, u), uu = d3_geo_cartesianDot(u, u), t2 = w * w - uu * (d3_geo_cartesianDot(A, A) - 1); + if (t2 < 0) return; + var t = Math.sqrt(t2), q = d3_geo_cartesianScale(u, (-w - t) / uu); + d3_geo_cartesianAdd(q, A); + q = d3_geo_spherical(q); + if (!two) return q; + var λ0 = a[0], λ1 = b[0], φ0 = a[1], φ1 = b[1], z; + if (λ1 < λ0) z = λ0, λ0 = λ1, λ1 = z; + var δλ = λ1 - λ0, polar = abs(δλ - π) < ε, meridian = polar || δλ < ε; + if (!polar && φ1 < φ0) z = φ0, φ0 = φ1, φ1 = z; + if (meridian ? polar ? φ0 + φ1 > 0 ^ q[1] < (abs(q[0] - λ0) < ε ? φ0 : φ1) : φ0 <= q[1] && q[1] <= φ1 : δλ > π ^ (λ0 <= q[0] && q[0] <= λ1)) { + var q1 = d3_geo_cartesianScale(u, (-w + t) / uu); + d3_geo_cartesianAdd(q1, A); + return [ q, d3_geo_spherical(q1) ]; + } + } + function code(λ, φ) { + var r = smallRadius ? radius : π - radius, code = 0; + if (λ < -r) code |= 1; else if (λ > r) code |= 2; + if (φ < -r) code |= 4; else if (φ > r) code |= 8; + return code; + } + } + function d3_geom_clipLine(x0, y0, x1, y1) { + return function(line) { + var a = line.a, b = line.b, ax = a.x, ay = a.y, bx = b.x, by = b.y, t0 = 0, t1 = 1, dx = bx - ax, dy = by - ay, r; + r = x0 - ax; + if (!dx && r > 0) return; + r /= dx; + if (dx < 0) { + if (r < t0) return; + if (r < t1) t1 = r; + } else if (dx > 0) { + if (r > t1) return; + if (r > t0) t0 = r; + } + r = x1 - ax; + if (!dx && r < 0) return; + r /= dx; + if (dx < 0) { + if (r > t1) return; + if (r > t0) t0 = r; + } else if (dx > 0) { + if (r < t0) return; + if (r < t1) t1 = r; + } + r = y0 - ay; + if (!dy && r > 0) return; + r /= dy; + if (dy < 0) { + if (r < t0) return; + if (r < t1) t1 = r; + } else if (dy > 0) { + if (r > t1) return; + if (r > t0) t0 = r; + } + r = y1 - ay; + if (!dy && r < 0) return; + r /= dy; + if (dy < 0) { + if (r > t1) return; + if (r > t0) t0 = r; + } else if (dy > 0) { + if (r < t0) return; + if (r < t1) t1 = r; + } + if (t0 > 0) line.a = { + x: ax + t0 * dx, + y: ay + t0 * dy + }; + if (t1 < 1) line.b = { + x: ax + t1 * dx, + y: ay + t1 * dy + }; + return line; + }; + } + var d3_geo_clipExtentMAX = 1e9; + d3.geo.clipExtent = function() { + var x0, y0, x1, y1, stream, clip, clipExtent = { + stream: function(output) { + if (stream) stream.valid = false; + stream = clip(output); + stream.valid = true; + return stream; + }, + extent: function(_) { + if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ]; + clip = d3_geo_clipExtent(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]); + if (stream) stream.valid = false, stream = null; + return clipExtent; + } + }; + return clipExtent.extent([ [ 0, 0 ], [ 960, 500 ] ]); + }; + function d3_geo_clipExtent(x0, y0, x1, y1) { + return function(listener) { + var listener_ = listener, bufferListener = d3_geo_clipBufferListener(), clipLine = d3_geom_clipLine(x0, y0, x1, y1), segments, polygon, ring; + var clip = { + point: point, + lineStart: lineStart, + lineEnd: lineEnd, + polygonStart: function() { + listener = bufferListener; + segments = []; + polygon = []; + clean = true; + }, + polygonEnd: function() { + listener = listener_; + segments = d3.merge(segments); + var clipStartInside = insidePolygon([ x0, y1 ]), inside = clean && clipStartInside, visible = segments.length; + if (inside || visible) { + listener.polygonStart(); + if (inside) { + listener.lineStart(); + interpolate(null, null, 1, listener); + listener.lineEnd(); + } + if (visible) { + d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener); + } + listener.polygonEnd(); + } + segments = polygon = ring = null; + } + }; + function insidePolygon(p) { + var wn = 0, n = polygon.length, y = p[1]; + for (var i = 0; i < n; ++i) { + for (var j = 1, v = polygon[i], m = v.length, a = v[0], b; j < m; ++j) { + b = v[j]; + if (a[1] <= y) { + if (b[1] > y && d3_cross2d(a, b, p) > 0) ++wn; + } else { + if (b[1] <= y && d3_cross2d(a, b, p) < 0) --wn; + } + a = b; + } + } + return wn !== 0; + } + function interpolate(from, to, direction, listener) { + var a = 0, a1 = 0; + if (from == null || (a = corner(from, direction)) !== (a1 = corner(to, direction)) || comparePoints(from, to) < 0 ^ direction > 0) { + do { + listener.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0); + } while ((a = (a + direction + 4) % 4) !== a1); + } else { + listener.point(to[0], to[1]); + } + } + function pointVisible(x, y) { + return x0 <= x && x <= x1 && y0 <= y && y <= y1; + } + function point(x, y) { + if (pointVisible(x, y)) listener.point(x, y); + } + var x__, y__, v__, x_, y_, v_, first, clean; + function lineStart() { + clip.point = linePoint; + if (polygon) polygon.push(ring = []); + first = true; + v_ = false; + x_ = y_ = NaN; + } + function lineEnd() { + if (segments) { + linePoint(x__, y__); + if (v__ && v_) bufferListener.rejoin(); + segments.push(bufferListener.buffer()); + } + clip.point = point; + if (v_) listener.lineEnd(); + } + function linePoint(x, y) { + x = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, x)); + y = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, y)); + var v = pointVisible(x, y); + if (polygon) ring.push([ x, y ]); + if (first) { + x__ = x, y__ = y, v__ = v; + first = false; + if (v) { + listener.lineStart(); + listener.point(x, y); + } + } else { + if (v && v_) listener.point(x, y); else { + var l = { + a: { + x: x_, + y: y_ + }, + b: { + x: x, + y: y + } + }; + if (clipLine(l)) { + if (!v_) { + listener.lineStart(); + listener.point(l.a.x, l.a.y); + } + listener.point(l.b.x, l.b.y); + if (!v) listener.lineEnd(); + clean = false; + } else if (v) { + listener.lineStart(); + listener.point(x, y); + clean = false; + } + } + } + x_ = x, y_ = y, v_ = v; + } + return clip; + }; + function corner(p, direction) { + return abs(p[0] - x0) < ε ? direction > 0 ? 0 : 3 : abs(p[0] - x1) < ε ? direction > 0 ? 2 : 1 : abs(p[1] - y0) < ε ? direction > 0 ? 1 : 0 : direction > 0 ? 3 : 2; + } + function compare(a, b) { + return comparePoints(a.x, b.x); + } + function comparePoints(a, b) { + var ca = corner(a, 1), cb = corner(b, 1); + return ca !== cb ? ca - cb : ca === 0 ? b[1] - a[1] : ca === 1 ? a[0] - b[0] : ca === 2 ? a[1] - b[1] : b[0] - a[0]; + } + } + function d3_geo_conic(projectAt) { + var φ0 = 0, φ1 = π / 3, m = d3_geo_projectionMutator(projectAt), p = m(φ0, φ1); + p.parallels = function(_) { + if (!arguments.length) return [ φ0 / π * 180, φ1 / π * 180 ]; + return m(φ0 = _[0] * π / 180, φ1 = _[1] * π / 180); + }; + return p; + } + function d3_geo_conicEqualArea(φ0, φ1) { + var sinφ0 = Math.sin(φ0), n = (sinφ0 + Math.sin(φ1)) / 2, C = 1 + sinφ0 * (2 * n - sinφ0), ρ0 = Math.sqrt(C) / n; + function forward(λ, φ) { + var ρ = Math.sqrt(C - 2 * n * Math.sin(φ)) / n; + return [ ρ * Math.sin(λ *= n), ρ0 - ρ * Math.cos(λ) ]; + } + forward.invert = function(x, y) { + var ρ0_y = ρ0 - y; + return [ Math.atan2(x, ρ0_y) / n, d3_asin((C - (x * x + ρ0_y * ρ0_y) * n * n) / (2 * n)) ]; + }; + return forward; + } + (d3.geo.conicEqualArea = function() { + return d3_geo_conic(d3_geo_conicEqualArea); + }).raw = d3_geo_conicEqualArea; + d3.geo.albers = function() { + return d3.geo.conicEqualArea().rotate([ 96, 0 ]).center([ -.6, 38.7 ]).parallels([ 29.5, 45.5 ]).scale(1070); + }; + d3.geo.albersUsa = function() { + var lower48 = d3.geo.albers(); + var alaska = d3.geo.conicEqualArea().rotate([ 154, 0 ]).center([ -2, 58.5 ]).parallels([ 55, 65 ]); + var hawaii = d3.geo.conicEqualArea().rotate([ 157, 0 ]).center([ -3, 19.9 ]).parallels([ 8, 18 ]); + var point, pointStream = { + point: function(x, y) { + point = [ x, y ]; + } + }, lower48Point, alaskaPoint, hawaiiPoint; + function albersUsa(coordinates) { + var x = coordinates[0], y = coordinates[1]; + point = null; + (lower48Point(x, y), point) || (alaskaPoint(x, y), point) || hawaiiPoint(x, y); + return point; + } + albersUsa.invert = function(coordinates) { + var k = lower48.scale(), t = lower48.translate(), x = (coordinates[0] - t[0]) / k, y = (coordinates[1] - t[1]) / k; + return (y >= .12 && y < .234 && x >= -.425 && x < -.214 ? alaska : y >= .166 && y < .234 && x >= -.214 && x < -.115 ? hawaii : lower48).invert(coordinates); + }; + albersUsa.stream = function(stream) { + var lower48Stream = lower48.stream(stream), alaskaStream = alaska.stream(stream), hawaiiStream = hawaii.stream(stream); + return { + point: function(x, y) { + lower48Stream.point(x, y); + alaskaStream.point(x, y); + hawaiiStream.point(x, y); + }, + sphere: function() { + lower48Stream.sphere(); + alaskaStream.sphere(); + hawaiiStream.sphere(); + }, + lineStart: function() { + lower48Stream.lineStart(); + alaskaStream.lineStart(); + hawaiiStream.lineStart(); + }, + lineEnd: function() { + lower48Stream.lineEnd(); + alaskaStream.lineEnd(); + hawaiiStream.lineEnd(); + }, + polygonStart: function() { + lower48Stream.polygonStart(); + alaskaStream.polygonStart(); + hawaiiStream.polygonStart(); + }, + polygonEnd: function() { + lower48Stream.polygonEnd(); + alaskaStream.polygonEnd(); + hawaiiStream.polygonEnd(); + } + }; + }; + albersUsa.precision = function(_) { + if (!arguments.length) return lower48.precision(); + lower48.precision(_); + alaska.precision(_); + hawaii.precision(_); + return albersUsa; + }; + albersUsa.scale = function(_) { + if (!arguments.length) return lower48.scale(); + lower48.scale(_); + alaska.scale(_ * .35); + hawaii.scale(_); + return albersUsa.translate(lower48.translate()); + }; + albersUsa.translate = function(_) { + if (!arguments.length) return lower48.translate(); + var k = lower48.scale(), x = +_[0], y = +_[1]; + lower48Point = lower48.translate(_).clipExtent([ [ x - .455 * k, y - .238 * k ], [ x + .455 * k, y + .238 * k ] ]).stream(pointStream).point; + alaskaPoint = alaska.translate([ x - .307 * k, y + .201 * k ]).clipExtent([ [ x - .425 * k + ε, y + .12 * k + ε ], [ x - .214 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point; + hawaiiPoint = hawaii.translate([ x - .205 * k, y + .212 * k ]).clipExtent([ [ x - .214 * k + ε, y + .166 * k + ε ], [ x - .115 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point; + return albersUsa; + }; + return albersUsa.scale(1070); + }; + var d3_geo_pathAreaSum, d3_geo_pathAreaPolygon, d3_geo_pathArea = { + point: d3_noop, + lineStart: d3_noop, + lineEnd: d3_noop, + polygonStart: function() { + d3_geo_pathAreaPolygon = 0; + d3_geo_pathArea.lineStart = d3_geo_pathAreaRingStart; + }, + polygonEnd: function() { + d3_geo_pathArea.lineStart = d3_geo_pathArea.lineEnd = d3_geo_pathArea.point = d3_noop; + d3_geo_pathAreaSum += abs(d3_geo_pathAreaPolygon / 2); + } + }; + function d3_geo_pathAreaRingStart() { + var x00, y00, x0, y0; + d3_geo_pathArea.point = function(x, y) { + d3_geo_pathArea.point = nextPoint; + x00 = x0 = x, y00 = y0 = y; + }; + function nextPoint(x, y) { + d3_geo_pathAreaPolygon += y0 * x - x0 * y; + x0 = x, y0 = y; + } + d3_geo_pathArea.lineEnd = function() { + nextPoint(x00, y00); + }; + } + var d3_geo_pathBoundsX0, d3_geo_pathBoundsY0, d3_geo_pathBoundsX1, d3_geo_pathBoundsY1; + var d3_geo_pathBounds = { + point: d3_geo_pathBoundsPoint, + lineStart: d3_noop, + lineEnd: d3_noop, + polygonStart: d3_noop, + polygonEnd: d3_noop + }; + function d3_geo_pathBoundsPoint(x, y) { + if (x < d3_geo_pathBoundsX0) d3_geo_pathBoundsX0 = x; + if (x > d3_geo_pathBoundsX1) d3_geo_pathBoundsX1 = x; + if (y < d3_geo_pathBoundsY0) d3_geo_pathBoundsY0 = y; + if (y > d3_geo_pathBoundsY1) d3_geo_pathBoundsY1 = y; + } + function d3_geo_pathBuffer() { + var pointCircle = d3_geo_pathBufferCircle(4.5), buffer = []; + var stream = { + point: point, + lineStart: function() { + stream.point = pointLineStart; + }, + lineEnd: lineEnd, + polygonStart: function() { + stream.lineEnd = lineEndPolygon; + }, + polygonEnd: function() { + stream.lineEnd = lineEnd; + stream.point = point; + }, + pointRadius: function(_) { + pointCircle = d3_geo_pathBufferCircle(_); + return stream; + }, + result: function() { + if (buffer.length) { + var result = buffer.join(""); + buffer = []; + return result; + } + } + }; + function point(x, y) { + buffer.push("M", x, ",", y, pointCircle); + } + function pointLineStart(x, y) { + buffer.push("M", x, ",", y); + stream.point = pointLine; + } + function pointLine(x, y) { + buffer.push("L", x, ",", y); + } + function lineEnd() { + stream.point = point; + } + function lineEndPolygon() { + buffer.push("Z"); + } + return stream; + } + function d3_geo_pathBufferCircle(radius) { + return "m0," + radius + "a" + radius + "," + radius + " 0 1,1 0," + -2 * radius + "a" + radius + "," + radius + " 0 1,1 0," + 2 * radius + "z"; + } + var d3_geo_pathCentroid = { + point: d3_geo_pathCentroidPoint, + lineStart: d3_geo_pathCentroidLineStart, + lineEnd: d3_geo_pathCentroidLineEnd, + polygonStart: function() { + d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidRingStart; + }, + polygonEnd: function() { + d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint; + d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidLineStart; + d3_geo_pathCentroid.lineEnd = d3_geo_pathCentroidLineEnd; + } + }; + function d3_geo_pathCentroidPoint(x, y) { + d3_geo_centroidX0 += x; + d3_geo_centroidY0 += y; + ++d3_geo_centroidZ0; + } + function d3_geo_pathCentroidLineStart() { + var x0, y0; + d3_geo_pathCentroid.point = function(x, y) { + d3_geo_pathCentroid.point = nextPoint; + d3_geo_pathCentroidPoint(x0 = x, y0 = y); + }; + function nextPoint(x, y) { + var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy); + d3_geo_centroidX1 += z * (x0 + x) / 2; + d3_geo_centroidY1 += z * (y0 + y) / 2; + d3_geo_centroidZ1 += z; + d3_geo_pathCentroidPoint(x0 = x, y0 = y); + } + } + function d3_geo_pathCentroidLineEnd() { + d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint; + } + function d3_geo_pathCentroidRingStart() { + var x00, y00, x0, y0; + d3_geo_pathCentroid.point = function(x, y) { + d3_geo_pathCentroid.point = nextPoint; + d3_geo_pathCentroidPoint(x00 = x0 = x, y00 = y0 = y); + }; + function nextPoint(x, y) { + var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy); + d3_geo_centroidX1 += z * (x0 + x) / 2; + d3_geo_centroidY1 += z * (y0 + y) / 2; + d3_geo_centroidZ1 += z; + z = y0 * x - x0 * y; + d3_geo_centroidX2 += z * (x0 + x); + d3_geo_centroidY2 += z * (y0 + y); + d3_geo_centroidZ2 += z * 3; + d3_geo_pathCentroidPoint(x0 = x, y0 = y); + } + d3_geo_pathCentroid.lineEnd = function() { + nextPoint(x00, y00); + }; + } + function d3_geo_pathContext(context) { + var pointRadius = 4.5; + var stream = { + point: point, + lineStart: function() { + stream.point = pointLineStart; + }, + lineEnd: lineEnd, + polygonStart: function() { + stream.lineEnd = lineEndPolygon; + }, + polygonEnd: function() { + stream.lineEnd = lineEnd; + stream.point = point; + }, + pointRadius: function(_) { + pointRadius = _; + return stream; + }, + result: d3_noop + }; + function point(x, y) { + context.moveTo(x + pointRadius, y); + context.arc(x, y, pointRadius, 0, τ); + } + function pointLineStart(x, y) { + context.moveTo(x, y); + stream.point = pointLine; + } + function pointLine(x, y) { + context.lineTo(x, y); + } + function lineEnd() { + stream.point = point; + } + function lineEndPolygon() { + context.closePath(); + } + return stream; + } + function d3_geo_resample(project) { + var δ2 = .5, cosMinDistance = Math.cos(30 * d3_radians), maxDepth = 16; + function resample(stream) { + return (maxDepth ? resampleRecursive : resampleNone)(stream); + } + function resampleNone(stream) { + return d3_geo_transformPoint(stream, function(x, y) { + x = project(x, y); + stream.point(x[0], x[1]); + }); + } + function resampleRecursive(stream) { + var λ00, φ00, x00, y00, a00, b00, c00, λ0, x0, y0, a0, b0, c0; + var resample = { + point: point, + lineStart: lineStart, + lineEnd: lineEnd, + polygonStart: function() { + stream.polygonStart(); + resample.lineStart = ringStart; + }, + polygonEnd: function() { + stream.polygonEnd(); + resample.lineStart = lineStart; + } + }; + function point(x, y) { + x = project(x, y); + stream.point(x[0], x[1]); + } + function lineStart() { + x0 = NaN; + resample.point = linePoint; + stream.lineStart(); + } + function linePoint(λ, φ) { + var c = d3_geo_cartesian([ λ, φ ]), p = project(λ, φ); + resampleLineTo(x0, y0, λ0, a0, b0, c0, x0 = p[0], y0 = p[1], λ0 = λ, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream); + stream.point(x0, y0); + } + function lineEnd() { + resample.point = point; + stream.lineEnd(); + } + function ringStart() { + lineStart(); + resample.point = ringPoint; + resample.lineEnd = ringEnd; + } + function ringPoint(λ, φ) { + linePoint(λ00 = λ, φ00 = φ), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0; + resample.point = linePoint; + } + function ringEnd() { + resampleLineTo(x0, y0, λ0, a0, b0, c0, x00, y00, λ00, a00, b00, c00, maxDepth, stream); + resample.lineEnd = lineEnd; + lineEnd(); + } + return resample; + } + function resampleLineTo(x0, y0, λ0, a0, b0, c0, x1, y1, λ1, a1, b1, c1, depth, stream) { + var dx = x1 - x0, dy = y1 - y0, d2 = dx * dx + dy * dy; + if (d2 > 4 * δ2 && depth--) { + var a = a0 + a1, b = b0 + b1, c = c0 + c1, m = Math.sqrt(a * a + b * b + c * c), φ2 = Math.asin(c /= m), λ2 = abs(abs(c) - 1) < ε || abs(λ0 - λ1) < ε ? (λ0 + λ1) / 2 : Math.atan2(b, a), p = project(λ2, φ2), x2 = p[0], y2 = p[1], dx2 = x2 - x0, dy2 = y2 - y0, dz = dy * dx2 - dx * dy2; + if (dz * dz / d2 > δ2 || abs((dx * dx2 + dy * dy2) / d2 - .5) > .3 || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { + resampleLineTo(x0, y0, λ0, a0, b0, c0, x2, y2, λ2, a /= m, b /= m, c, depth, stream); + stream.point(x2, y2); + resampleLineTo(x2, y2, λ2, a, b, c, x1, y1, λ1, a1, b1, c1, depth, stream); + } + } + } + resample.precision = function(_) { + if (!arguments.length) return Math.sqrt(δ2); + maxDepth = (δ2 = _ * _) > 0 && 16; + return resample; + }; + return resample; + } + d3.geo.path = function() { + var pointRadius = 4.5, projection, context, projectStream, contextStream, cacheStream; + function path(object) { + if (object) { + if (typeof pointRadius === "function") contextStream.pointRadius(+pointRadius.apply(this, arguments)); + if (!cacheStream || !cacheStream.valid) cacheStream = projectStream(contextStream); + d3.geo.stream(object, cacheStream); + } + return contextStream.result(); + } + path.area = function(object) { + d3_geo_pathAreaSum = 0; + d3.geo.stream(object, projectStream(d3_geo_pathArea)); + return d3_geo_pathAreaSum; + }; + path.centroid = function(object) { + d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0; + d3.geo.stream(object, projectStream(d3_geo_pathCentroid)); + return d3_geo_centroidZ2 ? [ d3_geo_centroidX2 / d3_geo_centroidZ2, d3_geo_centroidY2 / d3_geo_centroidZ2 ] : d3_geo_centroidZ1 ? [ d3_geo_centroidX1 / d3_geo_centroidZ1, d3_geo_centroidY1 / d3_geo_centroidZ1 ] : d3_geo_centroidZ0 ? [ d3_geo_centroidX0 / d3_geo_centroidZ0, d3_geo_centroidY0 / d3_geo_centroidZ0 ] : [ NaN, NaN ]; + }; + path.bounds = function(object) { + d3_geo_pathBoundsX1 = d3_geo_pathBoundsY1 = -(d3_geo_pathBoundsX0 = d3_geo_pathBoundsY0 = Infinity); + d3.geo.stream(object, projectStream(d3_geo_pathBounds)); + return [ [ d3_geo_pathBoundsX0, d3_geo_pathBoundsY0 ], [ d3_geo_pathBoundsX1, d3_geo_pathBoundsY1 ] ]; + }; + path.projection = function(_) { + if (!arguments.length) return projection; + projectStream = (projection = _) ? _.stream || d3_geo_pathProjectStream(_) : d3_identity; + return reset(); + }; + path.context = function(_) { + if (!arguments.length) return context; + contextStream = (context = _) == null ? new d3_geo_pathBuffer() : new d3_geo_pathContext(_); + if (typeof pointRadius !== "function") contextStream.pointRadius(pointRadius); + return reset(); + }; + path.pointRadius = function(_) { + if (!arguments.length) return pointRadius; + pointRadius = typeof _ === "function" ? _ : (contextStream.pointRadius(+_), +_); + return path; + }; + function reset() { + cacheStream = null; + return path; + } + return path.projection(d3.geo.albersUsa()).context(null); + }; + function d3_geo_pathProjectStream(project) { + var resample = d3_geo_resample(function(x, y) { + return project([ x * d3_degrees, y * d3_degrees ]); + }); + return function(stream) { + return d3_geo_projectionRadians(resample(stream)); + }; + } + d3.geo.transform = function(methods) { + return { + stream: function(stream) { + var transform = new d3_geo_transform(stream); + for (var k in methods) transform[k] = methods[k]; + return transform; + } + }; + }; + function d3_geo_transform(stream) { + this.stream = stream; + } + d3_geo_transform.prototype = { + point: function(x, y) { + this.stream.point(x, y); + }, + 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(); + } + }; + function d3_geo_transformPoint(stream, point) { + return { + point: point, + sphere: function() { + stream.sphere(); + }, + lineStart: function() { + stream.lineStart(); + }, + lineEnd: function() { + stream.lineEnd(); + }, + polygonStart: function() { + stream.polygonStart(); + }, + polygonEnd: function() { + stream.polygonEnd(); + } + }; + } + d3.geo.projection = d3_geo_projection; + d3.geo.projectionMutator = d3_geo_projectionMutator; + function d3_geo_projection(project) { + return d3_geo_projectionMutator(function() { + return project; + })(); + } + function d3_geo_projectionMutator(projectAt) { + var project, rotate, projectRotate, projectResample = d3_geo_resample(function(x, y) { + x = project(x, y); + return [ x[0] * k + δx, δy - x[1] * k ]; + }), k = 150, x = 480, y = 250, λ = 0, φ = 0, δλ = 0, δφ = 0, δγ = 0, δx, δy, preclip = d3_geo_clipAntimeridian, postclip = d3_identity, clipAngle = null, clipExtent = null, stream; + function projection(point) { + point = projectRotate(point[0] * d3_radians, point[1] * d3_radians); + return [ point[0] * k + δx, δy - point[1] * k ]; + } + function invert(point) { + point = projectRotate.invert((point[0] - δx) / k, (δy - point[1]) / k); + return point && [ point[0] * d3_degrees, point[1] * d3_degrees ]; + } + projection.stream = function(output) { + if (stream) stream.valid = false; + stream = d3_geo_projectionRadians(preclip(rotate, projectResample(postclip(output)))); + stream.valid = true; + return stream; + }; + projection.clipAngle = function(_) { + if (!arguments.length) return clipAngle; + preclip = _ == null ? (clipAngle = _, d3_geo_clipAntimeridian) : d3_geo_clipCircle((clipAngle = +_) * d3_radians); + return invalidate(); + }; + projection.clipExtent = function(_) { + if (!arguments.length) return clipExtent; + clipExtent = _; + postclip = _ ? d3_geo_clipExtent(_[0][0], _[0][1], _[1][0], _[1][1]) : d3_identity; + return invalidate(); + }; + projection.scale = function(_) { + if (!arguments.length) return k; + k = +_; + return reset(); + }; + projection.translate = function(_) { + if (!arguments.length) return [ x, y ]; + x = +_[0]; + y = +_[1]; + return reset(); + }; + projection.center = function(_) { + if (!arguments.length) return [ λ * d3_degrees, φ * d3_degrees ]; + λ = _[0] % 360 * d3_radians; + φ = _[1] % 360 * d3_radians; + return reset(); + }; + projection.rotate = function(_) { + if (!arguments.length) return [ δλ * d3_degrees, δφ * d3_degrees, δγ * d3_degrees ]; + δλ = _[0] % 360 * d3_radians; + δφ = _[1] % 360 * d3_radians; + δγ = _.length > 2 ? _[2] % 360 * d3_radians : 0; + return reset(); + }; + d3.rebind(projection, projectResample, "precision"); + function reset() { + projectRotate = d3_geo_compose(rotate = d3_geo_rotation(δλ, δφ, δγ), project); + var center = project(λ, φ); + δx = x - center[0] * k; + δy = y + center[1] * k; + return invalidate(); + } + function invalidate() { + if (stream) stream.valid = false, stream = null; + return projection; + } + return function() { + project = projectAt.apply(this, arguments); + projection.invert = project.invert && invert; + return reset(); + }; + } + function d3_geo_projectionRadians(stream) { + return d3_geo_transformPoint(stream, function(x, y) { + stream.point(x * d3_radians, y * d3_radians); + }); + } + function d3_geo_equirectangular(λ, φ) { + return [ λ, φ ]; + } + (d3.geo.equirectangular = function() { + return d3_geo_projection(d3_geo_equirectangular); + }).raw = d3_geo_equirectangular.invert = d3_geo_equirectangular; + d3.geo.rotation = function(rotate) { + rotate = d3_geo_rotation(rotate[0] % 360 * d3_radians, rotate[1] * d3_radians, rotate.length > 2 ? rotate[2] * d3_radians : 0); + function forward(coordinates) { + coordinates = rotate(coordinates[0] * d3_radians, coordinates[1] * d3_radians); + return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates; + } + forward.invert = function(coordinates) { + coordinates = rotate.invert(coordinates[0] * d3_radians, coordinates[1] * d3_radians); + return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates; + }; + return forward; + }; + function d3_geo_identityRotation(λ, φ) { + return [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ]; + } + d3_geo_identityRotation.invert = d3_geo_equirectangular; + function d3_geo_rotation(δλ, δφ, δγ) { + return δλ ? δφ || δγ ? d3_geo_compose(d3_geo_rotationλ(δλ), d3_geo_rotationφγ(δφ, δγ)) : d3_geo_rotationλ(δλ) : δφ || δγ ? d3_geo_rotationφγ(δφ, δγ) : d3_geo_identityRotation; + } + function d3_geo_forwardRotationλ(δλ) { + return function(λ, φ) { + return λ += δλ, [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ]; + }; + } + function d3_geo_rotationλ(δλ) { + var rotation = d3_geo_forwardRotationλ(δλ); + rotation.invert = d3_geo_forwardRotationλ(-δλ); + return rotation; + } + function d3_geo_rotationφγ(δφ, δγ) { + var cosδφ = Math.cos(δφ), sinδφ = Math.sin(δφ), cosδγ = Math.cos(δγ), sinδγ = Math.sin(δγ); + function rotation(λ, φ) { + var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδφ + x * sinδφ; + return [ Math.atan2(y * cosδγ - k * sinδγ, x * cosδφ - z * sinδφ), d3_asin(k * cosδγ + y * sinδγ) ]; + } + rotation.invert = function(λ, φ) { + var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδγ - y * sinδγ; + return [ Math.atan2(y * cosδγ + z * sinδγ, x * cosδφ + k * sinδφ), d3_asin(k * cosδφ - x * sinδφ) ]; + }; + return rotation; + } + d3.geo.circle = function() { + var origin = [ 0, 0 ], angle, precision = 6, interpolate; + function circle() { + var center = typeof origin === "function" ? origin.apply(this, arguments) : origin, rotate = d3_geo_rotation(-center[0] * d3_radians, -center[1] * d3_radians, 0).invert, ring = []; + interpolate(null, null, 1, { + point: function(x, y) { + ring.push(x = rotate(x, y)); + x[0] *= d3_degrees, x[1] *= d3_degrees; + } + }); + return { + type: "Polygon", + coordinates: [ ring ] + }; + } + circle.origin = function(x) { + if (!arguments.length) return origin; + origin = x; + return circle; + }; + circle.angle = function(x) { + if (!arguments.length) return angle; + interpolate = d3_geo_circleInterpolate((angle = +x) * d3_radians, precision * d3_radians); + return circle; + }; + circle.precision = function(_) { + if (!arguments.length) return precision; + interpolate = d3_geo_circleInterpolate(angle * d3_radians, (precision = +_) * d3_radians); + return circle; + }; + return circle.angle(90); + }; + function d3_geo_circleInterpolate(radius, precision) { + var cr = Math.cos(radius), sr = Math.sin(radius); + return function(from, to, direction, listener) { + var step = direction * precision; + if (from != null) { + from = d3_geo_circleAngle(cr, from); + to = d3_geo_circleAngle(cr, to); + if (direction > 0 ? from < to : from > to) from += direction * τ; + } else { + from = radius + direction * τ; + to = radius - .5 * step; + } + for (var point, t = from; direction > 0 ? t > to : t < to; t -= step) { + listener.point((point = d3_geo_spherical([ cr, -sr * Math.cos(t), -sr * Math.sin(t) ]))[0], point[1]); + } + }; + } + function d3_geo_circleAngle(cr, point) { + var a = d3_geo_cartesian(point); + a[0] -= cr; + d3_geo_cartesianNormalize(a); + var angle = d3_acos(-a[1]); + return ((-a[2] < 0 ? -angle : angle) + 2 * Math.PI - ε) % (2 * Math.PI); + } + d3.geo.distance = function(a, b) { + var Δλ = (b[0] - a[0]) * d3_radians, φ0 = a[1] * d3_radians, φ1 = b[1] * d3_radians, sinΔλ = Math.sin(Δλ), cosΔλ = Math.cos(Δλ), sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), sinφ1 = Math.sin(φ1), cosφ1 = Math.cos(φ1), t; + return Math.atan2(Math.sqrt((t = cosφ1 * sinΔλ) * t + (t = cosφ0 * sinφ1 - sinφ0 * cosφ1 * cosΔλ) * t), sinφ0 * sinφ1 + cosφ0 * cosφ1 * cosΔλ); + }; + d3.geo.graticule = function() { + var x1, x0, X1, X0, y1, y0, Y1, Y0, dx = 10, dy = dx, DX = 90, DY = 360, x, y, X, Y, precision = 2.5; + function graticule() { + return { + type: "MultiLineString", + coordinates: lines() + }; + } + function lines() { + return d3.range(Math.ceil(X0 / DX) * DX, X1, DX).map(X).concat(d3.range(Math.ceil(Y0 / DY) * DY, Y1, DY).map(Y)).concat(d3.range(Math.ceil(x0 / dx) * dx, x1, dx).filter(function(x) { + return abs(x % DX) > ε; + }).map(x)).concat(d3.range(Math.ceil(y0 / dy) * dy, y1, dy).filter(function(y) { + return abs(y % DY) > ε; + }).map(y)); + } + graticule.lines = function() { + return lines().map(function(coordinates) { + return { + type: "LineString", + coordinates: coordinates + }; + }); + }; + graticule.outline = function() { + return { + type: "Polygon", + coordinates: [ X(X0).concat(Y(Y1).slice(1), X(X1).reverse().slice(1), Y(Y0).reverse().slice(1)) ] + }; + }; + graticule.extent = function(_) { + if (!arguments.length) return graticule.minorExtent(); + return graticule.majorExtent(_).minorExtent(_); + }; + graticule.majorExtent = function(_) { + if (!arguments.length) return [ [ X0, Y0 ], [ X1, Y1 ] ]; + X0 = +_[0][0], X1 = +_[1][0]; + Y0 = +_[0][1], Y1 = +_[1][1]; + if (X0 > X1) _ = X0, X0 = X1, X1 = _; + if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _; + return graticule.precision(precision); + }; + graticule.minorExtent = function(_) { + if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ]; + x0 = +_[0][0], x1 = +_[1][0]; + y0 = +_[0][1], y1 = +_[1][1]; + if (x0 > x1) _ = x0, x0 = x1, x1 = _; + if (y0 > y1) _ = y0, y0 = y1, y1 = _; + return graticule.precision(precision); + }; + graticule.step = function(_) { + if (!arguments.length) return graticule.minorStep(); + return graticule.majorStep(_).minorStep(_); + }; + graticule.majorStep = function(_) { + if (!arguments.length) return [ DX, DY ]; + DX = +_[0], DY = +_[1]; + return graticule; + }; + graticule.minorStep = function(_) { + if (!arguments.length) return [ dx, dy ]; + dx = +_[0], dy = +_[1]; + return graticule; + }; + graticule.precision = function(_) { + if (!arguments.length) return precision; + precision = +_; + x = d3_geo_graticuleX(y0, y1, 90); + y = d3_geo_graticuleY(x0, x1, precision); + X = d3_geo_graticuleX(Y0, Y1, 90); + Y = d3_geo_graticuleY(X0, X1, precision); + return graticule; + }; + return graticule.majorExtent([ [ -180, -90 + ε ], [ 180, 90 - ε ] ]).minorExtent([ [ -180, -80 - ε ], [ 180, 80 + ε ] ]); + }; + function d3_geo_graticuleX(y0, y1, dy) { + var y = d3.range(y0, y1 - ε, dy).concat(y1); + return function(x) { + return y.map(function(y) { + return [ x, y ]; + }); + }; + } + function d3_geo_graticuleY(x0, x1, dx) { + var x = d3.range(x0, x1 - ε, dx).concat(x1); + return function(y) { + return x.map(function(x) { + return [ x, y ]; + }); + }; + } + function d3_source(d) { + return d.source; + } + function d3_target(d) { + return d.target; + } + d3.geo.greatArc = function() { + var source = d3_source, source_, target = d3_target, target_; + function greatArc() { + return { + type: "LineString", + coordinates: [ source_ || source.apply(this, arguments), target_ || target.apply(this, arguments) ] + }; + } + greatArc.distance = function() { + return d3.geo.distance(source_ || source.apply(this, arguments), target_ || target.apply(this, arguments)); + }; + greatArc.source = function(_) { + if (!arguments.length) return source; + source = _, source_ = typeof _ === "function" ? null : _; + return greatArc; + }; + greatArc.target = function(_) { + if (!arguments.length) return target; + target = _, target_ = typeof _ === "function" ? null : _; + return greatArc; + }; + greatArc.precision = function() { + return arguments.length ? greatArc : 0; + }; + return greatArc; + }; + d3.geo.interpolate = function(source, target) { + return d3_geo_interpolate(source[0] * d3_radians, source[1] * d3_radians, target[0] * d3_radians, target[1] * d3_radians); + }; + function d3_geo_interpolate(x0, y0, x1, y1) { + var cy0 = Math.cos(y0), sy0 = Math.sin(y0), cy1 = Math.cos(y1), sy1 = Math.sin(y1), kx0 = cy0 * Math.cos(x0), ky0 = cy0 * Math.sin(x0), kx1 = cy1 * Math.cos(x1), ky1 = cy1 * Math.sin(x1), d = 2 * Math.asin(Math.sqrt(d3_haversin(y1 - y0) + cy0 * cy1 * d3_haversin(x1 - x0))), k = 1 / Math.sin(d); + var interpolate = d ? function(t) { + var B = Math.sin(t *= d) * k, A = Math.sin(d - t) * k, x = A * kx0 + B * kx1, y = A * ky0 + B * ky1, z = A * sy0 + B * sy1; + return [ Math.atan2(y, x) * d3_degrees, Math.atan2(z, Math.sqrt(x * x + y * y)) * d3_degrees ]; + } : function() { + return [ x0 * d3_degrees, y0 * d3_degrees ]; + }; + interpolate.distance = d; + return interpolate; + } + d3.geo.length = function(object) { + d3_geo_lengthSum = 0; + d3.geo.stream(object, d3_geo_length); + return d3_geo_lengthSum; + }; + var d3_geo_lengthSum; + var d3_geo_length = { + sphere: d3_noop, + point: d3_noop, + lineStart: d3_geo_lengthLineStart, + lineEnd: d3_noop, + polygonStart: d3_noop, + polygonEnd: d3_noop + }; + function d3_geo_lengthLineStart() { + var λ0, sinφ0, cosφ0; + d3_geo_length.point = function(λ, φ) { + λ0 = λ * d3_radians, sinφ0 = Math.sin(φ *= d3_radians), cosφ0 = Math.cos(φ); + d3_geo_length.point = nextPoint; + }; + d3_geo_length.lineEnd = function() { + d3_geo_length.point = d3_geo_length.lineEnd = d3_noop; + }; + function nextPoint(λ, φ) { + var sinφ = Math.sin(φ *= d3_radians), cosφ = Math.cos(φ), t = abs((λ *= d3_radians) - λ0), cosΔλ = Math.cos(t); + d3_geo_lengthSum += Math.atan2(Math.sqrt((t = cosφ * Math.sin(t)) * t + (t = cosφ0 * sinφ - sinφ0 * cosφ * cosΔλ) * t), sinφ0 * sinφ + cosφ0 * cosφ * cosΔλ); + λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ; + } + } + function d3_geo_azimuthal(scale, angle) { + function azimuthal(λ, φ) { + var cosλ = Math.cos(λ), cosφ = Math.cos(φ), k = scale(cosλ * cosφ); + return [ k * cosφ * Math.sin(λ), k * Math.sin(φ) ]; + } + azimuthal.invert = function(x, y) { + var ρ = Math.sqrt(x * x + y * y), c = angle(ρ), sinc = Math.sin(c), cosc = Math.cos(c); + return [ Math.atan2(x * sinc, ρ * cosc), Math.asin(ρ && y * sinc / ρ) ]; + }; + return azimuthal; + } + var d3_geo_azimuthalEqualArea = d3_geo_azimuthal(function(cosλcosφ) { + return Math.sqrt(2 / (1 + cosλcosφ)); + }, function(ρ) { + return 2 * Math.asin(ρ / 2); + }); + (d3.geo.azimuthalEqualArea = function() { + return d3_geo_projection(d3_geo_azimuthalEqualArea); + }).raw = d3_geo_azimuthalEqualArea; + var d3_geo_azimuthalEquidistant = d3_geo_azimuthal(function(cosλcosφ) { + var c = Math.acos(cosλcosφ); + return c && c / Math.sin(c); + }, d3_identity); + (d3.geo.azimuthalEquidistant = function() { + return d3_geo_projection(d3_geo_azimuthalEquidistant); + }).raw = d3_geo_azimuthalEquidistant; + function d3_geo_conicConformal(φ0, φ1) { + var cosφ0 = Math.cos(φ0), t = function(φ) { + return Math.tan(π / 4 + φ / 2); + }, n = φ0 === φ1 ? Math.sin(φ0) : Math.log(cosφ0 / Math.cos(φ1)) / Math.log(t(φ1) / t(φ0)), F = cosφ0 * Math.pow(t(φ0), n) / n; + if (!n) return d3_geo_mercator; + function forward(λ, φ) { + if (F > 0) { + if (φ < -halfπ + ε) φ = -halfπ + ε; + } else { + if (φ > halfπ - ε) φ = halfπ - ε; + } + var ρ = F / Math.pow(t(φ), n); + return [ ρ * Math.sin(n * λ), F - ρ * Math.cos(n * λ) ]; + } + forward.invert = function(x, y) { + var ρ0_y = F - y, ρ = d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y); + return [ Math.atan2(x, ρ0_y) / n, 2 * Math.atan(Math.pow(F / ρ, 1 / n)) - halfπ ]; + }; + return forward; + } + (d3.geo.conicConformal = function() { + return d3_geo_conic(d3_geo_conicConformal); + }).raw = d3_geo_conicConformal; + function d3_geo_conicEquidistant(φ0, φ1) { + var cosφ0 = Math.cos(φ0), n = φ0 === φ1 ? Math.sin(φ0) : (cosφ0 - Math.cos(φ1)) / (φ1 - φ0), G = cosφ0 / n + φ0; + if (abs(n) < ε) return d3_geo_equirectangular; + function forward(λ, φ) { + var ρ = G - φ; + return [ ρ * Math.sin(n * λ), G - ρ * Math.cos(n * λ) ]; + } + forward.invert = function(x, y) { + var ρ0_y = G - y; + return [ Math.atan2(x, ρ0_y) / n, G - d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y) ]; + }; + return forward; + } + (d3.geo.conicEquidistant = function() { + return d3_geo_conic(d3_geo_conicEquidistant); + }).raw = d3_geo_conicEquidistant; + var d3_geo_gnomonic = d3_geo_azimuthal(function(cosλcosφ) { + return 1 / cosλcosφ; + }, Math.atan); + (d3.geo.gnomonic = function() { + return d3_geo_projection(d3_geo_gnomonic); + }).raw = d3_geo_gnomonic; + function d3_geo_mercator(λ, φ) { + return [ λ, Math.log(Math.tan(π / 4 + φ / 2)) ]; + } + d3_geo_mercator.invert = function(x, y) { + return [ x, 2 * Math.atan(Math.exp(y)) - halfπ ]; + }; + function d3_geo_mercatorProjection(project) { + var m = d3_geo_projection(project), scale = m.scale, translate = m.translate, clipExtent = m.clipExtent, clipAuto; + m.scale = function() { + var v = scale.apply(m, arguments); + return v === m ? clipAuto ? m.clipExtent(null) : m : v; + }; + m.translate = function() { + var v = translate.apply(m, arguments); + return v === m ? clipAuto ? m.clipExtent(null) : m : v; + }; + m.clipExtent = function(_) { + var v = clipExtent.apply(m, arguments); + if (v === m) { + if (clipAuto = _ == null) { + var k = π * scale(), t = translate(); + clipExtent([ [ t[0] - k, t[1] - k ], [ t[0] + k, t[1] + k ] ]); + } + } else if (clipAuto) { + v = null; + } + return v; + }; + return m.clipExtent(null); + } + (d3.geo.mercator = function() { + return d3_geo_mercatorProjection(d3_geo_mercator); + }).raw = d3_geo_mercator; + var d3_geo_orthographic = d3_geo_azimuthal(function() { + return 1; + }, Math.asin); + (d3.geo.orthographic = function() { + return d3_geo_projection(d3_geo_orthographic); + }).raw = d3_geo_orthographic; + var d3_geo_stereographic = d3_geo_azimuthal(function(cosλcosφ) { + return 1 / (1 + cosλcosφ); + }, function(ρ) { + return 2 * Math.atan(ρ); + }); + (d3.geo.stereographic = function() { + return d3_geo_projection(d3_geo_stereographic); + }).raw = d3_geo_stereographic; + function d3_geo_transverseMercator(λ, φ) { + return [ Math.log(Math.tan(π / 4 + φ / 2)), -λ ]; + } + d3_geo_transverseMercator.invert = function(x, y) { + return [ -y, 2 * Math.atan(Math.exp(x)) - halfπ ]; + }; + (d3.geo.transverseMercator = function() { + var projection = d3_geo_mercatorProjection(d3_geo_transverseMercator), center = projection.center, rotate = projection.rotate; + projection.center = function(_) { + return _ ? center([ -_[1], _[0] ]) : (_ = center(), [ _[1], -_[0] ]); + }; + projection.rotate = function(_) { + return _ ? rotate([ _[0], _[1], _.length > 2 ? _[2] + 90 : 90 ]) : (_ = rotate(), + [ _[0], _[1], _[2] - 90 ]); + }; + return rotate([ 0, 0, 90 ]); + }).raw = d3_geo_transverseMercator; + d3.geom = {}; + function d3_geom_pointX(d) { + return d[0]; + } + function d3_geom_pointY(d) { + return d[1]; + } + d3.geom.hull = function(vertices) { + var x = d3_geom_pointX, y = d3_geom_pointY; + if (arguments.length) return hull(vertices); + function hull(data) { + if (data.length < 3) return []; + var fx = d3_functor(x), fy = d3_functor(y), i, n = data.length, points = [], flippedPoints = []; + for (i = 0; i < n; i++) { + points.push([ +fx.call(this, data[i], i), +fy.call(this, data[i], i), i ]); + } + points.sort(d3_geom_hullOrder); + for (i = 0; i < n; i++) flippedPoints.push([ points[i][0], -points[i][1] ]); + var upper = d3_geom_hullUpper(points), lower = d3_geom_hullUpper(flippedPoints); + var skipLeft = lower[0] === upper[0], skipRight = lower[lower.length - 1] === upper[upper.length - 1], polygon = []; + for (i = upper.length - 1; i >= 0; --i) polygon.push(data[points[upper[i]][2]]); + for (i = +skipLeft; i < lower.length - skipRight; ++i) polygon.push(data[points[lower[i]][2]]); + return polygon; + } + hull.x = function(_) { + return arguments.length ? (x = _, hull) : x; + }; + hull.y = function(_) { + return arguments.length ? (y = _, hull) : y; + }; + return hull; + }; + function d3_geom_hullUpper(points) { + var n = points.length, hull = [ 0, 1 ], hs = 2; + for (var i = 2; i < n; i++) { + while (hs > 1 && d3_cross2d(points[hull[hs - 2]], points[hull[hs - 1]], points[i]) <= 0) --hs; + hull[hs++] = i; + } + return hull.slice(0, hs); + } + function d3_geom_hullOrder(a, b) { + return a[0] - b[0] || a[1] - b[1]; + } + d3.geom.polygon = function(coordinates) { + d3_subclass(coordinates, d3_geom_polygonPrototype); + return coordinates; + }; + var d3_geom_polygonPrototype = d3.geom.polygon.prototype = []; + d3_geom_polygonPrototype.area = function() { + var i = -1, n = this.length, a, b = this[n - 1], area = 0; + while (++i < n) { + a = b; + b = this[i]; + area += a[1] * b[0] - a[0] * b[1]; + } + return area * .5; + }; + d3_geom_polygonPrototype.centroid = function(k) { + var i = -1, n = this.length, x = 0, y = 0, a, b = this[n - 1], c; + if (!arguments.length) k = -1 / (6 * this.area()); + while (++i < n) { + a = b; + b = this[i]; + c = a[0] * b[1] - b[0] * a[1]; + x += (a[0] + b[0]) * c; + y += (a[1] + b[1]) * c; + } + return [ x * k, y * k ]; + }; + d3_geom_polygonPrototype.clip = function(subject) { + var input, closed = d3_geom_polygonClosed(subject), i = -1, n = this.length - d3_geom_polygonClosed(this), j, m, a = this[n - 1], b, c, d; + while (++i < n) { + input = subject.slice(); + subject.length = 0; + b = this[i]; + c = input[(m = input.length - closed) - 1]; + j = -1; + while (++j < m) { + d = input[j]; + if (d3_geom_polygonInside(d, a, b)) { + if (!d3_geom_polygonInside(c, a, b)) { + subject.push(d3_geom_polygonIntersect(c, d, a, b)); + } + subject.push(d); + } else if (d3_geom_polygonInside(c, a, b)) { + subject.push(d3_geom_polygonIntersect(c, d, a, b)); + } + c = d; + } + if (closed) subject.push(subject[0]); + a = b; + } + return subject; + }; + function d3_geom_polygonInside(p, a, b) { + return (b[0] - a[0]) * (p[1] - a[1]) < (b[1] - a[1]) * (p[0] - a[0]); + } + function d3_geom_polygonIntersect(c, d, a, b) { + var x1 = c[0], x3 = a[0], x21 = d[0] - x1, x43 = b[0] - x3, y1 = c[1], y3 = a[1], y21 = d[1] - y1, y43 = b[1] - y3, ua = (x43 * (y1 - y3) - y43 * (x1 - x3)) / (y43 * x21 - x43 * y21); + return [ x1 + ua * x21, y1 + ua * y21 ]; + } + function d3_geom_polygonClosed(coordinates) { + var a = coordinates[0], b = coordinates[coordinates.length - 1]; + return !(a[0] - b[0] || a[1] - b[1]); + } + var d3_geom_voronoiEdges, d3_geom_voronoiCells, d3_geom_voronoiBeaches, d3_geom_voronoiBeachPool = [], d3_geom_voronoiFirstCircle, d3_geom_voronoiCircles, d3_geom_voronoiCirclePool = []; + function d3_geom_voronoiBeach() { + d3_geom_voronoiRedBlackNode(this); + this.edge = this.site = this.circle = null; + } + function d3_geom_voronoiCreateBeach(site) { + var beach = d3_geom_voronoiBeachPool.pop() || new d3_geom_voronoiBeach(); + beach.site = site; + return beach; + } + function d3_geom_voronoiDetachBeach(beach) { + d3_geom_voronoiDetachCircle(beach); + d3_geom_voronoiBeaches.remove(beach); + d3_geom_voronoiBeachPool.push(beach); + d3_geom_voronoiRedBlackNode(beach); + } + function d3_geom_voronoiRemoveBeach(beach) { + var circle = beach.circle, x = circle.x, y = circle.cy, vertex = { + x: x, + y: y + }, previous = beach.P, next = beach.N, disappearing = [ beach ]; + d3_geom_voronoiDetachBeach(beach); + var lArc = previous; + while (lArc.circle && abs(x - lArc.circle.x) < ε && abs(y - lArc.circle.cy) < ε) { + previous = lArc.P; + disappearing.unshift(lArc); + d3_geom_voronoiDetachBeach(lArc); + lArc = previous; + } + disappearing.unshift(lArc); + d3_geom_voronoiDetachCircle(lArc); + var rArc = next; + while (rArc.circle && abs(x - rArc.circle.x) < ε && abs(y - rArc.circle.cy) < ε) { + next = rArc.N; + disappearing.push(rArc); + d3_geom_voronoiDetachBeach(rArc); + rArc = next; + } + disappearing.push(rArc); + d3_geom_voronoiDetachCircle(rArc); + var nArcs = disappearing.length, iArc; + for (iArc = 1; iArc < nArcs; ++iArc) { + rArc = disappearing[iArc]; + lArc = disappearing[iArc - 1]; + d3_geom_voronoiSetEdgeEnd(rArc.edge, lArc.site, rArc.site, vertex); + } + lArc = disappearing[0]; + rArc = disappearing[nArcs - 1]; + rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, rArc.site, null, vertex); + d3_geom_voronoiAttachCircle(lArc); + d3_geom_voronoiAttachCircle(rArc); + } + function d3_geom_voronoiAddBeach(site) { + var x = site.x, directrix = site.y, lArc, rArc, dxl, dxr, node = d3_geom_voronoiBeaches._; + while (node) { + dxl = d3_geom_voronoiLeftBreakPoint(node, directrix) - x; + if (dxl > ε) node = node.L; else { + dxr = x - d3_geom_voronoiRightBreakPoint(node, directrix); + if (dxr > ε) { + if (!node.R) { + lArc = node; + break; + } + node = node.R; + } else { + if (dxl > -ε) { + lArc = node.P; + rArc = node; + } else if (dxr > -ε) { + lArc = node; + rArc = node.N; + } else { + lArc = rArc = node; + } + break; + } + } + } + var newArc = d3_geom_voronoiCreateBeach(site); + d3_geom_voronoiBeaches.insert(lArc, newArc); + if (!lArc && !rArc) return; + if (lArc === rArc) { + d3_geom_voronoiDetachCircle(lArc); + rArc = d3_geom_voronoiCreateBeach(lArc.site); + d3_geom_voronoiBeaches.insert(newArc, rArc); + newArc.edge = rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site); + d3_geom_voronoiAttachCircle(lArc); + d3_geom_voronoiAttachCircle(rArc); + return; + } + if (!rArc) { + newArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site); + return; + } + d3_geom_voronoiDetachCircle(lArc); + d3_geom_voronoiDetachCircle(rArc); + var lSite = lArc.site, ax = lSite.x, ay = lSite.y, bx = site.x - ax, by = site.y - ay, rSite = rArc.site, cx = rSite.x - ax, cy = rSite.y - ay, d = 2 * (bx * cy - by * cx), hb = bx * bx + by * by, hc = cx * cx + cy * cy, vertex = { + x: (cy * hb - by * hc) / d + ax, + y: (bx * hc - cx * hb) / d + ay + }; + d3_geom_voronoiSetEdgeEnd(rArc.edge, lSite, rSite, vertex); + newArc.edge = d3_geom_voronoiCreateEdge(lSite, site, null, vertex); + rArc.edge = d3_geom_voronoiCreateEdge(site, rSite, null, vertex); + d3_geom_voronoiAttachCircle(lArc); + d3_geom_voronoiAttachCircle(rArc); + } + function d3_geom_voronoiLeftBreakPoint(arc, directrix) { + var site = arc.site, rfocx = site.x, rfocy = site.y, pby2 = rfocy - directrix; + if (!pby2) return rfocx; + var lArc = arc.P; + if (!lArc) return -Infinity; + site = lArc.site; + var lfocx = site.x, lfocy = site.y, plby2 = lfocy - directrix; + if (!plby2) return lfocx; + var hl = lfocx - rfocx, aby2 = 1 / pby2 - 1 / plby2, b = hl / plby2; + if (aby2) return (-b + Math.sqrt(b * b - 2 * aby2 * (hl * hl / (-2 * plby2) - lfocy + plby2 / 2 + rfocy - pby2 / 2))) / aby2 + rfocx; + return (rfocx + lfocx) / 2; + } + function d3_geom_voronoiRightBreakPoint(arc, directrix) { + var rArc = arc.N; + if (rArc) return d3_geom_voronoiLeftBreakPoint(rArc, directrix); + var site = arc.site; + return site.y === directrix ? site.x : Infinity; + } + function d3_geom_voronoiCell(site) { + this.site = site; + this.edges = []; + } + d3_geom_voronoiCell.prototype.prepare = function() { + var halfEdges = this.edges, iHalfEdge = halfEdges.length, edge; + while (iHalfEdge--) { + edge = halfEdges[iHalfEdge].edge; + if (!edge.b || !edge.a) halfEdges.splice(iHalfEdge, 1); + } + halfEdges.sort(d3_geom_voronoiHalfEdgeOrder); + return halfEdges.length; + }; + function d3_geom_voronoiCloseCells(extent) { + var x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], x2, y2, x3, y3, cells = d3_geom_voronoiCells, iCell = cells.length, cell, iHalfEdge, halfEdges, nHalfEdges, start, end; + while (iCell--) { + cell = cells[iCell]; + if (!cell || !cell.prepare()) continue; + halfEdges = cell.edges; + nHalfEdges = halfEdges.length; + iHalfEdge = 0; + while (iHalfEdge < nHalfEdges) { + end = halfEdges[iHalfEdge].end(), x3 = end.x, y3 = end.y; + start = halfEdges[++iHalfEdge % nHalfEdges].start(), x2 = start.x, y2 = start.y; + if (abs(x3 - x2) > ε || abs(y3 - y2) > ε) { + halfEdges.splice(iHalfEdge, 0, new d3_geom_voronoiHalfEdge(d3_geom_voronoiCreateBorderEdge(cell.site, end, abs(x3 - x0) < ε && y1 - y3 > ε ? { + x: x0, + y: abs(x2 - x0) < ε ? y2 : y1 + } : abs(y3 - y1) < ε && x1 - x3 > ε ? { + x: abs(y2 - y1) < ε ? x2 : x1, + y: y1 + } : abs(x3 - x1) < ε && y3 - y0 > ε ? { + x: x1, + y: abs(x2 - x1) < ε ? y2 : y0 + } : abs(y3 - y0) < ε && x3 - x0 > ε ? { + x: abs(y2 - y0) < ε ? x2 : x0, + y: y0 + } : null), cell.site, null)); + ++nHalfEdges; + } + } + } + } + function d3_geom_voronoiHalfEdgeOrder(a, b) { + return b.angle - a.angle; + } + function d3_geom_voronoiCircle() { + d3_geom_voronoiRedBlackNode(this); + this.x = this.y = this.arc = this.site = this.cy = null; + } + function d3_geom_voronoiAttachCircle(arc) { + var lArc = arc.P, rArc = arc.N; + if (!lArc || !rArc) return; + var lSite = lArc.site, cSite = arc.site, rSite = rArc.site; + if (lSite === rSite) return; + var bx = cSite.x, by = cSite.y, ax = lSite.x - bx, ay = lSite.y - by, cx = rSite.x - bx, cy = rSite.y - by; + var d = 2 * (ax * cy - ay * cx); + if (d >= -ε2) return; + var ha = ax * ax + ay * ay, hc = cx * cx + cy * cy, x = (cy * ha - ay * hc) / d, y = (ax * hc - cx * ha) / d, cy = y + by; + var circle = d3_geom_voronoiCirclePool.pop() || new d3_geom_voronoiCircle(); + circle.arc = arc; + circle.site = cSite; + circle.x = x + bx; + circle.y = cy + Math.sqrt(x * x + y * y); + circle.cy = cy; + arc.circle = circle; + var before = null, node = d3_geom_voronoiCircles._; + while (node) { + if (circle.y < node.y || circle.y === node.y && circle.x <= node.x) { + if (node.L) node = node.L; else { + before = node.P; + break; + } + } else { + if (node.R) node = node.R; else { + before = node; + break; + } + } + } + d3_geom_voronoiCircles.insert(before, circle); + if (!before) d3_geom_voronoiFirstCircle = circle; + } + function d3_geom_voronoiDetachCircle(arc) { + var circle = arc.circle; + if (circle) { + if (!circle.P) d3_geom_voronoiFirstCircle = circle.N; + d3_geom_voronoiCircles.remove(circle); + d3_geom_voronoiCirclePool.push(circle); + d3_geom_voronoiRedBlackNode(circle); + arc.circle = null; + } + } + function d3_geom_voronoiClipEdges(extent) { + var edges = d3_geom_voronoiEdges, clip = d3_geom_clipLine(extent[0][0], extent[0][1], extent[1][0], extent[1][1]), i = edges.length, e; + while (i--) { + e = edges[i]; + if (!d3_geom_voronoiConnectEdge(e, extent) || !clip(e) || abs(e.a.x - e.b.x) < ε && abs(e.a.y - e.b.y) < ε) { + e.a = e.b = null; + edges.splice(i, 1); + } + } + } + function d3_geom_voronoiConnectEdge(edge, extent) { + var vb = edge.b; + if (vb) return true; + var va = edge.a, x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], lSite = edge.l, rSite = edge.r, lx = lSite.x, ly = lSite.y, rx = rSite.x, ry = rSite.y, fx = (lx + rx) / 2, fy = (ly + ry) / 2, fm, fb; + if (ry === ly) { + if (fx < x0 || fx >= x1) return; + if (lx > rx) { + if (!va) va = { + x: fx, + y: y0 + }; else if (va.y >= y1) return; + vb = { + x: fx, + y: y1 + }; + } else { + if (!va) va = { + x: fx, + y: y1 + }; else if (va.y < y0) return; + vb = { + x: fx, + y: y0 + }; + } + } else { + fm = (lx - rx) / (ry - ly); + fb = fy - fm * fx; + if (fm < -1 || fm > 1) { + if (lx > rx) { + if (!va) va = { + x: (y0 - fb) / fm, + y: y0 + }; else if (va.y >= y1) return; + vb = { + x: (y1 - fb) / fm, + y: y1 + }; + } else { + if (!va) va = { + x: (y1 - fb) / fm, + y: y1 + }; else if (va.y < y0) return; + vb = { + x: (y0 - fb) / fm, + y: y0 + }; + } + } else { + if (ly < ry) { + if (!va) va = { + x: x0, + y: fm * x0 + fb + }; else if (va.x >= x1) return; + vb = { + x: x1, + y: fm * x1 + fb + }; + } else { + if (!va) va = { + x: x1, + y: fm * x1 + fb + }; else if (va.x < x0) return; + vb = { + x: x0, + y: fm * x0 + fb + }; + } + } + } + edge.a = va; + edge.b = vb; + return true; + } + function d3_geom_voronoiEdge(lSite, rSite) { + this.l = lSite; + this.r = rSite; + this.a = this.b = null; + } + function d3_geom_voronoiCreateEdge(lSite, rSite, va, vb) { + var edge = new d3_geom_voronoiEdge(lSite, rSite); + d3_geom_voronoiEdges.push(edge); + if (va) d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, va); + if (vb) d3_geom_voronoiSetEdgeEnd(edge, rSite, lSite, vb); + d3_geom_voronoiCells[lSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, lSite, rSite)); + d3_geom_voronoiCells[rSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, rSite, lSite)); + return edge; + } + function d3_geom_voronoiCreateBorderEdge(lSite, va, vb) { + var edge = new d3_geom_voronoiEdge(lSite, null); + edge.a = va; + edge.b = vb; + d3_geom_voronoiEdges.push(edge); + return edge; + } + function d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, vertex) { + if (!edge.a && !edge.b) { + edge.a = vertex; + edge.l = lSite; + edge.r = rSite; + } else if (edge.l === rSite) { + edge.b = vertex; + } else { + edge.a = vertex; + } + } + function d3_geom_voronoiHalfEdge(edge, lSite, rSite) { + var va = edge.a, vb = edge.b; + this.edge = edge; + this.site = lSite; + this.angle = rSite ? Math.atan2(rSite.y - lSite.y, rSite.x - lSite.x) : edge.l === lSite ? Math.atan2(vb.x - va.x, va.y - vb.y) : Math.atan2(va.x - vb.x, vb.y - va.y); + } + d3_geom_voronoiHalfEdge.prototype = { + start: function() { + return this.edge.l === this.site ? this.edge.a : this.edge.b; + }, + end: function() { + return this.edge.l === this.site ? this.edge.b : this.edge.a; + } + }; + function d3_geom_voronoiRedBlackTree() { + this._ = null; + } + function d3_geom_voronoiRedBlackNode(node) { + node.U = node.C = node.L = node.R = node.P = node.N = null; + } + d3_geom_voronoiRedBlackTree.prototype = { + insert: function(after, node) { + var parent, grandpa, uncle; + if (after) { + node.P = after; + node.N = after.N; + if (after.N) after.N.P = node; + after.N = node; + if (after.R) { + after = after.R; + while (after.L) after = after.L; + after.L = node; + } else { + after.R = node; + } + parent = after; + } else if (this._) { + after = d3_geom_voronoiRedBlackFirst(this._); + node.P = null; + node.N = after; + after.P = after.L = node; + parent = after; + } else { + node.P = node.N = null; + this._ = node; + parent = null; + } + node.L = node.R = null; + node.U = parent; + node.C = true; + after = node; + while (parent && parent.C) { + grandpa = parent.U; + if (parent === grandpa.L) { + uncle = grandpa.R; + if (uncle && uncle.C) { + parent.C = uncle.C = false; + grandpa.C = true; + after = grandpa; + } else { + if (after === parent.R) { + d3_geom_voronoiRedBlackRotateLeft(this, parent); + after = parent; + parent = after.U; + } + parent.C = false; + grandpa.C = true; + d3_geom_voronoiRedBlackRotateRight(this, grandpa); + } + } else { + uncle = grandpa.L; + if (uncle && uncle.C) { + parent.C = uncle.C = false; + grandpa.C = true; + after = grandpa; + } else { + if (after === parent.L) { + d3_geom_voronoiRedBlackRotateRight(this, parent); + after = parent; + parent = after.U; + } + parent.C = false; + grandpa.C = true; + d3_geom_voronoiRedBlackRotateLeft(this, grandpa); + } + } + parent = after.U; + } + this._.C = false; + }, + remove: function(node) { + if (node.N) node.N.P = node.P; + if (node.P) node.P.N = node.N; + node.N = node.P = null; + var parent = node.U, sibling, left = node.L, right = node.R, next, red; + if (!left) next = right; else if (!right) next = left; else next = d3_geom_voronoiRedBlackFirst(right); + if (parent) { + if (parent.L === node) parent.L = next; else parent.R = next; + } else { + this._ = next; + } + if (left && right) { + red = next.C; + next.C = node.C; + next.L = left; + left.U = next; + if (next !== right) { + parent = next.U; + next.U = node.U; + node = next.R; + parent.L = node; + next.R = right; + right.U = next; + } else { + next.U = parent; + parent = next; + node = next.R; + } + } else { + red = node.C; + node = next; + } + if (node) node.U = parent; + if (red) return; + if (node && node.C) { + node.C = false; + return; + } + do { + if (node === this._) break; + if (node === parent.L) { + sibling = parent.R; + if (sibling.C) { + sibling.C = false; + parent.C = true; + d3_geom_voronoiRedBlackRotateLeft(this, parent); + sibling = parent.R; + } + if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) { + if (!sibling.R || !sibling.R.C) { + sibling.L.C = false; + sibling.C = true; + d3_geom_voronoiRedBlackRotateRight(this, sibling); + sibling = parent.R; + } + sibling.C = parent.C; + parent.C = sibling.R.C = false; + d3_geom_voronoiRedBlackRotateLeft(this, parent); + node = this._; + break; + } + } else { + sibling = parent.L; + if (sibling.C) { + sibling.C = false; + parent.C = true; + d3_geom_voronoiRedBlackRotateRight(this, parent); + sibling = parent.L; + } + if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) { + if (!sibling.L || !sibling.L.C) { + sibling.R.C = false; + sibling.C = true; + d3_geom_voronoiRedBlackRotateLeft(this, sibling); + sibling = parent.L; + } + sibling.C = parent.C; + parent.C = sibling.L.C = false; + d3_geom_voronoiRedBlackRotateRight(this, parent); + node = this._; + break; + } + } + sibling.C = true; + node = parent; + parent = parent.U; + } while (!node.C); + if (node) node.C = false; + } + }; + function d3_geom_voronoiRedBlackRotateLeft(tree, node) { + var p = node, q = node.R, parent = p.U; + if (parent) { + if (parent.L === p) parent.L = q; else parent.R = q; + } else { + tree._ = q; + } + q.U = parent; + p.U = q; + p.R = q.L; + if (p.R) p.R.U = p; + q.L = p; + } + function d3_geom_voronoiRedBlackRotateRight(tree, node) { + var p = node, q = node.L, parent = p.U; + if (parent) { + if (parent.L === p) parent.L = q; else parent.R = q; + } else { + tree._ = q; + } + q.U = parent; + p.U = q; + p.L = q.R; + if (p.L) p.L.U = p; + q.R = p; + } + function d3_geom_voronoiRedBlackFirst(node) { + while (node.L) node = node.L; + return node; + } + function d3_geom_voronoi(sites, bbox) { + var site = sites.sort(d3_geom_voronoiVertexOrder).pop(), x0, y0, circle; + d3_geom_voronoiEdges = []; + d3_geom_voronoiCells = new Array(sites.length); + d3_geom_voronoiBeaches = new d3_geom_voronoiRedBlackTree(); + d3_geom_voronoiCircles = new d3_geom_voronoiRedBlackTree(); + while (true) { + circle = d3_geom_voronoiFirstCircle; + if (site && (!circle || site.y < circle.y || site.y === circle.y && site.x < circle.x)) { + if (site.x !== x0 || site.y !== y0) { + d3_geom_voronoiCells[site.i] = new d3_geom_voronoiCell(site); + d3_geom_voronoiAddBeach(site); + x0 = site.x, y0 = site.y; + } + site = sites.pop(); + } else if (circle) { + d3_geom_voronoiRemoveBeach(circle.arc); + } else { + break; + } + } + if (bbox) d3_geom_voronoiClipEdges(bbox), d3_geom_voronoiCloseCells(bbox); + var diagram = { + cells: d3_geom_voronoiCells, + edges: d3_geom_voronoiEdges + }; + d3_geom_voronoiBeaches = d3_geom_voronoiCircles = d3_geom_voronoiEdges = d3_geom_voronoiCells = null; + return diagram; + } + function d3_geom_voronoiVertexOrder(a, b) { + return b.y - a.y || b.x - a.x; + } + d3.geom.voronoi = function(points) { + var x = d3_geom_pointX, y = d3_geom_pointY, fx = x, fy = y, clipExtent = d3_geom_voronoiClipExtent; + if (points) return voronoi(points); + function voronoi(data) { + var polygons = new Array(data.length), x0 = clipExtent[0][0], y0 = clipExtent[0][1], x1 = clipExtent[1][0], y1 = clipExtent[1][1]; + d3_geom_voronoi(sites(data), clipExtent).cells.forEach(function(cell, i) { + var edges = cell.edges, site = cell.site, polygon = polygons[i] = edges.length ? edges.map(function(e) { + var s = e.start(); + return [ s.x, s.y ]; + }) : site.x >= x0 && site.x <= x1 && site.y >= y0 && site.y <= y1 ? [ [ x0, y1 ], [ x1, y1 ], [ x1, y0 ], [ x0, y0 ] ] : []; + polygon.point = data[i]; + }); + return polygons; + } + function sites(data) { + return data.map(function(d, i) { + return { + x: Math.round(fx(d, i) / ε) * ε, + y: Math.round(fy(d, i) / ε) * ε, + i: i + }; + }); + } + voronoi.links = function(data) { + return d3_geom_voronoi(sites(data)).edges.filter(function(edge) { + return edge.l && edge.r; + }).map(function(edge) { + return { + source: data[edge.l.i], + target: data[edge.r.i] + }; + }); + }; + voronoi.triangles = function(data) { + var triangles = []; + d3_geom_voronoi(sites(data)).cells.forEach(function(cell, i) { + var site = cell.site, edges = cell.edges.sort(d3_geom_voronoiHalfEdgeOrder), j = -1, m = edges.length, e0, s0, e1 = edges[m - 1].edge, s1 = e1.l === site ? e1.r : e1.l; + while (++j < m) { + e0 = e1; + s0 = s1; + e1 = edges[j].edge; + s1 = e1.l === site ? e1.r : e1.l; + if (i < s0.i && i < s1.i && d3_geom_voronoiTriangleArea(site, s0, s1) < 0) { + triangles.push([ data[i], data[s0.i], data[s1.i] ]); + } + } + }); + return triangles; + }; + voronoi.x = function(_) { + return arguments.length ? (fx = d3_functor(x = _), voronoi) : x; + }; + voronoi.y = function(_) { + return arguments.length ? (fy = d3_functor(y = _), voronoi) : y; + }; + voronoi.clipExtent = function(_) { + if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent; + clipExtent = _ == null ? d3_geom_voronoiClipExtent : _; + return voronoi; + }; + voronoi.size = function(_) { + if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent && clipExtent[1]; + return voronoi.clipExtent(_ && [ [ 0, 0 ], _ ]); + }; + return voronoi; + }; + var d3_geom_voronoiClipExtent = [ [ -1e6, -1e6 ], [ 1e6, 1e6 ] ]; + function d3_geom_voronoiTriangleArea(a, b, c) { + return (a.x - c.x) * (b.y - a.y) - (a.x - b.x) * (c.y - a.y); + } + d3.geom.delaunay = function(vertices) { + return d3.geom.voronoi().triangles(vertices); + }; + d3.geom.quadtree = function(points, x1, y1, x2, y2) { + var x = d3_geom_pointX, y = d3_geom_pointY, compat; + if (compat = arguments.length) { + x = d3_geom_quadtreeCompatX; + y = d3_geom_quadtreeCompatY; + if (compat === 3) { + y2 = y1; + x2 = x1; + y1 = x1 = 0; + } + return quadtree(points); + } + function quadtree(data) { + var d, fx = d3_functor(x), fy = d3_functor(y), xs, ys, i, n, x1_, y1_, x2_, y2_; + if (x1 != null) { + x1_ = x1, y1_ = y1, x2_ = x2, y2_ = y2; + } else { + x2_ = y2_ = -(x1_ = y1_ = Infinity); + xs = [], ys = []; + n = data.length; + if (compat) for (i = 0; i < n; ++i) { + d = data[i]; + if (d.x < x1_) x1_ = d.x; + if (d.y < y1_) y1_ = d.y; + if (d.x > x2_) x2_ = d.x; + if (d.y > y2_) y2_ = d.y; + xs.push(d.x); + ys.push(d.y); + } else for (i = 0; i < n; ++i) { + var x_ = +fx(d = data[i], i), y_ = +fy(d, i); + if (x_ < x1_) x1_ = x_; + if (y_ < y1_) y1_ = y_; + if (x_ > x2_) x2_ = x_; + if (y_ > y2_) y2_ = y_; + xs.push(x_); + ys.push(y_); + } + } + var dx = x2_ - x1_, dy = y2_ - y1_; + if (dx > dy) y2_ = y1_ + dx; else x2_ = x1_ + dy; + function insert(n, d, x, y, x1, y1, x2, y2) { + if (isNaN(x) || isNaN(y)) return; + if (n.leaf) { + var nx = n.x, ny = n.y; + if (nx != null) { + if (abs(nx - x) + abs(ny - y) < .01) { + insertChild(n, d, x, y, x1, y1, x2, y2); + } else { + var nPoint = n.point; + n.x = n.y = n.point = null; + insertChild(n, nPoint, nx, ny, x1, y1, x2, y2); + insertChild(n, d, x, y, x1, y1, x2, y2); + } + } else { + n.x = x, n.y = y, n.point = d; + } + } else { + insertChild(n, d, x, y, x1, y1, x2, y2); + } + } + function insertChild(n, d, x, y, x1, y1, x2, y2) { + var xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym, i = below << 1 | right; + n.leaf = false; + n = n.nodes[i] || (n.nodes[i] = d3_geom_quadtreeNode()); + if (right) x1 = xm; else x2 = xm; + if (below) y1 = ym; else y2 = ym; + insert(n, d, x, y, x1, y1, x2, y2); + } + var root = d3_geom_quadtreeNode(); + root.add = function(d) { + insert(root, d, +fx(d, ++i), +fy(d, i), x1_, y1_, x2_, y2_); + }; + root.visit = function(f) { + d3_geom_quadtreeVisit(f, root, x1_, y1_, x2_, y2_); + }; + root.find = function(point) { + return d3_geom_quadtreeFind(root, point[0], point[1], x1_, y1_, x2_, y2_); + }; + i = -1; + if (x1 == null) { + while (++i < n) { + insert(root, data[i], xs[i], ys[i], x1_, y1_, x2_, y2_); + } + --i; + } else data.forEach(root.add); + xs = ys = data = d = null; + return root; + } + quadtree.x = function(_) { + return arguments.length ? (x = _, quadtree) : x; + }; + quadtree.y = function(_) { + return arguments.length ? (y = _, quadtree) : y; + }; + quadtree.extent = function(_) { + if (!arguments.length) return x1 == null ? null : [ [ x1, y1 ], [ x2, y2 ] ]; + if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = +_[0][0], y1 = +_[0][1], x2 = +_[1][0], + y2 = +_[1][1]; + return quadtree; + }; + quadtree.size = function(_) { + if (!arguments.length) return x1 == null ? null : [ x2 - x1, y2 - y1 ]; + if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = y1 = 0, x2 = +_[0], y2 = +_[1]; + return quadtree; + }; + return quadtree; + }; + function d3_geom_quadtreeCompatX(d) { + return d.x; + } + function d3_geom_quadtreeCompatY(d) { + return d.y; + } + function d3_geom_quadtreeNode() { + return { + leaf: true, + nodes: [], + point: null, + x: null, + y: null + }; + } + function d3_geom_quadtreeVisit(f, node, x1, y1, x2, y2) { + if (!f(node, x1, y1, x2, y2)) { + var sx = (x1 + x2) * .5, sy = (y1 + y2) * .5, children = node.nodes; + if (children[0]) d3_geom_quadtreeVisit(f, children[0], x1, y1, sx, sy); + if (children[1]) d3_geom_quadtreeVisit(f, children[1], sx, y1, x2, sy); + if (children[2]) d3_geom_quadtreeVisit(f, children[2], x1, sy, sx, y2); + if (children[3]) d3_geom_quadtreeVisit(f, children[3], sx, sy, x2, y2); + } + } + function d3_geom_quadtreeFind(root, x, y, x0, y0, x3, y3) { + var minDistance2 = Infinity, closestPoint; + (function find(node, x1, y1, x2, y2) { + if (x1 > x3 || y1 > y3 || x2 < x0 || y2 < y0) return; + if (point = node.point) { + var point, dx = x - node.x, dy = y - node.y, distance2 = dx * dx + dy * dy; + if (distance2 < minDistance2) { + var distance = Math.sqrt(minDistance2 = distance2); + x0 = x - distance, y0 = y - distance; + x3 = x + distance, y3 = y + distance; + closestPoint = point; + } + } + var children = node.nodes, xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym; + for (var i = below << 1 | right, j = i + 4; i < j; ++i) { + if (node = children[i & 3]) switch (i & 3) { + case 0: + find(node, x1, y1, xm, ym); + break; + + case 1: + find(node, xm, y1, x2, ym); + break; + + case 2: + find(node, x1, ym, xm, y2); + break; + + case 3: + find(node, xm, ym, x2, y2); + break; + } + } + })(root, x0, y0, x3, y3); + return closestPoint; + } + d3.interpolateRgb = d3_interpolateRgb; + function d3_interpolateRgb(a, b) { + a = d3.rgb(a); + b = d3.rgb(b); + var ar = a.r, ag = a.g, ab = a.b, br = b.r - ar, bg = b.g - ag, bb = b.b - ab; + return function(t) { + return "#" + d3_rgb_hex(Math.round(ar + br * t)) + d3_rgb_hex(Math.round(ag + bg * t)) + d3_rgb_hex(Math.round(ab + bb * t)); + }; + } + d3.interpolateObject = d3_interpolateObject; + function d3_interpolateObject(a, b) { + var i = {}, c = {}, k; + for (k in a) { + if (k in b) { + i[k] = d3_interpolate(a[k], b[k]); + } else { + c[k] = a[k]; + } + } + for (k in b) { + if (!(k in a)) { + c[k] = b[k]; + } + } + return function(t) { + for (k in i) c[k] = i[k](t); + return c; + }; + } + d3.interpolateNumber = d3_interpolateNumber; + function d3_interpolateNumber(a, b) { + a = +a, b = +b; + return function(t) { + return a * (1 - t) + b * t; + }; + } + d3.interpolateString = d3_interpolateString; + function d3_interpolateString(a, b) { + var bi = d3_interpolate_numberA.lastIndex = d3_interpolate_numberB.lastIndex = 0, am, bm, bs, i = -1, s = [], q = []; + a = a + "", b = b + ""; + while ((am = d3_interpolate_numberA.exec(a)) && (bm = d3_interpolate_numberB.exec(b))) { + if ((bs = bm.index) > bi) { + bs = b.slice(bi, bs); + if (s[i]) s[i] += bs; else s[++i] = bs; + } + if ((am = am[0]) === (bm = bm[0])) { + if (s[i]) s[i] += bm; else s[++i] = bm; + } else { + s[++i] = null; + q.push({ + i: i, + x: d3_interpolateNumber(am, bm) + }); + } + bi = d3_interpolate_numberB.lastIndex; + } + if (bi < b.length) { + bs = b.slice(bi); + if (s[i]) s[i] += bs; else s[++i] = bs; + } + return s.length < 2 ? q[0] ? (b = q[0].x, function(t) { + return b(t) + ""; + }) : function() { + return b; + } : (b = q.length, function(t) { + for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t); + return s.join(""); + }); + } + var d3_interpolate_numberA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, d3_interpolate_numberB = new RegExp(d3_interpolate_numberA.source, "g"); + d3.interpolate = d3_interpolate; + function d3_interpolate(a, b) { + var i = d3.interpolators.length, f; + while (--i >= 0 && !(f = d3.interpolators[i](a, b))) ; + return f; + } + d3.interpolators = [ function(a, b) { + var t = typeof b; + return (t === "string" ? d3_rgb_names.has(b) || /^(#|rgb\(|hsl\()/.test(b) ? d3_interpolateRgb : d3_interpolateString : b instanceof d3_color ? d3_interpolateRgb : Array.isArray(b) ? d3_interpolateArray : t === "object" && isNaN(b) ? d3_interpolateObject : d3_interpolateNumber)(a, b); + } ]; + d3.interpolateArray = d3_interpolateArray; + function d3_interpolateArray(a, b) { + var x = [], c = [], na = a.length, nb = b.length, n0 = Math.min(a.length, b.length), i; + for (i = 0; i < n0; ++i) x.push(d3_interpolate(a[i], b[i])); + for (;i < na; ++i) c[i] = a[i]; + for (;i < nb; ++i) c[i] = b[i]; + return function(t) { + for (i = 0; i < n0; ++i) c[i] = x[i](t); + return c; + }; + } + var d3_ease_default = function() { + return d3_identity; + }; + var d3_ease = d3.map({ + linear: d3_ease_default, + poly: d3_ease_poly, + quad: function() { + return d3_ease_quad; + }, + cubic: function() { + return d3_ease_cubic; + }, + sin: function() { + return d3_ease_sin; + }, + exp: function() { + return d3_ease_exp; + }, + circle: function() { + return d3_ease_circle; + }, + elastic: d3_ease_elastic, + back: d3_ease_back, + bounce: function() { + return d3_ease_bounce; + } + }); + var d3_ease_mode = d3.map({ + "in": d3_identity, + out: d3_ease_reverse, + "in-out": d3_ease_reflect, + "out-in": function(f) { + return d3_ease_reflect(d3_ease_reverse(f)); + } + }); + d3.ease = function(name) { + var i = name.indexOf("-"), t = i >= 0 ? name.slice(0, i) : name, m = i >= 0 ? name.slice(i + 1) : "in"; + t = d3_ease.get(t) || d3_ease_default; + m = d3_ease_mode.get(m) || d3_identity; + return d3_ease_clamp(m(t.apply(null, d3_arraySlice.call(arguments, 1)))); + }; + function d3_ease_clamp(f) { + return function(t) { + return t <= 0 ? 0 : t >= 1 ? 1 : f(t); + }; + } + function d3_ease_reverse(f) { + return function(t) { + return 1 - f(1 - t); + }; + } + function d3_ease_reflect(f) { + return function(t) { + return .5 * (t < .5 ? f(2 * t) : 2 - f(2 - 2 * t)); + }; + } + function d3_ease_quad(t) { + return t * t; + } + function d3_ease_cubic(t) { + return t * t * t; + } + function d3_ease_cubicInOut(t) { + if (t <= 0) return 0; + if (t >= 1) return 1; + var t2 = t * t, t3 = t2 * t; + return 4 * (t < .5 ? t3 : 3 * (t - t2) + t3 - .75); + } + function d3_ease_poly(e) { + return function(t) { + return Math.pow(t, e); + }; + } + function d3_ease_sin(t) { + return 1 - Math.cos(t * halfπ); + } + function d3_ease_exp(t) { + return Math.pow(2, 10 * (t - 1)); + } + function d3_ease_circle(t) { + return 1 - Math.sqrt(1 - t * t); + } + function d3_ease_elastic(a, p) { + var s; + if (arguments.length < 2) p = .45; + if (arguments.length) s = p / τ * Math.asin(1 / a); else a = 1, s = p / 4; + return function(t) { + return 1 + a * Math.pow(2, -10 * t) * Math.sin((t - s) * τ / p); + }; + } + function d3_ease_back(s) { + if (!s) s = 1.70158; + return function(t) { + return t * t * ((s + 1) * t - s); + }; + } + function d3_ease_bounce(t) { + return t < 1 / 2.75 ? 7.5625 * t * t : t < 2 / 2.75 ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : t < 2.5 / 2.75 ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375; + } + d3.interpolateHcl = d3_interpolateHcl; + function d3_interpolateHcl(a, b) { + a = d3.hcl(a); + b = d3.hcl(b); + var ah = a.h, ac = a.c, al = a.l, bh = b.h - ah, bc = b.c - ac, bl = b.l - al; + if (isNaN(bc)) bc = 0, ac = isNaN(ac) ? b.c : ac; + if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360; + return function(t) { + return d3_hcl_lab(ah + bh * t, ac + bc * t, al + bl * t) + ""; + }; + } + d3.interpolateHsl = d3_interpolateHsl; + function d3_interpolateHsl(a, b) { + a = d3.hsl(a); + b = d3.hsl(b); + var ah = a.h, as = a.s, al = a.l, bh = b.h - ah, bs = b.s - as, bl = b.l - al; + if (isNaN(bs)) bs = 0, as = isNaN(as) ? b.s : as; + if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360; + return function(t) { + return d3_hsl_rgb(ah + bh * t, as + bs * t, al + bl * t) + ""; + }; + } + d3.interpolateLab = d3_interpolateLab; + function d3_interpolateLab(a, b) { + a = d3.lab(a); + b = d3.lab(b); + var al = a.l, aa = a.a, ab = a.b, bl = b.l - al, ba = b.a - aa, bb = b.b - ab; + return function(t) { + return d3_lab_rgb(al + bl * t, aa + ba * t, ab + bb * t) + ""; + }; + } + d3.interpolateRound = d3_interpolateRound; + function d3_interpolateRound(a, b) { + b -= a; + return function(t) { + return Math.round(a + b * t); + }; + } + d3.transform = function(string) { + var g = d3_document.createElementNS(d3.ns.prefix.svg, "g"); + return (d3.transform = function(string) { + if (string != null) { + g.setAttribute("transform", string); + var t = g.transform.baseVal.consolidate(); + } + return new d3_transform(t ? t.matrix : d3_transformIdentity); + })(string); + }; + function d3_transform(m) { + var r0 = [ m.a, m.b ], r1 = [ m.c, m.d ], kx = d3_transformNormalize(r0), kz = d3_transformDot(r0, r1), ky = d3_transformNormalize(d3_transformCombine(r1, r0, -kz)) || 0; + if (r0[0] * r1[1] < r1[0] * r0[1]) { + r0[0] *= -1; + r0[1] *= -1; + kx *= -1; + kz *= -1; + } + this.rotate = (kx ? Math.atan2(r0[1], r0[0]) : Math.atan2(-r1[0], r1[1])) * d3_degrees; + this.translate = [ m.e, m.f ]; + this.scale = [ kx, ky ]; + this.skew = ky ? Math.atan2(kz, ky) * d3_degrees : 0; + } + d3_transform.prototype.toString = function() { + return "translate(" + this.translate + ")rotate(" + this.rotate + ")skewX(" + this.skew + ")scale(" + this.scale + ")"; + }; + function d3_transformDot(a, b) { + return a[0] * b[0] + a[1] * b[1]; + } + function d3_transformNormalize(a) { + var k = Math.sqrt(d3_transformDot(a, a)); + if (k) { + a[0] /= k; + a[1] /= k; + } + return k; + } + function d3_transformCombine(a, b, k) { + a[0] += k * b[0]; + a[1] += k * b[1]; + return a; + } + var d3_transformIdentity = { + a: 1, + b: 0, + c: 0, + d: 1, + e: 0, + f: 0 + }; + d3.interpolateTransform = d3_interpolateTransform; + function d3_interpolateTransform(a, b) { + var s = [], q = [], n, A = d3.transform(a), B = d3.transform(b), ta = A.translate, tb = B.translate, ra = A.rotate, rb = B.rotate, wa = A.skew, wb = B.skew, ka = A.scale, kb = B.scale; + if (ta[0] != tb[0] || ta[1] != tb[1]) { + s.push("translate(", null, ",", null, ")"); + q.push({ + i: 1, + x: d3_interpolateNumber(ta[0], tb[0]) + }, { + i: 3, + x: d3_interpolateNumber(ta[1], tb[1]) + }); + } else if (tb[0] || tb[1]) { + s.push("translate(" + tb + ")"); + } else { + s.push(""); + } + if (ra != rb) { + if (ra - rb > 180) rb += 360; else if (rb - ra > 180) ra += 360; + q.push({ + i: s.push(s.pop() + "rotate(", null, ")") - 2, + x: d3_interpolateNumber(ra, rb) + }); + } else if (rb) { + s.push(s.pop() + "rotate(" + rb + ")"); + } + if (wa != wb) { + q.push({ + i: s.push(s.pop() + "skewX(", null, ")") - 2, + x: d3_interpolateNumber(wa, wb) + }); + } else if (wb) { + s.push(s.pop() + "skewX(" + wb + ")"); + } + if (ka[0] != kb[0] || ka[1] != kb[1]) { + n = s.push(s.pop() + "scale(", null, ",", null, ")"); + q.push({ + i: n - 4, + x: d3_interpolateNumber(ka[0], kb[0]) + }, { + i: n - 2, + x: d3_interpolateNumber(ka[1], kb[1]) + }); + } else if (kb[0] != 1 || kb[1] != 1) { + s.push(s.pop() + "scale(" + kb + ")"); + } + n = q.length; + return function(t) { + var i = -1, o; + while (++i < n) s[(o = q[i]).i] = o.x(t); + return s.join(""); + }; + } + function d3_uninterpolateNumber(a, b) { + b = (b -= a = +a) || 1 / b; + return function(x) { + return (x - a) / b; + }; + } + function d3_uninterpolateClamp(a, b) { + b = (b -= a = +a) || 1 / b; + return function(x) { + return Math.max(0, Math.min(1, (x - a) / b)); + }; + } + d3.layout = {}; + d3.layout.bundle = function() { + return function(links) { + var paths = [], i = -1, n = links.length; + while (++i < n) paths.push(d3_layout_bundlePath(links[i])); + return paths; + }; + }; + function d3_layout_bundlePath(link) { + var start = link.source, end = link.target, lca = d3_layout_bundleLeastCommonAncestor(start, end), points = [ start ]; + while (start !== lca) { + start = start.parent; + points.push(start); + } + var k = points.length; + while (end !== lca) { + points.splice(k, 0, end); + end = end.parent; + } + return points; + } + function d3_layout_bundleAncestors(node) { + var ancestors = [], parent = node.parent; + while (parent != null) { + ancestors.push(node); + node = parent; + parent = parent.parent; + } + ancestors.push(node); + return ancestors; + } + function d3_layout_bundleLeastCommonAncestor(a, b) { + if (a === b) return a; + var aNodes = d3_layout_bundleAncestors(a), bNodes = d3_layout_bundleAncestors(b), aNode = aNodes.pop(), bNode = bNodes.pop(), sharedNode = null; + while (aNode === bNode) { + sharedNode = aNode; + aNode = aNodes.pop(); + bNode = bNodes.pop(); + } + return sharedNode; + } + d3.layout.chord = function() { + var chord = {}, chords, groups, matrix, n, padding = 0, sortGroups, sortSubgroups, sortChords; + function relayout() { + var subgroups = {}, groupSums = [], groupIndex = d3.range(n), subgroupIndex = [], k, x, x0, i, j; + chords = []; + groups = []; + k = 0, i = -1; + while (++i < n) { + x = 0, j = -1; + while (++j < n) { + x += matrix[i][j]; + } + groupSums.push(x); + subgroupIndex.push(d3.range(n)); + k += x; + } + if (sortGroups) { + groupIndex.sort(function(a, b) { + return sortGroups(groupSums[a], groupSums[b]); + }); + } + if (sortSubgroups) { + subgroupIndex.forEach(function(d, i) { + d.sort(function(a, b) { + return sortSubgroups(matrix[i][a], matrix[i][b]); + }); + }); + } + k = (τ - padding * n) / k; + x = 0, i = -1; + while (++i < n) { + x0 = x, j = -1; + while (++j < n) { + var di = groupIndex[i], dj = subgroupIndex[di][j], v = matrix[di][dj], a0 = x, a1 = x += v * k; + subgroups[di + "-" + dj] = { + index: di, + subindex: dj, + startAngle: a0, + endAngle: a1, + value: v + }; + } + groups[di] = { + index: di, + startAngle: x0, + endAngle: x, + value: (x - x0) / k + }; + x += padding; + } + i = -1; + while (++i < n) { + j = i - 1; + while (++j < n) { + var source = subgroups[i + "-" + j], target = subgroups[j + "-" + i]; + if (source.value || target.value) { + chords.push(source.value < target.value ? { + source: target, + target: source + } : { + source: source, + target: target + }); + } + } + } + if (sortChords) resort(); + } + function resort() { + chords.sort(function(a, b) { + return sortChords((a.source.value + a.target.value) / 2, (b.source.value + b.target.value) / 2); + }); + } + chord.matrix = function(x) { + if (!arguments.length) return matrix; + n = (matrix = x) && matrix.length; + chords = groups = null; + return chord; + }; + chord.padding = function(x) { + if (!arguments.length) return padding; + padding = x; + chords = groups = null; + return chord; + }; + chord.sortGroups = function(x) { + if (!arguments.length) return sortGroups; + sortGroups = x; + chords = groups = null; + return chord; + }; + chord.sortSubgroups = function(x) { + if (!arguments.length) return sortSubgroups; + sortSubgroups = x; + chords = null; + return chord; + }; + chord.sortChords = function(x) { + if (!arguments.length) return sortChords; + sortChords = x; + if (chords) resort(); + return chord; + }; + chord.chords = function() { + if (!chords) relayout(); + return chords; + }; + chord.groups = function() { + if (!groups) relayout(); + return groups; + }; + return chord; + }; + d3.layout.force = function() { + var force = {}, event = d3.dispatch("start", "tick", "end"), size = [ 1, 1 ], drag, alpha, friction = .9, linkDistance = d3_layout_forceLinkDistance, linkStrength = d3_layout_forceLinkStrength, charge = -30, chargeDistance2 = d3_layout_forceChargeDistance2, gravity = .1, theta2 = .64, nodes = [], links = [], distances, strengths, charges; + function repulse(node) { + return function(quad, x1, _, x2) { + if (quad.point !== node) { + var dx = quad.cx - node.x, dy = quad.cy - node.y, dw = x2 - x1, dn = dx * dx + dy * dy; + if (dw * dw / theta2 < dn) { + if (dn < chargeDistance2) { + var k = quad.charge / dn; + node.px -= dx * k; + node.py -= dy * k; + } + return true; + } + if (quad.point && dn && dn < chargeDistance2) { + var k = quad.pointCharge / dn; + node.px -= dx * k; + node.py -= dy * k; + } + } + return !quad.charge; + }; + } + force.tick = function() { + if ((alpha *= .99) < .005) { + event.end({ + type: "end", + alpha: alpha = 0 + }); + return true; + } + var n = nodes.length, m = links.length, q, i, o, s, t, l, k, x, y; + for (i = 0; i < m; ++i) { + o = links[i]; + s = o.source; + t = o.target; + x = t.x - s.x; + y = t.y - s.y; + if (l = x * x + y * y) { + l = alpha * strengths[i] * ((l = Math.sqrt(l)) - distances[i]) / l; + x *= l; + y *= l; + t.x -= x * (k = s.weight / (t.weight + s.weight)); + t.y -= y * k; + s.x += x * (k = 1 - k); + s.y += y * k; + } + } + if (k = alpha * gravity) { + x = size[0] / 2; + y = size[1] / 2; + i = -1; + if (k) while (++i < n) { + o = nodes[i]; + o.x += (x - o.x) * k; + o.y += (y - o.y) * k; + } + } + if (charge) { + d3_layout_forceAccumulate(q = d3.geom.quadtree(nodes), alpha, charges); + i = -1; + while (++i < n) { + if (!(o = nodes[i]).fixed) { + q.visit(repulse(o)); + } + } + } + i = -1; + while (++i < n) { + o = nodes[i]; + if (o.fixed) { + o.x = o.px; + o.y = o.py; + } else { + o.x -= (o.px - (o.px = o.x)) * friction; + o.y -= (o.py - (o.py = o.y)) * friction; + } + } + event.tick({ + type: "tick", + alpha: alpha + }); + }; + force.nodes = function(x) { + if (!arguments.length) return nodes; + nodes = x; + return force; + }; + force.links = function(x) { + if (!arguments.length) return links; + links = x; + return force; + }; + force.size = function(x) { + if (!arguments.length) return size; + size = x; + return force; + }; + force.linkDistance = function(x) { + if (!arguments.length) return linkDistance; + linkDistance = typeof x === "function" ? x : +x; + return force; + }; + force.distance = force.linkDistance; + force.linkStrength = function(x) { + if (!arguments.length) return linkStrength; + linkStrength = typeof x === "function" ? x : +x; + return force; + }; + force.friction = function(x) { + if (!arguments.length) return friction; + friction = +x; + return force; + }; + force.charge = function(x) { + if (!arguments.length) return charge; + charge = typeof x === "function" ? x : +x; + return force; + }; + force.chargeDistance = function(x) { + if (!arguments.length) return Math.sqrt(chargeDistance2); + chargeDistance2 = x * x; + return force; + }; + force.gravity = function(x) { + if (!arguments.length) return gravity; + gravity = +x; + return force; + }; + force.theta = function(x) { + if (!arguments.length) return Math.sqrt(theta2); + theta2 = x * x; + return force; + }; + force.alpha = function(x) { + if (!arguments.length) return alpha; + x = +x; + if (alpha) { + if (x > 0) alpha = x; else alpha = 0; + } else if (x > 0) { + event.start({ + type: "start", + alpha: alpha = x + }); + d3.timer(force.tick); + } + return force; + }; + force.start = function() { + var i, n = nodes.length, m = links.length, w = size[0], h = size[1], neighbors, o; + for (i = 0; i < n; ++i) { + (o = nodes[i]).index = i; + o.weight = 0; + } + for (i = 0; i < m; ++i) { + o = links[i]; + if (typeof o.source == "number") o.source = nodes[o.source]; + if (typeof o.target == "number") o.target = nodes[o.target]; + ++o.source.weight; + ++o.target.weight; + } + for (i = 0; i < n; ++i) { + o = nodes[i]; + if (isNaN(o.x)) o.x = position("x", w); + if (isNaN(o.y)) o.y = position("y", h); + if (isNaN(o.px)) o.px = o.x; + if (isNaN(o.py)) o.py = o.y; + } + distances = []; + if (typeof linkDistance === "function") for (i = 0; i < m; ++i) distances[i] = +linkDistance.call(this, links[i], i); else for (i = 0; i < m; ++i) distances[i] = linkDistance; + strengths = []; + if (typeof linkStrength === "function") for (i = 0; i < m; ++i) strengths[i] = +linkStrength.call(this, links[i], i); else for (i = 0; i < m; ++i) strengths[i] = linkStrength; + charges = []; + if (typeof charge === "function") for (i = 0; i < n; ++i) charges[i] = +charge.call(this, nodes[i], i); else for (i = 0; i < n; ++i) charges[i] = charge; + function position(dimension, size) { + if (!neighbors) { + neighbors = new Array(n); + for (j = 0; j < n; ++j) { + neighbors[j] = []; + } + for (j = 0; j < m; ++j) { + var o = links[j]; + neighbors[o.source.index].push(o.target); + neighbors[o.target.index].push(o.source); + } + } + var candidates = neighbors[i], j = -1, l = candidates.length, x; + while (++j < l) if (!isNaN(x = candidates[j][dimension])) return x; + return Math.random() * size; + } + return force.resume(); + }; + force.resume = function() { + return force.alpha(.1); + }; + force.stop = function() { + return force.alpha(0); + }; + force.drag = function() { + if (!drag) drag = d3.behavior.drag().origin(d3_identity).on("dragstart.force", d3_layout_forceDragstart).on("drag.force", dragmove).on("dragend.force", d3_layout_forceDragend); + if (!arguments.length) return drag; + this.on("mouseover.force", d3_layout_forceMouseover).on("mouseout.force", d3_layout_forceMouseout).call(drag); + }; + function dragmove(d) { + d.px = d3.event.x, d.py = d3.event.y; + force.resume(); + } + return d3.rebind(force, event, "on"); + }; + function d3_layout_forceDragstart(d) { + d.fixed |= 2; + } + function d3_layout_forceDragend(d) { + d.fixed &= ~6; + } + function d3_layout_forceMouseover(d) { + d.fixed |= 4; + d.px = d.x, d.py = d.y; + } + function d3_layout_forceMouseout(d) { + d.fixed &= ~4; + } + function d3_layout_forceAccumulate(quad, alpha, charges) { + var cx = 0, cy = 0; + quad.charge = 0; + if (!quad.leaf) { + var nodes = quad.nodes, n = nodes.length, i = -1, c; + while (++i < n) { + c = nodes[i]; + if (c == null) continue; + d3_layout_forceAccumulate(c, alpha, charges); + quad.charge += c.charge; + cx += c.charge * c.cx; + cy += c.charge * c.cy; + } + } + if (quad.point) { + if (!quad.leaf) { + quad.point.x += Math.random() - .5; + quad.point.y += Math.random() - .5; + } + var k = alpha * charges[quad.point.index]; + quad.charge += quad.pointCharge = k; + cx += k * quad.point.x; + cy += k * quad.point.y; + } + quad.cx = cx / quad.charge; + quad.cy = cy / quad.charge; + } + var d3_layout_forceLinkDistance = 20, d3_layout_forceLinkStrength = 1, d3_layout_forceChargeDistance2 = Infinity; + d3.layout.hierarchy = function() { + var sort = d3_layout_hierarchySort, children = d3_layout_hierarchyChildren, value = d3_layout_hierarchyValue; + function hierarchy(root) { + var stack = [ root ], nodes = [], node; + root.depth = 0; + while ((node = stack.pop()) != null) { + nodes.push(node); + if ((childs = children.call(hierarchy, node, node.depth)) && (n = childs.length)) { + var n, childs, child; + while (--n >= 0) { + stack.push(child = childs[n]); + child.parent = node; + child.depth = node.depth + 1; + } + if (value) node.value = 0; + node.children = childs; + } else { + if (value) node.value = +value.call(hierarchy, node, node.depth) || 0; + delete node.children; + } + } + d3_layout_hierarchyVisitAfter(root, function(node) { + var childs, parent; + if (sort && (childs = node.children)) childs.sort(sort); + if (value && (parent = node.parent)) parent.value += node.value; + }); + return nodes; + } + hierarchy.sort = function(x) { + if (!arguments.length) return sort; + sort = x; + return hierarchy; + }; + hierarchy.children = function(x) { + if (!arguments.length) return children; + children = x; + return hierarchy; + }; + hierarchy.value = function(x) { + if (!arguments.length) return value; + value = x; + return hierarchy; + }; + hierarchy.revalue = function(root) { + if (value) { + d3_layout_hierarchyVisitBefore(root, function(node) { + if (node.children) node.value = 0; + }); + d3_layout_hierarchyVisitAfter(root, function(node) { + var parent; + if (!node.children) node.value = +value.call(hierarchy, node, node.depth) || 0; + if (parent = node.parent) parent.value += node.value; + }); + } + return root; + }; + return hierarchy; + }; + function d3_layout_hierarchyRebind(object, hierarchy) { + d3.rebind(object, hierarchy, "sort", "children", "value"); + object.nodes = object; + object.links = d3_layout_hierarchyLinks; + return object; + } + function d3_layout_hierarchyVisitBefore(node, callback) { + var nodes = [ node ]; + while ((node = nodes.pop()) != null) { + callback(node); + if ((children = node.children) && (n = children.length)) { + var n, children; + while (--n >= 0) nodes.push(children[n]); + } + } + } + function d3_layout_hierarchyVisitAfter(node, callback) { + var nodes = [ node ], nodes2 = []; + while ((node = nodes.pop()) != null) { + nodes2.push(node); + if ((children = node.children) && (n = children.length)) { + var i = -1, n, children; + while (++i < n) nodes.push(children[i]); + } + } + while ((node = nodes2.pop()) != null) { + callback(node); + } + } + function d3_layout_hierarchyChildren(d) { + return d.children; + } + function d3_layout_hierarchyValue(d) { + return d.value; + } + function d3_layout_hierarchySort(a, b) { + return b.value - a.value; + } + function d3_layout_hierarchyLinks(nodes) { + return d3.merge(nodes.map(function(parent) { + return (parent.children || []).map(function(child) { + return { + source: parent, + target: child + }; + }); + })); + } + d3.layout.partition = function() { + var hierarchy = d3.layout.hierarchy(), size = [ 1, 1 ]; + function position(node, x, dx, dy) { + var children = node.children; + node.x = x; + node.y = node.depth * dy; + node.dx = dx; + node.dy = dy; + if (children && (n = children.length)) { + var i = -1, n, c, d; + dx = node.value ? dx / node.value : 0; + while (++i < n) { + position(c = children[i], x, d = c.value * dx, dy); + x += d; + } + } + } + function depth(node) { + var children = node.children, d = 0; + if (children && (n = children.length)) { + var i = -1, n; + while (++i < n) d = Math.max(d, depth(children[i])); + } + return 1 + d; + } + function partition(d, i) { + var nodes = hierarchy.call(this, d, i); + position(nodes[0], 0, size[0], size[1] / depth(nodes[0])); + return nodes; + } + partition.size = function(x) { + if (!arguments.length) return size; + size = x; + return partition; + }; + return d3_layout_hierarchyRebind(partition, hierarchy); + }; + d3.layout.pie = function() { + var value = Number, sort = d3_layout_pieSortByValue, startAngle = 0, endAngle = τ, padAngle = 0; + function pie(data) { + var n = data.length, values = data.map(function(d, i) { + return +value.call(pie, d, i); + }), a = +(typeof startAngle === "function" ? startAngle.apply(this, arguments) : startAngle), da = (typeof endAngle === "function" ? endAngle.apply(this, arguments) : endAngle) - a, p = Math.min(Math.abs(da) / n, +(typeof padAngle === "function" ? padAngle.apply(this, arguments) : padAngle)), pa = p * (da < 0 ? -1 : 1), k = (da - n * pa) / d3.sum(values), index = d3.range(n), arcs = [], v; + if (sort != null) index.sort(sort === d3_layout_pieSortByValue ? function(i, j) { + return values[j] - values[i]; + } : function(i, j) { + return sort(data[i], data[j]); + }); + index.forEach(function(i) { + arcs[i] = { + data: data[i], + value: v = values[i], + startAngle: a, + endAngle: a += v * k + pa, + padAngle: p + }; + }); + return arcs; + } + pie.value = function(_) { + if (!arguments.length) return value; + value = _; + return pie; + }; + pie.sort = function(_) { + if (!arguments.length) return sort; + sort = _; + return pie; + }; + pie.startAngle = function(_) { + if (!arguments.length) return startAngle; + startAngle = _; + return pie; + }; + pie.endAngle = function(_) { + if (!arguments.length) return endAngle; + endAngle = _; + return pie; + }; + pie.padAngle = function(_) { + if (!arguments.length) return padAngle; + padAngle = _; + return pie; + }; + return pie; + }; + var d3_layout_pieSortByValue = {}; + d3.layout.stack = function() { + var values = d3_identity, order = d3_layout_stackOrderDefault, offset = d3_layout_stackOffsetZero, out = d3_layout_stackOut, x = d3_layout_stackX, y = d3_layout_stackY; + function stack(data, index) { + if (!(n = data.length)) return data; + var series = data.map(function(d, i) { + return values.call(stack, d, i); + }); + var points = series.map(function(d) { + return d.map(function(v, i) { + return [ x.call(stack, v, i), y.call(stack, v, i) ]; + }); + }); + var orders = order.call(stack, points, index); + series = d3.permute(series, orders); + points = d3.permute(points, orders); + var offsets = offset.call(stack, points, index); + var m = series[0].length, n, i, j, o; + for (j = 0; j < m; ++j) { + out.call(stack, series[0][j], o = offsets[j], points[0][j][1]); + for (i = 1; i < n; ++i) { + out.call(stack, series[i][j], o += points[i - 1][j][1], points[i][j][1]); + } + } + return data; + } + stack.values = function(x) { + if (!arguments.length) return values; + values = x; + return stack; + }; + stack.order = function(x) { + if (!arguments.length) return order; + order = typeof x === "function" ? x : d3_layout_stackOrders.get(x) || d3_layout_stackOrderDefault; + return stack; + }; + stack.offset = function(x) { + if (!arguments.length) return offset; + offset = typeof x === "function" ? x : d3_layout_stackOffsets.get(x) || d3_layout_stackOffsetZero; + return stack; + }; + stack.x = function(z) { + if (!arguments.length) return x; + x = z; + return stack; + }; + stack.y = function(z) { + if (!arguments.length) return y; + y = z; + return stack; + }; + stack.out = function(z) { + if (!arguments.length) return out; + out = z; + return stack; + }; + return stack; + }; + function d3_layout_stackX(d) { + return d.x; + } + function d3_layout_stackY(d) { + return d.y; + } + function d3_layout_stackOut(d, y0, y) { + d.y0 = y0; + d.y = y; + } + var d3_layout_stackOrders = d3.map({ + "inside-out": function(data) { + var n = data.length, i, j, max = data.map(d3_layout_stackMaxIndex), sums = data.map(d3_layout_stackReduceSum), index = d3.range(n).sort(function(a, b) { + return max[a] - max[b]; + }), top = 0, bottom = 0, tops = [], bottoms = []; + for (i = 0; i < n; ++i) { + j = index[i]; + if (top < bottom) { + top += sums[j]; + tops.push(j); + } else { + bottom += sums[j]; + bottoms.push(j); + } + } + return bottoms.reverse().concat(tops); + }, + reverse: function(data) { + return d3.range(data.length).reverse(); + }, + "default": d3_layout_stackOrderDefault + }); + var d3_layout_stackOffsets = d3.map({ + silhouette: function(data) { + var n = data.length, m = data[0].length, sums = [], max = 0, i, j, o, y0 = []; + for (j = 0; j < m; ++j) { + for (i = 0, o = 0; i < n; i++) o += data[i][j][1]; + if (o > max) max = o; + sums.push(o); + } + for (j = 0; j < m; ++j) { + y0[j] = (max - sums[j]) / 2; + } + return y0; + }, + wiggle: function(data) { + var n = data.length, x = data[0], m = x.length, i, j, k, s1, s2, s3, dx, o, o0, y0 = []; + y0[0] = o = o0 = 0; + for (j = 1; j < m; ++j) { + for (i = 0, s1 = 0; i < n; ++i) s1 += data[i][j][1]; + for (i = 0, s2 = 0, dx = x[j][0] - x[j - 1][0]; i < n; ++i) { + for (k = 0, s3 = (data[i][j][1] - data[i][j - 1][1]) / (2 * dx); k < i; ++k) { + s3 += (data[k][j][1] - data[k][j - 1][1]) / dx; + } + s2 += s3 * data[i][j][1]; + } + y0[j] = o -= s1 ? s2 / s1 * dx : 0; + if (o < o0) o0 = o; + } + for (j = 0; j < m; ++j) y0[j] -= o0; + return y0; + }, + expand: function(data) { + var n = data.length, m = data[0].length, k = 1 / n, i, j, o, y0 = []; + for (j = 0; j < m; ++j) { + for (i = 0, o = 0; i < n; i++) o += data[i][j][1]; + if (o) for (i = 0; i < n; i++) data[i][j][1] /= o; else for (i = 0; i < n; i++) data[i][j][1] = k; + } + for (j = 0; j < m; ++j) y0[j] = 0; + return y0; + }, + zero: d3_layout_stackOffsetZero + }); + function d3_layout_stackOrderDefault(data) { + return d3.range(data.length); + } + function d3_layout_stackOffsetZero(data) { + var j = -1, m = data[0].length, y0 = []; + while (++j < m) y0[j] = 0; + return y0; + } + function d3_layout_stackMaxIndex(array) { + var i = 1, j = 0, v = array[0][1], k, n = array.length; + for (;i < n; ++i) { + if ((k = array[i][1]) > v) { + j = i; + v = k; + } + } + return j; + } + function d3_layout_stackReduceSum(d) { + return d.reduce(d3_layout_stackSum, 0); + } + function d3_layout_stackSum(p, d) { + return p + d[1]; + } + d3.layout.histogram = function() { + var frequency = true, valuer = Number, ranger = d3_layout_histogramRange, binner = d3_layout_histogramBinSturges; + function histogram(data, i) { + var bins = [], values = data.map(valuer, this), range = ranger.call(this, values, i), thresholds = binner.call(this, range, values, i), bin, i = -1, n = values.length, m = thresholds.length - 1, k = frequency ? 1 : 1 / n, x; + while (++i < m) { + bin = bins[i] = []; + bin.dx = thresholds[i + 1] - (bin.x = thresholds[i]); + bin.y = 0; + } + if (m > 0) { + i = -1; + while (++i < n) { + x = values[i]; + if (x >= range[0] && x <= range[1]) { + bin = bins[d3.bisect(thresholds, x, 1, m) - 1]; + bin.y += k; + bin.push(data[i]); + } + } + } + return bins; + } + histogram.value = function(x) { + if (!arguments.length) return valuer; + valuer = x; + return histogram; + }; + histogram.range = function(x) { + if (!arguments.length) return ranger; + ranger = d3_functor(x); + return histogram; + }; + histogram.bins = function(x) { + if (!arguments.length) return binner; + binner = typeof x === "number" ? function(range) { + return d3_layout_histogramBinFixed(range, x); + } : d3_functor(x); + return histogram; + }; + histogram.frequency = function(x) { + if (!arguments.length) return frequency; + frequency = !!x; + return histogram; + }; + return histogram; + }; + function d3_layout_histogramBinSturges(range, values) { + return d3_layout_histogramBinFixed(range, Math.ceil(Math.log(values.length) / Math.LN2 + 1)); + } + function d3_layout_histogramBinFixed(range, n) { + var x = -1, b = +range[0], m = (range[1] - b) / n, f = []; + while (++x <= n) f[x] = m * x + b; + return f; + } + function d3_layout_histogramRange(values) { + return [ d3.min(values), d3.max(values) ]; + } + d3.layout.pack = function() { + var hierarchy = d3.layout.hierarchy().sort(d3_layout_packSort), padding = 0, size = [ 1, 1 ], radius; + function pack(d, i) { + var nodes = hierarchy.call(this, d, i), root = nodes[0], w = size[0], h = size[1], r = radius == null ? Math.sqrt : typeof radius === "function" ? radius : function() { + return radius; + }; + root.x = root.y = 0; + d3_layout_hierarchyVisitAfter(root, function(d) { + d.r = +r(d.value); + }); + d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings); + if (padding) { + var dr = padding * (radius ? 1 : Math.max(2 * root.r / w, 2 * root.r / h)) / 2; + d3_layout_hierarchyVisitAfter(root, function(d) { + d.r += dr; + }); + d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings); + d3_layout_hierarchyVisitAfter(root, function(d) { + d.r -= dr; + }); + } + d3_layout_packTransform(root, w / 2, h / 2, radius ? 1 : 1 / Math.max(2 * root.r / w, 2 * root.r / h)); + return nodes; + } + pack.size = function(_) { + if (!arguments.length) return size; + size = _; + return pack; + }; + pack.radius = function(_) { + if (!arguments.length) return radius; + radius = _ == null || typeof _ === "function" ? _ : +_; + return pack; + }; + pack.padding = function(_) { + if (!arguments.length) return padding; + padding = +_; + return pack; + }; + return d3_layout_hierarchyRebind(pack, hierarchy); + }; + function d3_layout_packSort(a, b) { + return a.value - b.value; + } + function d3_layout_packInsert(a, b) { + var c = a._pack_next; + a._pack_next = b; + b._pack_prev = a; + b._pack_next = c; + c._pack_prev = b; + } + function d3_layout_packSplice(a, b) { + a._pack_next = b; + b._pack_prev = a; + } + function d3_layout_packIntersects(a, b) { + var dx = b.x - a.x, dy = b.y - a.y, dr = a.r + b.r; + return .999 * dr * dr > dx * dx + dy * dy; + } + function d3_layout_packSiblings(node) { + if (!(nodes = node.children) || !(n = nodes.length)) return; + var nodes, xMin = Infinity, xMax = -Infinity, yMin = Infinity, yMax = -Infinity, a, b, c, i, j, k, n; + function bound(node) { + xMin = Math.min(node.x - node.r, xMin); + xMax = Math.max(node.x + node.r, xMax); + yMin = Math.min(node.y - node.r, yMin); + yMax = Math.max(node.y + node.r, yMax); + } + nodes.forEach(d3_layout_packLink); + a = nodes[0]; + a.x = -a.r; + a.y = 0; + bound(a); + if (n > 1) { + b = nodes[1]; + b.x = b.r; + b.y = 0; + bound(b); + if (n > 2) { + c = nodes[2]; + d3_layout_packPlace(a, b, c); + bound(c); + d3_layout_packInsert(a, c); + a._pack_prev = c; + d3_layout_packInsert(c, b); + b = a._pack_next; + for (i = 3; i < n; i++) { + d3_layout_packPlace(a, b, c = nodes[i]); + var isect = 0, s1 = 1, s2 = 1; + for (j = b._pack_next; j !== b; j = j._pack_next, s1++) { + if (d3_layout_packIntersects(j, c)) { + isect = 1; + break; + } + } + if (isect == 1) { + for (k = a._pack_prev; k !== j._pack_prev; k = k._pack_prev, s2++) { + if (d3_layout_packIntersects(k, c)) { + break; + } + } + } + if (isect) { + if (s1 < s2 || s1 == s2 && b.r < a.r) d3_layout_packSplice(a, b = j); else d3_layout_packSplice(a = k, b); + i--; + } else { + d3_layout_packInsert(a, c); + b = c; + bound(c); + } + } + } + } + var cx = (xMin + xMax) / 2, cy = (yMin + yMax) / 2, cr = 0; + for (i = 0; i < n; i++) { + c = nodes[i]; + c.x -= cx; + c.y -= cy; + cr = Math.max(cr, c.r + Math.sqrt(c.x * c.x + c.y * c.y)); + } + node.r = cr; + nodes.forEach(d3_layout_packUnlink); + } + function d3_layout_packLink(node) { + node._pack_next = node._pack_prev = node; + } + function d3_layout_packUnlink(node) { + delete node._pack_next; + delete node._pack_prev; + } + function d3_layout_packTransform(node, x, y, k) { + var children = node.children; + node.x = x += k * node.x; + node.y = y += k * node.y; + node.r *= k; + if (children) { + var i = -1, n = children.length; + while (++i < n) d3_layout_packTransform(children[i], x, y, k); + } + } + function d3_layout_packPlace(a, b, c) { + var db = a.r + c.r, dx = b.x - a.x, dy = b.y - a.y; + if (db && (dx || dy)) { + var da = b.r + c.r, dc = dx * dx + dy * dy; + da *= da; + db *= db; + var x = .5 + (db - da) / (2 * dc), y = Math.sqrt(Math.max(0, 2 * da * (db + dc) - (db -= dc) * db - da * da)) / (2 * dc); + c.x = a.x + x * dx + y * dy; + c.y = a.y + x * dy - y * dx; + } else { + c.x = a.x + db; + c.y = a.y; + } + } + d3.layout.tree = function() { + var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = null; + function tree(d, i) { + var nodes = hierarchy.call(this, d, i), root0 = nodes[0], root1 = wrapTree(root0); + d3_layout_hierarchyVisitAfter(root1, firstWalk), root1.parent.m = -root1.z; + d3_layout_hierarchyVisitBefore(root1, secondWalk); + if (nodeSize) d3_layout_hierarchyVisitBefore(root0, sizeNode); else { + var left = root0, right = root0, bottom = root0; + d3_layout_hierarchyVisitBefore(root0, function(node) { + if (node.x < left.x) left = node; + if (node.x > right.x) right = node; + if (node.depth > bottom.depth) bottom = node; + }); + var tx = separation(left, right) / 2 - left.x, kx = size[0] / (right.x + separation(right, left) / 2 + tx), ky = size[1] / (bottom.depth || 1); + d3_layout_hierarchyVisitBefore(root0, function(node) { + node.x = (node.x + tx) * kx; + node.y = node.depth * ky; + }); + } + return nodes; + } + function wrapTree(root0) { + var root1 = { + A: null, + children: [ root0 ] + }, queue = [ root1 ], node1; + while ((node1 = queue.pop()) != null) { + for (var children = node1.children, child, i = 0, n = children.length; i < n; ++i) { + queue.push((children[i] = child = { + _: children[i], + parent: node1, + children: (child = children[i].children) && child.slice() || [], + A: null, + a: null, + z: 0, + m: 0, + c: 0, + s: 0, + t: null, + i: i + }).a = child); + } + } + return root1.children[0]; + } + function firstWalk(v) { + var children = v.children, siblings = v.parent.children, w = v.i ? siblings[v.i - 1] : null; + if (children.length) { + d3_layout_treeShift(v); + var midpoint = (children[0].z + children[children.length - 1].z) / 2; + if (w) { + v.z = w.z + separation(v._, w._); + v.m = v.z - midpoint; + } else { + v.z = midpoint; + } + } else if (w) { + v.z = w.z + separation(v._, w._); + } + v.parent.A = apportion(v, w, v.parent.A || siblings[0]); + } + function secondWalk(v) { + v._.x = v.z + v.parent.m; + v.m += v.parent.m; + } + function apportion(v, w, ancestor) { + if (w) { + var vip = v, vop = v, vim = w, vom = vip.parent.children[0], sip = vip.m, sop = vop.m, sim = vim.m, som = vom.m, shift; + while (vim = d3_layout_treeRight(vim), vip = d3_layout_treeLeft(vip), vim && vip) { + vom = d3_layout_treeLeft(vom); + vop = d3_layout_treeRight(vop); + vop.a = v; + shift = vim.z + sim - vip.z - sip + separation(vim._, vip._); + if (shift > 0) { + d3_layout_treeMove(d3_layout_treeAncestor(vim, v, ancestor), v, shift); + sip += shift; + sop += shift; + } + sim += vim.m; + sip += vip.m; + som += vom.m; + sop += vop.m; + } + if (vim && !d3_layout_treeRight(vop)) { + vop.t = vim; + vop.m += sim - sop; + } + if (vip && !d3_layout_treeLeft(vom)) { + vom.t = vip; + vom.m += sip - som; + ancestor = v; + } + } + return ancestor; + } + function sizeNode(node) { + node.x *= size[0]; + node.y = node.depth * size[1]; + } + tree.separation = function(x) { + if (!arguments.length) return separation; + separation = x; + return tree; + }; + tree.size = function(x) { + if (!arguments.length) return nodeSize ? null : size; + nodeSize = (size = x) == null ? sizeNode : null; + return tree; + }; + tree.nodeSize = function(x) { + if (!arguments.length) return nodeSize ? size : null; + nodeSize = (size = x) == null ? null : sizeNode; + return tree; + }; + return d3_layout_hierarchyRebind(tree, hierarchy); + }; + function d3_layout_treeSeparation(a, b) { + return a.parent == b.parent ? 1 : 2; + } + function d3_layout_treeLeft(v) { + var children = v.children; + return children.length ? children[0] : v.t; + } + function d3_layout_treeRight(v) { + var children = v.children, n; + return (n = children.length) ? children[n - 1] : v.t; + } + function d3_layout_treeMove(wm, wp, shift) { + var change = shift / (wp.i - wm.i); + wp.c -= change; + wp.s += shift; + wm.c += change; + wp.z += shift; + wp.m += shift; + } + function d3_layout_treeShift(v) { + var shift = 0, change = 0, children = v.children, i = children.length, w; + while (--i >= 0) { + w = children[i]; + w.z += shift; + w.m += shift; + shift += w.s + (change += w.c); + } + } + function d3_layout_treeAncestor(vim, v, ancestor) { + return vim.a.parent === v.parent ? vim.a : ancestor; + } + d3.layout.cluster = function() { + var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = false; + function cluster(d, i) { + var nodes = hierarchy.call(this, d, i), root = nodes[0], previousNode, x = 0; + d3_layout_hierarchyVisitAfter(root, function(node) { + var children = node.children; + if (children && children.length) { + node.x = d3_layout_clusterX(children); + node.y = d3_layout_clusterY(children); + } else { + node.x = previousNode ? x += separation(node, previousNode) : 0; + node.y = 0; + previousNode = node; + } + }); + var left = d3_layout_clusterLeft(root), right = d3_layout_clusterRight(root), x0 = left.x - separation(left, right) / 2, x1 = right.x + separation(right, left) / 2; + d3_layout_hierarchyVisitAfter(root, nodeSize ? function(node) { + node.x = (node.x - root.x) * size[0]; + node.y = (root.y - node.y) * size[1]; + } : function(node) { + node.x = (node.x - x0) / (x1 - x0) * size[0]; + node.y = (1 - (root.y ? node.y / root.y : 1)) * size[1]; + }); + return nodes; + } + cluster.separation = function(x) { + if (!arguments.length) return separation; + separation = x; + return cluster; + }; + cluster.size = function(x) { + if (!arguments.length) return nodeSize ? null : size; + nodeSize = (size = x) == null; + return cluster; + }; + cluster.nodeSize = function(x) { + if (!arguments.length) return nodeSize ? size : null; + nodeSize = (size = x) != null; + return cluster; + }; + return d3_layout_hierarchyRebind(cluster, hierarchy); + }; + function d3_layout_clusterY(children) { + return 1 + d3.max(children, function(child) { + return child.y; + }); + } + function d3_layout_clusterX(children) { + return children.reduce(function(x, child) { + return x + child.x; + }, 0) / children.length; + } + function d3_layout_clusterLeft(node) { + var children = node.children; + return children && children.length ? d3_layout_clusterLeft(children[0]) : node; + } + function d3_layout_clusterRight(node) { + var children = node.children, n; + return children && (n = children.length) ? d3_layout_clusterRight(children[n - 1]) : node; + } + d3.layout.treemap = function() { + var hierarchy = d3.layout.hierarchy(), round = Math.round, size = [ 1, 1 ], padding = null, pad = d3_layout_treemapPadNull, sticky = false, stickies, mode = "squarify", ratio = .5 * (1 + Math.sqrt(5)); + function scale(children, k) { + var i = -1, n = children.length, child, area; + while (++i < n) { + area = (child = children[i]).value * (k < 0 ? 0 : k); + child.area = isNaN(area) || area <= 0 ? 0 : area; + } + } + function squarify(node) { + var children = node.children; + if (children && children.length) { + var rect = pad(node), row = [], remaining = children.slice(), child, best = Infinity, score, u = mode === "slice" ? rect.dx : mode === "dice" ? rect.dy : mode === "slice-dice" ? node.depth & 1 ? rect.dy : rect.dx : Math.min(rect.dx, rect.dy), n; + scale(remaining, rect.dx * rect.dy / node.value); + row.area = 0; + while ((n = remaining.length) > 0) { + row.push(child = remaining[n - 1]); + row.area += child.area; + if (mode !== "squarify" || (score = worst(row, u)) <= best) { + remaining.pop(); + best = score; + } else { + row.area -= row.pop().area; + position(row, u, rect, false); + u = Math.min(rect.dx, rect.dy); + row.length = row.area = 0; + best = Infinity; + } + } + if (row.length) { + position(row, u, rect, true); + row.length = row.area = 0; + } + children.forEach(squarify); + } + } + function stickify(node) { + var children = node.children; + if (children && children.length) { + var rect = pad(node), remaining = children.slice(), child, row = []; + scale(remaining, rect.dx * rect.dy / node.value); + row.area = 0; + while (child = remaining.pop()) { + row.push(child); + row.area += child.area; + if (child.z != null) { + position(row, child.z ? rect.dx : rect.dy, rect, !remaining.length); + row.length = row.area = 0; + } + } + children.forEach(stickify); + } + } + function worst(row, u) { + var s = row.area, r, rmax = 0, rmin = Infinity, i = -1, n = row.length; + while (++i < n) { + if (!(r = row[i].area)) continue; + if (r < rmin) rmin = r; + if (r > rmax) rmax = r; + } + s *= s; + u *= u; + return s ? Math.max(u * rmax * ratio / s, s / (u * rmin * ratio)) : Infinity; + } + function position(row, u, rect, flush) { + var i = -1, n = row.length, x = rect.x, y = rect.y, v = u ? round(row.area / u) : 0, o; + if (u == rect.dx) { + if (flush || v > rect.dy) v = rect.dy; + while (++i < n) { + o = row[i]; + o.x = x; + o.y = y; + o.dy = v; + x += o.dx = Math.min(rect.x + rect.dx - x, v ? round(o.area / v) : 0); + } + o.z = true; + o.dx += rect.x + rect.dx - x; + rect.y += v; + rect.dy -= v; + } else { + if (flush || v > rect.dx) v = rect.dx; + while (++i < n) { + o = row[i]; + o.x = x; + o.y = y; + o.dx = v; + y += o.dy = Math.min(rect.y + rect.dy - y, v ? round(o.area / v) : 0); + } + o.z = false; + o.dy += rect.y + rect.dy - y; + rect.x += v; + rect.dx -= v; + } + } + function treemap(d) { + var nodes = stickies || hierarchy(d), root = nodes[0]; + root.x = 0; + root.y = 0; + root.dx = size[0]; + root.dy = size[1]; + if (stickies) hierarchy.revalue(root); + scale([ root ], root.dx * root.dy / root.value); + (stickies ? stickify : squarify)(root); + if (sticky) stickies = nodes; + return nodes; + } + treemap.size = function(x) { + if (!arguments.length) return size; + size = x; + return treemap; + }; + treemap.padding = function(x) { + if (!arguments.length) return padding; + function padFunction(node) { + var p = x.call(treemap, node, node.depth); + return p == null ? d3_layout_treemapPadNull(node) : d3_layout_treemapPad(node, typeof p === "number" ? [ p, p, p, p ] : p); + } + function padConstant(node) { + return d3_layout_treemapPad(node, x); + } + var type; + pad = (padding = x) == null ? d3_layout_treemapPadNull : (type = typeof x) === "function" ? padFunction : type === "number" ? (x = [ x, x, x, x ], + padConstant) : padConstant; + return treemap; + }; + treemap.round = function(x) { + if (!arguments.length) return round != Number; + round = x ? Math.round : Number; + return treemap; + }; + treemap.sticky = function(x) { + if (!arguments.length) return sticky; + sticky = x; + stickies = null; + return treemap; + }; + treemap.ratio = function(x) { + if (!arguments.length) return ratio; + ratio = x; + return treemap; + }; + treemap.mode = function(x) { + if (!arguments.length) return mode; + mode = x + ""; + return treemap; + }; + return d3_layout_hierarchyRebind(treemap, hierarchy); + }; + function d3_layout_treemapPadNull(node) { + return { + x: node.x, + y: node.y, + dx: node.dx, + dy: node.dy + }; + } + function d3_layout_treemapPad(node, padding) { + var x = node.x + padding[3], y = node.y + padding[0], dx = node.dx - padding[1] - padding[3], dy = node.dy - padding[0] - padding[2]; + if (dx < 0) { + x += dx / 2; + dx = 0; + } + if (dy < 0) { + y += dy / 2; + dy = 0; + } + return { + x: x, + y: y, + dx: dx, + dy: dy + }; + } + d3.random = { + normal: function(µ, σ) { + var n = arguments.length; + if (n < 2) σ = 1; + if (n < 1) µ = 0; + return function() { + var x, y, r; + do { + x = Math.random() * 2 - 1; + y = Math.random() * 2 - 1; + r = x * x + y * y; + } while (!r || r > 1); + return µ + σ * x * Math.sqrt(-2 * Math.log(r) / r); + }; + }, + logNormal: function() { + var random = d3.random.normal.apply(d3, arguments); + return function() { + return Math.exp(random()); + }; + }, + bates: function(m) { + var random = d3.random.irwinHall(m); + return function() { + return random() / m; + }; + }, + irwinHall: function(m) { + return function() { + for (var s = 0, j = 0; j < m; j++) s += Math.random(); + return s; + }; + } + }; + d3.scale = {}; + function d3_scaleExtent(domain) { + var start = domain[0], stop = domain[domain.length - 1]; + return start < stop ? [ start, stop ] : [ stop, start ]; + } + function d3_scaleRange(scale) { + return scale.rangeExtent ? scale.rangeExtent() : d3_scaleExtent(scale.range()); + } + function d3_scale_bilinear(domain, range, uninterpolate, interpolate) { + var u = uninterpolate(domain[0], domain[1]), i = interpolate(range[0], range[1]); + return function(x) { + return i(u(x)); + }; + } + function d3_scale_nice(domain, nice) { + var i0 = 0, i1 = domain.length - 1, x0 = domain[i0], x1 = domain[i1], dx; + if (x1 < x0) { + dx = i0, i0 = i1, i1 = dx; + dx = x0, x0 = x1, x1 = dx; + } + domain[i0] = nice.floor(x0); + domain[i1] = nice.ceil(x1); + return domain; + } + function d3_scale_niceStep(step) { + return step ? { + floor: function(x) { + return Math.floor(x / step) * step; + }, + ceil: function(x) { + return Math.ceil(x / step) * step; + } + } : d3_scale_niceIdentity; + } + var d3_scale_niceIdentity = { + floor: d3_identity, + ceil: d3_identity + }; + function d3_scale_polylinear(domain, range, uninterpolate, interpolate) { + var u = [], i = [], j = 0, k = Math.min(domain.length, range.length) - 1; + if (domain[k] < domain[0]) { + domain = domain.slice().reverse(); + range = range.slice().reverse(); + } + while (++j <= k) { + u.push(uninterpolate(domain[j - 1], domain[j])); + i.push(interpolate(range[j - 1], range[j])); + } + return function(x) { + var j = d3.bisect(domain, x, 1, k) - 1; + return i[j](u[j](x)); + }; + } + d3.scale.linear = function() { + return d3_scale_linear([ 0, 1 ], [ 0, 1 ], d3_interpolate, false); + }; + function d3_scale_linear(domain, range, interpolate, clamp) { + var output, input; + function rescale() { + var linear = Math.min(domain.length, range.length) > 2 ? d3_scale_polylinear : d3_scale_bilinear, uninterpolate = clamp ? d3_uninterpolateClamp : d3_uninterpolateNumber; + output = linear(domain, range, uninterpolate, interpolate); + input = linear(range, domain, uninterpolate, d3_interpolate); + return scale; + } + function scale(x) { + return output(x); + } + scale.invert = function(y) { + return input(y); + }; + scale.domain = function(x) { + if (!arguments.length) return domain; + domain = x.map(Number); + return rescale(); + }; + scale.range = function(x) { + if (!arguments.length) return range; + range = x; + return rescale(); + }; + scale.rangeRound = function(x) { + return scale.range(x).interpolate(d3_interpolateRound); + }; + scale.clamp = function(x) { + if (!arguments.length) return clamp; + clamp = x; + return rescale(); + }; + scale.interpolate = function(x) { + if (!arguments.length) return interpolate; + interpolate = x; + return rescale(); + }; + scale.ticks = function(m) { + return d3_scale_linearTicks(domain, m); + }; + scale.tickFormat = function(m, format) { + return d3_scale_linearTickFormat(domain, m, format); + }; + scale.nice = function(m) { + d3_scale_linearNice(domain, m); + return rescale(); + }; + scale.copy = function() { + return d3_scale_linear(domain, range, interpolate, clamp); + }; + return rescale(); + } + function d3_scale_linearRebind(scale, linear) { + return d3.rebind(scale, linear, "range", "rangeRound", "interpolate", "clamp"); + } + function d3_scale_linearNice(domain, m) { + return d3_scale_nice(domain, d3_scale_niceStep(d3_scale_linearTickRange(domain, m)[2])); + } + function d3_scale_linearTickRange(domain, m) { + if (m == null) m = 10; + var extent = d3_scaleExtent(domain), span = extent[1] - extent[0], step = Math.pow(10, Math.floor(Math.log(span / m) / Math.LN10)), err = m / span * step; + if (err <= .15) step *= 10; else if (err <= .35) step *= 5; else if (err <= .75) step *= 2; + extent[0] = Math.ceil(extent[0] / step) * step; + extent[1] = Math.floor(extent[1] / step) * step + step * .5; + extent[2] = step; + return extent; + } + function d3_scale_linearTicks(domain, m) { + return d3.range.apply(d3, d3_scale_linearTickRange(domain, m)); + } + function d3_scale_linearTickFormat(domain, m, format) { + var range = d3_scale_linearTickRange(domain, m); + if (format) { + var match = d3_format_re.exec(format); + match.shift(); + if (match[8] === "s") { + var prefix = d3.formatPrefix(Math.max(abs(range[0]), abs(range[1]))); + if (!match[7]) match[7] = "." + d3_scale_linearPrecision(prefix.scale(range[2])); + match[8] = "f"; + format = d3.format(match.join("")); + return function(d) { + return format(prefix.scale(d)) + prefix.symbol; + }; + } + if (!match[7]) match[7] = "." + d3_scale_linearFormatPrecision(match[8], range); + format = match.join(""); + } else { + format = ",." + d3_scale_linearPrecision(range[2]) + "f"; + } + return d3.format(format); + } + var d3_scale_linearFormatSignificant = { + s: 1, + g: 1, + p: 1, + r: 1, + e: 1 + }; + function d3_scale_linearPrecision(value) { + return -Math.floor(Math.log(value) / Math.LN10 + .01); + } + function d3_scale_linearFormatPrecision(type, range) { + var p = d3_scale_linearPrecision(range[2]); + return type in d3_scale_linearFormatSignificant ? Math.abs(p - d3_scale_linearPrecision(Math.max(abs(range[0]), abs(range[1])))) + +(type !== "e") : p - (type === "%") * 2; + } + d3.scale.log = function() { + return d3_scale_log(d3.scale.linear().domain([ 0, 1 ]), 10, true, [ 1, 10 ]); + }; + function d3_scale_log(linear, base, positive, domain) { + function log(x) { + return (positive ? Math.log(x < 0 ? 0 : x) : -Math.log(x > 0 ? 0 : -x)) / Math.log(base); + } + function pow(x) { + return positive ? Math.pow(base, x) : -Math.pow(base, -x); + } + function scale(x) { + return linear(log(x)); + } + scale.invert = function(x) { + return pow(linear.invert(x)); + }; + scale.domain = function(x) { + if (!arguments.length) return domain; + positive = x[0] >= 0; + linear.domain((domain = x.map(Number)).map(log)); + return scale; + }; + scale.base = function(_) { + if (!arguments.length) return base; + base = +_; + linear.domain(domain.map(log)); + return scale; + }; + scale.nice = function() { + var niced = d3_scale_nice(domain.map(log), positive ? Math : d3_scale_logNiceNegative); + linear.domain(niced); + domain = niced.map(pow); + return scale; + }; + scale.ticks = function() { + var extent = d3_scaleExtent(domain), ticks = [], u = extent[0], v = extent[1], i = Math.floor(log(u)), j = Math.ceil(log(v)), n = base % 1 ? 2 : base; + if (isFinite(j - i)) { + if (positive) { + for (;i < j; i++) for (var k = 1; k < n; k++) ticks.push(pow(i) * k); + ticks.push(pow(i)); + } else { + ticks.push(pow(i)); + for (;i++ < j; ) for (var k = n - 1; k > 0; k--) ticks.push(pow(i) * k); + } + for (i = 0; ticks[i] < u; i++) {} + for (j = ticks.length; ticks[j - 1] > v; j--) {} + ticks = ticks.slice(i, j); + } + return ticks; + }; + scale.tickFormat = function(n, format) { + if (!arguments.length) return d3_scale_logFormat; + if (arguments.length < 2) format = d3_scale_logFormat; else if (typeof format !== "function") format = d3.format(format); + var k = Math.max(.1, n / scale.ticks().length), f = positive ? (e = 1e-12, Math.ceil) : (e = -1e-12, + Math.floor), e; + return function(d) { + return d / pow(f(log(d) + e)) <= k ? format(d) : ""; + }; + }; + scale.copy = function() { + return d3_scale_log(linear.copy(), base, positive, domain); + }; + return d3_scale_linearRebind(scale, linear); + } + var d3_scale_logFormat = d3.format(".0e"), d3_scale_logNiceNegative = { + floor: function(x) { + return -Math.ceil(-x); + }, + ceil: function(x) { + return -Math.floor(-x); + } + }; + d3.scale.pow = function() { + return d3_scale_pow(d3.scale.linear(), 1, [ 0, 1 ]); + }; + function d3_scale_pow(linear, exponent, domain) { + var powp = d3_scale_powPow(exponent), powb = d3_scale_powPow(1 / exponent); + function scale(x) { + return linear(powp(x)); + } + scale.invert = function(x) { + return powb(linear.invert(x)); + }; + scale.domain = function(x) { + if (!arguments.length) return domain; + linear.domain((domain = x.map(Number)).map(powp)); + return scale; + }; + scale.ticks = function(m) { + return d3_scale_linearTicks(domain, m); + }; + scale.tickFormat = function(m, format) { + return d3_scale_linearTickFormat(domain, m, format); + }; + scale.nice = function(m) { + return scale.domain(d3_scale_linearNice(domain, m)); + }; + scale.exponent = function(x) { + if (!arguments.length) return exponent; + powp = d3_scale_powPow(exponent = x); + powb = d3_scale_powPow(1 / exponent); + linear.domain(domain.map(powp)); + return scale; + }; + scale.copy = function() { + return d3_scale_pow(linear.copy(), exponent, domain); + }; + return d3_scale_linearRebind(scale, linear); + } + function d3_scale_powPow(e) { + return function(x) { + return x < 0 ? -Math.pow(-x, e) : Math.pow(x, e); + }; + } + d3.scale.sqrt = function() { + return d3.scale.pow().exponent(.5); + }; + d3.scale.ordinal = function() { + return d3_scale_ordinal([], { + t: "range", + a: [ [] ] + }); + }; + function d3_scale_ordinal(domain, ranger) { + var index, range, rangeBand; + function scale(x) { + return range[((index.get(x) || (ranger.t === "range" ? index.set(x, domain.push(x)) : NaN)) - 1) % range.length]; + } + function steps(start, step) { + return d3.range(domain.length).map(function(i) { + return start + step * i; + }); + } + scale.domain = function(x) { + if (!arguments.length) return domain; + domain = []; + index = new d3_Map(); + var i = -1, n = x.length, xi; + while (++i < n) if (!index.has(xi = x[i])) index.set(xi, domain.push(xi)); + return scale[ranger.t].apply(scale, ranger.a); + }; + scale.range = function(x) { + if (!arguments.length) return range; + range = x; + rangeBand = 0; + ranger = { + t: "range", + a: arguments + }; + return scale; + }; + scale.rangePoints = function(x, padding) { + if (arguments.length < 2) padding = 0; + var start = x[0], stop = x[1], step = domain.length < 2 ? (start = (start + stop) / 2, + 0) : (stop - start) / (domain.length - 1 + padding); + range = steps(start + step * padding / 2, step); + rangeBand = 0; + ranger = { + t: "rangePoints", + a: arguments + }; + return scale; + }; + scale.rangeRoundPoints = function(x, padding) { + if (arguments.length < 2) padding = 0; + var start = x[0], stop = x[1], step = domain.length < 2 ? (start = stop = Math.round((start + stop) / 2), + 0) : (stop - start) / (domain.length - 1 + padding) | 0; + range = steps(start + Math.round(step * padding / 2 + (stop - start - (domain.length - 1 + padding) * step) / 2), step); + rangeBand = 0; + ranger = { + t: "rangeRoundPoints", + a: arguments + }; + return scale; + }; + scale.rangeBands = function(x, padding, outerPadding) { + if (arguments.length < 2) padding = 0; + if (arguments.length < 3) outerPadding = padding; + var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = (stop - start) / (domain.length - padding + 2 * outerPadding); + range = steps(start + step * outerPadding, step); + if (reverse) range.reverse(); + rangeBand = step * (1 - padding); + ranger = { + t: "rangeBands", + a: arguments + }; + return scale; + }; + scale.rangeRoundBands = function(x, padding, outerPadding) { + if (arguments.length < 2) padding = 0; + if (arguments.length < 3) outerPadding = padding; + var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = Math.floor((stop - start) / (domain.length - padding + 2 * outerPadding)); + range = steps(start + Math.round((stop - start - (domain.length - padding) * step) / 2), step); + if (reverse) range.reverse(); + rangeBand = Math.round(step * (1 - padding)); + ranger = { + t: "rangeRoundBands", + a: arguments + }; + return scale; + }; + scale.rangeBand = function() { + return rangeBand; + }; + scale.rangeExtent = function() { + return d3_scaleExtent(ranger.a[0]); + }; + scale.copy = function() { + return d3_scale_ordinal(domain, ranger); + }; + return scale.domain(domain); + } + d3.scale.category10 = function() { + return d3.scale.ordinal().range(d3_category10); + }; + d3.scale.category20 = function() { + return d3.scale.ordinal().range(d3_category20); + }; + d3.scale.category20b = function() { + return d3.scale.ordinal().range(d3_category20b); + }; + d3.scale.category20c = function() { + return d3.scale.ordinal().range(d3_category20c); + }; + var d3_category10 = [ 2062260, 16744206, 2924588, 14034728, 9725885, 9197131, 14907330, 8355711, 12369186, 1556175 ].map(d3_rgbString); + var d3_category20 = [ 2062260, 11454440, 16744206, 16759672, 2924588, 10018698, 14034728, 16750742, 9725885, 12955861, 9197131, 12885140, 14907330, 16234194, 8355711, 13092807, 12369186, 14408589, 1556175, 10410725 ].map(d3_rgbString); + var d3_category20b = [ 3750777, 5395619, 7040719, 10264286, 6519097, 9216594, 11915115, 13556636, 9202993, 12426809, 15186514, 15190932, 8666169, 11356490, 14049643, 15177372, 8077683, 10834324, 13528509, 14589654 ].map(d3_rgbString); + var d3_category20c = [ 3244733, 7057110, 10406625, 13032431, 15095053, 16616764, 16625259, 16634018, 3253076, 7652470, 10607003, 13101504, 7695281, 10394312, 12369372, 14342891, 6513507, 9868950, 12434877, 14277081 ].map(d3_rgbString); + d3.scale.quantile = function() { + return d3_scale_quantile([], []); + }; + function d3_scale_quantile(domain, range) { + var thresholds; + function rescale() { + var k = 0, q = range.length; + thresholds = []; + while (++k < q) thresholds[k - 1] = d3.quantile(domain, k / q); + return scale; + } + function scale(x) { + if (!isNaN(x = +x)) return range[d3.bisect(thresholds, x)]; + } + scale.domain = function(x) { + if (!arguments.length) return domain; + domain = x.map(d3_number).filter(d3_numeric).sort(d3_ascending); + return rescale(); + }; + scale.range = function(x) { + if (!arguments.length) return range; + range = x; + return rescale(); + }; + scale.quantiles = function() { + return thresholds; + }; + scale.invertExtent = function(y) { + y = range.indexOf(y); + return y < 0 ? [ NaN, NaN ] : [ y > 0 ? thresholds[y - 1] : domain[0], y < thresholds.length ? thresholds[y] : domain[domain.length - 1] ]; + }; + scale.copy = function() { + return d3_scale_quantile(domain, range); + }; + return rescale(); + } + d3.scale.quantize = function() { + return d3_scale_quantize(0, 1, [ 0, 1 ]); + }; + function d3_scale_quantize(x0, x1, range) { + var kx, i; + function scale(x) { + return range[Math.max(0, Math.min(i, Math.floor(kx * (x - x0))))]; + } + function rescale() { + kx = range.length / (x1 - x0); + i = range.length - 1; + return scale; + } + scale.domain = function(x) { + if (!arguments.length) return [ x0, x1 ]; + x0 = +x[0]; + x1 = +x[x.length - 1]; + return rescale(); + }; + scale.range = function(x) { + if (!arguments.length) return range; + range = x; + return rescale(); + }; + scale.invertExtent = function(y) { + y = range.indexOf(y); + y = y < 0 ? NaN : y / kx + x0; + return [ y, y + 1 / kx ]; + }; + scale.copy = function() { + return d3_scale_quantize(x0, x1, range); + }; + return rescale(); + } + d3.scale.threshold = function() { + return d3_scale_threshold([ .5 ], [ 0, 1 ]); + }; + function d3_scale_threshold(domain, range) { + function scale(x) { + if (x <= x) return range[d3.bisect(domain, x)]; + } + scale.domain = function(_) { + if (!arguments.length) return domain; + domain = _; + return scale; + }; + scale.range = function(_) { + if (!arguments.length) return range; + range = _; + return scale; + }; + scale.invertExtent = function(y) { + y = range.indexOf(y); + return [ domain[y - 1], domain[y] ]; + }; + scale.copy = function() { + return d3_scale_threshold(domain, range); + }; + return scale; + } + d3.scale.identity = function() { + return d3_scale_identity([ 0, 1 ]); + }; + function d3_scale_identity(domain) { + function identity(x) { + return +x; + } + identity.invert = identity; + identity.domain = identity.range = function(x) { + if (!arguments.length) return domain; + domain = x.map(identity); + return identity; + }; + identity.ticks = function(m) { + return d3_scale_linearTicks(domain, m); + }; + identity.tickFormat = function(m, format) { + return d3_scale_linearTickFormat(domain, m, format); + }; + identity.copy = function() { + return d3_scale_identity(domain); + }; + return identity; + } + d3.svg = {}; + function d3_zero() { + return 0; + } + d3.svg.arc = function() { + var innerRadius = d3_svg_arcInnerRadius, outerRadius = d3_svg_arcOuterRadius, cornerRadius = d3_zero, padRadius = d3_svg_arcAuto, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle, padAngle = d3_svg_arcPadAngle; + function arc() { + var r0 = Math.max(0, +innerRadius.apply(this, arguments)), r1 = Math.max(0, +outerRadius.apply(this, arguments)), a0 = startAngle.apply(this, arguments) - halfπ, a1 = endAngle.apply(this, arguments) - halfπ, da = Math.abs(a1 - a0), cw = a0 > a1 ? 0 : 1; + if (r1 < r0) rc = r1, r1 = r0, r0 = rc; + if (da >= τε) return circleSegment(r1, cw) + (r0 ? circleSegment(r0, 1 - cw) : "") + "Z"; + var rc, cr, rp, ap, p0 = 0, p1 = 0, x0, y0, x1, y1, x2, y2, x3, y3, path = []; + if (ap = (+padAngle.apply(this, arguments) || 0) / 2) { + rp = padRadius === d3_svg_arcAuto ? Math.sqrt(r0 * r0 + r1 * r1) : +padRadius.apply(this, arguments); + if (!cw) p1 *= -1; + if (r1) p1 = d3_asin(rp / r1 * Math.sin(ap)); + if (r0) p0 = d3_asin(rp / r0 * Math.sin(ap)); + } + if (r1) { + x0 = r1 * Math.cos(a0 + p1); + y0 = r1 * Math.sin(a0 + p1); + x1 = r1 * Math.cos(a1 - p1); + y1 = r1 * Math.sin(a1 - p1); + var l1 = Math.abs(a1 - a0 - 2 * p1) <= π ? 0 : 1; + if (p1 && d3_svg_arcSweep(x0, y0, x1, y1) === cw ^ l1) { + var h1 = (a0 + a1) / 2; + x0 = r1 * Math.cos(h1); + y0 = r1 * Math.sin(h1); + x1 = y1 = null; + } + } else { + x0 = y0 = 0; + } + if (r0) { + x2 = r0 * Math.cos(a1 - p0); + y2 = r0 * Math.sin(a1 - p0); + x3 = r0 * Math.cos(a0 + p0); + y3 = r0 * Math.sin(a0 + p0); + var l0 = Math.abs(a0 - a1 + 2 * p0) <= π ? 0 : 1; + if (p0 && d3_svg_arcSweep(x2, y2, x3, y3) === 1 - cw ^ l0) { + var h0 = (a0 + a1) / 2; + x2 = r0 * Math.cos(h0); + y2 = r0 * Math.sin(h0); + x3 = y3 = null; + } + } else { + x2 = y2 = 0; + } + if ((rc = Math.min(Math.abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments))) > .001) { + cr = r0 < r1 ^ cw ? 0 : 1; + var oc = x3 == null ? [ x2, y2 ] : x1 == null ? [ x0, y0 ] : d3_geom_polygonIntersect([ x0, y0 ], [ x3, y3 ], [ x1, y1 ], [ x2, y2 ]), ax = x0 - oc[0], ay = y0 - oc[1], bx = x1 - oc[0], by = y1 - oc[1], kc = 1 / Math.sin(Math.acos((ax * bx + ay * by) / (Math.sqrt(ax * ax + ay * ay) * Math.sqrt(bx * bx + by * by))) / 2), lc = Math.sqrt(oc[0] * oc[0] + oc[1] * oc[1]); + if (x1 != null) { + var rc1 = Math.min(rc, (r1 - lc) / (kc + 1)), t30 = d3_svg_arcCornerTangents(x3 == null ? [ x2, y2 ] : [ x3, y3 ], [ x0, y0 ], r1, rc1, cw), t12 = d3_svg_arcCornerTangents([ x1, y1 ], [ x2, y2 ], r1, rc1, cw); + if (rc === rc1) { + path.push("M", t30[0], "A", rc1, ",", rc1, " 0 0,", cr, " ", t30[1], "A", r1, ",", r1, " 0 ", 1 - cw ^ d3_svg_arcSweep(t30[1][0], t30[1][1], t12[1][0], t12[1][1]), ",", cw, " ", t12[1], "A", rc1, ",", rc1, " 0 0,", cr, " ", t12[0]); + } else { + path.push("M", t30[0], "A", rc1, ",", rc1, " 0 1,", cr, " ", t12[0]); + } + } else { + path.push("M", x0, ",", y0); + } + if (x3 != null) { + var rc0 = Math.min(rc, (r0 - lc) / (kc - 1)), t03 = d3_svg_arcCornerTangents([ x0, y0 ], [ x3, y3 ], r0, -rc0, cw), t21 = d3_svg_arcCornerTangents([ x2, y2 ], x1 == null ? [ x0, y0 ] : [ x1, y1 ], r0, -rc0, cw); + if (rc === rc0) { + path.push("L", t21[0], "A", rc0, ",", rc0, " 0 0,", cr, " ", t21[1], "A", r0, ",", r0, " 0 ", cw ^ d3_svg_arcSweep(t21[1][0], t21[1][1], t03[1][0], t03[1][1]), ",", 1 - cw, " ", t03[1], "A", rc0, ",", rc0, " 0 0,", cr, " ", t03[0]); + } else { + path.push("L", t21[0], "A", rc0, ",", rc0, " 0 0,", cr, " ", t03[0]); + } + } else { + path.push("L", x2, ",", y2); + } + } else { + path.push("M", x0, ",", y0); + if (x1 != null) path.push("A", r1, ",", r1, " 0 ", l1, ",", cw, " ", x1, ",", y1); + path.push("L", x2, ",", y2); + if (x3 != null) path.push("A", r0, ",", r0, " 0 ", l0, ",", 1 - cw, " ", x3, ",", y3); + } + path.push("Z"); + return path.join(""); + } + function circleSegment(r1, cw) { + return "M0," + r1 + "A" + r1 + "," + r1 + " 0 1," + cw + " 0," + -r1 + "A" + r1 + "," + r1 + " 0 1," + cw + " 0," + r1; + } + arc.innerRadius = function(v) { + if (!arguments.length) return innerRadius; + innerRadius = d3_functor(v); + return arc; + }; + arc.outerRadius = function(v) { + if (!arguments.length) return outerRadius; + outerRadius = d3_functor(v); + return arc; + }; + arc.cornerRadius = function(v) { + if (!arguments.length) return cornerRadius; + cornerRadius = d3_functor(v); + return arc; + }; + arc.padRadius = function(v) { + if (!arguments.length) return padRadius; + padRadius = v == d3_svg_arcAuto ? d3_svg_arcAuto : d3_functor(v); + return arc; + }; + arc.startAngle = function(v) { + if (!arguments.length) return startAngle; + startAngle = d3_functor(v); + return arc; + }; + arc.endAngle = function(v) { + if (!arguments.length) return endAngle; + endAngle = d3_functor(v); + return arc; + }; + arc.padAngle = function(v) { + if (!arguments.length) return padAngle; + padAngle = d3_functor(v); + return arc; + }; + arc.centroid = function() { + var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2, a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - halfπ; + return [ Math.cos(a) * r, Math.sin(a) * r ]; + }; + return arc; + }; + var d3_svg_arcAuto = "auto"; + function d3_svg_arcInnerRadius(d) { + return d.innerRadius; + } + function d3_svg_arcOuterRadius(d) { + return d.outerRadius; + } + function d3_svg_arcStartAngle(d) { + return d.startAngle; + } + function d3_svg_arcEndAngle(d) { + return d.endAngle; + } + function d3_svg_arcPadAngle(d) { + return d && d.padAngle; + } + function d3_svg_arcSweep(x0, y0, x1, y1) { + return (x0 - x1) * y0 - (y0 - y1) * x0 > 0 ? 0 : 1; + } + function d3_svg_arcCornerTangents(p0, p1, r1, rc, cw) { + var x01 = p0[0] - p1[0], y01 = p0[1] - p1[1], lo = (cw ? rc : -rc) / Math.sqrt(x01 * x01 + y01 * y01), ox = lo * y01, oy = -lo * x01, x1 = p0[0] + ox, y1 = p0[1] + oy, x2 = p1[0] + ox, y2 = p1[1] + oy, x3 = (x1 + x2) / 2, y3 = (y1 + y2) / 2, dx = x2 - x1, dy = y2 - y1, d2 = dx * dx + dy * dy, r = r1 - rc, D = x1 * y2 - x2 * y1, d = (dy < 0 ? -1 : 1) * Math.sqrt(r * r * d2 - D * D), cx0 = (D * dy - dx * d) / d2, cy0 = (-D * dx - dy * d) / d2, cx1 = (D * dy + dx * d) / d2, cy1 = (-D * dx + dy * d) / d2, dx0 = cx0 - x3, dy0 = cy0 - y3, dx1 = cx1 - x3, dy1 = cy1 - y3; + if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1; + return [ [ cx0 - ox, cy0 - oy ], [ cx0 * r1 / r, cy0 * r1 / r ] ]; + } + function d3_svg_line(projection) { + var x = d3_geom_pointX, y = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, tension = .7; + function line(data) { + var segments = [], points = [], i = -1, n = data.length, d, fx = d3_functor(x), fy = d3_functor(y); + function segment() { + segments.push("M", interpolate(projection(points), tension)); + } + while (++i < n) { + if (defined.call(this, d = data[i], i)) { + points.push([ +fx.call(this, d, i), +fy.call(this, d, i) ]); + } else if (points.length) { + segment(); + points = []; + } + } + if (points.length) segment(); + return segments.length ? segments.join("") : null; + } + line.x = function(_) { + if (!arguments.length) return x; + x = _; + return line; + }; + line.y = function(_) { + if (!arguments.length) return y; + y = _; + return line; + }; + line.defined = function(_) { + if (!arguments.length) return defined; + defined = _; + return line; + }; + line.interpolate = function(_) { + if (!arguments.length) return interpolateKey; + if (typeof _ === "function") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key; + return line; + }; + line.tension = function(_) { + if (!arguments.length) return tension; + tension = _; + return line; + }; + return line; + } + d3.svg.line = function() { + return d3_svg_line(d3_identity); + }; + var d3_svg_lineInterpolators = d3.map({ + linear: d3_svg_lineLinear, + "linear-closed": d3_svg_lineLinearClosed, + step: d3_svg_lineStep, + "step-before": d3_svg_lineStepBefore, + "step-after": d3_svg_lineStepAfter, + basis: d3_svg_lineBasis, + "basis-open": d3_svg_lineBasisOpen, + "basis-closed": d3_svg_lineBasisClosed, + bundle: d3_svg_lineBundle, + cardinal: d3_svg_lineCardinal, + "cardinal-open": d3_svg_lineCardinalOpen, + "cardinal-closed": d3_svg_lineCardinalClosed, + monotone: d3_svg_lineMonotone + }); + d3_svg_lineInterpolators.forEach(function(key, value) { + value.key = key; + value.closed = /-closed$/.test(key); + }); + function d3_svg_lineLinear(points) { + return points.join("L"); + } + function d3_svg_lineLinearClosed(points) { + return d3_svg_lineLinear(points) + "Z"; + } + function d3_svg_lineStep(points) { + var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ]; + while (++i < n) path.push("H", (p[0] + (p = points[i])[0]) / 2, "V", p[1]); + if (n > 1) path.push("H", p[0]); + return path.join(""); + } + function d3_svg_lineStepBefore(points) { + var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ]; + while (++i < n) path.push("V", (p = points[i])[1], "H", p[0]); + return path.join(""); + } + function d3_svg_lineStepAfter(points) { + var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ]; + while (++i < n) path.push("H", (p = points[i])[0], "V", p[1]); + return path.join(""); + } + function d3_svg_lineCardinalOpen(points, tension) { + return points.length < 4 ? d3_svg_lineLinear(points) : points[1] + d3_svg_lineHermite(points.slice(1, -1), d3_svg_lineCardinalTangents(points, tension)); + } + function d3_svg_lineCardinalClosed(points, tension) { + return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite((points.push(points[0]), + points), d3_svg_lineCardinalTangents([ points[points.length - 2] ].concat(points, [ points[1] ]), tension)); + } + function d3_svg_lineCardinal(points, tension) { + return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineCardinalTangents(points, tension)); + } + function d3_svg_lineHermite(points, tangents) { + if (tangents.length < 1 || points.length != tangents.length && points.length != tangents.length + 2) { + return d3_svg_lineLinear(points); + } + var quad = points.length != tangents.length, path = "", p0 = points[0], p = points[1], t0 = tangents[0], t = t0, pi = 1; + if (quad) { + path += "Q" + (p[0] - t0[0] * 2 / 3) + "," + (p[1] - t0[1] * 2 / 3) + "," + p[0] + "," + p[1]; + p0 = points[1]; + pi = 2; + } + if (tangents.length > 1) { + t = tangents[1]; + p = points[pi]; + pi++; + path += "C" + (p0[0] + t0[0]) + "," + (p0[1] + t0[1]) + "," + (p[0] - t[0]) + "," + (p[1] - t[1]) + "," + p[0] + "," + p[1]; + for (var i = 2; i < tangents.length; i++, pi++) { + p = points[pi]; + t = tangents[i]; + path += "S" + (p[0] - t[0]) + "," + (p[1] - t[1]) + "," + p[0] + "," + p[1]; + } + } + if (quad) { + var lp = points[pi]; + path += "Q" + (p[0] + t[0] * 2 / 3) + "," + (p[1] + t[1] * 2 / 3) + "," + lp[0] + "," + lp[1]; + } + return path; + } + function d3_svg_lineCardinalTangents(points, tension) { + var tangents = [], a = (1 - tension) / 2, p0, p1 = points[0], p2 = points[1], i = 1, n = points.length; + while (++i < n) { + p0 = p1; + p1 = p2; + p2 = points[i]; + tangents.push([ a * (p2[0] - p0[0]), a * (p2[1] - p0[1]) ]); + } + return tangents; + } + function d3_svg_lineBasis(points) { + if (points.length < 3) return d3_svg_lineLinear(points); + var i = 1, n = points.length, pi = points[0], x0 = pi[0], y0 = pi[1], px = [ x0, x0, x0, (pi = points[1])[0] ], py = [ y0, y0, y0, pi[1] ], path = [ x0, ",", y0, "L", d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ]; + points.push(points[n - 1]); + while (++i <= n) { + pi = points[i]; + px.shift(); + px.push(pi[0]); + py.shift(); + py.push(pi[1]); + d3_svg_lineBasisBezier(path, px, py); + } + points.pop(); + path.push("L", pi); + return path.join(""); + } + function d3_svg_lineBasisOpen(points) { + if (points.length < 4) return d3_svg_lineLinear(points); + var path = [], i = -1, n = points.length, pi, px = [ 0 ], py = [ 0 ]; + while (++i < 3) { + pi = points[i]; + px.push(pi[0]); + py.push(pi[1]); + } + path.push(d3_svg_lineDot4(d3_svg_lineBasisBezier3, px) + "," + d3_svg_lineDot4(d3_svg_lineBasisBezier3, py)); + --i; + while (++i < n) { + pi = points[i]; + px.shift(); + px.push(pi[0]); + py.shift(); + py.push(pi[1]); + d3_svg_lineBasisBezier(path, px, py); + } + return path.join(""); + } + function d3_svg_lineBasisClosed(points) { + var path, i = -1, n = points.length, m = n + 4, pi, px = [], py = []; + while (++i < 4) { + pi = points[i % n]; + px.push(pi[0]); + py.push(pi[1]); + } + path = [ d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ]; + --i; + while (++i < m) { + pi = points[i % n]; + px.shift(); + px.push(pi[0]); + py.shift(); + py.push(pi[1]); + d3_svg_lineBasisBezier(path, px, py); + } + return path.join(""); + } + function d3_svg_lineBundle(points, tension) { + var n = points.length - 1; + if (n) { + var x0 = points[0][0], y0 = points[0][1], dx = points[n][0] - x0, dy = points[n][1] - y0, i = -1, p, t; + while (++i <= n) { + p = points[i]; + t = i / n; + p[0] = tension * p[0] + (1 - tension) * (x0 + t * dx); + p[1] = tension * p[1] + (1 - tension) * (y0 + t * dy); + } + } + return d3_svg_lineBasis(points); + } + function d3_svg_lineDot4(a, b) { + return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3]; + } + var d3_svg_lineBasisBezier1 = [ 0, 2 / 3, 1 / 3, 0 ], d3_svg_lineBasisBezier2 = [ 0, 1 / 3, 2 / 3, 0 ], d3_svg_lineBasisBezier3 = [ 0, 1 / 6, 2 / 3, 1 / 6 ]; + function d3_svg_lineBasisBezier(path, x, y) { + path.push("C", d3_svg_lineDot4(d3_svg_lineBasisBezier1, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier1, y), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier2, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier2, y), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, y)); + } + function d3_svg_lineSlope(p0, p1) { + return (p1[1] - p0[1]) / (p1[0] - p0[0]); + } + function d3_svg_lineFiniteDifferences(points) { + var i = 0, j = points.length - 1, m = [], p0 = points[0], p1 = points[1], d = m[0] = d3_svg_lineSlope(p0, p1); + while (++i < j) { + m[i] = (d + (d = d3_svg_lineSlope(p0 = p1, p1 = points[i + 1]))) / 2; + } + m[i] = d; + return m; + } + function d3_svg_lineMonotoneTangents(points) { + var tangents = [], d, a, b, s, m = d3_svg_lineFiniteDifferences(points), i = -1, j = points.length - 1; + while (++i < j) { + d = d3_svg_lineSlope(points[i], points[i + 1]); + if (abs(d) < ε) { + m[i] = m[i + 1] = 0; + } else { + a = m[i] / d; + b = m[i + 1] / d; + s = a * a + b * b; + if (s > 9) { + s = d * 3 / Math.sqrt(s); + m[i] = s * a; + m[i + 1] = s * b; + } + } + } + i = -1; + while (++i <= j) { + s = (points[Math.min(j, i + 1)][0] - points[Math.max(0, i - 1)][0]) / (6 * (1 + m[i] * m[i])); + tangents.push([ s || 0, m[i] * s || 0 ]); + } + return tangents; + } + function d3_svg_lineMonotone(points) { + return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineMonotoneTangents(points)); + } + d3.svg.line.radial = function() { + var line = d3_svg_line(d3_svg_lineRadial); + line.radius = line.x, delete line.x; + line.angle = line.y, delete line.y; + return line; + }; + function d3_svg_lineRadial(points) { + var point, i = -1, n = points.length, r, a; + while (++i < n) { + point = points[i]; + r = point[0]; + a = point[1] - halfπ; + point[0] = r * Math.cos(a); + point[1] = r * Math.sin(a); + } + return points; + } + function d3_svg_area(projection) { + var x0 = d3_geom_pointX, x1 = d3_geom_pointX, y0 = 0, y1 = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, interpolateReverse = interpolate, L = "L", tension = .7; + function area(data) { + var segments = [], points0 = [], points1 = [], i = -1, n = data.length, d, fx0 = d3_functor(x0), fy0 = d3_functor(y0), fx1 = x0 === x1 ? function() { + return x; + } : d3_functor(x1), fy1 = y0 === y1 ? function() { + return y; + } : d3_functor(y1), x, y; + function segment() { + segments.push("M", interpolate(projection(points1), tension), L, interpolateReverse(projection(points0.reverse()), tension), "Z"); + } + while (++i < n) { + if (defined.call(this, d = data[i], i)) { + points0.push([ x = +fx0.call(this, d, i), y = +fy0.call(this, d, i) ]); + points1.push([ +fx1.call(this, d, i), +fy1.call(this, d, i) ]); + } else if (points0.length) { + segment(); + points0 = []; + points1 = []; + } + } + if (points0.length) segment(); + return segments.length ? segments.join("") : null; + } + area.x = function(_) { + if (!arguments.length) return x1; + x0 = x1 = _; + return area; + }; + area.x0 = function(_) { + if (!arguments.length) return x0; + x0 = _; + return area; + }; + area.x1 = function(_) { + if (!arguments.length) return x1; + x1 = _; + return area; + }; + area.y = function(_) { + if (!arguments.length) return y1; + y0 = y1 = _; + return area; + }; + area.y0 = function(_) { + if (!arguments.length) return y0; + y0 = _; + return area; + }; + area.y1 = function(_) { + if (!arguments.length) return y1; + y1 = _; + return area; + }; + area.defined = function(_) { + if (!arguments.length) return defined; + defined = _; + return area; + }; + area.interpolate = function(_) { + if (!arguments.length) return interpolateKey; + if (typeof _ === "function") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key; + interpolateReverse = interpolate.reverse || interpolate; + L = interpolate.closed ? "M" : "L"; + return area; + }; + area.tension = function(_) { + if (!arguments.length) return tension; + tension = _; + return area; + }; + return area; + } + d3_svg_lineStepBefore.reverse = d3_svg_lineStepAfter; + d3_svg_lineStepAfter.reverse = d3_svg_lineStepBefore; + d3.svg.area = function() { + return d3_svg_area(d3_identity); + }; + d3.svg.area.radial = function() { + var area = d3_svg_area(d3_svg_lineRadial); + area.radius = area.x, delete area.x; + area.innerRadius = area.x0, delete area.x0; + area.outerRadius = area.x1, delete area.x1; + area.angle = area.y, delete area.y; + area.startAngle = area.y0, delete area.y0; + area.endAngle = area.y1, delete area.y1; + return area; + }; + d3.svg.chord = function() { + var source = d3_source, target = d3_target, radius = d3_svg_chordRadius, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle; + function chord(d, i) { + var s = subgroup(this, source, d, i), t = subgroup(this, target, d, i); + return "M" + s.p0 + arc(s.r, s.p1, s.a1 - s.a0) + (equals(s, t) ? curve(s.r, s.p1, s.r, s.p0) : curve(s.r, s.p1, t.r, t.p0) + arc(t.r, t.p1, t.a1 - t.a0) + curve(t.r, t.p1, s.r, s.p0)) + "Z"; + } + function subgroup(self, f, d, i) { + var subgroup = f.call(self, d, i), r = radius.call(self, subgroup, i), a0 = startAngle.call(self, subgroup, i) - halfπ, a1 = endAngle.call(self, subgroup, i) - halfπ; + return { + r: r, + a0: a0, + a1: a1, + p0: [ r * Math.cos(a0), r * Math.sin(a0) ], + p1: [ r * Math.cos(a1), r * Math.sin(a1) ] + }; + } + function equals(a, b) { + return a.a0 == b.a0 && a.a1 == b.a1; + } + function arc(r, p, a) { + return "A" + r + "," + r + " 0 " + +(a > π) + ",1 " + p; + } + function curve(r0, p0, r1, p1) { + return "Q 0,0 " + p1; + } + chord.radius = function(v) { + if (!arguments.length) return radius; + radius = d3_functor(v); + return chord; + }; + chord.source = function(v) { + if (!arguments.length) return source; + source = d3_functor(v); + return chord; + }; + chord.target = function(v) { + if (!arguments.length) return target; + target = d3_functor(v); + return chord; + }; + chord.startAngle = function(v) { + if (!arguments.length) return startAngle; + startAngle = d3_functor(v); + return chord; + }; + chord.endAngle = function(v) { + if (!arguments.length) return endAngle; + endAngle = d3_functor(v); + return chord; + }; + return chord; + }; + function d3_svg_chordRadius(d) { + return d.radius; + } + d3.svg.diagonal = function() { + var source = d3_source, target = d3_target, projection = d3_svg_diagonalProjection; + function diagonal(d, i) { + var p0 = source.call(this, d, i), p3 = target.call(this, d, i), m = (p0.y + p3.y) / 2, p = [ p0, { + x: p0.x, + y: m + }, { + x: p3.x, + y: m + }, p3 ]; + p = p.map(projection); + return "M" + p[0] + "C" + p[1] + " " + p[2] + " " + p[3]; + } + diagonal.source = function(x) { + if (!arguments.length) return source; + source = d3_functor(x); + return diagonal; + }; + diagonal.target = function(x) { + if (!arguments.length) return target; + target = d3_functor(x); + return diagonal; + }; + diagonal.projection = function(x) { + if (!arguments.length) return projection; + projection = x; + return diagonal; + }; + return diagonal; + }; + function d3_svg_diagonalProjection(d) { + return [ d.x, d.y ]; + } + d3.svg.diagonal.radial = function() { + var diagonal = d3.svg.diagonal(), projection = d3_svg_diagonalProjection, projection_ = diagonal.projection; + diagonal.projection = function(x) { + return arguments.length ? projection_(d3_svg_diagonalRadialProjection(projection = x)) : projection; + }; + return diagonal; + }; + function d3_svg_diagonalRadialProjection(projection) { + return function() { + var d = projection.apply(this, arguments), r = d[0], a = d[1] - halfπ; + return [ r * Math.cos(a), r * Math.sin(a) ]; + }; + } + d3.svg.symbol = function() { + var type = d3_svg_symbolType, size = d3_svg_symbolSize; + function symbol(d, i) { + return (d3_svg_symbols.get(type.call(this, d, i)) || d3_svg_symbolCircle)(size.call(this, d, i)); + } + symbol.type = function(x) { + if (!arguments.length) return type; + type = d3_functor(x); + return symbol; + }; + symbol.size = function(x) { + if (!arguments.length) return size; + size = d3_functor(x); + return symbol; + }; + return symbol; + }; + function d3_svg_symbolSize() { + return 64; + } + function d3_svg_symbolType() { + return "circle"; + } + function d3_svg_symbolCircle(size) { + var r = Math.sqrt(size / π); + return "M0," + r + "A" + r + "," + r + " 0 1,1 0," + -r + "A" + r + "," + r + " 0 1,1 0," + r + "Z"; + } + var d3_svg_symbols = d3.map({ + circle: d3_svg_symbolCircle, + cross: function(size) { + var r = Math.sqrt(size / 5) / 2; + return "M" + -3 * r + "," + -r + "H" + -r + "V" + -3 * r + "H" + r + "V" + -r + "H" + 3 * r + "V" + r + "H" + r + "V" + 3 * r + "H" + -r + "V" + r + "H" + -3 * r + "Z"; + }, + diamond: function(size) { + var ry = Math.sqrt(size / (2 * d3_svg_symbolTan30)), rx = ry * d3_svg_symbolTan30; + return "M0," + -ry + "L" + rx + ",0" + " 0," + ry + " " + -rx + ",0" + "Z"; + }, + square: function(size) { + var r = Math.sqrt(size) / 2; + return "M" + -r + "," + -r + "L" + r + "," + -r + " " + r + "," + r + " " + -r + "," + r + "Z"; + }, + "triangle-down": function(size) { + var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2; + return "M0," + ry + "L" + rx + "," + -ry + " " + -rx + "," + -ry + "Z"; + }, + "triangle-up": function(size) { + var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2; + return "M0," + -ry + "L" + rx + "," + ry + " " + -rx + "," + ry + "Z"; + } + }); + d3.svg.symbolTypes = d3_svg_symbols.keys(); + var d3_svg_symbolSqrt3 = Math.sqrt(3), d3_svg_symbolTan30 = Math.tan(30 * d3_radians); + d3_selectionPrototype.transition = function(name) { + var id = d3_transitionInheritId || ++d3_transitionId, ns = d3_transitionNamespace(name), subgroups = [], subgroup, node, transition = d3_transitionInherit || { + time: Date.now(), + ease: d3_ease_cubicInOut, + delay: 0, + duration: 250 + }; + for (var j = -1, m = this.length; ++j < m; ) { + subgroups.push(subgroup = []); + for (var group = this[j], i = -1, n = group.length; ++i < n; ) { + if (node = group[i]) d3_transitionNode(node, i, ns, id, transition); + subgroup.push(node); + } + } + return d3_transition(subgroups, ns, id); + }; + d3_selectionPrototype.interrupt = function(name) { + return this.each(name == null ? d3_selection_interrupt : d3_selection_interruptNS(d3_transitionNamespace(name))); + }; + var d3_selection_interrupt = d3_selection_interruptNS(d3_transitionNamespace()); + function d3_selection_interruptNS(ns) { + return function() { + var lock, active; + if ((lock = this[ns]) && (active = lock[lock.active])) { + if (--lock.count) delete lock[lock.active]; else delete this[ns]; + lock.active += .5; + active.event && active.event.interrupt.call(this, this.__data__, active.index); + } + }; + } + function d3_transition(groups, ns, id) { + d3_subclass(groups, d3_transitionPrototype); + groups.namespace = ns; + groups.id = id; + return groups; + } + var d3_transitionPrototype = [], d3_transitionId = 0, d3_transitionInheritId, d3_transitionInherit; + d3_transitionPrototype.call = d3_selectionPrototype.call; + d3_transitionPrototype.empty = d3_selectionPrototype.empty; + d3_transitionPrototype.node = d3_selectionPrototype.node; + d3_transitionPrototype.size = d3_selectionPrototype.size; + d3.transition = function(selection, name) { + return selection && selection.transition ? d3_transitionInheritId ? selection.transition(name) : selection : d3.selection().transition(selection); + }; + d3.transition.prototype = d3_transitionPrototype; + d3_transitionPrototype.select = function(selector) { + var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnode, node; + selector = d3_selection_selector(selector); + for (var j = -1, m = this.length; ++j < m; ) { + subgroups.push(subgroup = []); + for (var group = this[j], i = -1, n = group.length; ++i < n; ) { + if ((node = group[i]) && (subnode = selector.call(node, node.__data__, i, j))) { + if ("__data__" in node) subnode.__data__ = node.__data__; + d3_transitionNode(subnode, i, ns, id, node[ns][id]); + subgroup.push(subnode); + } else { + subgroup.push(null); + } + } + } + return d3_transition(subgroups, ns, id); + }; + d3_transitionPrototype.selectAll = function(selector) { + var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnodes, node, subnode, transition; + selector = d3_selection_selectorAll(selector); + for (var j = -1, m = this.length; ++j < m; ) { + for (var group = this[j], i = -1, n = group.length; ++i < n; ) { + if (node = group[i]) { + transition = node[ns][id]; + subnodes = selector.call(node, node.__data__, i, j); + subgroups.push(subgroup = []); + for (var k = -1, o = subnodes.length; ++k < o; ) { + if (subnode = subnodes[k]) d3_transitionNode(subnode, k, ns, id, transition); + subgroup.push(subnode); + } + } + } + } + return d3_transition(subgroups, ns, id); + }; + d3_transitionPrototype.filter = function(filter) { + var subgroups = [], subgroup, group, node; + if (typeof filter !== "function") filter = d3_selection_filter(filter); + for (var j = 0, m = this.length; j < m; j++) { + subgroups.push(subgroup = []); + for (var group = this[j], i = 0, n = group.length; i < n; i++) { + if ((node = group[i]) && filter.call(node, node.__data__, i, j)) { + subgroup.push(node); + } + } + } + return d3_transition(subgroups, this.namespace, this.id); + }; + d3_transitionPrototype.tween = function(name, tween) { + var id = this.id, ns = this.namespace; + if (arguments.length < 2) return this.node()[ns][id].tween.get(name); + return d3_selection_each(this, tween == null ? function(node) { + node[ns][id].tween.remove(name); + } : function(node) { + node[ns][id].tween.set(name, tween); + }); + }; + function d3_transition_tween(groups, name, value, tween) { + var id = groups.id, ns = groups.namespace; + return d3_selection_each(groups, typeof value === "function" ? function(node, i, j) { + node[ns][id].tween.set(name, tween(value.call(node, node.__data__, i, j))); + } : (value = tween(value), function(node) { + node[ns][id].tween.set(name, value); + })); + } + d3_transitionPrototype.attr = function(nameNS, value) { + if (arguments.length < 2) { + for (value in nameNS) this.attr(value, nameNS[value]); + return this; + } + var interpolate = nameNS == "transform" ? d3_interpolateTransform : d3_interpolate, name = d3.ns.qualify(nameNS); + function attrNull() { + this.removeAttribute(name); + } + function attrNullNS() { + this.removeAttributeNS(name.space, name.local); + } + function attrTween(b) { + return b == null ? attrNull : (b += "", function() { + var a = this.getAttribute(name), i; + return a !== b && (i = interpolate(a, b), function(t) { + this.setAttribute(name, i(t)); + }); + }); + } + function attrTweenNS(b) { + return b == null ? attrNullNS : (b += "", function() { + var a = this.getAttributeNS(name.space, name.local), i; + return a !== b && (i = interpolate(a, b), function(t) { + this.setAttributeNS(name.space, name.local, i(t)); + }); + }); + } + return d3_transition_tween(this, "attr." + nameNS, value, name.local ? attrTweenNS : attrTween); + }; + d3_transitionPrototype.attrTween = function(nameNS, tween) { + var name = d3.ns.qualify(nameNS); + function attrTween(d, i) { + var f = tween.call(this, d, i, this.getAttribute(name)); + return f && function(t) { + this.setAttribute(name, f(t)); + }; + } + function attrTweenNS(d, i) { + var f = tween.call(this, d, i, this.getAttributeNS(name.space, name.local)); + return f && function(t) { + this.setAttributeNS(name.space, name.local, f(t)); + }; + } + return this.tween("attr." + nameNS, name.local ? attrTweenNS : attrTween); + }; + d3_transitionPrototype.style = function(name, value, priority) { + var n = arguments.length; + if (n < 3) { + if (typeof name !== "string") { + if (n < 2) value = ""; + for (priority in name) this.style(priority, name[priority], value); + return this; + } + priority = ""; + } + function styleNull() { + this.style.removeProperty(name); + } + function styleString(b) { + return b == null ? styleNull : (b += "", function() { + var a = d3_window(this).getComputedStyle(this, null).getPropertyValue(name), i; + return a !== b && (i = d3_interpolate(a, b), function(t) { + this.style.setProperty(name, i(t), priority); + }); + }); + } + return d3_transition_tween(this, "style." + name, value, styleString); + }; + d3_transitionPrototype.styleTween = function(name, tween, priority) { + if (arguments.length < 3) priority = ""; + function styleTween(d, i) { + var f = tween.call(this, d, i, d3_window(this).getComputedStyle(this, null).getPropertyValue(name)); + return f && function(t) { + this.style.setProperty(name, f(t), priority); + }; + } + return this.tween("style." + name, styleTween); + }; + d3_transitionPrototype.text = function(value) { + return d3_transition_tween(this, "text", value, d3_transition_text); + }; + function d3_transition_text(b) { + if (b == null) b = ""; + return function() { + this.textContent = b; + }; + } + d3_transitionPrototype.remove = function() { + var ns = this.namespace; + return this.each("end.transition", function() { + var p; + if (this[ns].count < 2 && (p = this.parentNode)) p.removeChild(this); + }); + }; + d3_transitionPrototype.ease = function(value) { + var id = this.id, ns = this.namespace; + if (arguments.length < 1) return this.node()[ns][id].ease; + if (typeof value !== "function") value = d3.ease.apply(d3, arguments); + return d3_selection_each(this, function(node) { + node[ns][id].ease = value; + }); + }; + d3_transitionPrototype.delay = function(value) { + var id = this.id, ns = this.namespace; + if (arguments.length < 1) return this.node()[ns][id].delay; + return d3_selection_each(this, typeof value === "function" ? function(node, i, j) { + node[ns][id].delay = +value.call(node, node.__data__, i, j); + } : (value = +value, function(node) { + node[ns][id].delay = value; + })); + }; + d3_transitionPrototype.duration = function(value) { + var id = this.id, ns = this.namespace; + if (arguments.length < 1) return this.node()[ns][id].duration; + return d3_selection_each(this, typeof value === "function" ? function(node, i, j) { + node[ns][id].duration = Math.max(1, value.call(node, node.__data__, i, j)); + } : (value = Math.max(1, value), function(node) { + node[ns][id].duration = value; + })); + }; + d3_transitionPrototype.each = function(type, listener) { + var id = this.id, ns = this.namespace; + if (arguments.length < 2) { + var inherit = d3_transitionInherit, inheritId = d3_transitionInheritId; + try { + d3_transitionInheritId = id; + d3_selection_each(this, function(node, i, j) { + d3_transitionInherit = node[ns][id]; + type.call(node, node.__data__, i, j); + }); + } finally { + d3_transitionInherit = inherit; + d3_transitionInheritId = inheritId; + } + } else { + d3_selection_each(this, function(node) { + var transition = node[ns][id]; + (transition.event || (transition.event = d3.dispatch("start", "end", "interrupt"))).on(type, listener); + }); + } + return this; + }; + d3_transitionPrototype.transition = function() { + var id0 = this.id, id1 = ++d3_transitionId, ns = this.namespace, subgroups = [], subgroup, group, node, transition; + for (var j = 0, m = this.length; j < m; j++) { + subgroups.push(subgroup = []); + for (var group = this[j], i = 0, n = group.length; i < n; i++) { + if (node = group[i]) { + transition = node[ns][id0]; + d3_transitionNode(node, i, ns, id1, { + time: transition.time, + ease: transition.ease, + delay: transition.delay + transition.duration, + duration: transition.duration + }); + } + subgroup.push(node); + } + } + return d3_transition(subgroups, ns, id1); + }; + function d3_transitionNamespace(name) { + return name == null ? "__transition__" : "__transition_" + name + "__"; + } + function d3_transitionNode(node, i, ns, id, inherit) { + var lock = node[ns] || (node[ns] = { + active: 0, + count: 0 + }), transition = lock[id]; + if (!transition) { + var time = inherit.time; + transition = lock[id] = { + tween: new d3_Map(), + time: time, + delay: inherit.delay, + duration: inherit.duration, + ease: inherit.ease, + index: i + }; + inherit = null; + ++lock.count; + d3.timer(function(elapsed) { + var delay = transition.delay, duration, ease, timer = d3_timer_active, tweened = []; + timer.t = delay + time; + if (delay <= elapsed) return start(elapsed - delay); + timer.c = start; + function start(elapsed) { + if (lock.active > id) return stop(); + var active = lock[lock.active]; + if (active) { + --lock.count; + delete lock[lock.active]; + active.event && active.event.interrupt.call(node, node.__data__, active.index); + } + lock.active = id; + transition.event && transition.event.start.call(node, node.__data__, i); + transition.tween.forEach(function(key, value) { + if (value = value.call(node, node.__data__, i)) { + tweened.push(value); + } + }); + ease = transition.ease; + duration = transition.duration; + d3.timer(function() { + timer.c = tick(elapsed || 1) ? d3_true : tick; + return 1; + }, 0, time); + } + function tick(elapsed) { + if (lock.active !== id) return 1; + var t = elapsed / duration, e = ease(t), n = tweened.length; + while (n > 0) { + tweened[--n].call(node, e); + } + if (t >= 1) { + transition.event && transition.event.end.call(node, node.__data__, i); + return stop(); + } + } + function stop() { + if (--lock.count) delete lock[id]; else delete node[ns]; + return 1; + } + }, 0, time); + } + } + d3.svg.axis = function() { + var scale = d3.scale.linear(), orient = d3_svg_axisDefaultOrient, innerTickSize = 6, outerTickSize = 6, tickPadding = 3, tickArguments_ = [ 10 ], tickValues = null, tickFormat_; + function axis(g) { + g.each(function() { + var g = d3.select(this); + var scale0 = this.__chart__ || scale, scale1 = this.__chart__ = scale.copy(); + var ticks = tickValues == null ? scale1.ticks ? scale1.ticks.apply(scale1, tickArguments_) : scale1.domain() : tickValues, tickFormat = tickFormat_ == null ? scale1.tickFormat ? scale1.tickFormat.apply(scale1, tickArguments_) : d3_identity : tickFormat_, tick = g.selectAll(".tick").data(ticks, scale1), tickEnter = tick.enter().insert("g", ".domain").attr("class", "tick").style("opacity", ε), tickExit = d3.transition(tick.exit()).style("opacity", ε).remove(), tickUpdate = d3.transition(tick.order()).style("opacity", 1), tickSpacing = Math.max(innerTickSize, 0) + tickPadding, tickTransform; + var range = d3_scaleRange(scale1), path = g.selectAll(".domain").data([ 0 ]), pathUpdate = (path.enter().append("path").attr("class", "domain"), + d3.transition(path)); + tickEnter.append("line"); + tickEnter.append("text"); + var lineEnter = tickEnter.select("line"), lineUpdate = tickUpdate.select("line"), text = tick.select("text").text(tickFormat), textEnter = tickEnter.select("text"), textUpdate = tickUpdate.select("text"), sign = orient === "top" || orient === "left" ? -1 : 1, x1, x2, y1, y2; + if (orient === "bottom" || orient === "top") { + tickTransform = d3_svg_axisX, x1 = "x", y1 = "y", x2 = "x2", y2 = "y2"; + text.attr("dy", sign < 0 ? "0em" : ".71em").style("text-anchor", "middle"); + pathUpdate.attr("d", "M" + range[0] + "," + sign * outerTickSize + "V0H" + range[1] + "V" + sign * outerTickSize); + } else { + tickTransform = d3_svg_axisY, x1 = "y", y1 = "x", x2 = "y2", y2 = "x2"; + text.attr("dy", ".32em").style("text-anchor", sign < 0 ? "end" : "start"); + pathUpdate.attr("d", "M" + sign * outerTickSize + "," + range[0] + "H0V" + range[1] + "H" + sign * outerTickSize); + } + lineEnter.attr(y2, sign * innerTickSize); + textEnter.attr(y1, sign * tickSpacing); + lineUpdate.attr(x2, 0).attr(y2, sign * innerTickSize); + textUpdate.attr(x1, 0).attr(y1, sign * tickSpacing); + if (scale1.rangeBand) { + var x = scale1, dx = x.rangeBand() / 2; + scale0 = scale1 = function(d) { + return x(d) + dx; + }; + } else if (scale0.rangeBand) { + scale0 = scale1; + } else { + tickExit.call(tickTransform, scale1, scale0); + } + tickEnter.call(tickTransform, scale0, scale1); + tickUpdate.call(tickTransform, scale1, scale1); + }); + } + axis.scale = function(x) { + if (!arguments.length) return scale; + scale = x; + return axis; + }; + axis.orient = function(x) { + if (!arguments.length) return orient; + orient = x in d3_svg_axisOrients ? x + "" : d3_svg_axisDefaultOrient; + return axis; + }; + axis.ticks = function() { + if (!arguments.length) return tickArguments_; + tickArguments_ = arguments; + return axis; + }; + axis.tickValues = function(x) { + if (!arguments.length) return tickValues; + tickValues = x; + return axis; + }; + axis.tickFormat = function(x) { + if (!arguments.length) return tickFormat_; + tickFormat_ = x; + return axis; + }; + axis.tickSize = function(x) { + var n = arguments.length; + if (!n) return innerTickSize; + innerTickSize = +x; + outerTickSize = +arguments[n - 1]; + return axis; + }; + axis.innerTickSize = function(x) { + if (!arguments.length) return innerTickSize; + innerTickSize = +x; + return axis; + }; + axis.outerTickSize = function(x) { + if (!arguments.length) return outerTickSize; + outerTickSize = +x; + return axis; + }; + axis.tickPadding = function(x) { + if (!arguments.length) return tickPadding; + tickPadding = +x; + return axis; + }; + axis.tickSubdivide = function() { + return arguments.length && axis; + }; + return axis; + }; + var d3_svg_axisDefaultOrient = "bottom", d3_svg_axisOrients = { + top: 1, + right: 1, + bottom: 1, + left: 1 + }; + function d3_svg_axisX(selection, x0, x1) { + selection.attr("transform", function(d) { + var v0 = x0(d); + return "translate(" + (isFinite(v0) ? v0 : x1(d)) + ",0)"; + }); + } + function d3_svg_axisY(selection, y0, y1) { + selection.attr("transform", function(d) { + var v0 = y0(d); + return "translate(0," + (isFinite(v0) ? v0 : y1(d)) + ")"; + }); + } + d3.svg.brush = function() { + var event = d3_eventDispatch(brush, "brushstart", "brush", "brushend"), x = null, y = null, xExtent = [ 0, 0 ], yExtent = [ 0, 0 ], xExtentDomain, yExtentDomain, xClamp = true, yClamp = true, resizes = d3_svg_brushResizes[0]; + function brush(g) { + g.each(function() { + var g = d3.select(this).style("pointer-events", "all").style("-webkit-tap-highlight-color", "rgba(0,0,0,0)").on("mousedown.brush", brushstart).on("touchstart.brush", brushstart); + var background = g.selectAll(".background").data([ 0 ]); + background.enter().append("rect").attr("class", "background").style("visibility", "hidden").style("cursor", "crosshair"); + g.selectAll(".extent").data([ 0 ]).enter().append("rect").attr("class", "extent").style("cursor", "move"); + var resize = g.selectAll(".resize").data(resizes, d3_identity); + resize.exit().remove(); + resize.enter().append("g").attr("class", function(d) { + return "resize " + d; + }).style("cursor", function(d) { + return d3_svg_brushCursor[d]; + }).append("rect").attr("x", function(d) { + return /[ew]$/.test(d) ? -3 : null; + }).attr("y", function(d) { + return /^[ns]/.test(d) ? -3 : null; + }).attr("width", 6).attr("height", 6).style("visibility", "hidden"); + resize.style("display", brush.empty() ? "none" : null); + var gUpdate = d3.transition(g), backgroundUpdate = d3.transition(background), range; + if (x) { + range = d3_scaleRange(x); + backgroundUpdate.attr("x", range[0]).attr("width", range[1] - range[0]); + redrawX(gUpdate); + } + if (y) { + range = d3_scaleRange(y); + backgroundUpdate.attr("y", range[0]).attr("height", range[1] - range[0]); + redrawY(gUpdate); + } + redraw(gUpdate); + }); + } + brush.event = function(g) { + g.each(function() { + var event_ = event.of(this, arguments), extent1 = { + x: xExtent, + y: yExtent, + i: xExtentDomain, + j: yExtentDomain + }, extent0 = this.__chart__ || extent1; + this.__chart__ = extent1; + if (d3_transitionInheritId) { + d3.select(this).transition().each("start.brush", function() { + xExtentDomain = extent0.i; + yExtentDomain = extent0.j; + xExtent = extent0.x; + yExtent = extent0.y; + event_({ + type: "brushstart" + }); + }).tween("brush:brush", function() { + var xi = d3_interpolateArray(xExtent, extent1.x), yi = d3_interpolateArray(yExtent, extent1.y); + xExtentDomain = yExtentDomain = null; + return function(t) { + xExtent = extent1.x = xi(t); + yExtent = extent1.y = yi(t); + event_({ + type: "brush", + mode: "resize" + }); + }; + }).each("end.brush", function() { + xExtentDomain = extent1.i; + yExtentDomain = extent1.j; + event_({ + type: "brush", + mode: "resize" + }); + event_({ + type: "brushend" + }); + }); + } else { + event_({ + type: "brushstart" + }); + event_({ + type: "brush", + mode: "resize" + }); + event_({ + type: "brushend" + }); + } + }); + }; + function redraw(g) { + g.selectAll(".resize").attr("transform", function(d) { + return "translate(" + xExtent[+/e$/.test(d)] + "," + yExtent[+/^s/.test(d)] + ")"; + }); + } + function redrawX(g) { + g.select(".extent").attr("x", xExtent[0]); + g.selectAll(".extent,.n>rect,.s>rect").attr("width", xExtent[1] - xExtent[0]); + } + function redrawY(g) { + g.select(".extent").attr("y", yExtent[0]); + g.selectAll(".extent,.e>rect,.w>rect").attr("height", yExtent[1] - yExtent[0]); + } + function brushstart() { + var target = this, eventTarget = d3.select(d3.event.target), event_ = event.of(target, arguments), g = d3.select(target), resizing = eventTarget.datum(), resizingX = !/^(n|s)$/.test(resizing) && x, resizingY = !/^(e|w)$/.test(resizing) && y, dragging = eventTarget.classed("extent"), dragRestore = d3_event_dragSuppress(target), center, origin = d3.mouse(target), offset; + var w = d3.select(d3_window(target)).on("keydown.brush", keydown).on("keyup.brush", keyup); + if (d3.event.changedTouches) { + w.on("touchmove.brush", brushmove).on("touchend.brush", brushend); + } else { + w.on("mousemove.brush", brushmove).on("mouseup.brush", brushend); + } + g.interrupt().selectAll("*").interrupt(); + if (dragging) { + origin[0] = xExtent[0] - origin[0]; + origin[1] = yExtent[0] - origin[1]; + } else if (resizing) { + var ex = +/w$/.test(resizing), ey = +/^n/.test(resizing); + offset = [ xExtent[1 - ex] - origin[0], yExtent[1 - ey] - origin[1] ]; + origin[0] = xExtent[ex]; + origin[1] = yExtent[ey]; + } else if (d3.event.altKey) center = origin.slice(); + g.style("pointer-events", "none").selectAll(".resize").style("display", null); + d3.select("body").style("cursor", eventTarget.style("cursor")); + event_({ + type: "brushstart" + }); + brushmove(); + function keydown() { + if (d3.event.keyCode == 32) { + if (!dragging) { + center = null; + origin[0] -= xExtent[1]; + origin[1] -= yExtent[1]; + dragging = 2; + } + d3_eventPreventDefault(); + } + } + function keyup() { + if (d3.event.keyCode == 32 && dragging == 2) { + origin[0] += xExtent[1]; + origin[1] += yExtent[1]; + dragging = 0; + d3_eventPreventDefault(); + } + } + function brushmove() { + var point = d3.mouse(target), moved = false; + if (offset) { + point[0] += offset[0]; + point[1] += offset[1]; + } + if (!dragging) { + if (d3.event.altKey) { + if (!center) center = [ (xExtent[0] + xExtent[1]) / 2, (yExtent[0] + yExtent[1]) / 2 ]; + origin[0] = xExtent[+(point[0] < center[0])]; + origin[1] = yExtent[+(point[1] < center[1])]; + } else center = null; + } + if (resizingX && move1(point, x, 0)) { + redrawX(g); + moved = true; + } + if (resizingY && move1(point, y, 1)) { + redrawY(g); + moved = true; + } + if (moved) { + redraw(g); + event_({ + type: "brush", + mode: dragging ? "move" : "resize" + }); + } + } + function move1(point, scale, i) { + var range = d3_scaleRange(scale), r0 = range[0], r1 = range[1], position = origin[i], extent = i ? yExtent : xExtent, size = extent[1] - extent[0], min, max; + if (dragging) { + r0 -= position; + r1 -= size + position; + } + min = (i ? yClamp : xClamp) ? Math.max(r0, Math.min(r1, point[i])) : point[i]; + if (dragging) { + max = (min += position) + size; + } else { + if (center) position = Math.max(r0, Math.min(r1, 2 * center[i] - min)); + if (position < min) { + max = min; + min = position; + } else { + max = position; + } + } + if (extent[0] != min || extent[1] != max) { + if (i) yExtentDomain = null; else xExtentDomain = null; + extent[0] = min; + extent[1] = max; + return true; + } + } + function brushend() { + brushmove(); + g.style("pointer-events", "all").selectAll(".resize").style("display", brush.empty() ? "none" : null); + d3.select("body").style("cursor", null); + w.on("mousemove.brush", null).on("mouseup.brush", null).on("touchmove.brush", null).on("touchend.brush", null).on("keydown.brush", null).on("keyup.brush", null); + dragRestore(); + event_({ + type: "brushend" + }); + } + } + brush.x = function(z) { + if (!arguments.length) return x; + x = z; + resizes = d3_svg_brushResizes[!x << 1 | !y]; + return brush; + }; + brush.y = function(z) { + if (!arguments.length) return y; + y = z; + resizes = d3_svg_brushResizes[!x << 1 | !y]; + return brush; + }; + brush.clamp = function(z) { + if (!arguments.length) return x && y ? [ xClamp, yClamp ] : x ? xClamp : y ? yClamp : null; + if (x && y) xClamp = !!z[0], yClamp = !!z[1]; else if (x) xClamp = !!z; else if (y) yClamp = !!z; + return brush; + }; + brush.extent = function(z) { + var x0, x1, y0, y1, t; + if (!arguments.length) { + if (x) { + if (xExtentDomain) { + x0 = xExtentDomain[0], x1 = xExtentDomain[1]; + } else { + x0 = xExtent[0], x1 = xExtent[1]; + if (x.invert) x0 = x.invert(x0), x1 = x.invert(x1); + if (x1 < x0) t = x0, x0 = x1, x1 = t; + } + } + if (y) { + if (yExtentDomain) { + y0 = yExtentDomain[0], y1 = yExtentDomain[1]; + } else { + y0 = yExtent[0], y1 = yExtent[1]; + if (y.invert) y0 = y.invert(y0), y1 = y.invert(y1); + if (y1 < y0) t = y0, y0 = y1, y1 = t; + } + } + return x && y ? [ [ x0, y0 ], [ x1, y1 ] ] : x ? [ x0, x1 ] : y && [ y0, y1 ]; + } + if (x) { + x0 = z[0], x1 = z[1]; + if (y) x0 = x0[0], x1 = x1[0]; + xExtentDomain = [ x0, x1 ]; + if (x.invert) x0 = x(x0), x1 = x(x1); + if (x1 < x0) t = x0, x0 = x1, x1 = t; + if (x0 != xExtent[0] || x1 != xExtent[1]) xExtent = [ x0, x1 ]; + } + if (y) { + y0 = z[0], y1 = z[1]; + if (x) y0 = y0[1], y1 = y1[1]; + yExtentDomain = [ y0, y1 ]; + if (y.invert) y0 = y(y0), y1 = y(y1); + if (y1 < y0) t = y0, y0 = y1, y1 = t; + if (y0 != yExtent[0] || y1 != yExtent[1]) yExtent = [ y0, y1 ]; + } + return brush; + }; + brush.clear = function() { + if (!brush.empty()) { + xExtent = [ 0, 0 ], yExtent = [ 0, 0 ]; + xExtentDomain = yExtentDomain = null; + } + return brush; + }; + brush.empty = function() { + return !!x && xExtent[0] == xExtent[1] || !!y && yExtent[0] == yExtent[1]; + }; + return d3.rebind(brush, event, "on"); + }; + var d3_svg_brushCursor = { + n: "ns-resize", + e: "ew-resize", + s: "ns-resize", + w: "ew-resize", + nw: "nwse-resize", + ne: "nesw-resize", + se: "nwse-resize", + sw: "nesw-resize" + }; + var d3_svg_brushResizes = [ [ "n", "e", "s", "w", "nw", "ne", "se", "sw" ], [ "e", "w" ], [ "n", "s" ], [] ]; + var d3_time_format = d3_time.format = d3_locale_enUS.timeFormat; + var d3_time_formatUtc = d3_time_format.utc; + var d3_time_formatIso = d3_time_formatUtc("%Y-%m-%dT%H:%M:%S.%LZ"); + d3_time_format.iso = Date.prototype.toISOString && +new Date("2000-01-01T00:00:00.000Z") ? d3_time_formatIsoNative : d3_time_formatIso; + function d3_time_formatIsoNative(date) { + return date.toISOString(); + } + d3_time_formatIsoNative.parse = function(string) { + var date = new Date(string); + return isNaN(date) ? null : date; + }; + d3_time_formatIsoNative.toString = d3_time_formatIso.toString; + d3_time.second = d3_time_interval(function(date) { + return new d3_date(Math.floor(date / 1e3) * 1e3); + }, function(date, offset) { + date.setTime(date.getTime() + Math.floor(offset) * 1e3); + }, function(date) { + return date.getSeconds(); + }); + d3_time.seconds = d3_time.second.range; + d3_time.seconds.utc = d3_time.second.utc.range; + d3_time.minute = d3_time_interval(function(date) { + return new d3_date(Math.floor(date / 6e4) * 6e4); + }, function(date, offset) { + date.setTime(date.getTime() + Math.floor(offset) * 6e4); + }, function(date) { + return date.getMinutes(); + }); + d3_time.minutes = d3_time.minute.range; + d3_time.minutes.utc = d3_time.minute.utc.range; + d3_time.hour = d3_time_interval(function(date) { + var timezone = date.getTimezoneOffset() / 60; + return new d3_date((Math.floor(date / 36e5 - timezone) + timezone) * 36e5); + }, function(date, offset) { + date.setTime(date.getTime() + Math.floor(offset) * 36e5); + }, function(date) { + return date.getHours(); + }); + d3_time.hours = d3_time.hour.range; + d3_time.hours.utc = d3_time.hour.utc.range; + d3_time.month = d3_time_interval(function(date) { + date = d3_time.day(date); + date.setDate(1); + return date; + }, function(date, offset) { + date.setMonth(date.getMonth() + offset); + }, function(date) { + return date.getMonth(); + }); + d3_time.months = d3_time.month.range; + d3_time.months.utc = d3_time.month.utc.range; + function d3_time_scale(linear, methods, format) { + function scale(x) { + return linear(x); + } + scale.invert = function(x) { + return d3_time_scaleDate(linear.invert(x)); + }; + scale.domain = function(x) { + if (!arguments.length) return linear.domain().map(d3_time_scaleDate); + linear.domain(x); + return scale; + }; + function tickMethod(extent, count) { + var span = extent[1] - extent[0], target = span / count, i = d3.bisect(d3_time_scaleSteps, target); + return i == d3_time_scaleSteps.length ? [ methods.year, d3_scale_linearTickRange(extent.map(function(d) { + return d / 31536e6; + }), count)[2] ] : !i ? [ d3_time_scaleMilliseconds, d3_scale_linearTickRange(extent, count)[2] ] : methods[target / d3_time_scaleSteps[i - 1] < d3_time_scaleSteps[i] / target ? i - 1 : i]; + } + scale.nice = function(interval, skip) { + var domain = scale.domain(), extent = d3_scaleExtent(domain), method = interval == null ? tickMethod(extent, 10) : typeof interval === "number" && tickMethod(extent, interval); + if (method) interval = method[0], skip = method[1]; + function skipped(date) { + return !isNaN(date) && !interval.range(date, d3_time_scaleDate(+date + 1), skip).length; + } + return scale.domain(d3_scale_nice(domain, skip > 1 ? { + floor: function(date) { + while (skipped(date = interval.floor(date))) date = d3_time_scaleDate(date - 1); + return date; + }, + ceil: function(date) { + while (skipped(date = interval.ceil(date))) date = d3_time_scaleDate(+date + 1); + return date; + } + } : interval)); + }; + scale.ticks = function(interval, skip) { + var extent = d3_scaleExtent(scale.domain()), method = interval == null ? tickMethod(extent, 10) : typeof interval === "number" ? tickMethod(extent, interval) : !interval.range && [ { + range: interval + }, skip ]; + if (method) interval = method[0], skip = method[1]; + return interval.range(extent[0], d3_time_scaleDate(+extent[1] + 1), skip < 1 ? 1 : skip); + }; + scale.tickFormat = function() { + return format; + }; + scale.copy = function() { + return d3_time_scale(linear.copy(), methods, format); + }; + return d3_scale_linearRebind(scale, linear); + } + function d3_time_scaleDate(t) { + return new Date(t); + } + var d3_time_scaleSteps = [ 1e3, 5e3, 15e3, 3e4, 6e4, 3e5, 9e5, 18e5, 36e5, 108e5, 216e5, 432e5, 864e5, 1728e5, 6048e5, 2592e6, 7776e6, 31536e6 ]; + var d3_time_scaleLocalMethods = [ [ d3_time.second, 1 ], [ d3_time.second, 5 ], [ d3_time.second, 15 ], [ d3_time.second, 30 ], [ d3_time.minute, 1 ], [ d3_time.minute, 5 ], [ d3_time.minute, 15 ], [ d3_time.minute, 30 ], [ d3_time.hour, 1 ], [ d3_time.hour, 3 ], [ d3_time.hour, 6 ], [ d3_time.hour, 12 ], [ d3_time.day, 1 ], [ d3_time.day, 2 ], [ d3_time.week, 1 ], [ d3_time.month, 1 ], [ d3_time.month, 3 ], [ d3_time.year, 1 ] ]; + var d3_time_scaleLocalFormat = d3_time_format.multi([ [ ".%L", function(d) { + return d.getMilliseconds(); + } ], [ ":%S", function(d) { + return d.getSeconds(); + } ], [ "%I:%M", function(d) { + return d.getMinutes(); + } ], [ "%I %p", function(d) { + return d.getHours(); + } ], [ "%a %d", function(d) { + return d.getDay() && d.getDate() != 1; + } ], [ "%b %d", function(d) { + return d.getDate() != 1; + } ], [ "%B", function(d) { + return d.getMonth(); + } ], [ "%Y", d3_true ] ]); + var d3_time_scaleMilliseconds = { + range: function(start, stop, step) { + return d3.range(Math.ceil(start / step) * step, +stop, step).map(d3_time_scaleDate); + }, + floor: d3_identity, + ceil: d3_identity + }; + d3_time_scaleLocalMethods.year = d3_time.year; + d3_time.scale = function() { + return d3_time_scale(d3.scale.linear(), d3_time_scaleLocalMethods, d3_time_scaleLocalFormat); + }; + var d3_time_scaleUtcMethods = d3_time_scaleLocalMethods.map(function(m) { + return [ m[0].utc, m[1] ]; + }); + var d3_time_scaleUtcFormat = d3_time_formatUtc.multi([ [ ".%L", function(d) { + return d.getUTCMilliseconds(); + } ], [ ":%S", function(d) { + return d.getUTCSeconds(); + } ], [ "%I:%M", function(d) { + return d.getUTCMinutes(); + } ], [ "%I %p", function(d) { + return d.getUTCHours(); + } ], [ "%a %d", function(d) { + return d.getUTCDay() && d.getUTCDate() != 1; + } ], [ "%b %d", function(d) { + return d.getUTCDate() != 1; + } ], [ "%B", function(d) { + return d.getUTCMonth(); + } ], [ "%Y", d3_true ] ]); + d3_time_scaleUtcMethods.year = d3_time.year.utc; + d3_time.scale.utc = function() { + return d3_time_scale(d3.scale.linear(), d3_time_scaleUtcMethods, d3_time_scaleUtcFormat); + }; + d3.text = d3_xhrType(function(request) { + return request.responseText; + }); + d3.json = function(url, callback) { + return d3_xhr(url, "application/json", d3_json, callback); + }; + function d3_json(request) { + return JSON.parse(request.responseText); + } + d3.html = function(url, callback) { + return d3_xhr(url, "text/html", d3_html, callback); + }; + function d3_html(request) { + var range = d3_document.createRange(); + range.selectNode(d3_document.body); + return range.createContextualFragment(request.responseText); + } + d3.xml = d3_xhrType(function(request) { + return request.responseXML; + }); + if (typeof define === "function" && define.amd) define(d3); else if (typeof module === "object" && module.exports) module.exports = d3; + this.d3 = d3; +}(); \ No newline at end of file diff --git a/demoapps/vendor/d3.min.js b/demoapps/vendor/d3.min.js new file mode 100644 index 00000000..34d5513e --- /dev/null +++ b/demoapps/vendor/d3.min.js @@ -0,0 +1,5 @@ +!function(){function n(n){return n&&(n.ownerDocument||n.document||n).documentElement}function t(n){return n&&(n.ownerDocument&&n.ownerDocument.defaultView||n.document&&n||n.defaultView)}function e(n,t){return t>n?-1:n>t?1:n>=t?0:0/0}function r(n){return null===n?0/0:+n}function u(n){return!isNaN(n)}function i(n){return{left:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n(t[i],e)<0?r=i+1:u=i}return r},right:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n(t[i],e)>0?u=i:r=i+1}return r}}}function o(n){return n.length}function a(n){for(var t=1;n*t%1;)t*=10;return t}function c(n,t){for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}function l(){this._=Object.create(null)}function s(n){return(n+="")===pa||n[0]===va?va+n:n}function f(n){return(n+="")[0]===va?n.slice(1):n}function h(n){return s(n)in this._}function g(n){return(n=s(n))in this._&&delete this._[n]}function p(){var n=[];for(var t in this._)n.push(f(t));return n}function v(){var n=0;for(var t in this._)++n;return n}function d(){for(var n in this._)return!1;return!0}function m(){this._=Object.create(null)}function y(n){return n}function M(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function x(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e=0,r=da.length;r>e;++e){var u=da[e]+t;if(u in n)return u}}function b(){}function _(){}function w(n){function t(){for(var t,r=e,u=-1,i=r.length;++ue;e++)for(var u,i=n[e],o=0,a=i.length;a>o;o++)(u=i[o])&&t(u,o,e);return n}function Z(n){return ya(n,Sa),n}function V(n){var t,e;return function(r,u,i){var o,a=n[i].update,c=a.length;for(i!=e&&(e=i,t=0),u>=t&&(t=u+1);!(o=a[t])&&++t0&&(n=n.slice(0,a));var l=ka.get(n);return l&&(n=l,c=B),a?t?u:r:t?b:i}function $(n,t){return function(e){var r=ta.event;ta.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{ta.event=r}}}function B(n,t){var e=$(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function W(e){var r=".dragsuppress-"+ ++Aa,u="click"+r,i=ta.select(t(e)).on("touchmove"+r,S).on("dragstart"+r,S).on("selectstart"+r,S);if(null==Ea&&(Ea="onselectstart"in e?!1:x(e.style,"userSelect")),Ea){var o=n(e).style,a=o[Ea];o[Ea]="none"}return function(n){if(i.on(r,null),Ea&&(o[Ea]=a),n){var t=function(){i.on(u,null)};i.on(u,function(){S(),t()},!0),setTimeout(t,0)}}}function J(n,e){e.changedTouches&&(e=e.changedTouches[0]);var r=n.ownerSVGElement||n;if(r.createSVGPoint){var u=r.createSVGPoint();if(0>Na){var i=t(n);if(i.scrollX||i.scrollY){r=ta.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var o=r[0][0].getScreenCTM();Na=!(o.f||o.e),r.remove()}}return Na?(u.x=e.pageX,u.y=e.pageY):(u.x=e.clientX,u.y=e.clientY),u=u.matrixTransform(n.getScreenCTM().inverse()),[u.x,u.y]}var a=n.getBoundingClientRect();return[e.clientX-a.left-n.clientLeft,e.clientY-a.top-n.clientTop]}function G(){return ta.event.changedTouches[0].identifier}function K(n){return n>0?1:0>n?-1:0}function Q(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(t[1]-n[1])*(e[0]-n[0])}function nt(n){return n>1?0:-1>n?qa:Math.acos(n)}function tt(n){return n>1?Ra:-1>n?-Ra:Math.asin(n)}function et(n){return((n=Math.exp(n))-1/n)/2}function rt(n){return((n=Math.exp(n))+1/n)/2}function ut(n){return((n=Math.exp(2*n))-1)/(n+1)}function it(n){return(n=Math.sin(n/2))*n}function ot(){}function at(n,t,e){return this instanceof at?(this.h=+n,this.s=+t,void(this.l=+e)):arguments.length<2?n instanceof at?new at(n.h,n.s,n.l):bt(""+n,_t,at):new at(n,t,e)}function ct(n,t,e){function r(n){return n>360?n-=360:0>n&&(n+=360),60>n?i+(o-i)*n/60:180>n?o:240>n?i+(o-i)*(240-n)/60:i}function u(n){return Math.round(255*r(n))}var i,o;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,e=0>e?0:e>1?1:e,o=.5>=e?e*(1+t):e+t-e*t,i=2*e-o,new mt(u(n+120),u(n),u(n-120))}function lt(n,t,e){return this instanceof lt?(this.h=+n,this.c=+t,void(this.l=+e)):arguments.length<2?n instanceof lt?new lt(n.h,n.c,n.l):n instanceof ft?gt(n.l,n.a,n.b):gt((n=wt((n=ta.rgb(n)).r,n.g,n.b)).l,n.a,n.b):new lt(n,t,e)}function st(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),new ft(e,Math.cos(n*=Da)*t,Math.sin(n)*t)}function ft(n,t,e){return this instanceof ft?(this.l=+n,this.a=+t,void(this.b=+e)):arguments.length<2?n instanceof ft?new ft(n.l,n.a,n.b):n instanceof lt?st(n.h,n.c,n.l):wt((n=mt(n)).r,n.g,n.b):new ft(n,t,e)}function ht(n,t,e){var r=(n+16)/116,u=r+t/500,i=r-e/200;return u=pt(u)*Xa,r=pt(r)*$a,i=pt(i)*Ba,new mt(dt(3.2404542*u-1.5371385*r-.4985314*i),dt(-.969266*u+1.8760108*r+.041556*i),dt(.0556434*u-.2040259*r+1.0572252*i))}function gt(n,t,e){return n>0?new lt(Math.atan2(e,t)*Pa,Math.sqrt(t*t+e*e),n):new lt(0/0,0/0,n)}function pt(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function vt(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function dt(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function mt(n,t,e){return this instanceof mt?(this.r=~~n,this.g=~~t,void(this.b=~~e)):arguments.length<2?n instanceof mt?new mt(n.r,n.g,n.b):bt(""+n,mt,ct):new mt(n,t,e)}function yt(n){return new mt(n>>16,n>>8&255,255&n)}function Mt(n){return yt(n)+""}function xt(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function bt(n,t,e){var r,u,i,o=0,a=0,c=0;if(r=/([a-z]+)\((.*)\)/i.exec(n))switch(u=r[2].split(","),r[1]){case"hsl":return e(parseFloat(u[0]),parseFloat(u[1])/100,parseFloat(u[2])/100);case"rgb":return t(kt(u[0]),kt(u[1]),kt(u[2]))}return(i=Ga.get(n.toLowerCase()))?t(i.r,i.g,i.b):(null==n||"#"!==n.charAt(0)||isNaN(i=parseInt(n.slice(1),16))||(4===n.length?(o=(3840&i)>>4,o=o>>4|o,a=240&i,a=a>>4|a,c=15&i,c=c<<4|c):7===n.length&&(o=(16711680&i)>>16,a=(65280&i)>>8,c=255&i)),t(o,a,c))}function _t(n,t,e){var r,u,i=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-i,c=(o+i)/2;return a?(u=.5>c?a/(o+i):a/(2-o-i),r=n==o?(t-e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=0/0,u=c>0&&1>c?0:r),new at(r,u,c)}function wt(n,t,e){n=St(n),t=St(t),e=St(e);var r=vt((.4124564*n+.3575761*t+.1804375*e)/Xa),u=vt((.2126729*n+.7151522*t+.072175*e)/$a),i=vt((.0193339*n+.119192*t+.9503041*e)/Ba);return ft(116*u-16,500*(r-u),200*(u-i))}function St(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function kt(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function Et(n){return"function"==typeof n?n:function(){return n}}function At(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),Nt(t,e,n,r)}}function Nt(n,t,e,r){function u(){var n,t=c.status;if(!t&&zt(c)||t>=200&&300>t||304===t){try{n=e.call(i,c)}catch(r){return void o.error.call(i,r)}o.load.call(i,n)}else o.error.call(i,c)}var i={},o=ta.dispatch("beforesend","progress","load","error"),a={},c=new XMLHttpRequest,l=null;return!this.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(n)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=u:c.onreadystatechange=function(){c.readyState>3&&u()},c.onprogress=function(n){var t=ta.event;ta.event=n;try{o.progress.call(i,c)}finally{ta.event=t}},i.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",i)},i.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",i):t},i.responseType=function(n){return arguments.length?(l=n,i):l},i.response=function(n){return e=n,i},["get","post"].forEach(function(n){i[n]=function(){return i.send.apply(i,[n].concat(ra(arguments)))}}),i.send=function(e,r,u){if(2===arguments.length&&"function"==typeof r&&(u=r,r=null),c.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),c.setRequestHeader)for(var s in a)c.setRequestHeader(s,a[s]);return null!=t&&c.overrideMimeType&&c.overrideMimeType(t),null!=l&&(c.responseType=l),null!=u&&i.on("error",u).on("load",function(n){u(null,n)}),o.beforesend.call(i,c),c.send(null==r?null:r),i},i.abort=function(){return c.abort(),i},ta.rebind(i,o,"on"),null==r?i:i.get(Ct(r))}function Ct(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}function zt(n){var t=n.responseType;return t&&"text"!==t?n.response:n.responseText}function qt(){var n=Lt(),t=Tt()-n;t>24?(isFinite(t)&&(clearTimeout(tc),tc=setTimeout(qt,t)),nc=0):(nc=1,rc(qt))}function Lt(){var n=Date.now();for(ec=Ka;ec;)n>=ec.t&&(ec.f=ec.c(n-ec.t)),ec=ec.n;return n}function Tt(){for(var n,t=Ka,e=1/0;t;)t.f?t=n?n.n=t.n:Ka=t.n:(t.t8?function(n){return n/e}:function(n){return n*e},symbol:n}}function Pt(n){var t=n.decimal,e=n.thousands,r=n.grouping,u=n.currency,i=r&&e?function(n,t){for(var u=n.length,i=[],o=0,a=r[0],c=0;u>0&&a>0&&(c+a+1>t&&(a=Math.max(1,t-c)),i.push(n.substring(u-=a,u+a)),!((c+=a+1)>t));)a=r[o=(o+1)%r.length];return i.reverse().join(e)}:y;return function(n){var e=ic.exec(n),r=e[1]||" ",o=e[2]||">",a=e[3]||"-",c=e[4]||"",l=e[5],s=+e[6],f=e[7],h=e[8],g=e[9],p=1,v="",d="",m=!1,y=!0;switch(h&&(h=+h.substring(1)),(l||"0"===r&&"="===o)&&(l=r="0",o="="),g){case"n":f=!0,g="g";break;case"%":p=100,d="%",g="f";break;case"p":p=100,d="%",g="r";break;case"b":case"o":case"x":case"X":"#"===c&&(v="0"+g.toLowerCase());case"c":y=!1;case"d":m=!0,h=0;break;case"s":p=-1,g="r"}"$"===c&&(v=u[0],d=u[1]),"r"!=g||h||(g="g"),null!=h&&("g"==g?h=Math.max(1,Math.min(21,h)):("e"==g||"f"==g)&&(h=Math.max(0,Math.min(20,h)))),g=oc.get(g)||Ut;var M=l&&f;return function(n){var e=d;if(m&&n%1)return"";var u=0>n||0===n&&0>1/n?(n=-n,"-"):"-"===a?"":a;if(0>p){var c=ta.formatPrefix(n,h);n=c.scale(n),e=c.symbol+d}else n*=p;n=g(n,h);var x,b,_=n.lastIndexOf(".");if(0>_){var w=y?n.lastIndexOf("e"):-1;0>w?(x=n,b=""):(x=n.substring(0,w),b=n.substring(w))}else x=n.substring(0,_),b=t+n.substring(_+1);!l&&f&&(x=i(x,1/0));var S=v.length+x.length+b.length+(M?0:u.length),k=s>S?new Array(S=s-S+1).join(r):"";return M&&(x=i(k+x,k.length?s-b.length:1/0)),u+=v,n=x+b,("<"===o?u+n+k:">"===o?k+u+n:"^"===o?k.substring(0,S>>=1)+u+n+k.substring(S):u+(M?n:k+n))+e}}}function Ut(n){return n+""}function jt(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Ft(n,t,e){function r(t){var e=n(t),r=i(e,1);return r-t>t-e?e:r}function u(e){return t(e=n(new cc(e-1)),1),e}function i(n,e){return t(n=new cc(+n),e),n}function o(n,r,i){var o=u(n),a=[];if(i>1)for(;r>o;)e(o)%i||a.push(new Date(+o)),t(o,1);else for(;r>o;)a.push(new Date(+o)),t(o,1);return a}function a(n,t,e){try{cc=jt;var r=new jt;return r._=n,o(r,t,e)}finally{cc=Date}}n.floor=n,n.round=r,n.ceil=u,n.offset=i,n.range=o;var c=n.utc=Ht(n);return c.floor=c,c.round=Ht(r),c.ceil=Ht(u),c.offset=Ht(i),c.range=a,n}function Ht(n){return function(t,e){try{cc=jt;var r=new jt;return r._=t,n(r,e)._}finally{cc=Date}}}function Ot(n){function t(n){function t(t){for(var e,u,i,o=[],a=-1,c=0;++aa;){if(r>=l)return-1;if(u=t.charCodeAt(a++),37===u){if(o=t.charAt(a++),i=C[o in sc?t.charAt(a++):o],!i||(r=i(n,e,r))<0)return-1}else if(u!=e.charCodeAt(r++))return-1}return r}function r(n,t,e){_.lastIndex=0;var r=_.exec(t.slice(e));return r?(n.w=w.get(r[0].toLowerCase()),e+r[0].length):-1}function u(n,t,e){x.lastIndex=0;var r=x.exec(t.slice(e));return r?(n.w=b.get(r[0].toLowerCase()),e+r[0].length):-1}function i(n,t,e){E.lastIndex=0;var r=E.exec(t.slice(e));return r?(n.m=A.get(r[0].toLowerCase()),e+r[0].length):-1}function o(n,t,e){S.lastIndex=0;var r=S.exec(t.slice(e));return r?(n.m=k.get(r[0].toLowerCase()),e+r[0].length):-1}function a(n,t,r){return e(n,N.c.toString(),t,r)}function c(n,t,r){return e(n,N.x.toString(),t,r)}function l(n,t,r){return e(n,N.X.toString(),t,r)}function s(n,t,e){var r=M.get(t.slice(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}var f=n.dateTime,h=n.date,g=n.time,p=n.periods,v=n.days,d=n.shortDays,m=n.months,y=n.shortMonths;t.utc=function(n){function e(n){try{cc=jt;var t=new cc;return t._=n,r(t)}finally{cc=Date}}var r=t(n);return e.parse=function(n){try{cc=jt;var t=r.parse(n);return t&&t._}finally{cc=Date}},e.toString=r.toString,e},t.multi=t.utc.multi=ae;var M=ta.map(),x=Yt(v),b=Zt(v),_=Yt(d),w=Zt(d),S=Yt(m),k=Zt(m),E=Yt(y),A=Zt(y);p.forEach(function(n,t){M.set(n.toLowerCase(),t)});var N={a:function(n){return d[n.getDay()]},A:function(n){return v[n.getDay()]},b:function(n){return y[n.getMonth()]},B:function(n){return m[n.getMonth()]},c:t(f),d:function(n,t){return It(n.getDate(),t,2)},e:function(n,t){return It(n.getDate(),t,2)},H:function(n,t){return It(n.getHours(),t,2)},I:function(n,t){return It(n.getHours()%12||12,t,2)},j:function(n,t){return It(1+ac.dayOfYear(n),t,3)},L:function(n,t){return It(n.getMilliseconds(),t,3)},m:function(n,t){return It(n.getMonth()+1,t,2)},M:function(n,t){return It(n.getMinutes(),t,2)},p:function(n){return p[+(n.getHours()>=12)]},S:function(n,t){return It(n.getSeconds(),t,2)},U:function(n,t){return It(ac.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return It(ac.mondayOfYear(n),t,2)},x:t(h),X:t(g),y:function(n,t){return It(n.getFullYear()%100,t,2)},Y:function(n,t){return It(n.getFullYear()%1e4,t,4)},Z:ie,"%":function(){return"%"}},C={a:r,A:u,b:i,B:o,c:a,d:Qt,e:Qt,H:te,I:te,j:ne,L:ue,m:Kt,M:ee,p:s,S:re,U:Xt,w:Vt,W:$t,x:c,X:l,y:Wt,Y:Bt,Z:Jt,"%":oe};return t}function It(n,t,e){var r=0>n?"-":"",u=(r?-n:n)+"",i=u.length;return r+(e>i?new Array(e-i+1).join(t)+u:u)}function Yt(n){return new RegExp("^(?:"+n.map(ta.requote).join("|")+")","i")}function Zt(n){for(var t=new l,e=-1,r=n.length;++e68?1900:2e3)}function Kt(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function Qt(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function ne(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function te(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function ee(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function re(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function ue(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function ie(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=ga(t)/60|0,u=ga(t)%60;return e+It(r,"0",2)+It(u,"0",2)}function oe(n,t,e){hc.lastIndex=0;var r=hc.exec(t.slice(e,e+1));return r?e+r[0].length:-1}function ae(n){for(var t=n.length,e=-1;++e=0?1:-1,a=o*e,c=Math.cos(t),l=Math.sin(t),s=i*l,f=u*c+s*Math.cos(a),h=s*o*Math.sin(a);yc.add(Math.atan2(h,f)),r=n,u=c,i=l}var t,e,r,u,i;Mc.point=function(o,a){Mc.point=n,r=(t=o)*Da,u=Math.cos(a=(e=a)*Da/2+qa/4),i=Math.sin(a)},Mc.lineEnd=function(){n(t,e)}}function pe(n){var t=n[0],e=n[1],r=Math.cos(e);return[r*Math.cos(t),r*Math.sin(t),Math.sin(e)]}function ve(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function de(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function me(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function ye(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function Me(n){var t=Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}function xe(n){return[Math.atan2(n[1],n[0]),tt(n[2])]}function be(n,t){return ga(n[0]-t[0])a;++a)u.point((e=n[a])[0],e[1]);return void u.lineEnd()}var c=new qe(e,n,null,!0),l=new qe(e,null,c,!1);c.o=l,i.push(c),o.push(l),c=new qe(r,n,null,!1),l=new qe(r,null,c,!0),c.o=l,i.push(c),o.push(l)}}),o.sort(t),ze(i),ze(o),i.length){for(var a=0,c=e,l=o.length;l>a;++a)o[a].e=c=!c;for(var s,f,h=i[0];;){for(var g=h,p=!0;g.v;)if((g=g.n)===h)return;s=g.z,u.lineStart();do{if(g.v=g.o.v=!0,g.e){if(p)for(var a=0,l=s.length;l>a;++a)u.point((f=s[a])[0],f[1]);else r(g.x,g.n.x,1,u);g=g.n}else{if(p){s=g.p.z;for(var a=s.length-1;a>=0;--a)u.point((f=s[a])[0],f[1])}else r(g.x,g.p.x,-1,u);g=g.p}g=g.o,s=g.z,p=!p}while(!g.v);u.lineEnd()}}}function ze(n){if(t=n.length){for(var t,e,r=0,u=n[0];++r0){for(b||(i.polygonStart(),b=!0),i.lineStart();++o1&&2&t&&e.push(e.pop().concat(e.shift())),g.push(e.filter(Te))}var g,p,v,d=t(i),m=u.invert(r[0],r[1]),y={point:o,lineStart:c,lineEnd:l,polygonStart:function(){y.point=s,y.lineStart=f,y.lineEnd=h,g=[],p=[]},polygonEnd:function(){y.point=o,y.lineStart=c,y.lineEnd=l,g=ta.merge(g);var n=Fe(m,p);g.length?(b||(i.polygonStart(),b=!0),Ce(g,De,n,e,i)):n&&(b||(i.polygonStart(),b=!0),i.lineStart(),e(null,null,1,i),i.lineEnd()),b&&(i.polygonEnd(),b=!1),g=p=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}},M=Re(),x=t(M),b=!1;return y}}function Te(n){return n.length>1}function Re(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:b,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function De(n,t){return((n=n.x)[0]<0?n[1]-Ra-Ca:Ra-n[1])-((t=t.x)[0]<0?t[1]-Ra-Ca:Ra-t[1])}function Pe(n){var t,e=0/0,r=0/0,u=0/0;return{lineStart:function(){n.lineStart(),t=1},point:function(i,o){var a=i>0?qa:-qa,c=ga(i-e);ga(c-qa)0?Ra:-Ra),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(i,r),t=0):u!==a&&c>=qa&&(ga(e-u)Ca?Math.atan((Math.sin(t)*(i=Math.cos(r))*Math.sin(e)-Math.sin(r)*(u=Math.cos(t))*Math.sin(n))/(u*i*o)):(t+r)/2}function je(n,t,e,r){var u;if(null==n)u=e*Ra,r.point(-qa,u),r.point(0,u),r.point(qa,u),r.point(qa,0),r.point(qa,-u),r.point(0,-u),r.point(-qa,-u),r.point(-qa,0),r.point(-qa,u);else if(ga(n[0]-t[0])>Ca){var i=n[0]a;++a){var l=t[a],s=l.length;if(s)for(var f=l[0],h=f[0],g=f[1]/2+qa/4,p=Math.sin(g),v=Math.cos(g),d=1;;){d===s&&(d=0),n=l[d];var m=n[0],y=n[1]/2+qa/4,M=Math.sin(y),x=Math.cos(y),b=m-h,_=b>=0?1:-1,w=_*b,S=w>qa,k=p*M;if(yc.add(Math.atan2(k*_*Math.sin(w),v*x+k*Math.cos(w))),i+=S?b+_*La:b,S^h>=e^m>=e){var E=de(pe(f),pe(n));Me(E);var A=de(u,E);Me(A);var N=(S^b>=0?-1:1)*tt(A[2]);(r>N||r===N&&(E[0]||E[1]))&&(o+=S^b>=0?1:-1)}if(!d++)break;h=m,p=M,v=x,f=n}}return(-Ca>i||Ca>i&&0>yc)^1&o}function He(n){function t(n,t){return Math.cos(n)*Math.cos(t)>i}function e(n){var e,i,c,l,s;return{lineStart:function(){l=c=!1,s=1},point:function(f,h){var g,p=[f,h],v=t(f,h),d=o?v?0:u(f,h):v?u(f+(0>f?qa:-qa),h):0;if(!e&&(l=c=v)&&n.lineStart(),v!==c&&(g=r(e,p),(be(e,g)||be(p,g))&&(p[0]+=Ca,p[1]+=Ca,v=t(p[0],p[1]))),v!==c)s=0,v?(n.lineStart(),g=r(p,e),n.point(g[0],g[1])):(g=r(e,p),n.point(g[0],g[1]),n.lineEnd()),e=g;else if(a&&e&&o^v){var m;d&i||!(m=r(p,e,!0))||(s=0,o?(n.lineStart(),n.point(m[0][0],m[0][1]),n.point(m[1][0],m[1][1]),n.lineEnd()):(n.point(m[1][0],m[1][1]),n.lineEnd(),n.lineStart(),n.point(m[0][0],m[0][1])))}!v||e&&be(e,p)||n.point(p[0],p[1]),e=p,c=v,i=d},lineEnd:function(){c&&n.lineEnd(),e=null},clean:function(){return s|(l&&c)<<1}}}function r(n,t,e){var r=pe(n),u=pe(t),o=[1,0,0],a=de(r,u),c=ve(a,a),l=a[0],s=c-l*l;if(!s)return!e&&n;var f=i*c/s,h=-i*l/s,g=de(o,a),p=ye(o,f),v=ye(a,h);me(p,v);var d=g,m=ve(p,d),y=ve(d,d),M=m*m-y*(ve(p,p)-1);if(!(0>M)){var x=Math.sqrt(M),b=ye(d,(-m-x)/y);if(me(b,p),b=xe(b),!e)return b;var _,w=n[0],S=t[0],k=n[1],E=t[1];w>S&&(_=w,w=S,S=_);var A=S-w,N=ga(A-qa)A;if(!N&&k>E&&(_=k,k=E,E=_),C?N?k+E>0^b[1]<(ga(b[0]-w)qa^(w<=b[0]&&b[0]<=S)){var z=ye(d,(-m+x)/y);return me(z,p),[b,xe(z)]}}}function u(t,e){var r=o?n:qa-n,u=0;return-r>t?u|=1:t>r&&(u|=2),-r>e?u|=4:e>r&&(u|=8),u}var i=Math.cos(n),o=i>0,a=ga(i)>Ca,c=gr(n,6*Da);return Le(t,e,c,o?[0,-n]:[-qa,n-qa])}function Oe(n,t,e,r){return function(u){var i,o=u.a,a=u.b,c=o.x,l=o.y,s=a.x,f=a.y,h=0,g=1,p=s-c,v=f-l;if(i=n-c,p||!(i>0)){if(i/=p,0>p){if(h>i)return;g>i&&(g=i)}else if(p>0){if(i>g)return;i>h&&(h=i)}if(i=e-c,p||!(0>i)){if(i/=p,0>p){if(i>g)return;i>h&&(h=i)}else if(p>0){if(h>i)return;g>i&&(g=i)}if(i=t-l,v||!(i>0)){if(i/=v,0>v){if(h>i)return;g>i&&(g=i)}else if(v>0){if(i>g)return;i>h&&(h=i)}if(i=r-l,v||!(0>i)){if(i/=v,0>v){if(i>g)return;i>h&&(h=i)}else if(v>0){if(h>i)return;g>i&&(g=i)}return h>0&&(u.a={x:c+h*p,y:l+h*v}),1>g&&(u.b={x:c+g*p,y:l+g*v}),u}}}}}}function Ie(n,t,e,r){function u(r,u){return ga(r[0]-n)0?0:3:ga(r[0]-e)0?2:1:ga(r[1]-t)0?1:0:u>0?3:2}function i(n,t){return o(n.x,t.x)}function o(n,t){var e=u(n,1),r=u(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}return function(a){function c(n){for(var t=0,e=d.length,r=n[1],u=0;e>u;++u)for(var i,o=1,a=d[u],c=a.length,l=a[0];c>o;++o)i=a[o],l[1]<=r?i[1]>r&&Q(l,i,n)>0&&++t:i[1]<=r&&Q(l,i,n)<0&&--t,l=i;return 0!==t}function l(i,a,c,l){var s=0,f=0;if(null==i||(s=u(i,c))!==(f=u(a,c))||o(i,a)<0^c>0){do l.point(0===s||3===s?n:e,s>1?r:t);while((s=(s+c+4)%4)!==f)}else l.point(a[0],a[1])}function s(u,i){return u>=n&&e>=u&&i>=t&&r>=i}function f(n,t){s(n,t)&&a.point(n,t)}function h(){C.point=p,d&&d.push(m=[]),S=!0,w=!1,b=_=0/0}function g(){v&&(p(y,M),x&&w&&A.rejoin(),v.push(A.buffer())),C.point=f,w&&a.lineEnd()}function p(n,t){n=Math.max(-Tc,Math.min(Tc,n)),t=Math.max(-Tc,Math.min(Tc,t));var e=s(n,t);if(d&&m.push([n,t]),S)y=n,M=t,x=e,S=!1,e&&(a.lineStart(),a.point(n,t));else if(e&&w)a.point(n,t);else{var r={a:{x:b,y:_},b:{x:n,y:t}};N(r)?(w||(a.lineStart(),a.point(r.a.x,r.a.y)),a.point(r.b.x,r.b.y),e||a.lineEnd(),k=!1):e&&(a.lineStart(),a.point(n,t),k=!1)}b=n,_=t,w=e}var v,d,m,y,M,x,b,_,w,S,k,E=a,A=Re(),N=Oe(n,t,e,r),C={point:f,lineStart:h,lineEnd:g,polygonStart:function(){a=A,v=[],d=[],k=!0},polygonEnd:function(){a=E,v=ta.merge(v);var t=c([n,r]),e=k&&t,u=v.length;(e||u)&&(a.polygonStart(),e&&(a.lineStart(),l(null,null,1,a),a.lineEnd()),u&&Ce(v,i,t,l,a),a.polygonEnd()),v=d=m=null}};return C}}function Ye(n){var t=0,e=qa/3,r=ir(n),u=r(t,e);return u.parallels=function(n){return arguments.length?r(t=n[0]*qa/180,e=n[1]*qa/180):[t/qa*180,e/qa*180]},u}function Ze(n,t){function e(n,t){var e=Math.sqrt(i-2*u*Math.sin(t))/u;return[e*Math.sin(n*=u),o-e*Math.cos(n)]}var r=Math.sin(n),u=(r+Math.sin(t))/2,i=1+r*(2*u-r),o=Math.sqrt(i)/u;return e.invert=function(n,t){var e=o-t;return[Math.atan2(n,e)/u,tt((i-(n*n+e*e)*u*u)/(2*u))]},e}function Ve(){function n(n,t){Dc+=u*n-r*t,r=n,u=t}var t,e,r,u;Hc.point=function(i,o){Hc.point=n,t=r=i,e=u=o},Hc.lineEnd=function(){n(t,e)}}function Xe(n,t){Pc>n&&(Pc=n),n>jc&&(jc=n),Uc>t&&(Uc=t),t>Fc&&(Fc=t)}function $e(){function n(n,t){o.push("M",n,",",t,i)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function u(){o.push("Z")}var i=Be(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return i=Be(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function Be(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function We(n,t){_c+=n,wc+=t,++Sc}function Je(){function n(n,r){var u=n-t,i=r-e,o=Math.sqrt(u*u+i*i);kc+=o*(t+n)/2,Ec+=o*(e+r)/2,Ac+=o,We(t=n,e=r)}var t,e;Ic.point=function(r,u){Ic.point=n,We(t=r,e=u)}}function Ge(){Ic.point=We}function Ke(){function n(n,t){var e=n-r,i=t-u,o=Math.sqrt(e*e+i*i);kc+=o*(r+n)/2,Ec+=o*(u+t)/2,Ac+=o,o=u*n-r*t,Nc+=o*(r+n),Cc+=o*(u+t),zc+=3*o,We(r=n,u=t)}var t,e,r,u;Ic.point=function(i,o){Ic.point=n,We(t=r=i,e=u=o)},Ic.lineEnd=function(){n(t,e)}}function Qe(n){function t(t,e){n.moveTo(t+o,e),n.arc(t,e,o,0,La)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function u(){a.point=t}function i(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:u,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=u,a.point=t},pointRadius:function(n){return o=n,a},result:b};return a}function nr(n){function t(n){return(a?r:e)(n)}function e(t){return rr(t,function(e,r){e=n(e,r),t.point(e[0],e[1])})}function r(t){function e(e,r){e=n(e,r),t.point(e[0],e[1])}function r(){M=0/0,S.point=i,t.lineStart()}function i(e,r){var i=pe([e,r]),o=n(e,r);u(M,x,y,b,_,w,M=o[0],x=o[1],y=e,b=i[0],_=i[1],w=i[2],a,t),t.point(M,x)}function o(){S.point=e,t.lineEnd()}function c(){r(),S.point=l,S.lineEnd=s}function l(n,t){i(f=n,h=t),g=M,p=x,v=b,d=_,m=w,S.point=i}function s(){u(M,x,y,b,_,w,g,p,f,v,d,m,a,t),S.lineEnd=o,o()}var f,h,g,p,v,d,m,y,M,x,b,_,w,S={point:e,lineStart:r,lineEnd:o,polygonStart:function(){t.polygonStart(),S.lineStart=c +},polygonEnd:function(){t.polygonEnd(),S.lineStart=r}};return S}function u(t,e,r,a,c,l,s,f,h,g,p,v,d,m){var y=s-t,M=f-e,x=y*y+M*M;if(x>4*i&&d--){var b=a+g,_=c+p,w=l+v,S=Math.sqrt(b*b+_*_+w*w),k=Math.asin(w/=S),E=ga(ga(w)-1)i||ga((y*z+M*q)/x-.5)>.3||o>a*g+c*p+l*v)&&(u(t,e,r,a,c,l,N,C,E,b/=S,_/=S,w,d,m),m.point(N,C),u(N,C,E,b,_,w,s,f,h,g,p,v,d,m))}}var i=.5,o=Math.cos(30*Da),a=16;return t.precision=function(n){return arguments.length?(a=(i=n*n)>0&&16,t):Math.sqrt(i)},t}function tr(n){var t=nr(function(t,e){return n([t*Pa,e*Pa])});return function(n){return or(t(n))}}function er(n){this.stream=n}function rr(n,t){return{point:t,sphere:function(){n.sphere()},lineStart:function(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n.polygonStart()},polygonEnd:function(){n.polygonEnd()}}}function ur(n){return ir(function(){return n})()}function ir(n){function t(n){return n=a(n[0]*Da,n[1]*Da),[n[0]*h+c,l-n[1]*h]}function e(n){return n=a.invert((n[0]-c)/h,(l-n[1])/h),n&&[n[0]*Pa,n[1]*Pa]}function r(){a=Ae(o=lr(m,M,x),i);var n=i(v,d);return c=g-n[0]*h,l=p+n[1]*h,u()}function u(){return s&&(s.valid=!1,s=null),t}var i,o,a,c,l,s,f=nr(function(n,t){return n=i(n,t),[n[0]*h+c,l-n[1]*h]}),h=150,g=480,p=250,v=0,d=0,m=0,M=0,x=0,b=Lc,_=y,w=null,S=null;return t.stream=function(n){return s&&(s.valid=!1),s=or(b(o,f(_(n)))),s.valid=!0,s},t.clipAngle=function(n){return arguments.length?(b=null==n?(w=n,Lc):He((w=+n)*Da),u()):w},t.clipExtent=function(n){return arguments.length?(S=n,_=n?Ie(n[0][0],n[0][1],n[1][0],n[1][1]):y,u()):S},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(g=+n[0],p=+n[1],r()):[g,p]},t.center=function(n){return arguments.length?(v=n[0]%360*Da,d=n[1]%360*Da,r()):[v*Pa,d*Pa]},t.rotate=function(n){return arguments.length?(m=n[0]%360*Da,M=n[1]%360*Da,x=n.length>2?n[2]%360*Da:0,r()):[m*Pa,M*Pa,x*Pa]},ta.rebind(t,f,"precision"),function(){return i=n.apply(this,arguments),t.invert=i.invert&&e,r()}}function or(n){return rr(n,function(t,e){n.point(t*Da,e*Da)})}function ar(n,t){return[n,t]}function cr(n,t){return[n>qa?n-La:-qa>n?n+La:n,t]}function lr(n,t,e){return n?t||e?Ae(fr(n),hr(t,e)):fr(n):t||e?hr(t,e):cr}function sr(n){return function(t,e){return t+=n,[t>qa?t-La:-qa>t?t+La:t,e]}}function fr(n){var t=sr(n);return t.invert=sr(-n),t}function hr(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,l=Math.sin(t),s=l*r+a*u;return[Math.atan2(c*i-s*o,a*r-l*u),tt(s*i+c*o)]}var r=Math.cos(n),u=Math.sin(n),i=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,l=Math.sin(t),s=l*i-c*o;return[Math.atan2(c*i+l*o,a*r+s*u),tt(s*r-a*u)]},e}function gr(n,t){var e=Math.cos(n),r=Math.sin(n);return function(u,i,o,a){var c=o*t;null!=u?(u=pr(e,u),i=pr(e,i),(o>0?i>u:u>i)&&(u+=o*La)):(u=n+o*La,i=n-.5*c);for(var l,s=u;o>0?s>i:i>s;s-=c)a.point((l=xe([e,-r*Math.cos(s),-r*Math.sin(s)]))[0],l[1])}}function pr(n,t){var e=pe(t);e[0]-=n,Me(e);var r=nt(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Ca)%(2*Math.PI)}function vr(n,t,e){var r=ta.range(n,t-Ca,e).concat(t);return function(n){return r.map(function(t){return[n,t]})}}function dr(n,t,e){var r=ta.range(n,t-Ca,e).concat(t);return function(n){return r.map(function(t){return[t,n]})}}function mr(n){return n.source}function yr(n){return n.target}function Mr(n,t,e,r){var u=Math.cos(t),i=Math.sin(t),o=Math.cos(r),a=Math.sin(r),c=u*Math.cos(n),l=u*Math.sin(n),s=o*Math.cos(e),f=o*Math.sin(e),h=2*Math.asin(Math.sqrt(it(r-t)+u*o*it(e-n))),g=1/Math.sin(h),p=h?function(n){var t=Math.sin(n*=h)*g,e=Math.sin(h-n)*g,r=e*c+t*s,u=e*l+t*f,o=e*i+t*a;return[Math.atan2(u,r)*Pa,Math.atan2(o,Math.sqrt(r*r+u*u))*Pa]}:function(){return[n*Pa,t*Pa]};return p.distance=h,p}function xr(){function n(n,u){var i=Math.sin(u*=Da),o=Math.cos(u),a=ga((n*=Da)-t),c=Math.cos(a);Yc+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=r*i-e*o*c)*a),e*i+r*o*c),t=n,e=i,r=o}var t,e,r;Zc.point=function(u,i){t=u*Da,e=Math.sin(i*=Da),r=Math.cos(i),Zc.point=n},Zc.lineEnd=function(){Zc.point=Zc.lineEnd=b}}function br(n,t){function e(t,e){var r=Math.cos(t),u=Math.cos(e),i=n(r*u);return[i*u*Math.sin(t),i*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),u=t(r),i=Math.sin(u),o=Math.cos(u);return[Math.atan2(n*i,r*o),Math.asin(r&&e*i/r)]},e}function _r(n,t){function e(n,t){o>0?-Ra+Ca>t&&(t=-Ra+Ca):t>Ra-Ca&&(t=Ra-Ca);var e=o/Math.pow(u(t),i);return[e*Math.sin(i*n),o-e*Math.cos(i*n)]}var r=Math.cos(n),u=function(n){return Math.tan(qa/4+n/2)},i=n===t?Math.sin(n):Math.log(r/Math.cos(t))/Math.log(u(t)/u(n)),o=r*Math.pow(u(n),i)/i;return i?(e.invert=function(n,t){var e=o-t,r=K(i)*Math.sqrt(n*n+e*e);return[Math.atan2(n,e)/i,2*Math.atan(Math.pow(o/r,1/i))-Ra]},e):Sr}function wr(n,t){function e(n,t){var e=i-t;return[e*Math.sin(u*n),i-e*Math.cos(u*n)]}var r=Math.cos(n),u=n===t?Math.sin(n):(r-Math.cos(t))/(t-n),i=r/u+n;return ga(u)u;u++){for(;r>1&&Q(n[e[r-2]],n[e[r-1]],n[u])<=0;)--r;e[r++]=u}return e.slice(0,r)}function zr(n,t){return n[0]-t[0]||n[1]-t[1]}function qr(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function Lr(n,t,e,r){var u=n[0],i=e[0],o=t[0]-u,a=r[0]-i,c=n[1],l=e[1],s=t[1]-c,f=r[1]-l,h=(a*(c-l)-f*(u-i))/(f*o-a*s);return[u+h*o,c+h*s]}function Tr(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function Rr(){tu(this),this.edge=this.site=this.circle=null}function Dr(n){var t=el.pop()||new Rr;return t.site=n,t}function Pr(n){Xr(n),Qc.remove(n),el.push(n),tu(n)}function Ur(n){var t=n.circle,e=t.x,r=t.cy,u={x:e,y:r},i=n.P,o=n.N,a=[n];Pr(n);for(var c=i;c.circle&&ga(e-c.circle.x)s;++s)l=a[s],c=a[s-1],Kr(l.edge,c.site,l.site,u);c=a[0],l=a[f-1],l.edge=Jr(c.site,l.site,null,u),Vr(c),Vr(l)}function jr(n){for(var t,e,r,u,i=n.x,o=n.y,a=Qc._;a;)if(r=Fr(a,o)-i,r>Ca)a=a.L;else{if(u=i-Hr(a,o),!(u>Ca)){r>-Ca?(t=a.P,e=a):u>-Ca?(t=a,e=a.N):t=e=a;break}if(!a.R){t=a;break}a=a.R}var c=Dr(n);if(Qc.insert(t,c),t||e){if(t===e)return Xr(t),e=Dr(t.site),Qc.insert(c,e),c.edge=e.edge=Jr(t.site,c.site),Vr(t),void Vr(e);if(!e)return void(c.edge=Jr(t.site,c.site));Xr(t),Xr(e);var l=t.site,s=l.x,f=l.y,h=n.x-s,g=n.y-f,p=e.site,v=p.x-s,d=p.y-f,m=2*(h*d-g*v),y=h*h+g*g,M=v*v+d*d,x={x:(d*y-g*M)/m+s,y:(h*M-v*y)/m+f};Kr(e.edge,l,p,x),c.edge=Jr(l,n,null,x),e.edge=Jr(n,p,null,x),Vr(t),Vr(e)}}function Fr(n,t){var e=n.site,r=e.x,u=e.y,i=u-t;if(!i)return r;var o=n.P;if(!o)return-1/0;e=o.site;var a=e.x,c=e.y,l=c-t;if(!l)return a;var s=a-r,f=1/i-1/l,h=s/l;return f?(-h+Math.sqrt(h*h-2*f*(s*s/(-2*l)-c+l/2+u-i/2)))/f+r:(r+a)/2}function Hr(n,t){var e=n.N;if(e)return Fr(e,t);var r=n.site;return r.y===t?r.x:1/0}function Or(n){this.site=n,this.edges=[]}function Ir(n){for(var t,e,r,u,i,o,a,c,l,s,f=n[0][0],h=n[1][0],g=n[0][1],p=n[1][1],v=Kc,d=v.length;d--;)if(i=v[d],i&&i.prepare())for(a=i.edges,c=a.length,o=0;c>o;)s=a[o].end(),r=s.x,u=s.y,l=a[++o%c].start(),t=l.x,e=l.y,(ga(r-t)>Ca||ga(u-e)>Ca)&&(a.splice(o,0,new Qr(Gr(i.site,s,ga(r-f)Ca?{x:f,y:ga(t-f)Ca?{x:ga(e-p)Ca?{x:h,y:ga(t-h)Ca?{x:ga(e-g)=-za)){var g=c*c+l*l,p=s*s+f*f,v=(f*g-l*p)/h,d=(c*p-s*g)/h,f=d+a,m=rl.pop()||new Zr;m.arc=n,m.site=u,m.x=v+o,m.y=f+Math.sqrt(v*v+d*d),m.cy=f,n.circle=m;for(var y=null,M=tl._;M;)if(m.yd||d>=a)return;if(h>p){if(i){if(i.y>=l)return}else i={x:d,y:c};e={x:d,y:l}}else{if(i){if(i.yr||r>1)if(h>p){if(i){if(i.y>=l)return}else i={x:(c-u)/r,y:c};e={x:(l-u)/r,y:l}}else{if(i){if(i.yg){if(i){if(i.x>=a)return}else i={x:o,y:r*o+u};e={x:a,y:r*a+u}}else{if(i){if(i.xi||f>o||r>h||u>g)){if(p=n.point){var p,v=t-n.x,d=e-n.y,m=v*v+d*d;if(c>m){var y=Math.sqrt(c=m);r=t-y,u=e-y,i=t+y,o=e+y,a=p}}for(var M=n.nodes,x=.5*(s+h),b=.5*(f+g),_=t>=x,w=e>=b,S=w<<1|_,k=S+4;k>S;++S)if(n=M[3&S])switch(3&S){case 0:l(n,s,f,x,b);break;case 1:l(n,x,f,h,b);break;case 2:l(n,s,b,x,g);break;case 3:l(n,x,b,h,g)}}}(n,r,u,i,o),a}function gu(n,t){n=ta.rgb(n),t=ta.rgb(t);var e=n.r,r=n.g,u=n.b,i=t.r-e,o=t.g-r,a=t.b-u;return function(n){return"#"+xt(Math.round(e+i*n))+xt(Math.round(r+o*n))+xt(Math.round(u+a*n))}}function pu(n,t){var e,r={},u={};for(e in n)e in t?r[e]=mu(n[e],t[e]):u[e]=n[e];for(e in t)e in n||(u[e]=t[e]);return function(n){for(e in r)u[e]=r[e](n);return u}}function vu(n,t){return n=+n,t=+t,function(e){return n*(1-e)+t*e}}function du(n,t){var e,r,u,i=il.lastIndex=ol.lastIndex=0,o=-1,a=[],c=[];for(n+="",t+="";(e=il.exec(n))&&(r=ol.exec(t));)(u=r.index)>i&&(u=t.slice(i,u),a[o]?a[o]+=u:a[++o]=u),(e=e[0])===(r=r[0])?a[o]?a[o]+=r:a[++o]=r:(a[++o]=null,c.push({i:o,x:vu(e,r)})),i=ol.lastIndex;return ir;++r)a[(e=c[r]).i]=e.x(n);return a.join("")})}function mu(n,t){for(var e,r=ta.interpolators.length;--r>=0&&!(e=ta.interpolators[r](n,t)););return e}function yu(n,t){var e,r=[],u=[],i=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;a>e;++e)r.push(mu(n[e],t[e]));for(;i>e;++e)u[e]=n[e];for(;o>e;++e)u[e]=t[e];return function(n){for(e=0;a>e;++e)u[e]=r[e](n);return u}}function Mu(n){return function(t){return 0>=t?0:t>=1?1:n(t)}}function xu(n){return function(t){return 1-n(1-t)}}function bu(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function _u(n){return n*n}function wu(n){return n*n*n}function Su(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function ku(n){return function(t){return Math.pow(t,n)}}function Eu(n){return 1-Math.cos(n*Ra)}function Au(n){return Math.pow(2,10*(n-1))}function Nu(n){return 1-Math.sqrt(1-n*n)}function Cu(n,t){var e;return arguments.length<2&&(t=.45),arguments.length?e=t/La*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*La/t)}}function zu(n){return n||(n=1.70158),function(t){return t*t*((n+1)*t-n)}}function qu(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function Lu(n,t){n=ta.hcl(n),t=ta.hcl(t);var e=n.h,r=n.c,u=n.l,i=t.h-e,o=t.c-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.c:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return st(e+i*n,r+o*n,u+a*n)+""}}function Tu(n,t){n=ta.hsl(n),t=ta.hsl(t);var e=n.h,r=n.s,u=n.l,i=t.h-e,o=t.s-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.s:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return ct(e+i*n,r+o*n,u+a*n)+""}}function Ru(n,t){n=ta.lab(n),t=ta.lab(t);var e=n.l,r=n.a,u=n.b,i=t.l-e,o=t.a-r,a=t.b-u;return function(n){return ht(e+i*n,r+o*n,u+a*n)+""}}function Du(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function Pu(n){var t=[n.a,n.b],e=[n.c,n.d],r=ju(t),u=Uu(t,e),i=ju(Fu(e,t,-u))||0;t[0]*e[1]180?s+=360:s-l>180&&(l+=360),u.push({i:r.push(r.pop()+"rotate(",null,")")-2,x:vu(l,s)})):s&&r.push(r.pop()+"rotate("+s+")"),f!=h?u.push({i:r.push(r.pop()+"skewX(",null,")")-2,x:vu(f,h)}):h&&r.push(r.pop()+"skewX("+h+")"),g[0]!=p[0]||g[1]!=p[1]?(e=r.push(r.pop()+"scale(",null,",",null,")"),u.push({i:e-4,x:vu(g[0],p[0])},{i:e-2,x:vu(g[1],p[1])})):(1!=p[0]||1!=p[1])&&r.push(r.pop()+"scale("+p+")"),e=u.length,function(n){for(var t,i=-1;++i=0;)e.push(u[r])}function Qu(n,t){for(var e=[n],r=[];null!=(n=e.pop());)if(r.push(n),(i=n.children)&&(u=i.length))for(var u,i,o=-1;++oe;++e)(t=n[e][1])>u&&(r=e,u=t);return r}function si(n){return n.reduce(fi,0)}function fi(n,t){return n+t[1]}function hi(n,t){return gi(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function gi(n,t){for(var e=-1,r=+n[0],u=(n[1]-r)/t,i=[];++e<=t;)i[e]=u*e+r;return i}function pi(n){return[ta.min(n),ta.max(n)]}function vi(n,t){return n.value-t.value}function di(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function mi(n,t){n._pack_next=t,t._pack_prev=n}function yi(n,t){var e=t.x-n.x,r=t.y-n.y,u=n.r+t.r;return.999*u*u>e*e+r*r}function Mi(n){function t(n){s=Math.min(n.x-n.r,s),f=Math.max(n.x+n.r,f),h=Math.min(n.y-n.r,h),g=Math.max(n.y+n.r,g)}if((e=n.children)&&(l=e.length)){var e,r,u,i,o,a,c,l,s=1/0,f=-1/0,h=1/0,g=-1/0;if(e.forEach(xi),r=e[0],r.x=-r.r,r.y=0,t(r),l>1&&(u=e[1],u.x=u.r,u.y=0,t(u),l>2))for(i=e[2],wi(r,u,i),t(i),di(r,i),r._pack_prev=i,di(i,u),u=r._pack_next,o=3;l>o;o++){wi(r,u,i=e[o]);var p=0,v=1,d=1;for(a=u._pack_next;a!==u;a=a._pack_next,v++)if(yi(a,i)){p=1;break}if(1==p)for(c=r._pack_prev;c!==a._pack_prev&&!yi(c,i);c=c._pack_prev,d++);p?(d>v||v==d&&u.ro;o++)i=e[o],i.x-=m,i.y-=y,M=Math.max(M,i.r+Math.sqrt(i.x*i.x+i.y*i.y));n.r=M,e.forEach(bi)}}function xi(n){n._pack_next=n._pack_prev=n}function bi(n){delete n._pack_next,delete n._pack_prev}function _i(n,t,e,r){var u=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,u)for(var i=-1,o=u.length;++i=0;)t=u[i],t.z+=e,t.m+=e,e+=t.s+(r+=t.c)}function Ci(n,t,e){return n.a.parent===t.parent?n.a:e}function zi(n){return 1+ta.max(n,function(n){return n.y})}function qi(n){return n.reduce(function(n,t){return n+t.x},0)/n.length}function Li(n){var t=n.children;return t&&t.length?Li(t[0]):n}function Ti(n){var t,e=n.children;return e&&(t=e.length)?Ti(e[t-1]):n}function Ri(n){return{x:n.x,y:n.y,dx:n.dx,dy:n.dy}}function Di(n,t){var e=n.x+t[3],r=n.y+t[0],u=n.dx-t[1]-t[3],i=n.dy-t[0]-t[2];return 0>u&&(e+=u/2,u=0),0>i&&(r+=i/2,i=0),{x:e,y:r,dx:u,dy:i}}function Pi(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function Ui(n){return n.rangeExtent?n.rangeExtent():Pi(n.range())}function ji(n,t,e,r){var u=e(n[0],n[1]),i=r(t[0],t[1]);return function(n){return i(u(n))}}function Fi(n,t){var e,r=0,u=n.length-1,i=n[r],o=n[u];return i>o&&(e=r,r=u,u=e,e=i,i=o,o=e),n[r]=t.floor(i),n[u]=t.ceil(o),n}function Hi(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:ml}function Oi(n,t,e,r){var u=[],i=[],o=0,a=Math.min(n.length,t.length)-1;for(n[a]2?Oi:ji,c=r?Iu:Ou;return o=u(n,t,c,e),a=u(t,n,c,mu),i}function i(n){return o(n)}var o,a;return i.invert=function(n){return a(n)},i.domain=function(t){return arguments.length?(n=t.map(Number),u()):n},i.range=function(n){return arguments.length?(t=n,u()):t},i.rangeRound=function(n){return i.range(n).interpolate(Du)},i.clamp=function(n){return arguments.length?(r=n,u()):r},i.interpolate=function(n){return arguments.length?(e=n,u()):e},i.ticks=function(t){return Xi(n,t)},i.tickFormat=function(t,e){return $i(n,t,e)},i.nice=function(t){return Zi(n,t),u()},i.copy=function(){return Ii(n,t,e,r)},u()}function Yi(n,t){return ta.rebind(n,t,"range","rangeRound","interpolate","clamp")}function Zi(n,t){return Fi(n,Hi(Vi(n,t)[2]))}function Vi(n,t){null==t&&(t=10);var e=Pi(n),r=e[1]-e[0],u=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),i=t/r*u;return.15>=i?u*=10:.35>=i?u*=5:.75>=i&&(u*=2),e[0]=Math.ceil(e[0]/u)*u,e[1]=Math.floor(e[1]/u)*u+.5*u,e[2]=u,e}function Xi(n,t){return ta.range.apply(ta,Vi(n,t))}function $i(n,t,e){var r=Vi(n,t);if(e){var u=ic.exec(e);if(u.shift(),"s"===u[8]){var i=ta.formatPrefix(Math.max(ga(r[0]),ga(r[1])));return u[7]||(u[7]="."+Bi(i.scale(r[2]))),u[8]="f",e=ta.format(u.join("")),function(n){return e(i.scale(n))+i.symbol}}u[7]||(u[7]="."+Wi(u[8],r)),e=u.join("")}else e=",."+Bi(r[2])+"f";return ta.format(e)}function Bi(n){return-Math.floor(Math.log(n)/Math.LN10+.01)}function Wi(n,t){var e=Bi(t[2]);return n in yl?Math.abs(e-Bi(Math.max(ga(t[0]),ga(t[1]))))+ +("e"!==n):e-2*("%"===n)}function Ji(n,t,e,r){function u(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function i(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function o(t){return n(u(t))}return o.invert=function(t){return i(n.invert(t))},o.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(u)),o):r},o.base=function(e){return arguments.length?(t=+e,n.domain(r.map(u)),o):t},o.nice=function(){var t=Fi(r.map(u),e?Math:xl);return n.domain(t),r=t.map(i),o},o.ticks=function(){var n=Pi(r),o=[],a=n[0],c=n[1],l=Math.floor(u(a)),s=Math.ceil(u(c)),f=t%1?2:t;if(isFinite(s-l)){if(e){for(;s>l;l++)for(var h=1;f>h;h++)o.push(i(l)*h);o.push(i(l))}else for(o.push(i(l));l++0;h--)o.push(i(l)*h);for(l=0;o[l]c;s--);o=o.slice(l,s)}return o},o.tickFormat=function(n,t){if(!arguments.length)return Ml;arguments.length<2?t=Ml:"function"!=typeof t&&(t=ta.format(t));var r,a=Math.max(.1,n/o.ticks().length),c=e?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);return function(n){return n/i(c(u(n)+r))<=a?t(n):""}},o.copy=function(){return Ji(n.copy(),t,e,r)},Yi(o,n)}function Gi(n,t,e){function r(t){return n(u(t))}var u=Ki(t),i=Ki(1/t);return r.invert=function(t){return i(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map(Number)).map(u)),r):e},r.ticks=function(n){return Xi(e,n)},r.tickFormat=function(n,t){return $i(e,n,t)},r.nice=function(n){return r.domain(Zi(e,n))},r.exponent=function(o){return arguments.length?(u=Ki(t=o),i=Ki(1/t),n.domain(e.map(u)),r):t},r.copy=function(){return Gi(n.copy(),t,e)},Yi(r,n)}function Ki(n){return function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function Qi(n,t){function e(e){return i[((u.get(e)||("range"===t.t?u.set(e,n.push(e)):0/0))-1)%i.length]}function r(t,e){return ta.range(n.length).map(function(n){return t+e*n})}var u,i,o;return e.domain=function(r){if(!arguments.length)return n;n=[],u=new l;for(var i,o=-1,a=r.length;++oe?[0/0,0/0]:[e>0?a[e-1]:n[0],et?0/0:t/i+n,[t,t+1/i]},r.copy=function(){return to(n,t,e)},u()}function eo(n,t){function e(e){return e>=e?t[ta.bisect(n,e)]:void 0}return e.domain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return arguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},e.copy=function(){return eo(n,t)},e}function ro(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(t),t):n},t.ticks=function(t){return Xi(n,t)},t.tickFormat=function(t,e){return $i(n,t,e)},t.copy=function(){return ro(n)},t}function uo(){return 0}function io(n){return n.innerRadius}function oo(n){return n.outerRadius}function ao(n){return n.startAngle}function co(n){return n.endAngle}function lo(n){return n&&n.padAngle}function so(n,t,e,r){return(n-e)*t-(t-r)*n>0?0:1}function fo(n,t,e,r,u){var i=n[0]-t[0],o=n[1]-t[1],a=(u?r:-r)/Math.sqrt(i*i+o*o),c=a*o,l=-a*i,s=n[0]+c,f=n[1]+l,h=t[0]+c,g=t[1]+l,p=(s+h)/2,v=(f+g)/2,d=h-s,m=g-f,y=d*d+m*m,M=e-r,x=s*g-h*f,b=(0>m?-1:1)*Math.sqrt(M*M*y-x*x),_=(x*m-d*b)/y,w=(-x*d-m*b)/y,S=(x*m+d*b)/y,k=(-x*d+m*b)/y,E=_-p,A=w-v,N=S-p,C=k-v;return E*E+A*A>N*N+C*C&&(_=S,w=k),[[_-c,w-l],[_*e/M,w*e/M]]}function ho(n){function t(t){function o(){l.push("M",i(n(s),a))}for(var c,l=[],s=[],f=-1,h=t.length,g=Et(e),p=Et(r);++f1&&u.push("H",r[0]),u.join("")}function mo(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t1){a=t[1],i=n[c],c++,r+="C"+(u[0]+o[0])+","+(u[1]+o[1])+","+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1];for(var l=2;l9&&(u=3*t/Math.sqrt(u),o[a]=u*e,o[a+1]=u*r));for(a=-1;++a<=c;)u=(n[Math.min(c,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),i.push([u||0,o[a]*u||0]);return i}function To(n){return n.length<3?go(n):n[0]+_o(n,Lo(n))}function Ro(n){for(var t,e,r,u=-1,i=n.length;++ur)return s();var u=i[i.active];u&&(--i.count,delete i[i.active],u.event&&u.event.interrupt.call(n,n.__data__,u.index)),i.active=r,o.event&&o.event.start.call(n,n.__data__,t),o.tween.forEach(function(e,r){(r=r.call(n,n.__data__,t))&&v.push(r)}),h=o.ease,f=o.duration,ta.timer(function(){return p.c=l(e||1)?Ne:l,1},0,a)}function l(e){if(i.active!==r)return 1;for(var u=e/f,a=h(u),c=v.length;c>0;)v[--c].call(n,a);return u>=1?(o.event&&o.event.end.call(n,n.__data__,t),s()):void 0}function s(){return--i.count?delete i[r]:delete n[e],1}var f,h,g=o.delay,p=ec,v=[];return p.t=g+a,u>=g?c(u-g):void(p.c=c)},0,a)}}function Bo(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate("+(isFinite(r)?r:e(n))+",0)"})}function Wo(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate(0,"+(isFinite(r)?r:e(n))+")"})}function Jo(n){return n.toISOString()}function Go(n,t,e){function r(t){return n(t)}function u(n,e){var r=n[1]-n[0],u=r/e,i=ta.bisect(Vl,u);return i==Vl.length?[t.year,Vi(n.map(function(n){return n/31536e6}),e)[2]]:i?t[u/Vl[i-1]1?{floor:function(t){for(;e(t=n.floor(t));)t=Ko(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=Ko(+t+1);return t}}:n))},r.ticks=function(n,t){var e=Pi(r.domain()),i=null==n?u(e,10):"number"==typeof n?u(e,n):!n.range&&[{range:n},t];return i&&(n=i[0],t=i[1]),n.range(e[0],Ko(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=function(){return Go(n.copy(),t,e)},Yi(r,n)}function Ko(n){return new Date(n)}function Qo(n){return JSON.parse(n.responseText)}function na(n){var t=ua.createRange();return t.selectNode(ua.body),t.createContextualFragment(n.responseText)}var ta={version:"3.5.5"},ea=[].slice,ra=function(n){return ea.call(n)},ua=this.document;if(ua)try{ra(ua.documentElement.childNodes)[0].nodeType}catch(ia){ra=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}if(Date.now||(Date.now=function(){return+new Date}),ua)try{ua.createElement("DIV").style.setProperty("opacity",0,"")}catch(oa){var aa=this.Element.prototype,ca=aa.setAttribute,la=aa.setAttributeNS,sa=this.CSSStyleDeclaration.prototype,fa=sa.setProperty;aa.setAttribute=function(n,t){ca.call(this,n,t+"")},aa.setAttributeNS=function(n,t,e){la.call(this,n,t,e+"")},sa.setProperty=function(n,t,e){fa.call(this,n,t+"",e)}}ta.ascending=e,ta.descending=function(n,t){return n>t?-1:t>n?1:t>=n?0:0/0},ta.min=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u=r){e=r;break}for(;++ur&&(e=r)}else{for(;++u=r){e=r;break}for(;++ur&&(e=r)}return e},ta.max=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u=r){e=r;break}for(;++ue&&(e=r)}else{for(;++u=r){e=r;break}for(;++ue&&(e=r)}return e},ta.extent=function(n,t){var e,r,u,i=-1,o=n.length;if(1===arguments.length){for(;++i=r){e=u=r;break}for(;++ir&&(e=r),r>u&&(u=r))}else{for(;++i=r){e=u=r;break}for(;++ir&&(e=r),r>u&&(u=r))}return[e,u]},ta.sum=function(n,t){var e,r=0,i=n.length,o=-1;if(1===arguments.length)for(;++o1?c/(s-1):void 0},ta.deviation=function(){var n=ta.variance.apply(this,arguments);return n?Math.sqrt(n):n};var ha=i(e);ta.bisectLeft=ha.left,ta.bisect=ta.bisectRight=ha.right,ta.bisector=function(n){return i(1===n.length?function(t,r){return e(n(t),r)}:n)},ta.shuffle=function(n,t,e){(i=arguments.length)<3&&(e=n.length,2>i&&(t=0));for(var r,u,i=e-t;i;)u=Math.random()*i--|0,r=n[i+t],n[i+t]=n[u+t],n[u+t]=r;return n},ta.permute=function(n,t){for(var e=t.length,r=new Array(e);e--;)r[e]=n[t[e]];return r},ta.pairs=function(n){for(var t,e=0,r=n.length-1,u=n[0],i=new Array(0>r?0:r);r>e;)i[e]=[t=u,u=n[++e]];return i},ta.zip=function(){if(!(r=arguments.length))return[];for(var n=-1,t=ta.min(arguments,o),e=new Array(t);++n=0;)for(r=n[u],t=r.length;--t>=0;)e[--o]=r[t];return e};var ga=Math.abs;ta.range=function(n,t,e){if(arguments.length<3&&(e=1,arguments.length<2&&(t=n,n=0)),(t-n)/e===1/0)throw new Error("infinite range");var r,u=[],i=a(ga(e)),o=-1;if(n*=i,t*=i,e*=i,0>e)for(;(r=n+e*++o)>t;)u.push(r/i);else for(;(r=n+e*++o)=i.length)return r?r.call(u,o):e?o.sort(e):o;for(var c,s,f,h,g=-1,p=o.length,v=i[a++],d=new l;++g=i.length)return n;var r=[],u=o[e++];return n.forEach(function(n,u){r.push({key:n,values:t(u,e)})}),u?r.sort(function(n,t){return u(n.key,t.key)}):r}var e,r,u={},i=[],o=[];return u.map=function(t,e){return n(e,t,0)},u.entries=function(e){return t(n(ta.map,e,0),0)},u.key=function(n){return i.push(n),u},u.sortKeys=function(n){return o[i.length-1]=n,u},u.sortValues=function(n){return e=n,u},u.rollup=function(n){return r=n,u},u},ta.set=function(n){var t=new m;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);return t},c(m,{has:h,add:function(n){return this._[s(n+="")]=!0,n},remove:g,values:p,size:v,empty:d,forEach:function(n){for(var t in this._)n.call(this,f(t))}}),ta.behavior={},ta.rebind=function(n,t){for(var e,r=1,u=arguments.length;++r=0&&(r=n.slice(e+1),n=n.slice(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},ta.event=null,ta.requote=function(n){return n.replace(ma,"\\$&")};var ma=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,ya={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},Ma=function(n,t){return t.querySelector(n)},xa=function(n,t){return t.querySelectorAll(n)},ba=function(n,t){var e=n.matches||n[x(n,"matchesSelector")];return(ba=function(n,t){return e.call(n,t)})(n,t)};"function"==typeof Sizzle&&(Ma=function(n,t){return Sizzle(n,t)[0]||null},xa=Sizzle,ba=Sizzle.matchesSelector),ta.selection=function(){return ta.select(ua.documentElement)};var _a=ta.selection.prototype=[];_a.select=function(n){var t,e,r,u,i=[];n=N(n);for(var o=-1,a=this.length;++o=0&&(e=n.slice(0,t),n=n.slice(t+1)),wa.hasOwnProperty(e)?{space:wa[e],local:n}:n}},_a.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return n=ta.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(z(t,n[t]));return this}return this.each(z(n,t))},_a.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=T(n)).length,u=-1;if(t=e.classList){for(;++uu){if("string"!=typeof n){2>u&&(e="");for(r in n)this.each(P(r,n[r],e));return this}if(2>u){var i=this.node();return t(i).getComputedStyle(i,null).getPropertyValue(n)}r=""}return this.each(P(n,e,r))},_a.property=function(n,t){if(arguments.length<2){if("string"==typeof n)return this.node()[n];for(t in n)this.each(U(t,n[t]));return this}return this.each(U(n,t))},_a.text=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}:null==n?function(){this.textContent=""}:function(){this.textContent=n}):this.node().textContent},_a.html=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}:null==n?function(){this.innerHTML=""}:function(){this.innerHTML=n}):this.node().innerHTML},_a.append=function(n){return n=j(n),this.select(function(){return this.appendChild(n.apply(this,arguments))})},_a.insert=function(n,t){return n=j(n),t=N(t),this.select(function(){return this.insertBefore(n.apply(this,arguments),t.apply(this,arguments)||null)})},_a.remove=function(){return this.each(F)},_a.data=function(n,t){function e(n,e){var r,u,i,o=n.length,f=e.length,h=Math.min(o,f),g=new Array(f),p=new Array(f),v=new Array(o);if(t){var d,m=new l,y=new Array(o);for(r=-1;++rr;++r)p[r]=H(e[r]);for(;o>r;++r)v[r]=n[r]}p.update=g,p.parentNode=g.parentNode=v.parentNode=n.parentNode,a.push(p),c.push(g),s.push(v)}var r,u,i=-1,o=this.length;if(!arguments.length){for(n=new Array(o=(r=this[0]).length);++ii;i++){u.push(t=[]),t.parentNode=(e=this[i]).parentNode;for(var a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return A(u)},_a.order=function(){for(var n=-1,t=this.length;++n=0;)(e=r[u])&&(i&&i!==e.nextSibling&&i.parentNode.insertBefore(e,i),i=e);return this},_a.sort=function(n){n=I.apply(this,arguments);for(var t=-1,e=this.length;++tn;n++)for(var e=this[n],r=0,u=e.length;u>r;r++){var i=e[r];if(i)return i}return null},_a.size=function(){var n=0;return Y(this,function(){++n}),n};var Sa=[];ta.selection.enter=Z,ta.selection.enter.prototype=Sa,Sa.append=_a.append,Sa.empty=_a.empty,Sa.node=_a.node,Sa.call=_a.call,Sa.size=_a.size,Sa.select=function(n){for(var t,e,r,u,i,o=[],a=-1,c=this.length;++ar){if("string"!=typeof n){2>r&&(t=!1);for(e in n)this.each(X(e,n[e],t));return this}if(2>r)return(r=this.node()["__on"+n])&&r._;e=!1}return this.each(X(n,t,e))};var ka=ta.map({mouseenter:"mouseover",mouseleave:"mouseout"});ua&&ka.forEach(function(n){"on"+n in ua&&ka.remove(n)});var Ea,Aa=0;ta.mouse=function(n){return J(n,k())};var Na=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;ta.touch=function(n,t,e){if(arguments.length<3&&(e=t,t=k().changedTouches),t)for(var r,u=0,i=t.length;i>u;++u)if((r=t[u]).identifier===e)return J(n,r)},ta.behavior.drag=function(){function n(){this.on("mousedown.drag",i).on("touchstart.drag",o)}function e(n,t,e,i,o){return function(){function a(){var n,e,r=t(h,v);r&&(n=r[0]-M[0],e=r[1]-M[1],p|=n|e,M=r,g({type:"drag",x:r[0]+l[0],y:r[1]+l[1],dx:n,dy:e}))}function c(){t(h,v)&&(m.on(i+d,null).on(o+d,null),y(p&&ta.event.target===f),g({type:"dragend"}))}var l,s=this,f=ta.event.target,h=s.parentNode,g=r.of(s,arguments),p=0,v=n(),d=".drag"+(null==v?"":"-"+v),m=ta.select(e(f)).on(i+d,a).on(o+d,c),y=W(f),M=t(h,v);u?(l=u.apply(s,arguments),l=[l.x-M[0],l.y-M[1]]):l=[0,0],g({type:"dragstart"})}}var r=E(n,"drag","dragstart","dragend"),u=null,i=e(b,ta.mouse,t,"mousemove","mouseup"),o=e(G,ta.touch,y,"touchmove","touchend");return n.origin=function(t){return arguments.length?(u=t,n):u},ta.rebind(n,r,"on")},ta.touches=function(n,t){return arguments.length<2&&(t=k().touches),t?ra(t).map(function(t){var e=J(n,t);return e.identifier=t.identifier,e}):[]};var Ca=1e-6,za=Ca*Ca,qa=Math.PI,La=2*qa,Ta=La-Ca,Ra=qa/2,Da=qa/180,Pa=180/qa,Ua=Math.SQRT2,ja=2,Fa=4;ta.interpolateZoom=function(n,t){function e(n){var t=n*y;if(m){var e=rt(v),o=i/(ja*h)*(e*ut(Ua*t+v)-et(v));return[r+o*l,u+o*s,i*e/rt(Ua*t+v)]}return[r+n*l,u+n*s,i*Math.exp(Ua*t)]}var r=n[0],u=n[1],i=n[2],o=t[0],a=t[1],c=t[2],l=o-r,s=a-u,f=l*l+s*s,h=Math.sqrt(f),g=(c*c-i*i+Fa*f)/(2*i*ja*h),p=(c*c-i*i-Fa*f)/(2*c*ja*h),v=Math.log(Math.sqrt(g*g+1)-g),d=Math.log(Math.sqrt(p*p+1)-p),m=d-v,y=(m||Math.log(c/i))/Ua;return e.duration=1e3*y,e},ta.behavior.zoom=function(){function n(n){n.on(q,f).on(Oa+".zoom",g).on("dblclick.zoom",p).on(R,h)}function e(n){return[(n[0]-k.x)/k.k,(n[1]-k.y)/k.k]}function r(n){return[n[0]*k.k+k.x,n[1]*k.k+k.y]}function u(n){k.k=Math.max(N[0],Math.min(N[1],n))}function i(n,t){t=r(t),k.x+=n[0]-t[0],k.y+=n[1]-t[1]}function o(t,e,r,o){t.__chart__={x:k.x,y:k.y,k:k.k},u(Math.pow(2,o)),i(d=e,r),t=ta.select(t),C>0&&(t=t.transition().duration(C)),t.call(n.event)}function a(){b&&b.domain(x.range().map(function(n){return(n-k.x)/k.k}).map(x.invert)),w&&w.domain(_.range().map(function(n){return(n-k.y)/k.k}).map(_.invert))}function c(n){z++||n({type:"zoomstart"})}function l(n){a(),n({type:"zoom",scale:k.k,translate:[k.x,k.y]})}function s(n){--z||n({type:"zoomend"}),d=null}function f(){function n(){f=1,i(ta.mouse(u),g),l(a)}function r(){h.on(L,null).on(T,null),p(f&&ta.event.target===o),s(a)}var u=this,o=ta.event.target,a=D.of(u,arguments),f=0,h=ta.select(t(u)).on(L,n).on(T,r),g=e(ta.mouse(u)),p=W(u);Dl.call(u),c(a)}function h(){function n(){var n=ta.touches(p);return g=k.k,n.forEach(function(n){n.identifier in d&&(d[n.identifier]=e(n))}),n}function t(){var t=ta.event.target;ta.select(t).on(x,r).on(b,a),_.push(t);for(var e=ta.event.changedTouches,u=0,i=e.length;i>u;++u)d[e[u].identifier]=null;var c=n(),l=Date.now();if(1===c.length){if(500>l-M){var s=c[0];o(p,s,d[s.identifier],Math.floor(Math.log(k.k)/Math.LN2)+1),S()}M=l}else if(c.length>1){var s=c[0],f=c[1],h=s[0]-f[0],g=s[1]-f[1];m=h*h+g*g}}function r(){var n,t,e,r,o=ta.touches(p);Dl.call(p);for(var a=0,c=o.length;c>a;++a,r=null)if(e=o[a],r=d[e.identifier]){if(t)break;n=e,t=r}if(r){var s=(s=e[0]-n[0])*s+(s=e[1]-n[1])*s,f=m&&Math.sqrt(s/m);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+r[0])/2,(t[1]+r[1])/2],u(f*g)}M=null,i(n,t),l(v)}function a(){if(ta.event.touches.length){for(var t=ta.event.changedTouches,e=0,r=t.length;r>e;++e)delete d[t[e].identifier];for(var u in d)return void n()}ta.selectAll(_).on(y,null),w.on(q,f).on(R,h),E(),s(v)}var g,p=this,v=D.of(p,arguments),d={},m=0,y=".zoom-"+ta.event.changedTouches[0].identifier,x="touchmove"+y,b="touchend"+y,_=[],w=ta.select(p),E=W(p);t(),c(v),w.on(q,null).on(R,t)}function g(){var n=D.of(this,arguments);y?clearTimeout(y):(v=e(d=m||ta.mouse(this)),Dl.call(this),c(n)),y=setTimeout(function(){y=null,s(n)},50),S(),u(Math.pow(2,.002*Ha())*k.k),i(d,v),l(n)}function p(){var n=ta.mouse(this),t=Math.log(k.k)/Math.LN2;o(this,n,e(n),ta.event.shiftKey?Math.ceil(t)-1:Math.floor(t)+1)}var v,d,m,y,M,x,b,_,w,k={x:0,y:0,k:1},A=[960,500],N=Ia,C=250,z=0,q="mousedown.zoom",L="mousemove.zoom",T="mouseup.zoom",R="touchstart.zoom",D=E(n,"zoomstart","zoom","zoomend");return Oa||(Oa="onwheel"in ua?(Ha=function(){return-ta.event.deltaY*(ta.event.deltaMode?120:1)},"wheel"):"onmousewheel"in ua?(Ha=function(){return ta.event.wheelDelta},"mousewheel"):(Ha=function(){return-ta.event.detail},"MozMousePixelScroll")),n.event=function(n){n.each(function(){var n=D.of(this,arguments),t=k;Tl?ta.select(this).transition().each("start.zoom",function(){k=this.__chart__||{x:0,y:0,k:1},c(n)}).tween("zoom:zoom",function(){var e=A[0],r=A[1],u=d?d[0]:e/2,i=d?d[1]:r/2,o=ta.interpolateZoom([(u-k.x)/k.k,(i-k.y)/k.k,e/k.k],[(u-t.x)/t.k,(i-t.y)/t.k,e/t.k]);return function(t){var r=o(t),a=e/r[2];this.__chart__=k={x:u-r[0]*a,y:i-r[1]*a,k:a},l(n)}}).each("interrupt.zoom",function(){s(n)}).each("end.zoom",function(){s(n)}):(this.__chart__=k,c(n),l(n),s(n))})},n.translate=function(t){return arguments.length?(k={x:+t[0],y:+t[1],k:k.k},a(),n):[k.x,k.y]},n.scale=function(t){return arguments.length?(k={x:k.x,y:k.y,k:+t},a(),n):k.k},n.scaleExtent=function(t){return arguments.length?(N=null==t?Ia:[+t[0],+t[1]],n):N},n.center=function(t){return arguments.length?(m=t&&[+t[0],+t[1]],n):m},n.size=function(t){return arguments.length?(A=t&&[+t[0],+t[1]],n):A},n.duration=function(t){return arguments.length?(C=+t,n):C},n.x=function(t){return arguments.length?(b=t,x=t.copy(),k={x:0,y:0,k:1},n):b},n.y=function(t){return arguments.length?(w=t,_=t.copy(),k={x:0,y:0,k:1},n):w},ta.rebind(n,D,"on")};var Ha,Oa,Ia=[0,1/0];ta.color=ot,ot.prototype.toString=function(){return this.rgb()+""},ta.hsl=at;var Ya=at.prototype=new ot;Ya.brighter=function(n){return n=Math.pow(.7,arguments.length?n:1),new at(this.h,this.s,this.l/n)},Ya.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new at(this.h,this.s,n*this.l)},Ya.rgb=function(){return ct(this.h,this.s,this.l)},ta.hcl=lt;var Za=lt.prototype=new ot;Za.brighter=function(n){return new lt(this.h,this.c,Math.min(100,this.l+Va*(arguments.length?n:1)))},Za.darker=function(n){return new lt(this.h,this.c,Math.max(0,this.l-Va*(arguments.length?n:1)))},Za.rgb=function(){return st(this.h,this.c,this.l).rgb()},ta.lab=ft;var Va=18,Xa=.95047,$a=1,Ba=1.08883,Wa=ft.prototype=new ot;Wa.brighter=function(n){return new ft(Math.min(100,this.l+Va*(arguments.length?n:1)),this.a,this.b)},Wa.darker=function(n){return new ft(Math.max(0,this.l-Va*(arguments.length?n:1)),this.a,this.b)},Wa.rgb=function(){return ht(this.l,this.a,this.b)},ta.rgb=mt;var Ja=mt.prototype=new ot;Ja.brighter=function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,u=30;return t||e||r?(t&&u>t&&(t=u),e&&u>e&&(e=u),r&&u>r&&(r=u),new mt(Math.min(255,t/n),Math.min(255,e/n),Math.min(255,r/n))):new mt(u,u,u)},Ja.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new mt(n*this.r,n*this.g,n*this.b)},Ja.hsl=function(){return _t(this.r,this.g,this.b)},Ja.toString=function(){return"#"+xt(this.r)+xt(this.g)+xt(this.b)};var Ga=ta.map({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});Ga.forEach(function(n,t){Ga.set(n,yt(t))}),ta.functor=Et,ta.xhr=At(y),ta.dsv=function(n,t){function e(n,e,i){arguments.length<3&&(i=e,e=null);var o=Nt(n,t,null==e?r:u(e),i);return o.row=function(n){return arguments.length?o.response(null==(e=n)?r:u(n)):e},o}function r(n){return e.parse(n.responseText)}function u(n){return function(t){return e.parse(t.responseText,n)}}function i(t){return t.map(o).join(n)}function o(n){return a.test(n)?'"'+n.replace(/\"/g,'""')+'"':n}var a=new RegExp('["'+n+"\n]"),c=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,function(n,e){if(r)return r(n,e-1);var u=new Function("d","return {"+n.map(function(n,t){return JSON.stringify(n)+": d["+t+"]"}).join(",")+"}");r=t?function(n,e){return t(u(n),e)}:u})},e.parseRows=function(n,t){function e(){if(s>=l)return o;if(u)return u=!1,i;var t=s;if(34===n.charCodeAt(t)){for(var e=t;e++s;){var r=n.charCodeAt(s++),a=1;if(10===r)u=!0;else if(13===r)u=!0,10===n.charCodeAt(s)&&(++s,++a);else if(r!==c)continue;return n.slice(t,s-a)}return n.slice(t)}for(var r,u,i={},o={},a=[],l=n.length,s=0,f=0;(r=e())!==o;){for(var h=[];r!==i&&r!==o;)h.push(r),r=e();t&&null==(h=t(h,f++))||a.push(h)}return a},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new m,u=[];return t.forEach(function(n){for(var t in n)r.has(t)||u.push(r.add(t))}),[u.map(o).join(n)].concat(t.map(function(t){return u.map(function(n){return o(t[n])}).join(n)})).join("\n")},e.formatRows=function(n){return n.map(i).join("\n")},e},ta.csv=ta.dsv(",","text/csv"),ta.tsv=ta.dsv(" ","text/tab-separated-values");var Ka,Qa,nc,tc,ec,rc=this[x(this,"requestAnimationFrame")]||function(n){setTimeout(n,17)};ta.timer=function(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var u=e+t,i={c:n,t:u,f:!1,n:null};Qa?Qa.n=i:Ka=i,Qa=i,nc||(tc=clearTimeout(tc),nc=1,rc(qt))},ta.timer.flush=function(){Lt(),Tt()},ta.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)};var uc=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(Dt);ta.formatPrefix=function(n,t){var e=0;return n&&(0>n&&(n*=-1),t&&(n=ta.round(n,Rt(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((e-1)/3)))),uc[8+e/3]};var ic=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,oc=ta.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=ta.round(n,Rt(n,t))).toFixed(Math.max(0,Math.min(20,Rt(n*(1+1e-15),t))))}}),ac=ta.time={},cc=Date;jt.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){lc.setUTCDate.apply(this._,arguments)},setDay:function(){lc.setUTCDay.apply(this._,arguments)},setFullYear:function(){lc.setUTCFullYear.apply(this._,arguments)},setHours:function(){lc.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){lc.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){lc.setUTCMinutes.apply(this._,arguments)},setMonth:function(){lc.setUTCMonth.apply(this._,arguments)},setSeconds:function(){lc.setUTCSeconds.apply(this._,arguments)},setTime:function(){lc.setTime.apply(this._,arguments)}};var lc=Date.prototype;ac.year=Ft(function(n){return n=ac.day(n),n.setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),ac.years=ac.year.range,ac.years.utc=ac.year.utc.range,ac.day=Ft(function(n){var t=new cc(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),ac.days=ac.day.range,ac.days.utc=ac.day.utc.range,ac.dayOfYear=function(n){var t=ac.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(n,t){t=7-t;var e=ac[n]=Ft(function(n){return(n=ac.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=ac.year(n).getDay();return Math.floor((ac.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});ac[n+"s"]=e.range,ac[n+"s"].utc=e.utc.range,ac[n+"OfYear"]=function(n){var e=ac.year(n).getDay();return Math.floor((ac.dayOfYear(n)+(e+t)%7)/7)}}),ac.week=ac.sunday,ac.weeks=ac.sunday.range,ac.weeks.utc=ac.sunday.utc.range,ac.weekOfYear=ac.sundayOfYear;var sc={"-":"",_:" ",0:"0"},fc=/^\s*\d+/,hc=/^%/;ta.locale=function(n){return{numberFormat:Pt(n),timeFormat:Ot(n)}};var gc=ta.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",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"]});ta.format=gc.numberFormat,ta.geo={},ce.prototype={s:0,t:0,add:function(n){le(n,this.t,pc),le(pc.s,this.s,this),this.s?this.t+=pc.t:this.s=pc.t +},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var pc=new ce;ta.geo.stream=function(n,t){n&&vc.hasOwnProperty(n.type)?vc[n.type](n,t):se(n,t)};var vc={Feature:function(n,t){se(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,u=e.length;++rn?4*qa+n:n,Mc.lineStart=Mc.lineEnd=Mc.point=b}};ta.geo.bounds=function(){function n(n,t){M.push(x=[s=n,h=n]),f>t&&(f=t),t>g&&(g=t)}function t(t,e){var r=pe([t*Da,e*Da]);if(m){var u=de(m,r),i=[u[1],-u[0],0],o=de(i,u);Me(o),o=xe(o);var c=t-p,l=c>0?1:-1,v=o[0]*Pa*l,d=ga(c)>180;if(d^(v>l*p&&l*t>v)){var y=o[1]*Pa;y>g&&(g=y)}else if(v=(v+360)%360-180,d^(v>l*p&&l*t>v)){var y=-o[1]*Pa;f>y&&(f=y)}else f>e&&(f=e),e>g&&(g=e);d?p>t?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t):h>=s?(s>t&&(s=t),t>h&&(h=t)):t>p?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t)}else n(t,e);m=r,p=t}function e(){b.point=t}function r(){x[0]=s,x[1]=h,b.point=n,m=null}function u(n,e){if(m){var r=n-p;y+=ga(r)>180?r+(r>0?360:-360):r}else v=n,d=e;Mc.point(n,e),t(n,e)}function i(){Mc.lineStart()}function o(){u(v,d),Mc.lineEnd(),ga(y)>Ca&&(s=-(h=180)),x[0]=s,x[1]=h,m=null}function a(n,t){return(t-=n)<0?t+360:t}function c(n,t){return n[0]-t[0]}function l(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:nyc?(s=-(h=180),f=-(g=90)):y>Ca?g=90:-Ca>y&&(f=-90),x[0]=s,x[1]=h}};return function(n){g=h=-(s=f=1/0),M=[],ta.geo.stream(n,b);var t=M.length;if(t){M.sort(c);for(var e,r=1,u=M[0],i=[u];t>r;++r)e=M[r],l(e[0],u)||l(e[1],u)?(a(u[0],e[1])>a(u[0],u[1])&&(u[1]=e[1]),a(e[0],u[1])>a(u[0],u[1])&&(u[0]=e[0])):i.push(u=e);for(var o,e,p=-1/0,t=i.length-1,r=0,u=i[t];t>=r;u=e,++r)e=i[r],(o=a(u[1],e[0]))>p&&(p=o,s=e[0],h=u[1])}return M=x=null,1/0===s||1/0===f?[[0/0,0/0],[0/0,0/0]]:[[s,f],[h,g]]}}(),ta.geo.centroid=function(n){xc=bc=_c=wc=Sc=kc=Ec=Ac=Nc=Cc=zc=0,ta.geo.stream(n,qc);var t=Nc,e=Cc,r=zc,u=t*t+e*e+r*r;return za>u&&(t=kc,e=Ec,r=Ac,Ca>bc&&(t=_c,e=wc,r=Sc),u=t*t+e*e+r*r,za>u)?[0/0,0/0]:[Math.atan2(e,t)*Pa,tt(r/Math.sqrt(u))*Pa]};var xc,bc,_c,wc,Sc,kc,Ec,Ac,Nc,Cc,zc,qc={sphere:b,point:_e,lineStart:Se,lineEnd:ke,polygonStart:function(){qc.lineStart=Ee},polygonEnd:function(){qc.lineStart=Se}},Lc=Le(Ne,Pe,je,[-qa,-qa/2]),Tc=1e9;ta.geo.clipExtent=function(){var n,t,e,r,u,i,o={stream:function(n){return u&&(u.valid=!1),u=i(n),u.valid=!0,u},extent:function(a){return arguments.length?(i=Ie(n=+a[0][0],t=+a[0][1],e=+a[1][0],r=+a[1][1]),u&&(u.valid=!1,u=null),o):[[n,t],[e,r]]}};return o.extent([[0,0],[960,500]])},(ta.geo.conicEqualArea=function(){return Ye(Ze)}).raw=Ze,ta.geo.albers=function(){return ta.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},ta.geo.albersUsa=function(){function n(n){var i=n[0],o=n[1];return t=null,e(i,o),t||(r(i,o),t)||u(i,o),t}var t,e,r,u,i=ta.geo.albers(),o=ta.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=ta.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),c={point:function(n,e){t=[n,e]}};return n.invert=function(n){var t=i.scale(),e=i.translate(),r=(n[0]-e[0])/t,u=(n[1]-e[1])/t;return(u>=.12&&.234>u&&r>=-.425&&-.214>r?o:u>=.166&&.234>u&&r>=-.214&&-.115>r?a:i).invert(n)},n.stream=function(n){var t=i.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,u){t.point(n,u),e.point(n,u),r.point(n,u)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),a.precision(t),n):i.precision()},n.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),a.scale(t),n.translate(i.translate())):i.scale()},n.translate=function(t){if(!arguments.length)return i.translate();var l=i.scale(),s=+t[0],f=+t[1];return e=i.translate(t).clipExtent([[s-.455*l,f-.238*l],[s+.455*l,f+.238*l]]).stream(c).point,r=o.translate([s-.307*l,f+.201*l]).clipExtent([[s-.425*l+Ca,f+.12*l+Ca],[s-.214*l-Ca,f+.234*l-Ca]]).stream(c).point,u=a.translate([s-.205*l,f+.212*l]).clipExtent([[s-.214*l+Ca,f+.166*l+Ca],[s-.115*l-Ca,f+.234*l-Ca]]).stream(c).point,n},n.scale(1070)};var Rc,Dc,Pc,Uc,jc,Fc,Hc={point:b,lineStart:b,lineEnd:b,polygonStart:function(){Dc=0,Hc.lineStart=Ve},polygonEnd:function(){Hc.lineStart=Hc.lineEnd=Hc.point=b,Rc+=ga(Dc/2)}},Oc={point:Xe,lineStart:b,lineEnd:b,polygonStart:b,polygonEnd:b},Ic={point:We,lineStart:Je,lineEnd:Ge,polygonStart:function(){Ic.lineStart=Ke},polygonEnd:function(){Ic.point=We,Ic.lineStart=Je,Ic.lineEnd=Ge}};ta.geo.path=function(){function n(n){return n&&("function"==typeof a&&i.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=u(i)),ta.geo.stream(n,o)),i.result()}function t(){return o=null,n}var e,r,u,i,o,a=4.5;return n.area=function(n){return Rc=0,ta.geo.stream(n,u(Hc)),Rc},n.centroid=function(n){return _c=wc=Sc=kc=Ec=Ac=Nc=Cc=zc=0,ta.geo.stream(n,u(Ic)),zc?[Nc/zc,Cc/zc]:Ac?[kc/Ac,Ec/Ac]:Sc?[_c/Sc,wc/Sc]:[0/0,0/0]},n.bounds=function(n){return jc=Fc=-(Pc=Uc=1/0),ta.geo.stream(n,u(Oc)),[[Pc,Uc],[jc,Fc]]},n.projection=function(n){return arguments.length?(u=(e=n)?n.stream||tr(n):y,t()):e},n.context=function(n){return arguments.length?(i=null==(r=n)?new $e:new Qe(n),"function"!=typeof a&&i.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(i.pointRadius(+t),+t),n):a},n.projection(ta.geo.albersUsa()).context(null)},ta.geo.transform=function(n){return{stream:function(t){var e=new er(t);for(var r in n)e[r]=n[r];return e}}},er.prototype={point:function(n,t){this.stream.point(n,t)},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()}},ta.geo.projection=ur,ta.geo.projectionMutator=ir,(ta.geo.equirectangular=function(){return ur(ar)}).raw=ar.invert=ar,ta.geo.rotation=function(n){function t(t){return t=n(t[0]*Da,t[1]*Da),t[0]*=Pa,t[1]*=Pa,t}return n=lr(n[0]%360*Da,n[1]*Da,n.length>2?n[2]*Da:0),t.invert=function(t){return t=n.invert(t[0]*Da,t[1]*Da),t[0]*=Pa,t[1]*=Pa,t},t},cr.invert=ar,ta.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=lr(-n[0]*Da,-n[1]*Da,0).invert,u=[];return e(null,null,1,{point:function(n,e){u.push(n=t(n,e)),n[0]*=Pa,n[1]*=Pa}}),{type:"Polygon",coordinates:[u]}}var t,e,r=[0,0],u=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=gr((t=+r)*Da,u*Da),n):t},n.precision=function(r){return arguments.length?(e=gr(t*Da,(u=+r)*Da),n):u},n.angle(90)},ta.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Da,u=n[1]*Da,i=t[1]*Da,o=Math.sin(r),a=Math.cos(r),c=Math.sin(u),l=Math.cos(u),s=Math.sin(i),f=Math.cos(i);return Math.atan2(Math.sqrt((e=f*o)*e+(e=l*s-c*f*a)*e),c*s+l*f*a)},ta.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return ta.range(Math.ceil(i/d)*d,u,d).map(h).concat(ta.range(Math.ceil(l/m)*m,c,m).map(g)).concat(ta.range(Math.ceil(r/p)*p,e,p).filter(function(n){return ga(n%d)>Ca}).map(s)).concat(ta.range(Math.ceil(a/v)*v,o,v).filter(function(n){return ga(n%m)>Ca}).map(f))}var e,r,u,i,o,a,c,l,s,f,h,g,p=10,v=p,d=90,m=360,y=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(i).concat(g(c).slice(1),h(u).reverse().slice(1),g(l).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(i=+t[0][0],u=+t[1][0],l=+t[0][1],c=+t[1][1],i>u&&(t=i,i=u,u=t),l>c&&(t=l,l=c,c=t),n.precision(y)):[[i,l],[u,c]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(y)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(d=+t[0],m=+t[1],n):[d,m]},n.minorStep=function(t){return arguments.length?(p=+t[0],v=+t[1],n):[p,v]},n.precision=function(t){return arguments.length?(y=+t,s=vr(a,o,90),f=dr(r,e,y),h=vr(l,c,90),g=dr(i,u,y),n):y},n.majorExtent([[-180,-90+Ca],[180,90-Ca]]).minorExtent([[-180,-80-Ca],[180,80+Ca]])},ta.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||u.apply(this,arguments)]}}var t,e,r=mr,u=yr;return n.distance=function(){return ta.geo.distance(t||r.apply(this,arguments),e||u.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(u=t,e="function"==typeof t?null:t,n):u},n.precision=function(){return arguments.length?n:0},n},ta.geo.interpolate=function(n,t){return Mr(n[0]*Da,n[1]*Da,t[0]*Da,t[1]*Da)},ta.geo.length=function(n){return Yc=0,ta.geo.stream(n,Zc),Yc};var Yc,Zc={sphere:b,point:b,lineStart:xr,lineEnd:b,polygonStart:b,polygonEnd:b},Vc=br(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(ta.geo.azimuthalEqualArea=function(){return ur(Vc)}).raw=Vc;var Xc=br(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},y);(ta.geo.azimuthalEquidistant=function(){return ur(Xc)}).raw=Xc,(ta.geo.conicConformal=function(){return Ye(_r)}).raw=_r,(ta.geo.conicEquidistant=function(){return Ye(wr)}).raw=wr;var $c=br(function(n){return 1/n},Math.atan);(ta.geo.gnomonic=function(){return ur($c)}).raw=$c,Sr.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Ra]},(ta.geo.mercator=function(){return kr(Sr)}).raw=Sr;var Bc=br(function(){return 1},Math.asin);(ta.geo.orthographic=function(){return ur(Bc)}).raw=Bc;var Wc=br(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(ta.geo.stereographic=function(){return ur(Wc)}).raw=Wc,Er.invert=function(n,t){return[-t,2*Math.atan(Math.exp(n))-Ra]},(ta.geo.transverseMercator=function(){var n=kr(Er),t=n.center,e=n.rotate;return n.center=function(n){return n?t([-n[1],n[0]]):(n=t(),[n[1],-n[0]])},n.rotate=function(n){return n?e([n[0],n[1],n.length>2?n[2]+90:90]):(n=e(),[n[0],n[1],n[2]-90])},e([0,0,90])}).raw=Er,ta.geom={},ta.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,u=Et(e),i=Et(r),o=n.length,a=[],c=[];for(t=0;o>t;t++)a.push([+u.call(this,n[t],t),+i.call(this,n[t],t),t]);for(a.sort(zr),t=0;o>t;t++)c.push([a[t][0],-a[t][1]]);var l=Cr(a),s=Cr(c),f=s[0]===l[0],h=s[s.length-1]===l[l.length-1],g=[];for(t=l.length-1;t>=0;--t)g.push(n[a[l[t]][2]]);for(t=+f;t=r&&l.x<=i&&l.y>=u&&l.y<=o?[[r,o],[i,o],[i,u],[r,u]]:[];s.point=n[a]}),t}function e(n){return n.map(function(n,t){return{x:Math.round(i(n,t)/Ca)*Ca,y:Math.round(o(n,t)/Ca)*Ca,i:t}})}var r=Ar,u=Nr,i=r,o=u,a=ul;return n?t(n):(t.links=function(n){return iu(e(n)).edges.filter(function(n){return n.l&&n.r}).map(function(t){return{source:n[t.l.i],target:n[t.r.i]}})},t.triangles=function(n){var t=[];return iu(e(n)).cells.forEach(function(e,r){for(var u,i,o=e.site,a=e.edges.sort(Yr),c=-1,l=a.length,s=a[l-1].edge,f=s.l===o?s.r:s.l;++c=l,h=r>=s,g=h<<1|f;n.leaf=!1,n=n.nodes[g]||(n.nodes[g]=su()),f?u=l:a=l,h?o=s:c=s,i(n,t,e,r,u,o,a,c)}var s,f,h,g,p,v,d,m,y,M=Et(a),x=Et(c);if(null!=t)v=t,d=e,m=r,y=u;else if(m=y=-(v=d=1/0),f=[],h=[],p=n.length,o)for(g=0;p>g;++g)s=n[g],s.xm&&(m=s.x),s.y>y&&(y=s.y),f.push(s.x),h.push(s.y);else for(g=0;p>g;++g){var b=+M(s=n[g],g),_=+x(s,g);v>b&&(v=b),d>_&&(d=_),b>m&&(m=b),_>y&&(y=_),f.push(b),h.push(_)}var w=m-v,S=y-d;w>S?y=d+w:m=v+S;var k=su();if(k.add=function(n){i(k,n,+M(n,++g),+x(n,g),v,d,m,y)},k.visit=function(n){fu(n,k,v,d,m,y)},k.find=function(n){return hu(k,n[0],n[1],v,d,m,y)},g=-1,null==t){for(;++g=0?n.slice(0,t):n,r=t>=0?n.slice(t+1):"in";return e=cl.get(e)||al,r=ll.get(r)||y,Mu(r(e.apply(null,ea.call(arguments,1))))},ta.interpolateHcl=Lu,ta.interpolateHsl=Tu,ta.interpolateLab=Ru,ta.interpolateRound=Du,ta.transform=function(n){var t=ua.createElementNS(ta.ns.prefix.svg,"g");return(ta.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new Pu(e?e.matrix:sl)})(n)},Pu.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var sl={a:1,b:0,c:0,d:1,e:0,f:0};ta.interpolateTransform=Hu,ta.layout={},ta.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++ea*a/d){if(p>c){var l=t.charge/c;n.px-=i*l,n.py-=o*l}return!0}if(t.point&&c&&p>c){var l=t.pointCharge/c;n.px-=i*l,n.py-=o*l}}return!t.charge}}function t(n){n.px=ta.event.x,n.py=ta.event.y,a.resume()}var e,r,u,i,o,a={},c=ta.dispatch("start","tick","end"),l=[1,1],s=.9,f=fl,h=hl,g=-30,p=gl,v=.1,d=.64,m=[],M=[];return a.tick=function(){if((r*=.99)<.005)return c.end({type:"end",alpha:r=0}),!0;var t,e,a,f,h,p,d,y,x,b=m.length,_=M.length;for(e=0;_>e;++e)a=M[e],f=a.source,h=a.target,y=h.x-f.x,x=h.y-f.y,(p=y*y+x*x)&&(p=r*i[e]*((p=Math.sqrt(p))-u[e])/p,y*=p,x*=p,h.x-=y*(d=f.weight/(h.weight+f.weight)),h.y-=x*d,f.x+=y*(d=1-d),f.y+=x*d);if((d=r*v)&&(y=l[0]/2,x=l[1]/2,e=-1,d))for(;++e0?n:0:n>0&&(c.start({type:"start",alpha:r=n}),ta.timer(a.tick)),a):r},a.start=function(){function n(n,r){if(!e){for(e=new Array(c),a=0;c>a;++a)e[a]=[];for(a=0;s>a;++a){var u=M[a];e[u.source.index].push(u.target),e[u.target.index].push(u.source)}}for(var i,o=e[t],a=-1,l=o.length;++at;++t)(r=m[t]).index=t,r.weight=0;for(t=0;s>t;++t)r=M[t],"number"==typeof r.source&&(r.source=m[r.source]),"number"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(t=0;c>t;++t)r=m[t],isNaN(r.x)&&(r.x=n("x",p)),isNaN(r.y)&&(r.y=n("y",v)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(u=[],"function"==typeof f)for(t=0;s>t;++t)u[t]=+f.call(this,M[t],t);else for(t=0;s>t;++t)u[t]=f;if(i=[],"function"==typeof h)for(t=0;s>t;++t)i[t]=+h.call(this,M[t],t);else for(t=0;s>t;++t)i[t]=h;if(o=[],"function"==typeof g)for(t=0;c>t;++t)o[t]=+g.call(this,m[t],t);else for(t=0;c>t;++t)o[t]=g;return a.resume()},a.resume=function(){return a.alpha(.1)},a.stop=function(){return a.alpha(0)},a.drag=function(){return e||(e=ta.behavior.drag().origin(y).on("dragstart.force",Xu).on("drag.force",t).on("dragend.force",$u)),arguments.length?void this.on("mouseover.force",Bu).on("mouseout.force",Wu).call(e):e},ta.rebind(a,c,"on")};var fl=20,hl=1,gl=1/0;ta.layout.hierarchy=function(){function n(u){var i,o=[u],a=[];for(u.depth=0;null!=(i=o.pop());)if(a.push(i),(l=e.call(n,i,i.depth))&&(c=l.length)){for(var c,l,s;--c>=0;)o.push(s=l[c]),s.parent=i,s.depth=i.depth+1;r&&(i.value=0),i.children=l}else r&&(i.value=+r.call(n,i,i.depth)||0),delete i.children;return Qu(u,function(n){var e,u;t&&(e=n.children)&&e.sort(t),r&&(u=n.parent)&&(u.value+=n.value)}),a}var t=ei,e=ni,r=ti;return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(Ku(t,function(n){n.children&&(n.value=0)}),Qu(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},ta.layout.partition=function(){function n(t,e,r,u){var i=t.children;if(t.x=e,t.y=t.depth*u,t.dx=r,t.dy=u,i&&(o=i.length)){var o,a,c,l=-1;for(r=t.value?r/t.value:0;++lf?-1:1),p=(f-c*g)/ta.sum(l),v=ta.range(c),d=[];return null!=e&&v.sort(e===pl?function(n,t){return l[t]-l[n]}:function(n,t){return e(o[n],o[t])}),v.forEach(function(n){d[n]={data:o[n],value:a=l[n],startAngle:s,endAngle:s+=a*p+g,padAngle:h}}),d}var t=Number,e=pl,r=0,u=La,i=0;return n.value=function(e){return arguments.length?(t=e,n):t},n.sort=function(t){return arguments.length?(e=t,n):e},n.startAngle=function(t){return arguments.length?(r=t,n):r},n.endAngle=function(t){return arguments.length?(u=t,n):u},n.padAngle=function(t){return arguments.length?(i=t,n):i},n};var pl={};ta.layout.stack=function(){function n(a,c){if(!(h=a.length))return a;var l=a.map(function(e,r){return t.call(n,e,r)}),s=l.map(function(t){return t.map(function(t,e){return[i.call(n,t,e),o.call(n,t,e)]})}),f=e.call(n,s,c);l=ta.permute(l,f),s=ta.permute(s,f);var h,g,p,v,d=r.call(n,s,c),m=l[0].length;for(p=0;m>p;++p)for(u.call(n,l[0][p],v=d[p],s[0][p][1]),g=1;h>g;++g)u.call(n,l[g][p],v+=s[g-1][p][1],s[g][p][1]);return a}var t=y,e=ai,r=ci,u=oi,i=ui,o=ii;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:vl.get(t)||ai,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:dl.get(t)||ci,n):r},n.x=function(t){return arguments.length?(i=t,n):i},n.y=function(t){return arguments.length?(o=t,n):o},n.out=function(t){return arguments.length?(u=t,n):u},n};var vl=ta.map({"inside-out":function(n){var t,e,r=n.length,u=n.map(li),i=n.map(si),o=ta.range(r).sort(function(n,t){return u[n]-u[t]}),a=0,c=0,l=[],s=[];for(t=0;r>t;++t)e=o[t],c>a?(a+=i[e],l.push(e)):(c+=i[e],s.push(e));return s.reverse().concat(l)},reverse:function(n){return ta.range(n.length).reverse()},"default":ai}),dl=ta.map({silhouette:function(n){var t,e,r,u=n.length,i=n[0].length,o=[],a=0,c=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];r>a&&(a=r),o.push(r)}for(e=0;i>e;++e)c[e]=(a-o[e])/2;return c},wiggle:function(n){var t,e,r,u,i,o,a,c,l,s=n.length,f=n[0],h=f.length,g=[];for(g[0]=c=l=0,e=1;h>e;++e){for(t=0,u=0;s>t;++t)u+=n[t][e][1];for(t=0,i=0,a=f[e][0]-f[e-1][0];s>t;++t){for(r=0,o=(n[t][e][1]-n[t][e-1][1])/(2*a);t>r;++r)o+=(n[r][e][1]-n[r][e-1][1])/a;i+=o*n[t][e][1]}g[e]=c-=u?i/u*a:0,l>c&&(l=c)}for(e=0;h>e;++e)g[e]-=l;return g},expand:function(n){var t,e,r,u=n.length,i=n[0].length,o=1/u,a=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];if(r)for(t=0;u>t;t++)n[t][e][1]/=r;else for(t=0;u>t;t++)n[t][e][1]=o}for(e=0;i>e;++e)a[e]=0;return a},zero:ci});ta.layout.histogram=function(){function n(n,i){for(var o,a,c=[],l=n.map(e,this),s=r.call(this,l,i),f=u.call(this,s,l,i),i=-1,h=l.length,g=f.length-1,p=t?1:1/h;++i0)for(i=-1;++i=s[0]&&a<=s[1]&&(o=c[ta.bisect(f,a,1,g)-1],o.y+=p,o.push(n[i]));return c}var t=!0,e=Number,r=pi,u=hi;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=Et(t),n):r},n.bins=function(t){return arguments.length?(u="number"==typeof t?function(n){return gi(n,t)}:Et(t),n):u},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},ta.layout.pack=function(){function n(n,i){var o=e.call(this,n,i),a=o[0],c=u[0],l=u[1],s=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,Qu(a,function(n){n.r=+s(n.value)}),Qu(a,Mi),r){var f=r*(t?1:Math.max(2*a.r/c,2*a.r/l))/2;Qu(a,function(n){n.r+=f}),Qu(a,Mi),Qu(a,function(n){n.r-=f})}return _i(a,c/2,l/2,t?1:1/Math.max(2*a.r/c,2*a.r/l)),o}var t,e=ta.layout.hierarchy().sort(vi),r=0,u=[1,1];return n.size=function(t){return arguments.length?(u=t,n):u},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},Gu(n,e)},ta.layout.tree=function(){function n(n,u){var s=o.call(this,n,u),f=s[0],h=t(f);if(Qu(h,e),h.parent.m=-h.z,Ku(h,r),l)Ku(f,i);else{var g=f,p=f,v=f;Ku(f,function(n){n.xp.x&&(p=n),n.depth>v.depth&&(v=n)});var d=a(g,p)/2-g.x,m=c[0]/(p.x+a(p,g)/2+d),y=c[1]/(v.depth||1);Ku(f,function(n){n.x=(n.x+d)*m,n.y=n.depth*y})}return s}function t(n){for(var t,e={A:null,children:[n]},r=[e];null!=(t=r.pop());)for(var u,i=t.children,o=0,a=i.length;a>o;++o)r.push((i[o]=u={_:i[o],parent:t,children:(u=i[o].children)&&u.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=u);return e.children[0]}function e(n){var t=n.children,e=n.parent.children,r=n.i?e[n.i-1]:null;if(t.length){Ni(n);var i=(t[0].z+t[t.length-1].z)/2;r?(n.z=r.z+a(n._,r._),n.m=n.z-i):n.z=i}else r&&(n.z=r.z+a(n._,r._));n.parent.A=u(n,r,n.parent.A||e[0])}function r(n){n._.x=n.z+n.parent.m,n.m+=n.parent.m}function u(n,t,e){if(t){for(var r,u=n,i=n,o=t,c=u.parent.children[0],l=u.m,s=i.m,f=o.m,h=c.m;o=Ei(o),u=ki(u),o&&u;)c=ki(c),i=Ei(i),i.a=n,r=o.z+f-u.z-l+a(o._,u._),r>0&&(Ai(Ci(o,n,e),n,r),l+=r,s+=r),f+=o.m,l+=u.m,h+=c.m,s+=i.m;o&&!Ei(i)&&(i.t=o,i.m+=f-s),u&&!ki(c)&&(c.t=u,c.m+=l-h,e=n)}return e}function i(n){n.x*=c[0],n.y=n.depth*c[1]}var o=ta.layout.hierarchy().sort(null).value(null),a=Si,c=[1,1],l=null;return n.separation=function(t){return arguments.length?(a=t,n):a},n.size=function(t){return arguments.length?(l=null==(c=t)?i:null,n):l?null:c},n.nodeSize=function(t){return arguments.length?(l=null==(c=t)?null:i,n):l?c:null},Gu(n,o)},ta.layout.cluster=function(){function n(n,i){var o,a=t.call(this,n,i),c=a[0],l=0;Qu(c,function(n){var t=n.children;t&&t.length?(n.x=qi(t),n.y=zi(t)):(n.x=o?l+=e(n,o):0,n.y=0,o=n)});var s=Li(c),f=Ti(c),h=s.x-e(s,f)/2,g=f.x+e(f,s)/2;return Qu(c,u?function(n){n.x=(n.x-c.x)*r[0],n.y=(c.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(g-h)*r[0],n.y=(1-(c.y?n.y/c.y:1))*r[1]}),a}var t=ta.layout.hierarchy().sort(null).value(null),e=Si,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},Gu(n,t)},ta.layout.treemap=function(){function n(n,t){for(var e,r,u=-1,i=n.length;++ut?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var i=e.children;if(i&&i.length){var o,a,c,l=f(e),s=[],h=i.slice(),p=1/0,v="slice"===g?l.dx:"dice"===g?l.dy:"slice-dice"===g?1&e.depth?l.dy:l.dx:Math.min(l.dx,l.dy);for(n(h,l.dx*l.dy/e.value),s.area=0;(c=h.length)>0;)s.push(o=h[c-1]),s.area+=o.area,"squarify"!==g||(a=r(s,v))<=p?(h.pop(),p=a):(s.area-=s.pop().area,u(s,v,l,!1),v=Math.min(l.dx,l.dy),s.length=s.area=0,p=1/0);s.length&&(u(s,v,l,!0),s.length=s.area=0),i.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var i,o=f(t),a=r.slice(),c=[];for(n(a,o.dx*o.dy/t.value),c.area=0;i=a.pop();)c.push(i),c.area+=i.area,null!=i.z&&(u(c,i.z?o.dx:o.dy,o,!a.length),c.length=c.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,u=0,i=1/0,o=-1,a=n.length;++oe&&(i=e),e>u&&(u=e));return r*=r,t*=t,r?Math.max(t*u*p/r,r/(t*i*p)):1/0}function u(n,t,e,r){var u,i=-1,o=n.length,a=e.x,l=e.y,s=t?c(n.area/t):0;if(t==e.dx){for((r||s>e.dy)&&(s=e.dy);++ie.dx)&&(s=e.dx);++ie&&(t=1),1>e&&(n=0),function(){var e,r,u;do e=2*Math.random()-1,r=2*Math.random()-1,u=e*e+r*r;while(!u||u>1);return n+t*e*Math.sqrt(-2*Math.log(u)/u)}},logNormal:function(){var n=ta.random.normal.apply(ta,arguments);return function(){return Math.exp(n())}},bates:function(n){var t=ta.random.irwinHall(n);return function(){return t()/n}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t}}},ta.scale={};var ml={floor:y,ceil:y};ta.scale.linear=function(){return Ii([0,1],[0,1],mu,!1)};var yl={s:1,g:1,p:1,r:1,e:1};ta.scale.log=function(){return Ji(ta.scale.linear().domain([0,1]),10,!0,[1,10])};var Ml=ta.format(".0e"),xl={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};ta.scale.pow=function(){return Gi(ta.scale.linear(),1,[0,1])},ta.scale.sqrt=function(){return ta.scale.pow().exponent(.5)},ta.scale.ordinal=function(){return Qi([],{t:"range",a:[[]]})},ta.scale.category10=function(){return ta.scale.ordinal().range(bl)},ta.scale.category20=function(){return ta.scale.ordinal().range(_l)},ta.scale.category20b=function(){return ta.scale.ordinal().range(wl)},ta.scale.category20c=function(){return ta.scale.ordinal().range(Sl)};var bl=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(Mt),_l=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(Mt),wl=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(Mt),Sl=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(Mt);ta.scale.quantile=function(){return no([],[])},ta.scale.quantize=function(){return to(0,1,[0,1])},ta.scale.threshold=function(){return eo([.5],[0,1])},ta.scale.identity=function(){return ro([0,1])},ta.svg={},ta.svg.arc=function(){function n(){var n=Math.max(0,+e.apply(this,arguments)),l=Math.max(0,+r.apply(this,arguments)),s=o.apply(this,arguments)-Ra,f=a.apply(this,arguments)-Ra,h=Math.abs(f-s),g=s>f?0:1;if(n>l&&(p=l,l=n,n=p),h>=Ta)return t(l,g)+(n?t(n,1-g):"")+"Z";var p,v,d,m,y,M,x,b,_,w,S,k,E=0,A=0,N=[];if((m=(+c.apply(this,arguments)||0)/2)&&(d=i===kl?Math.sqrt(n*n+l*l):+i.apply(this,arguments),g||(A*=-1),l&&(A=tt(d/l*Math.sin(m))),n&&(E=tt(d/n*Math.sin(m)))),l){y=l*Math.cos(s+A),M=l*Math.sin(s+A),x=l*Math.cos(f-A),b=l*Math.sin(f-A);var C=Math.abs(f-s-2*A)<=qa?0:1;if(A&&so(y,M,x,b)===g^C){var z=(s+f)/2;y=l*Math.cos(z),M=l*Math.sin(z),x=b=null}}else y=M=0;if(n){_=n*Math.cos(f-E),w=n*Math.sin(f-E),S=n*Math.cos(s+E),k=n*Math.sin(s+E);var q=Math.abs(s-f+2*E)<=qa?0:1;if(E&&so(_,w,S,k)===1-g^q){var L=(s+f)/2;_=n*Math.cos(L),w=n*Math.sin(L),S=k=null}}else _=w=0;if((p=Math.min(Math.abs(l-n)/2,+u.apply(this,arguments)))>.001){v=l>n^g?0:1;var T=null==S?[_,w]:null==x?[y,M]:Lr([y,M],[S,k],[x,b],[_,w]),R=y-T[0],D=M-T[1],P=x-T[0],U=b-T[1],j=1/Math.sin(Math.acos((R*P+D*U)/(Math.sqrt(R*R+D*D)*Math.sqrt(P*P+U*U)))/2),F=Math.sqrt(T[0]*T[0]+T[1]*T[1]);if(null!=x){var H=Math.min(p,(l-F)/(j+1)),O=fo(null==S?[_,w]:[S,k],[y,M],l,H,g),I=fo([x,b],[_,w],l,H,g);p===H?N.push("M",O[0],"A",H,",",H," 0 0,",v," ",O[1],"A",l,",",l," 0 ",1-g^so(O[1][0],O[1][1],I[1][0],I[1][1]),",",g," ",I[1],"A",H,",",H," 0 0,",v," ",I[0]):N.push("M",O[0],"A",H,",",H," 0 1,",v," ",I[0])}else N.push("M",y,",",M);if(null!=S){var Y=Math.min(p,(n-F)/(j-1)),Z=fo([y,M],[S,k],n,-Y,g),V=fo([_,w],null==x?[y,M]:[x,b],n,-Y,g);p===Y?N.push("L",V[0],"A",Y,",",Y," 0 0,",v," ",V[1],"A",n,",",n," 0 ",g^so(V[1][0],V[1][1],Z[1][0],Z[1][1]),",",1-g," ",Z[1],"A",Y,",",Y," 0 0,",v," ",Z[0]):N.push("L",V[0],"A",Y,",",Y," 0 0,",v," ",Z[0])}else N.push("L",_,",",w)}else N.push("M",y,",",M),null!=x&&N.push("A",l,",",l," 0 ",C,",",g," ",x,",",b),N.push("L",_,",",w),null!=S&&N.push("A",n,",",n," 0 ",q,",",1-g," ",S,",",k);return N.push("Z"),N.join("")}function t(n,t){return"M0,"+n+"A"+n+","+n+" 0 1,"+t+" 0,"+-n+"A"+n+","+n+" 0 1,"+t+" 0,"+n}var e=io,r=oo,u=uo,i=kl,o=ao,a=co,c=lo;return n.innerRadius=function(t){return arguments.length?(e=Et(t),n):e},n.outerRadius=function(t){return arguments.length?(r=Et(t),n):r},n.cornerRadius=function(t){return arguments.length?(u=Et(t),n):u},n.padRadius=function(t){return arguments.length?(i=t==kl?kl:Et(t),n):i},n.startAngle=function(t){return arguments.length?(o=Et(t),n):o},n.endAngle=function(t){return arguments.length?(a=Et(t),n):a},n.padAngle=function(t){return arguments.length?(c=Et(t),n):c},n.centroid=function(){var n=(+e.apply(this,arguments)+ +r.apply(this,arguments))/2,t=(+o.apply(this,arguments)+ +a.apply(this,arguments))/2-Ra;return[Math.cos(t)*n,Math.sin(t)*n]},n};var kl="auto";ta.svg.line=function(){return ho(y)};var El=ta.map({linear:go,"linear-closed":po,step:vo,"step-before":mo,"step-after":yo,basis:So,"basis-open":ko,"basis-closed":Eo,bundle:Ao,cardinal:bo,"cardinal-open":Mo,"cardinal-closed":xo,monotone:To});El.forEach(function(n,t){t.key=n,t.closed=/-closed$/.test(n)});var Al=[0,2/3,1/3,0],Nl=[0,1/3,2/3,0],Cl=[0,1/6,2/3,1/6];ta.svg.line.radial=function(){var n=ho(Ro);return n.radius=n.x,delete n.x,n.angle=n.y,delete n.y,n},mo.reverse=yo,yo.reverse=mo,ta.svg.area=function(){return Do(y)},ta.svg.area.radial=function(){var n=Do(Ro);return n.radius=n.x,delete n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,delete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},ta.svg.chord=function(){function n(n,a){var c=t(this,i,n,a),l=t(this,o,n,a);return"M"+c.p0+r(c.r,c.p1,c.a1-c.a0)+(e(c,l)?u(c.r,c.p1,c.r,c.p0):u(c.r,c.p1,l.r,l.p0)+r(l.r,l.p1,l.a1-l.a0)+u(l.r,l.p1,c.r,c.p0))+"Z"}function t(n,t,e,r){var u=t.call(n,e,r),i=a.call(n,u,r),o=c.call(n,u,r)-Ra,s=l.call(n,u,r)-Ra;return{r:i,a0:o,a1:s,p0:[i*Math.cos(o),i*Math.sin(o)],p1:[i*Math.cos(s),i*Math.sin(s)]}}function e(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return"A"+n+","+n+" 0 "+ +(e>qa)+",1 "+t}function u(n,t,e,r){return"Q 0,0 "+r}var i=mr,o=yr,a=Po,c=ao,l=co;return n.radius=function(t){return arguments.length?(a=Et(t),n):a},n.source=function(t){return arguments.length?(i=Et(t),n):i},n.target=function(t){return arguments.length?(o=Et(t),n):o},n.startAngle=function(t){return arguments.length?(c=Et(t),n):c},n.endAngle=function(t){return arguments.length?(l=Et(t),n):l},n},ta.svg.diagonal=function(){function n(n,u){var i=t.call(this,n,u),o=e.call(this,n,u),a=(i.y+o.y)/2,c=[i,{x:i.x,y:a},{x:o.x,y:a},o];return c=c.map(r),"M"+c[0]+"C"+c[1]+" "+c[2]+" "+c[3]}var t=mr,e=yr,r=Uo;return n.source=function(e){return arguments.length?(t=Et(e),n):t},n.target=function(t){return arguments.length?(e=Et(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},ta.svg.diagonal.radial=function(){var n=ta.svg.diagonal(),t=Uo,e=n.projection;return n.projection=function(n){return arguments.length?e(jo(t=n)):t},n},ta.svg.symbol=function(){function n(n,r){return(zl.get(t.call(this,n,r))||Oo)(e.call(this,n,r))}var t=Ho,e=Fo;return n.type=function(e){return arguments.length?(t=Et(e),n):t},n.size=function(t){return arguments.length?(e=Et(t),n):e},n};var zl=ta.map({circle:Oo,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Ll)),e=t*Ll;return"M0,"+-t+"L"+e+",0 0,"+t+" "+-e+",0Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/ql),e=t*ql/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/ql),e=t*ql/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});ta.svg.symbolTypes=zl.keys();var ql=Math.sqrt(3),Ll=Math.tan(30*Da);_a.transition=function(n){for(var t,e,r=Tl||++Ul,u=Xo(n),i=[],o=Rl||{time:Date.now(),ease:Su,delay:0,duration:250},a=-1,c=this.length;++ai;i++){u.push(t=[]);for(var e=this[i],a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return Yo(u,this.namespace,this.id)},Pl.tween=function(n,t){var e=this.id,r=this.namespace;return arguments.length<2?this.node()[r][e].tween.get(n):Y(this,null==t?function(t){t[r][e].tween.remove(n)}:function(u){u[r][e].tween.set(n,t)})},Pl.attr=function(n,t){function e(){this.removeAttribute(a)}function r(){this.removeAttributeNS(a.space,a.local)}function u(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(a);return e!==n&&(t=o(e,n),function(n){this.setAttribute(a,t(n))})})}function i(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(a.space,a.local);return e!==n&&(t=o(e,n),function(n){this.setAttributeNS(a.space,a.local,t(n))})})}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var o="transform"==n?Hu:mu,a=ta.ns.qualify(n);return Zo(this,"attr."+n,t,a.local?i:u)},Pl.attrTween=function(n,t){function e(n,e){var r=t.call(this,n,e,this.getAttribute(u));return r&&function(n){this.setAttribute(u,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(u.space,u.local));return r&&function(n){this.setAttributeNS(u.space,u.local,r(n))}}var u=ta.ns.qualify(n);return this.tween("attr."+n,u.local?r:e)},Pl.style=function(n,e,r){function u(){this.style.removeProperty(n)}function i(e){return null==e?u:(e+="",function(){var u,i=t(this).getComputedStyle(this,null).getPropertyValue(n);return i!==e&&(u=mu(i,e),function(t){this.style.setProperty(n,u(t),r)})})}var o=arguments.length;if(3>o){if("string"!=typeof n){2>o&&(e="");for(r in n)this.style(r,n[r],e);return this}r=""}return Zo(this,"style."+n,e,i)},Pl.styleTween=function(n,e,r){function u(u,i){var o=e.call(this,u,i,t(this).getComputedStyle(this,null).getPropertyValue(n));return o&&function(t){this.style.setProperty(n,o(t),r)}}return arguments.length<3&&(r=""),this.tween("style."+n,u)},Pl.text=function(n){return Zo(this,"text",n,Vo)},Pl.remove=function(){var n=this.namespace;return this.each("end.transition",function(){var t;this[n].count<2&&(t=this.parentNode)&&t.removeChild(this)})},Pl.ease=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].ease:("function"!=typeof n&&(n=ta.ease.apply(ta,arguments)),Y(this,function(r){r[e][t].ease=n}))},Pl.delay=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].delay:Y(this,"function"==typeof n?function(r,u,i){r[e][t].delay=+n.call(r,r.__data__,u,i)}:(n=+n,function(r){r[e][t].delay=n}))},Pl.duration=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].duration:Y(this,"function"==typeof n?function(r,u,i){r[e][t].duration=Math.max(1,n.call(r,r.__data__,u,i))}:(n=Math.max(1,n),function(r){r[e][t].duration=n}))},Pl.each=function(n,t){var e=this.id,r=this.namespace;if(arguments.length<2){var u=Rl,i=Tl;try{Tl=e,Y(this,function(t,u,i){Rl=t[r][e],n.call(t,t.__data__,u,i)})}finally{Rl=u,Tl=i}}else Y(this,function(u){var i=u[r][e];(i.event||(i.event=ta.dispatch("start","end","interrupt"))).on(n,t)});return this},Pl.transition=function(){for(var n,t,e,r,u=this.id,i=++Ul,o=this.namespace,a=[],c=0,l=this.length;l>c;c++){a.push(n=[]);for(var t=this[c],s=0,f=t.length;f>s;s++)(e=t[s])&&(r=e[o][u],$o(e,s,o,i,{time:r.time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration})),n.push(e)}return Yo(a,o,i)},ta.svg.axis=function(){function n(n){n.each(function(){var n,l=ta.select(this),s=this.__chart__||e,f=this.__chart__=e.copy(),h=null==c?f.ticks?f.ticks.apply(f,a):f.domain():c,g=null==t?f.tickFormat?f.tickFormat.apply(f,a):y:t,p=l.selectAll(".tick").data(h,f),v=p.enter().insert("g",".domain").attr("class","tick").style("opacity",Ca),d=ta.transition(p.exit()).style("opacity",Ca).remove(),m=ta.transition(p.order()).style("opacity",1),M=Math.max(u,0)+o,x=Ui(f),b=l.selectAll(".domain").data([0]),_=(b.enter().append("path").attr("class","domain"),ta.transition(b));v.append("line"),v.append("text");var w,S,k,E,A=v.select("line"),N=m.select("line"),C=p.select("text").text(g),z=v.select("text"),q=m.select("text"),L="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(n=Bo,w="x",k="y",S="x2",E="y2",C.attr("dy",0>L?"0em":".71em").style("text-anchor","middle"),_.attr("d","M"+x[0]+","+L*i+"V0H"+x[1]+"V"+L*i)):(n=Wo,w="y",k="x",S="y2",E="x2",C.attr("dy",".32em").style("text-anchor",0>L?"end":"start"),_.attr("d","M"+L*i+","+x[0]+"H0V"+x[1]+"H"+L*i)),A.attr(E,L*u),z.attr(k,L*M),N.attr(S,0).attr(E,L*u),q.attr(w,0).attr(k,L*M),f.rangeBand){var T=f,R=T.rangeBand()/2;s=f=function(n){return T(n)+R}}else s.rangeBand?s=f:d.call(n,f,s);v.call(n,s,f),m.call(n,f,f)})}var t,e=ta.scale.linear(),r=jl,u=6,i=6,o=3,a=[10],c=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in Fl?t+"":jl,n):r},n.ticks=function(){return arguments.length?(a=arguments,n):a},n.tickValues=function(t){return arguments.length?(c=t,n):c},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(u=+t,i=+arguments[e-1],n):u},n.innerTickSize=function(t){return arguments.length?(u=+t,n):u},n.outerTickSize=function(t){return arguments.length?(i=+t,n):i},n.tickPadding=function(t){return arguments.length?(o=+t,n):o},n.tickSubdivide=function(){return arguments.length&&n},n};var jl="bottom",Fl={top:1,right:1,bottom:1,left:1};ta.svg.brush=function(){function n(t){t.each(function(){var t=ta.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",i).on("touchstart.brush",i),o=t.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),t.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=t.selectAll(".resize").data(v,y);a.exit().remove(),a.enter().append("g").attr("class",function(n){return"resize "+n}).style("cursor",function(n){return Hl[n]}).append("rect").attr("x",function(n){return/[ew]$/.test(n)?-3:null}).attr("y",function(n){return/^[ns]/.test(n)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",n.empty()?"none":null);var c,f=ta.transition(t),h=ta.transition(o);l&&(c=Ui(l),h.attr("x",c[0]).attr("width",c[1]-c[0]),r(f)),s&&(c=Ui(s),h.attr("y",c[0]).attr("height",c[1]-c[0]),u(f)),e(f)})}function e(n){n.selectAll(".resize").attr("transform",function(n){return"translate("+f[+/e$/.test(n)]+","+h[+/^s/.test(n)]+")"})}function r(n){n.select(".extent").attr("x",f[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",f[1]-f[0])}function u(n){n.select(".extent").attr("y",h[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",h[1]-h[0])}function i(){function i(){32==ta.event.keyCode&&(C||(M=null,q[0]-=f[1],q[1]-=h[1],C=2),S())}function v(){32==ta.event.keyCode&&2==C&&(q[0]+=f[1],q[1]+=h[1],C=0,S())}function d(){var n=ta.mouse(b),t=!1;x&&(n[0]+=x[0],n[1]+=x[1]),C||(ta.event.altKey?(M||(M=[(f[0]+f[1])/2,(h[0]+h[1])/2]),q[0]=f[+(n[0]s?(u=r,r=s):u=s),v[0]!=r||v[1]!=u?(e?a=null:o=null,v[0]=r,v[1]=u,!0):void 0}function y(){d(),k.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),ta.select("body").style("cursor",null),L.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),z(),w({type:"brushend"})}var M,x,b=this,_=ta.select(ta.event.target),w=c.of(b,arguments),k=ta.select(b),E=_.datum(),A=!/^(n|s)$/.test(E)&&l,N=!/^(e|w)$/.test(E)&&s,C=_.classed("extent"),z=W(b),q=ta.mouse(b),L=ta.select(t(b)).on("keydown.brush",i).on("keyup.brush",v);if(ta.event.changedTouches?L.on("touchmove.brush",d).on("touchend.brush",y):L.on("mousemove.brush",d).on("mouseup.brush",y),k.interrupt().selectAll("*").interrupt(),C)q[0]=f[0]-q[0],q[1]=h[0]-q[1];else if(E){var T=+/w$/.test(E),R=+/^n/.test(E);x=[f[1-T]-q[0],h[1-R]-q[1]],q[0]=f[T],q[1]=h[R]}else ta.event.altKey&&(M=q.slice());k.style("pointer-events","none").selectAll(".resize").style("display",null),ta.select("body").style("cursor",_.style("cursor")),w({type:"brushstart"}),d()}var o,a,c=E(n,"brushstart","brush","brushend"),l=null,s=null,f=[0,0],h=[0,0],g=!0,p=!0,v=Ol[0];return n.event=function(n){n.each(function(){var n=c.of(this,arguments),t={x:f,y:h,i:o,j:a},e=this.__chart__||t;this.__chart__=t,Tl?ta.select(this).transition().each("start.brush",function(){o=e.i,a=e.j,f=e.x,h=e.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=yu(f,t.x),r=yu(h,t.y);return o=a=null,function(u){f=t.x=e(u),h=t.y=r(u),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){o=t.i,a=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},n.x=function(t){return arguments.length?(l=t,v=Ol[!l<<1|!s],n):l},n.y=function(t){return arguments.length?(s=t,v=Ol[!l<<1|!s],n):s},n.clamp=function(t){return arguments.length?(l&&s?(g=!!t[0],p=!!t[1]):l?g=!!t:s&&(p=!!t),n):l&&s?[g,p]:l?g:s?p:null},n.extent=function(t){var e,r,u,i,c;return arguments.length?(l&&(e=t[0],r=t[1],s&&(e=e[0],r=r[0]),o=[e,r],l.invert&&(e=l(e),r=l(r)),e>r&&(c=e,e=r,r=c),(e!=f[0]||r!=f[1])&&(f=[e,r])),s&&(u=t[0],i=t[1],l&&(u=u[1],i=i[1]),a=[u,i],s.invert&&(u=s(u),i=s(i)),u>i&&(c=u,u=i,i=c),(u!=h[0]||i!=h[1])&&(h=[u,i])),n):(l&&(o?(e=o[0],r=o[1]):(e=f[0],r=f[1],l.invert&&(e=l.invert(e),r=l.invert(r)),e>r&&(c=e,e=r,r=c))),s&&(a?(u=a[0],i=a[1]):(u=h[0],i=h[1],s.invert&&(u=s.invert(u),i=s.invert(i)),u>i&&(c=u,u=i,i=c))),l&&s?[[e,u],[r,i]]:l?[e,r]:s&&[u,i])},n.clear=function(){return n.empty()||(f=[0,0],h=[0,0],o=a=null),n},n.empty=function(){return!!l&&f[0]==f[1]||!!s&&h[0]==h[1]},ta.rebind(n,c,"on")};var Hl={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Ol=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Il=ac.format=gc.timeFormat,Yl=Il.utc,Zl=Yl("%Y-%m-%dT%H:%M:%S.%LZ");Il.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Jo:Zl,Jo.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},Jo.toString=Zl.toString,ac.second=Ft(function(n){return new cc(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))},function(n){return n.getSeconds()}),ac.seconds=ac.second.range,ac.seconds.utc=ac.second.utc.range,ac.minute=Ft(function(n){return new cc(6e4*Math.floor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(n){return n.getMinutes()}),ac.minutes=ac.minute.range,ac.minutes.utc=ac.minute.utc.range,ac.hour=Ft(function(n){var t=n.getTimezoneOffset()/60;return new cc(36e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))},function(n){return n.getHours()}),ac.hours=ac.hour.range,ac.hours.utc=ac.hour.utc.range,ac.month=Ft(function(n){return n=ac.day(n),n.setDate(1),n},function(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),ac.months=ac.month.range,ac.months.utc=ac.month.utc.range;var Vl=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Xl=[[ac.second,1],[ac.second,5],[ac.second,15],[ac.second,30],[ac.minute,1],[ac.minute,5],[ac.minute,15],[ac.minute,30],[ac.hour,1],[ac.hour,3],[ac.hour,6],[ac.hour,12],[ac.day,1],[ac.day,2],[ac.week,1],[ac.month,1],[ac.month,3],[ac.year,1]],$l=Il.multi([[".%L",function(n){return n.getMilliseconds()}],[":%S",function(n){return n.getSeconds()}],["%I:%M",function(n){return n.getMinutes()}],["%I %p",function(n){return n.getHours()}],["%a %d",function(n){return n.getDay()&&1!=n.getDate()}],["%b %d",function(n){return 1!=n.getDate()}],["%B",function(n){return n.getMonth()}],["%Y",Ne]]),Bl={range:function(n,t,e){return ta.range(Math.ceil(n/e)*e,+t,e).map(Ko)},floor:y,ceil:y};Xl.year=ac.year,ac.scale=function(){return Go(ta.scale.linear(),Xl,$l)};var Wl=Xl.map(function(n){return[n[0].utc,n[1]]}),Jl=Yl.multi([[".%L",function(n){return n.getUTCMilliseconds()}],[":%S",function(n){return n.getUTCSeconds()}],["%I:%M",function(n){return n.getUTCMinutes()}],["%I %p",function(n){return n.getUTCHours()}],["%a %d",function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],["%b %d",function(n){return 1!=n.getUTCDate()}],["%B",function(n){return n.getUTCMonth()}],["%Y",Ne]]);Wl.year=ac.year.utc,ac.scale.utc=function(){return Go(ta.scale.linear(),Wl,Jl)},ta.text=At(function(n){return n.responseText}),ta.json=function(n,t){return Nt(n,"application/json",Qo,t)},ta.html=function(n,t){return Nt(n,"text/html",na,t)},ta.xml=At(function(n){return n.responseXML}),"function"==typeof define&&define.amd?define(ta):"object"==typeof module&&module.exports&&(module.exports=ta),this.d3=ta}(); \ No newline at end of file diff --git a/demoapps/vendor/pixi.js b/demoapps/vendor/pixi.js new file mode 100644 index 00000000..deea77aa --- /dev/null +++ b/demoapps/vendor/pixi.js @@ -0,0 +1,25512 @@ +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.PIXI = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o= arr.length) { + callback(); + } + } + } + }; + async.forEach = async.each; + + async.eachSeries = function (arr, iterator, callback) { + callback = callback || function () {}; + if (!arr.length) { + return callback(); + } + var completed = 0; + var iterate = function () { + iterator(arr[completed], function (err) { + if (err) { + callback(err); + callback = function () {}; + } + else { + completed += 1; + if (completed >= arr.length) { + callback(); + } + else { + iterate(); + } + } + }); + }; + iterate(); + }; + async.forEachSeries = async.eachSeries; + + async.eachLimit = function (arr, limit, iterator, callback) { + var fn = _eachLimit(limit); + fn.apply(null, [arr, iterator, callback]); + }; + async.forEachLimit = async.eachLimit; + + var _eachLimit = function (limit) { + + return function (arr, iterator, callback) { + callback = callback || function () {}; + if (!arr.length || limit <= 0) { + return callback(); + } + var completed = 0; + var started = 0; + var running = 0; + + (function replenish () { + if (completed >= arr.length) { + return callback(); + } + + while (running < limit && started < arr.length) { + started += 1; + running += 1; + iterator(arr[started - 1], function (err) { + if (err) { + callback(err); + callback = function () {}; + } + else { + completed += 1; + running -= 1; + if (completed >= arr.length) { + callback(); + } + else { + replenish(); + } + } + }); + } + })(); + }; + }; + + + var doParallel = function (fn) { + return function () { + var args = Array.prototype.slice.call(arguments); + return fn.apply(null, [async.each].concat(args)); + }; + }; + var doParallelLimit = function(limit, fn) { + return function () { + var args = Array.prototype.slice.call(arguments); + return fn.apply(null, [_eachLimit(limit)].concat(args)); + }; + }; + var doSeries = function (fn) { + return function () { + var args = Array.prototype.slice.call(arguments); + return fn.apply(null, [async.eachSeries].concat(args)); + }; + }; + + + var _asyncMap = function (eachfn, arr, iterator, callback) { + arr = _map(arr, function (x, i) { + return {index: i, value: x}; + }); + if (!callback) { + eachfn(arr, function (x, callback) { + iterator(x.value, function (err) { + callback(err); + }); + }); + } else { + var results = []; + eachfn(arr, function (x, callback) { + iterator(x.value, function (err, v) { + results[x.index] = v; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + } + }; + async.map = doParallel(_asyncMap); + async.mapSeries = doSeries(_asyncMap); + async.mapLimit = function (arr, limit, iterator, callback) { + return _mapLimit(limit)(arr, iterator, callback); + }; + + var _mapLimit = function(limit) { + return doParallelLimit(limit, _asyncMap); + }; + + // reduce only has a series version, as doing reduce in parallel won't + // work in many situations. + async.reduce = function (arr, memo, iterator, callback) { + async.eachSeries(arr, function (x, callback) { + iterator(memo, x, function (err, v) { + memo = v; + callback(err); + }); + }, function (err) { + callback(err, memo); + }); + }; + // inject alias + async.inject = async.reduce; + // foldl alias + async.foldl = async.reduce; + + async.reduceRight = function (arr, memo, iterator, callback) { + var reversed = _map(arr, function (x) { + return x; + }).reverse(); + async.reduce(reversed, memo, iterator, callback); + }; + // foldr alias + async.foldr = async.reduceRight; + + var _filter = function (eachfn, arr, iterator, callback) { + var results = []; + arr = _map(arr, function (x, i) { + return {index: i, value: x}; + }); + eachfn(arr, function (x, callback) { + iterator(x.value, function (v) { + if (v) { + results.push(x); + } + callback(); + }); + }, function (err) { + callback(_map(results.sort(function (a, b) { + return a.index - b.index; + }), function (x) { + return x.value; + })); + }); + }; + async.filter = doParallel(_filter); + async.filterSeries = doSeries(_filter); + // select alias + async.select = async.filter; + async.selectSeries = async.filterSeries; + + var _reject = function (eachfn, arr, iterator, callback) { + var results = []; + arr = _map(arr, function (x, i) { + return {index: i, value: x}; + }); + eachfn(arr, function (x, callback) { + iterator(x.value, function (v) { + if (!v) { + results.push(x); + } + callback(); + }); + }, function (err) { + callback(_map(results.sort(function (a, b) { + return a.index - b.index; + }), function (x) { + return x.value; + })); + }); + }; + async.reject = doParallel(_reject); + async.rejectSeries = doSeries(_reject); + + var _detect = function (eachfn, arr, iterator, main_callback) { + eachfn(arr, function (x, callback) { + iterator(x, function (result) { + if (result) { + main_callback(x); + main_callback = function () {}; + } + else { + callback(); + } + }); + }, function (err) { + main_callback(); + }); + }; + async.detect = doParallel(_detect); + async.detectSeries = doSeries(_detect); + + async.some = function (arr, iterator, main_callback) { + async.each(arr, function (x, callback) { + iterator(x, function (v) { + if (v) { + main_callback(true); + main_callback = function () {}; + } + callback(); + }); + }, function (err) { + main_callback(false); + }); + }; + // any alias + async.any = async.some; + + async.every = function (arr, iterator, main_callback) { + async.each(arr, function (x, callback) { + iterator(x, function (v) { + if (!v) { + main_callback(false); + main_callback = function () {}; + } + callback(); + }); + }, function (err) { + main_callback(true); + }); + }; + // all alias + async.all = async.every; + + async.sortBy = function (arr, iterator, callback) { + async.map(arr, function (x, callback) { + iterator(x, function (err, criteria) { + if (err) { + callback(err); + } + else { + callback(null, {value: x, criteria: criteria}); + } + }); + }, function (err, results) { + if (err) { + return callback(err); + } + else { + var fn = function (left, right) { + var a = left.criteria, b = right.criteria; + return a < b ? -1 : a > b ? 1 : 0; + }; + callback(null, _map(results.sort(fn), function (x) { + return x.value; + })); + } + }); + }; + + async.auto = function (tasks, callback) { + callback = callback || function () {}; + var keys = _keys(tasks); + var remainingTasks = keys.length + if (!remainingTasks) { + return callback(); + } + + var results = {}; + + var listeners = []; + var addListener = function (fn) { + listeners.unshift(fn); + }; + var removeListener = function (fn) { + for (var i = 0; i < listeners.length; i += 1) { + if (listeners[i] === fn) { + listeners.splice(i, 1); + return; + } + } + }; + var taskComplete = function () { + remainingTasks-- + _each(listeners.slice(0), function (fn) { + fn(); + }); + }; + + addListener(function () { + if (!remainingTasks) { + var theCallback = callback; + // prevent final callback from calling itself if it errors + callback = function () {}; + + theCallback(null, results); + } + }); + + _each(keys, function (k) { + var task = _isArray(tasks[k]) ? tasks[k]: [tasks[k]]; + var taskCallback = function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + if (err) { + var safeResults = {}; + _each(_keys(results), function(rkey) { + safeResults[rkey] = results[rkey]; + }); + safeResults[k] = args; + callback(err, safeResults); + // stop subsequent errors hitting callback multiple times + callback = function () {}; + } + else { + results[k] = args; + async.setImmediate(taskComplete); + } + }; + var requires = task.slice(0, Math.abs(task.length - 1)) || []; + var ready = function () { + return _reduce(requires, function (a, x) { + return (a && results.hasOwnProperty(x)); + }, true) && !results.hasOwnProperty(k); + }; + if (ready()) { + task[task.length - 1](taskCallback, results); + } + else { + var listener = function () { + if (ready()) { + removeListener(listener); + task[task.length - 1](taskCallback, results); + } + }; + addListener(listener); + } + }); + }; + + async.retry = function(times, task, callback) { + var DEFAULT_TIMES = 5; + var attempts = []; + // Use defaults if times not passed + if (typeof times === 'function') { + callback = task; + task = times; + times = DEFAULT_TIMES; + } + // Make sure times is a number + times = parseInt(times, 10) || DEFAULT_TIMES; + var wrappedTask = function(wrappedCallback, wrappedResults) { + var retryAttempt = function(task, finalAttempt) { + return function(seriesCallback) { + task(function(err, result){ + seriesCallback(!err || finalAttempt, {err: err, result: result}); + }, wrappedResults); + }; + }; + while (times) { + attempts.push(retryAttempt(task, !(times-=1))); + } + async.series(attempts, function(done, data){ + data = data[data.length - 1]; + (wrappedCallback || callback)(data.err, data.result); + }); + } + // If a callback is passed, run this as a controll flow + return callback ? wrappedTask() : wrappedTask + }; + + async.waterfall = function (tasks, callback) { + callback = callback || function () {}; + if (!_isArray(tasks)) { + var err = new Error('First argument to waterfall must be an array of functions'); + return callback(err); + } + if (!tasks.length) { + return callback(); + } + var wrapIterator = function (iterator) { + return function (err) { + if (err) { + callback.apply(null, arguments); + callback = function () {}; + } + else { + var args = Array.prototype.slice.call(arguments, 1); + var next = iterator.next(); + if (next) { + args.push(wrapIterator(next)); + } + else { + args.push(callback); + } + async.setImmediate(function () { + iterator.apply(null, args); + }); + } + }; + }; + wrapIterator(async.iterator(tasks))(); + }; + + var _parallel = function(eachfn, tasks, callback) { + callback = callback || function () {}; + if (_isArray(tasks)) { + eachfn.map(tasks, function (fn, callback) { + if (fn) { + fn(function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + callback.call(null, err, args); + }); + } + }, callback); + } + else { + var results = {}; + eachfn.each(_keys(tasks), function (k, callback) { + tasks[k](function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + results[k] = args; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + } + }; + + async.parallel = function (tasks, callback) { + _parallel({ map: async.map, each: async.each }, tasks, callback); + }; + + async.parallelLimit = function(tasks, limit, callback) { + _parallel({ map: _mapLimit(limit), each: _eachLimit(limit) }, tasks, callback); + }; + + async.series = function (tasks, callback) { + callback = callback || function () {}; + if (_isArray(tasks)) { + async.mapSeries(tasks, function (fn, callback) { + if (fn) { + fn(function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + callback.call(null, err, args); + }); + } + }, callback); + } + else { + var results = {}; + async.eachSeries(_keys(tasks), function (k, callback) { + tasks[k](function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (args.length <= 1) { + args = args[0]; + } + results[k] = args; + callback(err); + }); + }, function (err) { + callback(err, results); + }); + } + }; + + async.iterator = function (tasks) { + var makeCallback = function (index) { + var fn = function () { + if (tasks.length) { + tasks[index].apply(null, arguments); + } + return fn.next(); + }; + fn.next = function () { + return (index < tasks.length - 1) ? makeCallback(index + 1): null; + }; + return fn; + }; + return makeCallback(0); + }; + + async.apply = function (fn) { + var args = Array.prototype.slice.call(arguments, 1); + return function () { + return fn.apply( + null, args.concat(Array.prototype.slice.call(arguments)) + ); + }; + }; + + var _concat = function (eachfn, arr, fn, callback) { + var r = []; + eachfn(arr, function (x, cb) { + fn(x, function (err, y) { + r = r.concat(y || []); + cb(err); + }); + }, function (err) { + callback(err, r); + }); + }; + async.concat = doParallel(_concat); + async.concatSeries = doSeries(_concat); + + async.whilst = function (test, iterator, callback) { + if (test()) { + iterator(function (err) { + if (err) { + return callback(err); + } + async.whilst(test, iterator, callback); + }); + } + else { + callback(); + } + }; + + async.doWhilst = function (iterator, test, callback) { + iterator(function (err) { + if (err) { + return callback(err); + } + var args = Array.prototype.slice.call(arguments, 1); + if (test.apply(null, args)) { + async.doWhilst(iterator, test, callback); + } + else { + callback(); + } + }); + }; + + async.until = function (test, iterator, callback) { + if (!test()) { + iterator(function (err) { + if (err) { + return callback(err); + } + async.until(test, iterator, callback); + }); + } + else { + callback(); + } + }; + + async.doUntil = function (iterator, test, callback) { + iterator(function (err) { + if (err) { + return callback(err); + } + var args = Array.prototype.slice.call(arguments, 1); + if (!test.apply(null, args)) { + async.doUntil(iterator, test, callback); + } + else { + callback(); + } + }); + }; + + async.queue = function (worker, concurrency) { + if (concurrency === undefined) { + concurrency = 1; + } + function _insert(q, data, pos, callback) { + if (!q.started){ + q.started = true; + } + if (!_isArray(data)) { + data = [data]; + } + if(data.length == 0) { + // call drain immediately if there are no tasks + return async.setImmediate(function() { + if (q.drain) { + q.drain(); + } + }); + } + _each(data, function(task) { + var item = { + data: task, + callback: typeof callback === 'function' ? callback : null + }; + + if (pos) { + q.tasks.unshift(item); + } else { + q.tasks.push(item); + } + + if (q.saturated && q.tasks.length === q.concurrency) { + q.saturated(); + } + async.setImmediate(q.process); + }); + } + + var workers = 0; + var q = { + tasks: [], + concurrency: concurrency, + saturated: null, + empty: null, + drain: null, + started: false, + paused: false, + push: function (data, callback) { + _insert(q, data, false, callback); + }, + kill: function () { + q.drain = null; + q.tasks = []; + }, + unshift: function (data, callback) { + _insert(q, data, true, callback); + }, + process: function () { + if (!q.paused && workers < q.concurrency && q.tasks.length) { + var task = q.tasks.shift(); + if (q.empty && q.tasks.length === 0) { + q.empty(); + } + workers += 1; + var next = function () { + workers -= 1; + if (task.callback) { + task.callback.apply(task, arguments); + } + if (q.drain && q.tasks.length + workers === 0) { + q.drain(); + } + q.process(); + }; + var cb = only_once(next); + worker(task.data, cb); + } + }, + length: function () { + return q.tasks.length; + }, + running: function () { + return workers; + }, + idle: function() { + return q.tasks.length + workers === 0; + }, + pause: function () { + if (q.paused === true) { return; } + q.paused = true; + q.process(); + }, + resume: function () { + if (q.paused === false) { return; } + q.paused = false; + q.process(); + } + }; + return q; + }; + + async.priorityQueue = function (worker, concurrency) { + + function _compareTasks(a, b){ + return a.priority - b.priority; + }; + + function _binarySearch(sequence, item, compare) { + var beg = -1, + end = sequence.length - 1; + while (beg < end) { + var mid = beg + ((end - beg + 1) >>> 1); + if (compare(item, sequence[mid]) >= 0) { + beg = mid; + } else { + end = mid - 1; + } + } + return beg; + } + + function _insert(q, data, priority, callback) { + if (!q.started){ + q.started = true; + } + if (!_isArray(data)) { + data = [data]; + } + if(data.length == 0) { + // call drain immediately if there are no tasks + return async.setImmediate(function() { + if (q.drain) { + q.drain(); + } + }); + } + _each(data, function(task) { + var item = { + data: task, + priority: priority, + callback: typeof callback === 'function' ? callback : null + }; + + q.tasks.splice(_binarySearch(q.tasks, item, _compareTasks) + 1, 0, item); + + if (q.saturated && q.tasks.length === q.concurrency) { + q.saturated(); + } + async.setImmediate(q.process); + }); + } + + // Start with a normal queue + var q = async.queue(worker, concurrency); + + // Override push to accept second parameter representing priority + q.push = function (data, priority, callback) { + _insert(q, data, priority, callback); + }; + + // Remove unshift function + delete q.unshift; + + return q; + }; + + async.cargo = function (worker, payload) { + var working = false, + tasks = []; + + var cargo = { + tasks: tasks, + payload: payload, + saturated: null, + empty: null, + drain: null, + drained: true, + push: function (data, callback) { + if (!_isArray(data)) { + data = [data]; + } + _each(data, function(task) { + tasks.push({ + data: task, + callback: typeof callback === 'function' ? callback : null + }); + cargo.drained = false; + if (cargo.saturated && tasks.length === payload) { + cargo.saturated(); + } + }); + async.setImmediate(cargo.process); + }, + process: function process() { + if (working) return; + if (tasks.length === 0) { + if(cargo.drain && !cargo.drained) cargo.drain(); + cargo.drained = true; + return; + } + + var ts = typeof payload === 'number' + ? tasks.splice(0, payload) + : tasks.splice(0, tasks.length); + + var ds = _map(ts, function (task) { + return task.data; + }); + + if(cargo.empty) cargo.empty(); + working = true; + worker(ds, function () { + working = false; + + var args = arguments; + _each(ts, function (data) { + if (data.callback) { + data.callback.apply(null, args); + } + }); + + process(); + }); + }, + length: function () { + return tasks.length; + }, + running: function () { + return working; + } + }; + return cargo; + }; + + var _console_fn = function (name) { + return function (fn) { + var args = Array.prototype.slice.call(arguments, 1); + fn.apply(null, args.concat([function (err) { + var args = Array.prototype.slice.call(arguments, 1); + if (typeof console !== 'undefined') { + if (err) { + if (console.error) { + console.error(err); + } + } + else if (console[name]) { + _each(args, function (x) { + console[name](x); + }); + } + } + }])); + }; + }; + async.log = _console_fn('log'); + async.dir = _console_fn('dir'); + /*async.info = _console_fn('info'); + async.warn = _console_fn('warn'); + async.error = _console_fn('error');*/ + + async.memoize = function (fn, hasher) { + var memo = {}; + var queues = {}; + hasher = hasher || function (x) { + return x; + }; + var memoized = function () { + var args = Array.prototype.slice.call(arguments); + var callback = args.pop(); + var key = hasher.apply(null, args); + if (key in memo) { + async.nextTick(function () { + callback.apply(null, memo[key]); + }); + } + else if (key in queues) { + queues[key].push(callback); + } + else { + queues[key] = [callback]; + fn.apply(null, args.concat([function () { + memo[key] = arguments; + var q = queues[key]; + delete queues[key]; + for (var i = 0, l = q.length; i < l; i++) { + q[i].apply(null, arguments); + } + }])); + } + }; + memoized.memo = memo; + memoized.unmemoized = fn; + return memoized; + }; + + async.unmemoize = function (fn) { + return function () { + return (fn.unmemoized || fn).apply(null, arguments); + }; + }; + + async.times = function (count, iterator, callback) { + var counter = []; + for (var i = 0; i < count; i++) { + counter.push(i); + } + return async.map(counter, iterator, callback); + }; + + async.timesSeries = function (count, iterator, callback) { + var counter = []; + for (var i = 0; i < count; i++) { + counter.push(i); + } + return async.mapSeries(counter, iterator, callback); + }; + + async.seq = function (/* functions... */) { + var fns = arguments; + return function () { + var that = this; + var args = Array.prototype.slice.call(arguments); + var callback = args.pop(); + async.reduce(fns, args, function (newargs, fn, cb) { + fn.apply(that, newargs.concat([function () { + var err = arguments[0]; + var nextargs = Array.prototype.slice.call(arguments, 1); + cb(err, nextargs); + }])) + }, + function (err, results) { + callback.apply(that, [err].concat(results)); + }); + }; + }; + + async.compose = function (/* functions... */) { + return async.seq.apply(null, Array.prototype.reverse.call(arguments)); + }; + + var _applyEach = function (eachfn, fns /*args...*/) { + var go = function () { + var that = this; + var args = Array.prototype.slice.call(arguments); + var callback = args.pop(); + return eachfn(fns, function (fn, cb) { + fn.apply(that, args.concat([cb])); + }, + callback); + }; + if (arguments.length > 2) { + var args = Array.prototype.slice.call(arguments, 2); + return go.apply(this, args); + } + else { + return go; + } + }; + async.applyEach = doParallel(_applyEach); + async.applyEachSeries = doSeries(_applyEach); + + async.forever = function (fn, callback) { + function next(err) { + if (err) { + if (callback) { + return callback(err); + } + throw err; + } + fn(next); + } + next(); + }; + + // Node.js + if (typeof module !== 'undefined' && module.exports) { + module.exports = async; + } + // AMD / RequireJS + else if (typeof define !== 'undefined' && define.amd) { + define([], function () { + return async; + }); + } + // included directly via