From b2128ff8ad5f80858ff83fac3dc419cf28a3940e Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sat, 29 Apr 2023 11:00:44 +0000
Subject: [PATCH] Bump d3-color, three-forcegraph, d3, plotly.js and tidytree

Bumps [d3-color](https://github.com/d3/d3-color) to 3.1.0 and updates ancestor dependencies [d3-color](https://github.com/d3/d3-color), [three-forcegraph](https://github.com/vasturiano/three-forcegraph), [d3](https://github.com/d3/d3), [plotly.js](https://github.com/plotly/plotly.js) and [tidytree](https://github.com/aaboyles/TidyTree). These dependencies need to be updated together.


Updates `d3-color` from 1.3.0 to 3.1.0
- [Release notes](https://github.com/d3/d3-color/releases)
- [Commits](https://github.com/d3/d3-color/compare/v1.3.0...v3.1.0)

Updates `three-forcegraph` from 1.37.0 to 1.41.8
- [Release notes](https://github.com/vasturiano/three-forcegraph/releases)
- [Commits](https://github.com/vasturiano/three-forcegraph/compare/v1.37.0...v1.41.8)

Updates `d3` from 5.16.0 to 7.8.4
- [Release notes](https://github.com/d3/d3/releases)
- [Changelog](https://github.com/d3/d3/blob/main/CHANGES.md)
- [Commits](https://github.com/d3/d3/compare/v5.16.0...v7.8.4)

Updates `plotly.js` from 1.58.4 to 2.22.0
- [Release notes](https://github.com/plotly/plotly.js/releases)
- [Changelog](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.js/compare/v1.58.4...v2.22.0)

Updates `tidytree` from 0.5.8 to 0.5.9
- [Release notes](https://github.com/aaboyles/TidyTree/releases)
- [Commits](https://github.com/aaboyles/TidyTree/commits/0.5.9)

---
updated-dependencies:
- dependency-name: d3-color
  dependency-type: indirect
- dependency-name: three-forcegraph
  dependency-type: indirect
- dependency-name: d3
  dependency-type: direct:development
- dependency-name: plotly.js
  dependency-type: direct:development
- dependency-name: tidytree
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
---
 package-lock.json | 4741 ++++++++++++---------------------------------
 package.json      |    6 +-
 2 files changed, 1292 insertions(+), 3455 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 6d9e7bd5..2ae9e9af 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -27,7 +27,7 @@
         "chosen-js": "^1.8.5",
         "clipboard": "^2.0.6",
         "cssnano": "^4.1.10",
-        "d3": "^5.16.0",
+        "d3": "^7.8.4",
         "d3-force-attract": "^0.1.1",
         "d3-polygon": "^1.0.6",
         "d3-symbol-extra": "^0.1.0",
@@ -54,14 +54,14 @@
         "pdfmake": "^0.1.70",
         "pixi-viewport": "^4.21.0",
         "pixi.js": "^5.3.8",
-        "plotly.js": "^1.58.4",
+        "plotly.js": "^2.22.0",
         "popper.js": "^1.16.1",
         "postcss-cli": "^7.1.2",
         "puppeteer": "^1.20.0",
         "save-svg-as-png": "^1.4.17",
         "screenfull": "^3.3.2",
         "tabulator-tables": "^4.9.3",
-        "tidytree": "^0.5.8",
+        "tidytree": "^0.5.9",
         "tn93": "^0.3.2",
         "xlsx": "^0.17.0",
         "xss": "^1.0.8"
@@ -603,6 +603,12 @@
         "url": "^0.11.0"
       }
     },
+    "node_modules/@plotly/d3": {
+      "version": "3.8.1",
+      "resolved": "https://registry.npmjs.org/@plotly/d3/-/d3-3.8.1.tgz",
+      "integrity": "sha512-x49ThEu1FRA00kTso4Jdfyf2byaCPLBGmLjAYQz5OzaPyLUhHesX3/Nfv2OHEhynhdy2UB39DLXq6thYe2L2kg==",
+      "dev": true
+    },
     "node_modules/@plotly/d3-sankey": {
       "version": "0.7.2",
       "resolved": "https://registry.npmjs.org/@plotly/d3-sankey/-/d3-sankey-0.7.2.tgz",
@@ -657,23 +663,29 @@
       }
     },
     "node_modules/@turf/area": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/@turf/area/-/area-6.3.0.tgz",
-      "integrity": "sha512-Y1cYyAQ2fk94npdgOeMF4msc2uabHY1m7A7ntixf1I8rkyDd6/iHh1IMy1QsM+VZXAEwDwsXhu+ZFYd3Jkeg4A==",
+      "version": "6.5.0",
+      "resolved": "https://registry.npmjs.org/@turf/area/-/area-6.5.0.tgz",
+      "integrity": "sha512-xCZdiuojokLbQ+29qR6qoMD89hv+JAgWjLrwSEWL+3JV8IXKeNFl6XkEJz9HGkVpnXvQKJoRz4/liT+8ZZ5Jyg==",
       "dev": true,
       "dependencies": {
-        "@turf/helpers": "^6.3.0",
-        "@turf/meta": "^6.3.0"
+        "@turf/helpers": "^6.5.0",
+        "@turf/meta": "^6.5.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/turf"
       }
     },
     "node_modules/@turf/bbox": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-6.3.0.tgz",
-      "integrity": "sha512-N4ue5Xopu1qieSHP2MA/CJGWHPKaTrVXQJjzHRNcY1vtsO126xbSaJhWUrFc5x5vVkXp0dcucGryO0r5m4o/KA==",
+      "version": "6.5.0",
+      "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-6.5.0.tgz",
+      "integrity": "sha512-RBbLaao5hXTYyyg577iuMtDB8ehxMlUqHEJiMs8jT1GHkFhr6sYre3lmLsPeYEi/ZKj5TP5tt7fkzNdJ4GIVyw==",
       "dev": true,
       "dependencies": {
-        "@turf/helpers": "^6.3.0",
-        "@turf/meta": "^6.3.0"
+        "@turf/helpers": "^6.5.0",
+        "@turf/meta": "^6.5.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/turf"
       }
     },
     "node_modules/@turf/centroid": {
@@ -687,18 +699,24 @@
       }
     },
     "node_modules/@turf/helpers": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-6.3.0.tgz",
-      "integrity": "sha512-kr6KuD4Z0GZ30tblTEvi90rvvVNlKieXuMC8CTzE/rVQb0/f/Cb29zCXxTD7giQTEQY/P2nRW23wEqqyNHulCg==",
-      "dev": true
+      "version": "6.5.0",
+      "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-6.5.0.tgz",
+      "integrity": "sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==",
+      "dev": true,
+      "funding": {
+        "url": "https://opencollective.com/turf"
+      }
     },
     "node_modules/@turf/meta": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.3.0.tgz",
-      "integrity": "sha512-qBJjaAJS9H3ap0HlGXyF/Bzfl0qkA9suafX/jnDsZvWMfVLt+s+o6twKrXOGk5t7nnNON2NFRC8+czxpu104EQ==",
+      "version": "6.5.0",
+      "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.5.0.tgz",
+      "integrity": "sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==",
       "dev": true,
       "dependencies": {
-        "@turf/helpers": "^6.3.0"
+        "@turf/helpers": "^6.5.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/turf"
       }
     },
     "node_modules/@tweenjs/tween.js": {
@@ -726,28 +744,6 @@
         "three-render-objects": "^1.24.6"
       }
     },
-    "node_modules/3d-view": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/3d-view/-/3d-view-2.0.0.tgz",
-      "integrity": "sha1-gxrpQtdQjFCAHj4G+v4ejFdOF74=",
-      "dev": true,
-      "dependencies": {
-        "matrix-camera-controller": "^2.1.1",
-        "orbit-camera-controller": "^4.0.0",
-        "turntable-camera-controller": "^3.0.0"
-      }
-    },
-    "node_modules/a-big-triangle": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/a-big-triangle/-/a-big-triangle-1.0.3.tgz",
-      "integrity": "sha1-7v0wsCqPUl6LH3K7a7GwwWdRx5Q=",
-      "dev": true,
-      "dependencies": {
-        "gl-buffer": "^2.1.1",
-        "gl-vao": "^1.2.0",
-        "weak-map": "^1.0.5"
-      }
-    },
     "node_modules/abs-svg-path": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/abs-svg-path/-/abs-svg-path-0.1.1.tgz",
@@ -816,15 +812,6 @@
         "node": ">=0.4.0"
       }
     },
-    "node_modules/add-line-numbers": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/add-line-numbers/-/add-line-numbers-1.0.1.tgz",
-      "integrity": "sha1-SNu96kfb0jTer+rGyTzqb3C0t+M=",
-      "dev": true,
-      "dependencies": {
-        "pad-left": "^1.0.2"
-      }
-    },
     "node_modules/adler-32": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz",
@@ -841,15 +828,6 @@
         "node": ">=0.8"
       }
     },
-    "node_modules/affine-hull": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/affine-hull/-/affine-hull-1.0.0.tgz",
-      "integrity": "sha1-dj/x040GPOt+Jy8X7k17vK+QXF0=",
-      "dev": true,
-      "dependencies": {
-        "robust-orientation": "^1.1.3"
-      }
-    },
     "node_modules/agent-base": {
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
@@ -880,26 +858,6 @@
       "integrity": "sha1-+FHGMROHV5lCdqou++jfowZszN0=",
       "dev": true
     },
-    "node_modules/alpha-complex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/alpha-complex/-/alpha-complex-1.0.0.tgz",
-      "integrity": "sha1-kIZYcNawVCrnPAwTHU75iWabctI=",
-      "dev": true,
-      "dependencies": {
-        "circumradius": "^1.0.0",
-        "delaunay-triangulate": "^1.1.6"
-      }
-    },
-    "node_modules/alpha-shape": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/alpha-shape/-/alpha-shape-1.0.0.tgz",
-      "integrity": "sha1-yDEJkj7P2mZ9IWP+Tyb+JHJvZKk=",
-      "dev": true,
-      "dependencies": {
-        "alpha-complex": "^1.0.0",
-        "simplicial-complex-boundary": "^1.0.0"
-      }
-    },
     "node_modules/alphanum-sort": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
@@ -977,7 +935,7 @@
     "node_modules/array-find-index": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
-      "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+      "integrity": "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==",
       "dev": true,
       "engines": {
         "node": ">=0.10.0"
@@ -1124,12 +1082,6 @@
         "node": ">= 4.0.0"
       }
     },
-    "node_modules/atob-lite": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-1.0.0.tgz",
-      "integrity": "sha1-uI3KYAaSK5YglPdVaCa6sxxKKWs=",
-      "dev": true
-    },
     "node_modules/babel-runtime": {
       "version": "6.26.0",
       "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
@@ -1152,15 +1104,6 @@
       "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
       "dev": true
     },
-    "node_modules/barycentric": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/barycentric/-/barycentric-1.0.1.tgz",
-      "integrity": "sha1-8VYruJGyb0/sRjqC7to2V4AOxog=",
-      "dev": true,
-      "dependencies": {
-        "robust-linear-solve": "^1.0.0"
-      }
-    },
     "node_modules/base64-js": {
       "version": "0.0.8",
       "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz",
@@ -1170,17 +1113,6 @@
         "node": ">= 0.4"
       }
     },
-    "node_modules/big-rat": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/big-rat/-/big-rat-1.0.4.tgz",
-      "integrity": "sha1-do0JO7V5MN0Y7Vdcf8on3FORreo=",
-      "dev": true,
-      "dependencies": {
-        "bit-twiddle": "^1.0.2",
-        "bn.js": "^4.11.6",
-        "double-bits": "^1.1.1"
-      }
-    },
     "node_modules/binary-extensions": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
@@ -1205,7 +1137,7 @@
     "node_modules/bit-twiddle": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz",
-      "integrity": "sha1-DGwfq+KyPRcXPZpht7cJPrnhdp4=",
+      "integrity": "sha512-B9UhK0DKFZhoTFcfvAzhqsjStvGJp9vYWf3+6SNTtdSQnvIgfkHbgHrg/e4+TH71N2GDu8tpmCVoyfrL1d7ntA==",
       "dev": true
     },
     "node_modules/bitmap-sdf": {
@@ -1227,12 +1159,6 @@
         "safe-buffer": "^5.1.1"
       }
     },
-    "node_modules/bn.js": {
-      "version": "4.12.0",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
-    },
     "node_modules/body-parser": {
       "version": "1.19.2",
       "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz",
@@ -1265,22 +1191,6 @@
       "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==",
       "dev": true
     },
-    "node_modules/boundary-cells": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/boundary-cells/-/boundary-cells-2.0.2.tgz",
-      "integrity": "sha512-/S48oUFYEgZMNvdqC87iYRbLBAPHYijPRNrNpm/sS8u7ijIViKm/hrV3YD4sx/W68AsG5zLMyBEditVHApHU5w==",
-      "dev": true
-    },
-    "node_modules/box-intersect": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/box-intersect/-/box-intersect-1.0.2.tgz",
-      "integrity": "sha512-yJeMwlmFPG1gIa7Rs/cGXeI6iOj6Qz5MG5PE61xLKpElUGzmJ4abm+qsLpzxKJFpsSDq742BQEocr8dI2t8Nxw==",
-      "dev": true,
-      "dependencies": {
-        "bit-twiddle": "^1.0.2",
-        "typedarray-pool": "^1.1.0"
-      }
-    },
     "node_modules/brace-expansion": {
       "version": "1.1.11",
       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -1497,23 +1407,6 @@
         "element-size": "^1.1.1"
       }
     },
-    "node_modules/cdt2d": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/cdt2d/-/cdt2d-1.0.0.tgz",
-      "integrity": "sha1-TyEkNLzWe9s9aLj+9KzcLFRBUUE=",
-      "dev": true,
-      "dependencies": {
-        "binary-search-bounds": "^2.0.3",
-        "robust-in-sphere": "^1.1.3",
-        "robust-orientation": "^1.1.3"
-      }
-    },
-    "node_modules/cell-orientation": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/cell-orientation/-/cell-orientation-1.0.1.tgz",
-      "integrity": "sha1-tQStlqZq0obZ7dmFoiU9A7gNKFA=",
-      "dev": true
-    },
     "node_modules/cfb": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.0.tgz",
@@ -1581,46 +1474,12 @@
       "integrity": "sha512-eVdrZJ2U5ISdObkgsi0od5vIJdLwq1P1Xa/Vj/mgxkMZf14DlgobfB6nrlFi3kW4kkvKLsKk4NDqZj1MU1DCpw==",
       "dev": true
     },
-    "node_modules/circumcenter": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/circumcenter/-/circumcenter-1.0.0.tgz",
-      "integrity": "sha1-INeqE7F/usUvUtpPVMasi5Bu5Sk=",
-      "dev": true,
-      "dependencies": {
-        "dup": "^1.0.0",
-        "robust-linear-solve": "^1.0.0"
-      }
-    },
-    "node_modules/circumradius": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/circumradius/-/circumradius-1.0.0.tgz",
-      "integrity": "sha1-cGxEfj5VzR7T0RvRM+N8JSzDBbU=",
-      "dev": true,
-      "dependencies": {
-        "circumcenter": "^1.0.0"
-      }
-    },
     "node_modules/clamp": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz",
       "integrity": "sha1-ZqDmQBGBbjcZaCj9yMjBRzEshjQ=",
       "dev": true
     },
-    "node_modules/clean-pslg": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/clean-pslg/-/clean-pslg-1.1.2.tgz",
-      "integrity": "sha1-vTXHRgt+irWp92Gl7VF5aqPIbBE=",
-      "dev": true,
-      "dependencies": {
-        "big-rat": "^1.0.3",
-        "box-intersect": "^1.0.1",
-        "nextafter": "^1.0.0",
-        "rat-vec": "^1.1.1",
-        "robust-segment-intersect": "^1.0.1",
-        "union-find": "^1.0.2",
-        "uniq": "^1.0.1"
-      }
-    },
     "node_modules/clipboard": {
       "version": "2.0.6",
       "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.6.tgz",
@@ -1790,50 +1649,12 @@
       "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==",
       "dev": true
     },
-    "node_modules/colormap": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/colormap/-/colormap-2.3.2.tgz",
-      "integrity": "sha512-jDOjaoEEmA9AgA11B/jCSAvYE95r3wRoAyTf3LEHGiUVlNHJaL1mRkf5AyLSpQBVGfTEPwGEqCIzL+kgr2WgNA==",
-      "dev": true,
-      "dependencies": {
-        "lerp": "^1.0.3"
-      }
-    },
     "node_modules/commander": {
       "version": "2.20.0",
       "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
       "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",
       "dev": true
     },
-    "node_modules/compare-angle": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/compare-angle/-/compare-angle-1.0.1.tgz",
-      "integrity": "sha1-pOtjQW6jx0f8a9bItjZotN5PoSk=",
-      "dev": true,
-      "dependencies": {
-        "robust-orientation": "^1.0.2",
-        "robust-product": "^1.0.0",
-        "robust-sum": "^1.0.0",
-        "signum": "^0.0.0",
-        "two-sum": "^1.0.0"
-      }
-    },
-    "node_modules/compare-cell": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/compare-cell/-/compare-cell-1.0.0.tgz",
-      "integrity": "sha1-qetwj24OQa73qlZrEw8ZaNyeGqo=",
-      "dev": true
-    },
-    "node_modules/compare-oriented-cell": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/compare-oriented-cell/-/compare-oriented-cell-1.0.1.tgz",
-      "integrity": "sha1-ahSf7vnfxPj8YjWOUd1C7/u9w54=",
-      "dev": true,
-      "dependencies": {
-        "cell-orientation": "^1.0.1",
-        "compare-cell": "^1.0.0"
-      }
-    },
     "node_modules/compute-dims": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/compute-dims/-/compute-dims-1.1.0.tgz",
@@ -1927,17 +1748,6 @@
         "safe-buffer": "~5.1.1"
       }
     },
-    "node_modules/convex-hull": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/convex-hull/-/convex-hull-1.0.3.tgz",
-      "integrity": "sha1-IKOqbOh/St6i/30XlxyfwcZ+H/8=",
-      "dev": true,
-      "dependencies": {
-        "affine-hull": "^1.0.0",
-        "incremental-convex-hull": "^1.0.1",
-        "monotone-convex-hull-2d": "^1.0.1"
-      }
-    },
     "node_modules/cookie": {
       "version": "0.4.2",
       "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
@@ -2048,31 +1858,31 @@
     "node_modules/css-font-size-keywords": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/css-font-size-keywords/-/css-font-size-keywords-1.0.0.tgz",
-      "integrity": "sha1-hUh1rOmspqjS7g00WkSq6btttss=",
+      "integrity": "sha512-Q+svMDbMlelgCfH/RVDKtTDaf5021O486ZThQPIpahnIjUkMUslC+WuOQSWTgGSrNCH08Y7tYNEmmy0hkfMI8Q==",
       "dev": true
     },
     "node_modules/css-font-stretch-keywords": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/css-font-stretch-keywords/-/css-font-stretch-keywords-1.0.1.tgz",
-      "integrity": "sha1-UM7puboDH7XJUtRyMTnx4Qe1SxA=",
+      "integrity": "sha512-KmugPO2BNqoyp9zmBIUGwt58UQSfyk1X5DbOlkb2pckDXFSAfjsD5wenb88fNrD6fvS+vu90a/tsPpb9vb0SLg==",
       "dev": true
     },
     "node_modules/css-font-style-keywords": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/css-font-style-keywords/-/css-font-style-keywords-1.0.1.tgz",
-      "integrity": "sha1-XDUygT9jtKHelU0TzqhqtDM0CeQ=",
+      "integrity": "sha512-0Fn0aTpcDktnR1RzaBYorIxQily85M2KXRpzmxQPgh8pxUN9Fcn00I8u9I3grNr1QXVgCl9T5Imx0ZwKU973Vg==",
       "dev": true
     },
     "node_modules/css-font-weight-keywords": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/css-font-weight-keywords/-/css-font-weight-keywords-1.0.0.tgz",
-      "integrity": "sha1-m8BGcayFvHJLV07106yWsNYE/Zc=",
+      "integrity": "sha512-5So8/NH+oDD+EzsnF4iaG4ZFHQ3vaViePkL1ZbZ5iC/KrsCY+WHq/lvOgrtmuOQ9pBBZ1ADGpaf+A4lj1Z9eYA==",
       "dev": true
     },
     "node_modules/css-global-keywords": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/css-global-keywords/-/css-global-keywords-1.0.1.tgz",
-      "integrity": "sha1-cqmupyeW0Bmx0qMlLeTlqqN+Smk=",
+      "integrity": "sha512-X1xgQhkZ9n94WDwntqst5D/FKkmiU0GlJSFZSV3kLvyJ1WC5VeyoXDOuleUD+SIuH9C7W05is++0Woh0CGfKjQ==",
       "dev": true
     },
     "node_modules/css-select": {
@@ -2105,7 +1915,7 @@
     "node_modules/css-system-font-keywords": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/css-system-font-keywords/-/css-system-font-keywords-1.0.0.tgz",
-      "integrity": "sha1-hcbwhquk6zLFcaMIav/ENLhII+0=",
+      "integrity": "sha512-1umTtVd/fXS25ftfjB71eASCrYhilmEsvDEI6wG/QplnmlfmVM5HkZ/ZX46DT5K3eblFPgLUHt5BRCb0YXkSFA==",
       "dev": true
     },
     "node_modules/css-tree": {
@@ -2286,21 +2096,6 @@
       "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==",
       "dev": true
     },
-    "node_modules/cubic-hermite": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/cubic-hermite/-/cubic-hermite-1.0.0.tgz",
-      "integrity": "sha1-hOOy8nKzFFToOTuZu2rtRRaMFOU=",
-      "dev": true
-    },
-    "node_modules/cwise-compiler": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/cwise-compiler/-/cwise-compiler-1.1.3.tgz",
-      "integrity": "sha1-9NZnQQ6FDToxOn0tt7HlBbsDTMU=",
-      "dev": true,
-      "dependencies": {
-        "uniq": "^1.0.0"
-      }
-    },
     "node_modules/d": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
@@ -2312,42 +2107,44 @@
       }
     },
     "node_modules/d3": {
-      "version": "5.16.0",
-      "resolved": "https://registry.npmjs.org/d3/-/d3-5.16.0.tgz",
-      "integrity": "sha512-4PL5hHaHwX4m7Zr1UapXW23apo6pexCgdetdJ5kTmADpG/7T9Gkxw0M0tf/pjoB63ezCCm0u5UaFYy2aMt0Mcw==",
-      "dev": true,
-      "dependencies": {
-        "d3-array": "1",
-        "d3-axis": "1",
-        "d3-brush": "1",
-        "d3-chord": "1",
-        "d3-collection": "1",
-        "d3-color": "1",
-        "d3-contour": "1",
-        "d3-dispatch": "1",
-        "d3-drag": "1",
-        "d3-dsv": "1",
-        "d3-ease": "1",
-        "d3-fetch": "1",
-        "d3-force": "1",
-        "d3-format": "1",
-        "d3-geo": "1",
-        "d3-hierarchy": "1",
-        "d3-interpolate": "1",
-        "d3-path": "1",
-        "d3-polygon": "1",
-        "d3-quadtree": "1",
-        "d3-random": "1",
-        "d3-scale": "2",
-        "d3-scale-chromatic": "1",
-        "d3-selection": "1",
-        "d3-shape": "1",
-        "d3-time": "1",
-        "d3-time-format": "2",
-        "d3-timer": "1",
-        "d3-transition": "1",
-        "d3-voronoi": "1",
-        "d3-zoom": "1"
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/d3/-/d3-7.8.4.tgz",
+      "integrity": "sha512-q2WHStdhiBtD8DMmhDPyJmXUxr6VWRngKyiJ5EfXMxPw+tqT6BhNjhJZ4w3BHsNm3QoVfZLY8Orq/qPFczwKRA==",
+      "dev": true,
+      "dependencies": {
+        "d3-array": "3",
+        "d3-axis": "3",
+        "d3-brush": "3",
+        "d3-chord": "3",
+        "d3-color": "3",
+        "d3-contour": "4",
+        "d3-delaunay": "6",
+        "d3-dispatch": "3",
+        "d3-drag": "3",
+        "d3-dsv": "3",
+        "d3-ease": "3",
+        "d3-fetch": "3",
+        "d3-force": "3",
+        "d3-format": "3",
+        "d3-geo": "3",
+        "d3-hierarchy": "3",
+        "d3-interpolate": "3",
+        "d3-path": "3",
+        "d3-polygon": "3",
+        "d3-quadtree": "3",
+        "d3-random": "3",
+        "d3-scale": "4",
+        "d3-scale-chromatic": "3",
+        "d3-selection": "3",
+        "d3-shape": "3",
+        "d3-time": "3",
+        "d3-time-format": "4",
+        "d3-timer": "3",
+        "d3-transition": "3",
+        "d3-zoom": "3"
+      },
+      "engines": {
+        "node": ">=12"
       }
     },
     "node_modules/d3-array": {
@@ -2360,10 +2157,13 @@
       }
     },
     "node_modules/d3-axis": {
-      "version": "1.0.12",
-      "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-1.0.12.tgz",
-      "integrity": "sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ==",
-      "dev": true
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz",
+      "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      }
     },
     "node_modules/d3-binarytree": {
       "version": "0.1.8",
@@ -2372,34 +2172,33 @@
       "dev": true
     },
     "node_modules/d3-brush": {
-      "version": "1.1.5",
-      "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.1.5.tgz",
-      "integrity": "sha512-rEaJ5gHlgLxXugWjIkolTA0OyMvw8UWU1imYXy1v642XyyswmI1ybKOv05Ft+ewq+TFmdliD3VuK0pRp1VT/5A==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz",
+      "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==",
       "dev": true,
       "dependencies": {
-        "d3-dispatch": "1",
-        "d3-drag": "1",
-        "d3-interpolate": "1",
-        "d3-selection": "1",
-        "d3-transition": "1"
+        "d3-dispatch": "1 - 3",
+        "d3-drag": "2 - 3",
+        "d3-interpolate": "1 - 3",
+        "d3-selection": "3",
+        "d3-transition": "3"
+      },
+      "engines": {
+        "node": ">=12"
       }
     },
     "node_modules/d3-chord": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.6.tgz",
-      "integrity": "sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz",
+      "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==",
       "dev": true,
       "dependencies": {
-        "d3-array": "1",
-        "d3-path": "1"
+        "d3-path": "1 - 3"
+      },
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/d3-chord/node_modules/d3-array": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz",
-      "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==",
-      "dev": true
-    },
     "node_modules/d3-collection": {
       "version": "1.0.7",
       "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz",
@@ -2413,19 +2212,40 @@
       "dev": true
     },
     "node_modules/d3-contour": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-1.3.2.tgz",
-      "integrity": "sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==",
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz",
+      "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==",
       "dev": true,
       "dependencies": {
-        "d3-array": "^1.1.1"
+        "d3-array": "^3.2.0"
+      },
+      "engines": {
+        "node": ">=12"
       }
     },
     "node_modules/d3-contour/node_modules/d3-array": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz",
-      "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==",
-      "dev": true
+      "version": "3.2.3",
+      "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.3.tgz",
+      "integrity": "sha512-JRHwbQQ84XuAESWhvIPaUV4/1UYTBOLiOPGWqgFDHZS1D5QN9c57FbH3QpEnQMYiOXNzKUQyGTZf+EVO7RT5TQ==",
+      "dev": true,
+      "dependencies": {
+        "internmap": "1 - 2"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-delaunay": {
+      "version": "6.0.4",
+      "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz",
+      "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==",
+      "dev": true,
+      "dependencies": {
+        "delaunator": "5"
+      },
+      "engines": {
+        "node": ">=12"
+      }
     },
     "node_modules/d3-dispatch": {
       "version": "1.0.5",
@@ -2434,50 +2254,83 @@
       "dev": true
     },
     "node_modules/d3-drag": {
-      "version": "1.2.5",
-      "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.5.tgz",
-      "integrity": "sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz",
+      "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==",
       "dev": true,
       "dependencies": {
-        "d3-dispatch": "1",
-        "d3-selection": "1"
+        "d3-dispatch": "1 - 3",
+        "d3-selection": "3"
+      },
+      "engines": {
+        "node": ">=12"
       }
     },
     "node_modules/d3-dsv": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.2.0.tgz",
-      "integrity": "sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz",
+      "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==",
       "dev": true,
       "dependencies": {
-        "commander": "2",
-        "iconv-lite": "0.4",
+        "commander": "7",
+        "iconv-lite": "0.6",
         "rw": "1"
       },
       "bin": {
-        "csv2json": "bin/dsv2json",
-        "csv2tsv": "bin/dsv2dsv",
-        "dsv2dsv": "bin/dsv2dsv",
-        "dsv2json": "bin/dsv2json",
-        "json2csv": "bin/json2dsv",
-        "json2dsv": "bin/json2dsv",
-        "json2tsv": "bin/json2dsv",
-        "tsv2csv": "bin/dsv2dsv",
-        "tsv2json": "bin/dsv2json"
+        "csv2json": "bin/dsv2json.js",
+        "csv2tsv": "bin/dsv2dsv.js",
+        "dsv2dsv": "bin/dsv2dsv.js",
+        "dsv2json": "bin/dsv2json.js",
+        "json2csv": "bin/json2dsv.js",
+        "json2dsv": "bin/json2dsv.js",
+        "json2tsv": "bin/json2dsv.js",
+        "tsv2csv": "bin/dsv2dsv.js",
+        "tsv2json": "bin/dsv2json.js"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-dsv/node_modules/commander": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
+      "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+      "dev": true,
+      "engines": {
+        "node": ">= 10"
+      }
+    },
+    "node_modules/d3-dsv/node_modules/iconv-lite": {
+      "version": "0.6.3",
+      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+      "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+      "dev": true,
+      "dependencies": {
+        "safer-buffer": ">= 2.1.2 < 3.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
       }
     },
     "node_modules/d3-ease": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.6.tgz",
-      "integrity": "sha512-SZ/lVU7LRXafqp7XtIcBdxnWl8yyLpgOmzAk0mWBI9gXNzLDx5ybZgnRbH9dN/yY5tzVBqCQ9avltSnqVwessQ==",
-      "dev": true
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz",
+      "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      }
     },
     "node_modules/d3-fetch": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-1.1.2.tgz",
