From 2373624efd5728cdbdc2577e4fdc17435fcdecfc Mon Sep 17 00:00:00 2001
From: Roman Karavia <3082173+rkaravia@users.noreply.github.com>
Date: Mon, 15 Jun 2020 16:21:32 +0300
Subject: [PATCH] Initial commit
---
.gitignore | 1 +
README.md | 120 +
import-osm/00-static-data/.gitignore | 2 +
import-osm/01-list-countries/.gitignore | 1 +
.../01-list-countries/list-countries.sh | 16 +
import-osm/02-query-regions/.gitignore | 1 +
.../query-regions-by-country.js | 171 +
import-osm/02-query-regions/query-regions.js | 37 +
import-osm/02-query-regions/query-regions.sh | 13 +
import-osm/03-clip-regions/.gitignore | 1 +
import-osm/03-clip-regions/clip-regions.sh | 20 +
import-osm/04-reduce-regions/.gitignore | 1 +
.../reduce-regions-by-country.js | 43 +
.../04-reduce-regions/reduce-regions.js | 21 +
.../04-reduce-regions/reduce-regions.sh | 12 +
import-osm/05-split-by-region/.gitignore | 1 +
.../05-split-by-region/split-by-region.sh | 14 +
import-osm/06-simplify-regions/.gitignore | 1 +
.../06-simplify-regions/simplify-regions.sh | 18 +
import-osm/07-merge-regions/.gitignore | 1 +
import-osm/07-merge-regions/merge-regions.sh | 15 +
import-osm/08-vector-tiles/.gitignore | 1 +
import-osm/08-vector-tiles/vector-tiles.sh | 19 +
import-osm/09-natural-earth-json/.gitignore | 1 +
.../natural-earth-json.sh | 17 +
import-osm/10-natural-earth-tiles/.gitignore | 1 +
.../natural-earth-tiles.sh | 19 +
import-osm/11-join-tiles/.gitignore | 1 +
import-osm/11-join-tiles/join-tiles.sh | 40 +
.../11-join-tiles/not-in-natural-earth.js | 25 +
import-osm/import-osm.sh | 17 +
import-osm/preview-tiles.sh | 8 +
import-osm/preview-tiles/preview-tiles.html | 74 +
import-osm/preview-tiles/preview-tiles.js | 134 +
.../preview-tiles/tileserver-config.json | 7 +
import-osm/remove-outputs.sh | 19 +
package-lock.json | 5610 +++++++++++++++++
package.json | 17 +
screenshot_mapshaper.png | Bin 0 -> 289944 bytes
39 files changed, 6520 insertions(+)
create mode 100644 .gitignore
create mode 100644 README.md
create mode 100644 import-osm/00-static-data/.gitignore
create mode 100644 import-osm/01-list-countries/.gitignore
create mode 100755 import-osm/01-list-countries/list-countries.sh
create mode 100644 import-osm/02-query-regions/.gitignore
create mode 100644 import-osm/02-query-regions/query-regions-by-country.js
create mode 100644 import-osm/02-query-regions/query-regions.js
create mode 100755 import-osm/02-query-regions/query-regions.sh
create mode 100644 import-osm/03-clip-regions/.gitignore
create mode 100755 import-osm/03-clip-regions/clip-regions.sh
create mode 100644 import-osm/04-reduce-regions/.gitignore
create mode 100644 import-osm/04-reduce-regions/reduce-regions-by-country.js
create mode 100644 import-osm/04-reduce-regions/reduce-regions.js
create mode 100755 import-osm/04-reduce-regions/reduce-regions.sh
create mode 100644 import-osm/05-split-by-region/.gitignore
create mode 100755 import-osm/05-split-by-region/split-by-region.sh
create mode 100644 import-osm/06-simplify-regions/.gitignore
create mode 100755 import-osm/06-simplify-regions/simplify-regions.sh
create mode 100644 import-osm/07-merge-regions/.gitignore
create mode 100755 import-osm/07-merge-regions/merge-regions.sh
create mode 100644 import-osm/08-vector-tiles/.gitignore
create mode 100755 import-osm/08-vector-tiles/vector-tiles.sh
create mode 100644 import-osm/09-natural-earth-json/.gitignore
create mode 100755 import-osm/09-natural-earth-json/natural-earth-json.sh
create mode 100644 import-osm/10-natural-earth-tiles/.gitignore
create mode 100755 import-osm/10-natural-earth-tiles/natural-earth-tiles.sh
create mode 100644 import-osm/11-join-tiles/.gitignore
create mode 100755 import-osm/11-join-tiles/join-tiles.sh
create mode 100644 import-osm/11-join-tiles/not-in-natural-earth.js
create mode 100755 import-osm/import-osm.sh
create mode 100755 import-osm/preview-tiles.sh
create mode 100644 import-osm/preview-tiles/preview-tiles.html
create mode 100644 import-osm/preview-tiles/preview-tiles.js
create mode 100644 import-osm/preview-tiles/tileserver-config.json
create mode 100755 import-osm/remove-outputs.sh
create mode 100644 package-lock.json
create mode 100644 package.json
create mode 100644 screenshot_mapshaper.png
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..07e6e47
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/node_modules
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..47f5172
--- /dev/null
+++ b/README.md
@@ -0,0 +1,120 @@
+# Import regions from OpenStreetMap
+
+The total process takes about 1 hour.
+
+## Prerequisites
+
+### Land polygons
+
+Download "WGS 84, Large polygons not split" from osmdata, unpack and store the shapefile in
+
+- `00-static-data/land-polygons-complete-4326`
+
+Direct link: https://osmdata.openstreetmap.de/download/land-polygons-complete-4326.zip
+
+Landing page: https://osmdata.openstreetmap.de/data/land-polygons.html
+
+You may want to open the file in mapshaper and check that the polygons do not self-intersect, because clipping with self-intersecting polygons will corrupt data. For example, clipping with these polygons removes most of Japan from the output:
+
+
+
+You can also use
+[this snapshot of land polygons](https://nzz-q-assets-stage.s3.amazonaws.com/q-locator-map/land-polygons-complete-4326_2019-11-18.zip)
+with correct polygons.
+
+### Natural earth
+
+Natural earth data (1:10m Cultural Vectors) is used for zoom levels 0 to 4 for compatibility with OpenMapTiles.
+
+Download "countries" and "states and provinces" and unpack and store the shapefiles in
+
+- `00-static-data/ne_10m_admin_0_countries`
+- `00-static-data/ne_10m_admin_1_states_provinces`
+
+Direct links:
+
+- https://naciscdn.org/naturalearth/10m/cultural/ne_10m_admin_0_countries.zip
+- https://naciscdn.org/naturalearth/10m/cultural/ne_10m_admin_1_states_provinces.zip
+
+Landing page: https://www.naturalearthdata.com/downloads/10m-cultural-vectors/
+
+## Steps
+
+Run this script to execute all steps listed below:
+
+```bash
+import-osm/import-osm.sh
+```
+
+#### 1. Query list of countries (Overpass)
+
+Input: Nothing.
+Output: List of countries with ISO3166-1 codes.
+
+#### 2. Query regions by country (Overpass)
+
+Input: List of countries with ISO3166-1 codes.
+Output: For every country, one GeoJSON file with country and subdivision polygons.
+
+Also store raw data only download if raw data is not available.
+
+#### 3. Clip with land polygons
+
+Input: For every country, one GeoJSON file with country and subdivision polygons.
+Output: For every country, one GeoJSON file with country and subdivision polygons.
+
+#### 4. Reduce regions (remove small disconnected parts, e.g. remove French Guiana from France)
+
+Input: For every country, one GeoJSON file with country and subdivision polygons.
+Output: For every country, one GeoJSON file with country and subdivision polygons.
+
+#### 5. Split by region
+
+Input: For every country, one GeoJSON file with country and subdivision polygons.
+Output: For every region, one GeoJSON file.
+
+#### 6. Simplify regions
+
+Input: For every region, one GeoJSON file.
+Output: For every region, one GeoJSON file.
+
+#### 7. Merge regions
+
+Input: For every country, one GeoJSON file with country and subdivision polygons.
+Output: One GeoJSON file with all countries, one GeoJSON file with all subdivisions.
+
+#### 8. Generate vector tiles
+
+Input: One GeoJSON file with all countries, one GeoJSON file with all subdivisions.
+Output: mbtiles file with 2 layers (countries, subdivisions).
+
+#### 9. Convert natural earth data to GeoJSON
+
+Input: Shapefiles with countries and states/provinces.
+Output: GeoJSON files with countries and states/provinces.
+
+#### 10. Generate vector tiles (natural earth)
+
+Input: GeoJSON files with countries and states/provinces.
+Output: mbtiles file with 2 layers (countries, subdivisions).
+
+#### 11. Join tiles
+
+Input: mbtiles files from steps 8/10.
+Output: mbtiles file with 2 layers (countries, subdivisions), using natural earth data for zoom levels 0-4 and Openstreetmap data for zoom levels 5-10.
+
+### Clean up
+
+Run this to remove all `output` folders:
+
+```bash
+import-osm/remove-outputs.sh
+```
+
+# Preview vector tiles
+
+Run this script to preview the vector tiles generated in step 11.
+
+```bash
+import-osm/preview-tiles.sh
+```
diff --git a/import-osm/00-static-data/.gitignore b/import-osm/00-static-data/.gitignore
new file mode 100644
index 0000000..d6b7ef3
--- /dev/null
+++ b/import-osm/00-static-data/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/import-osm/01-list-countries/.gitignore b/import-osm/01-list-countries/.gitignore
new file mode 100644
index 0000000..1f57b97
--- /dev/null
+++ b/import-osm/01-list-countries/.gitignore
@@ -0,0 +1 @@
+/output
diff --git a/import-osm/01-list-countries/list-countries.sh b/import-osm/01-list-countries/list-countries.sh
new file mode 100755
index 0000000..1827dfa
--- /dev/null
+++ b/import-osm/01-list-countries/list-countries.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+set -o errexit
+set -o nounset
+
+step_root=$(dirname "$0")
+output_dir="$step_root/output"
+
+mkdir -p "$output_dir"
+
+curl https://overpass-api.de/api/interpreter \
+ --compressed \
+ --data 'data=[out:csv(::"id", "ISO3166-1", wikidata, name, "name:de", "name:en")]; relation[boundary=administrative][admin_level=2]["ISO3166-1"]; out;' \
+ | npx tsv2json \
+ | npx prettier \
+ --parser json \
+ > "$output_dir/countries.json"
diff --git a/import-osm/02-query-regions/.gitignore b/import-osm/02-query-regions/.gitignore
new file mode 100644
index 0000000..1f57b97
--- /dev/null
+++ b/import-osm/02-query-regions/.gitignore
@@ -0,0 +1 @@
+/output
diff --git a/import-osm/02-query-regions/query-regions-by-country.js b/import-osm/02-query-regions/query-regions-by-country.js
new file mode 100644
index 0000000..cdb761a
--- /dev/null
+++ b/import-osm/02-query-regions/query-regions-by-country.js
@@ -0,0 +1,171 @@
+const fs = require("fs");
+const { geoBounds } = require("d3-geo");
+const queryOverpassWithCallback = require("query-overpass");
+const turf = require("@turf/turf");
+
+async function queryRegionsByCountry(countryCode, overpassResult) {
+ const query = `
+ [out:json];
+
+ (
+ relation
+ [boundary=administrative]
+ ["ISO3166-1"="${countryCode}"];
+
+ relation
+ [boundary=administrative]
+ ["ISO3166-2"~"^${countryCode}"];
+ );
+
+ out; >; out skel;`;
+ const keepTags = [
+ "ISO3166-1",
+ "ISO3166-2",
+ "admin_level",
+ "wikidata",
+ "name",
+ "name:de",
+ "name:en"
+ ];
+
+ if (overpassResult) {
+ console.log("Reuse existing data");
+ } else {
+ overpassResult = await queryOverpass(query);
+ }
+
+ const geojson = await parseOverpassResult(
+ overpassResult,
+ keepTags,
+ countryCode
+ );
+
+ return {
+ geojson,
+ rawData: overpassResult
+ };
+}
+
+function queryOverpass(query) {
+ return new Promise(resolve => {
+ const runQuery = () => {
+ queryOverpassWithCallback(query, (error, data) => {
+ if (error) {
+ if (error.statusCode === 429) {
+ console.log("Too many requests, will retry in 30 seconds...");
+ sleep(30).then(runQuery);
+ } else if (error.statusCode === 504) {
+ console.log("Gateway timeout, will retry in 30 seconds...");
+ sleep(30).then(runQuery);
+ } else {
+ throw error;
+ }
+ } else {
+ resolve(data);
+ }
+ });
+ };
+ runQuery();
+ });
+}
+
+function sleep(seconds) {
+ return new Promise(resolve => setTimeout(resolve, seconds * 1000));
+}
+
+async function parseOverpassResult(overpassResult, keepTags, countryCode) {
+ const geojson = turf.clone(overpassResult);
+
+ // Add bounding box
+ geojson.bbox = getBbox(geojson);
+
+ // Keep only Polygon and MultiPolygon features
+ geojson.features = geojson.features.filter(feature => {
+ const { type } = feature.geometry;
+ return type === "Polygon" || type === "MultiPolygon";
+ });
+
+ geojson.features.forEach(feature => {
+ // Keep only a subset of tags
+ const { tags } = feature.properties;
+ const properties = {};
+ keepTags.forEach(keepTag => {
+ if (tags[keepTag] === undefined) {
+ properties[keepTag] = null;
+ } else {
+ properties[keepTag] = tags[keepTag];
+ }
+ });
+
+ // Add OSM relation id as property and remove feature id
+ properties.osmRelationId = parseInt(feature.id.split("/")[1]);
+ delete feature.id;
+
+ // Set type to country / subdivision
+ // ---
+ // Some regions (usually "dependent territories") are both countries and subdivisions and also
+ // have a separate ISO3166-1 country code, in addition to the ISO3166-2 subdivision code.
+ // For example American Samoa has these codes:
+ // ISO3166-1: AS, ISO3166-2: US-AS
+ // These regions will be labeled as "subdivision" here.
+ // See https://en.wikipedia.org/wiki/ISO_3166-2#Subdivisions_included_in_ISO_3166-1
+ if (properties["ISO3166-1"] === countryCode) {
+ properties.type = "country";
+ } else if (properties["ISO3166-2"]) {
+ properties.type = "subdivision";
+ properties["ISO3166-1"] = countryCode;
+ }
+
+ feature.properties = properties;
+ });
+
+ // Remove duplicate wikidata entries
+ const featuresByWikidata = {};
+ geojson.features.forEach(feature => {
+ const { wikidata } = feature.properties;
+ if (wikidata) {
+ if (!featuresByWikidata[wikidata]) {
+ featuresByWikidata[wikidata] = [];
+ }
+ featuresByWikidata[wikidata].push(feature);
+ } else {
+ console.warn(
+ "Discarded feature without wikidata tag",
+ JSON.stringify(feature.properties)
+ );
+ }
+ });
+ geojson.features = [];
+ Object.values(featuresByWikidata).forEach(features => {
+ features.sort(
+ (a, b) => a.properties.admin_level - b.properties.admin_level
+ );
+ geojson.features.push(features[0]);
+ if (features.length > 1) {
+ console.log(
+ `Discarded ${features.length - 1} features with duplicate wikidata tags`
+ );
+ }
+ });
+
+ return geojson;
+}
+
+function getBbox(geojson) {
+ // D3 required the opposite of the standard (RFC 7946) GeoJSON winding order:
+ // The exterior ring for polygons must be clockwise.
+ const geojsonClockwise = turf.rewind(geojson, {
+ reverse: true
+ });
+ // D3 instead of turf is used to get a correct bounding box for countries that
+ // cross the antimeridian (180° east/west), for example Russia, United States
+ return geoBounds(geojsonClockwise).flat();
+}
+
+if (require.main === module) {
+ queryRegionsByCountry("CH").then(({ geojson }) => {
+ fs.writeFileSync("CH-regions.json", JSON.stringify(geojson));
+ });
+}
+
+module.exports = queryRegionsByCountry;
diff --git a/import-osm/02-query-regions/query-regions.js b/import-osm/02-query-regions/query-regions.js
new file mode 100644
index 0000000..c55b398
--- /dev/null
+++ b/import-osm/02-query-regions/query-regions.js
@@ -0,0 +1,37 @@
+const queryRegionsByCountry = require("./query-regions-by-country");
+const fs = require("fs");
+const path = require("path");
+
+async function queryRegions(countriesFile, outputDir) {
+ const countries = JSON.parse(fs.readFileSync(countriesFile));
+ const allRegions = new Set();
+ for (const country of countries) {
+ const countryCode = country["ISO3166-1"];
+ console.log(`Querying regions for country ${countryCode}...`);
+
+ const rawDataPath = path.join(outputDir, "raw", `${countryCode}.json`);
+ let oldRawData;
+ if (fs.existsSync(rawDataPath)) {
+ oldRawData = JSON.parse(fs.readFileSync(rawDataPath));
+ }
+
+ const { geojson, rawData } = await queryRegionsByCountry(
+ countryCode,
+ oldRawData
+ );
+ if (!oldRawData) {
+ fs.writeFileSync(rawDataPath, JSON.stringify(rawData));
+ }
+ const outputFile = path.join(outputDir, `${countryCode}.json`);
+ fs.writeFileSync(outputFile, JSON.stringify(geojson));
+
+ geojson.features.forEach(({ properties: { wikidata } }) => {
+ allRegions.add(wikidata);
+ });
+ }
+ const listFile = path.join(outputDir, `list/list.json`);
+ fs.writeFileSync(listFile, JSON.stringify(Array.from(allRegions).sort()));
+}
+
+const [countriesFile, outputDir] = process.argv.slice(2);
+queryRegions(countriesFile, outputDir);
diff --git a/import-osm/02-query-regions/query-regions.sh b/import-osm/02-query-regions/query-regions.sh
new file mode 100755
index 0000000..37fba92
--- /dev/null
+++ b/import-osm/02-query-regions/query-regions.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+set -o errexit
+set -o nounset
+
+step_root=$(dirname "$0")
+countries_file="$step_root/../01-list-countries/output/countries.json"
+output_dir="$step_root/output"
+
+mkdir -p "$output_dir"
+mkdir -p "$output_dir/raw"
+mkdir -p "$output_dir/list"
+
+node "$step_root/query-regions.js" "$countries_file" "$output_dir"
diff --git a/import-osm/03-clip-regions/.gitignore b/import-osm/03-clip-regions/.gitignore
new file mode 100644
index 0000000..1f57b97
--- /dev/null
+++ b/import-osm/03-clip-regions/.gitignore
@@ -0,0 +1 @@
+/output
diff --git a/import-osm/03-clip-regions/clip-regions.sh b/import-osm/03-clip-regions/clip-regions.sh
new file mode 100755
index 0000000..439fb44
--- /dev/null
+++ b/import-osm/03-clip-regions/clip-regions.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+set -o errexit
+set -o nounset
+
+step_root=$(dirname "$0")
+input_dir="$step_root/../02-query-regions/output"
+output_dir="$step_root/output"
+
+land_polygons="$step_root/../00-static-data/land-polygons-complete-4326/land_polygons.shp"
+
+mkdir -p "$output_dir"
+
+# Split by admin_level before clipping to work around a bug (?) with overlapping geometries.
+npx mapshaper \
+ -i "$input_dir"/*.json combine-files no-topology -merge-layers \
+ -split admin_level \
+ -clip "$land_polygons" \
+ -merge-layers \
+ -split ISO3166-1 \
+ -o format=geojson "$output_dir"
diff --git a/import-osm/04-reduce-regions/.gitignore b/import-osm/04-reduce-regions/.gitignore
new file mode 100644
index 0000000..1f57b97
--- /dev/null
+++ b/import-osm/04-reduce-regions/.gitignore
@@ -0,0 +1 @@
+/output
diff --git a/import-osm/04-reduce-regions/reduce-regions-by-country.js b/import-osm/04-reduce-regions/reduce-regions-by-country.js
new file mode 100644
index 0000000..42ba1b8
--- /dev/null
+++ b/import-osm/04-reduce-regions/reduce-regions-by-country.js
@@ -0,0 +1,43 @@
+const { geoArea, geoCentroid, geoDistance } = require("d3-geo");
+const turf = require("@turf/turf");
+
+function reduceRegions(features) {
+ features.forEach(feature => {
+ const { type, coordinates } = feature.geometry;
+ if (type === "MultiPolygon") {
+ const polygons = coordinates.map(polygonCoordinates => {
+ return { type: "Polygon", coordinates: polygonCoordinates };
+ });
+ const polys = polygons.map(polygon => {
+ const clockwisePolygon = turf.rewind(polygon, {
+ reverse: true
+ });
+ const area = geoArea(clockwisePolygon);
+ const centroid = geoCentroid(clockwisePolygon);
+ return {
+ area,
+ centroid,
+ polygon
+ };
+ });
+
+ polys.sort((a, b) => b.area - a.area);
+ const maxArea = polys[0].area;
+ const maxDistance = Math.sqrt(maxArea);
+ const mainCentroid = polys[0].centroid;
+
+ const filteredPolygons = polys.filter(({ area, centroid }) => {
+ const distanceFromMain = geoDistance(centroid, mainCentroid);
+ const relativeDistance = distanceFromMain / maxDistance;
+ const relativeSize = area / maxArea;
+ return 100 * relativeSize > relativeDistance ** 2;
+ });
+
+ feature.geometry.coordinates = filteredPolygons.map(
+ ({ polygon }) => polygon.coordinates
+ );
+ }
+ });
+}
+
+module.exports = reduceRegions;
diff --git a/import-osm/04-reduce-regions/reduce-regions.js b/import-osm/04-reduce-regions/reduce-regions.js
new file mode 100644
index 0000000..110d54f
--- /dev/null
+++ b/import-osm/04-reduce-regions/reduce-regions.js
@@ -0,0 +1,21 @@
+const reduceRegionsByCountry = require("./reduce-regions-by-country.js");
+const fs = require("fs");
+const path = require("path");
+
+function reduceRegions(countriesFile, inputDir, outputDir) {
+ const countries = JSON.parse(fs.readFileSync(countriesFile));
+ for (const country of countries) {
+ const countryCode = country["ISO3166-1"];
+ console.log(`Reducing regions for country ${countryCode}...`);
+
+ const inputFile = path.join(inputDir, `${countryCode}.json`);
+ const geojson = JSON.parse(fs.readFileSync(inputFile));
+ reduceRegionsByCountry(geojson.features);
+
+ const outputFile = path.join(outputDir, `${countryCode}.json`);
+ fs.writeFileSync(outputFile, JSON.stringify(geojson));
+ }
+}
+
+const [countriesFile, inputDir, outputDir] = process.argv.slice(2);
+reduceRegions(countriesFile, inputDir, outputDir);
diff --git a/import-osm/04-reduce-regions/reduce-regions.sh b/import-osm/04-reduce-regions/reduce-regions.sh
new file mode 100755
index 0000000..e807ad6
--- /dev/null
+++ b/import-osm/04-reduce-regions/reduce-regions.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+set -o errexit
+set -o nounset
+
+step_root=$(dirname "$0")
+countries_file="$step_root/../01-list-countries/output/countries.json"
+input_dir="$step_root/../03-clip-regions/output"
+output_dir="$step_root/output"
+
+mkdir -p "$output_dir"
+
+node "$step_root/reduce-regions.js" "$countries_file" "$input_dir" "$output_dir"
diff --git a/import-osm/05-split-by-region/.gitignore b/import-osm/05-split-by-region/.gitignore
new file mode 100644
index 0000000..1f57b97
--- /dev/null
+++ b/import-osm/05-split-by-region/.gitignore
@@ -0,0 +1 @@
+/output
diff --git a/import-osm/05-split-by-region/split-by-region.sh b/import-osm/05-split-by-region/split-by-region.sh
new file mode 100755
index 0000000..74368b9
--- /dev/null
+++ b/import-osm/05-split-by-region/split-by-region.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+set -o errexit
+set -o nounset
+
+step_root=$(dirname "$0")
+input_dir="$step_root/../04-reduce-regions/output"
+output_dir="$step_root/output"
+
+mkdir -p "$output_dir"
+
+npx mapshaper \
+ -i "$input_dir"/*.json no-topology name= \
+ -split wikidata \
+ -o format=geojson "$output_dir"
diff --git a/import-osm/06-simplify-regions/.gitignore b/import-osm/06-simplify-regions/.gitignore
new file mode 100644
index 0000000..1f57b97
--- /dev/null
+++ b/import-osm/06-simplify-regions/.gitignore
@@ -0,0 +1 @@
+/output
diff --git a/import-osm/06-simplify-regions/simplify-regions.sh b/import-osm/06-simplify-regions/simplify-regions.sh
new file mode 100755
index 0000000..d7d5cde
--- /dev/null
+++ b/import-osm/06-simplify-regions/simplify-regions.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+set -o errexit
+set -o nounset
+
+step_root=$(dirname "$0")
+input_dir="$step_root/../05-split-by-region/output"
+output_dir="$step_root/output"
+
+mkdir -p "$output_dir"
+
+for input_file in "$input_dir"/*.json; do
+ filename=$(basename "$input_file")
+ output_file="$output_dir"/"$filename"
+ npx mapshaper \
+ -i "$input_file" \
+ -simplify resolution=256x256 \
+ -o format=geojson "$output_file"
+done
diff --git a/import-osm/07-merge-regions/.gitignore b/import-osm/07-merge-regions/.gitignore
new file mode 100644
index 0000000..1f57b97
--- /dev/null
+++ b/import-osm/07-merge-regions/.gitignore
@@ -0,0 +1 @@
+/output
diff --git a/import-osm/07-merge-regions/merge-regions.sh b/import-osm/07-merge-regions/merge-regions.sh
new file mode 100755
index 0000000..263ca0c
--- /dev/null
+++ b/import-osm/07-merge-regions/merge-regions.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+set -o errexit
+set -o nounset
+
+step_root=$(dirname "$0")
+input_dir="$step_root/../03-clip-regions/output"
+output_dir="$step_root/output"
+
+mkdir -p "$output_dir"
+
+npx mapshaper \
+ -i "$input_dir"/*.json combine-files no-topology -merge-layers \
+ -split type \
+ -o format=geojson target=country "$output_dir"/countries-clipped.json \
+ -o format=geojson target=subdivision "$output_dir"/subdivisions-clipped.json
diff --git a/import-osm/08-vector-tiles/.gitignore b/import-osm/08-vector-tiles/.gitignore
new file mode 100644
index 0000000..1f57b97
--- /dev/null
+++ b/import-osm/08-vector-tiles/.gitignore
@@ -0,0 +1 @@
+/output
diff --git a/import-osm/08-vector-tiles/vector-tiles.sh b/import-osm/08-vector-tiles/vector-tiles.sh
new file mode 100755
index 0000000..2e93015
--- /dev/null
+++ b/import-osm/08-vector-tiles/vector-tiles.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+set -o errexit
+set -o nounset
+
+step_root=$(dirname "$0")
+input_dir="$step_root/../07-merge-regions/output"
+output_dir="$step_root/output"
+
+mkdir -p "$output_dir"
+
+tippecanoe \
+ --minimum-zoom=0 \
+ --maximum-zoom=10 \
+ --named-layer="{\"file\": \"$input_dir/countries-clipped.json\", \"layer\": \"countries\"}" \
+ --named-layer="{\"file\": \"$input_dir/subdivisions-clipped.json\", \"layer\": \"subdivisions\"}" \
+ --include=wikidata \
+ --simplification=4 \
+ --simplify-only-low-zooms \
+ --output "$output_dir"/regions.mbtiles
diff --git a/import-osm/09-natural-earth-json/.gitignore b/import-osm/09-natural-earth-json/.gitignore
new file mode 100644
index 0000000..1f57b97
--- /dev/null
+++ b/import-osm/09-natural-earth-json/.gitignore
@@ -0,0 +1 @@
+/output
diff --git a/import-osm/09-natural-earth-json/natural-earth-json.sh b/import-osm/09-natural-earth-json/natural-earth-json.sh
new file mode 100755
index 0000000..62a6fe4
--- /dev/null
+++ b/import-osm/09-natural-earth-json/natural-earth-json.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+set -o errexit
+set -o nounset
+
+step_root=$(dirname "$0")
+input_dir="$step_root/../00-static-data"
+output_dir="$step_root/output"
+
+ne_countries="$input_dir/ne_10m_admin_0_countries/ne_10m_admin_0_countries.shp"
+ne_states_provinces="$input_dir/ne_10m_admin_1_states_provinces/ne_10m_admin_1_states_provinces.shp"
+
+mkdir -p "$output_dir"
+
+npx mapshaper \
+ -i "$ne_countries" "$ne_states_provinces" \
+ -each 'this.properties = { wikidata: this.properties.WIKIDATAID || this.properties.wikidataid }' \
+ -o format=geojson precision=0.0000001 "$output_dir"
diff --git a/import-osm/10-natural-earth-tiles/.gitignore b/import-osm/10-natural-earth-tiles/.gitignore
new file mode 100644
index 0000000..1f57b97
--- /dev/null
+++ b/import-osm/10-natural-earth-tiles/.gitignore
@@ -0,0 +1 @@
+/output
diff --git a/import-osm/10-natural-earth-tiles/natural-earth-tiles.sh b/import-osm/10-natural-earth-tiles/natural-earth-tiles.sh
new file mode 100755
index 0000000..92457da
--- /dev/null
+++ b/import-osm/10-natural-earth-tiles/natural-earth-tiles.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+set -o errexit
+set -o nounset
+
+step_root=$(dirname "$0")
+input_dir="$step_root/../09-natural-earth-json/output"
+output_dir="$step_root/output"
+
+mkdir -p "$output_dir"
+
+tippecanoe \
+ --minimum-zoom=0 \
+ --maximum-zoom=4 \
+ --named-layer="{\"file\": \"$input_dir/ne_10m_admin_0_countries.json\", \"layer\": \"countries\"}" \
+ --named-layer="{\"file\": \"$input_dir/ne_10m_admin_1_states_provinces.json\", \"layer\": \"subdivisions\"}" \
+ --include=wikidata \
+ --simplification=4 \
+ --simplify-only-low-zooms \
+ --output "$output_dir"/regions.mbtiles
diff --git a/import-osm/11-join-tiles/.gitignore b/import-osm/11-join-tiles/.gitignore
new file mode 100644
index 0000000..1f57b97
--- /dev/null
+++ b/import-osm/11-join-tiles/.gitignore
@@ -0,0 +1 @@
+/output
diff --git a/import-osm/11-join-tiles/join-tiles.sh b/import-osm/11-join-tiles/join-tiles.sh
new file mode 100755
index 0000000..f44dd81
--- /dev/null
+++ b/import-osm/11-join-tiles/join-tiles.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+set -o errexit
+set -o nounset
+
+step_root=$(dirname "$0")
+input_dir_osm_tiles="$step_root/../08-vector-tiles/output"
+input_dir_ne_json="$step_root/../09-natural-earth-json/output"
+input_dir_ne_tiles="$step_root/../10-natural-earth-tiles/output"
+output_dir="$step_root/output"
+
+mkdir -p "$output_dir"/parts
+
+filter_file="$output_dir"/not-in-natural-earth.json
+
+node "$step_root/not-in-natural-earth.js" "$input_dir_ne_json" "$filter_file"
+
+tile-join \
+ --minimum-zoom=0 \
+ --maximum-zoom=4 \
+ --output "$output_dir"/parts/regions-natural-earth_0-4.mbtiles \
+ "$input_dir_ne_tiles"/regions.mbtiles
+
+tile-join \
+ --minimum-zoom=0 \
+ --maximum-zoom=4 \
+ --feature-filter-file "$filter_file" \
+ --output "$output_dir"/parts/regions-osm_0-4.mbtiles \
+ "$input_dir_osm_tiles"/regions.mbtiles
+
+tile-join \
+ --minimum-zoom=5 \
+ --maximum-zoom=10 \
+ --output "$output_dir"/parts/regions-osm_5-10.mbtiles \
+ "$input_dir_osm_tiles"/regions.mbtiles
+
+tile-join \
+ --output "$output_dir"/regions.mbtiles \
+ "$output_dir"/parts/regions-natural-earth_0-4.mbtiles \
+ "$output_dir"/parts/regions-osm_0-4.mbtiles \
+ "$output_dir"/parts/regions-osm_5-10.mbtiles
diff --git a/import-osm/11-join-tiles/not-in-natural-earth.js b/import-osm/11-join-tiles/not-in-natural-earth.js
new file mode 100644
index 0000000..dc82ec4
--- /dev/null
+++ b/import-osm/11-join-tiles/not-in-natural-earth.js
@@ -0,0 +1,25 @@
+const fs = require("fs");
+const path = require("path");
+
+function notInNaturalEarth(inputDir, filterFile) {
+ const filenames = [
+ "ne_10m_admin_0_countries.json",
+ "ne_10m_admin_1_states_provinces.json"
+ ];
+ const naturalEarthRegions = filenames
+ .map(filename => {
+ const inputFile = path.join(inputDir, filename);
+ const regions = JSON.parse(fs.readFileSync(inputFile));
+ return regions.features
+ .map(({ properties: { wikidata } }) => wikidata)
+ .filter(wikidata => wikidata !== "");
+ })
+ .flat()
+ .sort();
+ // Mapbox style specification set exclusion filter used by tile-join
+ const filter = { "*": ["!in", "wikidata", ...naturalEarthRegions] };
+ fs.writeFileSync(filterFile, JSON.stringify(filter));
+}
+
+const [inputDir, filterFile] = process.argv.slice(2);
+notInNaturalEarth(inputDir, filterFile);
diff --git a/import-osm/import-osm.sh b/import-osm/import-osm.sh
new file mode 100755
index 0000000..17957d6
--- /dev/null
+++ b/import-osm/import-osm.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+set -o errexit
+set -o nounset
+
+import_osm_root=$(dirname "$0")
+
+"$import_osm_root"/01-list-countries/list-countries.sh
+"$import_osm_root"/02-query-regions/query-regions.sh
+"$import_osm_root"/03-clip-regions/clip-regions.sh
+"$import_osm_root"/04-reduce-regions/reduce-regions.sh
+"$import_osm_root"/05-split-by-region/split-by-region.sh
+"$import_osm_root"/06-simplify-regions/simplify-regions.sh
+"$import_osm_root"/07-merge-regions/merge-regions.sh
+"$import_osm_root"/08-vector-tiles/vector-tiles.sh
+"$import_osm_root"/09-natural-earth-json/natural-earth-json.sh
+"$import_osm_root"/10-natural-earth-tiles/natural-earth-tiles.sh
+"$import_osm_root"/11-join-tiles/join-tiles.sh
diff --git a/import-osm/preview-tiles.sh b/import-osm/preview-tiles.sh
new file mode 100755
index 0000000..f89b3fd
--- /dev/null
+++ b/import-osm/preview-tiles.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+set -o errexit
+set -o nounset
+
+import_osm_root=$(dirname "$0")
+
+npx opener "$import_osm_root"/preview-tiles/preview-tiles.html
+npx tileserver-gl-light --config "$import_osm_root"/preview-tiles/tileserver-config.json
diff --git a/import-osm/preview-tiles/preview-tiles.html b/import-osm/preview-tiles/preview-tiles.html
new file mode 100644
index 0000000..bb13096
--- /dev/null
+++ b/import-osm/preview-tiles/preview-tiles.html
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/import-osm/preview-tiles/preview-tiles.js b/import-osm/preview-tiles/preview-tiles.js
new file mode 100644
index 0000000..e0cb979
--- /dev/null
+++ b/import-osm/preview-tiles/preview-tiles.js
@@ -0,0 +1,134 @@
+const map = new mapboxgl.Map({
+ container: document.getElementById("map"),
+ hash: true,
+ style:
+ "https://api.maptiler.com/maps/positron/style.json?key=qdSqvQdaTpTPAsu0YByB",
+});
+
+map.on("load", () => {
+ // Add regions as source
+ map.addSource("regions", {
+ maxzoom: 10,
+ promoteId: "wikidata",
+ type: "vector",
+ tiles: ["http://localhost:8080/data/regions/{z}/{x}/{y}.pbf"],
+ });
+
+ ["countries", "subdivisions"].forEach((regionType, i) => {
+ const visibility = ["visible", "none"][i];
+
+ // Fill polygons blue, with highlight on mouseover
+ map.addLayer({
+ id: `${regionType}-area`,
+ type: "fill",
+ source: "regions",
+ "source-layer": regionType,
+ paint: {
+ "fill-color": [
+ "case",
+ ["boolean", ["feature-state", "mouseover"], false],
+ "#fad250",
+ "steelblue",
+ ],
+ "fill-opacity": [
+ "case",
+ ["boolean", ["feature-state", "mouseover"], false],
+ 0.4,
+ 0.1,
+ ],
+ },
+ layout: { visibility },
+ });
+
+ // Add blue outline
+ map.addLayer({
+ id: `${regionType}-outline`,
+ type: "line",
+ source: "regions",
+ "source-layer": regionType,
+ paint: {
+ "line-width": 1,
+ "line-color": "steelblue",
+ },
+ layout: { visibility },
+ });
+
+ // Show attributes on mouseover
+ const popup = new mapboxgl.Popup({
+ closeButton: false,
+ closeOnClick: false,
+ });
+
+ let oldFeatures = [];
+
+ map.on("mousemove", `${regionType}-area`, ({ features, lngLat }) => {
+ if (features.length) {
+ map.getCanvas().style.cursor = "pointer";
+
+ // Update highlighting of features
+ setMouseoverState(oldFeatures, false);
+ setMouseoverState(features, true);
+ oldFeatures = features;
+
+ // Show popup at mouse location
+ const wikidataIds = features.map(
+ ({ properties: { wikidata } }) => wikidata
+ );
+ popup
+ .setLngLat(lngLat)
+ .setHTML(`${wikidataIds.join(", ")}
`)
+ .addTo(map);
+ }
+ });
+
+ map.on("mouseleave", `${regionType}-area`, ({ features }) => {
+ map.getCanvas().style.cursor = "";
+
+ // Remove highlighting from features
+ setMouseoverState(oldFeatures, false);
+
+ popup.remove();
+ });
+ });
+
+ // Adapted from https://docs.mapbox.com/mapbox-gl-js/example/toggle-layers/
+ const toggleableLayers = {
+ countries: "Countries",
+ subdivisions: "Subdivisions",
+ };
+ Object.entries(toggleableLayers).forEach(([id, name]) => {
+ const link = document.createElement("a");
+ link.href = "#";
+ link.id = id;
+ link.textContent = name;
+ if (map.getLayoutProperty(`${id}-area`, "visibility") !== "none") {
+ link.className = "active";
+ }
+
+ link.onclick = function (event) {
+ event.preventDefault();
+ event.stopPropagation();
+
+ const visibility = map.getLayoutProperty(`${this.id}-area`, "visibility");
+
+ if (visibility === "none") {
+ this.className = "active";
+ map.setLayoutProperty(`${this.id}-area`, "visibility", "visible");
+ map.setLayoutProperty(`${this.id}-outline`, "visibility", "visible");
+ } else {
+ map.setLayoutProperty(`${this.id}-area`, "visibility", "none");
+ map.setLayoutProperty(`${this.id}-outline`, "visibility", "none");
+ this.className = "";
+ }
+ };
+
+ const layers = document.getElementById("menu");
+ layers.appendChild(link);
+ });
+});
+
+function setMouseoverState(features, state) {
+ features.forEach((feature) => {
+ map.setFeatureState(feature, { mouseover: state });
+ });
+}
diff --git a/import-osm/preview-tiles/tileserver-config.json b/import-osm/preview-tiles/tileserver-config.json
new file mode 100644
index 0000000..0402ad6
--- /dev/null
+++ b/import-osm/preview-tiles/tileserver-config.json
@@ -0,0 +1,7 @@
+{
+ "data": {
+ "regions": {
+ "mbtiles": "../11-join-tiles/output/regions.mbtiles"
+ }
+ }
+}
diff --git a/import-osm/remove-outputs.sh b/import-osm/remove-outputs.sh
new file mode 100755
index 0000000..37b6067
--- /dev/null
+++ b/import-osm/remove-outputs.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+set -o errexit
+set -o nounset
+
+import_osm_root=$(dirname "$0")
+
+rm -rf \
+ "$import_osm_root"/00-static-data/output \
+ "$import_osm_root"/01-list-countries/output \
+ "$import_osm_root"/02-query-regions/output \
+ "$import_osm_root"/03-clip-regions/output \
+ "$import_osm_root"/04-reduce-regions/output \
+ "$import_osm_root"/05-split-by-region/output \
+ "$import_osm_root"/06-simplify-regions/output \
+ "$import_osm_root"/07-merge-regions/output \
+ "$import_osm_root"/08-vector-tiles/output \
+ "$import_osm_root"/09-natural-earth-json/output \
+ "$import_osm_root"/10-natural-earth-tiles/output \
+ "$import_osm_root"/11-join-tiles/output
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..3cdc404
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,5610 @@
+{
+ "name": "osm-regions",
+ "version": "0.1.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@mapbox/glyph-pbf-composite": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/@mapbox/glyph-pbf-composite/-/glyph-pbf-composite-0.0.3.tgz",
+ "integrity": "sha1-GJZsVHN6vPykBAg1Jyi+0koLPhI=",
+ "requires": {
+ "protocol-buffers": "^2.4.7"
+ }
+ },
+ "@mapbox/jsonlint-lines-primitives": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz",
+ "integrity": "sha1-zlblOfg1UrWNENZy6k1vya3HsjQ="
+ },
+ "@mapbox/mapbox-gl-style-spec": {
+ "version": "13.12.0",
+ "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-style-spec/-/mapbox-gl-style-spec-13.12.0.tgz",
+ "integrity": "sha512-tRSvlYUI73LOkvS1iQhVwnltoI/QC4ZaLOAS6NM6zx0NwJfsGUJDPucsaKif8l7Sce1ECLd8LYs1MRCyJjdo5Q==",
+ "requires": {
+ "@mapbox/jsonlint-lines-primitives": "~2.0.2",
+ "@mapbox/unitbezier": "^0.0.0",
+ "csscolorparser": "~1.0.2",
+ "json-stringify-pretty-compact": "^2.0.0",
+ "minimist": "0.0.8",
+ "rw": "^1.3.3",
+ "sort-object": "^0.3.2"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
+ }
+ }
+ },
+ "@mapbox/mbtiles": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/@mapbox/mbtiles/-/mbtiles-0.11.0.tgz",
+ "integrity": "sha512-6eQVpgMG3lRMgptVfETiOGZI76SC3UCPOO4hoyHDyZVd20mRrS6Ncbr7ZAdIgSyfqCsI9pnvD+ZpeBzKSgpg6w==",
+ "requires": {
+ "@mapbox/sphericalmercator": "~1.1.0",
+ "@mapbox/tiletype": "0.3.x",
+ "d3-queue": "~3.0.7",
+ "sqlite3": "4.x"
+ }
+ },
+ "@mapbox/point-geometry": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz",
+ "integrity": "sha1-ioP5M1x4YO/6Lu7KJUMyqgru2PI="
+ },
+ "@mapbox/sphericalmercator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@mapbox/sphericalmercator/-/sphericalmercator-1.1.0.tgz",
+ "integrity": "sha512-pEsfZyG4OMThlfFQbCte4gegvHUjxXCjz0KZ4Xk8NdOYTQBLflj6U8PL05RPAiuRAMAQNUUKJuL6qYZ5Y4kAWA=="
+ },
+ "@mapbox/tiletype": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/@mapbox/tiletype/-/tiletype-0.3.1.tgz",
+ "integrity": "sha1-GhSY9qG3d2MOC006L+2dlJWVYMw="
+ },
+ "@mapbox/unitbezier": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz",
+ "integrity": "sha1-FWUb1VOme4WB+zmIEMmK2Go0Uk4="
+ },
+ "@mapbox/vector-tile": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz",
+ "integrity": "sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==",
+ "requires": {
+ "@mapbox/point-geometry": "~0.1.0"
+ }
+ },
+ "@turf/along": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/along/-/along-5.1.5.tgz",
+ "integrity": "sha1-YdbmplhKzdq1asVYTge/jL5fi+s=",
+ "requires": {
+ "@turf/bearing": "^5.1.5",
+ "@turf/destination": "^5.1.5",
+ "@turf/distance": "^5.1.5",
+ "@turf/helpers": "^5.1.5"
+ }
+ },
+ "@turf/area": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/area/-/area-5.1.5.tgz",
+ "integrity": "sha1-79iZv9Jgzb0VQbKjwVX4pdLu+h0=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/bbox": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-5.1.5.tgz",
+ "integrity": "sha1-MFHfUUrUxQ9KT5uKLRX9i2hA7aM=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/bbox-clip": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/bbox-clip/-/bbox-clip-5.1.5.tgz",
+ "integrity": "sha1-M2S1Mo3/nzz0HZ4C7a/zdNFQzIQ=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "lineclip": "^1.1.5"
+ }
+ },
+ "@turf/bbox-polygon": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/bbox-polygon/-/bbox-polygon-5.1.5.tgz",
+ "integrity": "sha1-auuk7VHYXSluD3w4uIwznwHu4CQ=",
+ "requires": {
+ "@turf/helpers": "^5.1.5"
+ }
+ },
+ "@turf/bearing": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/bearing/-/bearing-5.1.5.tgz",
+ "integrity": "sha1-egt5ATbE70eX8CRjBdRcvi0ns/c=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5"
+ }
+ },
+ "@turf/bezier-spline": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/bezier-spline/-/bezier-spline-5.1.5.tgz",
+ "integrity": "sha1-WaJ7ul17l+8Vqz/VpA+9I4cEm8o=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5"
+ }
+ },
+ "@turf/boolean-clockwise": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/boolean-clockwise/-/boolean-clockwise-5.1.5.tgz",
+ "integrity": "sha1-MwK32sYsXikaB4nimvcoM4f6nes=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5"
+ }
+ },
+ "@turf/boolean-contains": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/boolean-contains/-/boolean-contains-5.1.5.tgz",
+ "integrity": "sha1-WW1jruY2961T7pn5/yTJaZSg7xQ=",
+ "requires": {
+ "@turf/bbox": "^5.1.5",
+ "@turf/boolean-point-in-polygon": "^5.1.5",
+ "@turf/boolean-point-on-line": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5"
+ }
+ },
+ "@turf/boolean-crosses": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/boolean-crosses/-/boolean-crosses-5.1.5.tgz",
+ "integrity": "sha1-Ab+uollvFk3kpNMlCU3HwlXHFdY=",
+ "requires": {
+ "@turf/boolean-point-in-polygon": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/line-intersect": "^5.1.5",
+ "@turf/polygon-to-line": "^5.1.5"
+ }
+ },
+ "@turf/boolean-disjoint": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/@turf/boolean-disjoint/-/boolean-disjoint-5.1.6.tgz",
+ "integrity": "sha512-KHvUS6SBNYHBCLIJEJrg04pF5Oy+Fqn8V5G9U+9pti5vI9tyX7Ln2g7RSB7iJ1Cxsz8QAi6OukhXjEF2/8ZpGg==",
+ "requires": {
+ "@turf/boolean-point-in-polygon": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/line-intersect": "^5.1.5",
+ "@turf/meta": "^5.1.5",
+ "@turf/polygon-to-line": "^5.1.5"
+ }
+ },
+ "@turf/boolean-equal": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/boolean-equal/-/boolean-equal-5.1.5.tgz",
+ "integrity": "sha1-Kfj21gu4RQff12WzIlTbjnLJOKQ=",
+ "requires": {
+ "@turf/clean-coords": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "geojson-equality": "0.1.6"
+ }
+ },
+ "@turf/boolean-overlap": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/boolean-overlap/-/boolean-overlap-5.1.5.tgz",
+ "integrity": "sha1-DU5kxSx3CijpPZ7834qLg3OsznU=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/line-intersect": "^5.1.5",
+ "@turf/line-overlap": "^5.1.5",
+ "@turf/meta": "^5.1.5",
+ "geojson-equality": "0.1.6"
+ }
+ },
+ "@turf/boolean-parallel": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/boolean-parallel/-/boolean-parallel-5.1.5.tgz",
+ "integrity": "sha1-c5NYR16ltlx+GCejw+DopofTqF0=",
+ "requires": {
+ "@turf/clean-coords": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/line-segment": "^5.1.5",
+ "@turf/rhumb-bearing": "^5.1.5"
+ }
+ },
+ "@turf/boolean-point-in-polygon": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/boolean-point-in-polygon/-/boolean-point-in-polygon-5.1.5.tgz",
+ "integrity": "sha1-8BzBlNHgMKVIv9qYHLpDz9YpQbc=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5"
+ }
+ },
+ "@turf/boolean-point-on-line": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/boolean-point-on-line/-/boolean-point-on-line-5.1.5.tgz",
+ "integrity": "sha1-9jPF/4Aq0ku48Vja269v9KAj3Xs=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5"
+ }
+ },
+ "@turf/boolean-within": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/boolean-within/-/boolean-within-5.1.5.tgz",
+ "integrity": "sha1-RxBdVtB1Kp0Pv81Dw2pfkUnchpc=",
+ "requires": {
+ "@turf/bbox": "^5.1.5",
+ "@turf/boolean-point-in-polygon": "^5.1.5",
+ "@turf/boolean-point-on-line": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5"
+ }
+ },
+ "@turf/buffer": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/buffer/-/buffer-5.1.5.tgz",
+ "integrity": "sha1-hByWJ8+5dLEirE4alW8EZrwCMcQ=",
+ "requires": {
+ "@turf/bbox": "^5.1.5",
+ "@turf/center": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/meta": "^5.1.5",
+ "@turf/projection": "^5.1.5",
+ "d3-geo": "1.7.1",
+ "turf-jsts": "*"
+ },
+ "dependencies": {
+ "d3-geo": {
+ "version": "1.7.1",
+ "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.7.1.tgz",
+ "integrity": "sha512-O4AempWAr+P5qbk2bC2FuN/sDW4z+dN2wDf9QV3bxQt4M5HfOEeXLgJ/UKQW0+o1Dj8BE+L5kiDbdWUMjsmQpw==",
+ "requires": {
+ "d3-array": "1"
+ }
+ }
+ }
+ },
+ "@turf/center": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/center/-/center-5.1.5.tgz",
+ "integrity": "sha1-RKss2VT2PA03dX9xWKmcPvURS4A=",
+ "requires": {
+ "@turf/bbox": "^5.1.5",
+ "@turf/helpers": "^5.1.5"
+ }
+ },
+ "@turf/center-mean": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/center-mean/-/center-mean-5.1.5.tgz",
+ "integrity": "sha1-jI6YdTkeXwnw5uePXWYbiLIQigo=",
+ "requires": {
+ "@turf/bbox": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/center-median": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/center-median/-/center-median-5.1.5.tgz",
+ "integrity": "sha1-u0Yb/noqSGAdikcnaFcYcjoUqHI=",
+ "requires": {
+ "@turf/center-mean": "^5.1.5",
+ "@turf/centroid": "^5.1.5",
+ "@turf/distance": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/center-of-mass": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/center-of-mass/-/center-of-mass-5.1.5.tgz",
+ "integrity": "sha1-TTvXnYhJjbq4Mk1PafAyL2Uguco=",
+ "requires": {
+ "@turf/centroid": "^5.1.5",
+ "@turf/convex": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/centroid": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/centroid/-/centroid-5.1.5.tgz",
+ "integrity": "sha1-d4radCFjNQIa2P0OemWoNJ1Tx2k=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/circle": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/circle/-/circle-5.1.5.tgz",
+ "integrity": "sha1-mxV3g1UIq1L7HBCypQZcuiuHtqU=",
+ "requires": {
+ "@turf/destination": "^5.1.5",
+ "@turf/helpers": "^5.1.5"
+ }
+ },
+ "@turf/clean-coords": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/clean-coords/-/clean-coords-5.1.5.tgz",
+ "integrity": "sha1-EoAKmKeMmkUqcuxChJPEOs8q2h8=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5"
+ }
+ },
+ "@turf/clone": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/clone/-/clone-5.1.5.tgz",
+ "integrity": "sha1-JT6NNUdxgZduM636tQoPAqfw42c=",
+ "requires": {
+ "@turf/helpers": "^5.1.5"
+ }
+ },
+ "@turf/clusters": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/clusters/-/clusters-5.1.5.tgz",
+ "integrity": "sha1-ZzpeXxsZycq6vFfJCO6t1oIiTdQ=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/clusters-dbscan": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/clusters-dbscan/-/clusters-dbscan-5.1.5.tgz",
+ "integrity": "sha1-V4H7TmVsdHoLjpk333MYHAMJ4m8=",
+ "requires": {
+ "@turf/clone": "^5.1.5",
+ "@turf/distance": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/meta": "^5.1.5",
+ "density-clustering": "1.3.0"
+ }
+ },
+ "@turf/clusters-kmeans": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/clusters-kmeans/-/clusters-kmeans-5.1.5.tgz",
+ "integrity": "sha1-/W3+qLEzuovcI3CsPKzuFYejAvE=",
+ "requires": {
+ "@turf/clone": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/meta": "^5.1.5",
+ "skmeans": "0.9.7"
+ }
+ },
+ "@turf/collect": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/collect/-/collect-5.1.5.tgz",
+ "integrity": "sha1-/pjJqMIY7PJP/DPXApUXt8GbKj4=",
+ "requires": {
+ "@turf/bbox": "^5.1.5",
+ "@turf/boolean-point-in-polygon": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "rbush": "^2.0.1"
+ },
+ "dependencies": {
+ "quickselect": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-1.1.1.tgz",
+ "integrity": "sha512-qN0Gqdw4c4KGPsBOQafj6yj/PA6c/L63f6CaZ/DCF/xF4Esu3jVmKLUDYxghFx8Kb/O7y9tI7x2RjTSXwdK1iQ=="
+ },
+ "rbush": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/rbush/-/rbush-2.0.2.tgz",
+ "integrity": "sha512-XBOuALcTm+O/H8G90b6pzu6nX6v2zCKiFG4BJho8a+bY6AER6t8uQUZdi5bomQc0AprCWhEGa7ncAbbRap0bRA==",
+ "requires": {
+ "quickselect": "^1.0.1"
+ }
+ }
+ }
+ },
+ "@turf/combine": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/combine/-/combine-5.1.5.tgz",
+ "integrity": "sha1-uxS976VVBDVxlfwaEkzX1TqMiQU=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/concave": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/concave/-/concave-5.1.5.tgz",
+ "integrity": "sha1-I7uqw4fQNLlldKG9cNBZI3qdIRA=",
+ "requires": {
+ "@turf/clone": "^5.1.5",
+ "@turf/distance": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/meta": "^5.1.5",
+ "@turf/tin": "^5.1.5",
+ "topojson-client": "3.x",
+ "topojson-server": "3.x"
+ }
+ },
+ "@turf/convex": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/convex/-/convex-5.1.5.tgz",
+ "integrity": "sha1-Dfk3fdACIWzpghsH9wXgN9rj4B0=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/meta": "^5.1.5",
+ "concaveman": "*"
+ }
+ },
+ "@turf/destination": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/destination/-/destination-5.1.5.tgz",
+ "integrity": "sha1-7TU4G9zoO73cvQei4rzivd/7zCY=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5"
+ }
+ },
+ "@turf/difference": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/difference/-/difference-5.1.5.tgz",
+ "integrity": "sha1-ok1pCnvKgD8QkKnuO52Qb8Q3H0I=",
+ "requires": {
+ "@turf/area": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/meta": "^5.1.5",
+ "turf-jsts": "*"
+ }
+ },
+ "@turf/dissolve": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/dissolve/-/dissolve-5.1.5.tgz",
+ "integrity": "sha1-LPEzqQIdIWODHD16lY1lB/nYGTg=",
+ "requires": {
+ "@turf/boolean-overlap": "^5.1.5",
+ "@turf/clone": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/line-intersect": "^5.1.5",
+ "@turf/meta": "^5.1.5",
+ "@turf/union": "^5.1.5",
+ "geojson-rbush": "2.1.0",
+ "get-closest": "*"
+ }
+ },
+ "@turf/distance": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/distance/-/distance-5.1.5.tgz",
+ "integrity": "sha1-Oc8YIEu/h1h9cH5gmmARiQkVZAk=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5"
+ }
+ },
+ "@turf/ellipse": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/ellipse/-/ellipse-5.1.5.tgz",
+ "integrity": "sha1-1XyrhTmFkgzeYCKKeNgEWAJcVL4=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/rhumb-destination": "^5.1.5",
+ "@turf/transform-rotate": "^5.1.5"
+ }
+ },
+ "@turf/envelope": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/envelope/-/envelope-5.1.5.tgz",
+ "integrity": "sha1-UBMwnFP91D369LWIplw/7X28EIo=",
+ "requires": {
+ "@turf/bbox": "^5.1.5",
+ "@turf/bbox-polygon": "^5.1.5",
+ "@turf/helpers": "^5.1.5"
+ }
+ },
+ "@turf/explode": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/explode/-/explode-5.1.5.tgz",
+ "integrity": "sha1-sSsvd0AEobSPYrqVsgocZVo94Rg=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/flatten": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/flatten/-/flatten-5.1.5.tgz",
+ "integrity": "sha1-2iknBnEz7WFpsLnWB7khVoiqE1g=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/flip": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/flip/-/flip-5.1.5.tgz",
+ "integrity": "sha1-Q29kOnIvDKU7n85jjkaT2zYIpoo=",
+ "requires": {
+ "@turf/clone": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/great-circle": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/great-circle/-/great-circle-5.1.5.tgz",
+ "integrity": "sha1-3r+2cc5HVQnLY3MBwV/PzPo1mpM=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5"
+ }
+ },
+ "@turf/helpers": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-5.1.5.tgz",
+ "integrity": "sha1-FTQFInq5M9AEpbuWQantmZ/L4M8="
+ },
+ "@turf/hex-grid": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/hex-grid/-/hex-grid-5.1.5.tgz",
+ "integrity": "sha1-m3ul/s9QUfHoWJL3E/zlxVBQKmo=",
+ "requires": {
+ "@turf/distance": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/intersect": "^5.1.5",
+ "@turf/invariant": "^5.1.5"
+ }
+ },
+ "@turf/interpolate": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/interpolate/-/interpolate-5.1.5.tgz",
+ "integrity": "sha1-DxLwq3VtbdEK+ykMpuh3ve8BPqo=",
+ "requires": {
+ "@turf/bbox": "^5.1.5",
+ "@turf/centroid": "^5.1.5",
+ "@turf/clone": "^5.1.5",
+ "@turf/distance": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/hex-grid": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/meta": "^5.1.5",
+ "@turf/point-grid": "^5.1.5",
+ "@turf/square-grid": "^5.1.5",
+ "@turf/triangle-grid": "^5.1.5"
+ }
+ },
+ "@turf/intersect": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/@turf/intersect/-/intersect-5.1.6.tgz",
+ "integrity": "sha512-KXyNv/GXdoGAOy03qZF53rgtXC2tNhF/4jLwTKiVRrBQH6kcEpipGStdJ+QkYIlarQPa8f7I9UlVAB19et4MfQ==",
+ "requires": {
+ "@turf/clean-coords": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/truncate": "^5.1.5",
+ "turf-jsts": "*"
+ }
+ },
+ "@turf/invariant": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/invariant/-/invariant-5.1.5.tgz",
+ "integrity": "sha1-9Z9P76CSJLFdzhZR+QPIaNV6JOE=",
+ "requires": {
+ "@turf/helpers": "^5.1.5"
+ }
+ },
+ "@turf/isobands": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/isobands/-/isobands-5.1.5.tgz",
+ "integrity": "sha1-a0TO9YTVUaMTBBh68jtKFYLj8I0=",
+ "requires": {
+ "@turf/area": "^5.1.5",
+ "@turf/bbox": "^5.1.5",
+ "@turf/boolean-point-in-polygon": "^5.1.5",
+ "@turf/explode": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/isolines": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/isolines/-/isolines-5.1.5.tgz",
+ "integrity": "sha1-irTn9Cuz38VGFOW/FVln9+VdLeE=",
+ "requires": {
+ "@turf/bbox": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/kinks": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/kinks/-/kinks-5.1.5.tgz",
+ "integrity": "sha1-irtpYdm7AQchO63fLCwmQNAlaYA=",
+ "requires": {
+ "@turf/helpers": "^5.1.5"
+ }
+ },
+ "@turf/length": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/length/-/length-5.1.5.tgz",
+ "integrity": "sha1-86X4ZMK5lqi7RxeUU1ofrxLuvvs=",
+ "requires": {
+ "@turf/distance": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/line-arc": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/line-arc/-/line-arc-5.1.5.tgz",
+ "integrity": "sha1-AHinRHg1oSrkFKIR+aZNEYYVDhU=",
+ "requires": {
+ "@turf/circle": "^5.1.5",
+ "@turf/destination": "^5.1.5",
+ "@turf/helpers": "^5.1.5"
+ }
+ },
+ "@turf/line-chunk": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/line-chunk/-/line-chunk-5.1.5.tgz",
+ "integrity": "sha1-kQqFwFwG2dD5w4l3oF4IGNUIXEI=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/length": "^5.1.5",
+ "@turf/line-slice-along": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/line-intersect": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/line-intersect/-/line-intersect-5.1.5.tgz",
+ "integrity": "sha1-DikHGuQDKV5JFyO8SfXPrI0R3fM=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/line-segment": "^5.1.5",
+ "@turf/meta": "^5.1.5",
+ "geojson-rbush": "2.1.0"
+ }
+ },
+ "@turf/line-offset": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/line-offset/-/line-offset-5.1.5.tgz",
+ "integrity": "sha1-KrWy8In4yRPiMdmUN4553KkLWh4=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/line-overlap": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/line-overlap/-/line-overlap-5.1.5.tgz",
+ "integrity": "sha1-lDxvh6A4bcQ9+sEdKz/5wRLNP2A=",
+ "requires": {
+ "@turf/boolean-point-on-line": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/line-segment": "^5.1.5",
+ "@turf/meta": "^5.1.5",
+ "@turf/nearest-point-on-line": "^5.1.5",
+ "geojson-rbush": "2.1.0"
+ }
+ },
+ "@turf/line-segment": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/line-segment/-/line-segment-5.1.5.tgz",
+ "integrity": "sha1-Mgeq7lRqskw9jcPMY/kcdwuAE+U=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/line-slice": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/line-slice/-/line-slice-5.1.5.tgz",
+ "integrity": "sha1-Hs/OFGKjeFeXVM7fRGTN4mgp8rU=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/nearest-point-on-line": "^5.1.5"
+ }
+ },
+ "@turf/line-slice-along": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/line-slice-along/-/line-slice-along-5.1.5.tgz",
+ "integrity": "sha1-7drQoh70efKWihG9LdcomiEy6aU=",
+ "requires": {
+ "@turf/bearing": "^5.1.5",
+ "@turf/destination": "^5.1.5",
+ "@turf/distance": "^5.1.5",
+ "@turf/helpers": "^5.1.5"
+ }
+ },
+ "@turf/line-split": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/line-split/-/line-split-5.1.5.tgz",
+ "integrity": "sha1-Wy30w3YZty73JbUWPPmSbVVArLc=",
+ "requires": {
+ "@turf/bbox": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/line-intersect": "^5.1.5",
+ "@turf/line-segment": "^5.1.5",
+ "@turf/meta": "^5.1.5",
+ "@turf/nearest-point-on-line": "^5.1.5",
+ "@turf/square": "^5.1.5",
+ "@turf/truncate": "^5.1.5",
+ "geojson-rbush": "2.1.0"
+ }
+ },
+ "@turf/line-to-polygon": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/line-to-polygon/-/line-to-polygon-5.1.5.tgz",
+ "integrity": "sha1-ITz0Gmj4Ikd4ujnTGH3sPouBhlo=",
+ "requires": {
+ "@turf/bbox": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5"
+ }
+ },
+ "@turf/mask": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/mask/-/mask-5.1.5.tgz",
+ "integrity": "sha1-mrD+8aJyyY/j70kvn/thggayQtU=",
+ "requires": {
+ "@turf/bbox": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/meta": "^5.1.5",
+ "@turf/union": "^5.1.5",
+ "rbush": "^2.0.1"
+ },
+ "dependencies": {
+ "quickselect": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-1.1.1.tgz",
+ "integrity": "sha512-qN0Gqdw4c4KGPsBOQafj6yj/PA6c/L63f6CaZ/DCF/xF4Esu3jVmKLUDYxghFx8Kb/O7y9tI7x2RjTSXwdK1iQ=="
+ },
+ "rbush": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/rbush/-/rbush-2.0.2.tgz",
+ "integrity": "sha512-XBOuALcTm+O/H8G90b6pzu6nX6v2zCKiFG4BJho8a+bY6AER6t8uQUZdi5bomQc0AprCWhEGa7ncAbbRap0bRA==",
+ "requires": {
+ "quickselect": "^1.0.1"
+ }
+ }
+ }
+ },
+ "@turf/meta": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-5.1.6.tgz",
+ "integrity": "sha1-wgqGPt7Qhp+yhUje6Ik0G8y0akY=",
+ "requires": {
+ "@turf/helpers": "^5.1.5"
+ }
+ },
+ "@turf/midpoint": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/midpoint/-/midpoint-5.1.5.tgz",
+ "integrity": "sha1-4mH2srDqgSTM7/VSomLdRlydBfA=",
+ "requires": {
+ "@turf/bearing": "^5.1.5",
+ "@turf/destination": "^5.1.5",
+ "@turf/distance": "^5.1.5",
+ "@turf/helpers": "^5.1.5"
+ }
+ },
+ "@turf/nearest-point": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/nearest-point/-/nearest-point-5.1.5.tgz",
+ "integrity": "sha1-EgUN5Bw5hEMiTHl43g9iE5ANNPs=",
+ "requires": {
+ "@turf/clone": "^5.1.5",
+ "@turf/distance": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/nearest-point-on-line": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/nearest-point-on-line/-/nearest-point-on-line-5.1.5.tgz",
+ "integrity": "sha1-VgauKX8VlHUkvqUaKp71HsG/nDY=",
+ "requires": {
+ "@turf/bearing": "^5.1.5",
+ "@turf/destination": "^5.1.5",
+ "@turf/distance": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/line-intersect": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/nearest-point-to-line": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/@turf/nearest-point-to-line/-/nearest-point-to-line-5.1.6.tgz",
+ "integrity": "sha512-ZSvDIEiHhifn/vNwLXZI/E8xmEz5yBPqfUR7BVHRZrB1cP7jLhKZvkbidjG//uW8Fr1Ulc+PFOXczLspIcx/lw==",
+ "requires": {
+ "@turf/helpers": "6.x",
+ "@turf/invariant": "6.x",
+ "@turf/meta": "6.x",
+ "@turf/point-to-line-distance": "^5.1.5",
+ "object-assign": "*"
+ },
+ "dependencies": {
+ "@turf/helpers": {
+ "version": "6.1.4",
+ "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-6.1.4.tgz",
+ "integrity": "sha512-vJvrdOZy1ngC7r3MDA7zIGSoIgyrkWcGnNIEaqn/APmw+bVLF2gAW7HIsdTxd12s5wQMqEpqIQrmrbRRZ0xC7g=="
+ },
+ "@turf/invariant": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/@turf/invariant/-/invariant-6.1.2.tgz",
+ "integrity": "sha512-WU08Ph8j0J2jVGlQCKChXoCtI50BB3yEH21V++V0T4cR1T27HKCxkehV2sYMwTierfMBgjwSwDIsxnR4/2mWXg==",
+ "requires": {
+ "@turf/helpers": "6.x"
+ }
+ },
+ "@turf/meta": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.0.2.tgz",
+ "integrity": "sha512-VA7HJkx7qF1l3+GNGkDVn2oXy4+QoLP6LktXAaZKjuT1JI0YESat7quUkbCMy4zP9lAUuvS4YMslLyTtr919FA==",
+ "requires": {
+ "@turf/helpers": "6.x"
+ }
+ }
+ }
+ },
+ "@turf/planepoint": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/planepoint/-/planepoint-5.1.5.tgz",
+ "integrity": "sha1-GLvfAG91ne9eQsagBsn53oGyt/8=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5"
+ }
+ },
+ "@turf/point-grid": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/point-grid/-/point-grid-5.1.5.tgz",
+ "integrity": "sha1-MFFBJI9Quv42zn5mukuX56sjaIc=",
+ "requires": {
+ "@turf/boolean-within": "^5.1.5",
+ "@turf/distance": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5"
+ }
+ },
+ "@turf/point-on-feature": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/point-on-feature/-/point-on-feature-5.1.5.tgz",
+ "integrity": "sha1-MMfwMkMCd8ZBjZbSieRba/shP+c=",
+ "requires": {
+ "@turf/boolean-point-in-polygon": "^5.1.5",
+ "@turf/center": "^5.1.5",
+ "@turf/explode": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/nearest-point": "^5.1.5"
+ }
+ },
+ "@turf/point-to-line-distance": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/@turf/point-to-line-distance/-/point-to-line-distance-5.1.6.tgz",
+ "integrity": "sha512-PE3hiTeeDEi4ZLPtI8XAzFYW9nHo1EVsZGm/4ZVV8jo39d3X1oLVHxY3e1PkCmWwRapXy4QLqvnTQ7nU4wspNw==",
+ "requires": {
+ "@turf/bearing": "6.x",
+ "@turf/distance": "6.x",
+ "@turf/helpers": "6.x",
+ "@turf/invariant": "6.x",
+ "@turf/meta": "6.x",
+ "@turf/projection": "6.x",
+ "@turf/rhumb-bearing": "6.x",
+ "@turf/rhumb-distance": "6.x"
+ },
+ "dependencies": {
+ "@turf/bearing": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/@turf/bearing/-/bearing-6.0.1.tgz",
+ "integrity": "sha512-mXY1NozqV9EFfBTbUItujwfqfQF0G/Xe2fzvnZle90ekPEUfhi4Dgf5JswJTd96J9LiT8kcd6Jonp5khnx0wIg==",
+ "requires": {
+ "@turf/helpers": "6.x",
+ "@turf/invariant": "6.x"
+ }
+ },
+ "@turf/clone": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/@turf/clone/-/clone-6.0.2.tgz",
+ "integrity": "sha512-UVpYPnW3wRj3bPncR6Z2PRbowBk+nEdVWgGewPxrKKLfvswtVtG9n/OIyvbU3E3ZOadBVxTH2uAMEMOz4800FA==",
+ "requires": {
+ "@turf/helpers": "6.x"
+ }
+ },
+ "@turf/distance": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/@turf/distance/-/distance-6.0.1.tgz",
+ "integrity": "sha512-q7t7rWIWfkg7MP1Vt4uLjSEhe5rPfCO2JjpKmk7JC+QZKEQkuvHEqy3ejW1iC7Kw5ZcZNR3qdMGGz+6HnVwqvg==",
+ "requires": {
+ "@turf/helpers": "6.x",
+ "@turf/invariant": "6.x"
+ }
+ },
+ "@turf/helpers": {
+ "version": "6.1.4",
+ "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-6.1.4.tgz",
+ "integrity": "sha512-vJvrdOZy1ngC7r3MDA7zIGSoIgyrkWcGnNIEaqn/APmw+bVLF2gAW7HIsdTxd12s5wQMqEpqIQrmrbRRZ0xC7g=="
+ },
+ "@turf/invariant": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/@turf/invariant/-/invariant-6.1.2.tgz",
+ "integrity": "sha512-WU08Ph8j0J2jVGlQCKChXoCtI50BB3yEH21V++V0T4cR1T27HKCxkehV2sYMwTierfMBgjwSwDIsxnR4/2mWXg==",
+ "requires": {
+ "@turf/helpers": "6.x"
+ }
+ },
+ "@turf/meta": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.0.2.tgz",
+ "integrity": "sha512-VA7HJkx7qF1l3+GNGkDVn2oXy4+QoLP6LktXAaZKjuT1JI0YESat7quUkbCMy4zP9lAUuvS4YMslLyTtr919FA==",
+ "requires": {
+ "@turf/helpers": "6.x"
+ }
+ },
+ "@turf/projection": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/@turf/projection/-/projection-6.0.1.tgz",
+ "integrity": "sha512-Y3RvGT6I53MjYKLG69e9sMk45wJXcLbrEO1t6P3WQQQGqA2gYhhMJyV41vE2Z2llrJpvs2dDx/tIeQzGd0HHMQ==",
+ "requires": {
+ "@turf/clone": "6.x",
+ "@turf/helpers": "6.x",
+ "@turf/meta": "6.x"
+ }
+ },
+ "@turf/rhumb-bearing": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/@turf/rhumb-bearing/-/rhumb-bearing-6.0.1.tgz",
+ "integrity": "sha512-MVBra8OVfjM4+/N0B3o6cBIYg9p/uRKzA9uk05RfrzasEbUL1vdD23LkTooVL74Yw4UxL8BQD9hS5Re2COJFDA==",
+ "requires": {
+ "@turf/helpers": "6.x",
+ "@turf/invariant": "6.x"
+ }
+ },
+ "@turf/rhumb-distance": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/@turf/rhumb-distance/-/rhumb-distance-6.0.1.tgz",
+ "integrity": "sha512-3G45DQtQByzzfHFPcCyJdUZFwsd45zfZ7sAb1ddF7mhEj4G70+T2G3GKjInymqDNrbyh2gbG6wQiZSToC8Uf9g==",
+ "requires": {
+ "@turf/helpers": "6.x",
+ "@turf/invariant": "6.x"
+ }
+ }
+ }
+ },
+ "@turf/points-within-polygon": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/points-within-polygon/-/points-within-polygon-5.1.5.tgz",
+ "integrity": "sha1-K4VaXfOq2lfC7oIKB1SrlJKKIzc=",
+ "requires": {
+ "@turf/boolean-point-in-polygon": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/polygon-tangents": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/polygon-tangents/-/polygon-tangents-5.1.5.tgz",
+ "integrity": "sha1-K/AJkUcwJbF44lDcfLmuVAm71lI=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5"
+ }
+ },
+ "@turf/polygon-to-line": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/polygon-to-line/-/polygon-to-line-5.1.5.tgz",
+ "integrity": "sha1-I7tEjYTcTGUZmaxhGjbZHFklA2o=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5"
+ }
+ },
+ "@turf/polygonize": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/polygonize/-/polygonize-5.1.5.tgz",
+ "integrity": "sha1-BJP6EYefOdELmtAs5qI+lC0IqjI=",
+ "requires": {
+ "@turf/boolean-point-in-polygon": "^5.1.5",
+ "@turf/envelope": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/projection": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/projection/-/projection-5.1.5.tgz",
+ "integrity": "sha1-JFF+7rLzaBa6n3EueubWo2jt91c=",
+ "requires": {
+ "@turf/clone": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/random": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/random/-/random-5.1.5.tgz",
+ "integrity": "sha1-sy78k0Vgroulfo67UfJBw5+6Lns=",
+ "requires": {
+ "@turf/helpers": "^5.1.5"
+ }
+ },
+ "@turf/rewind": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/rewind/-/rewind-5.1.5.tgz",
+ "integrity": "sha1-nqPbSmi3PB/R3RH1djGxQ8/vock=",
+ "requires": {
+ "@turf/boolean-clockwise": "^5.1.5",
+ "@turf/clone": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/rhumb-bearing": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/rhumb-bearing/-/rhumb-bearing-5.1.5.tgz",
+ "integrity": "sha1-rPalAkJ+uMSeGM2mrg7/qwxd3NI=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5"
+ }
+ },
+ "@turf/rhumb-destination": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/rhumb-destination/-/rhumb-destination-5.1.5.tgz",
+ "integrity": "sha1-sbKuuSFUfyrAwamUtqEw+SRjx0I=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5"
+ }
+ },
+ "@turf/rhumb-distance": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/rhumb-distance/-/rhumb-distance-5.1.5.tgz",
+ "integrity": "sha1-GAaFdiX0IlOE2tQT5p85U4/192U=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5"
+ }
+ },
+ "@turf/sample": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/sample/-/sample-5.1.5.tgz",
+ "integrity": "sha1-6ctEikeJzFbuPeLdZ4HiNDQ1tBE=",
+ "requires": {
+ "@turf/helpers": "^5.1.5"
+ }
+ },
+ "@turf/sector": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/sector/-/sector-5.1.5.tgz",
+ "integrity": "sha1-rCu5TBPt1gNPb9wrZwCBNdIPXgc=",
+ "requires": {
+ "@turf/circle": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/line-arc": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/shortest-path": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/shortest-path/-/shortest-path-5.1.5.tgz",
+ "integrity": "sha1-hUroCW9rw+EwD6ynfz6PZ9j5Nas=",
+ "requires": {
+ "@turf/bbox": "^5.1.5",
+ "@turf/bbox-polygon": "^5.1.5",
+ "@turf/boolean-point-in-polygon": "^5.1.5",
+ "@turf/clean-coords": "^5.1.5",
+ "@turf/distance": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/meta": "^5.1.5",
+ "@turf/transform-scale": "^5.1.5"
+ }
+ },
+ "@turf/simplify": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/simplify/-/simplify-5.1.5.tgz",
+ "integrity": "sha1-Csjyei60IYGD7dmZjDJ1q+QIuSY=",
+ "requires": {
+ "@turf/clean-coords": "^5.1.5",
+ "@turf/clone": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/square": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/square/-/square-5.1.5.tgz",
+ "integrity": "sha1-qnsh5gM8ySUsOlvW89iNq9b+0YA=",
+ "requires": {
+ "@turf/distance": "^5.1.5",
+ "@turf/helpers": "^5.1.5"
+ }
+ },
+ "@turf/square-grid": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/square-grid/-/square-grid-5.1.5.tgz",
+ "integrity": "sha1-G9X3uesU8LYLwjH+/nNR0aMvGlE=",
+ "requires": {
+ "@turf/boolean-contains": "^5.1.5",
+ "@turf/boolean-overlap": "^5.1.5",
+ "@turf/distance": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/intersect": "^5.1.5",
+ "@turf/invariant": "^5.1.5"
+ }
+ },
+ "@turf/standard-deviational-ellipse": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/standard-deviational-ellipse/-/standard-deviational-ellipse-5.1.5.tgz",
+ "integrity": "sha1-hc0oO14ayljyG9ZkEuQUtW2FIyQ=",
+ "requires": {
+ "@turf/center-mean": "^5.1.5",
+ "@turf/ellipse": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/meta": "^5.1.5",
+ "@turf/points-within-polygon": "^5.1.5"
+ }
+ },
+ "@turf/tag": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/tag/-/tag-5.1.5.tgz",
+ "integrity": "sha1-0e4aUIjs/UoUEQGcmCOczypJfSA=",
+ "requires": {
+ "@turf/boolean-point-in-polygon": "^5.1.5",
+ "@turf/clone": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/tesselate": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/tesselate/-/tesselate-5.1.5.tgz",
+ "integrity": "sha1-MqWU6cIaAEIKn5DSxD3z4RZgYc0=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "earcut": "^2.0.0"
+ }
+ },
+ "@turf/tin": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/tin/-/tin-5.1.5.tgz",
+ "integrity": "sha1-KCI+r8X76a6azKgc3P6l0UJMkX0=",
+ "requires": {
+ "@turf/helpers": "^5.1.5"
+ }
+ },
+ "@turf/transform-rotate": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/transform-rotate/-/transform-rotate-5.1.5.tgz",
+ "integrity": "sha1-0Jbt2eMA/jFQadVNjkWMQJIh7fs=",
+ "requires": {
+ "@turf/centroid": "^5.1.5",
+ "@turf/clone": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/meta": "^5.1.5",
+ "@turf/rhumb-bearing": "^5.1.5",
+ "@turf/rhumb-destination": "^5.1.5",
+ "@turf/rhumb-distance": "^5.1.5"
+ }
+ },
+ "@turf/transform-scale": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/transform-scale/-/transform-scale-5.1.5.tgz",
+ "integrity": "sha1-cP064BhWz3uunxWtVhzf6PiQAbk=",
+ "requires": {
+ "@turf/bbox": "^5.1.5",
+ "@turf/center": "^5.1.5",
+ "@turf/centroid": "^5.1.5",
+ "@turf/clone": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/meta": "^5.1.5",
+ "@turf/rhumb-bearing": "^5.1.5",
+ "@turf/rhumb-destination": "^5.1.5",
+ "@turf/rhumb-distance": "^5.1.5"
+ }
+ },
+ "@turf/transform-translate": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/transform-translate/-/transform-translate-5.1.5.tgz",
+ "integrity": "sha1-Uwolf7Hccmja3Ks05nkB6yo97GM=",
+ "requires": {
+ "@turf/clone": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "@turf/meta": "^5.1.5",
+ "@turf/rhumb-destination": "^5.1.5"
+ }
+ },
+ "@turf/triangle-grid": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/triangle-grid/-/triangle-grid-5.1.5.tgz",
+ "integrity": "sha1-ezZ2IQhVTBTyjK/zxIsc/ILI3IE=",
+ "requires": {
+ "@turf/distance": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/intersect": "^5.1.5",
+ "@turf/invariant": "^5.1.5"
+ }
+ },
+ "@turf/truncate": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/truncate/-/truncate-5.1.5.tgz",
+ "integrity": "sha1-nu37Oxi6gfLJjT6tCUMcyhiErYk=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/meta": "^5.1.5"
+ }
+ },
+ "@turf/turf": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/@turf/turf/-/turf-5.1.6.tgz",
+ "integrity": "sha1-wxIlkoh+0jS3VGi4qMRb+Ib7+PY=",
+ "requires": {
+ "@turf/along": "5.1.x",
+ "@turf/area": "5.1.x",
+ "@turf/bbox": "5.1.x",
+ "@turf/bbox-clip": "5.1.x",
+ "@turf/bbox-polygon": "5.1.x",
+ "@turf/bearing": "5.1.x",
+ "@turf/bezier-spline": "5.1.x",
+ "@turf/boolean-clockwise": "5.1.x",
+ "@turf/boolean-contains": "5.1.x",
+ "@turf/boolean-crosses": "5.1.x",
+ "@turf/boolean-disjoint": "5.1.x",
+ "@turf/boolean-equal": "5.1.x",
+ "@turf/boolean-overlap": "5.1.x",
+ "@turf/boolean-parallel": "5.1.x",
+ "@turf/boolean-point-in-polygon": "5.1.x",
+ "@turf/boolean-point-on-line": "5.1.x",
+ "@turf/boolean-within": "5.1.x",
+ "@turf/buffer": "5.1.x",
+ "@turf/center": "5.1.x",
+ "@turf/center-mean": "5.1.x",
+ "@turf/center-median": "5.1.x",
+ "@turf/center-of-mass": "5.1.x",
+ "@turf/centroid": "5.1.x",
+ "@turf/circle": "5.1.x",
+ "@turf/clean-coords": "5.1.x",
+ "@turf/clone": "5.1.x",
+ "@turf/clusters": "5.1.x",
+ "@turf/clusters-dbscan": "5.1.x",
+ "@turf/clusters-kmeans": "5.1.x",
+ "@turf/collect": "5.1.x",
+ "@turf/combine": "5.1.x",
+ "@turf/concave": "5.1.x",
+ "@turf/convex": "5.1.x",
+ "@turf/destination": "5.1.x",
+ "@turf/difference": "5.1.x",
+ "@turf/dissolve": "5.1.x",
+ "@turf/distance": "5.1.x",
+ "@turf/ellipse": "5.1.x",
+ "@turf/envelope": "5.1.x",
+ "@turf/explode": "5.1.x",
+ "@turf/flatten": "5.1.x",
+ "@turf/flip": "5.1.x",
+ "@turf/great-circle": "5.1.x",
+ "@turf/helpers": "5.1.x",
+ "@turf/hex-grid": "5.1.x",
+ "@turf/interpolate": "5.1.x",
+ "@turf/intersect": "5.1.x",
+ "@turf/invariant": "5.1.x",
+ "@turf/isobands": "5.1.x",
+ "@turf/isolines": "5.1.x",
+ "@turf/kinks": "5.1.x",
+ "@turf/length": "5.1.x",
+ "@turf/line-arc": "5.1.x",
+ "@turf/line-chunk": "5.1.x",
+ "@turf/line-intersect": "5.1.x",
+ "@turf/line-offset": "5.1.x",
+ "@turf/line-overlap": "5.1.x",
+ "@turf/line-segment": "5.1.x",
+ "@turf/line-slice": "5.1.x",
+ "@turf/line-slice-along": "5.1.x",
+ "@turf/line-split": "5.1.x",
+ "@turf/line-to-polygon": "5.1.x",
+ "@turf/mask": "5.1.x",
+ "@turf/meta": "5.1.x",
+ "@turf/midpoint": "5.1.x",
+ "@turf/nearest-point": "5.1.x",
+ "@turf/nearest-point-on-line": "5.1.x",
+ "@turf/nearest-point-to-line": "5.1.x",
+ "@turf/planepoint": "5.1.x",
+ "@turf/point-grid": "5.1.x",
+ "@turf/point-on-feature": "5.1.x",
+ "@turf/point-to-line-distance": "5.1.x",
+ "@turf/points-within-polygon": "5.1.x",
+ "@turf/polygon-tangents": "5.1.x",
+ "@turf/polygon-to-line": "5.1.x",
+ "@turf/polygonize": "5.1.x",
+ "@turf/projection": "5.1.x",
+ "@turf/random": "5.1.x",
+ "@turf/rewind": "5.1.x",
+ "@turf/rhumb-bearing": "5.1.x",
+ "@turf/rhumb-destination": "5.1.x",
+ "@turf/rhumb-distance": "5.1.x",
+ "@turf/sample": "5.1.x",
+ "@turf/sector": "5.1.x",
+ "@turf/shortest-path": "5.1.x",
+ "@turf/simplify": "5.1.x",
+ "@turf/square": "5.1.x",
+ "@turf/square-grid": "5.1.x",
+ "@turf/standard-deviational-ellipse": "5.1.x",
+ "@turf/tag": "5.1.x",
+ "@turf/tesselate": "5.1.x",
+ "@turf/tin": "5.1.x",
+ "@turf/transform-rotate": "5.1.x",
+ "@turf/transform-scale": "5.1.x",
+ "@turf/transform-translate": "5.1.x",
+ "@turf/triangle-grid": "5.1.x",
+ "@turf/truncate": "5.1.x",
+ "@turf/union": "5.1.x",
+ "@turf/unkink-polygon": "5.1.x",
+ "@turf/voronoi": "5.1.x"
+ }
+ },
+ "@turf/union": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/union/-/union-5.1.5.tgz",
+ "integrity": "sha1-UyhbYJQEf8WNlqrA6pCGXsNNRUs=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "turf-jsts": "*"
+ }
+ },
+ "@turf/unkink-polygon": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/unkink-polygon/-/unkink-polygon-5.1.5.tgz",
+ "integrity": "sha1-ewGEfFD7V0riV54Z5Ey6hSbSE8M=",
+ "requires": {
+ "@turf/area": "^5.1.5",
+ "@turf/boolean-point-in-polygon": "^5.1.5",
+ "@turf/helpers": "^5.1.5",
+ "@turf/meta": "^5.1.5",
+ "rbush": "^2.0.1"
+ },
+ "dependencies": {
+ "quickselect": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-1.1.1.tgz",
+ "integrity": "sha512-qN0Gqdw4c4KGPsBOQafj6yj/PA6c/L63f6CaZ/DCF/xF4Esu3jVmKLUDYxghFx8Kb/O7y9tI7x2RjTSXwdK1iQ=="
+ },
+ "rbush": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/rbush/-/rbush-2.0.2.tgz",
+ "integrity": "sha512-XBOuALcTm+O/H8G90b6pzu6nX6v2zCKiFG4BJho8a+bY6AER6t8uQUZdi5bomQc0AprCWhEGa7ncAbbRap0bRA==",
+ "requires": {
+ "quickselect": "^1.0.1"
+ }
+ }
+ }
+ },
+ "@turf/voronoi": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/@turf/voronoi/-/voronoi-5.1.5.tgz",
+ "integrity": "sha1-6FbpQG3MLyXWbdyJhYTifC6/ymY=",
+ "requires": {
+ "@turf/helpers": "^5.1.5",
+ "@turf/invariant": "^5.1.5",
+ "d3-voronoi": "1.1.2"
+ }
+ },
+ "JSONStream": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
+ "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
+ "requires": {
+ "jsonparse": "^1.2.0",
+ "through": ">=2.2.7 <3"
+ }
+ },
+ "abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+ },
+ "accepts": {
+ "version": "1.3.7",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
+ "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
+ "requires": {
+ "mime-types": "~2.1.24",
+ "negotiator": "0.6.2"
+ }
+ },
+ "advanced-pool": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/advanced-pool/-/advanced-pool-0.3.3.tgz",
+ "integrity": "sha1-zkTN1QB1fc+4/HPB3aBNp9LRCwk="
+ },
+ "ajv": {
+ "version": "6.12.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
+ "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "anymatch": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+ "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "aproba": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
+ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
+ },
+ "are-we-there-yet": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
+ "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
+ "requires": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^2.0.6"
+ }
+ },
+ "array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
+ },
+ "asn1": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
+ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+ "requires": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
+ },
+ "aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
+ },
+ "aws4": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz",
+ "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA=="
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
+ },
+ "base64-js": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.2.tgz",
+ "integrity": "sha1-Ak8Pcq+iW3X5wO5zzU9V7Bvtl4Q="
+ },
+ "basic-auth": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz",
+ "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==",
+ "requires": {
+ "safe-buffer": "5.1.2"
+ }
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+ "requires": {
+ "tweetnacl": "^0.14.3"
+ }
+ },
+ "binary-extensions": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
+ "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow=="
+ },
+ "body-parser": {
+ "version": "1.19.0",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
+ "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
+ "requires": {
+ "bytes": "3.1.0",
+ "content-type": "~1.0.4",
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "http-errors": "1.7.2",
+ "iconv-lite": "0.4.24",
+ "on-finished": "~2.3.0",
+ "qs": "6.7.0",
+ "raw-body": "2.4.0",
+ "type-is": "~1.6.17"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ },
+ "qs": {
+ "version": "6.7.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
+ "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
+ }
+ }
+ },
+ "bops": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/bops/-/bops-0.0.6.tgz",
+ "integrity": "sha1-CC0dVfoB5g29wuvC26N/ZZVUzzo=",
+ "requires": {
+ "base64-js": "0.0.2",
+ "to-utf8": "0.0.1"
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "buffer-from": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
+ },
+ "bytes": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
+ "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
+ },
+ "chokidar": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz",
+ "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==",
+ "requires": {
+ "anymatch": "~3.1.1",
+ "braces": "~3.0.2",
+ "fsevents": "~2.1.2",
+ "glob-parent": "~5.1.0",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.3.0"
+ }
+ },
+ "chownr": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+ "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
+ },
+ "clone": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+ "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18="
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
+ },
+ "color": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz",
+ "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==",
+ "requires": {
+ "color-convert": "^1.9.1",
+ "color-string": "^1.5.2"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+ },
+ "color-string": {
+ "version": "1.5.3",
+ "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz",
+ "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==",
+ "requires": {
+ "color-name": "^1.0.0",
+ "simple-swizzle": "^0.2.2"
+ }
+ },
+ "combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
+ "commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+ },
+ "concaveman": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/concaveman/-/concaveman-1.2.0.tgz",
+ "integrity": "sha512-OcqechF2/kubbffomKqjGEkb0ndlYhEbmyg/fxIGqdfYp5AZjD2Kl5hc97Hh3ngEuHU2314Z4KDbxL7qXGWrQQ==",
+ "requires": {
+ "point-in-polygon": "^1.0.1",
+ "rbush": "^3.0.0",
+ "robust-predicates": "^2.0.4",
+ "tinyqueue": "^2.0.3"
+ }
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
+ },
+ "content-disposition": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
+ "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
+ "requires": {
+ "safe-buffer": "5.1.2"
+ }
+ },
+ "content-type": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
+ },
+ "cookie": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
+ "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="
+ },
+ "cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+ },
+ "cors": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
+ "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
+ "requires": {
+ "object-assign": "^4",
+ "vary": "^1"
+ }
+ },
+ "csscolorparser": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz",
+ "integrity": "sha1-s085HupNqPPpgjHizNjfnAQfFxs="
+ },
+ "d3-array": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz",
+ "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw=="
+ },
+ "d3-dsv": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.2.0.tgz",
+ "integrity": "sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==",
+ "requires": {
+ "commander": "2",
+ "iconv-lite": "0.4",
+ "rw": "1"
+ }
+ },
+ "d3-geo": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.12.1.tgz",
+ "integrity": "sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==",
+ "requires": {
+ "d3-array": "1"
+ }
+ },
+ "d3-queue": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/d3-queue/-/d3-queue-3.0.7.tgz",
+ "integrity": "sha1-yTouVLQXwJWRKdfXP2z31Ckudhg="
+ },
+ "d3-voronoi": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.2.tgz",
+ "integrity": "sha1-Fodmfo8TotFYyAwUgMWinLDYlzw="
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "debug": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "deep-equal": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz",
+ "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==",
+ "requires": {
+ "is-arguments": "^1.0.4",
+ "is-date-object": "^1.0.1",
+ "is-regex": "^1.0.4",
+ "object-is": "^1.0.1",
+ "object-keys": "^1.1.1",
+ "regexp.prototype.flags": "^1.2.0"
+ }
+ },
+ "deep-extend": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
+ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
+ },
+ "define-properties": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
+ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+ "requires": {
+ "object-keys": "^1.0.12"
+ }
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
+ },
+ "density-clustering": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/density-clustering/-/density-clustering-1.3.0.tgz",
+ "integrity": "sha1-3J9ZyPCrl+FiSsZJMP0xlIF9ysU="
+ },
+ "destroy": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
+ },
+ "detect-libc": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
+ "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups="
+ },
+ "dom-walk": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz",
+ "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w=="
+ },
+ "domelementtype": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
+ "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w=="
+ },
+ "domhandler": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.2.1.tgz",
+ "integrity": "sha1-Wd+dzSJ+gIs2Wuc+H2aErD2Ub8I=",
+ "requires": {
+ "domelementtype": "1"
+ }
+ },
+ "domutils": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.3.0.tgz",
+ "integrity": "sha1-mtTVm1r2ymhMYv5tdo7xcOcN8ZI=",
+ "requires": {
+ "domelementtype": "1"
+ }
+ },
+ "earcut": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.2.tgz",
+ "integrity": "sha512-eZoZPPJcUHnfRZ0PjLvx2qBordSiO8ofC3vt+qACLM95u+4DovnbYNpQtJh0DNsWj8RnxrQytD4WA8gj5cRIaQ=="
+ },
+ "ecc-jsbn": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+ "requires": {
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
+ "ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
+ },
+ "encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
+ },
+ "es-abstract": {
+ "version": "1.17.6",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz",
+ "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==",
+ "requires": {
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.2.0",
+ "is-regex": "^1.1.0",
+ "object-inspect": "^1.7.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.0",
+ "string.prototype.trimend": "^1.0.1",
+ "string.prototype.trimstart": "^1.0.1"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
+ },
+ "esm": {
+ "version": "3.2.25",
+ "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz",
+ "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA=="
+ },
+ "etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
+ },
+ "express": {
+ "version": "4.17.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
+ "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
+ "requires": {
+ "accepts": "~1.3.7",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.19.0",
+ "content-disposition": "0.5.3",
+ "content-type": "~1.0.4",
+ "cookie": "0.4.0",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "~1.1.2",
+ "fresh": "0.5.2",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.5",
+ "qs": "6.7.0",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.1.2",
+ "send": "0.17.1",
+ "serve-static": "1.14.1",
+ "setprototypeof": "1.1.1",
+ "statuses": "~1.5.0",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ },
+ "qs": {
+ "version": "6.7.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
+ "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
+ }
+ }
+ },
+ "extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
+ },
+ "extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
+ },
+ "fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "finalhandler": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
+ "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
+ "requires": {
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.3",
+ "statuses": "~1.5.0",
+ "unpipe": "~1.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ }
+ }
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
+ },
+ "forwarded": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
+ "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
+ },
+ "fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
+ },
+ "fs-minipass": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
+ "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
+ "requires": {
+ "minipass": "^2.6.0"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+ },
+ "fsevents": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
+ "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
+ "optional": true
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "requires": {
+ "aproba": "^1.0.3",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.0",
+ "object-assign": "^4.1.0",
+ "signal-exit": "^3.0.0",
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wide-align": "^1.1.0"
+ }
+ },
+ "generate-function": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz",
+ "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==",
+ "requires": {
+ "is-property": "^1.0.2"
+ }
+ },
+ "generate-object-property": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
+ "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
+ "requires": {
+ "is-property": "^1.0.0"
+ }
+ },
+ "geojson-area": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/geojson-area/-/geojson-area-0.1.0.tgz",
+ "integrity": "sha1-1I2AcILPrfSnjfE0m+UPOL8YlK4=",
+ "requires": {
+ "wgs84": "0.0.0"
+ }
+ },
+ "geojson-equality": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/geojson-equality/-/geojson-equality-0.1.6.tgz",
+ "integrity": "sha1-oXE3TvBD5dR5eZWEC65GSOB1LXI=",
+ "requires": {
+ "deep-equal": "^1.0.0"
+ }
+ },
+ "geojson-numeric": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/geojson-numeric/-/geojson-numeric-0.2.0.tgz",
+ "integrity": "sha1-q5quLqlyekg3B5rP8qqDyHLXLUo=",
+ "requires": {
+ "concat-stream": "~1.0.1",
+ "optimist": "~0.3.5"
+ },
+ "dependencies": {
+ "concat-stream": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.0.1.tgz",
+ "integrity": "sha1-AYsYvBx9BzotyCqkhEI0GixN158=",
+ "requires": {
+ "bops": "0.0.6"
+ }
+ },
+ "optimist": {
+ "version": "0.3.7",
+ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz",
+ "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=",
+ "requires": {
+ "wordwrap": "~0.0.2"
+ }
+ }
+ }
+ },
+ "geojson-rbush": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/geojson-rbush/-/geojson-rbush-2.1.0.tgz",
+ "integrity": "sha1-O9c745H8ELCuaT2bis6iquC4Oo0=",
+ "requires": {
+ "@turf/helpers": "*",
+ "@turf/meta": "*",
+ "rbush": "*"
+ }
+ },
+ "geojson-rewind": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/geojson-rewind/-/geojson-rewind-0.1.0.tgz",
+ "integrity": "sha1-VwIqBUsZZmDXVTVP5dJmhNkM0Bk=",
+ "requires": {
+ "concat-stream": "~1.2.1",
+ "geojson-area": "0.1.0",
+ "minimist": "0.0.5"
+ },
+ "dependencies": {
+ "concat-stream": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.2.1.tgz",
+ "integrity": "sha1-81EAtsRjeL+6i2uA+fDQzN8T3GA=",
+ "requires": {
+ "bops": "0.0.6"
+ }
+ },
+ "minimist": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.5.tgz",
+ "integrity": "sha1-16oye87PUY+RBqxrjwA/o7zqhWY="
+ }
+ }
+ },
+ "get-closest": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/get-closest/-/get-closest-0.0.4.tgz",
+ "integrity": "sha1-JprHdtHmAiqg/Vht1wjop9Miaa8="
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "global": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz",
+ "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=",
+ "requires": {
+ "min-document": "^2.19.0",
+ "process": "~0.5.1"
+ }
+ },
+ "handlebars": {
+ "version": "4.7.3",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.3.tgz",
+ "integrity": "sha512-SRGwSYuNfx8DwHD/6InAPzD6RgeruWLT+B8e8a7gGs8FWgHzlExpTFMEq2IA6QpAfOClpKHy6+8IqTjeBCu6Kg==",
+ "requires": {
+ "neo-async": "^2.6.0",
+ "optimist": "^0.6.1",
+ "source-map": "^0.6.1",
+ "uglify-js": "^3.1.4"
+ }
+ },
+ "har-schema": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
+ },
+ "har-validator": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
+ "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
+ "requires": {
+ "ajv": "^6.5.5",
+ "har-schema": "^2.0.0"
+ }
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg=="
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
+ },
+ "htmlparser2": {
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.5.1.tgz",
+ "integrity": "sha1-b0L3ZX3RnBP31l3pEYQXOUoL5tA=",
+ "requires": {
+ "domelementtype": "1",
+ "domhandler": "2.2",
+ "domutils": "1.3",
+ "readable-stream": "1.1"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
+ },
+ "readable-stream": {
+ "version": "1.1.14",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
+ }
+ }
+ },
+ "http-errors": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
+ "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
+ "requires": {
+ "depd": "~1.1.2",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.1.1",
+ "statuses": ">= 1.5.0 < 2",
+ "toidentifier": "1.0.0"
+ },
+ "dependencies": {
+ "depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ }
+ }
+ },
+ "http-shutdown": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/http-shutdown/-/http-shutdown-1.2.2.tgz",
+ "integrity": "sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw=="
+ },
+ "http-signature": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "ieee754": {
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
+ "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg=="
+ },
+ "ignore-walk": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz",
+ "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==",
+ "requires": {
+ "minimatch": "^3.0.4"
+ }
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "ini": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
+ },
+ "ipaddr.js": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
+ },
+ "is-arguments": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz",
+ "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA=="
+ },
+ "is-arrayish": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
+ "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
+ },
+ "is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "requires": {
+ "binary-extensions": "^2.0.0"
+ }
+ },
+ "is-callable": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz",
+ "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw=="
+ },
+ "is-date-object": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
+ "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g=="
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "is-function": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz",
+ "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ=="
+ },
+ "is-glob": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+ "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
+ },
+ "is-property": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
+ "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ="
+ },
+ "is-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz",
+ "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==",
+ "requires": {
+ "has-symbols": "^1.0.1"
+ }
+ },
+ "is-symbol": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
+ "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
+ "requires": {
+ "has-symbols": "^1.0.1"
+ }
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
+ },
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
+ },
+ "json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
+ },
+ "json-stringify-pretty-compact": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz",
+ "integrity": "sha512-WRitRfs6BGq4q8gTgOy4ek7iPFXjbra0H3PmDLKm2xnZ+Gh1HUhiKGgCZkSPNULlP7mvfu6FV/mOLhCarspADQ=="
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
+ },
+ "jsonparse": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
+ "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA="
+ },
+ "jsprim": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ }
+ },
+ "lineclip": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/lineclip/-/lineclip-1.1.5.tgz",
+ "integrity": "sha1-K/JgZ9lDVP6r+R5CdoI221YW/RM="
+ },
+ "mapshaper": {
+ "version": "0.4.161",
+ "resolved": "https://registry.npmjs.org/mapshaper/-/mapshaper-0.4.161.tgz",
+ "integrity": "sha512-TXvqk/jw6890XxoqsrhdHgPT99rDhgWXhdZFNqRUY0dFmgdoJ0XgNlV+iWxeCUi2plmho8tRqCVQFMd722wZuQ==",
+ "requires": {
+ "cookies": "^0.7.1",
+ "flatbush": "^3.1.0",
+ "iconv-lite": "0.4.24",
+ "mproj": "0.0.26",
+ "opn": "^5.3.0",
+ "optimist": "~0.6.0",
+ "rw": "~1.3.3",
+ "sync-request": "5.0.0"
+ },
+ "dependencies": {
+ "@types/concat-stream": {
+ "version": "1.6.0",
+ "resolved": "http://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.0.tgz",
+ "integrity": "sha1-OU2+C7X+5Gs42JZzXoto7yOQ0A0=",
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@types/form-data": {
+ "version": "0.0.33",
+ "resolved": "http://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz",
+ "integrity": "sha1-yayFsqX9GENbjIXZ7LUObWyJP/g=",
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@types/node": {
+ "version": "9.6.39",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.39.tgz",
+ "integrity": "sha512-c3OkjgNpSMdHan56WhklP0FMOk5ocilKz2Mpa0NOGzu8jw5YERjCf9FG0epYB1+TxScv/oI4uJ204u2mUg7Hcw=="
+ },
+ "@types/qs": {
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.5.1.tgz",
+ "integrity": "sha512-mNhVdZHdtKHMMxbqzNK3RzkBcN1cux3AvuCYGTvjEIQT2uheH3eCAyYsbMbh2Bq8nXkeOWs1kyDiF7geWRFQ4Q=="
+ },
+ "JSONStream": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
+ "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
+ "requires": {
+ "jsonparse": "^1.2.0",
+ "through": ">=2.2.7 <3"
+ }
+ },
+ "acorn": {
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.4.tgz",
+ "integrity": "sha512-VY4i5EKSKkofY2I+6QLTbTTN/UvEQPCo6eiwzzSaSWfpaDhOmStMCMod6wmuPciNq+XS0faCglFu2lHZpdHUtg=="
+ },
+ "acorn-dynamic-import": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz",
+ "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw=="
+ },
+ "acorn-node": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.6.2.tgz",
+ "integrity": "sha512-rIhNEZuNI8ibQcL7ANm/mGyPukIaZsRNX9psFNQURyJW0nu6k8wjSDld20z6v2mDBWqX13pIEnk9gGZJHIlEXg==",
+ "requires": {
+ "acorn": "^6.0.2",
+ "acorn-dynamic-import": "^4.0.0",
+ "acorn-walk": "^6.1.0",
+ "xtend": "^4.0.1"
+ }
+ },
+ "acorn-walk": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz",
+ "integrity": "sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw=="
+ },
+ "ansi-styles": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz",
+ "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg="
+ },
+ "array-filter": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz",
+ "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw="
+ },
+ "array-map": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz",
+ "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI="
+ },
+ "array-reduce": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz",
+ "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys="
+ },
+ "asap": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
+ },
+ "asn1.js": {
+ "version": "4.10.1",
+ "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
+ "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
+ "requires": {
+ "bn.js": "^4.0.0",
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "assert": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
+ "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
+ "requires": {
+ "util": "0.10.3"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+ "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE="
+ },
+ "util": {
+ "version": "0.10.3",
+ "resolved": "http://registry.npmjs.org/util/-/util-0.10.3.tgz",
+ "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+ "requires": {
+ "inherits": "2.0.1"
+ }
+ }
+ }
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
+ },
+ "base64-js": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
+ "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw=="
+ },
+ "bn.js": {
+ "version": "4.11.8",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
+ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA=="
+ },
+ "brorand": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
+ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8="
+ },
+ "browser-pack": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz",
+ "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==",
+ "requires": {
+ "JSONStream": "^1.0.3",
+ "combine-source-map": "~0.8.0",
+ "defined": "^1.0.0",
+ "safe-buffer": "^5.1.1",
+ "through2": "^2.0.0",
+ "umd": "^3.0.0"
+ }
+ },
+ "browser-resolve": {
+ "version": "1.11.3",
+ "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz",
+ "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==",
+ "requires": {
+ "resolve": "1.1.7"
+ },
+ "dependencies": {
+ "resolve": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs="
+ }
+ }
+ },
+ "browser-stdout": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
+ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw=="
+ },
+ "browserify": {
+ "version": "16.2.3",
+ "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.2.3.tgz",
+ "integrity": "sha512-zQt/Gd1+W+IY+h/xX2NYMW4orQWhqSwyV+xsblycTtpOuB27h1fZhhNQuipJ4t79ohw4P4mMem0jp/ZkISQtjQ==",
+ "requires": {
+ "JSONStream": "^1.0.3",
+ "assert": "^1.4.0",
+ "browser-pack": "^6.0.1",
+ "browser-resolve": "^1.11.0",
+ "browserify-zlib": "~0.2.0",
+ "buffer": "^5.0.2",
+ "cached-path-relative": "^1.0.0",
+ "concat-stream": "^1.6.0",
+ "console-browserify": "^1.1.0",
+ "constants-browserify": "~1.0.0",
+ "crypto-browserify": "^3.0.0",
+ "defined": "^1.0.0",
+ "deps-sort": "^2.0.0",
+ "domain-browser": "^1.2.0",
+ "duplexer2": "~0.1.2",
+ "events": "^2.0.0",
+ "glob": "^7.1.0",
+ "has": "^1.0.0",
+ "htmlescape": "^1.1.0",
+ "https-browserify": "^1.0.0",
+ "inherits": "~2.0.1",
+ "insert-module-globals": "^7.0.0",
+ "labeled-stream-splicer": "^2.0.0",
+ "mkdirp": "^0.5.0",
+ "module-deps": "^6.0.0",
+ "os-browserify": "~0.3.0",
+ "parents": "^1.0.1",
+ "path-browserify": "~0.0.0",
+ "process": "~0.11.0",
+ "punycode": "^1.3.2",
+ "querystring-es3": "~0.2.0",
+ "read-only-stream": "^2.0.0",
+ "readable-stream": "^2.0.2",
+ "resolve": "^1.1.4",
+ "shasum": "^1.0.0",
+ "shell-quote": "^1.6.1",
+ "stream-browserify": "^2.0.0",
+ "stream-http": "^2.0.0",
+ "string_decoder": "^1.1.1",
+ "subarg": "^1.0.0",
+ "syntax-error": "^1.1.1",
+ "through2": "^2.0.0",
+ "timers-browserify": "^1.0.1",
+ "tty-browserify": "0.0.1",
+ "url": "~0.11.0",
+ "util": "~0.10.1",
+ "vm-browserify": "^1.0.0",
+ "xtend": "^4.0.0"
+ },
+ "dependencies": {
+ "concat-stream": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "browserify-aes": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
+ "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
+ "requires": {
+ "buffer-xor": "^1.0.3",
+ "cipher-base": "^1.0.0",
+ "create-hash": "^1.1.0",
+ "evp_bytestokey": "^1.0.3",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "browserify-cipher": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
+ "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
+ "requires": {
+ "browserify-aes": "^1.0.4",
+ "browserify-des": "^1.0.0",
+ "evp_bytestokey": "^1.0.0"
+ }
+ },
+ "browserify-des": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
+ "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
+ "requires": {
+ "cipher-base": "^1.0.1",
+ "des.js": "^1.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ },
+ "dependencies": {
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ }
+ }
+ },
+ "browserify-rsa": {
+ "version": "4.0.1",
+ "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
+ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
+ "requires": {
+ "bn.js": "^4.1.0",
+ "randombytes": "^2.0.1"
+ }
+ },
+ "browserify-sign": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
+ "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
+ "requires": {
+ "bn.js": "^4.1.1",
+ "browserify-rsa": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "create-hmac": "^1.1.2",
+ "elliptic": "^6.0.0",
+ "inherits": "^2.0.1",
+ "parse-asn1": "^5.0.0"
+ }
+ },
+ "browserify-zlib": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
+ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
+ "requires": {
+ "pako": "~1.0.5"
+ }
+ },
+ "buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz",
+ "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==",
+ "requires": {
+ "base64-js": "^1.0.2",
+ "ieee754": "^1.1.4"
+ }
+ },
+ "buffer-from": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
+ },
+ "buffer-xor": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
+ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk="
+ },
+ "builtin-status-codes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
+ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug="
+ },
+ "cached-path-relative": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz",
+ "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg=="
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
+ },
+ "catty": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/catty/-/catty-0.1.0.tgz",
+ "integrity": "sha512-CaWGFRKsF24UtnYMT1YRKdFjC34mYsbQl+Gu9r6Jkm6a/plUI5E82GJ/Si9IfKnftNUeksjAM/Oh7qPcKKs38A==",
+ "requires": {
+ "nomnom": "~1.8",
+ "underscore": "~1.7"
+ },
+ "dependencies": {
+ "underscore": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz",
+ "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk="
+ }
+ }
+ },
+ "chalk": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz",
+ "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=",
+ "requires": {
+ "ansi-styles": "~1.0.0",
+ "has-color": "~0.1.0",
+ "strip-ansi": "~0.1.0"
+ }
+ },
+ "cipher-base": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
+ "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=",
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "combine-source-map": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz",
+ "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=",
+ "requires": {
+ "convert-source-map": "~1.1.0",
+ "inline-source-map": "~0.6.0",
+ "lodash.memoize": "~3.0.3",
+ "source-map": "~0.5.3"
+ }
+ },
+ "combined-stream": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
+ "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+ },
+ "console-browserify": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
+ "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
+ "requires": {
+ "date-now": "^0.1.4"
+ }
+ },
+ "constants-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
+ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U="
+ },
+ "convert-source-map": {
+ "version": "1.1.3",
+ "resolved": "http://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
+ "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA="
+ },
+ "cookies": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.7.3.tgz",
+ "integrity": "sha512-+gixgxYSgQLTaTIilDHAdlNPZDENDQernEMiIcZpYYP14zgHsCt4Ce1FEjFtcp6GefhozebB6orvhAAWx/IS0A==",
+ "requires": {
+ "depd": "~1.1.2",
+ "keygrip": "~1.0.3"
+ }
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+ },
+ "create-ecdh": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
+ "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
+ "requires": {
+ "bn.js": "^4.1.0",
+ "elliptic": "^6.0.0"
+ }
+ },
+ "create-hash": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
+ "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
+ "requires": {
+ "cipher-base": "^1.0.1",
+ "inherits": "^2.0.1",
+ "md5.js": "^1.3.4",
+ "ripemd160": "^2.0.1",
+ "sha.js": "^2.4.0"
+ }
+ },
+ "create-hmac": {
+ "version": "1.1.7",
+ "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
+ "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
+ "requires": {
+ "cipher-base": "^1.0.3",
+ "create-hash": "^1.1.0",
+ "inherits": "^2.0.1",
+ "ripemd160": "^2.0.0",
+ "safe-buffer": "^5.0.1",
+ "sha.js": "^2.4.8"
+ }
+ },
+ "crypto-browserify": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
+ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
+ "requires": {
+ "browserify-cipher": "^1.0.0",
+ "browserify-sign": "^4.0.0",
+ "create-ecdh": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "create-hmac": "^1.1.0",
+ "diffie-hellman": "^5.0.0",
+ "inherits": "^2.0.1",
+ "pbkdf2": "^3.0.3",
+ "public-encrypt": "^4.0.0",
+ "randombytes": "^2.0.0",
+ "randomfill": "^1.0.3"
+ }
+ },
+ "csv-spectrum": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/csv-spectrum/-/csv-spectrum-1.0.0.tgz",
+ "integrity": "sha1-WRrJ/0itTz60M4RXvJgBs0nj1ig="
+ },
+ "date-now": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
+ "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs="
+ },
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "deep-eql": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz",
+ "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=",
+ "requires": {
+ "type-detect": "0.1.1"
+ }
+ },
+ "defined": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+ "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM="
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
+ },
+ "depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
+ },
+ "deps-sort": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz",
+ "integrity": "sha1-CRckkC6EZYJg65EHSMzNGvbiH7U=",
+ "requires": {
+ "JSONStream": "^1.0.3",
+ "shasum": "^1.0.0",
+ "subarg": "^1.0.0",
+ "through2": "^2.0.0"
+ }
+ },
+ "des.js": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
+ "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
+ "requires": {
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "detective": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/detective/-/detective-5.1.0.tgz",
+ "integrity": "sha512-TFHMqfOvxlgrfVzTEkNBSh9SvSNX/HfF4OFI2QFGCyPm02EsyILqnUeb5P6q7JZ3SFNTBL5t2sePRgrN4epUWQ==",
+ "requires": {
+ "acorn-node": "^1.3.0",
+ "defined": "^1.0.0",
+ "minimist": "^1.1.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+ }
+ }
+ },
+ "diff": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
+ "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA=="
+ },
+ "diffie-hellman": {
+ "version": "5.0.3",
+ "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
+ "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
+ "requires": {
+ "bn.js": "^4.1.0",
+ "miller-rabin": "^4.0.0",
+ "randombytes": "^2.0.0"
+ }
+ },
+ "domain-browser": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
+ "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA=="
+ },
+ "duplexer2": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
+ "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
+ "requires": {
+ "readable-stream": "^2.0.2"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ }
+ }
+ },
+ "elliptic": {
+ "version": "6.4.1",
+ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz",
+ "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==",
+ "requires": {
+ "bn.js": "^4.4.0",
+ "brorand": "^1.0.1",
+ "hash.js": "^1.0.0",
+ "hmac-drbg": "^1.0.0",
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0",
+ "minimalistic-crypto-utils": "^1.0.0"
+ }
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+ },
+ "events": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz",
+ "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg=="
+ },
+ "evp_bytestokey": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
+ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
+ "requires": {
+ "md5.js": "^1.3.4",
+ "safe-buffer": "^5.1.1"
+ }
+ },
+ "flatbush": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/flatbush/-/flatbush-3.1.0.tgz",
+ "integrity": "sha512-gK1GFGxxmHISdkZJKYacwrNy0sDK3dppRznffE0wRkNn8lBn0KW82z+3MiiJ9cOqRMtV+xwF+N6Zwxk06IbE8A==",
+ "requires": {
+ "flatqueue": "^1.1.0"
+ }
+ },
+ "flatqueue": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/flatqueue/-/flatqueue-1.1.0.tgz",
+ "integrity": "sha512-N95K6UfbI1wg6iOg3ItYrL3d3kNN6Fe0+dsp6sbTBg9/3dqR5KiTaMdfxG2dz2ITKAWCSYCvjf69xpA6760Zfw=="
+ },
+ "form-data": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ },
+ "geographiclib": {
+ "version": "1.48.0",
+ "resolved": "https://registry.npmjs.org/geographiclib/-/geographiclib-1.48.0.tgz",
+ "integrity": "sha1-j/KuGFrTgPZ122okOTX63RR974I="
+ },
+ "get-assigned-identifiers": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz",
+ "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ=="
+ },
+ "get-port": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz",
+ "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw="
+ },
+ "glob": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "growl": {
+ "version": "1.10.5",
+ "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
+ "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA=="
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "has-color": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz",
+ "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8="
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+ },
+ "hash-base": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
+ "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "hash.js": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz",
+ "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==",
+ "requires": {
+ "inherits": "^2.0.3",
+ "minimalistic-assert": "^1.0.1"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ }
+ }
+ },
+ "he": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
+ "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0="
+ },
+ "hmac-drbg": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
+ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
+ "requires": {
+ "hash.js": "^1.0.3",
+ "minimalistic-assert": "^1.0.0",
+ "minimalistic-crypto-utils": "^1.0.1"
+ }
+ },
+ "htmlescape": {
+ "version": "1.1.1",
+ "resolved": "http://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz",
+ "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E="
+ },
+ "http-basic": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-6.0.0.tgz",
+ "integrity": "sha512-7ScbVjuiReYe8S+OZOpNjoKGXrbhJHIrQQe7eq1TpLTJkxH8MPKvnTUzq/TNLjww1hdFQy8yUIC42wuLhCjYcQ==",
+ "requires": {
+ "@types/concat-stream": "^1.6.0",
+ "@types/node": "^7.0.31",
+ "caseless": "~0.12.0",
+ "concat-stream": "^1.4.6",
+ "http-response-object": "^3.0.1",
+ "parse-cache-control": "^1.0.1"
+ },
+ "dependencies": {
+ "@types/node": {
+ "version": "7.10.2",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-7.10.2.tgz",
+ "integrity": "sha512-RO4ig5taKmcrU4Rex8ojG1gpwFkjddzug9iPQSDvbewHN9vDpcFewevkaOK+KT+w1LeZnxbgOyfXwV4pxsQ4GQ=="
+ },
+ "concat-stream": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ }
+ }
+ },
+ "http-response-object": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.1.tgz",
+ "integrity": "sha512-6L0Fkd6TozA8kFSfh9Widst0wfza3U1Ex2RjJ6zNDK0vR1U1auUR6jY4Nn2Xl7CCy0ikFmxW1XcspVpb9RvwTg==",
+ "requires": {
+ "@types/node": "^9.3.0"
+ }
+ },
+ "https-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
+ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM="
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "ieee754": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz",
+ "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA=="
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ },
+ "inline-source-map": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz",
+ "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=",
+ "requires": {
+ "source-map": "~0.5.3"
+ }
+ },
+ "insert-module-globals": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.0.tgz",
+ "integrity": "sha512-VE6NlW+WGn2/AeOMd496AHFYmE7eLKkUY6Ty31k4og5vmA3Fjuwe9v6ifH6Xx/Hz27QvdoMoviw1/pqWRB09Sw==",
+ "requires": {
+ "JSONStream": "^1.0.3",
+ "acorn-node": "^1.5.2",
+ "combine-source-map": "^0.8.0",
+ "concat-stream": "^1.6.1",
+ "is-buffer": "^1.1.0",
+ "path-is-absolute": "^1.0.1",
+ "process": "~0.11.0",
+ "through2": "^2.0.0",
+ "undeclared-identifiers": "^1.1.2",
+ "xtend": "^4.0.0"
+ },
+ "dependencies": {
+ "concat-stream": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ }
+ }
+ },
+ "is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
+ },
+ "is-wsl": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
+ "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0="
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+ },
+ "json-stable-stringify": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz",
+ "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=",
+ "requires": {
+ "jsonify": "~0.0.0"
+ }
+ },
+ "jsonify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM="
+ },
+ "jsonparse": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
+ "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA="
+ },
+ "keygrip": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.0.3.tgz",
+ "integrity": "sha512-/PpesirAIfaklxUzp4Yb7xBper9MwP6hNRA6BGGUFCgbJ+BM5CKBtsoxinNXkLHAr+GXS1/lSlF2rP7cv5Fl+g=="
+ },
+ "labeled-stream-splicer": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.1.tgz",
+ "integrity": "sha512-MC94mHZRvJ3LfykJlTUipBqenZz1pacOZEMhhQ8dMGcDHs0SBE5GbsavUXV7YtP3icBW17W0Zy1I0lfASmo9Pg==",
+ "requires": {
+ "inherits": "^2.0.1",
+ "isarray": "^2.0.4",
+ "stream-splicer": "^2.0.0"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.4.tgz",
+ "integrity": "sha512-GMxXOiUirWg1xTKRipM0Ek07rX+ubx4nNVElTJdNLYmNO/2YrDkgJGw9CljXn+r4EWiDQg/8lsRdHyg2PJuUaA=="
+ }
+ }
+ },
+ "lodash.memoize": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz",
+ "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8="
+ },
+ "md5.js": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
+ "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
+ "requires": {
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ },
+ "dependencies": {
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ }
+ }
+ },
+ "miller-rabin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
+ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
+ "requires": {
+ "bn.js": "^4.0.0",
+ "brorand": "^1.0.1"
+ }
+ },
+ "mime-db": {
+ "version": "1.37.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
+ "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg=="
+ },
+ "mime-types": {
+ "version": "2.1.21",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
+ "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
+ "requires": {
+ "mime-db": "~1.37.0"
+ }
+ },
+ "minimalistic-assert": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
+ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
+ },
+ "minimalistic-crypto-utils": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
+ "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo="
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ },
+ "dependencies": {
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
+ },
+ "brace-expansion": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
+ "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ }
+ }
+ },
+ "minimist": {
+ "version": "0.0.10",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
+ "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8="
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "requires": {
+ "minimist": "0.0.8"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
+ }
+ }
+ },
+ "mocha": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz",
+ "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==",
+ "requires": {
+ "browser-stdout": "1.3.1",
+ "commander": "2.15.1",
+ "debug": "3.1.0",
+ "diff": "3.5.0",
+ "escape-string-regexp": "1.0.5",
+ "glob": "7.1.2",
+ "growl": "1.10.5",
+ "he": "1.1.1",
+ "minimatch": "3.0.4",
+ "mkdirp": "0.5.1",
+ "supports-color": "5.4.0"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.15.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
+ "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag=="
+ }
+ }
+ },
+ "module-deps": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.0.tgz",
+ "integrity": "sha512-hKPmO06so6bL/ZvqVNVqdTVO8UAYsi3tQWlCa+z9KuWhoN4KDQtb5hcqQQv58qYiDE21wIvnttZEPiDgEbpwbA==",
+ "requires": {
+ "JSONStream": "^1.0.3",
+ "browser-resolve": "^1.7.0",
+ "cached-path-relative": "^1.0.0",
+ "concat-stream": "~1.6.0",
+ "defined": "^1.0.0",
+ "detective": "^5.0.2",
+ "duplexer2": "^0.1.2",
+ "inherits": "^2.0.1",
+ "parents": "^1.0.0",
+ "readable-stream": "^2.0.2",
+ "resolve": "^1.4.0",
+ "stream-combiner2": "^1.1.1",
+ "subarg": "^1.0.0",
+ "through2": "^2.0.0",
+ "xtend": "^4.0.0"
+ },
+ "dependencies": {
+ "concat-stream": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ }
+ }
+ },
+ "mproj": {
+ "version": "0.0.26",
+ "resolved": "https://registry.npmjs.org/mproj/-/mproj-0.0.26.tgz",
+ "integrity": "sha512-8A0hXbhi3qzDAU5mRyc9XhqgF1v3OLR1SKa4sopRvyKZKQIouwKke5wyQ9ouz6UmpAYK05ZTwUD0gfDw2Ny9kA==",
+ "requires": {
+ "geographiclib": "1.48.0",
+ "rw": "~1.3.2"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ },
+ "nomnom": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz",
+ "integrity": "sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc=",
+ "requires": {
+ "chalk": "~0.4.0",
+ "underscore": "~1.6.0"
+ },
+ "dependencies": {
+ "underscore": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz",
+ "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag="
+ }
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "opn": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz",
+ "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==",
+ "requires": {
+ "is-wsl": "^1.1.0"
+ }
+ },
+ "optimist": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+ "requires": {
+ "minimist": "~0.0.1",
+ "wordwrap": "~0.0.2"
+ }
+ },
+ "os-browserify": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
+ "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc="
+ },
+ "pako": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz",
+ "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg=="
+ },
+ "parents": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz",
+ "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=",
+ "requires": {
+ "path-platform": "~0.11.15"
+ }
+ },
+ "parse-asn1": {
+ "version": "5.1.1",
+ "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz",
+ "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==",
+ "requires": {
+ "asn1.js": "^4.0.0",
+ "browserify-aes": "^1.0.0",
+ "create-hash": "^1.1.0",
+ "evp_bytestokey": "^1.0.0",
+ "pbkdf2": "^3.0.3"
+ }
+ },
+ "parse-cache-control": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz",
+ "integrity": "sha1-juqz5U+laSD+Fro493+iGqzC104="
+ },
+ "path-browserify": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
+ "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ=="
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+ },
+ "path-parse": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
+ },
+ "path-platform": {
+ "version": "0.11.15",
+ "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz",
+ "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I="
+ },
+ "pbkdf2": {
+ "version": "3.0.17",
+ "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
+ "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==",
+ "requires": {
+ "create-hash": "^1.1.2",
+ "create-hmac": "^1.1.4",
+ "ripemd160": "^2.0.1",
+ "safe-buffer": "^5.0.1",
+ "sha.js": "^2.4.8"
+ }
+ },
+ "process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
+ },
+ "process-nextick-args": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
+ },
+ "promise": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/promise/-/promise-8.0.2.tgz",
+ "integrity": "sha512-EIyzM39FpVOMbqgzEHhxdrEhtOSDOtjMZQ0M6iVfCE+kWNgCkAyOdnuCWqfmflylftfadU6FkiMgHZA2kUzwRw==",
+ "requires": {
+ "asap": "~2.0.6"
+ }
+ },
+ "public-encrypt": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
+ "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
+ "requires": {
+ "bn.js": "^4.1.0",
+ "browserify-rsa": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "parse-asn1": "^5.0.0",
+ "randombytes": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ },
+ "dependencies": {
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ }
+ }
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
+ },
+ "qs": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
+ },
+ "querystring": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
+ },
+ "querystring-es3": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM="
+ },
+ "randombytes": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
+ "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==",
+ "requires": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "randomfill": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
+ "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
+ "requires": {
+ "randombytes": "^2.0.5",
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "read-only-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz",
+ "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=",
+ "requires": {
+ "readable-stream": "^2.0.2"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ }
+ }
+ },
+ "resolve": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz",
+ "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==",
+ "requires": {
+ "path-parse": "^1.0.5"
+ }
+ },
+ "ripemd160": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
+ "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
+ "requires": {
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1"
+ }
+ },
+ "rw": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
+ "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q="
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "sha.js": {
+ "version": "2.4.11",
+ "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
+ "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "shasum": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz",
+ "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=",
+ "requires": {
+ "json-stable-stringify": "~0.0.0",
+ "sha.js": "~2.4.4"
+ }
+ },
+ "shell-quote": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz",
+ "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=",
+ "requires": {
+ "array-filter": "~0.0.0",
+ "array-map": "~0.0.0",
+ "array-reduce": "~0.0.0",
+ "jsonify": "~0.0.0"
+ }
+ },
+ "simple-concat": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz",
+ "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY="
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ },
+ "stream-browserify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
+ "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
+ "requires": {
+ "inherits": "~2.0.1",
+ "readable-stream": "^2.0.2"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ }
+ }
+ },
+ "stream-combiner2": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
+ "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=",
+ "requires": {
+ "duplexer2": "~0.1.0",
+ "readable-stream": "^2.0.2"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ }
+ }
+ },
+ "stream-http": {
+ "version": "2.8.3",
+ "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
+ "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
+ "requires": {
+ "builtin-status-codes": "^3.0.0",
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.3.6",
+ "to-arraybuffer": "^1.0.0",
+ "xtend": "^4.0.0"
+ },
+ "dependencies": {
+ "process-nextick-args": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ }
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "stream-splicer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.0.tgz",
+ "integrity": "sha1-G2O+Q4oTPktnHMGTUZdgAXWRDYM=",
+ "requires": {
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.2"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ }
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz",
+ "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE="
+ },
+ "subarg": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
+ "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=",
+ "requires": {
+ "minimist": "^1.1.0"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+ }
+ }
+ },
+ "supports-color": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
+ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "sync-request": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-5.0.0.tgz",
+ "integrity": "sha512-NKhEA4WacR3mRBIFz1niXrIUTrUVFtP2spzrLMINangebvJ/EFyVv+LMJKvVl6UIrJM4Fburnnj91lRnqb4WkA==",
+ "requires": {
+ "http-response-object": "^3.0.1",
+ "sync-rpc": "^1.2.0",
+ "then-request": "^5.0.0"
+ },
+ "dependencies": {
+ "@types/node": {
+ "version": "8.10.38",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.38.tgz",
+ "integrity": "sha512-EibsnbJerd0hBFaDjJStFrVbVBAtOy4dgL8zZFw0uOvPqzBAX59Ci8cgjg3+RgJIWhsB5A4c+pi+D4P9tQQh/A=="
+ },
+ "concat-stream": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "then-request": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/then-request/-/then-request-5.0.0.tgz",
+ "integrity": "sha512-A3uIVLD33SAvB10PfsxLuQBMV8GVC/6xKBMPOvkJchi6251e5AMJ+Yy+RVKsVsnj0iYNhN2E5SkNSi58H19wsw==",
+ "requires": {
+ "@types/concat-stream": "^1.6.0",
+ "@types/form-data": "0.0.33",
+ "@types/node": "^8.0.0",
+ "@types/qs": "^6.2.31",
+ "caseless": "~0.12.0",
+ "concat-stream": "^1.6.0",
+ "form-data": "^2.2.0",
+ "http-basic": "^6.0.0",
+ "http-response-object": "^3.0.1",
+ "promise": "^8.0.0",
+ "qs": "^6.4.0"
+ }
+ }
+ }
+ },
+ "sync-rpc": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.4.tgz",
+ "integrity": "sha512-Iug+t1ICVFenUcTnDu8WXFnT+k8IVoLKGh8VA3eXUtl2Rt9SjKX3YEv33OenABqpTPL9QEaHv1+CNn2LK8vMow==",
+ "requires": {
+ "get-port": "^3.1.0"
+ }
+ },
+ "syntax-error": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz",
+ "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==",
+ "requires": {
+ "acorn-node": "^1.2.0"
+ }
+ },
+ "through": {
+ "version": "2.3.8",
+ "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
+ },
+ "through2": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
+ "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
+ "requires": {
+ "readable-stream": "~2.3.6",
+ "xtend": "~4.0.1"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ },
+ "process-nextick-args": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "timers-browserify": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz",
+ "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=",
+ "requires": {
+ "process": "~0.11.0"
+ }
+ },
+ "to-arraybuffer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
+ "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M="
+ },
+ "tty-browserify": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz",
+ "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw=="
+ },
+ "type-detect": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz",
+ "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI="
+ },
+ "typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
+ },
+ "umd": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz",
+ "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow=="
+ },
+ "undeclared-identifiers": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.2.tgz",
+ "integrity": "sha512-13EaeocO4edF/3JKime9rD7oB6QI8llAGhgn5fKOPyfkJbRb6NFv9pYV6dFEmpa4uRjKeBqLZP8GpuzqHlKDMQ==",
+ "requires": {
+ "acorn-node": "^1.3.0",
+ "get-assigned-identifiers": "^1.2.0",
+ "simple-concat": "^1.0.0",
+ "xtend": "^4.0.1"
+ }
+ },
+ "underscore": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.0.tgz",
+ "integrity": "sha512-4IV1DSSxC1QK48j9ONFK1MoIAKKkbE8i7u55w2R6IqBqbT7A/iG7aZBCR2Bi8piF0Uz+i/MG1aeqLwl/5vqF+A=="
+ },
+ "url": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+ "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+ "requires": {
+ "punycode": "1.3.2",
+ "querystring": "0.2.0"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0="
+ }
+ }
+ },
+ "util": {
+ "version": "0.10.4",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
+ "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
+ "requires": {
+ "inherits": "2.0.3"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ }
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+ },
+ "vm-browserify": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz",
+ "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw=="
+ },
+ "wordwrap": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
+ "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc="
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ },
+ "xtend": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
+ }
+ }
+ },
+ "media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
+ },
+ "merge-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
+ },
+ "methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
+ },
+ "mgrs": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/mgrs/-/mgrs-1.0.0.tgz",
+ "integrity": "sha1-+5FYjnjJACVnI5XLQLJffNatGCk="
+ },
+ "mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
+ },
+ "mime-db": {
+ "version": "1.44.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
+ "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg=="
+ },
+ "mime-types": {
+ "version": "2.1.27",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
+ "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
+ "requires": {
+ "mime-db": "1.44.0"
+ }
+ },
+ "min-document": {
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
+ "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=",
+ "requires": {
+ "dom-walk": "^0.1.0"
+ }
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "0.0.10",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
+ "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8="
+ },
+ "minipass": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
+ "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
+ "requires": {
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.0"
+ }
+ },
+ "minizlib": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
+ "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
+ "requires": {
+ "minipass": "^2.9.0"
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+ "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+ "requires": {
+ "minimist": "^1.2.5"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
+ }
+ }
+ },
+ "morgan": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz",
+ "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==",
+ "requires": {
+ "basic-auth": "~2.0.0",
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "on-finished": "~2.3.0",
+ "on-headers": "~1.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ }
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "nan": {
+ "version": "2.14.1",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz",
+ "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw=="
+ },
+ "needle": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/needle/-/needle-2.5.0.tgz",
+ "integrity": "sha512-o/qITSDR0JCyCKEQ1/1bnUXMmznxabbwi/Y4WwJElf+evwJNFNwIDMCCt5IigFVxgeGBJESLohGtIS9gEzo1fA==",
+ "requires": {
+ "debug": "^3.2.6",
+ "iconv-lite": "^0.4.4",
+ "sax": "^1.2.4"
+ }
+ },
+ "negotiator": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
+ "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
+ },
+ "neo-async": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
+ "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw=="
+ },
+ "node-pre-gyp": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz",
+ "integrity": "sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==",
+ "requires": {
+ "detect-libc": "^1.0.2",
+ "mkdirp": "^0.5.1",
+ "needle": "^2.2.1",
+ "nopt": "^4.0.1",
+ "npm-packlist": "^1.1.6",
+ "npmlog": "^4.0.2",
+ "rc": "^1.2.7",
+ "rimraf": "^2.6.1",
+ "semver": "^5.3.0",
+ "tar": "^4"
+ }
+ },
+ "nopt": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
+ "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
+ "requires": {
+ "abbrev": "1",
+ "osenv": "^0.1.4"
+ }
+ },
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
+ },
+ "npm-bundled": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz",
+ "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==",
+ "requires": {
+ "npm-normalize-package-bin": "^1.0.1"
+ }
+ },
+ "npm-normalize-package-bin": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz",
+ "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA=="
+ },
+ "npm-packlist": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz",
+ "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==",
+ "requires": {
+ "ignore-walk": "^3.0.1",
+ "npm-bundled": "^1.0.1",
+ "npm-normalize-package-bin": "^1.0.1"
+ }
+ },
+ "npmlog": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
+ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "requires": {
+ "are-we-there-yet": "~1.1.2",
+ "console-control-strings": "~1.1.0",
+ "gauge": "~2.7.3",
+ "set-blocking": "~2.0.0"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
+ },
+ "oauth-sign": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+ },
+ "object-inspect": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
+ "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw=="
+ },
+ "object-is": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.2.tgz",
+ "integrity": "sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==",
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5"
+ }
+ },
+ "object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
+ },
+ "object.assign": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
+ "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
+ "requires": {
+ "define-properties": "^1.1.2",
+ "function-bind": "^1.1.1",
+ "has-symbols": "^1.0.0",
+ "object-keys": "^1.0.11"
+ }
+ },
+ "on-finished": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+ "requires": {
+ "ee-first": "1.1.1"
+ }
+ },
+ "on-headers": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
+ "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA=="
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "opener": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz",
+ "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA=="
+ },
+ "optimist": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+ "requires": {
+ "minimist": "~0.0.1",
+ "wordwrap": "~0.0.2"
+ }
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
+ },
+ "osenv": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
+ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+ "requires": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
+ }
+ },
+ "osm-polygon-features": {
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/osm-polygon-features/-/osm-polygon-features-0.9.2.tgz",
+ "integrity": "sha1-IK5BEwxIbkmjsqPCtYoUGcSYZ3g="
+ },
+ "osmtogeojson": {
+ "version": "2.2.12",
+ "resolved": "https://registry.npmjs.org/osmtogeojson/-/osmtogeojson-2.2.12.tgz",
+ "integrity": "sha1-8IT319XwOKQ4OzHANjR6E0sIGdM=",
+ "requires": {
+ "JSONStream": "0.8.0",
+ "concat-stream": "~1.0.1",
+ "geojson-numeric": "0.2.0",
+ "geojson-rewind": "0.1.0",
+ "htmlparser2": "3.5.1",
+ "optimist": "~0.3.5",
+ "osm-polygon-features": "^0.9.1",
+ "xmldom": "~0.1.16"
+ },
+ "dependencies": {
+ "JSONStream": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-0.8.0.tgz",
+ "integrity": "sha1-78Ri1aW8lOwAf0siVxrNf28q4BM=",
+ "requires": {
+ "jsonparse": "0.0.5",
+ "through": "~2.2.7"
+ }
+ },
+ "concat-stream": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.0.1.tgz",
+ "integrity": "sha1-AYsYvBx9BzotyCqkhEI0GixN158=",
+ "requires": {
+ "bops": "0.0.6"
+ }
+ },
+ "jsonparse": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz",
+ "integrity": "sha1-MwVCrT8KZUZlt3jz6y2an6UHrGQ="
+ },
+ "optimist": {
+ "version": "0.3.7",
+ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz",
+ "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=",
+ "requires": {
+ "wordwrap": "~0.0.2"
+ }
+ },
+ "through": {
+ "version": "2.2.7",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.2.7.tgz",
+ "integrity": "sha1-bo4hIAGR1OtqmfbwEN9Gqhxusr0="
+ }
+ }
+ },
+ "parse-headers": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz",
+ "integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA=="
+ },
+ "parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+ },
+ "path-to-regexp": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+ "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
+ },
+ "pbf": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.2.1.tgz",
+ "integrity": "sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==",
+ "requires": {
+ "ieee754": "^1.1.12",
+ "resolve-protobuf-schema": "^2.1.0"
+ },
+ "dependencies": {
+ "resolve-protobuf-schema": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz",
+ "integrity": "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==",
+ "requires": {
+ "protocol-buffers-schema": "^3.3.1"
+ }
+ }
+ }
+ },
+ "performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
+ },
+ "picomatch": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg=="
+ },
+ "point-in-polygon": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/point-in-polygon/-/point-in-polygon-1.0.1.tgz",
+ "integrity": "sha1-1Ztk6P7kHElFiqyCtWcYxZV7Kvc="
+ },
+ "prettier": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.0.5.tgz",
+ "integrity": "sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg=="
+ },
+ "process": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz",
+ "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8="
+ },
+ "process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+ },
+ "proj4": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/proj4/-/proj4-2.6.0.tgz",
+ "integrity": "sha512-ll2WyehUFOyzEZtN8hAiOTmZpuDCN5V+4A/HjhPbhlwVwlsFKnIHSZ3l3uhzgDndHjoL2MyERFGe9VmXN4rYUg==",
+ "requires": {
+ "mgrs": "1.0.0",
+ "wkt-parser": "^1.2.0"
+ }
+ },
+ "protobuf-schema": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/protobuf-schema/-/protobuf-schema-1.5.1.tgz",
+ "integrity": "sha1-EJEurRT92QWZ7Ru4xu2Wgfu67R0="
+ },
+ "protocol-buffers": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/protocol-buffers/-/protocol-buffers-2.7.0.tgz",
+ "integrity": "sha1-+51qpMMb21y/cC6/S9Qcza1/eCQ=",
+ "requires": {
+ "generate-function": "^2.0.0",
+ "generate-object-property": "^1.1.0",
+ "protobuf-schema": "^1.5.0",
+ "resolve-protobuf-schema": "^1.0.2",
+ "signed-varint": "^2.0.0",
+ "varint": "^4.0.0"
+ }
+ },
+ "protocol-buffers-schema": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.4.0.tgz",
+ "integrity": "sha512-G/2kcamPF2S49W5yaMGdIpkG6+5wZF0fzBteLKgEHjbNzqjZQ85aAs1iJGto31EJaSTkNvHs5IXuHSaTLWBAiA=="
+ },
+ "proxy-addr": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
+ "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
+ "requires": {
+ "forwarded": "~0.1.2",
+ "ipaddr.js": "1.9.1"
+ }
+ },
+ "psl": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
+ "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
+ },
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
+ },
+ "query-overpass": {
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/query-overpass/-/query-overpass-1.5.5.tgz",
+ "integrity": "sha512-GiSzJ/lgi0JePaLI0q7TY43QjUOtpIF5kIbQC0DyOD0psBFEJeVjFZDPaWIgD7GctTvRrt0438Vqp1zUEPw6hA==",
+ "requires": {
+ "JSONStream": "^1.3.5",
+ "concat-stream": "^2.0.0",
+ "minimist": "^1.2.0",
+ "osmtogeojson": "^2.2.12",
+ "request": "^2.88.0",
+ "xhr": "^2.4.0",
+ "xmldom": "^0.1.27"
+ },
+ "dependencies": {
+ "concat-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz",
+ "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==",
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.0.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
+ },
+ "readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ }
+ }
+ },
+ "quickselect": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz",
+ "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw=="
+ },
+ "range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
+ },
+ "raw-body": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
+ "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
+ "requires": {
+ "bytes": "3.1.0",
+ "http-errors": "1.7.2",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ }
+ },
+ "rbush": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz",
+ "integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==",
+ "requires": {
+ "quickselect": "^2.0.0"
+ }
+ },
+ "rc": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
+ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+ "requires": {
+ "deep-extend": "^0.6.0",
+ "ini": "~1.3.0",
+ "minimist": "^1.2.0",
+ "strip-json-comments": "~2.0.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "readdirp": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz",
+ "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==",
+ "requires": {
+ "picomatch": "^2.0.7"
+ }
+ },
+ "regexp.prototype.flags": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz",
+ "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==",
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.0-next.1"
+ }
+ },
+ "request": {
+ "version": "2.88.2",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+ "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
+ "requires": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.3",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.5.0",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
+ },
+ "dependencies": {
+ "form-data": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "qs": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
+ }
+ }
+ },
+ "resolve-protobuf-schema": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-1.0.2.tgz",
+ "integrity": "sha1-kSGa/jBBXVXa2984Eykr0iI8WZA=",
+ "requires": {
+ "protobuf-schema": "^1.2.0"
+ }
+ },
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "robust-predicates": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-2.0.4.tgz",
+ "integrity": "sha512-l4NwboJM74Ilm4VKfbAtFeGq7aEjWL+5kVFcmgFA2MrdnQWx9iE/tUGvxY5HyMI7o/WpSIUFLbC5fbeaHgSCYg=="
+ },
+ "rw": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
+ "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q="
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "sax": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+ },
+ "send": {
+ "version": "0.17.1",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
+ "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
+ "requires": {
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "destroy": "~1.0.4",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "~1.7.2",
+ "mime": "1.6.0",
+ "ms": "2.1.1",
+ "on-finished": "~2.3.0",
+ "range-parser": "~1.2.1",
+ "statuses": "~1.5.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ }
+ }
+ },
+ "depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
+ },
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
+ }
+ }
+ },
+ "serve-static": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
+ "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
+ "requires": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.17.1"
+ }
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
+ },
+ "setprototypeof": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
+ "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
+ },
+ "signal-exit": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
+ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
+ },
+ "signed-varint": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz",
+ "integrity": "sha1-UKmYnafJjCxh2tEZvJdHDvhSgSk=",
+ "requires": {
+ "varint": "~5.0.0"
+ },
+ "dependencies": {
+ "varint": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.0.tgz",
+ "integrity": "sha1-2Ca4n3SQcy+rwMDtaT7Uddyynr8="
+ }
+ }
+ },
+ "simple-swizzle": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
+ "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
+ "requires": {
+ "is-arrayish": "^0.3.1"
+ }
+ },
+ "skmeans": {
+ "version": "0.9.7",
+ "resolved": "https://registry.npmjs.org/skmeans/-/skmeans-0.9.7.tgz",
+ "integrity": "sha512-hNj1/oZ7ygsfmPZ7ZfN5MUBRoGg1gtpnImuJBgLO0ljQ67DtJuiQaiYdS4lUA6s0KCwnPhGivtC/WRwIZLkHyg=="
+ },
+ "sort-asc": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/sort-asc/-/sort-asc-0.1.0.tgz",
+ "integrity": "sha1-q3md9h/HPqCVbHnEtTHtHp53J+k="
+ },
+ "sort-desc": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/sort-desc/-/sort-desc-0.1.1.tgz",
+ "integrity": "sha1-GYuMDN6wlcRjNBhh45JdTuNZqe4="
+ },
+ "sort-object": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/sort-object/-/sort-object-0.3.2.tgz",
+ "integrity": "sha1-mODRme3kDgfGGoRAPGHWw7KQ+eI=",
+ "requires": {
+ "sort-asc": "^0.1.0",
+ "sort-desc": "^0.1.1"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ },
+ "sqlite3": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-4.2.0.tgz",
+ "integrity": "sha512-roEOz41hxui2Q7uYnWsjMOTry6TcNUNmp8audCx18gF10P2NknwdpF+E+HKvz/F2NvPKGGBF4NGc+ZPQ+AABwg==",
+ "requires": {
+ "nan": "^2.12.1",
+ "node-pre-gyp": "^0.11.0"
+ }
+ },
+ "sshpk": {
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
+ "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
+ "requires": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ }
+ },
+ "statuses": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "string.prototype.trimend": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz",
+ "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==",
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5"
+ }
+ },
+ "string.prototype.trimstart": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz",
+ "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==",
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
+ },
+ "tar": {
+ "version": "4.4.13",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz",
+ "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==",
+ "requires": {
+ "chownr": "^1.1.1",
+ "fs-minipass": "^1.2.5",
+ "minipass": "^2.8.6",
+ "minizlib": "^1.2.1",
+ "mkdirp": "^0.5.0",
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.3"
+ }
+ },
+ "through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
+ },
+ "tileserver-gl-light": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/tileserver-gl-light/-/tileserver-gl-light-3.0.0.tgz",
+ "integrity": "sha512-yrxVCkxSzwwSGKEHVJn3dnsuxEOIcUBttjjQNNl4a67RJ3+zlKlrer+ldMe/LW4o73Kct1sou0RFED+ZF4/ZjA==",
+ "requires": {
+ "@mapbox/glyph-pbf-composite": "0.0.3",
+ "@mapbox/mapbox-gl-style-spec": "13.12.0",
+ "@mapbox/mbtiles": "0.11.0",
+ "@mapbox/sphericalmercator": "1.1.0",
+ "@mapbox/vector-tile": "1.3.1",
+ "advanced-pool": "0.3.3",
+ "chokidar": "3.3.1",
+ "clone": "2.1.2",
+ "color": "3.1.2",
+ "commander": "4.1.1",
+ "cors": "2.8.5",
+ "esm": "3.2.25",
+ "express": "4.17.1",
+ "handlebars": "4.7.3",
+ "http-shutdown": "1.2.2",
+ "morgan": "1.9.1",
+ "pbf": "3.2.1",
+ "proj4": "2.6.0",
+ "request": "2.88.2",
+ "tileserver-gl-styles": "2.0.0"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
+ "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="
+ }
+ }
+ },
+ "tileserver-gl-styles": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/tileserver-gl-styles/-/tileserver-gl-styles-2.0.0.tgz",
+ "integrity": "sha512-LJ0zjDsRFwEIM9hHnZ8SLnAVUPMlJUJuC+vluvfnYD6JIKtGYv6LizdIyBcB9DYqvyd8nzPSpVHJIHGd/HJVlQ=="
+ },
+ "tinyqueue": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.3.tgz",
+ "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA=="
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "to-utf8": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/to-utf8/-/to-utf8-0.0.1.tgz",
+ "integrity": "sha1-0Xrqcv8vujm55DYBvns/9y4ImFI="
+ },
+ "toidentifier": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
+ "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
+ },
+ "topojson-client": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz",
+ "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==",
+ "requires": {
+ "commander": "2"
+ }
+ },
+ "topojson-server": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/topojson-server/-/topojson-server-3.0.1.tgz",
+ "integrity": "sha512-/VS9j/ffKr2XAOjlZ9CgyyeLmgJ9dMwq6Y0YEON8O7p/tGGk+dCWnrE03zEdu7i4L7YsFZLEPZPzCvcB7lEEXw==",
+ "requires": {
+ "commander": "2"
+ }
+ },
+ "tough-cookie": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+ "requires": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "requires": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "turf-jsts": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/turf-jsts/-/turf-jsts-1.2.3.tgz",
+ "integrity": "sha512-Ja03QIJlPuHt4IQ2FfGex4F4JAr8m3jpaHbFbQrgwr7s7L6U8ocrHiF3J1+wf9jzhGKxvDeaCAnGDot8OjGFyA=="
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
+ },
+ "type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "requires": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ }
+ },
+ "typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
+ },
+ "uglify-js": {
+ "version": "3.9.4",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.9.4.tgz",
+ "integrity": "sha512-8RZBJq5smLOa7KslsNsVcSH+KOXf1uDU8yqLeNuVKwmT0T3FA0ZoXlinQfRad7SDcbZZRZE4ov+2v71EnxNyCA==",
+ "optional": true,
+ "requires": {
+ "commander": "~2.20.3"
+ }
+ },
+ "unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
+ },
+ "uri-js": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
+ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+ },
+ "utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
+ },
+ "uuid": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
+ },
+ "varint": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/varint/-/varint-4.0.1.tgz",
+ "integrity": "sha1-SQgpuULSSEY7KzUJeZXDv3NxmOk="
+ },
+ "vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
+ },
+ "verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ }
+ },
+ "wgs84": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/wgs84/-/wgs84-0.0.0.tgz",
+ "integrity": "sha1-NP3FVZF7blfPKigu0ENxDASc3HY="
+ },
+ "wide-align": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
+ "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
+ "requires": {
+ "string-width": "^1.0.2 || 2"
+ }
+ },
+ "wkt-parser": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/wkt-parser/-/wkt-parser-1.2.4.tgz",
+ "integrity": "sha512-ZzKnc7ml/91fOPh5bANBL4vUlWPIYYv11waCtWTkl2TRN+LEmBg60Q1MA8gqV4hEp4MGfSj9JiHz91zw/gTDXg=="
+ },
+ "wordwrap": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
+ "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc="
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ },
+ "xhr": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz",
+ "integrity": "sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==",
+ "requires": {
+ "global": "~4.3.0",
+ "is-function": "^1.0.1",
+ "parse-headers": "^2.0.0",
+ "xtend": "^4.0.0"
+ }
+ },
+ "xmldom": {
+ "version": "0.1.31",
+ "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz",
+ "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ=="
+ },
+ "xtend": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
+ },
+ "yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..8b247c3
--- /dev/null
+++ b/package.json
@@ -0,0 +1,17 @@
+{
+ "name": "osm-regions",
+ "version": "0.1.0",
+ "description": "Extract region geometries (ISO 3166 countries and subdivisions) from OpenStreetMap in order to create a region dataset compatible with OpenMapTiles.",
+ "author": "Roman Karavia",
+ "license": "MIT",
+ "dependencies": {
+ "@turf/turf": "^5.1.6",
+ "d3-dsv": "^1.2.0",
+ "d3-geo": "^1.12.1",
+ "mapshaper": "^0.4.161",
+ "opener": "^1.5.1",
+ "prettier": "^2.0.5",
+ "query-overpass": "^1.5.5",
+ "tileserver-gl-light": "^3.0.0"
+ }
+}
diff --git a/screenshot_mapshaper.png b/screenshot_mapshaper.png
new file mode 100644
index 0000000000000000000000000000000000000000..961cc72e1c7e6a2d952c64077984eb6f4a13e235
GIT binary patch
literal 289944
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