{"version":3,"sources":["webpack:///./node_modules/d3-array/src/index.js","webpack:///./node_modules/d3-selection/src/index.js","webpack:///./node_modules/d3-scale/src/index.js","webpack:///./node_modules/d3-array/src/fsum.js","webpack:///./node_modules/d3-time-format/src/index.js","webpack:///./node_modules/d3-geo/src/identity.js","webpack:///./node_modules/d3-geo/src/stream.js","webpack:///./node_modules/d3-geo/src/math.js","webpack:///./node_modules/d3-geo/src/noop.js","webpack:///./node_modules/d3-geo/src/path/area.js","webpack:///./node_modules/d3-geo/src/path/bounds.js","webpack:///./node_modules/d3-geo/src/path/centroid.js","webpack:///./node_modules/d3-geo/src/path/context.js","webpack:///./node_modules/d3-geo/src/path/measure.js","webpack:///./node_modules/d3-geo/src/path/string.js","webpack:///./node_modules/d3-geo/src/path/index.js","webpack:///./node_modules/d3-geo/src/transform.js","webpack:///./node_modules/d3-interpolate/src/zoom.js","webpack:///./node_modules/d3-zoom/src/transform.js"],"names":["_extent_js__WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","d","__webpack_exports__","_select_js__WEBPACK_IMPORTED_MODULE_0__","_selectAll_js__WEBPACK_IMPORTED_MODULE_1__","_linear_js__WEBPACK_IMPORTED_MODULE_0__","_time_js__WEBPACK_IMPORTED_MODULE_1__","Adder","constructor","this","_partials","Float64Array","_n","add","x","p","i","j","y","hi","lo","Math","abs","valueOf","n","_defaultLocale_js__WEBPACK_IMPORTED_MODULE_0__","streamGeometry","geometry","stream","streamGeometryType","hasOwnProperty","type","streamObjectType","Feature","object","FeatureCollection","features","length","Sphere","sphere","Point","coordinates","point","MultiPoint","LineString","streamLine","MultiLineString","Polygon","streamPolygon","MultiPolygon","GeometryCollection","geometries","closed","coordinate","lineStart","lineEnd","polygonStart","polygonEnd","pi","PI","tau","sqrt","atan","atan2","cos","ceil","exp","floor","hypot","log","pow","sin","sign","tan","noop","x00","y00","x0","y0","areaSum","areaRingSum","areaStream","areaRingStart","areaRingEnd","result","area","areaPointFirst","areaPoint","Infinity","x1","y1","boundsStream","bounds","X0","Y0","Z0","X1","Y1","Z1","X2","Y2","Z2","centroidStream","centroidPoint","centroidLineStart","centroidLineEnd","centroidRingStart","centroidRingEnd","centroid","NaN","centroidPointFirstLine","centroidPointLine","dx","dy","z","centroidPointFirstRing","centroidPointRing","PathContext","context","_context","prototype","_radius","pointRadius","_","_line","_point","closePath","moveTo","lineTo","arc","lengthRing","lengthSum","lengthStream","lengthPointFirst","lengthPoint","PathString","_string","circle","radius","_circle","push","join","src_path","projection","projectionStream","contextStream","path","apply","arguments","pathArea","measure","pathMeasure","pathBounds","pathCentroid","identity","src_transform","methods","s","TransformStream","key","transformer","epsilon2","cosh","zoomRho","rho","rho2","rho4","zoom","p0","p1","S","ux0","uy0","w0","ux1","uy1","w1","d2","t","d1","b0","b1","r0","r1","coshr0","u","sinh","duration","SQRT2","_1","max","_2","Transform","k","scale","translate","applyX","applyY","invert","location","invertX","invertY","rescaleX","copy","domain","range","map","rescaleY","toString"],"mappings":"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","file":"assets/js/6.js","sourcesContent":["export {default as bisect, bisectRight, bisectLeft, bisectCenter} from \"./bisect.js\";\nexport {default as ascending} from \"./ascending.js\";\nexport {default as bisector} from \"./bisector.js\";\nexport {default as count} from \"./count.js\";\nexport {default as cross} from \"./cross.js\";\nexport {default as cumsum} from \"./cumsum.js\";\nexport {default as descending} from \"./descending.js\";\nexport {default as deviation} from \"./deviation.js\";\nexport {default as extent} from \"./extent.js\";\nexport {Adder, fsum, fcumsum} from \"./fsum.js\";\nexport {default as group, flatGroup, flatRollup, groups, index, indexes, rollup, rollups} from \"./group.js\";\nexport {default as groupSort} from \"./groupSort.js\";\nexport {default as bin, default as histogram} from \"./bin.js\"; // Deprecated; use bin.\nexport {default as thresholdFreedmanDiaconis} from \"./threshold/freedmanDiaconis.js\";\nexport {default as thresholdScott} from \"./threshold/scott.js\";\nexport {default as thresholdSturges} from \"./threshold/sturges.js\";\nexport {default as max} from \"./max.js\";\nexport {default as maxIndex} from \"./maxIndex.js\";\nexport {default as mean} from \"./mean.js\";\nexport {default as median} from \"./median.js\";\nexport {default as merge} from \"./merge.js\";\nexport {default as min} from \"./min.js\";\nexport {default as minIndex} from \"./minIndex.js\";\nexport {default as mode} from \"./mode.js\";\nexport {default as nice} from \"./nice.js\";\nexport {default as pairs} from \"./pairs.js\";\nexport {default as permute} from \"./permute.js\";\nexport {default as quantile, quantileSorted} from \"./quantile.js\";\nexport {default as quickselect} from \"./quickselect.js\";\nexport {default as range} from \"./range.js\";\nexport {default as rank} from \"./rank.js\";\nexport {default as least} from \"./least.js\";\nexport {default as leastIndex} from \"./leastIndex.js\";\nexport {default as greatest} from \"./greatest.js\";\nexport {default as greatestIndex} from \"./greatestIndex.js\";\nexport {default as scan} from \"./scan.js\"; // Deprecated; use leastIndex.\nexport {default as shuffle, shuffler} from \"./shuffle.js\";\nexport {default as sum} from \"./sum.js\";\nexport {default as ticks, tickIncrement, tickStep} from \"./ticks.js\";\nexport {default as transpose} from \"./transpose.js\";\nexport {default as variance} from \"./variance.js\";\nexport {default as zip} from \"./zip.js\";\nexport {default as every} from \"./every.js\";\nexport {default as some} from \"./some.js\";\nexport {default as filter} from \"./filter.js\";\nexport {default as map} from \"./map.js\";\nexport {default as reduce} from \"./reduce.js\";\nexport {default as reverse} from \"./reverse.js\";\nexport {default as sort} from \"./sort.js\";\nexport {default as difference} from \"./difference.js\";\nexport {default as disjoint} from \"./disjoint.js\";\nexport {default as intersection} from \"./intersection.js\";\nexport {default as subset} from \"./subset.js\";\nexport {default as superset} from \"./superset.js\";\nexport {default as union} from \"./union.js\";\nexport {InternMap, InternSet} from \"internmap\";\n","export {default as create} from \"./create.js\";\nexport {default as creator} from \"./creator.js\";\nexport {default as local} from \"./local.js\";\nexport {default as matcher} from \"./matcher.js\";\nexport {default as namespace} from \"./namespace.js\";\nexport {default as namespaces} from \"./namespaces.js\";\nexport {default as pointer} from \"./pointer.js\";\nexport {default as pointers} from \"./pointers.js\";\nexport {default as select} from \"./select.js\";\nexport {default as selectAll} from \"./selectAll.js\";\nexport {default as selection} from \"./selection/index.js\";\nexport {default as selector} from \"./selector.js\";\nexport {default as selectorAll} from \"./selectorAll.js\";\nexport {styleValue as style} from \"./selection/style.js\";\nexport {default as window} from \"./window.js\";\n","export {\n default as scaleBand,\n point as scalePoint\n} from \"./band.js\";\n\nexport {\n default as scaleIdentity\n} from \"./identity.js\";\n\nexport {\n default as scaleLinear\n} from \"./linear.js\";\n\nexport {\n default as scaleLog\n} from \"./log.js\";\n\nexport {\n default as scaleSymlog\n} from \"./symlog.js\";\n\nexport {\n default as scaleOrdinal,\n implicit as scaleImplicit\n} from \"./ordinal.js\";\n\nexport {\n default as scalePow,\n sqrt as scaleSqrt\n} from \"./pow.js\";\n\nexport {\n default as scaleRadial\n} from \"./radial.js\";\n\nexport {\n default as scaleQuantile\n} from \"./quantile.js\";\n\nexport {\n default as scaleQuantize\n} from \"./quantize.js\";\n\nexport {\n default as scaleThreshold\n} from \"./threshold.js\";\n\nexport {\n default as scaleTime\n} from \"./time.js\";\n\nexport {\n default as scaleUtc\n} from \"./utcTime.js\";\n\nexport {\n default as scaleSequential,\n sequentialLog as scaleSequentialLog,\n sequentialPow as scaleSequentialPow,\n sequentialSqrt as scaleSequentialSqrt,\n sequentialSymlog as scaleSequentialSymlog\n} from \"./sequential.js\";\n\nexport {\n default as scaleSequentialQuantile\n} from \"./sequentialQuantile.js\";\n\nexport {\n default as scaleDiverging,\n divergingLog as scaleDivergingLog,\n divergingPow as scaleDivergingPow,\n divergingSqrt as scaleDivergingSqrt,\n divergingSymlog as scaleDivergingSymlog\n} from \"./diverging.js\";\n\nexport {\n default as tickFormat\n} from \"./tickFormat.js\";\n","// https://github.com/python/cpython/blob/a74eea238f5baba15797e2e8b570d153bc8690a7/Modules/mathmodule.c#L1423\nexport class Adder {\n constructor() {\n this._partials = new Float64Array(32);\n this._n = 0;\n }\n add(x) {\n const p = this._partials;\n let i = 0;\n for (let j = 0; j < this._n && j < 32; j++) {\n const y = p[j],\n hi = x + y,\n lo = Math.abs(x) < Math.abs(y) ? x - (hi - y) : y - (hi - x);\n if (lo) p[i++] = lo;\n x = hi;\n }\n p[i] = x;\n this._n = i + 1;\n return this;\n }\n valueOf() {\n const p = this._partials;\n let n = this._n, x, y, lo, hi = 0;\n if (n > 0) {\n hi = p[--n];\n while (n > 0) {\n x = hi;\n y = p[--n];\n hi = x + y;\n lo = y - (hi - x);\n if (lo) break;\n }\n if (n > 0 && ((lo < 0 && p[n - 1] < 0) || (lo > 0 && p[n - 1] > 0))) {\n y = lo * 2;\n x = hi + y;\n if (y == x - hi) hi = x;\n }\n }\n return hi;\n }\n}\n\nexport function fsum(values, valueof) {\n const adder = new Adder();\n if (valueof === undefined) {\n for (let value of values) {\n if (value = +value) {\n adder.add(value);\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if (value = +valueof(value, ++index, values)) {\n adder.add(value);\n }\n }\n }\n return +adder;\n}\n\nexport function fcumsum(values, valueof) {\n const adder = new Adder();\n let index = -1;\n return Float64Array.from(values, valueof === undefined\n ? v => adder.add(+v || 0)\n : v => adder.add(+valueof(v, ++index, values) || 0)\n );\n}\n","export {default as timeFormatDefaultLocale, timeFormat, timeParse, utcFormat, utcParse} from \"./defaultLocale.js\";\nexport {default as timeFormatLocale} from \"./locale.js\";\nexport {default as isoFormat} from \"./isoFormat.js\";\nexport {default as isoParse} from \"./isoParse.js\";\n","export default x => x;\n","function streamGeometry(geometry, stream) {\n if (geometry && streamGeometryType.hasOwnProperty(geometry.type)) {\n streamGeometryType[geometry.type](geometry, stream);\n }\n}\n\nvar streamObjectType = {\n Feature: function(object, stream) {\n streamGeometry(object.geometry, stream);\n },\n FeatureCollection: function(object, stream) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) streamGeometry(features[i].geometry, stream);\n }\n};\n\nvar streamGeometryType = {\n Sphere: function(object, stream) {\n stream.sphere();\n },\n Point: function(object, stream) {\n object = object.coordinates;\n stream.point(object[0], object[1], object[2]);\n },\n MultiPoint: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) object = coordinates[i], stream.point(object[0], object[1], object[2]);\n },\n LineString: function(object, stream) {\n streamLine(object.coordinates, stream, 0);\n },\n MultiLineString: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamLine(coordinates[i], stream, 0);\n },\n Polygon: function(object, stream) {\n streamPolygon(object.coordinates, stream);\n },\n MultiPolygon: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamPolygon(coordinates[i], stream);\n },\n GeometryCollection: function(object, stream) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) streamGeometry(geometries[i], stream);\n }\n};\n\nfunction streamLine(coordinates, stream, closed) {\n var i = -1, n = coordinates.length - closed, coordinate;\n stream.lineStart();\n while (++i < n) coordinate = coordinates[i], stream.point(coordinate[0], coordinate[1], coordinate[2]);\n stream.lineEnd();\n}\n\nfunction streamPolygon(coordinates, stream) {\n var i = -1, n = coordinates.length;\n stream.polygonStart();\n while (++i < n) streamLine(coordinates[i], stream, 1);\n stream.polygonEnd();\n}\n\nexport default function(object, stream) {\n if (object && streamObjectType.hasOwnProperty(object.type)) {\n streamObjectType[object.type](object, stream);\n } else {\n streamGeometry(object, stream);\n }\n}\n","export var epsilon = 1e-6;\nexport var epsilon2 = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var quarterPi = pi / 4;\nexport var tau = pi * 2;\n\nexport var degrees = 180 / pi;\nexport var radians = pi / 180;\n\nexport var abs = Math.abs;\nexport var atan = Math.atan;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var ceil = Math.ceil;\nexport var exp = Math.exp;\nexport var floor = Math.floor;\nexport var hypot = Math.hypot;\nexport var log = Math.log;\nexport var pow = Math.pow;\nexport var sin = Math.sin;\nexport var sign = Math.sign || function(x) { return x > 0 ? 1 : x < 0 ? -1 : 0; };\nexport var sqrt = Math.sqrt;\nexport var tan = Math.tan;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x > 1 ? halfPi : x < -1 ? -halfPi : Math.asin(x);\n}\n\nexport function haversin(x) {\n return (x = sin(x / 2)) * x;\n}\n","export default function noop() {}\n","import {Adder} from \"d3-array\";\nimport {abs} from \"../math.js\";\nimport noop from \"../noop.js\";\n\nvar areaSum = new Adder(),\n areaRingSum = new Adder(),\n x00,\n y00,\n x0,\n y0;\n\nvar areaStream = {\n point: noop,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: function() {\n areaStream.lineStart = areaRingStart;\n areaStream.lineEnd = areaRingEnd;\n },\n polygonEnd: function() {\n areaStream.lineStart = areaStream.lineEnd = areaStream.point = noop;\n areaSum.add(abs(areaRingSum));\n areaRingSum = new Adder();\n },\n result: function() {\n var area = areaSum / 2;\n areaSum = new Adder();\n return area;\n }\n};\n\nfunction areaRingStart() {\n areaStream.point = areaPointFirst;\n}\n\nfunction areaPointFirst(x, y) {\n areaStream.point = areaPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction areaPoint(x, y) {\n areaRingSum.add(y0 * x - x0 * y);\n x0 = x, y0 = y;\n}\n\nfunction areaRingEnd() {\n areaPoint(x00, y00);\n}\n\nexport default areaStream;\n","import noop from \"../noop.js\";\n\nvar x0 = Infinity,\n y0 = x0,\n x1 = -x0,\n y1 = x1;\n\nvar boundsStream = {\n point: boundsPoint,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: noop,\n polygonEnd: noop,\n result: function() {\n var bounds = [[x0, y0], [x1, y1]];\n x1 = y1 = -(y0 = x0 = Infinity);\n return bounds;\n }\n};\n\nfunction boundsPoint(x, y) {\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n}\n\nexport default boundsStream;\n","import {sqrt} from \"../math.js\";\n\n// TODO Enforce positive area for exterior, negative area for interior?\n\nvar X0 = 0,\n Y0 = 0,\n Z0 = 0,\n X1 = 0,\n Y1 = 0,\n Z1 = 0,\n X2 = 0,\n Y2 = 0,\n Z2 = 0,\n x00,\n y00,\n x0,\n y0;\n\nvar centroidStream = {\n point: centroidPoint,\n lineStart: centroidLineStart,\n lineEnd: centroidLineEnd,\n polygonStart: function() {\n centroidStream.lineStart = centroidRingStart;\n centroidStream.lineEnd = centroidRingEnd;\n },\n polygonEnd: function() {\n centroidStream.point = centroidPoint;\n centroidStream.lineStart = centroidLineStart;\n centroidStream.lineEnd = centroidLineEnd;\n },\n result: function() {\n var centroid = Z2 ? [X2 / Z2, Y2 / Z2]\n : Z1 ? [X1 / Z1, Y1 / Z1]\n : Z0 ? [X0 / Z0, Y0 / Z0]\n : [NaN, NaN];\n X0 = Y0 = Z0 =\n X1 = Y1 = Z1 =\n X2 = Y2 = Z2 = 0;\n return centroid;\n }\n};\n\nfunction centroidPoint(x, y) {\n X0 += x;\n Y0 += y;\n ++Z0;\n}\n\nfunction centroidLineStart() {\n centroidStream.point = centroidPointFirstLine;\n}\n\nfunction centroidPointFirstLine(x, y) {\n centroidStream.point = centroidPointLine;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidPointLine(x, y) {\n var dx = x - x0, dy = y - y0, z = sqrt(dx * dx + dy * dy);\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidLineEnd() {\n centroidStream.point = centroidPoint;\n}\n\nfunction centroidRingStart() {\n centroidStream.point = centroidPointFirstRing;\n}\n\nfunction centroidRingEnd() {\n centroidPointRing(x00, y00);\n}\n\nfunction centroidPointFirstRing(x, y) {\n centroidStream.point = centroidPointRing;\n centroidPoint(x00 = x0 = x, y00 = y0 = y);\n}\n\nfunction centroidPointRing(x, y) {\n var dx = x - x0,\n dy = y - y0,\n z = sqrt(dx * dx + dy * dy);\n\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n\n z = y0 * x - x0 * y;\n X2 += z * (x0 + x);\n Y2 += z * (y0 + y);\n Z2 += z * 3;\n centroidPoint(x0 = x, y0 = y);\n}\n\nexport default centroidStream;\n","import {tau} from \"../math.js\";\nimport noop from \"../noop.js\";\n\nexport default function PathContext(context) {\n this._context = context;\n}\n\nPathContext.prototype = {\n _radius: 4.5,\n pointRadius: function(_) {\n return this._radius = _, this;\n },\n polygonStart: function() {\n this._line = 0;\n },\n polygonEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line === 0) this._context.closePath();\n this._point = NaN;\n },\n point: function(x, y) {\n switch (this._point) {\n case 0: {\n this._context.moveTo(x, y);\n this._point = 1;\n break;\n }\n case 1: {\n this._context.lineTo(x, y);\n break;\n }\n default: {\n this._context.moveTo(x + this._radius, y);\n this._context.arc(x, y, this._radius, 0, tau);\n break;\n }\n }\n },\n result: noop\n};\n","import {Adder} from \"d3-array\";\nimport {sqrt} from \"../math.js\";\nimport noop from \"../noop.js\";\n\nvar lengthSum = new Adder(),\n lengthRing,\n x00,\n y00,\n x0,\n y0;\n\nvar lengthStream = {\n point: noop,\n lineStart: function() {\n lengthStream.point = lengthPointFirst;\n },\n lineEnd: function() {\n if (lengthRing) lengthPoint(x00, y00);\n lengthStream.point = noop;\n },\n polygonStart: function() {\n lengthRing = true;\n },\n polygonEnd: function() {\n lengthRing = null;\n },\n result: function() {\n var length = +lengthSum;\n lengthSum = new Adder();\n return length;\n }\n};\n\nfunction lengthPointFirst(x, y) {\n lengthStream.point = lengthPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction lengthPoint(x, y) {\n x0 -= x, y0 -= y;\n lengthSum.add(sqrt(x0 * x0 + y0 * y0));\n x0 = x, y0 = y;\n}\n\nexport default lengthStream;\n","export default function PathString() {\n this._string = [];\n}\n\nPathString.prototype = {\n _radius: 4.5,\n _circle: circle(4.5),\n pointRadius: function(_) {\n if ((_ = +_) !== this._radius) this._radius = _, this._circle = null;\n return this;\n },\n polygonStart: function() {\n this._line = 0;\n },\n polygonEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line === 0) this._string.push(\"Z\");\n this._point = NaN;\n },\n point: function(x, y) {\n switch (this._point) {\n case 0: {\n this._string.push(\"M\", x, \",\", y);\n this._point = 1;\n break;\n }\n case 1: {\n this._string.push(\"L\", x, \",\", y);\n break;\n }\n default: {\n if (this._circle == null) this._circle = circle(this._radius);\n this._string.push(\"M\", x, \",\", y, this._circle);\n break;\n }\n }\n },\n result: function() {\n if (this._string.length) {\n var result = this._string.join(\"\");\n this._string = [];\n return result;\n } else {\n return null;\n }\n }\n};\n\nfunction circle(radius) {\n return \"m0,\" + radius\n + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + -2 * radius\n + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + 2 * radius\n + \"z\";\n}\n","import identity from \"../identity.js\";\nimport stream from \"../stream.js\";\nimport pathArea from \"./area.js\";\nimport pathBounds from \"./bounds.js\";\nimport pathCentroid from \"./centroid.js\";\nimport PathContext from \"./context.js\";\nimport pathMeasure from \"./measure.js\";\nimport PathString from \"./string.js\";\n\nexport default function(projection, context) {\n var pointRadius = 4.5,\n projectionStream,\n contextStream;\n\n function path(object) {\n if (object) {\n if (typeof pointRadius === \"function\") contextStream.pointRadius(+pointRadius.apply(this, arguments));\n stream(object, projectionStream(contextStream));\n }\n return contextStream.result();\n }\n\n path.area = function(object) {\n stream(object, projectionStream(pathArea));\n return pathArea.result();\n };\n\n path.measure = function(object) {\n stream(object, projectionStream(pathMeasure));\n return pathMeasure.result();\n };\n\n path.bounds = function(object) {\n stream(object, projectionStream(pathBounds));\n return pathBounds.result();\n };\n\n path.centroid = function(object) {\n stream(object, projectionStream(pathCentroid));\n return pathCentroid.result();\n };\n\n path.projection = function(_) {\n return arguments.length ? (projectionStream = _ == null ? (projection = null, identity) : (projection = _).stream, path) : projection;\n };\n\n path.context = function(_) {\n if (!arguments.length) return context;\n contextStream = _ == null ? (context = null, new PathString) : new PathContext(context = _);\n if (typeof pointRadius !== \"function\") contextStream.pointRadius(pointRadius);\n return path;\n };\n\n path.pointRadius = function(_) {\n if (!arguments.length) return pointRadius;\n pointRadius = typeof _ === \"function\" ? _ : (contextStream.pointRadius(+_), +_);\n return path;\n };\n\n return path.projection(projection).context(context);\n}\n","export default function(methods) {\n return {\n stream: transformer(methods)\n };\n}\n\nexport function transformer(methods) {\n return function(stream) {\n var s = new TransformStream;\n for (var key in methods) s[key] = methods[key];\n s.stream = stream;\n return s;\n };\n}\n\nfunction TransformStream() {}\n\nTransformStream.prototype = {\n constructor: TransformStream,\n point: function(x, y) { this.stream.point(x, y); },\n sphere: function() { this.stream.sphere(); },\n lineStart: function() { this.stream.lineStart(); },\n lineEnd: function() { this.stream.lineEnd(); },\n polygonStart: function() { this.stream.polygonStart(); },\n polygonEnd: function() { this.stream.polygonEnd(); }\n};\n","var epsilon2 = 1e-12;\n\nfunction cosh(x) {\n return ((x = Math.exp(x)) + 1 / x) / 2;\n}\n\nfunction sinh(x) {\n return ((x = Math.exp(x)) - 1 / x) / 2;\n}\n\nfunction tanh(x) {\n return ((x = Math.exp(2 * x)) - 1) / (x + 1);\n}\n\nexport default (function zoomRho(rho, rho2, rho4) {\n\n // p0 = [ux0, uy0, w0]\n // p1 = [ux1, uy1, w1]\n function zoom(p0, p1) {\n var ux0 = p0[0], uy0 = p0[1], w0 = p0[2],\n ux1 = p1[0], uy1 = p1[1], w1 = p1[2],\n dx = ux1 - ux0,\n dy = uy1 - uy0,\n d2 = dx * dx + dy * dy,\n i,\n S;\n\n // Special case for u0 ≅ u1.\n if (d2 < epsilon2) {\n S = Math.log(w1 / w0) / rho;\n i = function(t) {\n return [\n ux0 + t * dx,\n uy0 + t * dy,\n w0 * Math.exp(rho * t * S)\n ];\n }\n }\n\n // General case.\n else {\n var d1 = Math.sqrt(d2),\n b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1),\n b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1),\n r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0),\n r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);\n S = (r1 - r0) / rho;\n i = function(t) {\n var s = t * S,\n coshr0 = cosh(r0),\n u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0));\n return [\n ux0 + u * dx,\n uy0 + u * dy,\n w0 * coshr0 / cosh(rho * s + r0)\n ];\n }\n }\n\n i.duration = S * 1000 * rho / Math.SQRT2;\n\n return i;\n }\n\n zoom.rho = function(_) {\n var _1 = Math.max(1e-3, +_), _2 = _1 * _1, _4 = _2 * _2;\n return zoomRho(_1, _2, _4);\n };\n\n return zoom;\n})(Math.SQRT2, 2, 4);\n","export function Transform(k, x, y) {\n this.k = k;\n this.x = x;\n this.y = y;\n}\n\nTransform.prototype = {\n constructor: Transform,\n scale: function(k) {\n return k === 1 ? this : new Transform(this.k * k, this.x, this.y);\n },\n translate: function(x, y) {\n return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);\n },\n apply: function(point) {\n return [point[0] * this.k + this.x, point[1] * this.k + this.y];\n },\n applyX: function(x) {\n return x * this.k + this.x;\n },\n applyY: function(y) {\n return y * this.k + this.y;\n },\n invert: function(location) {\n return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];\n },\n invertX: function(x) {\n return (x - this.x) / this.k;\n },\n invertY: function(y) {\n return (y - this.y) / this.k;\n },\n rescaleX: function(x) {\n return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));\n },\n rescaleY: function(y) {\n return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));\n },\n toString: function() {\n return \"translate(\" + this.x + \",\" + this.y + \") scale(\" + this.k + \")\";\n }\n};\n\nexport var identity = new Transform(1, 0, 0);\n\ntransform.prototype = Transform.prototype;\n\nexport default function transform(node) {\n while (!node.__zoom) if (!(node = node.parentNode)) return identity;\n return node.__zoom;\n}\n"],"sourceRoot":""}