-      "integrity": "sha512-S2loaQCV/ZeyTyIF2oP8D1K9Z4QizUzW7cWeAOAS4U88qOt3Ucf6GsmgthuYSdyB2HyEm4CeGvkQxWsmInsIVA==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz",
+      "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==",
       "dev": true,
       "dependencies": {
-        "d3-dsv": "1"
+        "d3-dsv": "1 - 3"
+      },
+      "engines": {
+        "node": ">=12"
       }
     },
     "node_modules/d3-force": {
@@ -2530,26 +2383,57 @@
       "dev": true
     },
     "node_modules/d3-format": {
-      "version": "1.4.4",
-      "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.4.tgz",
-      "integrity": "sha512-TWks25e7t8/cqctxCmxpUuzZN11QxIA7YrMbram94zMQ0PXjE4LVIMe/f6a4+xxL8HQ3OsAFULOINQi1pE62Aw==",
+      "version": "1.4.5",
+      "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz",
+      "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==",
       "dev": true
     },
     "node_modules/d3-geo": {
-      "version": "1.12.0",
-      "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.12.0.tgz",
-      "integrity": "sha512-NalZVW+6/SpbKcnl+BCO67m8gX+nGeJdo6oGL9H6BRUGUL1e+AtPcP4vE4TwCQ/gl8y5KE7QvBzrLn+HsKIl+w==",
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.0.tgz",
+      "integrity": "sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==",
       "dev": true,
       "dependencies": {
-        "d3-array": "1"
+        "d3-array": "2.5.0 - 3"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-geo-projection": {
+      "version": "2.9.0",
+      "resolved": "https://registry.npmjs.org/d3-geo-projection/-/d3-geo-projection-2.9.0.tgz",
+      "integrity": "sha512-ZULvK/zBn87of5rWAfFMc9mJOipeSo57O+BBitsKIXmU4rTVAnX1kSsJkE0R+TxY8pGNoM1nbyRRE7GYHhdOEQ==",
+      "dev": true,
+      "dependencies": {
+        "commander": "2",
+        "d3-array": "1",
+        "d3-geo": "^1.12.0",
+        "resolve": "^1.1.10"
+      },
+      "bin": {
+        "geo2svg": "bin/geo2svg",
+        "geograticule": "bin/geograticule",
+        "geoproject": "bin/geoproject",
+        "geoquantize": "bin/geoquantize",
+        "geostitch": "bin/geostitch"
       }
     },
-    "node_modules/d3-geo/node_modules/d3-array": {
+    "node_modules/d3-geo-projection/node_modules/d3-array": {
       "version": "1.2.4",
       "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz",
       "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==",
       "dev": true
     },
+    "node_modules/d3-geo-projection/node_modules/d3-geo": {
+      "version": "1.12.1",
+      "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.12.1.tgz",
+      "integrity": "sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==",
+      "dev": true,
+      "dependencies": {
+        "d3-array": "1"
+      }
+    },
     "node_modules/d3-hierarchy": {
       "version": "1.1.9",
       "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz",
@@ -2590,10 +2474,13 @@
       "dev": true
     },
     "node_modules/d3-random": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-1.1.2.tgz",
-      "integrity": "sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ==",
-      "dev": true
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz",
+      "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      }
     },
     "node_modules/d3-scale": {
       "version": "3.2.3",
@@ -2609,20 +2496,26 @@
       }
     },
     "node_modules/d3-scale-chromatic": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz",
-      "integrity": "sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz",
+      "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==",
       "dev": true,
       "dependencies": {
-        "d3-color": "1",
-        "d3-interpolate": "1"
+        "d3-color": "1 - 3",
+        "d3-interpolate": "1 - 3"
+      },
+      "engines": {
+        "node": ">=12"
       }
     },
     "node_modules/d3-selection": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.1.tgz",
-      "integrity": "sha512-BTIbRjv/m5rcVTfBs4AMBLKs4x8XaaLkwm28KWu9S2vKNqXkXt2AH2Qf0sdPZHjFxcWg/YL53zcqAz+3g4/7PA==",
-      "dev": true
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz",
+      "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      }
     },
     "node_modules/d3-shape": {
       "version": "1.3.5",
@@ -2661,56 +2554,200 @@
       "dev": true
     },
     "node_modules/d3-transition": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.3.2.tgz",
-      "integrity": "sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz",
+      "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==",
       "dev": true,
       "dependencies": {
-        "d3-color": "1",
-        "d3-dispatch": "1",
-        "d3-ease": "1",
-        "d3-interpolate": "1",
-        "d3-selection": "^1.1.0",
-        "d3-timer": "1"
+        "d3-color": "1 - 3",
+        "d3-dispatch": "1 - 3",
+        "d3-ease": "1 - 3",
+        "d3-interpolate": "1 - 3",
+        "d3-timer": "1 - 3"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "peerDependencies": {
+        "d3-selection": "2 - 3"
       }
     },
-    "node_modules/d3-voronoi": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.4.tgz",
-      "integrity": "sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==",
-      "dev": true
-    },
     "node_modules/d3-zoom": {
-      "version": "1.8.3",
-      "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.8.3.tgz",
-      "integrity": "sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz",
+      "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==",
       "dev": true,
       "dependencies": {
-        "d3-dispatch": "1",
-        "d3-drag": "1",
-        "d3-interpolate": "1",
-        "d3-selection": "1",
-        "d3-transition": "1"
+        "d3-dispatch": "1 - 3",
+        "d3-drag": "2 - 3",
+        "d3-interpolate": "1 - 3",
+        "d3-selection": "2 - 3",
+        "d3-transition": "2 - 3"
+      },
+      "engines": {
+        "node": ">=12"
       }
     },
     "node_modules/d3/node_modules/d3-array": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz",
-      "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==",
-      "dev": true
+      "version": "3.2.3",
+      "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.3.tgz",
+      "integrity": "sha512-JRHwbQQ84XuAESWhvIPaUV4/1UYTBOLiOPGWqgFDHZS1D5QN9c57FbH3QpEnQMYiOXNzKUQyGTZf+EVO7RT5TQ==",
+      "dev": true,
+      "dependencies": {
+        "internmap": "1 - 2"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3/node_modules/d3-color": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
+      "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3/node_modules/d3-dispatch": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz",
+      "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3/node_modules/d3-force": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz",
+      "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==",
+      "dev": true,
+      "dependencies": {
+        "d3-dispatch": "1 - 3",
+        "d3-quadtree": "1 - 3",
+        "d3-timer": "1 - 3"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3/node_modules/d3-format": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz",
+      "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3/node_modules/d3-hierarchy": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz",
+      "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3/node_modules/d3-interpolate": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
+      "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
+      "dev": true,
+      "dependencies": {
+        "d3-color": "1 - 3"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3/node_modules/d3-path": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz",
+      "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3/node_modules/d3-polygon": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz",
+      "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3/node_modules/d3-quadtree": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz",
+      "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      }
     },
     "node_modules/d3/node_modules/d3-scale": {
-      "version": "2.2.2",
-      "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-2.2.2.tgz",
-      "integrity": "sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==",
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz",
+      "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==",
       "dev": true,
       "dependencies": {
-        "d3-array": "^1.2.0",
-        "d3-collection": "1",
-        "d3-format": "1",
-        "d3-interpolate": "1",
-        "d3-time": "1",
-        "d3-time-format": "2"
+        "d3-array": "2.10.0 - 3",
+        "d3-format": "1 - 3",
+        "d3-interpolate": "1.2.0 - 3",
+        "d3-time": "2.1.1 - 3",
+        "d3-time-format": "2 - 4"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3/node_modules/d3-shape": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz",
+      "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==",
+      "dev": true,
+      "dependencies": {
+        "d3-path": "^3.1.0"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3/node_modules/d3-time": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz",
+      "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==",
+      "dev": true,
+      "dependencies": {
+        "d3-array": "2 - 3"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3/node_modules/d3-time-format": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz",
+      "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==",
+      "dev": true,
+      "dependencies": {
+        "d3-time": "1 - 3"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3/node_modules/d3-timer": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz",
+      "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
       }
     },
     "node_modules/dash-ast": {
@@ -2789,14 +2826,13 @@
       "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
       "dev": true
     },
-    "node_modules/delaunay-triangulate": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/delaunay-triangulate/-/delaunay-triangulate-1.1.6.tgz",
-      "integrity": "sha1-W7yiGweBmNS8PHV5ajXLuYwllUw=",
+    "node_modules/delaunator": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz",
+      "integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==",
       "dev": true,
       "dependencies": {
-        "incremental-convex-hull": "^1.0.1",
-        "uniq": "^1.0.1"
+        "robust-predicates": "^3.0.0"
       }
     },
     "node_modules/delegate": {
@@ -2892,12 +2928,6 @@
         "domelementtype": "1"
       }
     },
-    "node_modules/double-bits": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/double-bits/-/double-bits-1.1.1.tgz",
-      "integrity": "sha1-WKu6RUlNpND6Nrc60RoobJGEscY=",
-      "dev": true
-    },
     "node_modules/draw-svg-path": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/draw-svg-path/-/draw-svg-path-1.0.0.tgz",
@@ -2920,7 +2950,7 @@
     "node_modules/dup": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/dup/-/dup-1.0.0.tgz",
-      "integrity": "sha1-UfxaxoX4GWRp3wuQXpNLIK9bQCk=",
+      "integrity": "sha512-Bz5jxMMC0wgp23Zm15ip1x8IhYRqJvF3nFC0UInJUDkN1z4uNPk9jTnfCUJXbOGiQ1JbXLQsiV41Fb+HXcj5BA==",
       "dev": true
     },
     "node_modules/duplexer2": {
@@ -2950,15 +2980,6 @@
       "integrity": "sha512-eZoZPPJcUHnfRZ0PjLvx2qBordSiO8ofC3vt+qACLM95u+4DovnbYNpQtJh0DNsWj8RnxrQytD4WA8gj5cRIaQ==",
       "dev": true
     },
-    "node_modules/edges-to-adjacency-list": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/edges-to-adjacency-list/-/edges-to-adjacency-list-1.0.0.tgz",
-      "integrity": "sha1-wUbS4ISt37p0pRKTxuAZmkn3V/E=",
-      "dev": true,
-      "dependencies": {
-        "uniq": "^1.0.0"
-      }
-    },
     "node_modules/ee-first": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@@ -3337,12 +3358,6 @@
       "integrity": "sha512-rgPIqOdfK/4J9FhiVrZ3cveAjRRo5rsQBAIhnylX874y1DX/kEKSVdLsnuHB6l1KTjHyU01VjiMBHgU2adejyg==",
       "dev": true
     },
-    "node_modules/extract-frustum-planes": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/extract-frustum-planes/-/extract-frustum-planes-1.0.0.tgz",
-      "integrity": "sha1-l9VwP/BWTIw8aDjKxF+ee8UsnvU=",
-      "dev": true
-    },
     "node_modules/extract-zip": {
       "version": "1.7.0",
       "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz",
@@ -3487,22 +3502,6 @@
         "node": ">=8"
       }
     },
-    "node_modules/filtered-vector": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/filtered-vector/-/filtered-vector-1.2.4.tgz",
-      "integrity": "sha1-VkU8A030MC0pPKjs3qw/kKvGeNM=",
-      "dev": true,
-      "dependencies": {
-        "binary-search-bounds": "^1.0.0",
-        "cubic-hermite": "^1.0.0"
-      }
-    },
-    "node_modules/filtered-vector/node_modules/binary-search-bounds": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-1.0.0.tgz",
-      "integrity": "sha1-MjyjF+PypA9CRMclX1OEpbIHu2k=",
-      "dev": true
-    },
     "node_modules/finalhandler": {
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
@@ -3682,18 +3681,6 @@
       "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
       "dev": true
     },
-    "node_modules/functional-red-black-tree": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
-      "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
-      "dev": true
-    },
-    "node_modules/gamma": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/gamma/-/gamma-0.1.0.tgz",
-      "integrity": "sha1-MxVkNAO/J5BsqAqzfDbs6UQO8zA=",
-      "dev": true
-    },
     "node_modules/geojson-vt": {
       "version": "3.2.1",
       "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-3.2.1.tgz",
@@ -3750,568 +3737,153 @@
         "node": ">=10"
       }
     },
-    "node_modules/gl-axes3d": {
-      "version": "1.5.3",
-      "resolved": "https://registry.npmjs.org/gl-axes3d/-/gl-axes3d-1.5.3.tgz",
-      "integrity": "sha512-KRYbguKQcDQ6PcB9g1pgqB8Ly4TY1DQODpPKiDTasyWJ8PxQk0t2Q7XoQQijNqvsguITCpVVCzNb5GVtIWiVlQ==",
+    "node_modules/gl-mat4": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/gl-mat4/-/gl-mat4-1.2.0.tgz",
+      "integrity": "sha512-sT5C0pwB1/e9G9AvAoLsoaJtbMGjfd/jfxo8jMCKqYYEnjZuFvqV5rehqar0538EmssjdDeiEWnKyBSTw7quoA==",
+      "dev": true
+    },
+    "node_modules/gl-matrix": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.3.0.tgz",
+      "integrity": "sha512-COb7LDz+SXaHtl/h4LeaFcNdJdAQSDeVqjiIihSXNrkWObZLhDI4hIkZC11Aeqp7bcE72clzB0BnDXr2SmslRA==",
+      "dev": true
+    },
+    "node_modules/gl-text": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/gl-text/-/gl-text-1.3.1.tgz",
+      "integrity": "sha512-/f5gcEMiZd+UTBJLTl3D+CkCB/0UFGTx3nflH8ZmyWcLkZhsZ1+Xx5YYkw2rgWAzgPeE35xCqBuHSoMKQVsR+w==",
       "dev": true,
       "dependencies": {
         "bit-twiddle": "^1.0.2",
-        "dup": "^1.0.0",
-        "extract-frustum-planes": "^1.0.0",
-        "gl-buffer": "^2.1.2",
-        "gl-mat4": "^1.2.0",
-        "gl-shader": "^4.2.1",
-        "gl-state": "^1.0.0",
-        "gl-vao": "^1.3.0",
-        "gl-vec4": "^1.0.1",
-        "glslify": "^7.0.0",
-        "robust-orientation": "^1.1.3",
-        "split-polygon": "^1.0.0",
-        "vectorize-text": "^3.2.1"
+        "color-normalize": "^1.5.0",
+        "css-font": "^1.2.0",
+        "detect-kerning": "^2.1.2",
+        "es6-weak-map": "^2.0.3",
+        "flatten-vertex-data": "^1.0.2",
+        "font-atlas": "^2.1.0",
+        "font-measure": "^1.2.2",
+        "gl-util": "^3.1.2",
+        "is-plain-obj": "^1.1.0",
+        "object-assign": "^4.1.1",
+        "parse-rect": "^1.2.0",
+        "parse-unit": "^1.0.1",
+        "pick-by-alias": "^1.2.0",
+        "regl": "^2.0.0",
+        "to-px": "^1.0.1",
+        "typedarray-pool": "^1.1.0"
       }
     },
-    "node_modules/gl-buffer": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/gl-buffer/-/gl-buffer-2.1.2.tgz",
-      "integrity": "sha1-LbjZwaVSf7oM25EonCBuiCuInNs=",
+    "node_modules/gl-util": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/gl-util/-/gl-util-3.1.3.tgz",
+      "integrity": "sha512-dvRTggw5MSkJnCbh74jZzSoTOGnVYK+Bt+Ckqm39CVcl6+zSsxqWk4lr5NKhkqXHL6qvZAU9h17ZF8mIskY9mA==",
       "dev": true,
       "dependencies": {
-        "ndarray": "^1.0.15",
-        "ndarray-ops": "^1.1.0",
-        "typedarray-pool": "^1.0.0"
+        "is-browser": "^2.0.1",
+        "is-firefox": "^1.0.3",
+        "is-plain-obj": "^1.1.0",
+        "number-is-integer": "^1.0.1",
+        "object-assign": "^4.1.0",
+        "pick-by-alias": "^1.2.0",
+        "weak-map": "^1.0.5"
       }
     },
-    "node_modules/gl-cone3d": {
-      "version": "1.5.2",
-      "resolved": "https://registry.npmjs.org/gl-cone3d/-/gl-cone3d-1.5.2.tgz",
-      "integrity": "sha512-1JNeHH4sUtUmDA4ZK7Om8/kShwb8IZVAsnxaaB7IPRJsNGciLj1sTpODrJGeMl41RNkex5kXD2SQFrzyEAR2Rw==",
+    "node_modules/glob": {
+      "version": "7.1.4",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
+      "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
       "dev": true,
       "dependencies": {
-        "colormap": "^2.3.1",
-        "gl-buffer": "^2.1.2",
-        "gl-mat4": "^1.2.0",
-        "gl-shader": "^4.2.1",
-        "gl-texture2d": "^2.1.0",
-        "gl-vao": "^1.3.0",
-        "gl-vec3": "^1.1.3",
-        "glsl-inverse": "^1.0.0",
-        "glsl-out-of-range": "^1.0.4",
-        "glsl-specular-cook-torrance": "^2.0.1",
-        "glslify": "^7.0.0",
-        "ndarray": "^1.0.18"
+        "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"
+      },
+      "engines": {
+        "node": "*"
       }
     },
-    "node_modules/gl-constants": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/gl-constants/-/gl-constants-1.0.0.tgz",
-      "integrity": "sha1-WXpQTjZHUP9QJTqjX43qevSl0jM=",
-      "dev": true
-    },
-    "node_modules/gl-contour2d": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/gl-contour2d/-/gl-contour2d-1.1.7.tgz",
-      "integrity": "sha512-GdebvJ9DtT3pJDpoE+eU2q+Wo9S3MijPpPz5arZbhK85w2bARmpFpVfPaDlZqWkB644W3BlH8TVyvAo1KE4Bhw==",
+    "node_modules/glob-parent": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
       "dev": true,
       "dependencies": {
-        "binary-search-bounds": "^2.0.4",
-        "cdt2d": "^1.0.0",
-        "clean-pslg": "^1.1.2",
-        "gl-buffer": "^2.1.2",
-        "gl-shader": "^4.2.1",
-        "glslify": "^7.0.0",
-        "iota-array": "^1.0.0",
-        "ndarray": "^1.0.18",
-        "surface-nets": "^1.0.2"
+        "is-glob": "^4.0.1"
+      },
+      "engines": {
+        "node": ">= 6"
       }
     },
-    "node_modules/gl-error3d": {
-      "version": "1.0.16",
-      "resolved": "https://registry.npmjs.org/gl-error3d/-/gl-error3d-1.0.16.tgz",
-      "integrity": "sha512-TGJewnKSp7ZnqGgG3XCF9ldrDbxZrO+OWlx6oIet4OdOM//n8xJ5isArnIV/sdPJnFbhfoLxWrW9f5fxHFRQ1A==",
+    "node_modules/globby": {
+      "version": "11.0.2",
+      "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz",
+      "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==",
       "dev": true,
       "dependencies": {
-        "gl-buffer": "^2.1.2",
-        "gl-shader": "^4.2.1",
-        "gl-vao": "^1.3.0",
-        "glsl-out-of-range": "^1.0.4",
-        "glslify": "^7.0.0"
+        "array-union": "^2.1.0",
+        "dir-glob": "^3.0.1",
+        "fast-glob": "^3.1.1",
+        "ignore": "^5.1.4",
+        "merge2": "^1.3.0",
+        "slash": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=10"
       }
     },
-    "node_modules/gl-fbo": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/gl-fbo/-/gl-fbo-2.0.5.tgz",
-      "integrity": "sha1-D6daSXz3h2lVMGkcjwSrtvtV+iI=",
+    "node_modules/glsl-inject-defines": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/glsl-inject-defines/-/glsl-inject-defines-1.0.3.tgz",
+      "integrity": "sha1-3RqswsF/yyvT/DJBHGYz0Ne2D9Q=",
       "dev": true,
       "dependencies": {
-        "gl-texture2d": "^2.0.0"
+        "glsl-token-inject-block": "^1.0.0",
+        "glsl-token-string": "^1.0.1",
+        "glsl-tokenizer": "^2.0.2"
       }
     },
-    "node_modules/gl-format-compiler-error": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/gl-format-compiler-error/-/gl-format-compiler-error-1.0.3.tgz",
-      "integrity": "sha1-DHmxdRiZzpcy6GJA8JCqQemEcag=",
+    "node_modules/glsl-resolve": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/glsl-resolve/-/glsl-resolve-0.0.1.tgz",
+      "integrity": "sha1-iUvvc5ENeSyBtRQxgANdCnivdtM=",
       "dev": true,
       "dependencies": {
-        "add-line-numbers": "^1.0.1",
-        "gl-constants": "^1.0.0",
-        "glsl-shader-name": "^1.0.0",
-        "sprintf-js": "^1.0.3"
+        "resolve": "^0.6.1",
+        "xtend": "^2.1.2"
       }
     },
-    "node_modules/gl-heatmap2d": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/gl-heatmap2d/-/gl-heatmap2d-1.1.1.tgz",
-      "integrity": "sha512-6Vo1fPIB1vQFWBA/MR6JAA16XuQuhwvZRbSjYEq++m4QV33iqjGS2HcVIRfJGX+fomd5eiz6bwkVZcKm69zQPw==",
+    "node_modules/glsl-resolve/node_modules/resolve": {
+      "version": "0.6.3",
+      "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz",
+      "integrity": "sha1-3ZV5gufnNt699TtYpN2RdUV13UY=",
+      "dev": true
+    },
+    "node_modules/glsl-resolve/node_modules/xtend": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.2.0.tgz",
+      "integrity": "sha1-7vax8ZjByN6vrYsXZaBNrUoBxak=",
       "dev": true,
-      "dependencies": {
-        "binary-search-bounds": "^2.0.4",
-        "gl-buffer": "^2.1.2",
-        "gl-shader": "^4.2.1",
-        "glslify": "^7.0.0",
-        "iota-array": "^1.0.0",
-        "typedarray-pool": "^1.2.0"
+      "engines": {
+        "node": ">=0.4"
       }
     },
-    "node_modules/gl-line3d": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/gl-line3d/-/gl-line3d-1.2.1.tgz",
-      "integrity": "sha512-eeb0+RI2ZBRqMYJK85SgsRiJK7c4aiOjcnirxv0830A3jmOc99snY3AbPcV8KvKmW0Yaf3KA4e+qNCbHiTOTnA==",
+    "node_modules/glsl-token-assignments": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/glsl-token-assignments/-/glsl-token-assignments-2.0.2.tgz",
+      "integrity": "sha1-pdgqt4SZwuimuDy2lJXm5mXOAZ8=",
+      "dev": true
+    },
+    "node_modules/glsl-token-defines": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/glsl-token-defines/-/glsl-token-defines-1.0.0.tgz",
+      "integrity": "sha1-y4kqqVmTYjFyhHDU90AySJaX+p0=",
       "dev": true,
       "dependencies": {
-        "binary-search-bounds": "^2.0.4",
-        "gl-buffer": "^2.1.2",
-        "gl-shader": "^4.2.1",
-        "gl-texture2d": "^2.1.0",
-        "gl-vao": "^1.3.0",
-        "glsl-out-of-range": "^1.0.4",
-        "glslify": "^7.0.0",
-        "ndarray": "^1.0.18"
-      }
-    },
-    "node_modules/gl-mat3": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/gl-mat3/-/gl-mat3-1.0.0.tgz",
-      "integrity": "sha1-iWMyGcpCk3mha5GF2V1BcTRTuRI=",
-      "dev": true
-    },
-    "node_modules/gl-mat4": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/gl-mat4/-/gl-mat4-1.2.0.tgz",
-      "integrity": "sha512-sT5C0pwB1/e9G9AvAoLsoaJtbMGjfd/jfxo8jMCKqYYEnjZuFvqV5rehqar0538EmssjdDeiEWnKyBSTw7quoA==",
-      "dev": true
-    },
-    "node_modules/gl-matrix": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.3.0.tgz",
-      "integrity": "sha512-COb7LDz+SXaHtl/h4LeaFcNdJdAQSDeVqjiIihSXNrkWObZLhDI4hIkZC11Aeqp7bcE72clzB0BnDXr2SmslRA==",
-      "dev": true
-    },
-    "node_modules/gl-mesh3d": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/gl-mesh3d/-/gl-mesh3d-2.3.1.tgz",
-      "integrity": "sha512-pXECamyGgu4/9HeAQSE5OEUuLBGS1aq9V4BCsTcxsND4fNLaajEkYKUz/WY2QSYElqKdsMBVsldGiKRKwlybqA==",
-      "dev": true,
-      "dependencies": {
-        "barycentric": "^1.0.1",
-        "colormap": "^2.3.1",
-        "gl-buffer": "^2.1.2",
-        "gl-mat4": "^1.2.0",
-        "gl-shader": "^4.2.1",
-        "gl-texture2d": "^2.1.0",
-        "gl-vao": "^1.3.0",
-        "glsl-out-of-range": "^1.0.4",
-        "glsl-specular-cook-torrance": "^2.0.1",
-        "glslify": "^7.0.0",
-        "ndarray": "^1.0.18",
-        "normals": "^1.1.0",
-        "polytope-closest-point": "^1.0.0",
-        "simplicial-complex-contour": "^1.0.2",
-        "typedarray-pool": "^1.1.0"
-      }
-    },
-    "node_modules/gl-plot2d": {
-      "version": "1.4.5",
-      "resolved": "https://registry.npmjs.org/gl-plot2d/-/gl-plot2d-1.4.5.tgz",
-      "integrity": "sha512-6GmCN10SWtV+qHFQ1gjdnVubeHFVsm6P4zmo0HrPIl9TcdePCUHDlBKWAuE6XtFhiMKMj7R8rApOX8O8uXUYog==",
-      "dev": true,
-      "dependencies": {
-        "binary-search-bounds": "^2.0.4",
-        "gl-buffer": "^2.1.2",
-        "gl-select-static": "^2.0.7",
-        "gl-shader": "^4.2.1",
-        "glsl-inverse": "^1.0.0",
-        "glslify": "^7.0.0",
-        "text-cache": "^4.2.2"
-      }
-    },
-    "node_modules/gl-plot3d": {
-      "version": "2.4.7",
-      "resolved": "https://registry.npmjs.org/gl-plot3d/-/gl-plot3d-2.4.7.tgz",
-      "integrity": "sha512-mLDVWrl4Dj0O0druWyHUK5l7cBQrRIJRn2oROEgrRuOgbbrLAzsREKefwMO0bA0YqkiZMFMnV5VvPA9j57X5Xg==",
-      "dev": true,
-      "dependencies": {
-        "3d-view": "^2.0.0",
-        "a-big-triangle": "^1.0.3",
-        "gl-axes3d": "^1.5.3",
-        "gl-fbo": "^2.0.5",
-        "gl-mat4": "^1.2.0",
-        "gl-select-static": "^2.0.7",
-        "gl-shader": "^4.2.1",
-        "gl-spikes3d": "^1.0.10",
-        "glslify": "^7.0.0",
-        "has-passive-events": "^1.0.0",
-        "is-mobile": "^2.2.1",
-        "mouse-change": "^1.4.0",
-        "mouse-event-offset": "^3.0.2",
-        "mouse-wheel": "^1.2.0",
-        "ndarray": "^1.0.19",
-        "right-now": "^1.0.0"
-      }
-    },
-    "node_modules/gl-pointcloud2d": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/gl-pointcloud2d/-/gl-pointcloud2d-1.0.3.tgz",
-      "integrity": "sha512-OS2e1irvJXVRpg/GziXj10xrFJm9kkRfFoB6BLUvkjCQV7ZRNNcs2CD+YSK1r0gvMwTg2T3lfLM3UPwNtz+4Xw==",
-      "dev": true,
-      "dependencies": {
-        "gl-buffer": "^2.1.2",
-        "gl-shader": "^4.2.1",
-        "glslify": "^7.0.0",
-        "typedarray-pool": "^1.1.0"
-      }
-    },
-    "node_modules/gl-quat": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/gl-quat/-/gl-quat-1.0.0.tgz",
-      "integrity": "sha1-CUXskjOG9FMpvl3DV7HIwtR1hsU=",
-      "dev": true,
-      "dependencies": {
-        "gl-mat3": "^1.0.0",
-        "gl-vec3": "^1.0.3",
-        "gl-vec4": "^1.0.0"
-      }
-    },
-    "node_modules/gl-scatter3d": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/gl-scatter3d/-/gl-scatter3d-1.2.3.tgz",
-      "integrity": "sha512-nXqPlT1w5Qt51dTksj+DUqrZqwWAEWg0PocsKcoDnVNv0X8sGA+LBZ0Y+zrA+KNXUL0PPCX9WR9cF2uJAZl1Sw==",
-      "dev": true,
-      "dependencies": {
-        "gl-buffer": "^2.1.2",
-        "gl-mat4": "^1.2.0",
-        "gl-shader": "^4.2.1",
-        "gl-vao": "^1.3.0",
-        "glsl-out-of-range": "^1.0.4",
-        "glslify": "^7.0.0",
-        "is-string-blank": "^1.0.1",
-        "typedarray-pool": "^1.1.0",
-        "vectorize-text": "^3.2.1"
-      }
-    },
-    "node_modules/gl-select-box": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/gl-select-box/-/gl-select-box-1.0.4.tgz",
-      "integrity": "sha512-mKsCnglraSKyBbQiGq0Ila0WF+m6Tr+EWT2yfaMn/Sh9aMHq5Wt0F/l6Cf/Ed3CdERq5jHWAY5yxLviZteYu2w==",
-      "dev": true,
-      "dependencies": {
-        "gl-buffer": "^2.1.2",
-        "gl-shader": "^4.2.1",
-        "glslify": "^7.0.0"
-      }
-    },
-    "node_modules/gl-select-static": {
-      "version": "2.0.7",
-      "resolved": "https://registry.npmjs.org/gl-select-static/-/gl-select-static-2.0.7.tgz",
-      "integrity": "sha512-OvpYprd+ngl3liEatBTdXhSyNBjwvjMSvV2rN0KHpTU+BTi4viEETXNZXFgGXY37qARs0L28ybk3UQEW6C5Nnw==",
-      "dev": true,
-      "dependencies": {
-        "bit-twiddle": "^1.0.2",
-        "gl-fbo": "^2.0.5",
-        "ndarray": "^1.0.18",
-        "typedarray-pool": "^1.1.0"
-      }
-    },
-    "node_modules/gl-shader": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/gl-shader/-/gl-shader-4.2.1.tgz",
-      "integrity": "sha1-vJuAjpKTxRtmjojeYVsMETcI3C8=",
-      "dev": true,
-      "dependencies": {
-        "gl-format-compiler-error": "^1.0.2",
-        "weakmap-shim": "^1.1.0"
-      }
-    },
-    "node_modules/gl-spikes2d": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/gl-spikes2d/-/gl-spikes2d-1.0.2.tgz",
-      "integrity": "sha512-QVeOZsi9nQuJJl7NB3132CCv5KA10BWxAY2QgJNsKqbLsG53B/TrGJpjIAohnJftdZ4fT6b3ZojWgeaXk8bOOA==",
-      "dev": true
-    },
-    "node_modules/gl-spikes3d": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/gl-spikes3d/-/gl-spikes3d-1.0.10.tgz",
-      "integrity": "sha512-lT3xroowOFxMvlhT5Mof76B2TE02l5zt/NIWljhczV2FFHgIVhA4jMrd5dIv1so1RXMBDJIKu0uJI3QKliDVLg==",
-      "dev": true,
-      "dependencies": {
-        "gl-buffer": "^2.1.2",
-        "gl-shader": "^4.2.1",
-        "gl-vao": "^1.3.0",
-        "glslify": "^7.0.0"
-      }
-    },
-    "node_modules/gl-state": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/gl-state/-/gl-state-1.0.0.tgz",
-      "integrity": "sha1-Ji+qdYNbC5xTLBLzitxCXR0wzRc=",
-      "dev": true,
-      "dependencies": {
-        "uniq": "^1.0.0"
-      }
-    },
-    "node_modules/gl-streamtube3d": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/gl-streamtube3d/-/gl-streamtube3d-1.4.1.tgz",
-      "integrity": "sha512-rH02v00kgwgdpkXVo7KsSoPp38bIAYR9TE1iONjcQ4cQAlDhrGRauqT/P5sUaOIzs17A2DxWGcXM+EpNQs9pUA==",
-      "dev": true,
-      "dependencies": {
-        "gl-cone3d": "^1.5.2",
-        "gl-vec3": "^1.1.3",
-        "gl-vec4": "^1.0.1",
-        "glsl-inverse": "^1.0.0",
-        "glsl-out-of-range": "^1.0.4",
-        "glsl-specular-cook-torrance": "^2.0.1",
-        "glslify": "^7.0.0"
-      }
-    },
-    "node_modules/gl-surface3d": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/gl-surface3d/-/gl-surface3d-1.6.0.tgz",
-      "integrity": "sha512-x15+u4712ysnB85G55RLJEml6mOB4VaDn0VTlXCc9JcjRl5Es10Tk7lhGGyiPtkCfHwvhnkxzYA1/rHHYN7Y0A==",
-      "dev": true,
-      "dependencies": {
-        "binary-search-bounds": "^2.0.4",
-        "bit-twiddle": "^1.0.2",
-        "colormap": "^2.3.1",
-        "dup": "^1.0.0",
-        "gl-buffer": "^2.1.2",
-        "gl-mat4": "^1.2.0",
-        "gl-shader": "^4.2.1",
-        "gl-texture2d": "^2.1.0",
-        "gl-vao": "^1.3.0",
-        "glsl-out-of-range": "^1.0.4",
-        "glsl-specular-beckmann": "^1.1.2",
-        "glslify": "^7.0.0",
-        "ndarray": "^1.0.18",
-        "ndarray-gradient": "^1.0.0",
-        "ndarray-ops": "^1.2.2",
-        "ndarray-pack": "^1.2.1",
-        "ndarray-scratch": "^1.2.0",
-        "surface-nets": "^1.0.2",
-        "typedarray-pool": "^1.1.0"
-      }
-    },
-    "node_modules/gl-text": {
-      "version": "1.1.8",
-      "resolved": "https://registry.npmjs.org/gl-text/-/gl-text-1.1.8.tgz",
-      "integrity": "sha512-whnq9DEFYbW92C4ONwk2eT0YkzmVPHoADnEtuzMOmit87XhgAhBrNs3lK9EgGjU/MoWYvlF6RkI8Kl7Yuo1hUw==",
-      "dev": true,
-      "dependencies": {
-        "bit-twiddle": "^1.0.2",
-        "color-normalize": "^1.5.0",
-        "css-font": "^1.2.0",
-        "detect-kerning": "^2.1.2",
-        "es6-weak-map": "^2.0.3",
-        "flatten-vertex-data": "^1.0.2",
-        "font-atlas": "^2.1.0",
-        "font-measure": "^1.2.2",
-        "gl-util": "^3.1.2",
-        "is-plain-obj": "^1.1.0",
-        "object-assign": "^4.1.1",
-        "parse-rect": "^1.2.0",
-        "parse-unit": "^1.0.1",
-        "pick-by-alias": "^1.2.0",
-        "regl": "^1.3.11",
-        "to-px": "^1.0.1",
-        "typedarray-pool": "^1.1.0"
-      }
-    },
-    "node_modules/gl-texture2d": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/gl-texture2d/-/gl-texture2d-2.1.0.tgz",
-      "integrity": "sha1-/2gk5+fDGoum/c2+nlxpXX4hh8c=",
-      "dev": true,
-      "dependencies": {
-        "ndarray": "^1.0.15",
-        "ndarray-ops": "^1.2.2",
-        "typedarray-pool": "^1.1.0"
-      }
-    },
-    "node_modules/gl-util": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npmjs.org/gl-util/-/gl-util-3.1.3.tgz",
-      "integrity": "sha512-dvRTggw5MSkJnCbh74jZzSoTOGnVYK+Bt+Ckqm39CVcl6+zSsxqWk4lr5NKhkqXHL6qvZAU9h17ZF8mIskY9mA==",
-      "dev": true,
-      "dependencies": {
-        "is-browser": "^2.0.1",
-        "is-firefox": "^1.0.3",
-        "is-plain-obj": "^1.1.0",
-        "number-is-integer": "^1.0.1",
-        "object-assign": "^4.1.0",
-        "pick-by-alias": "^1.2.0",
-        "weak-map": "^1.0.5"
-      }
-    },
-    "node_modules/gl-vao": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/gl-vao/-/gl-vao-1.3.0.tgz",
-      "integrity": "sha1-6ekqqVWIyrnVwvBLaTRAw99pGSM=",
-      "dev": true
-    },
-    "node_modules/gl-vec3": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/gl-vec3/-/gl-vec3-1.1.3.tgz",
-      "integrity": "sha512-jduKUqT0SGH02l8Yl+mV1yVsDfYgQAJyXGxkJQGyxPLHRiW25DwVIRPt6uvhrEMHftJfqhqKthRcyZqNEl9Xdw==",
-      "dev": true
-    },
-    "node_modules/gl-vec4": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/gl-vec4/-/gl-vec4-1.0.1.tgz",
-      "integrity": "sha1-l9loeCgbFLUyy84QF4Xf0cs0CWQ=",
-      "dev": true
-    },
-    "node_modules/glob": {
-      "version": "7.1.4",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
-      "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
-      "dev": true,
-      "dependencies": {
-        "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"
-      },
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/glob-parent": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
-      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
-      "dev": true,
-      "dependencies": {
-        "is-glob": "^4.0.1"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/globby": {
-      "version": "11.0.2",
-      "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz",
-      "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==",
-      "dev": true,
-      "dependencies": {
-        "array-union": "^2.1.0",
-        "dir-glob": "^3.0.1",
-        "fast-glob": "^3.1.1",
-        "ignore": "^5.1.4",
-        "merge2": "^1.3.0",
-        "slash": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/glsl-inject-defines": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/glsl-inject-defines/-/glsl-inject-defines-1.0.3.tgz",
-      "integrity": "sha1-3RqswsF/yyvT/DJBHGYz0Ne2D9Q=",
-      "dev": true,
-      "dependencies": {
-        "glsl-token-inject-block": "^1.0.0",
-        "glsl-token-string": "^1.0.1",
-        "glsl-tokenizer": "^2.0.2"
-      }
-    },
-    "node_modules/glsl-inverse": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/glsl-inverse/-/glsl-inverse-1.0.0.tgz",
-      "integrity": "sha1-EsCx0GX1WERNHm/q95td34qRiuY=",
-      "dev": true
-    },
-    "node_modules/glsl-out-of-range": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/glsl-out-of-range/-/glsl-out-of-range-1.0.4.tgz",
-      "integrity": "sha512-fCcDu2LCQ39VBvfe1FbhuazXEf0CqMZI9OYXrYlL6uUARG48CTAbL04+tZBtVM0zo1Ljx4OLu2AxNquq++lxWQ==",
-      "dev": true
-    },
-    "node_modules/glsl-resolve": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/glsl-resolve/-/glsl-resolve-0.0.1.tgz",
-      "integrity": "sha1-iUvvc5ENeSyBtRQxgANdCnivdtM=",
-      "dev": true,
-      "dependencies": {
-        "resolve": "^0.6.1",
-        "xtend": "^2.1.2"
-      }
-    },
-    "node_modules/glsl-resolve/node_modules/resolve": {
-      "version": "0.6.3",
-      "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz",
-      "integrity": "sha1-3ZV5gufnNt699TtYpN2RdUV13UY=",
-      "dev": true
-    },
-    "node_modules/glsl-resolve/node_modules/xtend": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.2.0.tgz",
-      "integrity": "sha1-7vax8ZjByN6vrYsXZaBNrUoBxak=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.4"
-      }
-    },
-    "node_modules/glsl-shader-name": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/glsl-shader-name/-/glsl-shader-name-1.0.0.tgz",
-      "integrity": "sha1-osMLO6c0mb77DMcYTXx3M91LSH0=",
-      "dev": true,
-      "dependencies": {
-        "atob-lite": "^1.0.0",
-        "glsl-tokenizer": "^2.0.2"
-      }
-    },
-    "node_modules/glsl-specular-beckmann": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/glsl-specular-beckmann/-/glsl-specular-beckmann-1.1.2.tgz",
-      "integrity": "sha1-/OkFaTPs3yRWJ4N2pU0IKJPndfE=",
-      "dev": true
-    },
-    "node_modules/glsl-specular-cook-torrance": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/glsl-specular-cook-torrance/-/glsl-specular-cook-torrance-2.0.1.tgz",
-      "integrity": "sha1-qJHMBsjHtPRyhwK0gk/ay7ln148=",
-      "dev": true,
-      "dependencies": {
-        "glsl-specular-beckmann": "^1.1.1"
-      }
-    },
-    "node_modules/glsl-token-assignments": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/glsl-token-assignments/-/glsl-token-assignments-2.0.2.tgz",
-      "integrity": "sha1-pdgqt4SZwuimuDy2lJXm5mXOAZ8=",
-      "dev": true
-    },
-    "node_modules/glsl-token-defines": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/glsl-token-defines/-/glsl-token-defines-1.0.0.tgz",
-      "integrity": "sha1-y4kqqVmTYjFyhHDU90AySJaX+p0=",
-      "dev": true,
-      "dependencies": {
-        "glsl-tokenizer": "^2.0.0"
+        "glsl-tokenizer": "^2.0.0"
       }
     },
     "node_modules/glsl-token-depth": {
@@ -4679,18 +4251,6 @@
         "quantize": "^1.0.2"
       }
     },
-    "node_modules/image-size": {
-      "version": "0.7.5",
-      "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.7.5.tgz",
-      "integrity": "sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g==",
-      "dev": true,
-      "bin": {
-        "image-size": "bin/image-size.js"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
     "node_modules/immediate": {
       "version": "3.0.6",
       "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
@@ -4734,16 +4294,6 @@
         "node": ">=4"
       }
     },
-    "node_modules/incremental-convex-hull": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/incremental-convex-hull/-/incremental-convex-hull-1.0.1.tgz",
-      "integrity": "sha1-UUKMFMudmmFEv+abKFH7N3M0vh4=",
-      "dev": true,
-      "dependencies": {
-        "robust-orientation": "^1.1.2",
-        "simplicial-complex": "^1.0.0"
-      }
-    },
     "node_modules/index-array-by": {
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/index-array-by/-/index-array-by-1.3.0.tgz",
@@ -4777,33 +4327,6 @@
       "integrity": "sha512-SdoDWwNOTE2n4JWUsLn4KXZGuZPjPF9yyOGc8bnfWnBQh7BD/l80rzSznKc/r4Y0aQ7z3RTk9X+tV4tHBpu+dA==",
       "dev": true
     },
-    "node_modules/interval-tree-1d": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/interval-tree-1d/-/interval-tree-1d-1.0.3.tgz",
-      "integrity": "sha1-j9veArayx9verWNry+2OCHENhcE=",
-      "dev": true,
-      "dependencies": {
-        "binary-search-bounds": "^1.0.0"
-      }
-    },
-    "node_modules/interval-tree-1d/node_modules/binary-search-bounds": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-1.0.0.tgz",
-      "integrity": "sha1-MjyjF+PypA9CRMclX1OEpbIHu2k=",
-      "dev": true
-    },
-    "node_modules/invert-permutation": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/invert-permutation/-/invert-permutation-1.0.0.tgz",
-      "integrity": "sha1-oKeAQurbNrwXVR54fv0UOa3VSTM=",
-      "dev": true
-    },
-    "node_modules/iota-array": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/iota-array/-/iota-array-1.0.0.tgz",
-      "integrity": "sha1-ge9X/l0FgUzVjCSDYyqZwwoOgIc=",
-      "dev": true
-    },
     "node_modules/ipaddr.js": {
       "version": "1.9.1",
       "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
@@ -4872,12 +4395,6 @@
       "integrity": "sha512-F5rTJxDQ2sW81fcfOR1GnCXT6sVJC104fCyfj+mjpwNEwaPYSn5fte5jiHmBg3DHsIoL/l8Kvw5VN5SsTRcRFQ==",
       "dev": true
     },
-    "node_modules/is-buffer": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
-      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
-      "dev": true
-    },
     "node_modules/is-color-stop": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz",
@@ -4935,12 +4452,15 @@
       "dev": true,
       "engines": {
         "node": ">=0.10.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/is-firefox": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/is-firefox/-/is-firefox-1.0.3.tgz",
-      "integrity": "sha1-KioVZ3g6QX9uFYMjEI84YbCRhWI=",
+      "integrity": "sha512-6Q9ITjvWIm0Xdqv+5U12wgOKEM2KoBw4Y926m0OFkvlCxnbG94HKAsVz8w3fWcfAS5YA2fJORXX1dLrkprCCxA==",
       "dev": true,
       "engines": {
         "node": ">=0.10.0"
@@ -4983,9 +4503,9 @@
       }
     },
     "node_modules/is-mobile": {
-      "version": "2.2.2",
-      "resolved": "https://registry.npmjs.org/is-mobile/-/is-mobile-2.2.2.tgz",
-      "integrity": "sha512-wW/SXnYJkTjs++tVK5b6kVITZpAZPtUrt9SF80vvxGiF/Oywal+COk1jlRkiVq15RFNEQKQY31TkV24/1T5cVg==",
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/is-mobile/-/is-mobile-4.0.0.tgz",
+      "integrity": "sha512-mlcHZA84t1qLSuWkt2v0I2l61PYdyQDt4aG1mLIXF5FDMm4+haBCxCPYSr/uwqQNRk1MiTizn0ypEuRAOLRAew==",
       "dev": true
     },
     "node_modules/is-number": {
@@ -5183,12 +4703,6 @@
       "integrity": "sha512-ZSEpE/EFApR0bJ1w/dUGwTSUvWlpalKqIzkaYdYB7jaftQA/Y2Jav+eT4CMtEYFj+ZK4mswP13Q2acnPBnhGOw==",
       "dev": true
     },
-    "node_modules/lerp": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/lerp/-/lerp-1.0.3.tgz",
-      "integrity": "sha1-oYyJaPkXiW3hXM/MKNVaa3Med24=",
-      "dev": true
-    },
     "node_modules/levn": {
       "version": "0.3.0",
       "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
@@ -5264,6 +4778,12 @@
       "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
       "dev": true
     },
+    "node_modules/lodash.merge": {
+      "version": "4.6.2",
+      "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+      "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+      "dev": true
+    },
     "node_modules/lodash.uniq": {
       "version": "4.5.0",
       "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
@@ -5343,15 +4863,6 @@
         "node": ">=6.4.0"
       }
     },
-    "node_modules/marching-simplex-table": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/marching-simplex-table/-/marching-simplex-table-1.0.0.tgz",
-      "integrity": "sha1-vBYlbg+Pm1WKqbKHL4gy2UM/Uuo=",
-      "dev": true,
-      "dependencies": {
-        "convex-hull": "^1.0.3"
-      }
-    },
     "node_modules/marked": {
       "version": "4.0.10",
       "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.10.tgz",
@@ -5364,38 +4875,6 @@
         "node": ">= 12"
       }
     },
-    "node_modules/mat4-decompose": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/mat4-decompose/-/mat4-decompose-1.0.4.tgz",
-      "integrity": "sha1-ZetP451wh496RE60Yk1S9+frL68=",
-      "dev": true,
-      "dependencies": {
-        "gl-mat4": "^1.0.1",
-        "gl-vec3": "^1.0.2"
-      }
-    },
-    "node_modules/mat4-interpolate": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/mat4-interpolate/-/mat4-interpolate-1.0.4.tgz",
-      "integrity": "sha1-Vf/p6zw1KV4sDVqfdyXZBoqJ/3Q=",
-      "dev": true,
-      "dependencies": {
-        "gl-mat4": "^1.0.1",
-        "gl-vec3": "^1.0.2",
-        "mat4-decompose": "^1.0.3",
-        "mat4-recompose": "^1.0.3",
-        "quat-slerp": "^1.0.0"
-      }
-    },
-    "node_modules/mat4-recompose": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/mat4-recompose/-/mat4-recompose-1.0.4.tgz",
-      "integrity": "sha1-OVPCMP8kc9x3LuAUpSySXPgbDk0=",
-      "dev": true,
-      "dependencies": {
-        "gl-mat4": "^1.0.1"
-      }
-    },
     "node_modules/math-log2": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/math-log2/-/math-log2-1.0.1.tgz",
@@ -5405,24 +4884,6 @@
         "node": ">=0.10.0"
       }
     },
-    "node_modules/matrix-camera-controller": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmjs.org/matrix-camera-controller/-/matrix-camera-controller-2.1.3.tgz",
-      "integrity": "sha1-NeUmDMHNVQliunmfLY1OlLGjk3A=",
-      "dev": true,
-      "dependencies": {
-        "binary-search-bounds": "^1.0.0",
-        "gl-mat4": "^1.1.2",
-        "gl-vec3": "^1.0.3",
-        "mat4-interpolate": "^1.0.3"
-      }
-    },
-    "node_modules/matrix-camera-controller/node_modules/binary-search-bounds": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-1.0.0.tgz",
-      "integrity": "sha1-MjyjF+PypA9CRMclX1OEpbIHu2k=",
-      "dev": true
-    },
     "node_modules/mdn-data": {
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
@@ -5565,19 +5026,10 @@
         "node": "*"
       }
     },
-    "node_modules/monotone-convex-hull-2d": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/monotone-convex-hull-2d/-/monotone-convex-hull-2d-1.0.1.tgz",
-      "integrity": "sha1-R/Xa6t88Sv03dkuqGqh4ekDu4Iw=",
-      "dev": true,
-      "dependencies": {
-        "robust-orientation": "^1.1.3"
-      }
-    },
     "node_modules/mouse-change": {
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/mouse-change/-/mouse-change-1.4.0.tgz",
-      "integrity": "sha1-wrd+W/o0pDzhRFyBV6Tk3JiVwU8=",
+      "integrity": "sha512-vpN0s+zLL2ykyyUDh+fayu9Xkor5v/zRD9jhSqjRS1cJTGS0+oakVZzNm5n19JvvEj0you+MXlYTpNxUDQUjkQ==",
       "dev": true,
       "dependencies": {
         "mouse-event": "^1.0.0"
@@ -5586,19 +5038,19 @@
     "node_modules/mouse-event": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/mouse-event/-/mouse-event-1.0.5.tgz",
-      "integrity": "sha1-s3ie23EJmX1aky0dAdqhVDpQFzI=",
+      "integrity": "sha512-ItUxtL2IkeSKSp9cyaX2JLUuKk2uMoxBg4bbOWVd29+CskYJR9BGsUqtXenNzKbnDshvupjUewDIYVrOB6NmGw==",
       "dev": true
     },
     "node_modules/mouse-event-offset": {
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/mouse-event-offset/-/mouse-event-offset-3.0.2.tgz",
-      "integrity": "sha1-39hqbiSMa6jK1TuQXVA3ogY+mYQ=",
+      "integrity": "sha512-s9sqOs5B1Ykox3Xo8b3Ss2IQju4UwlW6LSR+Q5FXWpprJ5fzMLefIIItr3PH8RwzfGy6gxs/4GAmiNuZScE25w==",
       "dev": true
     },
     "node_modules/mouse-wheel": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/mouse-wheel/-/mouse-wheel-1.2.0.tgz",
-      "integrity": "sha1-bSkDseqPtI5h8bU7kDZ3PwQs21w=",
+      "integrity": "sha512-+OfYBiUOCTWcTECES49neZwL5AoGkXE+lFjIvzwNCnYRlso+EnfvovcBxGoyQ0yQt806eSPjS675K0EwWknXmw==",
       "dev": true,
       "dependencies": {
         "right-now": "^1.0.0",
@@ -5606,12 +5058,6 @@
         "to-px": "^1.0.1"
       }
     },
-    "node_modules/mouse-wheel/node_modules/signum": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/signum/-/signum-1.0.0.tgz",
-      "integrity": "sha1-dKfSvyogtA66FqkrFSEk8dVZ+nc=",
-      "dev": true
-    },
     "node_modules/ms": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
@@ -5632,80 +5078,44 @@
       "integrity": "sha1-sGJ44h/Gw3+lMTcysEEry2rhX1E=",
       "dev": true
     },
-    "node_modules/ndarray": {
-      "version": "1.0.19",
-      "resolved": "https://registry.npmjs.org/ndarray/-/ndarray-1.0.19.tgz",
-      "integrity": "sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==",
-      "dev": true,
-      "dependencies": {
-        "iota-array": "^1.0.0",
-        "is-buffer": "^1.0.2"
-      }
-    },
-    "node_modules/ndarray-extract-contour": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/ndarray-extract-contour/-/ndarray-extract-contour-1.0.1.tgz",
-      "integrity": "sha1-Cu4ROjozsia5DEiIz4d79HUTBeQ=",
-      "dev": true,
-      "dependencies": {
-        "typedarray-pool": "^1.0.0"
-      }
-    },
-    "node_modules/ndarray-gradient": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/ndarray-gradient/-/ndarray-gradient-1.0.0.tgz",
-      "integrity": "sha1-t0kaUVxqZJ8ZpiMk//byf8jCU5M=",
-      "dev": true,
-      "dependencies": {
-        "cwise-compiler": "^1.0.0",
-        "dup": "^1.0.0"
-      }
-    },
-    "node_modules/ndarray-linear-interpolate": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/ndarray-linear-interpolate/-/ndarray-linear-interpolate-1.0.0.tgz",
-      "integrity": "sha1-eLySuFuavBW25n7mWCj54hN65ys=",
+    "node_modules/native-promise-only": {
+      "version": "0.8.1",
+      "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz",
+      "integrity": "sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==",
       "dev": true
     },
-    "node_modules/ndarray-ops": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/ndarray-ops/-/ndarray-ops-1.2.2.tgz",
-      "integrity": "sha1-WeiNLDKn7ryxvGkPrhQVeVV6YU4=",
+    "node_modules/needle": {
+      "version": "2.9.1",
+      "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz",
+      "integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==",
       "dev": true,
       "dependencies": {
-        "cwise-compiler": "^1.0.0"
-      }
-    },
-    "node_modules/ndarray-pack": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/ndarray-pack/-/ndarray-pack-1.2.1.tgz",
-      "integrity": "sha1-jK6+qqJNXs9w/4YCBjeXfajuWFo=",
-      "dev": true,
-      "dependencies": {
-        "cwise-compiler": "^1.1.2",
-        "ndarray": "^1.0.13"
-      }
-    },
-    "node_modules/ndarray-scratch": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/ndarray-scratch/-/ndarray-scratch-1.2.0.tgz",
-      "integrity": "sha1-YwRjbWLrqT20cnrBPGkzQdulDgE=",
-      "dev": true,
-      "dependencies": {
-        "ndarray": "^1.0.14",
-        "ndarray-ops": "^1.2.1",
-        "typedarray-pool": "^1.0.2"
+        "debug": "^3.2.6",
+        "iconv-lite": "^0.4.4",
+        "sax": "^1.2.4"
+      },
+      "bin": {
+        "needle": "bin/needle"
+      },
+      "engines": {
+        "node": ">= 4.4.x"
       }
     },
-    "node_modules/ndarray-sort": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/ndarray-sort/-/ndarray-sort-1.0.1.tgz",
-      "integrity": "sha1-/qBbTLg0x/TgIWo1TzynUTAN/Wo=",
+    "node_modules/needle/node_modules/debug": {
+      "version": "3.2.7",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
       "dev": true,
       "dependencies": {
-        "typedarray-pool": "^1.0.0"
+        "ms": "^2.1.1"
       }
     },
+    "node_modules/needle/node_modules/ms": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+      "dev": true
+    },
     "node_modules/negotiator": {
       "version": "0.6.3",
       "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
@@ -5720,15 +5130,6 @@
       "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
       "dev": true
     },
-    "node_modules/nextafter": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/nextafter/-/nextafter-1.0.0.tgz",
-      "integrity": "sha1-t9d7U1MQ4+CX5gJauwqQNHfsGjo=",
-      "dev": true,
-      "dependencies": {
-        "double-bits": "^1.1.0"
-      }
-    },
     "node_modules/ngraph.events": {
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/ngraph.events/-/ngraph.events-1.2.1.tgz",
@@ -5747,9 +5148,9 @@
       }
     },
     "node_modules/ngraph.graph": {
-      "version": "19.1.0",
-      "resolved": "https://registry.npmjs.org/ngraph.graph/-/ngraph.graph-19.1.0.tgz",
-      "integrity": "sha512-9cws84qfPkrYa7BaBtT+KgZfLXrd6pNL9Gl5Do+MBO/0Hm6rOM7qK78MZaO1uEoIK6p2pgUs6lu29zn/6tP59w==",
+      "version": "20.0.1",
+      "resolved": "https://registry.npmjs.org/ngraph.graph/-/ngraph.graph-20.0.1.tgz",
+      "integrity": "sha512-VFsQ+EMkT+7lcJO1QP8Ik3w64WbHJl27Q53EO9hiFU9CRyxJ8HfcXtfWz/U8okuoYKDctbciL6pX3vG5dt1rYA==",
       "dev": true,
       "dependencies": {
         "ngraph.events": "^1.2.1"
@@ -5797,12 +5198,6 @@
         "node": ">=8"
       }
     },
-    "node_modules/normals": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/normals/-/normals-1.1.0.tgz",
-      "integrity": "sha1-MltZXtNK/kZ6bFWhT9kIV4f/WcA=",
-      "dev": true
-    },
     "node_modules/nth-check": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz",
@@ -5818,7 +5213,7 @@
     "node_modules/number-is-integer": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/number-is-integer/-/number-is-integer-1.0.1.tgz",
-      "integrity": "sha1-5ZvKFy/+0nMY55x862y3LAlbIVI=",
+      "integrity": "sha512-Dq3iuiFBkrbmuQjGFFF3zckXNCQoSD37/SdSbgcBailUx6knDvDwb5CympBgcoWHy36sfS12u74MHYkXyHq6bg==",
       "dev": true,
       "dependencies": {
         "is-finite": "^1.0.1"
@@ -5827,12 +5222,6 @@
         "node": ">=0.10.0"
       }
     },
-    "node_modules/numeric": {
-      "version": "1.2.6",
-      "resolved": "https://registry.npmjs.org/numeric/-/numeric-1.2.6.tgz",
-      "integrity": "sha1-dlsCvvl5iPz4gNTrPza4D6MTNao=",
-      "dev": true
-    },
     "node_modules/object-assign": {
       "version": "4.1.1",
       "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -6064,16 +5453,6 @@
         "node": ">= 0.8.0"
       }
     },
-    "node_modules/orbit-camera-controller": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/orbit-camera-controller/-/orbit-camera-controller-4.0.0.tgz",
-      "integrity": "sha1-bis28OeHhmPDMPUNqbfOaGwncAU=",
-      "dev": true,
-      "dependencies": {
-        "filtered-vector": "^1.2.1",
-        "gl-mat4": "^1.0.3"
-      }
-    },
     "node_modules/p-limit": {
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
@@ -6107,18 +5486,6 @@
         "node": ">=6"
       }
     },
-    "node_modules/pad-left": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/pad-left/-/pad-left-1.0.2.tgz",
-      "integrity": "sha1-GeVzXqmDlaJs7carkm6tEPMQDUw=",
-      "dev": true,
-      "dependencies": {
-        "repeat-string": "^1.3.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
     "node_modules/pako": {
       "version": "1.0.11",
       "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
@@ -6132,9 +5499,9 @@
       "dev": true
     },
     "node_modules/parenthesis": {
-      "version": "3.1.7",
-      "resolved": "https://registry.npmjs.org/parenthesis/-/parenthesis-3.1.7.tgz",
-      "integrity": "sha512-iMtu+HCbLXVrpf6Ys/4YKhcFxbux3xK4ZVB9r+a2kMSqeeQWQoDNYlXIsOjwlT2ldYXZ3k5PVeBnYn7fbAo/Bg==",
+      "version": "3.1.8",
+      "resolved": "https://registry.npmjs.org/parenthesis/-/parenthesis-3.1.8.tgz",
+      "integrity": "sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw==",
       "dev": true
     },
     "node_modules/parse-json": {
@@ -6168,7 +5535,7 @@
     "node_modules/parse-unit": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/parse-unit/-/parse-unit-1.0.1.tgz",
-      "integrity": "sha1-fhu21b7zh0wo45JSaiVBFwKR7s8=",
+      "integrity": "sha512-hrqldJHokR3Qj88EIlV/kAyAi/G5R2+R56TBANxNMy0uPlYcttx0jnMW6Yx5KsKPSbC3KddM/7qQm3+0wEXKxg==",
       "dev": true
     },
     "node_modules/parse-uri": {
@@ -6303,25 +5670,6 @@
       "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
       "dev": true
     },
-    "node_modules/permutation-parity": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/permutation-parity/-/permutation-parity-1.0.0.tgz",
-      "integrity": "sha1-AXTVH8pwSxG5pLFSsj1Tf9xrXvQ=",
-      "dev": true,
-      "dependencies": {
-        "typedarray-pool": "^1.0.0"
-      }
-    },
-    "node_modules/permutation-rank": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/permutation-rank/-/permutation-rank-1.0.0.tgz",
-      "integrity": "sha1-n9mLvOzwj79ZlLXq3JSmLmeUg7U=",
-      "dev": true,
-      "dependencies": {
-        "invert-permutation": "^1.0.0",
-        "typedarray-pool": "^1.0.0"
-      }
-    },
     "node_modules/pick-by-alias": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/pick-by-alias/-/pick-by-alias-1.2.0.tgz",
@@ -6403,97 +5751,53 @@
         "@pixi/utils": "5.3.8"
       }
     },
-    "node_modules/planar-dual": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/planar-dual/-/planar-dual-1.0.2.tgz",
-      "integrity": "sha1-tqQjVSOxsMt55fkm+OozXdmC1WM=",
-      "dev": true,
-      "dependencies": {
-        "compare-angle": "^1.0.0",
-        "dup": "^1.0.0"
-      }
-    },
-    "node_modules/planar-graph-to-polyline": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/planar-graph-to-polyline/-/planar-graph-to-polyline-1.0.5.tgz",
-      "integrity": "sha1-iCuGBRmbqIv9RkyVUzA1VsUrmIo=",
-      "dev": true,
-      "dependencies": {
-        "edges-to-adjacency-list": "^1.0.0",
-        "planar-dual": "^1.0.0",
-        "point-in-big-polygon": "^2.0.0",
-        "robust-orientation": "^1.0.1",
-        "robust-sum": "^1.0.0",
-        "two-product": "^1.0.0",
-        "uniq": "^1.0.0"
-      }
-    },
     "node_modules/plotly.js": {
-      "version": "1.58.4",
-      "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-1.58.4.tgz",
-      "integrity": "sha512-hdt/aEvkPjS1HJ7tJKcPqsqi9ErEZPhUFs4d2ANTLeBim+AmVcHzS1rtwr7ZrVCINgliW/+92u81omJoy+lbUw==",
+      "version": "2.22.0",
+      "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.22.0.tgz",
+      "integrity": "sha512-g+YTMnChFDx/fNUV2rqkrf87wKwKuOhqv9LIxhmPyF94RGM4v4blP0mmgwQ278qv3kXmfTMJecIUusr1gzscng==",
       "dev": true,
       "dependencies": {
+        "@plotly/d3": "3.8.1",
         "@plotly/d3-sankey": "0.7.2",
         "@plotly/d3-sankey-circular": "0.33.1",
-        "@plotly/point-cluster": "^3.1.9",
-        "@turf/area": "^6.0.1",
-        "@turf/bbox": "^6.0.1",
+        "@turf/area": "^6.4.0",
+        "@turf/bbox": "^6.4.0",
         "@turf/centroid": "^6.0.2",
-        "alpha-shape": "^1.0.0",
         "canvas-fit": "^1.5.0",
         "color-alpha": "1.0.4",
         "color-normalize": "1.5.0",
         "color-parse": "1.3.8",
         "color-rgba": "2.1.1",
-        "convex-hull": "^1.0.3",
         "country-regex": "^1.1.0",
-        "d3": "^3.5.17",
         "d3-force": "^1.2.1",
+        "d3-format": "^1.4.5",
+        "d3-geo": "^1.12.1",
+        "d3-geo-projection": "^2.9.0",
         "d3-hierarchy": "^1.1.9",
-        "d3-interpolate": "^1.4.0",
+        "d3-interpolate": "^3.0.1",
+        "d3-time": "^1.1.0",
         "d3-time-format": "^2.2.3",
-        "delaunay-triangulate": "^1.1.6",
-        "es6-promise": "^4.2.8",
         "fast-isnumeric": "^1.1.4",
-        "gl-cone3d": "^1.5.2",
-        "gl-contour2d": "^1.1.7",
-        "gl-error3d": "^1.0.16",
-        "gl-heatmap2d": "^1.1.0",
-        "gl-line3d": "1.2.1",
         "gl-mat4": "^1.2.0",
-        "gl-mesh3d": "^2.3.1",
-        "gl-plot2d": "^1.4.5",
-        "gl-plot3d": "^2.4.7",
-        "gl-pointcloud2d": "^1.0.3",
-        "gl-scatter3d": "^1.2.3",
-        "gl-select-box": "^1.0.4",
-        "gl-spikes2d": "^1.0.2",
-        "gl-streamtube3d": "^1.4.1",
-        "gl-surface3d": "^1.6.0",
-        "gl-text": "^1.1.8",
+        "gl-text": "^1.3.1",
         "glslify": "^7.1.1",
         "has-hover": "^1.0.1",
         "has-passive-events": "^1.0.0",
-        "image-size": "^0.7.5",
-        "is-mobile": "^2.2.2",
+        "is-mobile": "^4.0.0",
         "mapbox-gl": "1.10.1",
-        "matrix-camera-controller": "^2.1.3",
         "mouse-change": "^1.4.0",
         "mouse-event-offset": "^3.0.2",
         "mouse-wheel": "^1.2.0",
-        "ndarray": "^1.0.19",
-        "ndarray-linear-interpolate": "^1.0.0",
+        "native-promise-only": "^0.8.1",
         "parse-svg-path": "^0.1.2",
+        "point-in-polygon": "^1.1.0",
         "polybooljs": "^1.2.0",
-        "regl": "^1.6.1",
-        "regl-error2d": "^2.0.11",
-        "regl-line2d": "^3.0.18",
-        "regl-scatter2d": "^3.2.1",
-        "regl-splom": "^1.0.12",
-        "right-now": "^1.0.0",
-        "robust-orientation": "^1.1.3",
-        "sane-topojson": "^4.0.0",
+        "probe-image-size": "^7.2.3",
+        "regl": "npm:@plotly/regl@^2.1.2",
+        "regl-error2d": "^2.0.12",
+        "regl-line2d": "^3.1.2",
+        "regl-scatter2d": "^3.2.8",
+        "regl-splom": "^1.0.14",
         "strongly-connected-components": "^1.0.1",
         "superscript-text": "^1.0.0",
         "svg-path-sdf": "^1.1.3",
@@ -6504,34 +5808,43 @@
         "world-calendars": "^1.0.3"
       }
     },
-    "node_modules/plotly.js/node_modules/d3": {
-      "version": "3.5.17",
-      "resolved": "https://registry.npmjs.org/d3/-/d3-3.5.17.tgz",
-      "integrity": "sha1-vEZ0gAQ3iyGjYMn8fPUjF5B2L7g=",
+    "node_modules/plotly.js/node_modules/d3-array": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz",
+      "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==",
       "dev": true
     },
-    "node_modules/png-js": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz",
-      "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g==",
-      "dev": true
+    "node_modules/plotly.js/node_modules/d3-geo": {
+      "version": "1.12.1",
+      "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.12.1.tgz",
+      "integrity": "sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==",
+      "dev": true,
+      "dependencies": {
+        "d3-array": "1"
+      }
     },
-    "node_modules/point-in-big-polygon": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/point-in-big-polygon/-/point-in-big-polygon-2.0.0.tgz",
-      "integrity": "sha1-ObYT6mzxfWtD4Yj3fzTETGszulU=",
+    "node_modules/plotly.js/node_modules/d3-interpolate": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
+      "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
       "dev": true,
       "dependencies": {
-        "binary-search-bounds": "^1.0.0",
-        "interval-tree-1d": "^1.0.1",
-        "robust-orientation": "^1.1.3",
-        "slab-decomposition": "^1.0.1"
+        "d3-color": "1 - 3"
+      },
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/point-in-big-polygon/node_modules/binary-search-bounds": {
+    "node_modules/png-js": {
       "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-1.0.0.tgz",
-      "integrity": "sha1-MjyjF+PypA9CRMclX1OEpbIHu2k=",
+      "resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz",
+      "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g==",
+      "dev": true
+    },
+    "node_modules/point-in-polygon": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/point-in-polygon/-/point-in-polygon-1.1.0.tgz",
+      "integrity": "sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw==",
       "dev": true
     },
     "node_modules/polished": {
@@ -6552,15 +5865,6 @@
       "integrity": "sha1-tDkMLgedTCYtOyUExiiNlbp6R1g=",
       "dev": true
     },
-    "node_modules/polytope-closest-point": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/polytope-closest-point/-/polytope-closest-point-1.0.0.tgz",
-      "integrity": "sha1-5uV/QIGrXox3i4Ee8G4sSK4zjD8=",
-      "dev": true,
-      "dependencies": {
-        "numeric": "^1.2.6"
-      }
-    },
     "node_modules/popper.js": {
       "version": "1.16.1",
       "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz",
@@ -7229,6 +6533,17 @@
         "node": ">=0.8"
       }
     },
+    "node_modules/probe-image-size": {
+      "version": "7.2.3",
+      "resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-7.2.3.tgz",
+      "integrity": "sha512-HubhG4Rb2UH8YtV4ba0Vp5bQ7L78RTONYu/ujmCu5nBI8wGv24s4E9xSKBi0N1MowRpxk76pFCpJtW0KPzOK0w==",
+      "dev": true,
+      "dependencies": {
+        "lodash.merge": "^4.6.2",
+        "needle": "^2.5.2",
+        "stream-parser": "~0.3.1"
+      }
+    },
     "node_modules/process-nextick-args": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
@@ -7373,15 +6688,6 @@
         "node": ">=0.10.21"
       }
     },
-    "node_modules/quat-slerp": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/quat-slerp/-/quat-slerp-1.0.1.tgz",
-      "integrity": "sha1-K6oVzjprvcMkHZcusXKDE57Wnyk=",
-      "dev": true,
-      "dependencies": {
-        "gl-quat": "^1.0.0"
-      }
-    },
     "node_modules/querystring": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
@@ -7434,15 +6740,6 @@
         "node": ">= 0.6"
       }
     },
-    "node_modules/rat-vec": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/rat-vec/-/rat-vec-1.1.1.tgz",
-      "integrity": "sha1-Dd4rZrezS7G80qI4BerIBth/0X8=",
-      "dev": true,
-      "dependencies": {
-        "big-rat": "^1.0.3"
-      }
-    },
     "node_modules/raw-body": {
       "version": "2.4.3",
       "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz",
@@ -7493,17 +6790,6 @@
         "node": ">=8.10.0"
       }
     },
-    "node_modules/reduce-simplicial-complex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/reduce-simplicial-complex/-/reduce-simplicial-complex-1.0.0.tgz",
-      "integrity": "sha1-dNaWovg196bc2SBl/YxRgfLt+Lw=",
-      "dev": true,
-      "dependencies": {
-        "cell-orientation": "^1.0.1",
-        "compare-cell": "^1.0.0",
-        "compare-oriented-cell": "^1.0.1"
-      }
-    },
     "node_modules/regenerator-runtime": {
       "version": "0.13.7",
       "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz",
@@ -7530,15 +6816,16 @@
       }
     },
     "node_modules/regl": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/regl/-/regl-1.7.0.tgz",
-      "integrity": "sha512-bEAtp/qrtKucxXSJkD4ebopFZYP0q1+3Vb2WECWv/T8yQEgKxDxJ7ztO285tAMaYZVR6mM1GgI6CCn8FROtL1w==",
+      "name": "@plotly/regl",
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@plotly/regl/-/regl-2.1.2.tgz",
+      "integrity": "sha512-Mdk+vUACbQvjd0m/1JJjOOafmkp/EpmHjISsopEz5Av44CBq7rPC05HHNbYGKVyNUF2zmEoBS/TT0pd0SPFFyw==",
       "dev": true
     },
     "node_modules/regl-error2d": {
-      "version": "2.0.11",
-      "resolved": "https://registry.npmjs.org/regl-error2d/-/regl-error2d-2.0.11.tgz",
-      "integrity": "sha512-Bv4DbLtDU69GXPSm+NvlVWzT82oQ8M2FK+SxzkyaYMlA9izZRdLmDADqBSyJTnPWiRT4a/2KA+MP+WI0N0yt7Q==",
+      "version": "2.0.12",
+      "resolved": "https://registry.npmjs.org/regl-error2d/-/regl-error2d-2.0.12.tgz",
+      "integrity": "sha512-r7BUprZoPO9AbyqM5qlJesrSRkl+hZnVKWKsVp7YhOl/3RIpi4UDGASGJY0puQ96u5fBYw/OlqV24IGcgJ0McA==",
       "dev": true,
       "dependencies": {
         "array-bounds": "^1.0.1",
@@ -7546,14 +6833,14 @@
         "flatten-vertex-data": "^1.0.2",
         "object-assign": "^4.1.1",
         "pick-by-alias": "^1.2.0",
-        "to-float32": "^1.0.1",
+        "to-float32": "^1.1.0",
         "update-diff": "^1.1.0"
       }
     },
     "node_modules/regl-line2d": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/regl-line2d/-/regl-line2d-3.1.0.tgz",
-      "integrity": "sha512-8dB3SyAW5zTU759LrIJdkOe128htl1xlONHrknsFl1tAxZVqTc+WO/2k9pAJDuyiKu1v/6bosiuEDOB7G3dm4w==",
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/regl-line2d/-/regl-line2d-3.1.2.tgz",
+      "integrity": "sha512-nmT7WWS/WxmXAQMkgaMKWXaVmwJ65KCrjbqHGOUjjqQi6shfT96YbBOvelXwO9hG7/hjvbzjtQ2UO0L3e7YaXQ==",
       "dev": true,
       "dependencies": {
         "array-bounds": "^1.0.1",
@@ -7567,13 +6854,13 @@
         "object-assign": "^4.1.1",
         "parse-rect": "^1.2.0",
         "pick-by-alias": "^1.2.0",
-        "to-float32": "^1.0.1"
+        "to-float32": "^1.1.0"
       }
     },
     "node_modules/regl-scatter2d": {
-      "version": "3.2.3",
-      "resolved": "https://registry.npmjs.org/regl-scatter2d/-/regl-scatter2d-3.2.3.tgz",
-      "integrity": "sha512-wURiMVjNrcBoED0SMYH9Accs0CovdnBWWuzH/WgT0kuJ3kDzia1vhmEUA2JZ/beozalARkFAy/C2K/4Nd1eZqQ==",
+      "version": "3.2.8",
+      "resolved": "https://registry.npmjs.org/regl-scatter2d/-/regl-scatter2d-3.2.8.tgz",
+      "integrity": "sha512-bqrqJyeHkGBa9mEfuBnRd7FUtdtZ1l+gsM2C5Ugr1U3vJG5K3mdWdVWtOAllZ5FHHyWJV/vgjVvftgFUg6CDig==",
       "dev": true,
       "dependencies": {
         "@plotly/point-cluster": "^3.1.9",
@@ -7590,7 +6877,7 @@
         "object-assign": "^4.1.1",
         "parse-rect": "^1.2.0",
         "pick-by-alias": "^1.2.0",
-        "to-float32": "^1.0.1",
+        "to-float32": "^1.1.0",
         "update-diff": "^1.1.0"
       }
     },
@@ -7610,15 +6897,6 @@
         "regl-scatter2d": "^3.2.3"
       }
     },
-    "node_modules/repeat-string": {
-      "version": "1.6.1",
-      "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
-      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
     "node_modules/require-directory": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -7706,7 +6984,7 @@
     "node_modules/right-now": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/right-now/-/right-now-1.0.0.tgz",
-      "integrity": "sha1-bolgne69fc2vja7Mmuo5z1haCRg=",
+      "integrity": "sha512-DA8+YS+sMIVpbsuKgy+Z67L9Lxb1p05mNxRpDPNksPDEFir4vmBlUtuN9jkTGn9YMMdlBuK7XQgFiz6ws+yhSg==",
       "dev": true
     },
     "node_modules/rimraf": {
@@ -7721,106 +6999,10 @@
         "rimraf": "bin.js"
       }
     },
-    "node_modules/robust-compress": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/robust-compress/-/robust-compress-1.0.0.tgz",
-      "integrity": "sha1-TPYsSzGNgwhRYBK7jBF1Lzkymxs=",
-      "dev": true
-    },
-    "node_modules/robust-determinant": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/robust-determinant/-/robust-determinant-1.1.0.tgz",
-      "integrity": "sha1-jsrnm3nKqz509t6+IjflORon6cc=",
-      "dev": true,
-      "dependencies": {
-        "robust-compress": "^1.0.0",
-        "robust-scale": "^1.0.0",
-        "robust-sum": "^1.0.0",
-        "two-product": "^1.0.0"
-      }
-    },
-    "node_modules/robust-dot-product": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/robust-dot-product/-/robust-dot-product-1.0.0.tgz",
-      "integrity": "sha1-yboBeL0sMEv9cl9Y6Inx2UYARVM=",
-      "dev": true,
-      "dependencies": {
-        "robust-sum": "^1.0.0",
-        "two-product": "^1.0.0"
-      }
-    },
-    "node_modules/robust-in-sphere": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/robust-in-sphere/-/robust-in-sphere-1.1.3.tgz",
-      "integrity": "sha1-HFiD0WpOkjkpR27zSBmFe/Kpz3U=",
-      "dev": true,
-      "dependencies": {
-        "robust-scale": "^1.0.0",
-        "robust-subtract": "^1.0.0",
-        "robust-sum": "^1.0.0",
-        "two-product": "^1.0.0"
-      }
-    },
-    "node_modules/robust-linear-solve": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/robust-linear-solve/-/robust-linear-solve-1.0.0.tgz",
-      "integrity": "sha1-DNasUEBpGm8qo81jEdcokFyjofE=",
-      "dev": true,
-      "dependencies": {
-        "robust-determinant": "^1.1.0"
-      }
-    },
-    "node_modules/robust-orientation": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/robust-orientation/-/robust-orientation-1.1.3.tgz",
-      "integrity": "sha1-2v9bANO+TmByLw6cAVbvln8cIEk=",
-      "dev": true,
-      "dependencies": {
-        "robust-scale": "^1.0.2",
-        "robust-subtract": "^1.0.0",
-        "robust-sum": "^1.0.0",
-        "two-product": "^1.0.2"
-      }
-    },
-    "node_modules/robust-product": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/robust-product/-/robust-product-1.0.0.tgz",
-      "integrity": "sha1-aFJQAHzbunzx3nW/9tKScBEJir4=",
-      "dev": true,
-      "dependencies": {
-        "robust-scale": "^1.0.0",
-        "robust-sum": "^1.0.0"
-      }
-    },
-    "node_modules/robust-scale": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/robust-scale/-/robust-scale-1.0.2.tgz",
-      "integrity": "sha1-d1Ey7QlULQKOWLLMecBikLz3jDI=",
-      "dev": true,
-      "dependencies": {
-        "two-product": "^1.0.2",
-        "two-sum": "^1.0.0"
-      }
-    },
-    "node_modules/robust-segment-intersect": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/robust-segment-intersect/-/robust-segment-intersect-1.0.1.tgz",
-      "integrity": "sha1-MlK2oPwboUreaRXMvgnLzpqrHBw=",
-      "dev": true,
-      "dependencies": {
-        "robust-orientation": "^1.1.3"
-      }
-    },
-    "node_modules/robust-subtract": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/robust-subtract/-/robust-subtract-1.0.0.tgz",
-      "integrity": "sha1-4LFk4e2LpOOl3aRaEgODSNvtPpo=",
-      "dev": true
-    },
-    "node_modules/robust-sum": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/robust-sum/-/robust-sum-1.0.0.tgz",
-      "integrity": "sha1-FmRuUlKStNJdgnV6KGlV4Lv6U9k=",
+    "node_modules/robust-predicates": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.1.tgz",
+      "integrity": "sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==",
       "dev": true
     },
     "node_modules/run-parallel": {
@@ -7849,12 +7031,6 @@
       "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
       "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
     },
-    "node_modules/sane-topojson": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/sane-topojson/-/sane-topojson-4.0.0.tgz",
-      "integrity": "sha512-bJILrpBboQfabG3BNnHI2hZl52pbt80BE09u4WhnrmzuF2JbMKZdl62G5glXskJ46p+gxE2IzOwGj/awR4g8AA==",
-      "dev": true
-    },
     "node_modules/save-svg-as-png": {
       "version": "1.4.17",
       "resolved": "https://registry.npmjs.org/save-svg-as-png/-/save-svg-as-png-1.4.17.tgz",
@@ -7966,9 +7142,9 @@
       "dev": true
     },
     "node_modules/signum": {
-      "version": "0.0.0",
-      "resolved": "https://registry.npmjs.org/signum/-/signum-0.0.0.tgz",
-      "integrity": "sha1-q1UbEAM1EHCnBHg/GgnF52kfnPY=",
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/signum/-/signum-1.0.0.tgz",
+      "integrity": "sha512-yodFGwcyt59XRh7w5W3jPcIQb3Bwi21suEfT7MAWnBX3iCdklJpgDgvGT9o04UonglZN5SNMfJFkHIR/jO8GHw==",
       "dev": true
     },
     "node_modules/simple-swizzle": {
@@ -7986,87 +7162,6 @@
       "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
       "dev": true
     },
-    "node_modules/simplicial-complex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/simplicial-complex/-/simplicial-complex-1.0.0.tgz",
-      "integrity": "sha1-bDOk7Wn81Nkbe8rdOzC2NoPq4kE=",
-      "dev": true,
-      "dependencies": {
-        "bit-twiddle": "^1.0.0",
-        "union-find": "^1.0.0"
-      }
-    },
-    "node_modules/simplicial-complex-boundary": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/simplicial-complex-boundary/-/simplicial-complex-boundary-1.0.1.tgz",
-      "integrity": "sha1-csn/HiTeqjdMm7L6DL8MCB6++BU=",
-      "dev": true,
-      "dependencies": {
-        "boundary-cells": "^2.0.0",
-        "reduce-simplicial-complex": "^1.0.0"
-      }
-    },
-    "node_modules/simplicial-complex-contour": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/simplicial-complex-contour/-/simplicial-complex-contour-1.0.2.tgz",
-      "integrity": "sha1-iQqsrChDZTQBEFRc8mKaJuBL+dE=",
-      "dev": true,
-      "dependencies": {
-        "marching-simplex-table": "^1.0.0",
-        "ndarray": "^1.0.15",
-        "ndarray-sort": "^1.0.0",
-        "typedarray-pool": "^1.1.0"
-      }
-    },
-    "node_modules/simplify-planar-graph": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/simplify-planar-graph/-/simplify-planar-graph-2.0.1.tgz",
-      "integrity": "sha1-vIWJNyXzLo+oriVoE5hEbSy892Y=",
-      "dev": true,
-      "dependencies": {
-        "robust-orientation": "^1.0.1",
-        "simplicial-complex": "^0.3.3"
-      }
-    },
-    "node_modules/simplify-planar-graph/node_modules/bit-twiddle": {
-      "version": "0.0.2",
-      "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-0.0.2.tgz",
-      "integrity": "sha1-wurruVKjuUrMFASX4c3NLxoz9Y4=",
-      "dev": true
-    },
-    "node_modules/simplify-planar-graph/node_modules/simplicial-complex": {
-      "version": "0.3.3",
-      "resolved": "https://registry.npmjs.org/simplicial-complex/-/simplicial-complex-0.3.3.tgz",
-      "integrity": "sha1-TDDK1X+eRXKd2PMGyHU1efRr6Z4=",
-      "dev": true,
-      "dependencies": {
-        "bit-twiddle": "~0.0.1",
-        "union-find": "~0.0.3"
-      }
-    },
-    "node_modules/simplify-planar-graph/node_modules/union-find": {
-      "version": "0.0.4",
-      "resolved": "https://registry.npmjs.org/union-find/-/union-find-0.0.4.tgz",
-      "integrity": "sha1-uFSzMBYZva0USwAUx4+W6sDS8PY=",
-      "dev": true
-    },
-    "node_modules/slab-decomposition": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/slab-decomposition/-/slab-decomposition-1.0.2.tgz",
-      "integrity": "sha1-He1WdU1AixBznxRRA9/GGAf2UTQ=",
-      "dev": true,
-      "dependencies": {
-        "binary-search-bounds": "^1.0.0",
-        "functional-red-black-tree": "^1.0.0",
-        "robust-orientation": "^1.1.3"
-      }
-    },
-    "node_modules/slab-decomposition/node_modules/binary-search-bounds": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-1.0.0.tgz",
-      "integrity": "sha1-MjyjF+PypA9CRMclX1OEpbIHu2k=",
-      "dev": true
-    },
     "node_modules/slash": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
@@ -8091,16 +7186,6 @@
       "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
       "dev": true
     },
-    "node_modules/split-polygon": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/split-polygon/-/split-polygon-1.0.0.tgz",
-      "integrity": "sha1-DqzIoTanaxKj2VJW6n2kXbDC0kc=",
-      "dev": true,
-      "dependencies": {
-        "robust-dot-product": "^1.0.0",
-        "robust-sum": "^1.0.0"
-      }
-    },
     "node_modules/sprintf-js": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
@@ -8173,6 +7258,15 @@
         "node": ">= 0.6"
       }
     },
+    "node_modules/stream-parser": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz",
+      "integrity": "sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==",
+      "dev": true,
+      "dependencies": {
+        "debug": "2"
+      }
+    },
     "node_modules/stream-shift": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
@@ -8579,17 +7673,6 @@
       "integrity": "sha1-58snUlZzYN9QvrBhDOjfPXHY39g=",
       "dev": true
     },
-    "node_modules/surface-nets": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/surface-nets/-/surface-nets-1.0.2.tgz",
-      "integrity": "sha1-5DPIy7qUpydMb0yZVStGG/H8eks=",
-      "dev": true,
-      "dependencies": {
-        "ndarray-extract-contour": "^1.0.0",
-        "triangulate-hypercube": "^1.0.0",
-        "zero-crossings": "^1.0.0"
-      }
-    },
     "node_modules/svg-arc-to-cubic-bezier": {
       "version": "3.2.0",
       "resolved": "https://registry.npmjs.org/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.0.tgz",
@@ -8672,15 +7755,6 @@
       "integrity": "sha512-iwwQqAEGGxlgrBpcmJJvMJrfjGLcCXOB3AOb/DGkXqBy1YKoYA36hIl7qXGp6Jo8dSkzFAlDT6pKLZgyhs9OnQ==",
       "dev": true
     },
-    "node_modules/text-cache": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/text-cache/-/text-cache-4.2.2.tgz",
-      "integrity": "sha512-zky+UDYiX0a/aPw/YTBD+EzKMlCTu1chFuCMZeAkgoRiceySdROu1V2kJXhCbtEdBhiOviYnAdGiSYl58HW0ZQ==",
-      "dev": true,
-      "dependencies": {
-        "vectorize-text": "^3.2.1"
-      }
-    },
     "node_modules/three": {
       "version": "0.125.2",
       "resolved": "https://registry.npmjs.org/three/-/three-0.125.2.tgz",
@@ -8688,31 +7762,27 @@
       "dev": true
     },
     "node_modules/three-forcegraph": {
-      "version": "1.37.0",
-      "resolved": "https://registry.npmjs.org/three-forcegraph/-/three-forcegraph-1.37.0.tgz",
-      "integrity": "sha512-iCrITClKiaZMgqq5nCtsF0JWnxCqFRaXmgdn2d4f/R7gg9ElZmR2NjJRdn3uUMuD76nizJK5GLE1TMbXvShTyA==",
-      "dev": true,
-      "dependencies": {
-        "accessor-fn": "^1.3.0",
-        "d3-array": "^2.8.0",
-        "d3-force-3d": "^2.2.0",
-        "d3-scale": "^3.2.3",
-        "d3-scale-chromatic": "^2.0.0",
-        "data-joint": "^1.2.3",
-        "kapsule": "^1.13.3",
-        "ngraph.forcelayout": "^3.0.0",
-        "ngraph.graph": "^19.1.0",
-        "tinycolor2": "^1.4.2"
-      }
-    },
-    "node_modules/three-forcegraph/node_modules/d3-scale-chromatic": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-2.0.0.tgz",
-      "integrity": "sha512-LLqy7dJSL8yDy7NRmf6xSlsFZ6zYvJ4BcWFE4zBrOPnQERv9zj24ohnXKRbyi9YHnYV+HN1oEO3iFK971/gkzA==",
+      "version": "1.41.8",
+      "resolved": "https://registry.npmjs.org/three-forcegraph/-/three-forcegraph-1.41.8.tgz",
+      "integrity": "sha512-UvD0qgl3wfFQb+2FGuMn2FFL0Ss58WYlfk1g3D3/lbxNqEL1c0C/EbIrJYm9R02CvSzQ0bLnEZbSfD0wlaxmlA==",
       "dev": true,
       "dependencies": {
-        "d3-color": "1 - 2",
-        "d3-interpolate": "1 - 2"
+        "accessor-fn": "1",
+        "d3-array": "1 - 3",
+        "d3-force-3d": "2 - 3",
+        "d3-scale": "1 - 4",
+        "d3-scale-chromatic": "1 - 3",
+        "data-joint": "1",
+        "kapsule": "1",
+        "ngraph.forcelayout": "3",
+        "ngraph.graph": "20",
+        "tinycolor2": "1"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "peerDependencies": {
+        "three": ">=0.118.3"
       }
     },
     "node_modules/three-render-objects": {
@@ -8744,12 +7814,12 @@
       }
     },
     "node_modules/tidytree": {
-      "version": "0.5.8",
-      "resolved": "https://registry.npmjs.org/tidytree/-/tidytree-0.5.8.tgz",
-      "integrity": "sha512-WBKznB3QVSXyEmyT04aNDGPJBE6RQDo7RC9d30l9EiZZb0cbuGLHNZmIJFMQaguAwrvL7cAQnDnviLj1fVu9Pg==",
+      "version": "0.5.9",
+      "resolved": "https://registry.npmjs.org/tidytree/-/tidytree-0.5.9.tgz",
+      "integrity": "sha512-iIigeIltRiDjb7UhUjUCyAxODDM5JvmtLt74oVd+3L1EYXnoXRskQACpnM9ykjrl9I5RP9T/qiqyHEtgFwx0wg==",
       "dev": true,
       "dependencies": {
-        "d3": "^5.16.0",
+        "d3": "^7.6.1",
         "patristic": "^0.5.7"
       }
     },
@@ -8810,15 +7880,15 @@
       }
     },
     "node_modules/to-float32": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/to-float32/-/to-float32-1.0.1.tgz",
-      "integrity": "sha512-nOy2WSwae3xhZbc+05xiCuU3ZPPmH0L4Rg4Q1qiOGFSuNSCTB9nVJaGgGl3ZScxAclX/L8hJuDHJGDAzbfuKCQ==",
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/to-float32/-/to-float32-1.1.0.tgz",
+      "integrity": "sha512-keDnAusn/vc+R3iEiSDw8TOF7gPiTLdK1ArvWtYbJQiVfmRg6i/CAvbKq3uIS0vWroAC7ZecN3DjQKw3aSklUg==",
       "dev": true
     },
     "node_modules/to-px": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/to-px/-/to-px-1.0.1.tgz",
-      "integrity": "sha1-W7rtXl1PdkRbzJA8KTojB90yRkY=",
+      "integrity": "sha512-2y3LjBeIZYL19e5gczp14/uRWFDtDUErJPVN3VU9a7SJO+RjGRtYR47aMN2bZgGlxvW4ZcEz2ddUPVHXcMfuXw==",
       "dev": true,
       "dependencies": {
         "parse-unit": "^1.0.1"
@@ -8863,57 +7933,14 @@
       "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==",
       "dev": true,
       "dependencies": {
-        "commander": "2"
-      },
-      "bin": {
-        "topo2geo": "bin/topo2geo",
-        "topomerge": "bin/topomerge",
-        "topoquantize": "bin/topoquantize"
-      }
-    },
-    "node_modules/triangulate-hypercube": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/triangulate-hypercube/-/triangulate-hypercube-1.0.1.tgz",
-      "integrity": "sha1-2Acdsuv8/VHzCNC88qXEils20Tc=",
-      "dev": true,
-      "dependencies": {
-        "gamma": "^0.1.0",
-        "permutation-parity": "^1.0.0",
-        "permutation-rank": "^1.0.0"
-      }
-    },
-    "node_modules/triangulate-polyline": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/triangulate-polyline/-/triangulate-polyline-1.0.3.tgz",
-      "integrity": "sha1-v4uod6hQVBA/65+lphtOjXAXgU0=",
-      "dev": true,
-      "dependencies": {
-        "cdt2d": "^1.0.0"
-      }
-    },
-    "node_modules/turntable-camera-controller": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/turntable-camera-controller/-/turntable-camera-controller-3.0.1.tgz",
-      "integrity": "sha1-jb0/4AVQGRxlFky4iJcQSVeK/Zk=",
-      "dev": true,
-      "dependencies": {
-        "filtered-vector": "^1.2.1",
-        "gl-mat4": "^1.0.2",
-        "gl-vec3": "^1.0.2"
+        "commander": "2"
+      },
+      "bin": {
+        "topo2geo": "bin/topo2geo",
+        "topomerge": "bin/topomerge",
+        "topoquantize": "bin/topoquantize"
       }
     },
-    "node_modules/two-product": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/two-product/-/two-product-1.0.2.tgz",
-      "integrity": "sha1-Z9ldSyV6kh4stL16+VEfkIhSLqo=",
-      "dev": true
-    },
-    "node_modules/two-sum": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/two-sum/-/two-sum-1.0.0.tgz",
-      "integrity": "sha1-MdPzIjnk9zHsqd+RVeKyl/AIq2Q=",
-      "dev": true
-    },
     "node_modules/type": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
@@ -9014,12 +8041,6 @@
       "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=",
       "dev": true
     },
-    "node_modules/union-find": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/union-find/-/union-find-1.0.2.tgz",
-      "integrity": "sha1-KSusQV5q06iVNdI3AQ20pTYoTlg=",
-      "dev": true
-    },
     "node_modules/uniq": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
@@ -9302,21 +8323,6 @@
         "node": ">= 0.8"
       }
     },
-    "node_modules/vectorize-text": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/vectorize-text/-/vectorize-text-3.2.1.tgz",
-      "integrity": "sha512-rGojF+D9BB96iPZPUitfq5kaiS6eCJmfEel0NXOK/MzZSuXGiwhoop80PtaDas9/Hg/oaox1tI9g3h93qpuspg==",
-      "dev": true,
-      "dependencies": {
-        "cdt2d": "^1.0.0",
-        "clean-pslg": "^1.1.0",
-        "ndarray": "^1.0.11",
-        "planar-graph-to-polyline": "^1.0.0",
-        "simplify-planar-graph": "^2.0.1",
-        "surface-nets": "^1.0.0",
-        "triangulate-polyline": "^1.0.0"
-      }
-    },
     "node_modules/vendors": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz",
@@ -9335,15 +8341,9 @@
       }
     },
     "node_modules/weak-map": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.5.tgz",
-      "integrity": "sha1-eWkVhNmGB/UHC9O3CkDmuyLkAes=",
-      "dev": true
-    },
-    "node_modules/weakmap-shim": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/weakmap-shim/-/weakmap-shim-1.1.1.tgz",
-      "integrity": "sha1-1lr9eEEJshZuAP9XHDMVDsKkC0k=",
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.8.tgz",
+      "integrity": "sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw==",
       "dev": true
     },
     "node_modules/webgl-context": {
@@ -9576,15 +8576,6 @@
         "buffer-crc32": "~0.2.3",
         "fd-slicer": "~1.1.0"
       }
-    },
-    "node_modules/zero-crossings": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/zero-crossings/-/zero-crossings-1.0.1.tgz",
-      "integrity": "sha1-xWK9MRNkPzRDokXRJAa4i2m5qf8=",
-      "dev": true,
-      "dependencies": {
-        "cwise-compiler": "^1.0.0"
-      }
     }
   },
   "dependencies": {
@@ -10095,6 +9086,12 @@
         "url": "^0.11.0"
       }
     },
+    "@plotly/d3": {
+      "version": "3.8.1",
+      "resolved": "https://registry.npmjs.org/@plotly/d3/-/d3-3.8.1.tgz",
+      "integrity": "sha512-x49ThEu1FRA00kTso4Jdfyf2byaCPLBGmLjAYQz5OzaPyLUhHesX3/Nfv2OHEhynhdy2UB39DLXq6thYe2L2kg==",
+      "dev": true
+    },
     "@plotly/d3-sankey": {
       "version": "0.7.2",
       "resolved": "https://registry.npmjs.org/@plotly/d3-sankey/-/d3-sankey-0.7.2.tgz",
@@ -10153,23 +9150,23 @@
       }
     },
     "@turf/area": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/@turf/area/-/area-6.3.0.tgz",
-      "integrity": "sha512-Y1cYyAQ2fk94npdgOeMF4msc2uabHY1m7A7ntixf1I8rkyDd6/iHh1IMy1QsM+VZXAEwDwsXhu+ZFYd3Jkeg4A==",
+      "version": "6.5.0",
+      "resolved": "https://registry.npmjs.org/@turf/area/-/area-6.5.0.tgz",
+      "integrity": "sha512-xCZdiuojokLbQ+29qR6qoMD89hv+JAgWjLrwSEWL+3JV8IXKeNFl6XkEJz9HGkVpnXvQKJoRz4/liT+8ZZ5Jyg==",
       "dev": true,
       "requires": {
-        "@turf/helpers": "^6.3.0",
-        "@turf/meta": "^6.3.0"
+        "@turf/helpers": "^6.5.0",
+        "@turf/meta": "^6.5.0"
       }
     },
     "@turf/bbox": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-6.3.0.tgz",
-      "integrity": "sha512-N4ue5Xopu1qieSHP2MA/CJGWHPKaTrVXQJjzHRNcY1vtsO126xbSaJhWUrFc5x5vVkXp0dcucGryO0r5m4o/KA==",
+      "version": "6.5.0",
+      "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-6.5.0.tgz",
+      "integrity": "sha512-RBbLaao5hXTYyyg577iuMtDB8ehxMlUqHEJiMs8jT1GHkFhr6sYre3lmLsPeYEi/ZKj5TP5tt7fkzNdJ4GIVyw==",
       "dev": true,
       "requires": {
-        "@turf/helpers": "^6.3.0",
-        "@turf/meta": "^6.3.0"
+        "@turf/helpers": "^6.5.0",
+        "@turf/meta": "^6.5.0"
       }
     },
     "@turf/centroid": {
@@ -10183,18 +9180,18 @@
       }
     },
     "@turf/helpers": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-6.3.0.tgz",
-      "integrity": "sha512-kr6KuD4Z0GZ30tblTEvi90rvvVNlKieXuMC8CTzE/rVQb0/f/Cb29zCXxTD7giQTEQY/P2nRW23wEqqyNHulCg==",
+      "version": "6.5.0",
+      "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-6.5.0.tgz",
+      "integrity": "sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==",
       "dev": true
     },
     "@turf/meta": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.3.0.tgz",
-      "integrity": "sha512-qBJjaAJS9H3ap0HlGXyF/Bzfl0qkA9suafX/jnDsZvWMfVLt+s+o6twKrXOGk5t7nnNON2NFRC8+czxpu104EQ==",
+      "version": "6.5.0",
+      "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.5.0.tgz",
+      "integrity": "sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==",
       "dev": true,
       "requires": {
-        "@turf/helpers": "^6.3.0"
+        "@turf/helpers": "^6.5.0"
       }
     },
     "@tweenjs/tween.js": {
@@ -10222,28 +9219,6 @@
         "three-render-objects": "^1.24.6"
       }
     },
-    "3d-view": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/3d-view/-/3d-view-2.0.0.tgz",
-      "integrity": "sha1-gxrpQtdQjFCAHj4G+v4ejFdOF74=",
-      "dev": true,
-      "requires": {
-        "matrix-camera-controller": "^2.1.1",
-        "orbit-camera-controller": "^4.0.0",
-        "turntable-camera-controller": "^3.0.0"
-      }
-    },
-    "a-big-triangle": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/a-big-triangle/-/a-big-triangle-1.0.3.tgz",
-      "integrity": "sha1-7v0wsCqPUl6LH3K7a7GwwWdRx5Q=",
-      "dev": true,
-      "requires": {
-        "gl-buffer": "^2.1.1",
-        "gl-vao": "^1.2.0",
-        "weak-map": "^1.0.5"
-      }
-    },
     "abs-svg-path": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/abs-svg-path/-/abs-svg-path-0.1.1.tgz",
@@ -10296,15 +9271,6 @@
       "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
       "dev": true
     },
-    "add-line-numbers": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/add-line-numbers/-/add-line-numbers-1.0.1.tgz",
-      "integrity": "sha1-SNu96kfb0jTer+rGyTzqb3C0t+M=",
-      "dev": true,
-      "requires": {
-        "pad-left": "^1.0.2"
-      }
-    },
     "adler-32": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz",
@@ -10315,15 +9281,6 @@
         "printj": "~1.1.0"
       }
     },
-    "affine-hull": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/affine-hull/-/affine-hull-1.0.0.tgz",
-      "integrity": "sha1-dj/x040GPOt+Jy8X7k17vK+QXF0=",
-      "dev": true,
-      "requires": {
-        "robust-orientation": "^1.1.3"
-      }
-    },
     "agent-base": {
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
@@ -10351,26 +9308,6 @@
       "integrity": "sha1-+FHGMROHV5lCdqou++jfowZszN0=",
       "dev": true
     },
-    "alpha-complex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/alpha-complex/-/alpha-complex-1.0.0.tgz",
-      "integrity": "sha1-kIZYcNawVCrnPAwTHU75iWabctI=",
-      "dev": true,
-      "requires": {
-        "circumradius": "^1.0.0",
-        "delaunay-triangulate": "^1.1.6"
-      }
-    },
-    "alpha-shape": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/alpha-shape/-/alpha-shape-1.0.0.tgz",
-      "integrity": "sha1-yDEJkj7P2mZ9IWP+Tyb+JHJvZKk=",
-      "dev": true,
-      "requires": {
-        "alpha-complex": "^1.0.0",
-        "simplicial-complex-boundary": "^1.0.0"
-      }
-    },
     "alphanum-sort": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
@@ -10433,7 +9370,7 @@
     "array-find-index": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
-      "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+      "integrity": "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==",
       "dev": true
     },
     "array-flatten": {
@@ -10545,12 +9482,6 @@
       "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
       "dev": true
     },
-    "atob-lite": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-1.0.0.tgz",
-      "integrity": "sha1-uI3KYAaSK5YglPdVaCa6sxxKKWs=",
-      "dev": true
-    },
     "babel-runtime": {
       "version": "6.26.0",
       "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
@@ -10575,32 +9506,12 @@
       "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
       "dev": true
     },
-    "barycentric": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/barycentric/-/barycentric-1.0.1.tgz",
-      "integrity": "sha1-8VYruJGyb0/sRjqC7to2V4AOxog=",
-      "dev": true,
-      "requires": {
-        "robust-linear-solve": "^1.0.0"
-      }
-    },
     "base64-js": {
       "version": "0.0.8",
       "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz",
       "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=",
       "dev": true
     },
-    "big-rat": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/big-rat/-/big-rat-1.0.4.tgz",
-      "integrity": "sha1-do0JO7V5MN0Y7Vdcf8on3FORreo=",
-      "dev": true,
-      "requires": {
-        "bit-twiddle": "^1.0.2",
-        "bn.js": "^4.11.6",
-        "double-bits": "^1.1.1"
-      }
-    },
     "binary-extensions": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
@@ -10622,7 +9533,7 @@
     "bit-twiddle": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz",
-      "integrity": "sha1-DGwfq+KyPRcXPZpht7cJPrnhdp4=",
+      "integrity": "sha512-B9UhK0DKFZhoTFcfvAzhqsjStvGJp9vYWf3+6SNTtdSQnvIgfkHbgHrg/e4+TH71N2GDu8tpmCVoyfrL1d7ntA==",
       "dev": true
     },
     "bitmap-sdf": {
@@ -10644,12 +9555,6 @@
         "safe-buffer": "^5.1.1"
       }
     },
-    "bn.js": {
-      "version": "4.12.0",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
-    },
     "body-parser": {
       "version": "1.19.2",
       "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz",
@@ -10679,22 +9584,6 @@
       "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==",
       "dev": true
     },
-    "boundary-cells": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/boundary-cells/-/boundary-cells-2.0.2.tgz",
-      "integrity": "sha512-/S48oUFYEgZMNvdqC87iYRbLBAPHYijPRNrNpm/sS8u7ijIViKm/hrV3YD4sx/W68AsG5zLMyBEditVHApHU5w==",
-      "dev": true
-    },
-    "box-intersect": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/box-intersect/-/box-intersect-1.0.2.tgz",
-      "integrity": "sha512-yJeMwlmFPG1gIa7Rs/cGXeI6iOj6Qz5MG5PE61xLKpElUGzmJ4abm+qsLpzxKJFpsSDq742BQEocr8dI2t8Nxw==",
-      "dev": true,
-      "requires": {
-        "bit-twiddle": "^1.0.2",
-        "typedarray-pool": "^1.1.0"
-      }
-    },
     "brace-expansion": {
       "version": "1.1.11",
       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -10874,23 +9763,6 @@
         "element-size": "^1.1.1"
       }
     },
-    "cdt2d": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/cdt2d/-/cdt2d-1.0.0.tgz",
-      "integrity": "sha1-TyEkNLzWe9s9aLj+9KzcLFRBUUE=",
-      "dev": true,
-      "requires": {
-        "binary-search-bounds": "^2.0.3",
-        "robust-in-sphere": "^1.1.3",
-        "robust-orientation": "^1.1.3"
-      }
-    },
-    "cell-orientation": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/cell-orientation/-/cell-orientation-1.0.1.tgz",
-      "integrity": "sha1-tQStlqZq0obZ7dmFoiU9A7gNKFA=",
-      "dev": true
-    },
     "cfb": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.0.tgz",
@@ -10946,46 +9818,12 @@
       "integrity": "sha512-eVdrZJ2U5ISdObkgsi0od5vIJdLwq1P1Xa/Vj/mgxkMZf14DlgobfB6nrlFi3kW4kkvKLsKk4NDqZj1MU1DCpw==",
       "dev": true
     },
-    "circumcenter": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/circumcenter/-/circumcenter-1.0.0.tgz",
-      "integrity": "sha1-INeqE7F/usUvUtpPVMasi5Bu5Sk=",
-      "dev": true,
-      "requires": {
-        "dup": "^1.0.0",
-        "robust-linear-solve": "^1.0.0"
-      }
-    },
-    "circumradius": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/circumradius/-/circumradius-1.0.0.tgz",
-      "integrity": "sha1-cGxEfj5VzR7T0RvRM+N8JSzDBbU=",
-      "dev": true,
-      "requires": {
-        "circumcenter": "^1.0.0"
-      }
-    },
     "clamp": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz",
       "integrity": "sha1-ZqDmQBGBbjcZaCj9yMjBRzEshjQ=",
       "dev": true
     },
-    "clean-pslg": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/clean-pslg/-/clean-pslg-1.1.2.tgz",
-      "integrity": "sha1-vTXHRgt+irWp92Gl7VF5aqPIbBE=",
-      "dev": true,
-      "requires": {
-        "big-rat": "^1.0.3",
-        "box-intersect": "^1.0.1",
-        "nextafter": "^1.0.0",
-        "rat-vec": "^1.1.1",
-        "robust-segment-intersect": "^1.0.1",
-        "union-find": "^1.0.2",
-        "uniq": "^1.0.1"
-      }
-    },
     "clipboard": {
       "version": "2.0.6",
       "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.6.tgz",
@@ -11145,50 +9983,12 @@
       "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==",
       "dev": true
     },
-    "colormap": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/colormap/-/colormap-2.3.2.tgz",
-      "integrity": "sha512-jDOjaoEEmA9AgA11B/jCSAvYE95r3wRoAyTf3LEHGiUVlNHJaL1mRkf5AyLSpQBVGfTEPwGEqCIzL+kgr2WgNA==",
-      "dev": true,
-      "requires": {
-        "lerp": "^1.0.3"
-      }
-    },
     "commander": {
       "version": "2.20.0",
       "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
       "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",
       "dev": true
     },
-    "compare-angle": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/compare-angle/-/compare-angle-1.0.1.tgz",
-      "integrity": "sha1-pOtjQW6jx0f8a9bItjZotN5PoSk=",
-      "dev": true,
-      "requires": {
-        "robust-orientation": "^1.0.2",
-        "robust-product": "^1.0.0",
-        "robust-sum": "^1.0.0",
-        "signum": "^0.0.0",
-        "two-sum": "^1.0.0"
-      }
-    },
-    "compare-cell": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/compare-cell/-/compare-cell-1.0.0.tgz",
-      "integrity": "sha1-qetwj24OQa73qlZrEw8ZaNyeGqo=",
-      "dev": true
-    },
-    "compare-oriented-cell": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/compare-oriented-cell/-/compare-oriented-cell-1.0.1.tgz",
-      "integrity": "sha1-ahSf7vnfxPj8YjWOUd1C7/u9w54=",
-      "dev": true,
-      "requires": {
-        "cell-orientation": "^1.0.1",
-        "compare-cell": "^1.0.0"
-      }
-    },
     "compute-dims": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/compute-dims/-/compute-dims-1.1.0.tgz",
@@ -11261,17 +10061,6 @@
         "safe-buffer": "~5.1.1"
       }
     },
-    "convex-hull": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/convex-hull/-/convex-hull-1.0.3.tgz",
-      "integrity": "sha1-IKOqbOh/St6i/30XlxyfwcZ+H/8=",
-      "dev": true,
-      "requires": {
-        "affine-hull": "^1.0.0",
-        "incremental-convex-hull": "^1.0.1",
-        "monotone-convex-hull-2d": "^1.0.1"
-      }
-    },
     "cookie": {
       "version": "0.4.2",
       "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
@@ -11364,31 +10153,31 @@
     "css-font-size-keywords": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/css-font-size-keywords/-/css-font-size-keywords-1.0.0.tgz",
-      "integrity": "sha1-hUh1rOmspqjS7g00WkSq6btttss=",
+      "integrity": "sha512-Q+svMDbMlelgCfH/RVDKtTDaf5021O486ZThQPIpahnIjUkMUslC+WuOQSWTgGSrNCH08Y7tYNEmmy0hkfMI8Q==",
       "dev": true
     },
     "css-font-stretch-keywords": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/css-font-stretch-keywords/-/css-font-stretch-keywords-1.0.1.tgz",
-      "integrity": "sha1-UM7puboDH7XJUtRyMTnx4Qe1SxA=",
+      "integrity": "sha512-KmugPO2BNqoyp9zmBIUGwt58UQSfyk1X5DbOlkb2pckDXFSAfjsD5wenb88fNrD6fvS+vu90a/tsPpb9vb0SLg==",
       "dev": true
     },
     "css-font-style-keywords": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/css-font-style-keywords/-/css-font-style-keywords-1.0.1.tgz",
-      "integrity": "sha1-XDUygT9jtKHelU0TzqhqtDM0CeQ=",
+      "integrity": "sha512-0Fn0aTpcDktnR1RzaBYorIxQily85M2KXRpzmxQPgh8pxUN9Fcn00I8u9I3grNr1QXVgCl9T5Imx0ZwKU973Vg==",
       "dev": true
     },
     "css-font-weight-keywords": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/css-font-weight-keywords/-/css-font-weight-keywords-1.0.0.tgz",
-      "integrity": "sha1-m8BGcayFvHJLV07106yWsNYE/Zc=",
+      "integrity": "sha512-5So8/NH+oDD+EzsnF4iaG4ZFHQ3vaViePkL1ZbZ5iC/KrsCY+WHq/lvOgrtmuOQ9pBBZ1ADGpaf+A4lj1Z9eYA==",
       "dev": true
     },
     "css-global-keywords": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/css-global-keywords/-/css-global-keywords-1.0.1.tgz",
-      "integrity": "sha1-cqmupyeW0Bmx0qMlLeTlqqN+Smk=",
+      "integrity": "sha512-X1xgQhkZ9n94WDwntqst5D/FKkmiU0GlJSFZSV3kLvyJ1WC5VeyoXDOuleUD+SIuH9C7W05is++0Woh0CGfKjQ==",
       "dev": true
     },
     "css-select": {
@@ -11423,7 +10212,7 @@
     "css-system-font-keywords": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/css-system-font-keywords/-/css-system-font-keywords-1.0.0.tgz",
-      "integrity": "sha1-hcbwhquk6zLFcaMIav/ENLhII+0=",
+      "integrity": "sha512-1umTtVd/fXS25ftfjB71eASCrYhilmEsvDEI6wG/QplnmlfmVM5HkZ/ZX46DT5K3eblFPgLUHt5BRCb0YXkSFA==",
       "dev": true
     },
     "css-tree": {
@@ -11570,21 +10359,6 @@
         }
       }
     },
-    "cubic-hermite": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/cubic-hermite/-/cubic-hermite-1.0.0.tgz",
-      "integrity": "sha1-hOOy8nKzFFToOTuZu2rtRRaMFOU=",
-      "dev": true
-    },
-    "cwise-compiler": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/cwise-compiler/-/cwise-compiler-1.1.3.tgz",
-      "integrity": "sha1-9NZnQQ6FDToxOn0tt7HlBbsDTMU=",
-      "dev": true,
-      "requires": {
-        "uniq": "^1.0.0"
-      }
-    },
     "d": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
@@ -11596,63 +10370,159 @@
       }
     },
     "d3": {
-      "version": "5.16.0",
-      "resolved": "https://registry.npmjs.org/d3/-/d3-5.16.0.tgz",
-      "integrity": "sha512-4PL5hHaHwX4m7Zr1UapXW23apo6pexCgdetdJ5kTmADpG/7T9Gkxw0M0tf/pjoB63ezCCm0u5UaFYy2aMt0Mcw==",
-      "dev": true,
-      "requires": {
-        "d3-array": "1",
-        "d3-axis": "1",
-        "d3-brush": "1",
-        "d3-chord": "1",
-        "d3-collection": "1",
-        "d3-color": "1",
-        "d3-contour": "1",
-        "d3-dispatch": "1",
-        "d3-drag": "1",
-        "d3-dsv": "1",
-        "d3-ease": "1",
-        "d3-fetch": "1",
-        "d3-force": "1",
-        "d3-format": "1",
-        "d3-geo": "1",
-        "d3-hierarchy": "1",
-        "d3-interpolate": "1",
-        "d3-path": "1",
-        "d3-polygon": "1",
-        "d3-quadtree": "1",
-        "d3-random": "1",
-        "d3-scale": "2",
-        "d3-scale-chromatic": "1",
-        "d3-selection": "1",
-        "d3-shape": "1",
-        "d3-time": "1",
-        "d3-time-format": "2",
-        "d3-timer": "1",
-        "d3-transition": "1",
-        "d3-voronoi": "1",
-        "d3-zoom": "1"
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/d3/-/d3-7.8.4.tgz",
+      "integrity": "sha512-q2WHStdhiBtD8DMmhDPyJmXUxr6VWRngKyiJ5EfXMxPw+tqT6BhNjhJZ4w3BHsNm3QoVfZLY8Orq/qPFczwKRA==",
+      "dev": true,
+      "requires": {
+        "d3-array": "3",
+        "d3-axis": "3",
+        "d3-brush": "3",
+        "d3-chord": "3",
+        "d3-color": "3",
+        "d3-contour": "4",
+        "d3-delaunay": "6",
+        "d3-dispatch": "3",
+        "d3-drag": "3",
+        "d3-dsv": "3",
+        "d3-ease": "3",
+        "d3-fetch": "3",
+        "d3-force": "3",
+        "d3-format": "3",
+        "d3-geo": "3",
+        "d3-hierarchy": "3",
+        "d3-interpolate": "3",
+        "d3-path": "3",
+        "d3-polygon": "3",
+        "d3-quadtree": "3",
+        "d3-random": "3",
+        "d3-scale": "4",
+        "d3-scale-chromatic": "3",
+        "d3-selection": "3",
+        "d3-shape": "3",
+        "d3-time": "3",
+        "d3-time-format": "4",
+        "d3-timer": "3",
+        "d3-transition": "3",
+        "d3-zoom": "3"
       },
       "dependencies": {
         "d3-array": {
-          "version": "1.2.4",
-          "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz",
-          "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==",
+          "version": "3.2.3",
+          "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.3.tgz",
+          "integrity": "sha512-JRHwbQQ84XuAESWhvIPaUV4/1UYTBOLiOPGWqgFDHZS1D5QN9c57FbH3QpEnQMYiOXNzKUQyGTZf+EVO7RT5TQ==",
+          "dev": true,
+          "requires": {
+            "internmap": "1 - 2"
+          }
+        },
+        "d3-color": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
+          "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==",
+          "dev": true
+        },
+        "d3-dispatch": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz",
+          "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==",
+          "dev": true
+        },
+        "d3-force": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz",
+          "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==",
+          "dev": true,
+          "requires": {
+            "d3-dispatch": "1 - 3",
+            "d3-quadtree": "1 - 3",
+            "d3-timer": "1 - 3"
+          }
+        },
+        "d3-format": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz",
+          "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==",
+          "dev": true
+        },
+        "d3-hierarchy": {
+          "version": "3.1.2",
+          "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz",
+          "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==",
+          "dev": true
+        },
+        "d3-interpolate": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
+          "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
+          "dev": true,
+          "requires": {
+            "d3-color": "1 - 3"
+          }
+        },
+        "d3-path": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz",
+          "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==",
+          "dev": true
+        },
+        "d3-polygon": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz",
+          "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==",
+          "dev": true
+        },
+        "d3-quadtree": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz",
+          "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==",
           "dev": true
         },
         "d3-scale": {
-          "version": "2.2.2",
-          "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-2.2.2.tgz",
-          "integrity": "sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==",
+          "version": "4.0.2",
+          "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz",
+          "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==",
+          "dev": true,
+          "requires": {
+            "d3-array": "2.10.0 - 3",
+            "d3-format": "1 - 3",
+            "d3-interpolate": "1.2.0 - 3",
+            "d3-time": "2.1.1 - 3",
+            "d3-time-format": "2 - 4"
+          }
+        },
+        "d3-shape": {
+          "version": "3.2.0",
+          "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz",
+          "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==",
+          "dev": true,
+          "requires": {
+            "d3-path": "^3.1.0"
+          }
+        },
+        "d3-time": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz",
+          "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==",
+          "dev": true,
+          "requires": {
+            "d3-array": "2 - 3"
+          }
+        },
+        "d3-time-format": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz",
+          "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==",
           "dev": true,
           "requires": {
-            "d3-array": "^1.2.0",
-            "d3-collection": "1",
-            "d3-format": "1",
-            "d3-interpolate": "1",
-            "d3-time": "1",
-            "d3-time-format": "2"
+            "d3-time": "1 - 3"
           }
+        },
+        "d3-timer": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz",
+          "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==",
+          "dev": true
         }
       }
     },
@@ -11666,9 +10536,9 @@
       }
     },
     "d3-axis": {
-      "version": "1.0.12",
-      "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-1.0.12.tgz",
-      "integrity": "sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz",
+      "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==",
       "dev": true
     },
     "d3-binarytree": {
@@ -11678,34 +10548,25 @@
       "dev": true
     },
     "d3-brush": {
-      "version": "1.1.5",
-      "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.1.5.tgz",
-      "integrity": "sha512-rEaJ5gHlgLxXugWjIkolTA0OyMvw8UWU1imYXy1v642XyyswmI1ybKOv05Ft+ewq+TFmdliD3VuK0pRp1VT/5A==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz",
+      "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==",
       "dev": true,
       "requires": {
-        "d3-dispatch": "1",
-        "d3-drag": "1",
-        "d3-interpolate": "1",
-        "d3-selection": "1",
-        "d3-transition": "1"
+        "d3-dispatch": "1 - 3",
+        "d3-drag": "2 - 3",
+        "d3-interpolate": "1 - 3",
+        "d3-selection": "3",
+        "d3-transition": "3"
       }
     },
     "d3-chord": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.6.tgz",
-      "integrity": "sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz",
+      "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==",
       "dev": true,
       "requires": {
-        "d3-array": "1",
-        "d3-path": "1"
-      },
-      "dependencies": {
-        "d3-array": {
-          "version": "1.2.4",
-          "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz",
-          "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==",
-          "dev": true
-        }
+        "d3-path": "1 - 3"
       }
     },
     "d3-collection": {
@@ -11721,22 +10582,34 @@
       "dev": true
     },
     "d3-contour": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-1.3.2.tgz",
-      "integrity": "sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==",
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz",
+      "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==",
       "dev": true,
       "requires": {
-        "d3-array": "^1.1.1"
+        "d3-array": "^3.2.0"
       },
       "dependencies": {
         "d3-array": {
-          "version": "1.2.4",
-          "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz",
-          "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==",
-          "dev": true
+          "version": "3.2.3",
+          "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.3.tgz",
+          "integrity": "sha512-JRHwbQQ84XuAESWhvIPaUV4/1UYTBOLiOPGWqgFDHZS1D5QN9c57FbH3QpEnQMYiOXNzKUQyGTZf+EVO7RT5TQ==",
+          "dev": true,
+          "requires": {
+            "internmap": "1 - 2"
+          }
         }
       }
     },
+    "d3-delaunay": {
+      "version": "6.0.4",
+      "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz",
+      "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==",
+      "dev": true,
+      "requires": {
+        "delaunator": "5"
+      }
+    },
     "d3-dispatch": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.5.tgz",
@@ -11744,39 +10617,56 @@
       "dev": true
     },
     "d3-drag": {
-      "version": "1.2.5",
-      "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.5.tgz",
-      "integrity": "sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz",
+      "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==",
       "dev": true,
       "requires": {
-        "d3-dispatch": "1",
-        "d3-selection": "1"
+        "d3-dispatch": "1 - 3",
+        "d3-selection": "3"
       }
     },
     "d3-dsv": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.2.0.tgz",
-      "integrity": "sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz",
+      "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==",
       "dev": true,
       "requires": {
-        "commander": "2",
-        "iconv-lite": "0.4",
+        "commander": "7",
+        "iconv-lite": "0.6",
         "rw": "1"
+      },
+      "dependencies": {
+        "commander": {
+          "version": "7.2.0",
+          "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
+          "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+          "dev": true
+        },
+        "iconv-lite": {
+          "version": "0.6.3",
+          "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+          "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+          "dev": true,
+          "requires": {
+            "safer-buffer": ">= 2.1.2 < 3.0.0"
+          }
+        }
       }
     },
     "d3-ease": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.6.tgz",
-      "integrity": "sha512-SZ/lVU7LRXafqp7XtIcBdxnWl8yyLpgOmzAk0mWBI9gXNzLDx5ybZgnRbH9dN/yY5tzVBqCQ9avltSnqVwessQ==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz",
+      "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==",
       "dev": true
     },
     "d3-fetch": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-1.1.2.tgz",
-      "integrity": "sha512-S2loaQCV/ZeyTyIF2oP8D1K9Z4QizUzW7cWeAOAS4U88qOt3Ucf6GsmgthuYSdyB2HyEm4CeGvkQxWsmInsIVA==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz",
+      "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==",
       "dev": true,
       "requires": {
-        "d3-dsv": "1"
+        "d3-dsv": "1 - 3"
       }
     },
     "d3-force": {
@@ -11831,18 +10721,30 @@
       "dev": true
     },
     "d3-format": {
-      "version": "1.4.4",
-      "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.4.tgz",
-      "integrity": "sha512-TWks25e7t8/cqctxCmxpUuzZN11QxIA7YrMbram94zMQ0PXjE4LVIMe/f6a4+xxL8HQ3OsAFULOINQi1pE62Aw==",
+      "version": "1.4.5",
+      "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz",
+      "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==",
       "dev": true
     },
     "d3-geo": {
-      "version": "1.12.0",
-      "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.12.0.tgz",
-      "integrity": "sha512-NalZVW+6/SpbKcnl+BCO67m8gX+nGeJdo6oGL9H6BRUGUL1e+AtPcP4vE4TwCQ/gl8y5KE7QvBzrLn+HsKIl+w==",
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.0.tgz",
+      "integrity": "sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==",
       "dev": true,
       "requires": {
-        "d3-array": "1"
+        "d3-array": "2.5.0 - 3"
+      }
+    },
+    "d3-geo-projection": {
+      "version": "2.9.0",
+      "resolved": "https://registry.npmjs.org/d3-geo-projection/-/d3-geo-projection-2.9.0.tgz",
+      "integrity": "sha512-ZULvK/zBn87of5rWAfFMc9mJOipeSo57O+BBitsKIXmU4rTVAnX1kSsJkE0R+TxY8pGNoM1nbyRRE7GYHhdOEQ==",
+      "dev": true,
+      "requires": {
+        "commander": "2",
+        "d3-array": "1",
+        "d3-geo": "^1.12.0",
+        "resolve": "^1.1.10"
       },
       "dependencies": {
         "d3-array": {
@@ -11850,6 +10752,15 @@
           "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz",
           "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==",
           "dev": true
+        },
+        "d3-geo": {
+          "version": "1.12.1",
+          "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.12.1.tgz",
+          "integrity": "sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==",
+          "dev": true,
+          "requires": {
+            "d3-array": "1"
+          }
         }
       }
     },
@@ -11893,9 +10804,9 @@
       "dev": true
     },
     "d3-random": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-1.1.2.tgz",
-      "integrity": "sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz",
+      "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==",
       "dev": true
     },
     "d3-scale": {
@@ -11912,19 +10823,19 @@
       }
     },
     "d3-scale-chromatic": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz",
-      "integrity": "sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz",
+      "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==",
       "dev": true,
       "requires": {
-        "d3-color": "1",
-        "d3-interpolate": "1"
+        "d3-color": "1 - 3",
+        "d3-interpolate": "1 - 3"
       }
     },
     "d3-selection": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.1.tgz",
-      "integrity": "sha512-BTIbRjv/m5rcVTfBs4AMBLKs4x8XaaLkwm28KWu9S2vKNqXkXt2AH2Qf0sdPZHjFxcWg/YL53zcqAz+3g4/7PA==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz",
+      "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==",
       "dev": true
     },
     "d3-shape": {
@@ -11964,36 +10875,29 @@
       "dev": true
     },
     "d3-transition": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.3.2.tgz",
-      "integrity": "sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz",
+      "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==",
       "dev": true,
       "requires": {
-        "d3-color": "1",
-        "d3-dispatch": "1",
-        "d3-ease": "1",
-        "d3-interpolate": "1",
-        "d3-selection": "^1.1.0",
-        "d3-timer": "1"
+        "d3-color": "1 - 3",
+        "d3-dispatch": "1 - 3",
+        "d3-ease": "1 - 3",
+        "d3-interpolate": "1 - 3",
+        "d3-timer": "1 - 3"
       }
     },
-    "d3-voronoi": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.4.tgz",
-      "integrity": "sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==",
-      "dev": true
-    },
     "d3-zoom": {
-      "version": "1.8.3",
-      "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.8.3.tgz",
-      "integrity": "sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz",
+      "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==",
       "dev": true,
       "requires": {
-        "d3-dispatch": "1",
-        "d3-drag": "1",
-        "d3-interpolate": "1",
-        "d3-selection": "1",
-        "d3-transition": "1"
+        "d3-dispatch": "1 - 3",
+        "d3-drag": "2 - 3",
+        "d3-interpolate": "1 - 3",
+        "d3-selection": "2 - 3",
+        "d3-transition": "2 - 3"
       }
     },
     "dash-ast": {
@@ -12066,14 +10970,13 @@
       "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
       "dev": true
     },
-    "delaunay-triangulate": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/delaunay-triangulate/-/delaunay-triangulate-1.1.6.tgz",
-      "integrity": "sha1-W7yiGweBmNS8PHV5ajXLuYwllUw=",
+    "delaunator": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz",
+      "integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==",
       "dev": true,
       "requires": {
-        "incremental-convex-hull": "^1.0.1",
-        "uniq": "^1.0.1"
+        "robust-predicates": "^3.0.0"
       }
     },
     "delegate": {
@@ -12159,12 +11062,6 @@
         "domelementtype": "1"
       }
     },
-    "double-bits": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/double-bits/-/double-bits-1.1.1.tgz",
-      "integrity": "sha1-WKu6RUlNpND6Nrc60RoobJGEscY=",
-      "dev": true
-    },
     "draw-svg-path": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/draw-svg-path/-/draw-svg-path-1.0.0.tgz",
@@ -12184,7 +11081,7 @@
     "dup": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/dup/-/dup-1.0.0.tgz",
-      "integrity": "sha1-UfxaxoX4GWRp3wuQXpNLIK9bQCk=",
+      "integrity": "sha512-Bz5jxMMC0wgp23Zm15ip1x8IhYRqJvF3nFC0UInJUDkN1z4uNPk9jTnfCUJXbOGiQ1JbXLQsiV41Fb+HXcj5BA==",
       "dev": true
     },
     "duplexer2": {
@@ -12214,15 +11111,6 @@
       "integrity": "sha512-eZoZPPJcUHnfRZ0PjLvx2qBordSiO8ofC3vt+qACLM95u+4DovnbYNpQtJh0DNsWj8RnxrQytD4WA8gj5cRIaQ==",
       "dev": true
     },
-    "edges-to-adjacency-list": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/edges-to-adjacency-list/-/edges-to-adjacency-list-1.0.0.tgz",
-      "integrity": "sha1-wUbS4ISt37p0pRKTxuAZmkn3V/E=",
-      "dev": true,
-      "requires": {
-        "uniq": "^1.0.0"
-      }
-    },
     "ee-first": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@@ -12552,12 +11440,6 @@
         }
       }
     },
-    "extract-frustum-planes": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/extract-frustum-planes/-/extract-frustum-planes-1.0.0.tgz",
-      "integrity": "sha1-l9VwP/BWTIw8aDjKxF+ee8UsnvU=",
-      "dev": true
-    },
     "extract-zip": {
       "version": "1.7.0",
       "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz",
@@ -12679,24 +11561,6 @@
         "to-regex-range": "^5.0.1"
       }
     },
-    "filtered-vector": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/filtered-vector/-/filtered-vector-1.2.4.tgz",
-      "integrity": "sha1-VkU8A030MC0pPKjs3qw/kKvGeNM=",
-      "dev": true,
-      "requires": {
-        "binary-search-bounds": "^1.0.0",
-        "cubic-hermite": "^1.0.0"
-      },
-      "dependencies": {
-        "binary-search-bounds": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-1.0.0.tgz",
-          "integrity": "sha1-MjyjF+PypA9CRMclX1OEpbIHu2k=",
-          "dev": true
-        }
-      }
-    },
     "finalhandler": {
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
@@ -12829,457 +11693,96 @@
       "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
       "dev": true,
       "requires": {
-        "at-least-node": "^1.0.0",
-        "graceful-fs": "^4.2.0",
-        "jsonfile": "^6.0.1",
-        "universalify": "^2.0.0"
-      }
-    },
-    "fs.realpath": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
-      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
-      "dev": true
-    },
-    "fsevents": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
-      "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
-      "dev": true,
-      "optional": true
-    },
-    "function-bind": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
-      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
-      "dev": true
-    },
-    "functional-red-black-tree": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
-      "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
-      "dev": true
-    },
-    "gamma": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/gamma/-/gamma-0.1.0.tgz",
-      "integrity": "sha1-MxVkNAO/J5BsqAqzfDbs6UQO8zA=",
-      "dev": true
-    },
-    "geojson-vt": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-3.2.1.tgz",
-      "integrity": "sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==",
-      "dev": true
-    },
-    "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==",
-      "dev": true
-    },
-    "get-caller-file": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
-      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
-      "dev": true
-    },
-    "get-canvas-context": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/get-canvas-context/-/get-canvas-context-1.0.2.tgz",
-      "integrity": "sha1-1ue1C8TkyGNXzTnyJkeoS3NgHpM=",
-      "dev": true
-    },
-    "get-intrinsic": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
-      "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
-      "dev": true,
-      "requires": {
-        "function-bind": "^1.1.1",
-        "has": "^1.0.3",
-        "has-symbols": "^1.0.1"
-      },
-      "dependencies": {
-        "has-symbols": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
-          "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==",
-          "dev": true
-        }
-      }
-    },
-    "get-stdin": {
-      "version": "8.0.0",
-      "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz",
-      "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==",
-      "dev": true
-    },
-    "gl-axes3d": {
-      "version": "1.5.3",
-      "resolved": "https://registry.npmjs.org/gl-axes3d/-/gl-axes3d-1.5.3.tgz",
-      "integrity": "sha512-KRYbguKQcDQ6PcB9g1pgqB8Ly4TY1DQODpPKiDTasyWJ8PxQk0t2Q7XoQQijNqvsguITCpVVCzNb5GVtIWiVlQ==",
-      "dev": true,
-      "requires": {
-        "bit-twiddle": "^1.0.2",
-        "dup": "^1.0.0",
-        "extract-frustum-planes": "^1.0.0",
-        "gl-buffer": "^2.1.2",
-        "gl-mat4": "^1.2.0",
-        "gl-shader": "^4.2.1",
-        "gl-state": "^1.0.0",
-        "gl-vao": "^1.3.0",
-        "gl-vec4": "^1.0.1",
-        "glslify": "^7.0.0",
-        "robust-orientation": "^1.1.3",
-        "split-polygon": "^1.0.0",
-        "vectorize-text": "^3.2.1"
-      }
-    },
-    "gl-buffer": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/gl-buffer/-/gl-buffer-2.1.2.tgz",
-      "integrity": "sha1-LbjZwaVSf7oM25EonCBuiCuInNs=",
-      "dev": true,
-      "requires": {
-        "ndarray": "^1.0.15",
-        "ndarray-ops": "^1.1.0",
-        "typedarray-pool": "^1.0.0"
-      }
-    },
-    "gl-cone3d": {
-      "version": "1.5.2",
-      "resolved": "https://registry.npmjs.org/gl-cone3d/-/gl-cone3d-1.5.2.tgz",
-      "integrity": "sha512-1JNeHH4sUtUmDA4ZK7Om8/kShwb8IZVAsnxaaB7IPRJsNGciLj1sTpODrJGeMl41RNkex5kXD2SQFrzyEAR2Rw==",
-      "dev": true,
-      "requires": {
-        "colormap": "^2.3.1",
-        "gl-buffer": "^2.1.2",
-        "gl-mat4": "^1.2.0",
-        "gl-shader": "^4.2.1",
-        "gl-texture2d": "^2.1.0",
-        "gl-vao": "^1.3.0",
-        "gl-vec3": "^1.1.3",
-        "glsl-inverse": "^1.0.0",
-        "glsl-out-of-range": "^1.0.4",
-        "glsl-specular-cook-torrance": "^2.0.1",
-        "glslify": "^7.0.0",
-        "ndarray": "^1.0.18"
-      }
-    },
-    "gl-constants": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/gl-constants/-/gl-constants-1.0.0.tgz",
-      "integrity": "sha1-WXpQTjZHUP9QJTqjX43qevSl0jM=",
-      "dev": true
-    },
-    "gl-contour2d": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/gl-contour2d/-/gl-contour2d-1.1.7.tgz",
-      "integrity": "sha512-GdebvJ9DtT3pJDpoE+eU2q+Wo9S3MijPpPz5arZbhK85w2bARmpFpVfPaDlZqWkB644W3BlH8TVyvAo1KE4Bhw==",
-      "dev": true,
-      "requires": {
-        "binary-search-bounds": "^2.0.4",
-        "cdt2d": "^1.0.0",
-        "clean-pslg": "^1.1.2",
-        "gl-buffer": "^2.1.2",
-        "gl-shader": "^4.2.1",
-        "glslify": "^7.0.0",
-        "iota-array": "^1.0.0",
-        "ndarray": "^1.0.18",
-        "surface-nets": "^1.0.2"
-      }
-    },
-    "gl-error3d": {
-      "version": "1.0.16",
-      "resolved": "https://registry.npmjs.org/gl-error3d/-/gl-error3d-1.0.16.tgz",
-      "integrity": "sha512-TGJewnKSp7ZnqGgG3XCF9ldrDbxZrO+OWlx6oIet4OdOM//n8xJ5isArnIV/sdPJnFbhfoLxWrW9f5fxHFRQ1A==",
-      "dev": true,
-      "requires": {
-        "gl-buffer": "^2.1.2",
-        "gl-shader": "^4.2.1",
-        "gl-vao": "^1.3.0",
-        "glsl-out-of-range": "^1.0.4",
-        "glslify": "^7.0.0"
-      }
-    },
-    "gl-fbo": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/gl-fbo/-/gl-fbo-2.0.5.tgz",
-      "integrity": "sha1-D6daSXz3h2lVMGkcjwSrtvtV+iI=",
-      "dev": true,
-      "requires": {
-        "gl-texture2d": "^2.0.0"
-      }
-    },
-    "gl-format-compiler-error": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/gl-format-compiler-error/-/gl-format-compiler-error-1.0.3.tgz",
-      "integrity": "sha1-DHmxdRiZzpcy6GJA8JCqQemEcag=",
-      "dev": true,
-      "requires": {
-        "add-line-numbers": "^1.0.1",
-        "gl-constants": "^1.0.0",
-        "glsl-shader-name": "^1.0.0",
-        "sprintf-js": "^1.0.3"
-      }
-    },
-    "gl-heatmap2d": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/gl-heatmap2d/-/gl-heatmap2d-1.1.1.tgz",
-      "integrity": "sha512-6Vo1fPIB1vQFWBA/MR6JAA16XuQuhwvZRbSjYEq++m4QV33iqjGS2HcVIRfJGX+fomd5eiz6bwkVZcKm69zQPw==",
-      "dev": true,
-      "requires": {
-        "binary-search-bounds": "^2.0.4",
-        "gl-buffer": "^2.1.2",
-        "gl-shader": "^4.2.1",
-        "glslify": "^7.0.0",
-        "iota-array": "^1.0.0",
-        "typedarray-pool": "^1.2.0"
-      }
-    },
-    "gl-line3d": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/gl-line3d/-/gl-line3d-1.2.1.tgz",
-      "integrity": "sha512-eeb0+RI2ZBRqMYJK85SgsRiJK7c4aiOjcnirxv0830A3jmOc99snY3AbPcV8KvKmW0Yaf3KA4e+qNCbHiTOTnA==",
-      "dev": true,
-      "requires": {
-        "binary-search-bounds": "^2.0.4",
-        "gl-buffer": "^2.1.2",
-        "gl-shader": "^4.2.1",
-        "gl-texture2d": "^2.1.0",
-        "gl-vao": "^1.3.0",
-        "glsl-out-of-range": "^1.0.4",
-        "glslify": "^7.0.0",
-        "ndarray": "^1.0.18"
-      }
-    },
-    "gl-mat3": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/gl-mat3/-/gl-mat3-1.0.0.tgz",
-      "integrity": "sha1-iWMyGcpCk3mha5GF2V1BcTRTuRI=",
-      "dev": true
-    },
-    "gl-mat4": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/gl-mat4/-/gl-mat4-1.2.0.tgz",
-      "integrity": "sha512-sT5C0pwB1/e9G9AvAoLsoaJtbMGjfd/jfxo8jMCKqYYEnjZuFvqV5rehqar0538EmssjdDeiEWnKyBSTw7quoA==",
-      "dev": true
-    },
-    "gl-matrix": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.3.0.tgz",
-      "integrity": "sha512-COb7LDz+SXaHtl/h4LeaFcNdJdAQSDeVqjiIihSXNrkWObZLhDI4hIkZC11Aeqp7bcE72clzB0BnDXr2SmslRA==",
-      "dev": true
-    },
-    "gl-mesh3d": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/gl-mesh3d/-/gl-mesh3d-2.3.1.tgz",
-      "integrity": "sha512-pXECamyGgu4/9HeAQSE5OEUuLBGS1aq9V4BCsTcxsND4fNLaajEkYKUz/WY2QSYElqKdsMBVsldGiKRKwlybqA==",
-      "dev": true,
-      "requires": {
-        "barycentric": "^1.0.1",
-        "colormap": "^2.3.1",
-        "gl-buffer": "^2.1.2",
-        "gl-mat4": "^1.2.0",
-        "gl-shader": "^4.2.1",
-        "gl-texture2d": "^2.1.0",
-        "gl-vao": "^1.3.0",
-        "glsl-out-of-range": "^1.0.4",
-        "glsl-specular-cook-torrance": "^2.0.1",
-        "glslify": "^7.0.0",
-        "ndarray": "^1.0.18",
-        "normals": "^1.1.0",
-        "polytope-closest-point": "^1.0.0",
-        "simplicial-complex-contour": "^1.0.2",
-        "typedarray-pool": "^1.1.0"
-      }
-    },
-    "gl-plot2d": {
-      "version": "1.4.5",
-      "resolved": "https://registry.npmjs.org/gl-plot2d/-/gl-plot2d-1.4.5.tgz",
-      "integrity": "sha512-6GmCN10SWtV+qHFQ1gjdnVubeHFVsm6P4zmo0HrPIl9TcdePCUHDlBKWAuE6XtFhiMKMj7R8rApOX8O8uXUYog==",
-      "dev": true,
-      "requires": {
-        "binary-search-bounds": "^2.0.4",
-        "gl-buffer": "^2.1.2",
-        "gl-select-static": "^2.0.7",
-        "gl-shader": "^4.2.1",
-        "glsl-inverse": "^1.0.0",
-        "glslify": "^7.0.0",
-        "text-cache": "^4.2.2"
-      }
-    },
-    "gl-plot3d": {
-      "version": "2.4.7",
-      "resolved": "https://registry.npmjs.org/gl-plot3d/-/gl-plot3d-2.4.7.tgz",
-      "integrity": "sha512-mLDVWrl4Dj0O0druWyHUK5l7cBQrRIJRn2oROEgrRuOgbbrLAzsREKefwMO0bA0YqkiZMFMnV5VvPA9j57X5Xg==",
-      "dev": true,
-      "requires": {
-        "3d-view": "^2.0.0",
-        "a-big-triangle": "^1.0.3",
-        "gl-axes3d": "^1.5.3",
-        "gl-fbo": "^2.0.5",
-        "gl-mat4": "^1.2.0",
-        "gl-select-static": "^2.0.7",
-        "gl-shader": "^4.2.1",
-        "gl-spikes3d": "^1.0.10",
-        "glslify": "^7.0.0",
-        "has-passive-events": "^1.0.0",
-        "is-mobile": "^2.2.1",
-        "mouse-change": "^1.4.0",
-        "mouse-event-offset": "^3.0.2",
-        "mouse-wheel": "^1.2.0",
-        "ndarray": "^1.0.19",
-        "right-now": "^1.0.0"
-      }
-    },
-    "gl-pointcloud2d": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/gl-pointcloud2d/-/gl-pointcloud2d-1.0.3.tgz",
-      "integrity": "sha512-OS2e1irvJXVRpg/GziXj10xrFJm9kkRfFoB6BLUvkjCQV7ZRNNcs2CD+YSK1r0gvMwTg2T3lfLM3UPwNtz+4Xw==",
-      "dev": true,
-      "requires": {
-        "gl-buffer": "^2.1.2",
-        "gl-shader": "^4.2.1",
-        "glslify": "^7.0.0",
-        "typedarray-pool": "^1.1.0"
-      }
-    },
-    "gl-quat": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/gl-quat/-/gl-quat-1.0.0.tgz",
-      "integrity": "sha1-CUXskjOG9FMpvl3DV7HIwtR1hsU=",
-      "dev": true,
-      "requires": {
-        "gl-mat3": "^1.0.0",
-        "gl-vec3": "^1.0.3",
-        "gl-vec4": "^1.0.0"
-      }
-    },
-    "gl-scatter3d": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/gl-scatter3d/-/gl-scatter3d-1.2.3.tgz",
-      "integrity": "sha512-nXqPlT1w5Qt51dTksj+DUqrZqwWAEWg0PocsKcoDnVNv0X8sGA+LBZ0Y+zrA+KNXUL0PPCX9WR9cF2uJAZl1Sw==",
-      "dev": true,
-      "requires": {
-        "gl-buffer": "^2.1.2",
-        "gl-mat4": "^1.2.0",
-        "gl-shader": "^4.2.1",
-        "gl-vao": "^1.3.0",
-        "glsl-out-of-range": "^1.0.4",
-        "glslify": "^7.0.0",
-        "is-string-blank": "^1.0.1",
-        "typedarray-pool": "^1.1.0",
-        "vectorize-text": "^3.2.1"
-      }
-    },
-    "gl-select-box": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/gl-select-box/-/gl-select-box-1.0.4.tgz",
-      "integrity": "sha512-mKsCnglraSKyBbQiGq0Ila0WF+m6Tr+EWT2yfaMn/Sh9aMHq5Wt0F/l6Cf/Ed3CdERq5jHWAY5yxLviZteYu2w==",
-      "dev": true,
-      "requires": {
-        "gl-buffer": "^2.1.2",
-        "gl-shader": "^4.2.1",
-        "glslify": "^7.0.0"
-      }
-    },
-    "gl-select-static": {
-      "version": "2.0.7",
-      "resolved": "https://registry.npmjs.org/gl-select-static/-/gl-select-static-2.0.7.tgz",
-      "integrity": "sha512-OvpYprd+ngl3liEatBTdXhSyNBjwvjMSvV2rN0KHpTU+BTi4viEETXNZXFgGXY37qARs0L28ybk3UQEW6C5Nnw==",
-      "dev": true,
-      "requires": {
-        "bit-twiddle": "^1.0.2",
-        "gl-fbo": "^2.0.5",
-        "ndarray": "^1.0.18",
-        "typedarray-pool": "^1.1.0"
+        "at-least-node": "^1.0.0",
+        "graceful-fs": "^4.2.0",
+        "jsonfile": "^6.0.1",
+        "universalify": "^2.0.0"
       }
     },
-    "gl-shader": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/gl-shader/-/gl-shader-4.2.1.tgz",
-      "integrity": "sha1-vJuAjpKTxRtmjojeYVsMETcI3C8=",
+    "fs.realpath": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+      "dev": true
+    },
+    "fsevents": {
+      "version": "2.3.2",
+      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+      "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
       "dev": true,
-      "requires": {
-        "gl-format-compiler-error": "^1.0.2",
-        "weakmap-shim": "^1.1.0"
-      }
+      "optional": true
+    },
+    "function-bind": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+      "dev": true
+    },
+    "geojson-vt": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-3.2.1.tgz",
+      "integrity": "sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==",
+      "dev": true
+    },
+    "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==",
+      "dev": true
+    },
+    "get-caller-file": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+      "dev": true
     },
-    "gl-spikes2d": {
+    "get-canvas-context": {
       "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/gl-spikes2d/-/gl-spikes2d-1.0.2.tgz",
-      "integrity": "sha512-QVeOZsi9nQuJJl7NB3132CCv5KA10BWxAY2QgJNsKqbLsG53B/TrGJpjIAohnJftdZ4fT6b3ZojWgeaXk8bOOA==",
+      "resolved": "https://registry.npmjs.org/get-canvas-context/-/get-canvas-context-1.0.2.tgz",
+      "integrity": "sha1-1ue1C8TkyGNXzTnyJkeoS3NgHpM=",
       "dev": true
     },
-    "gl-spikes3d": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/gl-spikes3d/-/gl-spikes3d-1.0.10.tgz",
-      "integrity": "sha512-lT3xroowOFxMvlhT5Mof76B2TE02l5zt/NIWljhczV2FFHgIVhA4jMrd5dIv1so1RXMBDJIKu0uJI3QKliDVLg==",
+    "get-intrinsic": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
+      "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
       "dev": true,
       "requires": {
-        "gl-buffer": "^2.1.2",
-        "gl-shader": "^4.2.1",
-        "gl-vao": "^1.3.0",
-        "glslify": "^7.0.0"
+        "function-bind": "^1.1.1",
+        "has": "^1.0.3",
+        "has-symbols": "^1.0.1"
+      },
+      "dependencies": {
+        "has-symbols": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
+          "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==",
+          "dev": true
+        }
       }
     },
-    "gl-state": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/gl-state/-/gl-state-1.0.0.tgz",
-      "integrity": "sha1-Ji+qdYNbC5xTLBLzitxCXR0wzRc=",
-      "dev": true,
-      "requires": {
-        "uniq": "^1.0.0"
-      }
+    "get-stdin": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz",
+      "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==",
+      "dev": true
     },
-    "gl-streamtube3d": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/gl-streamtube3d/-/gl-streamtube3d-1.4.1.tgz",
-      "integrity": "sha512-rH02v00kgwgdpkXVo7KsSoPp38bIAYR9TE1iONjcQ4cQAlDhrGRauqT/P5sUaOIzs17A2DxWGcXM+EpNQs9pUA==",
-      "dev": true,
-      "requires": {
-        "gl-cone3d": "^1.5.2",
-        "gl-vec3": "^1.1.3",
-        "gl-vec4": "^1.0.1",
-        "glsl-inverse": "^1.0.0",
-        "glsl-out-of-range": "^1.0.4",
-        "glsl-specular-cook-torrance": "^2.0.1",
-        "glslify": "^7.0.0"
-      }
+    "gl-mat4": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/gl-mat4/-/gl-mat4-1.2.0.tgz",
+      "integrity": "sha512-sT5C0pwB1/e9G9AvAoLsoaJtbMGjfd/jfxo8jMCKqYYEnjZuFvqV5rehqar0538EmssjdDeiEWnKyBSTw7quoA==",
+      "dev": true
     },
-    "gl-surface3d": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/gl-surface3d/-/gl-surface3d-1.6.0.tgz",
-      "integrity": "sha512-x15+u4712ysnB85G55RLJEml6mOB4VaDn0VTlXCc9JcjRl5Es10Tk7lhGGyiPtkCfHwvhnkxzYA1/rHHYN7Y0A==",
-      "dev": true,
-      "requires": {
-        "binary-search-bounds": "^2.0.4",
-        "bit-twiddle": "^1.0.2",
-        "colormap": "^2.3.1",
-        "dup": "^1.0.0",
-        "gl-buffer": "^2.1.2",
-        "gl-mat4": "^1.2.0",
-        "gl-shader": "^4.2.1",
-        "gl-texture2d": "^2.1.0",
-        "gl-vao": "^1.3.0",
-        "glsl-out-of-range": "^1.0.4",
-        "glsl-specular-beckmann": "^1.1.2",
-        "glslify": "^7.0.0",
-        "ndarray": "^1.0.18",
-        "ndarray-gradient": "^1.0.0",
-        "ndarray-ops": "^1.2.2",
-        "ndarray-pack": "^1.2.1",
-        "ndarray-scratch": "^1.2.0",
-        "surface-nets": "^1.0.2",
-        "typedarray-pool": "^1.1.0"
-      }
+    "gl-matrix": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.3.0.tgz",
+      "integrity": "sha512-COb7LDz+SXaHtl/h4LeaFcNdJdAQSDeVqjiIihSXNrkWObZLhDI4hIkZC11Aeqp7bcE72clzB0BnDXr2SmslRA==",
+      "dev": true
     },
     "gl-text": {
-      "version": "1.1.8",
-      "resolved": "https://registry.npmjs.org/gl-text/-/gl-text-1.1.8.tgz",
-      "integrity": "sha512-whnq9DEFYbW92C4ONwk2eT0YkzmVPHoADnEtuzMOmit87XhgAhBrNs3lK9EgGjU/MoWYvlF6RkI8Kl7Yuo1hUw==",
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/gl-text/-/gl-text-1.3.1.tgz",
+      "integrity": "sha512-/f5gcEMiZd+UTBJLTl3D+CkCB/0UFGTx3nflH8ZmyWcLkZhsZ1+Xx5YYkw2rgWAzgPeE35xCqBuHSoMKQVsR+w==",
       "dev": true,
       "requires": {
         "bit-twiddle": "^1.0.2",
@@ -13296,22 +11799,11 @@
         "parse-rect": "^1.2.0",
         "parse-unit": "^1.0.1",
         "pick-by-alias": "^1.2.0",
-        "regl": "^1.3.11",
+        "regl": "^2.0.0",
         "to-px": "^1.0.1",
         "typedarray-pool": "^1.1.0"
       }
     },
-    "gl-texture2d": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/gl-texture2d/-/gl-texture2d-2.1.0.tgz",
-      "integrity": "sha1-/2gk5+fDGoum/c2+nlxpXX4hh8c=",
-      "dev": true,
-      "requires": {
-        "ndarray": "^1.0.15",
-        "ndarray-ops": "^1.2.2",
-        "typedarray-pool": "^1.1.0"
-      }
-    },
     "gl-util": {
       "version": "3.1.3",
       "resolved": "https://registry.npmjs.org/gl-util/-/gl-util-3.1.3.tgz",
@@ -13327,24 +11819,6 @@
         "weak-map": "^1.0.5"
       }
     },
-    "gl-vao": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/gl-vao/-/gl-vao-1.3.0.tgz",
-      "integrity": "sha1-6ekqqVWIyrnVwvBLaTRAw99pGSM=",
-      "dev": true
-    },
-    "gl-vec3": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/gl-vec3/-/gl-vec3-1.1.3.tgz",
-      "integrity": "sha512-jduKUqT0SGH02l8Yl+mV1yVsDfYgQAJyXGxkJQGyxPLHRiW25DwVIRPt6uvhrEMHftJfqhqKthRcyZqNEl9Xdw==",
-      "dev": true
-    },
-    "gl-vec4": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/gl-vec4/-/gl-vec4-1.0.1.tgz",
-      "integrity": "sha1-l9loeCgbFLUyy84QF4Xf0cs0CWQ=",
-      "dev": true
-    },
     "glob": {
       "version": "7.1.4",
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
@@ -13393,18 +11867,6 @@
         "glsl-tokenizer": "^2.0.2"
       }
     },
-    "glsl-inverse": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/glsl-inverse/-/glsl-inverse-1.0.0.tgz",
-      "integrity": "sha1-EsCx0GX1WERNHm/q95td34qRiuY=",
-      "dev": true
-    },
-    "glsl-out-of-range": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/glsl-out-of-range/-/glsl-out-of-range-1.0.4.tgz",
-      "integrity": "sha512-fCcDu2LCQ39VBvfe1FbhuazXEf0CqMZI9OYXrYlL6uUARG48CTAbL04+tZBtVM0zo1Ljx4OLu2AxNquq++lxWQ==",
-      "dev": true
-    },
     "glsl-resolve": {
       "version": "0.0.1",
       "resolved": "https://registry.npmjs.org/glsl-resolve/-/glsl-resolve-0.0.1.tgz",
@@ -13429,31 +11891,6 @@
         }
       }
     },
-    "glsl-shader-name": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/glsl-shader-name/-/glsl-shader-name-1.0.0.tgz",
-      "integrity": "sha1-osMLO6c0mb77DMcYTXx3M91LSH0=",
-      "dev": true,
-      "requires": {
-        "atob-lite": "^1.0.0",
-        "glsl-tokenizer": "^2.0.2"
-      }
-    },
-    "glsl-specular-beckmann": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/glsl-specular-beckmann/-/glsl-specular-beckmann-1.1.2.tgz",
-      "integrity": "sha1-/OkFaTPs3yRWJ4N2pU0IKJPndfE=",
-      "dev": true
-    },
-    "glsl-specular-cook-torrance": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/glsl-specular-cook-torrance/-/glsl-specular-cook-torrance-2.0.1.tgz",
-      "integrity": "sha1-qJHMBsjHtPRyhwK0gk/ay7ln148=",
-      "dev": true,
-      "requires": {
-        "glsl-specular-beckmann": "^1.1.1"
-      }
-    },
     "glsl-token-assignments": {
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/glsl-token-assignments/-/glsl-token-assignments-2.0.2.tgz",
@@ -13810,12 +12247,6 @@
         "quantize": "^1.0.2"
       }
     },
-    "image-size": {
-      "version": "0.7.5",
-      "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.7.5.tgz",
-      "integrity": "sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g==",
-      "dev": true
-    },
     "immediate": {
       "version": "3.0.6",
       "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
@@ -13850,16 +12281,6 @@
         "resolve-from": "^3.0.0"
       }
     },
-    "incremental-convex-hull": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/incremental-convex-hull/-/incremental-convex-hull-1.0.1.tgz",
-      "integrity": "sha1-UUKMFMudmmFEv+abKFH7N3M0vh4=",
-      "dev": true,
-      "requires": {
-        "robust-orientation": "^1.1.2",
-        "simplicial-complex": "^1.0.0"
-      }
-    },
     "index-array-by": {
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/index-array-by/-/index-array-by-1.3.0.tgz",
@@ -13893,35 +12314,6 @@
       "integrity": "sha512-SdoDWwNOTE2n4JWUsLn4KXZGuZPjPF9yyOGc8bnfWnBQh7BD/l80rzSznKc/r4Y0aQ7z3RTk9X+tV4tHBpu+dA==",
       "dev": true
     },
-    "interval-tree-1d": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/interval-tree-1d/-/interval-tree-1d-1.0.3.tgz",
-      "integrity": "sha1-j9veArayx9verWNry+2OCHENhcE=",
-      "dev": true,
-      "requires": {
-        "binary-search-bounds": "^1.0.0"
-      },
-      "dependencies": {
-        "binary-search-bounds": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-1.0.0.tgz",
-          "integrity": "sha1-MjyjF+PypA9CRMclX1OEpbIHu2k=",
-          "dev": true
-        }
-      }
-    },
-    "invert-permutation": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/invert-permutation/-/invert-permutation-1.0.0.tgz",
-      "integrity": "sha1-oKeAQurbNrwXVR54fv0UOa3VSTM=",
-      "dev": true
-    },
-    "iota-array": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/iota-array/-/iota-array-1.0.0.tgz",
-      "integrity": "sha1-ge9X/l0FgUzVjCSDYyqZwwoOgIc=",
-      "dev": true
-    },
     "ipaddr.js": {
       "version": "1.9.1",
       "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
@@ -13975,12 +12367,6 @@
       "integrity": "sha512-F5rTJxDQ2sW81fcfOR1GnCXT6sVJC104fCyfj+mjpwNEwaPYSn5fte5jiHmBg3DHsIoL/l8Kvw5VN5SsTRcRFQ==",
       "dev": true
     },
-    "is-buffer": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
-      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
-      "dev": true
-    },
     "is-color-stop": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz",
@@ -14031,7 +12417,7 @@
     "is-firefox": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/is-firefox/-/is-firefox-1.0.3.tgz",
-      "integrity": "sha1-KioVZ3g6QX9uFYMjEI84YbCRhWI=",
+      "integrity": "sha512-6Q9ITjvWIm0Xdqv+5U12wgOKEM2KoBw4Y926m0OFkvlCxnbG94HKAsVz8w3fWcfAS5YA2fJORXX1dLrkprCCxA==",
       "dev": true
     },
     "is-float-array": {
@@ -14062,9 +12448,9 @@
       "dev": true
     },
     "is-mobile": {
-      "version": "2.2.2",
-      "resolved": "https://registry.npmjs.org/is-mobile/-/is-mobile-2.2.2.tgz",
-      "integrity": "sha512-wW/SXnYJkTjs++tVK5b6kVITZpAZPtUrt9SF80vvxGiF/Oywal+COk1jlRkiVq15RFNEQKQY31TkV24/1T5cVg==",
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/is-mobile/-/is-mobile-4.0.0.tgz",
+      "integrity": "sha512-mlcHZA84t1qLSuWkt2v0I2l61PYdyQDt4aG1mLIXF5FDMm4+haBCxCPYSr/uwqQNRk1MiTizn0ypEuRAOLRAew==",
       "dev": true
     },
     "is-number": {
@@ -14239,12 +12625,6 @@
       "integrity": "sha512-ZSEpE/EFApR0bJ1w/dUGwTSUvWlpalKqIzkaYdYB7jaftQA/Y2Jav+eT4CMtEYFj+ZK4mswP13Q2acnPBnhGOw==",
       "dev": true
     },
-    "lerp": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/lerp/-/lerp-1.0.3.tgz",
-      "integrity": "sha1-oYyJaPkXiW3hXM/MKNVaa3Med24=",
-      "dev": true
-    },
     "levn": {
       "version": "0.3.0",
       "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
@@ -14316,6 +12696,12 @@
       "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
       "dev": true
     },
+    "lodash.merge": {
+      "version": "4.6.2",
+      "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+      "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+      "dev": true
+    },
     "lodash.uniq": {
       "version": "4.5.0",
       "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
@@ -14391,79 +12777,18 @@
         "vt-pbf": "^3.1.1"
       }
     },
-    "marching-simplex-table": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/marching-simplex-table/-/marching-simplex-table-1.0.0.tgz",
-      "integrity": "sha1-vBYlbg+Pm1WKqbKHL4gy2UM/Uuo=",
-      "dev": true,
-      "requires": {
-        "convex-hull": "^1.0.3"
-      }
-    },
     "marked": {
       "version": "4.0.10",
       "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.10.tgz",
       "integrity": "sha512-+QvuFj0nGgO970fySghXGmuw+Fd0gD2x3+MqCWLIPf5oxdv1Ka6b2q+z9RP01P/IaKPMEramy+7cNy/Lw8c3hw==",
       "dev": true
     },
-    "mat4-decompose": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/mat4-decompose/-/mat4-decompose-1.0.4.tgz",
-      "integrity": "sha1-ZetP451wh496RE60Yk1S9+frL68=",
-      "dev": true,
-      "requires": {
-        "gl-mat4": "^1.0.1",
-        "gl-vec3": "^1.0.2"
-      }
-    },
-    "mat4-interpolate": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/mat4-interpolate/-/mat4-interpolate-1.0.4.tgz",
-      "integrity": "sha1-Vf/p6zw1KV4sDVqfdyXZBoqJ/3Q=",
-      "dev": true,
-      "requires": {
-        "gl-mat4": "^1.0.1",
-        "gl-vec3": "^1.0.2",
-        "mat4-decompose": "^1.0.3",
-        "mat4-recompose": "^1.0.3",
-        "quat-slerp": "^1.0.0"
-      }
-    },
-    "mat4-recompose": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/mat4-recompose/-/mat4-recompose-1.0.4.tgz",
-      "integrity": "sha1-OVPCMP8kc9x3LuAUpSySXPgbDk0=",
-      "dev": true,
-      "requires": {
-        "gl-mat4": "^1.0.1"
-      }
-    },
     "math-log2": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/math-log2/-/math-log2-1.0.1.tgz",
       "integrity": "sha1-+4lBvl9evol55xjmJzsXjlhpRWU=",
       "dev": true
     },
-    "matrix-camera-controller": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmjs.org/matrix-camera-controller/-/matrix-camera-controller-2.1.3.tgz",
-      "integrity": "sha1-NeUmDMHNVQliunmfLY1OlLGjk3A=",
-      "dev": true,
-      "requires": {
-        "binary-search-bounds": "^1.0.0",
-        "gl-mat4": "^1.1.2",
-        "gl-vec3": "^1.0.3",
-        "mat4-interpolate": "^1.0.3"
-      },
-      "dependencies": {
-        "binary-search-bounds": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-1.0.0.tgz",
-          "integrity": "sha1-MjyjF+PypA9CRMclX1OEpbIHu2k=",
-          "dev": true
-        }
-      }
-    },
     "mdn-data": {
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
@@ -14572,19 +12897,10 @@
       "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==",
       "dev": true
     },
-    "monotone-convex-hull-2d": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/monotone-convex-hull-2d/-/monotone-convex-hull-2d-1.0.1.tgz",
-      "integrity": "sha1-R/Xa6t88Sv03dkuqGqh4ekDu4Iw=",
-      "dev": true,
-      "requires": {
-        "robust-orientation": "^1.1.3"
-      }
-    },
     "mouse-change": {
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/mouse-change/-/mouse-change-1.4.0.tgz",
-      "integrity": "sha1-wrd+W/o0pDzhRFyBV6Tk3JiVwU8=",
+      "integrity": "sha512-vpN0s+zLL2ykyyUDh+fayu9Xkor5v/zRD9jhSqjRS1cJTGS0+oakVZzNm5n19JvvEj0you+MXlYTpNxUDQUjkQ==",
       "dev": true,
       "requires": {
         "mouse-event": "^1.0.0"
@@ -14593,32 +12909,24 @@
     "mouse-event": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/mouse-event/-/mouse-event-1.0.5.tgz",
-      "integrity": "sha1-s3ie23EJmX1aky0dAdqhVDpQFzI=",
+      "integrity": "sha512-ItUxtL2IkeSKSp9cyaX2JLUuKk2uMoxBg4bbOWVd29+CskYJR9BGsUqtXenNzKbnDshvupjUewDIYVrOB6NmGw==",
       "dev": true
     },
     "mouse-event-offset": {
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/mouse-event-offset/-/mouse-event-offset-3.0.2.tgz",
-      "integrity": "sha1-39hqbiSMa6jK1TuQXVA3ogY+mYQ=",
+      "integrity": "sha512-s9sqOs5B1Ykox3Xo8b3Ss2IQju4UwlW6LSR+Q5FXWpprJ5fzMLefIIItr3PH8RwzfGy6gxs/4GAmiNuZScE25w==",
       "dev": true
     },
     "mouse-wheel": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/mouse-wheel/-/mouse-wheel-1.2.0.tgz",
-      "integrity": "sha1-bSkDseqPtI5h8bU7kDZ3PwQs21w=",
+      "integrity": "sha512-+OfYBiUOCTWcTECES49neZwL5AoGkXE+lFjIvzwNCnYRlso+EnfvovcBxGoyQ0yQt806eSPjS675K0EwWknXmw==",
       "dev": true,
       "requires": {
         "right-now": "^1.0.0",
         "signum": "^1.0.0",
         "to-px": "^1.0.1"
-      },
-      "dependencies": {
-        "signum": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/signum/-/signum-1.0.0.tgz",
-          "integrity": "sha1-dKfSvyogtA66FqkrFSEk8dVZ+nc=",
-          "dev": true
-        }
       }
     },
     "ms": {
@@ -14641,78 +12949,38 @@
       "integrity": "sha1-sGJ44h/Gw3+lMTcysEEry2rhX1E=",
       "dev": true
     },
-    "ndarray": {
-      "version": "1.0.19",
-      "resolved": "https://registry.npmjs.org/ndarray/-/ndarray-1.0.19.tgz",
-      "integrity": "sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==",
-      "dev": true,
-      "requires": {
-        "iota-array": "^1.0.0",
-        "is-buffer": "^1.0.2"
-      }
-    },
-    "ndarray-extract-contour": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/ndarray-extract-contour/-/ndarray-extract-contour-1.0.1.tgz",
-      "integrity": "sha1-Cu4ROjozsia5DEiIz4d79HUTBeQ=",
-      "dev": true,
-      "requires": {
-        "typedarray-pool": "^1.0.0"
-      }
-    },
-    "ndarray-gradient": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/ndarray-gradient/-/ndarray-gradient-1.0.0.tgz",
-      "integrity": "sha1-t0kaUVxqZJ8ZpiMk//byf8jCU5M=",
-      "dev": true,
-      "requires": {
-        "cwise-compiler": "^1.0.0",
-        "dup": "^1.0.0"
-      }
-    },
-    "ndarray-linear-interpolate": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/ndarray-linear-interpolate/-/ndarray-linear-interpolate-1.0.0.tgz",
-      "integrity": "sha1-eLySuFuavBW25n7mWCj54hN65ys=",
+    "native-promise-only": {
+      "version": "0.8.1",
+      "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz",
+      "integrity": "sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==",
       "dev": true
     },
-    "ndarray-ops": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/ndarray-ops/-/ndarray-ops-1.2.2.tgz",
-      "integrity": "sha1-WeiNLDKn7ryxvGkPrhQVeVV6YU4=",
-      "dev": true,
-      "requires": {
-        "cwise-compiler": "^1.0.0"
-      }
-    },
-    "ndarray-pack": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/ndarray-pack/-/ndarray-pack-1.2.1.tgz",
-      "integrity": "sha1-jK6+qqJNXs9w/4YCBjeXfajuWFo=",
-      "dev": true,
-      "requires": {
-        "cwise-compiler": "^1.1.2",
-        "ndarray": "^1.0.13"
-      }
-    },
-    "ndarray-scratch": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/ndarray-scratch/-/ndarray-scratch-1.2.0.tgz",
-      "integrity": "sha1-YwRjbWLrqT20cnrBPGkzQdulDgE=",
-      "dev": true,
-      "requires": {
-        "ndarray": "^1.0.14",
-        "ndarray-ops": "^1.2.1",
-        "typedarray-pool": "^1.0.2"
-      }
-    },
-    "ndarray-sort": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/ndarray-sort/-/ndarray-sort-1.0.1.tgz",
-      "integrity": "sha1-/qBbTLg0x/TgIWo1TzynUTAN/Wo=",
+    "needle": {
+      "version": "2.9.1",
+      "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz",
+      "integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==",
       "dev": true,
       "requires": {
-        "typedarray-pool": "^1.0.0"
+        "debug": "^3.2.6",
+        "iconv-lite": "^0.4.4",
+        "sax": "^1.2.4"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "3.2.7",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+          "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+          "dev": true,
+          "requires": {
+            "ms": "^2.1.1"
+          }
+        },
+        "ms": {
+          "version": "2.1.3",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+          "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+          "dev": true
+        }
       }
     },
     "negotiator": {
@@ -14726,15 +12994,6 @@
       "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
       "dev": true
     },
-    "nextafter": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/nextafter/-/nextafter-1.0.0.tgz",
-      "integrity": "sha1-t9d7U1MQ4+CX5gJauwqQNHfsGjo=",
-      "dev": true,
-      "requires": {
-        "double-bits": "^1.1.0"
-      }
-    },
     "ngraph.events": {
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/ngraph.events/-/ngraph.events-1.2.1.tgz",
@@ -14753,9 +13012,9 @@
       }
     },
     "ngraph.graph": {
-      "version": "19.1.0",
-      "resolved": "https://registry.npmjs.org/ngraph.graph/-/ngraph.graph-19.1.0.tgz",
-      "integrity": "sha512-9cws84qfPkrYa7BaBtT+KgZfLXrd6pNL9Gl5Do+MBO/0Hm6rOM7qK78MZaO1uEoIK6p2pgUs6lu29zn/6tP59w==",
+      "version": "20.0.1",
+      "resolved": "https://registry.npmjs.org/ngraph.graph/-/ngraph.graph-20.0.1.tgz",
+      "integrity": "sha512-VFsQ+EMkT+7lcJO1QP8Ik3w64WbHJl27Q53EO9hiFU9CRyxJ8HfcXtfWz/U8okuoYKDctbciL6pX3vG5dt1rYA==",
       "dev": true,
       "requires": {
         "ngraph.events": "^1.2.1"
@@ -14794,13 +13053,7 @@
     "normalize-url": {
       "version": "4.5.1",
       "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
-      "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==",
-      "dev": true
-    },
-    "normals": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/normals/-/normals-1.1.0.tgz",
-      "integrity": "sha1-MltZXtNK/kZ6bFWhT9kIV4f/WcA=",
+      "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==",
       "dev": true
     },
     "nth-check": {
@@ -14815,18 +13068,12 @@
     "number-is-integer": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/number-is-integer/-/number-is-integer-1.0.1.tgz",
-      "integrity": "sha1-5ZvKFy/+0nMY55x862y3LAlbIVI=",
+      "integrity": "sha512-Dq3iuiFBkrbmuQjGFFF3zckXNCQoSD37/SdSbgcBailUx6knDvDwb5CympBgcoWHy36sfS12u74MHYkXyHq6bg==",
       "dev": true,
       "requires": {
         "is-finite": "^1.0.1"
       }
     },
-    "numeric": {
-      "version": "1.2.6",
-      "resolved": "https://registry.npmjs.org/numeric/-/numeric-1.2.6.tgz",
-      "integrity": "sha1-dlsCvvl5iPz4gNTrPza4D6MTNao=",
-      "dev": true
-    },
     "object-assign": {
       "version": "4.1.1",
       "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -15014,16 +13261,6 @@
         "word-wrap": "~1.2.3"
       }
     },
-    "orbit-camera-controller": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/orbit-camera-controller/-/orbit-camera-controller-4.0.0.tgz",
-      "integrity": "sha1-bis28OeHhmPDMPUNqbfOaGwncAU=",
-      "dev": true,
-      "requires": {
-        "filtered-vector": "^1.2.1",
-        "gl-mat4": "^1.0.3"
-      }
-    },
     "p-limit": {
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
@@ -15048,15 +13285,6 @@
       "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
       "dev": true
     },
-    "pad-left": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/pad-left/-/pad-left-1.0.2.tgz",
-      "integrity": "sha1-GeVzXqmDlaJs7carkm6tEPMQDUw=",
-      "dev": true,
-      "requires": {
-        "repeat-string": "^1.3.0"
-      }
-    },
     "pako": {
       "version": "1.0.11",
       "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
@@ -15070,9 +13298,9 @@
       "dev": true
     },
     "parenthesis": {
-      "version": "3.1.7",
-      "resolved": "https://registry.npmjs.org/parenthesis/-/parenthesis-3.1.7.tgz",
-      "integrity": "sha512-iMtu+HCbLXVrpf6Ys/4YKhcFxbux3xK4ZVB9r+a2kMSqeeQWQoDNYlXIsOjwlT2ldYXZ3k5PVeBnYn7fbAo/Bg==",
+      "version": "3.1.8",
+      "resolved": "https://registry.npmjs.org/parenthesis/-/parenthesis-3.1.8.tgz",
+      "integrity": "sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw==",
       "dev": true
     },
     "parse-json": {
@@ -15103,7 +13331,7 @@
     "parse-unit": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/parse-unit/-/parse-unit-1.0.1.tgz",
-      "integrity": "sha1-fhu21b7zh0wo45JSaiVBFwKR7s8=",
+      "integrity": "sha512-hrqldJHokR3Qj88EIlV/kAyAi/G5R2+R56TBANxNMy0uPlYcttx0jnMW6Yx5KsKPSbC3KddM/7qQm3+0wEXKxg==",
       "dev": true
     },
     "parse-uri": {
@@ -15216,25 +13444,6 @@
       "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
       "dev": true
     },
-    "permutation-parity": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/permutation-parity/-/permutation-parity-1.0.0.tgz",
-      "integrity": "sha1-AXTVH8pwSxG5pLFSsj1Tf9xrXvQ=",
-      "dev": true,
-      "requires": {
-        "typedarray-pool": "^1.0.0"
-      }
-    },
-    "permutation-rank": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/permutation-rank/-/permutation-rank-1.0.0.tgz",
-      "integrity": "sha1-n9mLvOzwj79ZlLXq3JSmLmeUg7U=",
-      "dev": true,
-      "requires": {
-        "invert-permutation": "^1.0.0",
-        "typedarray-pool": "^1.0.0"
-      }
-    },
     "pick-by-alias": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/pick-by-alias/-/pick-by-alias-1.2.0.tgz",
@@ -15310,97 +13519,53 @@
         "@pixi/utils": "5.3.8"
       }
     },
-    "planar-dual": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/planar-dual/-/planar-dual-1.0.2.tgz",
-      "integrity": "sha1-tqQjVSOxsMt55fkm+OozXdmC1WM=",
-      "dev": true,
-      "requires": {
-        "compare-angle": "^1.0.0",
-        "dup": "^1.0.0"
-      }
-    },
-    "planar-graph-to-polyline": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/planar-graph-to-polyline/-/planar-graph-to-polyline-1.0.5.tgz",
-      "integrity": "sha1-iCuGBRmbqIv9RkyVUzA1VsUrmIo=",
-      "dev": true,
-      "requires": {
-        "edges-to-adjacency-list": "^1.0.0",
-        "planar-dual": "^1.0.0",
-        "point-in-big-polygon": "^2.0.0",
-        "robust-orientation": "^1.0.1",
-        "robust-sum": "^1.0.0",
-        "two-product": "^1.0.0",
-        "uniq": "^1.0.0"
-      }
-    },
     "plotly.js": {
-      "version": "1.58.4",
-      "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-1.58.4.tgz",
-      "integrity": "sha512-hdt/aEvkPjS1HJ7tJKcPqsqi9ErEZPhUFs4d2ANTLeBim+AmVcHzS1rtwr7ZrVCINgliW/+92u81omJoy+lbUw==",
+      "version": "2.22.0",
+      "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.22.0.tgz",
+      "integrity": "sha512-g+YTMnChFDx/fNUV2rqkrf87wKwKuOhqv9LIxhmPyF94RGM4v4blP0mmgwQ278qv3kXmfTMJecIUusr1gzscng==",
       "dev": true,
       "requires": {
+        "@plotly/d3": "3.8.1",
         "@plotly/d3-sankey": "0.7.2",
         "@plotly/d3-sankey-circular": "0.33.1",
-        "@plotly/point-cluster": "^3.1.9",
-        "@turf/area": "^6.0.1",
-        "@turf/bbox": "^6.0.1",
+        "@turf/area": "^6.4.0",
+        "@turf/bbox": "^6.4.0",
         "@turf/centroid": "^6.0.2",
-        "alpha-shape": "^1.0.0",
         "canvas-fit": "^1.5.0",
         "color-alpha": "1.0.4",
         "color-normalize": "1.5.0",
         "color-parse": "1.3.8",
         "color-rgba": "2.1.1",
-        "convex-hull": "^1.0.3",
         "country-regex": "^1.1.0",
-        "d3": "^3.5.17",
         "d3-force": "^1.2.1",
+        "d3-format": "^1.4.5",
+        "d3-geo": "^1.12.1",
+        "d3-geo-projection": "^2.9.0",
         "d3-hierarchy": "^1.1.9",
-        "d3-interpolate": "^1.4.0",
+        "d3-interpolate": "^3.0.1",
+        "d3-time": "^1.1.0",
         "d3-time-format": "^2.2.3",
-        "delaunay-triangulate": "^1.1.6",
-        "es6-promise": "^4.2.8",
         "fast-isnumeric": "^1.1.4",
-        "gl-cone3d": "^1.5.2",
-        "gl-contour2d": "^1.1.7",
-        "gl-error3d": "^1.0.16",
-        "gl-heatmap2d": "^1.1.0",
-        "gl-line3d": "1.2.1",
         "gl-mat4": "^1.2.0",
-        "gl-mesh3d": "^2.3.1",
-        "gl-plot2d": "^1.4.5",
-        "gl-plot3d": "^2.4.7",
-        "gl-pointcloud2d": "^1.0.3",
-        "gl-scatter3d": "^1.2.3",
-        "gl-select-box": "^1.0.4",
-        "gl-spikes2d": "^1.0.2",
-        "gl-streamtube3d": "^1.4.1",
-        "gl-surface3d": "^1.6.0",
-        "gl-text": "^1.1.8",
+        "gl-text": "^1.3.1",
         "glslify": "^7.1.1",
         "has-hover": "^1.0.1",
         "has-passive-events": "^1.0.0",
-        "image-size": "^0.7.5",
-        "is-mobile": "^2.2.2",
+        "is-mobile": "^4.0.0",
         "mapbox-gl": "1.10.1",
-        "matrix-camera-controller": "^2.1.3",
         "mouse-change": "^1.4.0",
         "mouse-event-offset": "^3.0.2",
         "mouse-wheel": "^1.2.0",
-        "ndarray": "^1.0.19",
-        "ndarray-linear-interpolate": "^1.0.0",
+        "native-promise-only": "^0.8.1",
         "parse-svg-path": "^0.1.2",
+        "point-in-polygon": "^1.1.0",
         "polybooljs": "^1.2.0",
-        "regl": "^1.6.1",
-        "regl-error2d": "^2.0.11",
-        "regl-line2d": "^3.0.18",
-        "regl-scatter2d": "^3.2.1",
-        "regl-splom": "^1.0.12",
-        "right-now": "^1.0.0",
-        "robust-orientation": "^1.1.3",
-        "sane-topojson": "^4.0.0",
+        "probe-image-size": "^7.2.3",
+        "regl": "npm:@plotly/regl@^2.1.2",
+        "regl-error2d": "^2.0.12",
+        "regl-line2d": "^3.1.2",
+        "regl-scatter2d": "^3.2.8",
+        "regl-splom": "^1.0.14",
         "strongly-connected-components": "^1.0.1",
         "superscript-text": "^1.0.0",
         "svg-path-sdf": "^1.1.3",
@@ -15411,11 +13576,29 @@
         "world-calendars": "^1.0.3"
       },
       "dependencies": {
-        "d3": {
-          "version": "3.5.17",
-          "resolved": "https://registry.npmjs.org/d3/-/d3-3.5.17.tgz",
-          "integrity": "sha1-vEZ0gAQ3iyGjYMn8fPUjF5B2L7g=",
+        "d3-array": {
+          "version": "1.2.4",
+          "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz",
+          "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==",
           "dev": true
+        },
+        "d3-geo": {
+          "version": "1.12.1",
+          "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.12.1.tgz",
+          "integrity": "sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==",
+          "dev": true,
+          "requires": {
+            "d3-array": "1"
+          }
+        },
+        "d3-interpolate": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
+          "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
+          "dev": true,
+          "requires": {
+            "d3-color": "1 - 3"
+          }
         }
       }
     },
@@ -15425,25 +13608,11 @@
       "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g==",
       "dev": true
     },
-    "point-in-big-polygon": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/point-in-big-polygon/-/point-in-big-polygon-2.0.0.tgz",
-      "integrity": "sha1-ObYT6mzxfWtD4Yj3fzTETGszulU=",
-      "dev": true,
-      "requires": {
-        "binary-search-bounds": "^1.0.0",
-        "interval-tree-1d": "^1.0.1",
-        "robust-orientation": "^1.1.3",
-        "slab-decomposition": "^1.0.1"
-      },
-      "dependencies": {
-        "binary-search-bounds": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-1.0.0.tgz",
-          "integrity": "sha1-MjyjF+PypA9CRMclX1OEpbIHu2k=",
-          "dev": true
-        }
-      }
+    "point-in-polygon": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/point-in-polygon/-/point-in-polygon-1.1.0.tgz",
+      "integrity": "sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw==",
+      "dev": true
     },
     "polished": {
       "version": "3.7.1",
@@ -15460,15 +13629,6 @@
       "integrity": "sha1-tDkMLgedTCYtOyUExiiNlbp6R1g=",
       "dev": true
     },
-    "polytope-closest-point": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/polytope-closest-point/-/polytope-closest-point-1.0.0.tgz",
-      "integrity": "sha1-5uV/QIGrXox3i4Ee8G4sSK4zjD8=",
-      "dev": true,
-      "requires": {
-        "numeric": "^1.2.6"
-      }
-    },
     "popper.js": {
       "version": "1.16.1",
       "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz",
@@ -16000,6 +14160,17 @@
       "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==",
       "dev": true
     },
+    "probe-image-size": {
+      "version": "7.2.3",
+      "resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-7.2.3.tgz",
+      "integrity": "sha512-HubhG4Rb2UH8YtV4ba0Vp5bQ7L78RTONYu/ujmCu5nBI8wGv24s4E9xSKBi0N1MowRpxk76pFCpJtW0KPzOK0w==",
+      "dev": true,
+      "requires": {
+        "lodash.merge": "^4.6.2",
+        "needle": "^2.5.2",
+        "stream-parser": "~0.3.1"
+      }
+    },
     "process-nextick-args": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
@@ -16117,15 +14288,6 @@
       "integrity": "sha1-0lrCAKd7bXD0ASfKFxoQ4zyFRt4=",
       "dev": true
     },
-    "quat-slerp": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/quat-slerp/-/quat-slerp-1.0.1.tgz",
-      "integrity": "sha1-K6oVzjprvcMkHZcusXKDE57Wnyk=",
-      "dev": true,
-      "requires": {
-        "gl-quat": "^1.0.0"
-      }
-    },
     "querystring": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
@@ -16169,15 +14331,6 @@
       "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
       "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
     },
-    "rat-vec": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/rat-vec/-/rat-vec-1.1.1.tgz",
-      "integrity": "sha1-Dd4rZrezS7G80qI4BerIBth/0X8=",
-      "dev": true,
-      "requires": {
-        "big-rat": "^1.0.3"
-      }
-    },
     "raw-body": {
       "version": "2.4.3",
       "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz",
@@ -16222,17 +14375,6 @@
         "picomatch": "^2.2.1"
       }
     },
-    "reduce-simplicial-complex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/reduce-simplicial-complex/-/reduce-simplicial-complex-1.0.0.tgz",
-      "integrity": "sha1-dNaWovg196bc2SBl/YxRgfLt+Lw=",
-      "dev": true,
-      "requires": {
-        "cell-orientation": "^1.0.1",
-        "compare-cell": "^1.0.0",
-        "compare-oriented-cell": "^1.0.1"
-      }
-    },
     "regenerator-runtime": {
       "version": "0.13.7",
       "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz",
@@ -16256,15 +14398,15 @@
       }
     },
     "regl": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/regl/-/regl-1.7.0.tgz",
-      "integrity": "sha512-bEAtp/qrtKucxXSJkD4ebopFZYP0q1+3Vb2WECWv/T8yQEgKxDxJ7ztO285tAMaYZVR6mM1GgI6CCn8FROtL1w==",
+      "version": "npm:@plotly/regl@2.1.2",
+      "resolved": "https://registry.npmjs.org/@plotly/regl/-/regl-2.1.2.tgz",
+      "integrity": "sha512-Mdk+vUACbQvjd0m/1JJjOOafmkp/EpmHjISsopEz5Av44CBq7rPC05HHNbYGKVyNUF2zmEoBS/TT0pd0SPFFyw==",
       "dev": true
     },
     "regl-error2d": {
-      "version": "2.0.11",
-      "resolved": "https://registry.npmjs.org/regl-error2d/-/regl-error2d-2.0.11.tgz",
-      "integrity": "sha512-Bv4DbLtDU69GXPSm+NvlVWzT82oQ8M2FK+SxzkyaYMlA9izZRdLmDADqBSyJTnPWiRT4a/2KA+MP+WI0N0yt7Q==",
+      "version": "2.0.12",
+      "resolved": "https://registry.npmjs.org/regl-error2d/-/regl-error2d-2.0.12.tgz",
+      "integrity": "sha512-r7BUprZoPO9AbyqM5qlJesrSRkl+hZnVKWKsVp7YhOl/3RIpi4UDGASGJY0puQ96u5fBYw/OlqV24IGcgJ0McA==",
       "dev": true,
       "requires": {
         "array-bounds": "^1.0.1",
@@ -16272,14 +14414,14 @@
         "flatten-vertex-data": "^1.0.2",
         "object-assign": "^4.1.1",
         "pick-by-alias": "^1.2.0",
-        "to-float32": "^1.0.1",
+        "to-float32": "^1.1.0",
         "update-diff": "^1.1.0"
       }
     },
     "regl-line2d": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/regl-line2d/-/regl-line2d-3.1.0.tgz",
-      "integrity": "sha512-8dB3SyAW5zTU759LrIJdkOe128htl1xlONHrknsFl1tAxZVqTc+WO/2k9pAJDuyiKu1v/6bosiuEDOB7G3dm4w==",
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/regl-line2d/-/regl-line2d-3.1.2.tgz",
+      "integrity": "sha512-nmT7WWS/WxmXAQMkgaMKWXaVmwJ65KCrjbqHGOUjjqQi6shfT96YbBOvelXwO9hG7/hjvbzjtQ2UO0L3e7YaXQ==",
       "dev": true,
       "requires": {
         "array-bounds": "^1.0.1",
@@ -16293,13 +14435,13 @@
         "object-assign": "^4.1.1",
         "parse-rect": "^1.2.0",
         "pick-by-alias": "^1.2.0",
-        "to-float32": "^1.0.1"
+        "to-float32": "^1.1.0"
       }
     },
     "regl-scatter2d": {
-      "version": "3.2.3",
-      "resolved": "https://registry.npmjs.org/regl-scatter2d/-/regl-scatter2d-3.2.3.tgz",
-      "integrity": "sha512-wURiMVjNrcBoED0SMYH9Accs0CovdnBWWuzH/WgT0kuJ3kDzia1vhmEUA2JZ/beozalARkFAy/C2K/4Nd1eZqQ==",
+      "version": "3.2.8",
+      "resolved": "https://registry.npmjs.org/regl-scatter2d/-/regl-scatter2d-3.2.8.tgz",
+      "integrity": "sha512-bqrqJyeHkGBa9mEfuBnRd7FUtdtZ1l+gsM2C5Ugr1U3vJG5K3mdWdVWtOAllZ5FHHyWJV/vgjVvftgFUg6CDig==",
       "dev": true,
       "requires": {
         "@plotly/point-cluster": "^3.1.9",
@@ -16316,7 +14458,7 @@
         "object-assign": "^4.1.1",
         "parse-rect": "^1.2.0",
         "pick-by-alias": "^1.2.0",
-        "to-float32": "^1.0.1",
+        "to-float32": "^1.1.0",
         "update-diff": "^1.1.0"
       }
     },
@@ -16336,12 +14478,6 @@
         "regl-scatter2d": "^3.2.3"
       }
     },
-    "repeat-string": {
-      "version": "1.6.1",
-      "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
-      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
-      "dev": true
-    },
     "require-directory": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -16419,7 +14555,7 @@
     "right-now": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/right-now/-/right-now-1.0.0.tgz",
-      "integrity": "sha1-bolgne69fc2vja7Mmuo5z1haCRg=",
+      "integrity": "sha512-DA8+YS+sMIVpbsuKgy+Z67L9Lxb1p05mNxRpDPNksPDEFir4vmBlUtuN9jkTGn9YMMdlBuK7XQgFiz6ws+yhSg==",
       "dev": true
     },
     "rimraf": {
@@ -16431,106 +14567,10 @@
         "glob": "^7.1.3"
       }
     },
-    "robust-compress": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/robust-compress/-/robust-compress-1.0.0.tgz",
-      "integrity": "sha1-TPYsSzGNgwhRYBK7jBF1Lzkymxs=",
-      "dev": true
-    },
-    "robust-determinant": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/robust-determinant/-/robust-determinant-1.1.0.tgz",
-      "integrity": "sha1-jsrnm3nKqz509t6+IjflORon6cc=",
-      "dev": true,
-      "requires": {
-        "robust-compress": "^1.0.0",
-        "robust-scale": "^1.0.0",
-        "robust-sum": "^1.0.0",
-        "two-product": "^1.0.0"
-      }
-    },
-    "robust-dot-product": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/robust-dot-product/-/robust-dot-product-1.0.0.tgz",
-      "integrity": "sha1-yboBeL0sMEv9cl9Y6Inx2UYARVM=",
-      "dev": true,
-      "requires": {
-        "robust-sum": "^1.0.0",
-        "two-product": "^1.0.0"
-      }
-    },
-    "robust-in-sphere": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/robust-in-sphere/-/robust-in-sphere-1.1.3.tgz",
-      "integrity": "sha1-HFiD0WpOkjkpR27zSBmFe/Kpz3U=",
-      "dev": true,
-      "requires": {
-        "robust-scale": "^1.0.0",
-        "robust-subtract": "^1.0.0",
-        "robust-sum": "^1.0.0",
-        "two-product": "^1.0.0"
-      }
-    },
-    "robust-linear-solve": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/robust-linear-solve/-/robust-linear-solve-1.0.0.tgz",
-      "integrity": "sha1-DNasUEBpGm8qo81jEdcokFyjofE=",
-      "dev": true,
-      "requires": {
-        "robust-determinant": "^1.1.0"
-      }
-    },
-    "robust-orientation": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/robust-orientation/-/robust-orientation-1.1.3.tgz",
-      "integrity": "sha1-2v9bANO+TmByLw6cAVbvln8cIEk=",
-      "dev": true,
-      "requires": {
-        "robust-scale": "^1.0.2",
-        "robust-subtract": "^1.0.0",
-        "robust-sum": "^1.0.0",
-        "two-product": "^1.0.2"
-      }
-    },
-    "robust-product": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/robust-product/-/robust-product-1.0.0.tgz",
-      "integrity": "sha1-aFJQAHzbunzx3nW/9tKScBEJir4=",
-      "dev": true,
-      "requires": {
-        "robust-scale": "^1.0.0",
-        "robust-sum": "^1.0.0"
-      }
-    },
-    "robust-scale": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/robust-scale/-/robust-scale-1.0.2.tgz",
-      "integrity": "sha1-d1Ey7QlULQKOWLLMecBikLz3jDI=",
-      "dev": true,
-      "requires": {
-        "two-product": "^1.0.2",
-        "two-sum": "^1.0.0"
-      }
-    },
-    "robust-segment-intersect": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/robust-segment-intersect/-/robust-segment-intersect-1.0.1.tgz",
-      "integrity": "sha1-MlK2oPwboUreaRXMvgnLzpqrHBw=",
-      "dev": true,
-      "requires": {
-        "robust-orientation": "^1.1.3"
-      }
-    },
-    "robust-subtract": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/robust-subtract/-/robust-subtract-1.0.0.tgz",
-      "integrity": "sha1-4LFk4e2LpOOl3aRaEgODSNvtPpo=",
-      "dev": true
-    },
-    "robust-sum": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/robust-sum/-/robust-sum-1.0.0.tgz",
-      "integrity": "sha1-FmRuUlKStNJdgnV6KGlV4Lv6U9k=",
+    "robust-predicates": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.1.tgz",
+      "integrity": "sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==",
       "dev": true
     },
     "run-parallel": {
@@ -16559,12 +14599,6 @@
       "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
       "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
     },
-    "sane-topojson": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/sane-topojson/-/sane-topojson-4.0.0.tgz",
-      "integrity": "sha512-bJILrpBboQfabG3BNnHI2hZl52pbt80BE09u4WhnrmzuF2JbMKZdl62G5glXskJ46p+gxE2IzOwGj/awR4g8AA==",
-      "dev": true
-    },
     "save-svg-as-png": {
       "version": "1.4.17",
       "resolved": "https://registry.npmjs.org/save-svg-as-png/-/save-svg-as-png-1.4.17.tgz",
@@ -16666,9 +14700,9 @@
       "dev": true
     },
     "signum": {
-      "version": "0.0.0",
-      "resolved": "https://registry.npmjs.org/signum/-/signum-0.0.0.tgz",
-      "integrity": "sha1-q1UbEAM1EHCnBHg/GgnF52kfnPY=",
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/signum/-/signum-1.0.0.tgz",
+      "integrity": "sha512-yodFGwcyt59XRh7w5W3jPcIQb3Bwi21suEfT7MAWnBX3iCdklJpgDgvGT9o04UonglZN5SNMfJFkHIR/jO8GHw==",
       "dev": true
     },
     "simple-swizzle": {
@@ -16688,91 +14722,6 @@
         }
       }
     },
-    "simplicial-complex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/simplicial-complex/-/simplicial-complex-1.0.0.tgz",
-      "integrity": "sha1-bDOk7Wn81Nkbe8rdOzC2NoPq4kE=",
-      "dev": true,
-      "requires": {
-        "bit-twiddle": "^1.0.0",
-        "union-find": "^1.0.0"
-      }
-    },
-    "simplicial-complex-boundary": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/simplicial-complex-boundary/-/simplicial-complex-boundary-1.0.1.tgz",
-      "integrity": "sha1-csn/HiTeqjdMm7L6DL8MCB6++BU=",
-      "dev": true,
-      "requires": {
-        "boundary-cells": "^2.0.0",
-        "reduce-simplicial-complex": "^1.0.0"
-      }
-    },
-    "simplicial-complex-contour": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/simplicial-complex-contour/-/simplicial-complex-contour-1.0.2.tgz",
-      "integrity": "sha1-iQqsrChDZTQBEFRc8mKaJuBL+dE=",
-      "dev": true,
-      "requires": {
-        "marching-simplex-table": "^1.0.0",
-        "ndarray": "^1.0.15",
-        "ndarray-sort": "^1.0.0",
-        "typedarray-pool": "^1.1.0"
-      }
-    },
-    "simplify-planar-graph": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/simplify-planar-graph/-/simplify-planar-graph-2.0.1.tgz",
-      "integrity": "sha1-vIWJNyXzLo+oriVoE5hEbSy892Y=",
-      "dev": true,
-      "requires": {
-        "robust-orientation": "^1.0.1",
-        "simplicial-complex": "^0.3.3"
-      },
-      "dependencies": {
-        "bit-twiddle": {
-          "version": "0.0.2",
-          "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-0.0.2.tgz",
-          "integrity": "sha1-wurruVKjuUrMFASX4c3NLxoz9Y4=",
-          "dev": true
-        },
-        "simplicial-complex": {
-          "version": "0.3.3",
-          "resolved": "https://registry.npmjs.org/simplicial-complex/-/simplicial-complex-0.3.3.tgz",
-          "integrity": "sha1-TDDK1X+eRXKd2PMGyHU1efRr6Z4=",
-          "dev": true,
-          "requires": {
-            "bit-twiddle": "~0.0.1",
-            "union-find": "~0.0.3"
-          }
-        },
-        "union-find": {
-          "version": "0.0.4",
-          "resolved": "https://registry.npmjs.org/union-find/-/union-find-0.0.4.tgz",
-          "integrity": "sha1-uFSzMBYZva0USwAUx4+W6sDS8PY=",
-          "dev": true
-        }
-      }
-    },
-    "slab-decomposition": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/slab-decomposition/-/slab-decomposition-1.0.2.tgz",
-      "integrity": "sha1-He1WdU1AixBznxRRA9/GGAf2UTQ=",
-      "dev": true,
-      "requires": {
-        "binary-search-bounds": "^1.0.0",
-        "functional-red-black-tree": "^1.0.0",
-        "robust-orientation": "^1.1.3"
-      },
-      "dependencies": {
-        "binary-search-bounds": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-1.0.0.tgz",
-          "integrity": "sha1-MjyjF+PypA9CRMclX1OEpbIHu2k=",
-          "dev": true
-        }
-      }
-    },
     "slash": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
@@ -16791,16 +14740,6 @@
       "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
       "dev": true
     },
-    "split-polygon": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/split-polygon/-/split-polygon-1.0.0.tgz",
-      "integrity": "sha1-DqzIoTanaxKj2VJW6n2kXbDC0kc=",
-      "dev": true,
-      "requires": {
-        "robust-dot-product": "^1.0.0",
-        "robust-sum": "^1.0.0"
-      }
-    },
     "sprintf-js": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
@@ -16864,6 +14803,15 @@
       "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
       "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
     },
+    "stream-parser": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz",
+      "integrity": "sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==",
+      "dev": true,
+      "requires": {
+        "debug": "2"
+      }
+    },
     "stream-shift": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
@@ -17212,17 +15160,6 @@
       "integrity": "sha1-58snUlZzYN9QvrBhDOjfPXHY39g=",
       "dev": true
     },
-    "surface-nets": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/surface-nets/-/surface-nets-1.0.2.tgz",
-      "integrity": "sha1-5DPIy7qUpydMb0yZVStGG/H8eks=",
-      "dev": true,
-      "requires": {
-        "ndarray-extract-contour": "^1.0.0",
-        "triangulate-hypercube": "^1.0.0",
-        "zero-crossings": "^1.0.0"
-      }
-    },
     "svg-arc-to-cubic-bezier": {
       "version": "3.2.0",
       "resolved": "https://registry.npmjs.org/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.0.tgz",
@@ -17301,15 +15238,6 @@
       "integrity": "sha512-iwwQqAEGGxlgrBpcmJJvMJrfjGLcCXOB3AOb/DGkXqBy1YKoYA36hIl7qXGp6Jo8dSkzFAlDT6pKLZgyhs9OnQ==",
       "dev": true
     },
-    "text-cache": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/text-cache/-/text-cache-4.2.2.tgz",
-      "integrity": "sha512-zky+UDYiX0a/aPw/YTBD+EzKMlCTu1chFuCMZeAkgoRiceySdROu1V2kJXhCbtEdBhiOviYnAdGiSYl58HW0ZQ==",
-      "dev": true,
-      "requires": {
-        "vectorize-text": "^3.2.1"
-      }
-    },
     "three": {
       "version": "0.125.2",
       "resolved": "https://registry.npmjs.org/three/-/three-0.125.2.tgz",
@@ -17317,33 +15245,21 @@
       "dev": true
     },
     "three-forcegraph": {
-      "version": "1.37.0",
-      "resolved": "https://registry.npmjs.org/three-forcegraph/-/three-forcegraph-1.37.0.tgz",
-      "integrity": "sha512-iCrITClKiaZMgqq5nCtsF0JWnxCqFRaXmgdn2d4f/R7gg9ElZmR2NjJRdn3uUMuD76nizJK5GLE1TMbXvShTyA==",
+      "version": "1.41.8",
+      "resolved": "https://registry.npmjs.org/three-forcegraph/-/three-forcegraph-1.41.8.tgz",
+      "integrity": "sha512-UvD0qgl3wfFQb+2FGuMn2FFL0Ss58WYlfk1g3D3/lbxNqEL1c0C/EbIrJYm9R02CvSzQ0bLnEZbSfD0wlaxmlA==",
       "dev": true,
       "requires": {
-        "accessor-fn": "^1.3.0",
-        "d3-array": "^2.8.0",
-        "d3-force-3d": "^2.2.0",
-        "d3-scale": "^3.2.3",
-        "d3-scale-chromatic": "^2.0.0",
-        "data-joint": "^1.2.3",
-        "kapsule": "^1.13.3",
-        "ngraph.forcelayout": "^3.0.0",
-        "ngraph.graph": "^19.1.0",
-        "tinycolor2": "^1.4.2"
-      },
-      "dependencies": {
-        "d3-scale-chromatic": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-2.0.0.tgz",
-          "integrity": "sha512-LLqy7dJSL8yDy7NRmf6xSlsFZ6zYvJ4BcWFE4zBrOPnQERv9zj24ohnXKRbyi9YHnYV+HN1oEO3iFK971/gkzA==",
-          "dev": true,
-          "requires": {
-            "d3-color": "1 - 2",
-            "d3-interpolate": "1 - 2"
-          }
-        }
+        "accessor-fn": "1",
+        "d3-array": "1 - 3",
+        "d3-force-3d": "2 - 3",
+        "d3-scale": "1 - 4",
+        "d3-scale-chromatic": "1 - 3",
+        "data-joint": "1",
+        "kapsule": "1",
+        "ngraph.forcelayout": "3",
+        "ngraph.graph": "20",
+        "tinycolor2": "1"
       }
     },
     "three-render-objects": {
@@ -17375,12 +15291,12 @@
       }
     },
     "tidytree": {
-      "version": "0.5.8",
-      "resolved": "https://registry.npmjs.org/tidytree/-/tidytree-0.5.8.tgz",
-      "integrity": "sha512-WBKznB3QVSXyEmyT04aNDGPJBE6RQDo7RC9d30l9EiZZb0cbuGLHNZmIJFMQaguAwrvL7cAQnDnviLj1fVu9Pg==",
+      "version": "0.5.9",
+      "resolved": "https://registry.npmjs.org/tidytree/-/tidytree-0.5.9.tgz",
+      "integrity": "sha512-iIigeIltRiDjb7UhUjUCyAxODDM5JvmtLt74oVd+3L1EYXnoXRskQACpnM9ykjrl9I5RP9T/qiqyHEtgFwx0wg==",
       "dev": true,
       "requires": {
-        "d3": "^5.16.0",
+        "d3": "^7.6.1",
         "patristic": "^0.5.7"
       },
       "dependencies": {
@@ -17440,15 +15356,15 @@
       }
     },
     "to-float32": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/to-float32/-/to-float32-1.0.1.tgz",
-      "integrity": "sha512-nOy2WSwae3xhZbc+05xiCuU3ZPPmH0L4Rg4Q1qiOGFSuNSCTB9nVJaGgGl3ZScxAclX/L8hJuDHJGDAzbfuKCQ==",
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/to-float32/-/to-float32-1.1.0.tgz",
+      "integrity": "sha512-keDnAusn/vc+R3iEiSDw8TOF7gPiTLdK1ArvWtYbJQiVfmRg6i/CAvbKq3uIS0vWroAC7ZecN3DjQKw3aSklUg==",
       "dev": true
     },
     "to-px": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/to-px/-/to-px-1.0.1.tgz",
-      "integrity": "sha1-W7rtXl1PdkRbzJA8KTojB90yRkY=",
+      "integrity": "sha512-2y3LjBeIZYL19e5gczp14/uRWFDtDUErJPVN3VU9a7SJO+RjGRtYR47aMN2bZgGlxvW4ZcEz2ddUPVHXcMfuXw==",
       "dev": true,
       "requires": {
         "parse-unit": "^1.0.1"
@@ -17490,49 +15406,6 @@
         "commander": "2"
       }
     },
-    "triangulate-hypercube": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/triangulate-hypercube/-/triangulate-hypercube-1.0.1.tgz",
-      "integrity": "sha1-2Acdsuv8/VHzCNC88qXEils20Tc=",
-      "dev": true,
-      "requires": {
-        "gamma": "^0.1.0",
-        "permutation-parity": "^1.0.0",
-        "permutation-rank": "^1.0.0"
-      }
-    },
-    "triangulate-polyline": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/triangulate-polyline/-/triangulate-polyline-1.0.3.tgz",
-      "integrity": "sha1-v4uod6hQVBA/65+lphtOjXAXgU0=",
-      "dev": true,
-      "requires": {
-        "cdt2d": "^1.0.0"
-      }
-    },
-    "turntable-camera-controller": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/turntable-camera-controller/-/turntable-camera-controller-3.0.1.tgz",
-      "integrity": "sha1-jb0/4AVQGRxlFky4iJcQSVeK/Zk=",
-      "dev": true,
-      "requires": {
-        "filtered-vector": "^1.2.1",
-        "gl-mat4": "^1.0.2",
-        "gl-vec3": "^1.0.2"
-      }
-    },
-    "two-product": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/two-product/-/two-product-1.0.2.tgz",
-      "integrity": "sha1-Z9ldSyV6kh4stL16+VEfkIhSLqo=",
-      "dev": true
-    },
-    "two-sum": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/two-sum/-/two-sum-1.0.0.tgz",
-      "integrity": "sha1-MdPzIjnk9zHsqd+RVeKyl/AIq2Q=",
-      "dev": true
-    },
     "type": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
@@ -17631,12 +15504,6 @@
         }
       }
     },
-    "union-find": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/union-find/-/union-find-1.0.2.tgz",
-      "integrity": "sha1-KSusQV5q06iVNdI3AQ20pTYoTlg=",
-      "dev": true
-    },
     "uniq": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
@@ -17894,21 +15761,6 @@
       "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
       "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
     },
-    "vectorize-text": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/vectorize-text/-/vectorize-text-3.2.1.tgz",
-      "integrity": "sha512-rGojF+D9BB96iPZPUitfq5kaiS6eCJmfEel0NXOK/MzZSuXGiwhoop80PtaDas9/Hg/oaox1tI9g3h93qpuspg==",
-      "dev": true,
-      "requires": {
-        "cdt2d": "^1.0.0",
-        "clean-pslg": "^1.1.0",
-        "ndarray": "^1.0.11",
-        "planar-graph-to-polyline": "^1.0.0",
-        "simplify-planar-graph": "^2.0.1",
-        "surface-nets": "^1.0.0",
-        "triangulate-polyline": "^1.0.0"
-      }
-    },
     "vendors": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz",
@@ -17927,15 +15779,9 @@
       }
     },
     "weak-map": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.5.tgz",
-      "integrity": "sha1-eWkVhNmGB/UHC9O3CkDmuyLkAes=",
-      "dev": true
-    },
-    "weakmap-shim": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/weakmap-shim/-/weakmap-shim-1.1.1.tgz",
-      "integrity": "sha1-1lr9eEEJshZuAP9XHDMVDsKkC0k=",
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.8.tgz",
+      "integrity": "sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw==",
       "dev": true
     },
     "webgl-context": {
@@ -18135,15 +15981,6 @@
         "buffer-crc32": "~0.2.3",
         "fd-slicer": "~1.1.0"
       }
-    },
-    "zero-crossings": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/zero-crossings/-/zero-crossings-1.0.1.tgz",
-      "integrity": "sha1-xWK9MRNkPzRDokXRJAa4i2m5qf8=",
-      "dev": true,
-      "requires": {
-        "cwise-compiler": "^1.0.0"
-      }
     }
   }
 }
diff --git a/package.json b/package.json
index 18205407..eb1458ea 100644
--- a/package.json
+++ b/package.json
@@ -64,7 +64,7 @@
     "chosen-js": "^1.8.5",
     "clipboard": "^2.0.6",
     "cssnano": "^4.1.10",
-    "d3": "^5.16.0",
+    "d3": "^7.8.4",
     "d3-force-attract": "^0.1.1",
     "d3-polygon": "^1.0.6",
     "d3-symbol-extra": "^0.1.0",
@@ -91,14 +91,14 @@
     "pdfmake": "^0.1.70",
     "pixi-viewport": "^4.21.0",
     "pixi.js": "^5.3.8",
-    "plotly.js": "^1.58.4",
+    "plotly.js": "^2.22.0",
     "popper.js": "^1.16.1",
     "postcss-cli": "^7.1.2",
     "puppeteer": "^1.20.0",
     "save-svg-as-png": "^1.4.17",
     "screenfull": "^3.3.2",
     "tabulator-tables": "^4.9.3",
-    "tidytree": "^0.5.8",
+    "tidytree": "^0.5.9",
     "tn93": "^0.3.2",
     "xlsx": "^0.17.0",
     "xss": "^1.0.8"